  :root{
    /* Pearl Opera — locked site theme */
    --ink: #0a090a;
    --ink-2: #151214;
    --wine: #6e3a45;
    --wine-bright: #9a5563;
    --gold: #c9b6b0;
    --gold-soft: #eee4e0;
    --paper: #f5f0ee;
    --muted: rgba(245, 240, 238, 0.62);
    --muted-2: rgba(245, 240, 238, 0.38);
    --hairline: rgba(201, 182, 176, 0.24);
    --glow-1: rgba(110, 58, 69, 0.50);
    --glow-2: rgba(201, 182, 176, 0.12);
    --glow-3: rgba(110, 58, 69, 0.34);
    --display: "Cormorant Garamond", "Times New Roman", serif;
    --body: "Sora", -apple-system, sans-serif;
    --logo: "Fraunces", "Cormorant Garamond", serif;
    --ease: cubic-bezier(.22,.7,.24,1);
    --nav-h: 88px;
  }

  *{ margin:0; padding:0; box-sizing:border-box; }
  html{
    scroll-behavior:smooth;
    font-size:112.5%; /* ~18px root — easier reading */
  }
  @media (prefers-reduced-motion: reduce){
    html{ scroll-behavior:auto; }
  }

  html,body{
    background:var(--ink);
    color:var(--paper);
    font-family:var(--body);
    font-weight:300;
    font-size:1rem;
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }

  body{
    position:relative;
    min-height:100vh;
    min-height:100dvh;
    padding-left:env(safe-area-inset-left);
    padding-right:env(safe-area-inset-right);
  }
  body.is-nav-open{
    overflow:hidden;
    touch-action:none;
  }

  /* Ambient atmosphere: layered radial glow, fixed behind all content */
  body::before{
    content:"";
    position:fixed;
    inset:0;
    z-index:-2;
    background:
      radial-gradient(ellipse 60% 45% at 22% 8%, var(--glow-1), transparent 60%),
      radial-gradient(ellipse 50% 40% at 85% 15%, var(--glow-2), transparent 65%),
      radial-gradient(ellipse 70% 60% at 50% 100%, var(--glow-3), transparent 70%),
      var(--ink);
    pointer-events:none;
  }

  /* Film grain */
  body::after{
    content:"";
    position:fixed;
    inset:-10%;
    z-index:-1;
    opacity:.05;
    pointer-events:none;
    mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
    background-size:180px 180px;
  }

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

  .sr-only{
    position:absolute; width:1px; height:1px;
    overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap;
  }

  .skip-link{
    position:absolute; left:-9999px; top:0;
    background:var(--gold); color:var(--ink); padding:.6rem 1rem; z-index:999;
    font-family:var(--body); font-weight:600;
  }
  .skip-link:focus{ left:1rem; top:1rem; }

  :focus-visible{
    outline:2px solid var(--gold);
    outline-offset:3px;
    border-radius:2px;
  }

  h1,h2,h3{
    font-family:var(--display);
    font-weight:600;
    line-height:1.05;
    color:var(--paper);
  }

  .container{
    max-width:1180px;
    margin:0 auto;
    padding-inline:clamp(1.25rem, 5vw, 3rem);
  }

  /* ---------- Header / Nav ---------- */
  .site-header{
    position:fixed;
    top:0; left:0; right:0;
    z-index:500;
    padding-top:env(safe-area-inset-top);
    height:calc(var(--nav-h) + env(safe-area-inset-top));
    display:flex;
    align-items:center;
    background:rgba(11,9,8,0.28);
    backdrop-filter:blur(10px) saturate(120%);
    border-bottom:1px solid transparent;
    transition:background .4s var(--ease), border-color .4s var(--ease), height .3s var(--ease);
  }
  .site-header.is-scrolled{
    background:rgba(11,9,8,0.78);
    border-bottom-color:var(--hairline);
  }

  .header-inner{
    width:100%;
    max-width:1180px;
    margin:0 auto;
    padding-inline:clamp(1.25rem, 5vw, 3rem);
    display:flex;
    align-items:center;
    justify-content:space-between;
  }

  .logo{
    display:inline-flex;
    align-items:baseline;
    gap:.4rem;
    line-height:1;
    flex-shrink:0;
    text-decoration:none;
    color:inherit;
  }
  .logo-given,
  .logo-family{
    font-family:var(--logo);
    font-optical-sizing:auto;
    font-size:clamp(2.16rem, 3.68vw, 2.72rem);
    font-weight:500;
    font-style:italic;
    letter-spacing:.01em;
    line-height:1;
    transition:color .3s var(--ease);
  }
  .logo-given{ color:var(--gold-soft); }
  .logo-family{ color:var(--paper); }
  .logo:hover .logo-given{ color:var(--gold); }
  .logo:hover .logo-family{ color:var(--gold-soft); }
  /* Home: navbar name was already larger; keep +60% from that size */
  body:not(.is-inner) .logo-given,
  body:not(.is-inner) .logo-family{
    font-size:clamp(4.32rem, 7.36vw, 5.44rem);
  }

  /* Home: larger wordmark needs a taller bar */
  body:not(.is-inner){
    --nav-h: 112px;
  }
  @media (max-width:899px){
    body:not(.is-inner){
      --nav-h: 62px;
    }
  }

  .nav-toggle{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    width:42px;
    height:42px;
    background:transparent;
    border:1px solid var(--hairline);
    border-radius:6px;
    cursor:pointer;
    z-index:600;
  }
  .nav-toggle span{
    display:block;
    height:1px;
    width:18px;
    margin:0 auto;
    background:var(--gold-soft);
    transition:transform .3s var(--ease), opacity .3s var(--ease);
  }
  .nav-toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(5px) rotate(45deg); }
  .nav-toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
  .nav-toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-5px) rotate(-45deg); }

  /* Mobile: 30% thinner nav bar (88px → 62px) — desktop stays 88px */
  @media (max-width:899px){
    :root,
    html{
      --nav-h: 62px;
    }
    .site-header{
      height:calc(var(--nav-h) + env(safe-area-inset-top));
      min-height:calc(var(--nav-h) + env(safe-area-inset-top));
    }
    .header-inner{
      min-height:var(--nav-h);
      height:var(--nav-h);
    }
    .logo-given,
    .logo-family{
      font-size:1.84rem;
    }
    /* Home wordmark: half the oversized desktop home size on mobile */
    body:not(.is-inner) .logo-given,
    body:not(.is-inner) .logo-family{
      font-size:2.16rem;
    }
    .nav-toggle{
      width:34px;
      height:34px;
      gap:4px;
    }
    .nav-toggle span{ width:15px; }
    .nav-toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(4px) rotate(45deg); }
    .nav-toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-4px) rotate(-45deg); }
    .site-nav{
      top:calc(var(--nav-h) + env(safe-area-inset-top));
      max-height:calc(100dvh - var(--nav-h) - env(safe-area-inset-top));
    }
    .page-main{
      padding-top:calc(var(--nav-h) + env(safe-area-inset-top));
    }
    .page-main.page-home{
      /* Hero starts below the top nav on mobile */
      padding-top:calc(var(--nav-h) + env(safe-area-inset-top));
    }
  }

  .site-nav{
    position:fixed;
    top:calc(var(--nav-h) + env(safe-area-inset-top));
    left:0; right:0;
    max-height:calc(100dvh - var(--nav-h) - env(safe-area-inset-top));
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    background:rgba(11,9,8,0.97);
    border-bottom:1px solid var(--hairline);
    display:flex;
    flex-direction:column;
    padding:.5rem clamp(1.25rem, 5vw, 3rem) calc(1.5rem + env(safe-area-inset-bottom));
    transform:translateY(-8px);
    opacity:0;
    visibility:hidden;
    transition:opacity .28s var(--ease), transform .28s var(--ease), visibility .28s;
  }
  .site-nav.is-open{
    opacity:1;
    transform:translateY(0);
    visibility:visible;
  }
  .site-nav a{
    font-family:var(--body);
    font-size:1.05rem;
    font-weight:500;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:var(--muted);
    padding:.95rem 0;
    border-bottom:1px solid rgba(255,255,255,0.06);
    transition:color .2s var(--ease), padding-left .2s var(--ease);
  }
  .site-nav a:last-child{ border-bottom:none; }
  .site-nav a:hover, .site-nav a:focus-visible{ color:var(--gold-soft); padding-left:.3rem; }

  @media (min-width:900px){
    .nav-toggle{ display:none; }
    .logo{
      margin-right:clamp(1.75rem, 3.5vw, 3rem);
    }
    .site-nav{
      position:static;
      flex-direction:row;
      background:transparent;
      border:none;
      padding:0;
      max-height:none;
      overflow:visible;
      opacity:1;
      visibility:visible;
      transform:none;
      gap:clamp(1rem, 1.8vw, 2.4rem);
      align-items:center;
      margin-left:auto;
    }
    .site-nav a{
      padding:0;
      border-bottom:none;
      font-size:clamp(.82rem, 1.05vw, .95rem);
      letter-spacing:.08em;
      position:relative;
      white-space:nowrap;
    }
    .site-nav a::after{
      content:"";
      position:absolute;
      left:0; right:100%;
      bottom:-10px;
      height:1px;
      background:var(--gold);
      transition:right .3s var(--ease);
    }
    .site-nav a:hover::after,
    .site-nav a:focus-visible::after,
    .site-nav a.is-active::after{ right:0; }
  }

  /* ---------- Hero ---------- */
  .hero{
    position:relative;
    min-height:100vh;
    min-height:100svh;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    overflow:hidden;
    isolation:isolate;
  }

  .hero-media{
    position:absolute;
    inset:0;
    z-index:-1;
    overflow:hidden;
  }
  .hero-media picture{
    display:block;
    width:100%;
    height:100%;
  }
  .hero-img{
    width:100%;
    height:100%;
    min-width:100%;
    min-height:100%;
    object-fit:cover;
    /* Desktop: fully zoomed out while still edge-to-edge (no gaps) */
    object-position:center center;
    transform:none;
    animation:none;
    filter:saturate(0.92) contrast(1.05);
    opacity:0;
    transition:opacity 1s var(--ease);
  }
  .hero.is-loaded .hero-img{
    opacity:1;
  }
  @media (max-width:768px){
    .hero{
      min-height:calc(100dvh - var(--nav-h) - env(safe-area-inset-top));
      height:calc(100dvh - var(--nav-h) - env(safe-area-inset-top));
    }
    .hero-img{
      object-fit:cover;
      object-position:center top;
      transform:none;
      width:100%;
      height:100%;
      min-width:100%;
      min-height:100%;
      filter:saturate(0.95) contrast(1.04);
    }
  }
  .hero-scrim{
    position:absolute; inset:0;
    background:
      linear-gradient(180deg, rgba(11,9,8,0.35) 0%, rgba(11,9,8,0.15) 30%, rgba(11,9,8,0.55) 68%, rgba(11,9,8,0.96) 100%),
      linear-gradient(90deg, rgba(11,9,8,0.55) 0%, transparent 40%, transparent 60%, rgba(11,9,8,0.4) 100%);
  }
  .hero-glow{
    position:absolute; inset:0;
    background:radial-gradient(ellipse 70% 50% at 50% 100%, rgba(107,29,36,0.5), transparent 70%);
    mix-blend-mode:multiply;
  }

  .hero-content{
    position:relative;
    z-index:2;
    padding:0 clamp(1.25rem, 6vw, 5rem) clamp(3.5rem, 9vh, 6.5rem);
    max-width:1180px;
    margin:0 auto;
    width:100%;
  }

  .hero-name{
    font-size:clamp(3.2rem, 13vw, 8.5rem);
    font-weight:600;
    letter-spacing:-0.01em;
    color:var(--paper);
    text-shadow:0 6px 40px rgba(0,0,0,.35);
    opacity:0;
    transform:translateY(28px);
    transition:opacity 1.1s var(--ease), transform 1.1s var(--ease);
  }
  .hero-subtitle{
    margin-top:.6rem;
    font-family:var(--body);
    font-weight:300;
    font-size:clamp(1rem, 2vw, 1.35rem);
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--gold-soft);
    opacity:0;
    transform:translateY(20px);
    transition:opacity 1.1s var(--ease) .18s, transform 1.1s var(--ease) .18s;
  }
  .hero-cta{
    margin-top:2.4rem;
    display:flex;
    gap:1rem;
    flex-wrap:wrap;
    opacity:0;
    transform:translateY(20px);
    transition:opacity 1.1s var(--ease) .34s, transform 1.1s var(--ease) .34s;
  }
  @media (max-width:420px){
    .hero-name{ font-size:clamp(2.6rem, 14vw, 3.4rem); }
    .hero-cta .btn{ flex:1 1 auto; min-width:calc(50% - .5rem); }
  }

  .hero.is-loaded .hero-name,
  .hero.is-loaded .hero-subtitle,
  .hero.is-loaded .hero-cta{
    opacity:1;
    transform:translateY(0);
  }

  .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.5rem;
    font-family:var(--body);
    font-size:.85rem;
    font-weight:600;
    letter-spacing:.08em;
    text-transform:uppercase;
    padding:.95rem 1.9rem;
    border-radius:2px;
    border:1px solid transparent;
    cursor:pointer;
    transition:background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease), transform .25s var(--ease);
  }
  .btn-primary{
    background:var(--gold);
    color:var(--ink);
  }
  .btn-primary:hover{ background:var(--gold-soft); transform:translateY(-2px); }
  .btn-ghost{
    background:transparent;
    color:var(--paper);
    border-color:rgba(242,235,227,0.4);
  }
  .btn-ghost:hover{ border-color:var(--gold); color:var(--gold-soft); transform:translateY(-2px); }

  .hero-scroll-cue{
    position:absolute;
    left:50%;
    bottom:1.6rem;
    transform:translateX(-50%);
    z-index:2;
    width:1px;
    height:46px;
    background:rgba(242,235,227,0.25);
    overflow:hidden;
  }
  .hero-scroll-cue span{
    position:absolute;
    left:0; top:-46px;
    width:100%; height:100%;
    background:var(--gold);
    animation:scrollcue 2.6s ease-in-out infinite;
  }
  @keyframes scrollcue{
    0%{ top:-46px; }
    60%{ top:46px; }
    100%{ top:46px; }
  }

  /* ---------- Reveal-on-scroll ---------- */
  .reveal{
    opacity:0;
    transform:translateY(34px);
    transition:opacity .9s var(--ease), transform .9s var(--ease);
  }
  .reveal.in-view{
    opacity:1;
    transform:translateY(0);
  }
  .reveal-stagger > *{
    opacity:0;
    transform:translateY(24px);
    transition:opacity .7s var(--ease), transform .7s var(--ease);
  }
  .reveal-stagger.in-view > *{
    opacity:1;
    transform:translateY(0);
  }
  .reveal-stagger.in-view > *:nth-child(1){ transition-delay:.02s; }
  .reveal-stagger.in-view > *:nth-child(2){ transition-delay:.09s; }
  .reveal-stagger.in-view > *:nth-child(3){ transition-delay:.16s; }
  .reveal-stagger.in-view > *:nth-child(4){ transition-delay:.23s; }
  .reveal-stagger.in-view > *:nth-child(5){ transition-delay:.30s; }
  .reveal-stagger.in-view > *:nth-child(6){ transition-delay:.37s; }

  @media (prefers-reduced-motion: reduce){
    .hero-img{ animation:none; transition:none; }
    .hero.is-loaded .hero-img{ opacity:1; }
    .hero-name, .hero-subtitle, .hero-cta{ transition:none; opacity:1; transform:none; }
    .reveal, .reveal-stagger > *{ transition:none; opacity:1; transform:none; }
    .hero-scroll-cue span{ animation:none; }
    .img-fade,
    .gallery-trigger img,
    .artist-portrait img,
    .video-thumb img,
    .article-figure img,
    .lightbox-dialog img{
      transition:none !important;
    }
    .img-shell.is-img-loaded::before,
    .gallery-trigger.is-img-loaded::before,
    .artist-portrait.is-img-loaded::before,
    .video-thumb.is-img-loaded::before,
    .article-figure.is-img-loaded::before,
    .lightbox-dialog.is-img-loaded::before{
      display:none;
    }
  }

  /* ---------- Progressive image loading ---------- */
  .img-shell,
  .gallery-trigger,
  .artist-portrait,
  .video-thumb,
  .article-figure,
  .lightbox-dialog{
    --img-placeholder: url("assets/favicon.svg");
  }
  body[data-page="article"] .img-shell,
  body[data-page="article"] .article-figure{
    --img-placeholder: url("../assets/favicon.svg");
  }
  .gallery-trigger::before,
  .artist-portrait::before,
  .video-thumb::before,
  .article-figure::before,
  .lightbox-dialog::before{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    width:2.75rem;
    height:2.75rem;
    transform:translate(-50%, -50%);
    background:var(--img-placeholder) center / contain no-repeat;
    opacity:.42;
    pointer-events:none;
    z-index:0;
    transition:opacity .4s var(--ease);
  }
  .gallery-trigger:not(.is-img-loaded){
    min-height:clamp(12rem, 42vw, 22rem);
    background:rgba(20,16,14,.55);
  }
  .article-figure{
    position:relative;
    overflow:hidden;
    background:rgba(20,16,14,.45);
    min-height:10rem;
  }
  .gallery-trigger img,
  .artist-portrait img,
  .video-thumb img,
  .article-figure img,
  .lightbox-dialog img,
  img.img-fade{
    position:relative;
    z-index:1;
    opacity:0;
    transition:opacity .55s var(--ease);
  }
  .gallery-trigger.is-img-loaded img,
  .artist-portrait.is-img-loaded img,
  .video-thumb.is-img-loaded img,
  .article-figure.is-img-loaded img,
  .lightbox-dialog.is-img-loaded img,
  img.img-fade.is-img-loaded{
    opacity:1;
  }
  .gallery-trigger.is-img-loaded::before,
  .artist-portrait.is-img-loaded::before,
  .video-thumb.is-img-loaded::before,
  .article-figure.is-img-loaded::before,
  .lightbox-dialog.is-img-loaded::before{
    opacity:0;
  }
  .gallery-trigger.is-img-loaded{
    min-height:0;
  }
  .article-figure.is-img-loaded{
    min-height:0;
    background:transparent;
  }

  /* ---------- Section rhythm ---------- */
  section{ position:relative; }
  .section-pad{
    padding-top:clamp(1.5rem, 4vh, 2.75rem);
    padding-bottom:clamp(4.5rem, 11vh, 8rem);
  }

  .section-head{
    margin-bottom:clamp(2.2rem, 5vh, 3.5rem);
  }
  .section-label{
    display:block;
    font-size:.78rem;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--gold);
    margin-bottom:.9rem;
  }
  .section-label span{
    color:var(--muted-2);
    letter-spacing:.05em;
    text-transform:none;
    font-style:italic;
  }
  .section-head h1,
  .section-head h2{
    font-size:clamp(2.25rem, 4.8vw, 3.45rem);
    font-weight:500;
    max-width:26ch;
  }
  .stage-empty{
    margin-top:1.5rem;
    color:var(--muted);
    font-size:1.05rem;
  }
  .eng-dates-detail{
    display:block;
    margin-top:.25rem;
    font-size:.9rem;
    color:var(--muted-2);
    letter-spacing:.02em;
  }

  .hairline{
    border:none;
    border-top:1px solid var(--hairline);
    margin:0;
  }

  /* ---------- Press quote ---------- */
  .press{ padding:clamp(4.5rem, 13vh, 9rem) 0; }
  .press-quote{
    max-width:920px;
    margin:0 auto;
    padding-inline:clamp(1.25rem, 6vw, 3rem);
    text-align:center;
    position:relative;
  }
  .press-quote::before{
    content:"“";
    display:block;
    font-family:var(--display);
    font-size:5rem;
    color:var(--wine-bright);
    line-height:1;
    margin-bottom:.2rem;
    opacity:.85;
  }
  .press-quote p{
    font-family:var(--display);
    font-style:italic;
    font-weight:500;
    font-size:clamp(1.55rem, 3.6vw, 2.55rem);
    line-height:1.42;
    color:var(--paper);
  }
  .press-quote cite{
    display:block;
    margin-top:1.6rem;
    font-family:var(--body);
    font-style:normal;
    font-size:.9rem;
    letter-spacing:.2em;
    text-transform:uppercase;
    color:var(--gold);
  }

  /* ---------- On Stage (engagement list) ---------- */
  .stage{ background:linear-gradient(180deg, transparent, rgba(107,29,36,0.06), transparent); }
  .engagement-list{ border-top:1px solid var(--hairline); }
  .engagement-item{
    display:grid;
    grid-template-columns:1fr;
    gap:.3rem;
    padding:1.5rem 0;
    border-bottom:1px solid var(--hairline);
    transition:padding-left .3s var(--ease), background .3s var(--ease);
  }
  .engagement-item:hover{ padding-left:.6rem; background:rgba(196,176,154,0.04); }
  .eng-date{
    display:block;
    font-size:.76rem;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--gold);
  }
  .eng-main{ display:flex; flex-wrap:wrap; align-items:baseline; gap:.5rem 1rem; }
  .eng-title{
    font-family:var(--display);
    font-size:clamp(1.45rem, 2.8vw, 2.05rem);
    font-weight:600;
    color:var(--paper);
  }
  .eng-role{
    font-family:var(--body);
    font-weight:300;
    font-size:1.05rem;
    color:var(--muted);
    font-style:normal;
  }
  .eng-venue{
    font-size:1.05rem;
    color:var(--muted);
  }
  .eng-note{
    display:inline-block;
    margin-top:.3rem;
    font-size:.72rem;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--wine-bright);
    background:rgba(107,29,36,0.18);
    border:1px solid rgba(107,29,36,0.5);
    padding:.25rem .6rem;
    border-radius:999px;
    width:fit-content;
  }
  .eng-actions{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:.65rem 1rem;
    margin-top:.45rem;
  }
  .eng-tickets{
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    font-size:.72rem;
    font-weight:500;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--gold);
    border-bottom:1px solid transparent;
    transition:color .25s var(--ease), border-color .25s var(--ease);
  }
  .eng-tickets:hover{
    color:var(--gold-soft);
    border-bottom-color:var(--gold-soft);
  }
  .eng-tickets::after{ content:"↗"; font-size:.85em; opacity:.75; }

  @media (min-width:700px){
    .engagement-item{
      grid-template-columns:140px 1fr auto;
      align-items:center;
      gap:1.5rem;
    }
    .eng-actions{ margin-top:0; justify-content:flex-end; }
  }

  /* ---------- Signature roles (horizontal tape) ---------- */
  .roles-tape{
    position:relative;
    width:100%;
    margin:0;
    overflow:hidden;
    mask-image:linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
    -webkit-mask-image:linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
  }
  .roles-tape::before,
  .roles-tape::after{
    content:"";
    position:absolute;
    top:0; bottom:0;
    width:clamp(1.5rem, 4vw, 3rem);
    z-index:2;
    pointer-events:none;
  }
  .roles-track{
    display:flex;
    width:max-content;
    will-change:transform;
    transform:translate3d(0,0,0);
    backface-visibility:hidden;
  }
  .roles-track.is-moving{
    animation:roles-marquee var(--roles-duration, 40s) linear 5s infinite;
  }
  .roles-tape:hover .roles-track.is-moving,
  .roles-tape:focus-within .roles-track.is-moving{
    animation-play-state:paused;
  }
  @media (max-width:899px){
    .roles-tape{
      touch-action:pan-y;
      cursor:grab;
      -webkit-user-select:none;
      user-select:none;
    }
    .roles-tape.is-dragging{
      cursor:grabbing;
    }
    .roles-track.is-moving{
      animation:none;
    }
    .roles-tape:hover .roles-track.is-moving,
    .roles-tape:focus-within .roles-track.is-moving{
      animation-play-state:running;
    }
  }
  .roles-group{
    display:flex;
    flex:0 0 auto;
  }
  .role-item{
    flex:0 0 auto;
    width:min(78vw, 320px);
    padding:1.8rem 2rem 1.8rem 1.8rem;
    border-left:1px solid var(--hairline);
  }
  .role-title{
    font-size:clamp(1.6rem, 2.8vw, 2.1rem);
    font-weight:600;
    margin-bottom:.25rem;
  }
  .role-composer{
    font-size:.85rem;
    color:var(--gold-soft);
    letter-spacing:.03em;
    margin-bottom:1rem;
  }
  .role-houses{
    font-size:.86rem;
    line-height:1.65;
    color:var(--muted);
  }
  @keyframes roles-marquee{
    from{ transform:translate3d(0,0,0); }
    to{ transform:translate3d(calc(-1 * var(--roles-shift, 50%)), 0, 0); }
  }
  @media (prefers-reduced-motion: reduce){
    .roles-tape{
      overflow-x:auto;
      mask-image:none;
      -webkit-mask-image:none;
      scrollbar-width:thin;
      scrollbar-color:var(--gold) transparent;
    }
    .roles-track.is-moving{
      animation:none;
    }
    .roles-group + .roles-group{ display:none; }
  }

  /* ---------- The Artist ---------- */
  .artist-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:2.5rem;
  }
  .artist-lead{
    font-family:var(--display);
    font-size:clamp(1.55rem, 2.9vw, 2.05rem);
    line-height:1.55;
    color:var(--paper);
    margin-bottom:1.4rem;
  }
  .artist-text p + p{ margin-top:1.1rem; }
  .artist-text p{
    font-size:1.05rem;
    line-height:1.7;
    color:var(--muted);
  }
  .artist-more{
    margin-top:1.6rem;
    border-top:1px solid var(--hairline);
    padding-top:1.3rem;
  }
  .artist-more summary{
    cursor:pointer;
    list-style:none;
    font-size:.88rem;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--gold);
    display:flex;
    align-items:center;
    gap:.6rem;
  }
  .artist-more summary::-webkit-details-marker{ display:none; }
  .artist-more summary::after{
    content:"+";
    font-family:var(--display);
    font-size:1.1rem;
    line-height:1;
    transition:transform .3s var(--ease);
  }
  .artist-more[open] summary::after{ transform:rotate(45deg); }
  .artist-more[open] summary{ margin-bottom:1rem; }
  .artist-more p{ margin-top:1rem; }

  .artist-portrait{
    position:relative;
    aspect-ratio:3/4;
    overflow:hidden;
    border-radius:2px;
    background:rgba(20,16,14,0.6);
  }
  .artist-portrait img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center top;
    /* Fill width (crops sides) while keeping some headroom above the subject */
    transform:scale(1.04);
    transform-origin:center 60%;
    filter:saturate(0.92);
    transition:opacity .55s var(--ease);
  }
  .artist-portrait::after{
    content:"";
    position:absolute; inset:0;
    box-shadow:inset 0 0 0 1px var(--hairline);
    background:linear-gradient(160deg, rgba(107,29,36,0.15), transparent 55%);
  }

  @media (min-width:860px){
    .artist-grid{
      grid-template-columns:1fr 1fr;
      align-items:start;
      gap:4rem;
    }
  }

  /* ---------- Gallery ---------- */
  .gallery-mosaic{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:1rem;
  }
  @media (max-width:900px){
    .gallery-mosaic{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  }
  @media (max-width:560px){
    .gallery-mosaic{ grid-template-columns:minmax(0, 1fr); }
  }
  .gallery-item{
    margin:0;
    position:relative;
    overflow:hidden;
    border-radius:2px;
  }
  .gallery-trigger{
    display:block;
    width:100%;
    padding:0;
    border:none;
    background:transparent;
    cursor:zoom-in;
    font:inherit;
    color:inherit;
    position:relative;
  }
  .gallery-trigger img{
    width:100%;
    height:auto;
    display:block;
    transition:transform .7s var(--ease), filter .7s var(--ease), opacity .55s var(--ease);
    filter:saturate(0.92) brightness(0.94);
  }
  .gallery-trigger:hover img,
  .gallery-trigger:focus-visible img{
    transform:scale(1.03);
    filter:saturate(1) brightness(1);
  }
  .gallery-trigger:focus-visible{
    outline:1px solid var(--gold);
    outline-offset:4px;
  }
  .gallery-caption{
    position:absolute;
    left:0; right:0; bottom:0;
    z-index:2;
    padding:2.4rem .9rem .85rem;
    display:flex;
    flex-direction:column;
    gap:.15rem;
    background:linear-gradient(transparent, rgba(8,6,5,.88));
    opacity:0;
    transform:translateY(.35rem);
    transition:opacity .35s var(--ease), transform .35s var(--ease);
    pointer-events:none;
    text-align:left;
  }
  .gallery-item:hover .gallery-caption,
  .gallery-item:focus-within .gallery-caption{
    opacity:1;
    transform:translateY(0);
  }
  @media (hover:none){
    .gallery-caption{
      opacity:1;
      transform:none;
      padding:1.6rem .75rem .7rem;
      background:linear-gradient(transparent, rgba(8,6,5,.82));
    }
  }
  .gallery-title{
    font-family:var(--display);
    font-size:1.05rem;
    font-weight:500;
    letter-spacing:.01em;
    color:var(--paper);
    line-height:1.2;
  }
  .gallery-detail{
    font-family:var(--body);
    font-size:.72rem;
    font-weight:400;
    letter-spacing:.03em;
    color:var(--muted);
    line-height:1.35;
  }
  .gallery-credit{
    font-family:var(--body);
    font-size:.68rem;
    font-weight:400;
    letter-spacing:.04em;
    color:var(--gold-soft);
    font-style:italic;
    margin-top:.1rem;
  }

  /* ---------- Lightbox ---------- */
  .lightbox{
    position:fixed; inset:0; z-index:2000;
    display:flex; align-items:center; justify-content:center;
    padding:clamp(1rem,4vw,2.5rem);
    padding-top:calc(clamp(1rem,4vw,2.5rem) + env(safe-area-inset-top));
    padding-bottom:calc(clamp(1rem,4vw,2.5rem) + env(safe-area-inset-bottom));
    background:rgba(8,6,5,.92);
    backdrop-filter:blur(10px);
    opacity:0; visibility:hidden;
    transition:opacity .28s var(--ease), visibility .28s;
  }
  .lightbox.is-open{ opacity:1; visibility:visible; }
  .lightbox-dialog{
    position:relative;
    max-width:min(1100px, 100%);
    max-height:100%;
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
  }
  .lightbox-dialog{
    min-height:min(40dvh, 420px);
  }
  .lightbox-dialog.is-img-loaded{
    min-height:0;
  }
  .lightbox-dialog img{
    max-width:100%;
    max-height:min(78dvh, 1400px);
    width:auto; height:auto;
    object-fit:contain;
    border-radius:2px;
    box-shadow:0 20px 60px rgba(0,0,0,.45);
    transition:opacity .45s var(--ease);
  }
  .lightbox-close,
  .lightbox-nav{
    position:absolute;
    background:rgba(11,9,8,.7);
    border:1px solid var(--hairline);
    color:var(--gold-soft);
    cursor:pointer;
    font-family:var(--body);
  }
  .lightbox-close{
    top:0; right:0;
    width:44px; height:44px;
    border-radius:50%;
    font-size:1.3rem;
    line-height:1;
    z-index:2;
  }
  .lightbox-nav{
    top:50%; transform:translateY(-50%);
    width:44px; height:44px;
    border-radius:50%;
    font-size:1.5rem;
  }
  .lightbox-prev{ left:0; }
  .lightbox-next{ right:0; }
  .lightbox-close:hover, .lightbox-nav:hover{ border-color:var(--gold); color:var(--gold); }
  .lightbox-caption{
    margin-top:.85rem;
    text-align:center;
    color:var(--muted);
    font-size:.9rem;
    line-height:1.45;
    max-width:42rem;
    padding:0 .5rem;
  }

  /* Gallery lightbox: fill the viewport */
  #lightbox{
    padding:
      calc(.5rem + env(safe-area-inset-top))
      calc(.5rem + env(safe-area-inset-right))
      calc(.5rem + env(safe-area-inset-bottom))
      calc(.5rem + env(safe-area-inset-left));
  }
  #lightbox .lightbox-dialog{
    max-width:none;
    width:100%;
    height:100%;
    justify-content:center;
  }
  #lightbox .lightbox-dialog img{
    max-width:100%;
    max-height:100%;
    width:auto;
    height:auto;
    border-radius:0;
    box-shadow:none;
  }
  #lightbox .lightbox-close,
  #lightbox .lightbox-nav{
    position:fixed;
    z-index:2001;
    background:rgba(11,9,8,.55);
    backdrop-filter:blur(6px);
  }
  #lightbox .lightbox-close{
    top:calc(.65rem + env(safe-area-inset-top));
    right:calc(.65rem + env(safe-area-inset-right));
  }
  #lightbox .lightbox-prev{
    left:calc(.5rem + env(safe-area-inset-left));
    top:50%;
    transform:translateY(-50%);
  }
  #lightbox .lightbox-next{
    right:calc(.5rem + env(safe-area-inset-right));
    top:50%;
    transform:translateY(-50%);
  }
  #lightbox .lightbox-caption{
    position:fixed;
    left:50%;
    bottom:calc(.75rem + env(safe-area-inset-bottom));
    transform:translateX(-50%);
    z-index:2001;
    margin:0;
    max-width:min(40rem, calc(100% - 6rem));
    padding:.55rem 1rem;
    background:rgba(11,9,8,.55);
    backdrop-filter:blur(8px);
    border:1px solid var(--hairline);
    border-radius:2px;
    font-size:.82rem;
    color:var(--paper);
  }
  @media (max-width:700px){
    #lightbox .lightbox-nav{
      top:auto;
      bottom:calc(4.25rem + env(safe-area-inset-bottom));
      transform:none;
      width:44px;
      height:44px;
    }
    #lightbox .lightbox-prev{
      left:auto;
      right:calc(3.5rem + env(safe-area-inset-right));
    }
    #lightbox .lightbox-next{
      right:calc(.65rem + env(safe-area-inset-right));
    }
    #lightbox .lightbox-caption{
      left:calc(.65rem + env(safe-area-inset-left));
      right:calc(.65rem + env(safe-area-inset-right));
      transform:none;
      max-width:none;
      font-size:.78rem;
      text-align:left;
    }
  }

  /* ---------- Videos ---------- */
  .video-filters{
    display:flex;
    flex-wrap:wrap;
    gap:.55rem;
    margin:0 0 1.75rem;
  }
  .video-filter{
    font-family:var(--body);
    font-size:.82rem;
    font-weight:500;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--muted);
    border:1px solid var(--hairline);
    background:transparent;
    padding:.55rem .9rem;
    cursor:pointer;
    transition:color .2s var(--ease), border-color .2s var(--ease), background .2s var(--ease);
  }
  .video-filter:hover{ color:var(--gold-soft); border-color:rgba(196,176,154,.45); }
  .video-filter.is-active{
    color:var(--ink);
    background:var(--gold);
    border-color:var(--gold);
  }
  .video-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:1.4rem;
  }
  @media (min-width:700px){
    .video-grid{ grid-template-columns:repeat(2, 1fr); gap:1.6rem; }
  }
  @media (min-width:1100px){
    .video-grid{ grid-template-columns:repeat(3, 1fr); }
  }
  .video-card{
    display:flex;
    flex-direction:column;
    gap:.85rem;
  }
  .video-thumb{
    position:relative;
    aspect-ratio:16/9;
    overflow:hidden;
    border-radius:2px;
    background:
      linear-gradient(120deg, rgba(242,235,227,.06), rgba(196,176,154,.08), rgba(242,235,227,.06));
    background-size:200% 100%;
    border:1px solid var(--hairline);
    padding:0;
    cursor:pointer;
    display:block;
    width:100%;
    font:inherit;
    color:inherit;
  }
  .video-thumb img{
    width:100%; height:100%;
    object-fit:cover;
    transition:transform .5s var(--ease), filter .4s var(--ease), opacity .55s var(--ease);
    filter:saturate(.92) brightness(.92);
    background:transparent;
  }
  .video-thumb.thumb-focus-top img{
    object-position:center 12%;
  }
  .video-card:hover .video-thumb img{ transform:scale(1.04); filter:saturate(1) brightness(1); }
  .video-play{
    position:absolute; inset:0;
    display:grid; place-items:center;
    background:radial-gradient(circle at center, rgba(11,9,8,.2), rgba(11,9,8,.45));
    z-index:2;
  }
  .video-play span{
    width:58px; height:58px;
    border-radius:50%;
    border:1px solid var(--gold);
    background:rgba(11,9,8,.55);
    display:grid; place-items:center;
    color:var(--gold-soft);
    font-size:1.1rem;
    padding-left:3px;
  }
  .video-meta{ min-height:4.5rem; }
  .video-role{
    display:block;
    font-size:.72rem;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--gold);
    margin-bottom:.35rem;
  }
  .video-title{
    font-family:var(--display);
    font-size:clamp(1.2rem, 2vw, 1.45rem);
    font-weight:600;
    line-height:1.3;
    color:var(--paper);
  }
  .video-note{
    margin-top:.35rem;
    font-size:.92rem;
    color:var(--muted);
  }
  .video-empty{
    color:var(--muted);
    font-size:1.02rem;
    padding:1rem 0 2rem;
  }
  .video-modal .lightbox-dialog{
    width:min(960px, 100%);
    max-width:100%;
    align-items:stretch;
  }
  .video-modal .lightbox-frame{
    position:relative;
    width:100%;
    aspect-ratio:16/9;
    background:#000;
    border:1px solid var(--hairline);
    flex:0 0 auto;
  }
  .video-modal iframe{
    position:absolute; inset:0;
    width:100%; height:100%;
    border:0;
  }
  .video-modal .lightbox-caption{
    width:100%;
    max-width:none;
    text-align:left;
    padding-inline:0;
  }
  @media (max-width:700px){
    .video-modal{
      align-items:center;
      padding:
        calc(.75rem + env(safe-area-inset-top))
        calc(.75rem + env(safe-area-inset-right))
        calc(.75rem + env(safe-area-inset-bottom))
        calc(.75rem + env(safe-area-inset-left));
    }
    .video-modal .lightbox-dialog{
      width:100%;
    }
    .video-modal .lightbox-close{
      top:.35rem;
      right:.35rem;
    }
  }

  /* ---------- News ---------- */
  .news-list{
    display:flex;
    flex-direction:column;
  }
  .news-item{
    padding:1.8rem 0;
    border-top:1px solid var(--hairline);
    display:grid;
    gap:.5rem;
  }
  .news-list .news-item:last-child{ border-bottom:1px solid var(--hairline); }
  .news-date{
    display:block;
    font-size:.76rem;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--gold);
  }
  .news-title{
    font-size:clamp(1.35rem, 2.4vw, 1.7rem);
    font-weight:600;
  }
  .news-excerpt{
    font-size:1.02rem;
    line-height:1.7;
    color:var(--muted);
    max-width:64ch;
  }
  .news-inline-link{
    color:var(--gold-soft);
    border-bottom:1px solid rgba(201, 182, 176, 0.45);
  }
  .news-inline-link:hover{
    color:var(--gold);
    border-bottom-color:var(--gold);
  }
  @media (min-width:760px){
    .news-item{ grid-template-columns:140px 1fr; gap:1.5rem; }
    .news-date{ padding-top:.3rem; }
  }

  /* ---------- News articles dots (discreet index) ---------- */
  #news.section-pad{
    padding-bottom:0;
  }
  .articles-dots{
    padding:0;
    margin:0;
    line-height:0;
  }
  .articles-dots .container{
    padding-top:0;
    padding-bottom:0;
  }
  .articles-links{
    list-style:none;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;
    gap:0;
    margin:0;
    padding:0;
    line-height:0;
  }
  .articles-links li{
    margin:0;
    padding:0;
    line-height:0;
  }
  .articles-links a{
    display:inline-block;
    font-size:.7rem;
    line-height:1;
    color:var(--ink);
    border:none;
    padding:0;
    margin:0;
    text-decoration:none;
  }
  .articles-links a:hover,
  .articles-links a:focus-visible{
    color:var(--ink);
  }

  /* ---------- AEO article pages ---------- */
  .article-container{ max-width:44rem; }
  .article-crumbs{
    display:flex;
    flex-wrap:wrap;
    gap:.45rem .65rem;
    align-items:center;
    font-size:.78rem;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:var(--muted-2);
    margin-bottom:1.75rem;
  }
  .article-crumbs a{
    color:var(--gold-soft);
    border-bottom:1px solid transparent;
  }
  .article-crumbs a:hover{ border-bottom-color:var(--gold); }
  .article-head{ margin-bottom:1.5rem; }
  .article-head h1{
    font-size:clamp(2rem, 4.5vw, 3rem);
    font-weight:600;
    line-height:1.15;
    margin-top:.35rem;
  }
  .article-meta{
    margin-top:.85rem;
    font-size:.82rem;
    letter-spacing:.04em;
    color:var(--muted-2);
    display:flex;
    flex-wrap:wrap;
    gap:.4rem .65rem;
  }
  .article-answer{
    font-family:var(--display);
    font-size:clamp(1.2rem, 2.2vw, 1.45rem);
    line-height:1.55;
    color:var(--gold-soft);
    margin-bottom:1.75rem;
  }
  .article-figure{
    margin:0 0 1.75rem;
  }
  .article-figure img{
    display:block;
    width:100%;
    height:auto;
    object-fit:contain;
    transition:opacity .55s var(--ease);
  }
  .article-facts{
    display:grid;
    gap:0;
    margin:0 0 2.25rem;
    border-top:1px solid var(--hairline);
  }
  .article-fact{
    display:grid;
    grid-template-columns:1fr;
    gap:.2rem;
    padding:.95rem 0;
    border-bottom:1px solid var(--hairline);
  }
  @media (min-width:640px){
    .article-fact{
      grid-template-columns:11rem 1fr;
      gap:1rem;
      align-items:baseline;
    }
  }
  .article-fact dt{
    font-size:.72rem;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--gold);
  }
  .article-fact dd{
    color:var(--muted);
    line-height:1.55;
  }
  .article-section{
    margin-bottom:2rem;
  }
  .article-section h2{
    font-size:clamp(1.35rem, 2.4vw, 1.7rem);
    font-weight:600;
    margin-bottom:.85rem;
  }
  .article-body p{
    color:var(--muted);
    margin-bottom:1rem;
    line-height:1.75;
  }
  .article-body ul{
    color:var(--muted);
    margin:0 0 1rem 1.15rem;
    line-height:1.75;
  }
  .article-body li{ margin-bottom:.25rem; }
  .article-body a{
    color:var(--gold-soft);
    border-bottom:1px solid rgba(201, 182, 176, 0.45);
  }
  .article-body a:hover{
    color:var(--gold);
    border-bottom-color:var(--gold);
  }
  .article-faq{
    margin-top:2.75rem;
    padding-top:2rem;
    border-top:1px solid var(--hairline);
  }
  .article-faq h2{
    font-size:clamp(1.35rem, 2.4vw, 1.7rem);
    margin-bottom:1.25rem;
  }
  .faq-item{
    padding:1.1rem 0;
    border-bottom:1px solid var(--hairline);
  }
  .faq-q{
    font-size:1.08rem;
    font-weight:600;
    color:var(--paper);
    margin-bottom:.45rem;
  }
  .faq-a{
    color:var(--muted);
    line-height:1.7;
  }
  .article-back{
    margin-top:2.5rem;
  }
  .article-back a{
    font-size:.78rem;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--gold);
    border-bottom:1px solid transparent;
  }
  .article-back a:hover{ border-bottom-color:var(--gold); }

  /* ---------- Contact ---------- */
  .contact{ padding-bottom:clamp(5rem, 13vh, 9rem); }
  .contact-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:3rem;
  }
  .contact-info .mgmt-label{
    font-size:1.08rem;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--gold);
    margin-bottom:.55rem;
  }
  .contact-info .mgmt-agent{
    font-family:var(--display);
    font-size:2.55rem;
    font-weight:600;
    margin-bottom:.15rem;
    color:var(--paper);
  }
  .mgmt-title{
    font-size:.85rem;
    color:var(--muted-2);
    margin-bottom:.35rem;
  }
  .mgmt-agency{
    margin-bottom:.35rem;
  }
  .contact-info p{
    font-size:1.05rem;
    color:var(--muted);
    margin-bottom:.5rem;
  }
  .contact-info a{
    color:var(--gold-soft);
    border-bottom:1px solid transparent;
    transition:border-color .2s var(--ease), color .2s var(--ease);
  }
  .contact-info a:hover{ border-color:var(--gold-soft); }

  .contact-form{
    display:flex;
    flex-direction:column;
    gap:1.3rem;
  }
  .field{ display:flex; flex-direction:column; gap:.5rem; }
  .field label{
    font-size:.76rem;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--muted-2);
  }
  .field input, .field textarea{
    background:transparent;
    border:none;
    border-bottom:1px solid var(--hairline);
    color:var(--paper);
    font-family:var(--body);
    font-size:1rem;
    padding:.6rem 0;
    resize:vertical;
    transition:border-color .25s var(--ease);
  }
  .field input:focus, .field textarea:focus{
    border-color:var(--gold);
    outline:none;
  }
  .field textarea{ min-height:6rem; }
  .contact-form .btn{ align-self:flex-start; margin-top:.5rem; }
  .contact-form .btn:disabled{
    opacity:.6;
    cursor:not-allowed;
  }
  .form-status{
    font-size:.95rem;
    line-height:1.5;
    min-height:1.5em;
    padding:.35rem 0 0;
  }
  .form-status.is-success{ color:var(--gold-soft); }
  .form-status.is-error{ color:#e8a0a0; }
  .form-status[hidden]{ display:none !important; }

  @media (min-width:860px){
    .contact-grid{ grid-template-columns:.85fr 1.15fr; gap:4rem; }
  }

  /* ---------- Footer ---------- */
  .site-footer{
    border-top:1px solid var(--hairline);
    padding:2.5rem 0 calc(3.5rem + env(safe-area-inset-bottom));
    text-align:center;
  }
  .footer-nav{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    gap:.45rem .95rem;
    margin:0 auto 1.75rem;
    padding:0 .75rem 1.35rem;
    border-bottom:1px solid var(--hairline);
    max-width:52rem;
  }
  .footer-nav a{
    font-size:.62rem;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--muted-2);
    padding:.2rem 0;
    transition:color .25s var(--ease);
  }
  .footer-nav a:hover,
  .footer-nav a:focus-visible{
    color:var(--gold-soft);
  }
  .footer-nav a.is-active{
    color:var(--gold);
  }
  @media (max-width:520px){
    .footer-nav{
      gap:.35rem .7rem;
      padding-bottom:1.15rem;
      margin-bottom:1.4rem;
    }
    .footer-nav a{
      font-size:.58rem;
      letter-spacing:.11em;
    }
  }
  .footer-name{
    font-family:var(--display);
    font-size:1.4rem;
    color:var(--gold-soft);
    margin-bottom:.5rem;
  }
  .footer-pron{
    font-size:.85rem;
    letter-spacing:.03em;
    color:var(--muted);
    font-style:italic;
    margin-bottom:1rem;
  }
  .footer-social{
    display:flex;
    flex-wrap:wrap;
    gap:.75rem 1.25rem;
    margin-bottom:1.2rem;
    justify-content:center;
  }
  .footer-social a{
    font-size:.72rem;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--gold);
  }
  .footer-social a:hover{ color:var(--gold-soft); }
  .footer-copy{
    font-size:.75rem;
    color:var(--muted-2);
    letter-spacing:.03em;
  }


/* ---------- Multi-page layout ---------- */
body.is-inner .site-header{
  background:rgba(11,9,8,0.78);
  border-bottom-color:var(--hairline);
}
.page-main{
  padding-top:calc(var(--nav-h) + env(safe-area-inset-top));
  min-height:60vh;
}
/* Desktop only: hero sits under the transparent header */
@media (min-width:900px){
  .page-main.page-home{
    padding-top:0;
  }
}
/* Mobile: hero starts at the bottom edge of the top nav */
@media (max-width:899px){
  .page-main.page-home{
    padding-top:calc(var(--nav-h) + env(safe-area-inset-top)) !important;
  }
  body:not(.is-inner) .site-header{
    background:rgba(11,9,8,0.92);
    border-bottom-color:var(--hairline);
  }
}
.site-nav a.is-active{
  color:var(--gold-soft);
}
@media (min-width:900px){
  .site-nav a.is-active::after{ right:0; }
}
