  :root{
    --cream:        #f6f0e4;
    --cream-deep:   #efe6d4;
    --paper:        #faf6ee;
    --beige:        #e3d5bd;
    --beige-line:   #d9c8ab;
    --ink:          #4a3f34;
    --ink-soft:     #6b5f50;
    --gold:         #b6893f;
    --gold-soft:    #c9a876;
    --terracotta:   #c1694f;
    --terracotta-deep: #9c4b34;
    --teal:         #4f7d78;
    --teal-deep:    #3c625e;
    --santa-bg:     #efe3cd;
    --santa-deep:   #3f4a34;
    --santa-red:    #a24b3c;
    --shadow:       0 10px 30px rgba(60, 51, 42, 0.12);

    --font-display: 'Cormorant Garamond', 'Shippori Mincho', serif;
    --font-jp:      'Shippori Mincho', serif;
    --font-body:    'EB Garamond', 'Shippori Mincho', serif;
    --font-sans:    'Jost', 'Shippori Mincho', sans-serif;
    --font-script:  'Alex Brush', cursive;
  }

  *{ margin:0; padding:0; box-sizing:border-box; }
  [hidden]{ display:none !important; }

  html{ scroll-behavior:auto; }

  body{
    background:var(--paper);
    color:var(--ink);
    font-family:var(--font-body);
    line-height:1.8;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }

  a{ color:inherit; text-decoration:none; }
  ul{ list-style:none; }
  img{ max-width:100%; display:block; }

  .eyebrow{
    font-family:var(--font-sans);
    letter-spacing:0.35em;
    font-size:0.72rem;
    text-transform:uppercase;
    color:var(--gold);
  }

  .section-heading{
    font-family:var(--font-display);
    font-weight:500;
    font-size:clamp(2rem, 4vw, 2.8rem);
    letter-spacing:0.04em;
    color:var(--ink);
    margin-bottom:0.4rem;
  }

  .section-sub{
    font-family:var(--font-sans);
    font-size:0.85rem;
    letter-spacing:0.15em;
    color:var(--ink-soft);
    text-transform:uppercase;
  }

  .container{
    width:min(1100px, 92%);
    margin:0 auto;
  }

  /* ---------- NAV ---------- */
  .site-nav{
    position:sticky;
    top:0; left:0; right:0;
    z-index:100;
    display:grid;
    grid-template-columns:auto 1fr auto auto;
    grid-template-areas:"logo links contact lang";
    align-items:center;
    column-gap:2.2rem;
    padding:0.9rem 6%;
    background:var(--paper);
    font-family:var(--font-sans);
    letter-spacing:0.08em;
    transition:padding 0.4s ease, box-shadow 0.4s ease;
  }
  .site-nav.scrolled{
    padding:0.65rem 6%;
    box-shadow:0 2px 18px rgba(60,51,42,0.08);
  }
  .site-nav .logo{
    grid-area:logo;
    display:inline-block;
    font-family:var(--font-script);
    font-size:3.4rem;
    line-height:1;
    letter-spacing:0.01em;
    color:var(--ink);
    transform:rotate(-7deg);
    transition:transform 0.3s ease;
  }
  .site-nav .logo:hover{ transform:rotate(-7deg) scale(1.04); }
  .site-nav .logo span{ color:var(--gold); }

  .nav-links{
    grid-area:links;
    display:flex;
    justify-self:end;
    gap:1.5rem;
    font-size:0.72rem;
    text-transform:uppercase;
  }
  .nav-links a{
    position:relative;
    white-space:nowrap;
    padding-bottom:4px;
    color:var(--ink);
    opacity:0.8;
    transition:opacity 0.3s ease;
  }
  .nav-links a:hover{ opacity:1; }
  .nav-links a::after{
    content:"";
    position:absolute;
    left:0; bottom:0;
    width:0; height:1px;
    background:var(--gold);
    transition:width 0.3s ease;
  }
  .nav-links a:hover::after{ width:100%; }

  .nav-contact{ grid-area:contact; }
  .lang-toggle{
    grid-area:lang;
    display:flex;
    align-items:center;
    gap:0.5rem;
  }
  .lang-toggle button{
    background:none;
    border:none;
    padding:0;
    font-family:var(--font-sans);
    font-size:0.72rem;
    letter-spacing:0.05em;
    color:var(--ink-soft);
    cursor:pointer;
    opacity:0.65;
    white-space:nowrap;
    transition:opacity 0.3s ease, color 0.3s ease;
  }
  .lang-toggle button.active{
    color:var(--ink);
    opacity:1;
    text-decoration:underline;
    text-underline-offset:3px;
  }
  .lang-toggle button:hover{ opacity:1; color:var(--gold); }
  .lang-toggle .divider{ color:var(--beige-line); font-size:0.72rem; }

  .nav-contact{
    display:flex;
    align-items:center;
    gap:0.4rem;
    font-size:0.72rem;
    letter-spacing:0.05em;
    color:var(--ink-soft);
    opacity:0.85;
    white-space:nowrap;
    transition:opacity 0.3s ease, color 0.3s ease;
  }
  .nav-contact:hover{ opacity:1; color:var(--gold); }
  .nav-contact svg{ width:14px; height:14px; }

  /* ---------- HERO ---------- */
  .hero{
    position:relative;
  }

  /* Replace this placeholder with: background-image:url('your-photo.jpg'); */
  .hero-photo{
    width:100%;
    aspect-ratio:1632/1120;
    max-height:88vh;
    background-image:url('assets/hero-beach.jpg');
    background-size:cover;
    background-position:center center;
  }

  .hero-caption{
    text-align:center;
    padding:clamp(3rem, 7vw, 4.6rem) 5% clamp(3.5rem, 8vw, 5.5rem);
    background:var(--paper);
  }

  .hero-caption .eyebrow{
    display:inline-block;
    margin-bottom:1.6rem;
  }

  .hero-title{
    font-family:var(--font-display);
    font-weight:500;
    font-size:clamp(2.8rem, 8vw, 5.6rem);
    letter-spacing:0.03em;
    color:var(--ink);
    line-height:0.95;
  }
  .hero-title .accent{
    display:block;
    font-style:italic;
    font-weight:400;
    font-size:0.32em;
    letter-spacing:0.4em;
    color:var(--gold);
    margin-top:1.1rem;
    text-transform:uppercase;
  }

  .hero-genres{
    margin-top:2.2rem;
    font-family:var(--font-sans);
    font-size:clamp(0.85rem, 1.6vw, 1.05rem);
    letter-spacing:0.28em;
    text-transform:uppercase;
    color:var(--ink-soft);
  }
  .hero-genres span{ margin:0 0.6em; color:var(--gold-soft); }

  .hero-follow{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:1.2rem;
    margin-top:3rem;
  }
  .hero-follow-label{
    font-family:var(--font-sans);
    font-size:0.72rem;
    letter-spacing:0.24em;
    text-transform:uppercase;
    color:var(--ink-soft);
  }
  .hero-follow-icons{
    display:flex;
    align-items:center;
    gap:1.1rem;
  }
  .hero-follow-icons a{
    color:var(--ink);
    opacity:0.75;
    transition:opacity 0.3s ease, color 0.3s ease;
  }
  .hero-follow-icons a:hover{
    color:var(--gold);
    opacity:1;
  }
  .hero-follow-icons svg{ width:18px; height:18px; display:block; }

  /* ---------- SHARED SECTION SPACING ---------- */
  section{ padding:7.5rem 0; position:relative; }
  .section-intro{
    text-align:center;
    margin-bottom:4rem;
  }

  /* ---------- BIOGRAPHY ---------- */
  .bio-section{ background:var(--cream); }
  .bio-photo-wrap{
    display:flex;
    justify-content:center;
    margin-bottom:2.6rem;
  }
  .bio-photo{
    width:260px;
    height:260px;
    border-radius:50%;
    border:1px solid var(--beige-line);
    background:var(--beige);
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:0;
    font-family:var(--font-sans);
    font-size:0.72rem;
    letter-spacing:0.06em;
    color:var(--ink-soft);
    overflow:hidden;
  }
  .bio-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 22%;
    transform:scale(1.35);
  }
  .bio-name-block{
    text-align:center;
    margin-bottom:3.4rem;
  }
  .bio-name{
    font-family:var(--font-script);
    font-size:3.2rem;
    line-height:1;
    color:var(--ink);
    margin-bottom:0.8rem;
  }
  .bio-role{
    font-family:var(--font-sans);
    font-size:0.78rem;
    letter-spacing:0.16em;
    text-transform:uppercase;
    color:var(--ink-soft);
    margin-bottom:1.4rem;
  }
  .bio-tagline{
    font-family:var(--font-display);
    font-style:italic;
    font-weight:500;
    font-size:1.5rem;
    color:var(--gold);
  }
  .bio-text{
    max-width:740px;
    margin:0 auto;
  }
  .bio-text p{
    font-family:var(--font-body);
    font-size:1.02rem;
    color:var(--ink);
    line-height:2;
    margin-bottom:1.6rem;
  }
  .bio-text p:last-child{ margin-bottom:0; }
  .bio-message{
    max-width:640px;
    margin:4rem auto 0;
    padding-top:3.2rem;
    border-top:1px solid var(--beige-line);
    text-align:center;
  }
  .bio-message-label{
    display:inline-block;
    font-family:var(--font-sans);
    font-size:0.72rem;
    letter-spacing:0.3em;
    text-transform:uppercase;
    color:var(--gold);
    margin-bottom:1.8rem;
  }
  .bio-message p{
    font-family:var(--font-body);
    font-style:italic;
    font-size:1.02rem;
    color:var(--ink-soft);
    line-height:1.95;
    margin-bottom:1.5rem;
  }
  .bio-message p:last-of-type{ margin-bottom:0; }
  .mobile-break{ display:none; }
  .bio-message .bio-closing{
    margin-top:2.2rem;
    font-style:normal;
    color:var(--ink);
  }
  .bio-signature{
    margin-top:1.8rem;
    font-family:var(--font-script);
    font-style:normal !important;
    font-size:2.4rem;
    color:var(--gold);
  }

  /* ---------- INFORMATION ---------- */
  .info{ background:var(--paper); }

  /* live schedule cards */
  .live-month{
    text-align:center;
    font-family:var(--font-display);
    font-style:italic;
    font-size:1.5rem;
    color:var(--gold);
    margin:3.6rem 0 2rem;
  }
  .live-month:first-of-type{ margin-top:0; }

  .live-card{
    max-width:920px;
    margin:0 auto 2.4rem;
    background:var(--cream);
    border:1px solid var(--beige-line);
    border-radius:6px;
    overflow:hidden;
    box-shadow:var(--shadow);
  }
  .live-card-header{
    display:flex;
    align-items:center;
    gap:1.1rem;
    padding:1.2rem 1.8rem;
    background:linear-gradient(120deg, var(--ink) 0%, #4a3c30 100%);
    color:var(--cream);
  }
  .live-badge{
    flex-shrink:0;
    padding:0.4rem 1rem;
    border-radius:999px;
    background:var(--terracotta);
    color:#fff;
    font-family:var(--font-sans);
    font-size:0.68rem;
    letter-spacing:0.06em;
    white-space:nowrap;
  }
  .live-card-title{
    font-family:var(--font-display);
    font-weight:500;
    font-size:1.3rem;
  }
  .live-card-title .live-card-sub{
    display:block;
    font-family:var(--font-sans);
    font-weight:400;
    font-size:0.68rem;
    letter-spacing:0.08em;
    color:var(--gold-soft);
    text-transform:uppercase;
    margin-top:0.35rem;
  }
  .live-card-body{
    display:grid;
    grid-template-columns:1.3fr 1fr;
    gap:2.2rem;
    padding:2rem 1.8rem 2.2rem;
  }
  .live-card-body.solo{ grid-template-columns:1fr; max-width:520px; margin:0 auto; }
  .live-card-details dl{ margin:0; }
  .live-card-details dt{
    font-family:var(--font-sans);
    font-size:0.68rem;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--gold);
    margin-top:1.3rem;
  }
  .live-card-details dt:first-child{ margin-top:0; }
  .live-card-details dd{
    margin:0.35rem 0 0;
    font-family:var(--font-body);
    font-size:0.98rem;
    color:var(--ink);
    line-height:1.75;
  }
  .live-link{
    display:inline-block;
    margin-top:1.5rem;
    font-family:var(--font-sans);
    font-size:0.7rem;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--teal-deep);
    border-bottom:1px solid var(--teal);
  }
  .live-link:hover{ color:var(--ink); }
  .live-card-flyer{ align-self:start; }
  .live-card-flyer a{ display:block; }
  .live-card-flyer img{
    width:100%;
    border-radius:4px;
    border:1px solid var(--beige-line);
    display:block;
    transition:transform 0.3s ease;
  }
  .live-card-flyer:hover img{ transform:scale(1.02); }

  /* ---------- ALBUM SHOWCASE ---------- */
  .album-showcase{ background:var(--cream); }

  .album-grid{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:clamp(2.4rem, 5vw, 4.5rem);
  }
  .album-card-showcase{
    width:320px;
    max-width:100%;
    text-align:center;
  }
  .album-art-large{
    width:100%;
    aspect-ratio:1/1;
    overflow:hidden;
    border-radius:4px;
    border:1px solid var(--beige-line);
    box-shadow:var(--shadow);
    margin-bottom:1.6rem;
  }
  .album-art-large img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform 0.4s ease;
  }
  .album-card-showcase:hover .album-art-large img{ transform:scale(1.04); }
  .album-title{
    font-family:var(--font-display);
    font-size:1.7rem;
    margin-bottom:0.3rem;
  }
  .album-meta{
    display:inline-block;
    font-family:var(--font-sans);
    font-size:0.72rem;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--terracotta-deep);
    border:1px solid var(--terracotta);
    border-radius:5px;
    padding:0.3rem 0.8rem;
    margin-bottom:1.6rem;
  }

  .store-links{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:0.8rem;
  }
  .store-btn{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:0.55rem;
    padding:0.8rem 1.3rem;
    border:1px solid var(--ink);
    border-radius:2px;
    font-family:var(--font-sans);
    font-size:0.72rem;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--ink);
    background:transparent;
    white-space:nowrap;
    transition:background 0.3s ease, color 0.3s ease;
  }
  .store-btn svg{ width:16px; height:16px; flex-shrink:0; }
  .store-btn:hover{
    background:var(--ink);
    color:var(--cream);
  }
  .store-btn.accent{
    border-color:var(--teal);
    color:var(--teal-deep);
  }
  .store-btn.accent:hover{
    background:var(--teal);
    border-color:var(--teal);
    color:#fff;
  }

  /* ---------- SANTA CLAUS PROJECT ---------- */
  .santa{
    background:
      radial-gradient(circle at 12% 18%, rgba(255,255,255,0.10), transparent 40%),
      radial-gradient(circle at 88% 82%, rgba(255,255,255,0.08), transparent 45%),
      linear-gradient(160deg, var(--santa-deep) 0%, #4a5539 55%, #3f4a34 100%);
    color:var(--cream);
    overflow:hidden;
  }
  .santa::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:
      radial-gradient(rgba(246,240,228,0.35) 1px, transparent 1.4px),
      radial-gradient(rgba(246,240,228,0.22) 1px, transparent 1.4px);
    background-size:120px 120px, 180px 180px;
    background-position:0 0, 60px 90px;
    opacity:0.5;
    pointer-events:none;
  }

  .santa-frame{
    position:relative;
    z-index:1;
    border:1px solid rgba(246,240,228,0.35);
    border-radius:6px;
    padding:clamp(2.5rem, 6vw, 5rem);
    text-align:center;
  }
  .santa-frame::before,
  .santa-frame::after{
    content:"❄";
    position:absolute;
    font-size:1.4rem;
    color:var(--gold-soft);
    opacity:0.7;
  }
  .santa-frame::before{ top:-0.8em; left:1.6rem; background:var(--santa-deep); padding:0 0.4em; }
  .santa-frame::after{ bottom:-0.8em; right:1.6rem; background:var(--santa-deep); padding:0 0.4em; }

  .santa-badge{
    position:relative;
    width:clamp(128px, 16vw, 168px);
    margin:0 auto 1.6rem;
  }
  .santa-badge::before{
    content:"";
    position:absolute;
    top:-15px;
    left:50%;
    width:74px;
    height:28px;
    background:rgba(246,240,228,0.5);
    border:1px solid rgba(246,240,228,0.65);
    transform:translateX(-50%) rotate(4deg);
    box-shadow:0 3px 8px rgba(0,0,0,0.28);
    z-index:2;
  }
  .santa-badge-inner{
    display:block;
    transform:rotate(-7deg);
  }
  .santa-badge img{
    display:block;
    width:100%;
    border-radius:16px;
    border:6px solid var(--cream);
    box-shadow:
      0 0 0 2px rgba(196,155,102,0.55),
      0 18px 32px rgba(0,0,0,0.4);
  }

  .santa .eyebrow{ color:var(--gold-soft); }

  .santa-title{
    font-family:var(--font-display);
    font-weight:500;
    font-size:clamp(2.4rem, 5.5vw, 3.6rem);
    letter-spacing:0.05em;
    margin:0.8rem 0 1rem;
  }
  .santa-subtitle{
    font-family:var(--font-sans);
    font-size:clamp(0.85rem, 1.6vw, 1rem);
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--gold-soft);
    margin-bottom:2rem;
  }
  .santa-desc{
    max-width:640px;
    margin:0 auto 2.8rem;
    font-family:var(--font-body);
    font-size:1.08rem;
    color:rgba(246,240,228,0.88);
    line-height:1.9;
  }
  .santa-desc p{ margin:0 0 1.3rem; }
  .santa-desc p:last-child{ margin-bottom:0; }

  .santa-actions{
    display:flex;
    justify-content:center;
    gap:1.2rem;
    flex-wrap:wrap;
  }
  .santa-btn{
    display:inline-flex;
    align-items:center;
    gap:0.65rem;
    padding:0.95rem 2rem;
    border-radius:2px;
    font-family:var(--font-sans);
    font-size:0.82rem;
    letter-spacing:0.14em;
    text-transform:uppercase;
    border:1px solid var(--gold-soft);
    color:var(--cream);
    transition:background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
  }
  .santa-btn svg{ width:18px; height:18px; }
  .santa-btn:hover{
    background:var(--gold-soft);
    color:var(--santa-deep);
    border-color:var(--gold-soft);
  }

  .santa-note{
    margin-top:2.6rem;
    font-family:var(--font-sans);
    font-size:0.72rem;
    letter-spacing:0.08em;
    color:rgba(246,240,228,0.55);
  }
  .santa-note a{
    color:var(--gold-soft);
    border-bottom:1px solid rgba(201,168,118,0.5);
    padding-bottom:1px;
  }
  .santa-note a:hover{ color:var(--cream); }

  /* ---------- CONTACT ---------- */
  .contact-section{ background:var(--cream); }
  .contact-form{
    max-width:640px;
    margin:0 auto;
    background:var(--paper);
    border:1px solid var(--beige-line);
    border-radius:6px;
    padding:clamp(2rem, 5vw, 3rem);
    box-shadow:var(--shadow);
  }
  .form-row{ margin-bottom:1.6rem; }
  .form-row:last-of-type{ margin-bottom:0; }
  .form-row label{
    display:block;
    font-family:var(--font-sans);
    font-size:0.75rem;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--ink-soft);
    margin-bottom:0.6rem;
  }
  .form-row label .req{ color:var(--santa-red); margin-left:0.2em; }
  .form-row input,
  .form-row textarea{
    width:100%;
    padding:0.85rem 1rem;
    font-family:var(--font-body);
    font-size:1rem;
    color:var(--ink);
    background:var(--cream);
    border:1px solid var(--beige-line);
    border-radius:3px;
    transition:border-color 0.3s ease;
  }
  .form-row input:focus,
  .form-row textarea:focus{
    outline:none;
    border-color:var(--gold);
  }
  .form-row textarea{ min-height:140px; resize:vertical; }
  .form-submit{
    display:inline-flex;
    align-items:center;
    gap:0.6rem;
    margin-top:0.6rem;
    padding:0.95rem 2.4rem;
    border:1px solid var(--ink);
    border-radius:2px;
    background:transparent;
    font-family:var(--font-sans);
    font-size:0.78rem;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--ink);
    cursor:pointer;
    transition:background 0.3s ease, color 0.3s ease;
  }
  .form-submit:hover{ background:var(--ink); color:var(--cream); }
  .form-note{
    text-align:center;
    margin-top:1.6rem;
    font-family:var(--font-sans);
    font-size:0.78rem;
    color:var(--teal-deep);
  }
  .form-note[hidden]{ display:none; }
  .contact-lead{
    max-width:520px;
    margin:1.4rem auto 0;
    font-family:var(--font-body);
    font-size:1rem;
    color:var(--ink-soft);
    line-height:1.8;
  }

  /* ---------- FOOTER ---------- */
  .site-footer{
    background:var(--ink);
    color:var(--cream);
    padding:5rem 0 2.4rem;
    text-align:center;
  }
  .footer-accent-line{
    width:64px;
    height:2px;
    margin:0 auto 2.2rem;
    background:linear-gradient(90deg, var(--gold) 0 33%, var(--terracotta) 33% 66%, var(--teal) 66% 100%);
  }
  .footer-brand{
    font-family:var(--font-display);
    font-size:2rem;
    letter-spacing:0.1em;
    margin-bottom:0.6rem;
  }
  .footer-tag{
    font-family:var(--font-sans);
    font-size:0.75rem;
    letter-spacing:0.2em;
    text-transform:uppercase;
    color:var(--gold-soft);
    margin-bottom:3rem;
  }

  .social-row{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:1.1rem;
    margin-bottom:3rem;
  }
  .social-btn{
    width:46px; height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(246,240,228,0.28);
    border-radius:50%;
    color:var(--cream);
    transition:all 0.3s ease;
  }
  .social-btn svg{ width:19px; height:19px; }
  .social-btn:hover{
    background:var(--gold-soft);
    border-color:var(--gold-soft);
    color:var(--ink);
    transform:translateY(-3px);
  }

  .footer-bottom{
    font-family:var(--font-sans);
    font-size:0.72rem;
    letter-spacing:0.08em;
    color:rgba(246,240,228,0.4);
    border-top:1px solid rgba(246,240,228,0.14);
    padding-top:1.8rem;
    width:min(1100px, 92%);
    margin:0 auto;
  }

  /* ---------- MEDIA / PHOTO GALLERY ---------- */
  .media-section{ background:var(--paper); }
  .photo-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:1.3rem;
  }
  .photo-grid figure{
    position:relative;
    aspect-ratio:1/1;
    overflow:hidden;
    border-radius:4px;
    border:1px solid var(--beige-line);
    box-shadow:var(--shadow);
  }
  .photo-grid img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform 0.5s ease;
  }
  .photo-grid figure:hover img{ transform:scale(1.06); }
  .photo-grid figure::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, transparent 60%, rgba(60,51,42,0.35) 100%);
    opacity:0;
    transition:opacity 0.4s ease;
  }
  .photo-grid figure:hover::after{ opacity:1; }

  .page-hero{
    text-align:center;
    padding:clamp(3.5rem, 8vw, 5.5rem) 5% clamp(2.5rem, 6vw, 4rem);
    background:var(--cream);
  }
  .page-hero .eyebrow{ display:inline-block; margin-bottom:1.2rem; }
  .page-hero h1{
    font-family:var(--font-display);
    font-weight:500;
    font-size:clamp(2.4rem, 6vw, 3.8rem);
    letter-spacing:0.04em;
    color:var(--ink);
  }
  .page-hero p{
    max-width:560px;
    margin:1.4rem auto 0;
    font-family:var(--font-body);
    font-size:1.02rem;
    color:var(--ink-soft);
    line-height:1.85;
  }

  /* ---------- VIDEO GALLERY ---------- */
  .video-group{ margin-bottom:3.4rem; }
  .video-group:last-child{ margin-bottom:0; }
  .video-group-label{
    display:inline-block;
    font-family:var(--font-sans);
    font-size:0.72rem;
    letter-spacing:0.2em;
    text-transform:uppercase;
    color:var(--terracotta-deep);
    border:1px solid var(--terracotta);
    border-radius:5px;
    padding:0.3rem 0.8rem;
    margin-bottom:1.6rem;
  }
  .video-grid{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:1.8rem;
  }
  .video-card{
    border-radius:4px;
    border:1px solid var(--beige-line);
    box-shadow:var(--shadow);
    overflow:hidden;
    background:var(--ink);
  }
  .video-card .video-embed{
    position:relative;
    width:100%;
    aspect-ratio:16/9;
  }
  .video-card .video-embed iframe{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
  }

  /* ---------- EPK ---------- */
  .epk-hook{
    max-width:520px;
    margin:0 auto 2.2rem;
    text-align:center;
  }
  .epk-hook p{
    font-family:var(--font-display);
    font-style:italic;
    font-weight:500;
    font-size:1.3rem;
    color:var(--ink-soft);
    line-height:1.9;
    margin-bottom:0.7rem;
  }
  .epk-hook p:last-child{ margin-bottom:0; color:var(--gold); }

  .epk-readmore-wrap{ text-align:center; margin-bottom:2.4rem; }
  .epk-readmore-btn{
    display:inline-flex;
    align-items:center;
    gap:0.4rem;
    background:none;
    border:none;
    cursor:pointer;
    font-family:var(--font-sans);
    font-size:0.78rem;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--terracotta-deep);
  }
  .epk-readmore-btn svg{ width:12px; height:12px; transition:transform 0.3s ease; }
  .epk-readmore-btn.expanded svg{ transform:rotate(180deg); }

  .epk-bio-more{ display:none; }
  .epk-bio-more.expanded{ display:block; }

  .epk-more-link{
    display:inline-block;
    font-family:var(--font-sans);
    font-size:0.78rem;
    letter-spacing:0.08em;
    color:var(--gold);
    border-bottom:1px solid var(--gold-soft);
    padding-bottom:2px;
    transition:color 0.3s ease;
  }
  .epk-more-link:hover{ color:var(--terracotta-deep); }

  .epk-highlight{
    max-width:680px;
    margin:0 auto;
    text-align:center;
    font-family:var(--font-display);
    font-style:italic;
    font-weight:500;
    font-size:1.5rem;
    color:var(--ink-soft);
    line-height:1.9;
  }

  .epk-highlight-note{
    max-width:560px;
    margin:1.6rem auto 0;
    text-align:center;
    font-family:var(--font-sans);
    font-style:normal;
    font-size:0.85rem;
    letter-spacing:0.02em;
    color:var(--ink-soft);
    line-height:1.9;
  }

  .epk-stats{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:1.5rem;
    text-align:center;
  }
  .epk-stat{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:0.5rem;
  }
  .epk-stat-num{
    font-family:var(--font-display);
    font-weight:500;
    font-size:2.6rem;
    color:var(--terracotta-deep);
    line-height:1;
  }
  .epk-stat-plus{ font-size:0.6em; color:var(--gold); }
  .epk-stat-label{
    font-family:var(--font-sans);
    font-size:0.72rem;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--ink-soft);
  }

  .epk-note{
    text-align:center;
    margin-top:1.6rem;
    font-family:var(--font-sans);
    font-size:0.8rem;
    color:var(--ink-soft);
  }

  .epk-available{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:1rem 1.2rem;
    max-width:860px;
    margin:0 auto;
  }
  .epk-available li{
    display:flex;
    align-items:center;
    gap:0.6rem;
    font-family:var(--font-sans);
    font-size:0.85rem;
    color:var(--ink);
    padding:0.9rem 1rem;
    border:1px solid var(--beige-line);
    border-radius:4px;
    background:var(--paper);
  }
  .epk-available li::before{
    content:"\2713";
    flex:0 0 auto;
    color:var(--teal-deep);
    font-weight:600;
  }

  .epk-commission{
    max-width:640px;
    margin:2.4rem auto 0;
    text-align:center;
    padding:1.8rem 2rem;
    border:1px solid var(--gold-soft);
    border-radius:4px;
    background:var(--paper);
  }
  .epk-commission-label{
    font-family:var(--font-sans);
    font-size:0.85rem;
    letter-spacing:0.06em;
    color:var(--terracotta-deep);
    font-weight:600;
    margin-bottom:0.6rem;
  }
  .epk-commission p{
    font-family:var(--font-body);
    font-size:0.95rem;
    color:var(--ink-soft);
    line-height:1.85;
  }
  .epk-commission p.epk-commission-note{
    margin-top:0.9rem;
    padding-top:0.9rem;
    border-top:1px solid var(--beige-line);
    font-size:0.82rem;
    color:var(--teal-deep);
  }

  .epk-listen-grid{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:1.8rem;
  }
  .epk-listen-grid iframe{ display:block; }

  #epk-social .social-btn{
    color:var(--ink-soft);
    border-color:var(--beige-line);
  }

  .epk-pitch{
    max-width:720px;
    margin:0 auto 3rem;
    text-align:center;
    font-family:var(--font-body);
    font-size:1.02rem;
    color:var(--ink-soft);
    line-height:2;
  }

  .epk-accordion{ max-width:820px; margin:0 auto; }
  .epk-accordion-item{ border-bottom:1px solid var(--beige-line); }
  .epk-accordion-item:first-child{ border-top:1px solid var(--beige-line); }
  .epk-accordion-toggle{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding:1.2rem 0.2rem;
    background:none;
    border:none;
    cursor:pointer;
    text-align:left;
    font-family:var(--font-sans);
    font-size:0.92rem;
    letter-spacing:0.03em;
    color:var(--ink);
  }
  .epk-accordion-toggle small{
    display:block;
    margin-top:0.3rem;
    font-size:0.72rem;
    letter-spacing:0.02em;
    color:var(--ink-soft);
  }
  .epk-accordion-toggle svg{
    width:14px; height:14px;
    flex:0 0 auto;
    color:var(--terracotta-deep);
    transition:transform 0.3s ease;
  }
  .epk-accordion-toggle.expanded svg{ transform:rotate(180deg); }

  .epk-accordion-panel{
    display:none;
    padding:0 0.2rem 1.6rem;
    font-family:var(--font-body);
    font-size:0.92rem;
    color:var(--ink-soft);
    line-height:2;
  }
  .epk-accordion-panel.expanded{ display:block; }
  .epk-accordion-panel-cols{ columns:2; column-gap:2rem; }

  .epk-impact{
    max-width:600px;
    margin:0 auto;
    text-align:center;
  }
  .epk-impact-title{
    font-family:var(--font-display);
    font-style:italic;
    font-weight:500;
    font-size:1.3rem;
    color:var(--terracotta-deep);
    margin-bottom:1rem;
  }
  .epk-impact-title small{
    font-size:0.62em;
    font-style:normal;
    color:var(--ink-soft);
  }
  .epk-impact p{
    font-family:var(--font-body);
    font-size:1rem;
    color:var(--ink-soft);
    line-height:1.9;
    margin-bottom:1.2rem;
  }

  .epk-cta{
    max-width:560px;
    text-align:center;
  }
  .epk-cta p{
    margin:1.2rem 0 2rem;
    font-family:var(--font-body);
    font-size:1.02rem;
    color:var(--ink-soft);
    line-height:1.85;
  }

  /* ---------- RESPONSIVE ---------- */
  @media (max-width: 860px){
    .hero-photo{ aspect-ratio:auto; height:56vh; background-position:22% 38%; }
    .site-nav{
      grid-template-columns:1fr auto auto;
      grid-template-areas:
        "logo contact lang"
        "links links links";
      row-gap:0.9rem;
    }
    .nav-links{
      justify-self:stretch;
      overflow-x:auto;
      -webkit-overflow-scrolling:touch;
      scrollbar-width:none;
      gap:0.7rem;
      padding-bottom:2px;
      mask-image:linear-gradient(to right, black 90%, transparent 100%);
      -webkit-mask-image:linear-gradient(to right, black 90%, transparent 100%);
    }
    .nav-links::-webkit-scrollbar{ display:none; }
    .nav-links a{
      flex:0 0 auto;
      padding:0.42rem 0.85rem;
      border:1px solid var(--beige-line);
      border-radius:999px;
      background:var(--cream);
      opacity:1;
      font-size:0.7rem;
    }
    .nav-links a::after{ display:none; }
    section{ padding:5rem 0; }
    .live-card-body{ grid-template-columns:1fr; }
    .live-card-body.solo{ max-width:none; }
    .live-card-header{ flex-direction:column; align-items:flex-start; gap:0.6rem; }
    .photo-grid{ grid-template-columns:repeat(2, 1fr); }
    .video-grid{ grid-template-columns:repeat(2, 1fr); }
    .epk-listen-grid{ grid-template-columns:1fr; }
    .epk-stats{ grid-template-columns:repeat(2, 1fr); gap:2rem 1rem; }
    .epk-available{ grid-template-columns:repeat(2, 1fr); }
    .epk-accordion-panel-cols{ columns:1; }
  }

  @media (max-width: 480px){
    .site-nav{ column-gap:0.9rem; }
    .lang-toggle{ gap:0.3rem; }
    .nav-contact, .lang-toggle button{ font-size:0.62rem; }
    .nav-links{ gap:0.5rem; }
    .nav-links a{ font-size:0.66rem; padding:0.36rem 0.7rem; }
    .hero-title{ font-size:clamp(2.6rem, 15vw, 4rem); }
    .santa-frame{ padding:2rem 1.4rem; }
    .santa-actions{ flex-direction:column; align-items:stretch; }
    .album-card-showcase{ width:100%; max-width:340px; }
    .bio-photo{ width:200px; height:200px; }
    .bio-name{ font-size:2.6rem; }
    .bio-tagline{ font-size:1.2rem; }
    .mobile-break{ display:inline; }
    .photo-grid{ grid-template-columns:1fr; gap:1rem; }
    .video-grid{ grid-template-columns:1fr; gap:1rem; }
    .epk-stats{ grid-template-columns:1fr; gap:1.6rem; }
    .epk-available{ grid-template-columns:1fr; }
  }
