  :root{
    --ink:#17130F;          /* warm espresso-black - page bg */
    --ink-2:#1F1914;        /* raised surface / cards */
    --ink-3:#2A2119;        /* hover / deeper */
    --gold:#C6A868;         /* champagne gold - accent */
    --gold-2:#D8BE86;       /* lighter champagne - hover / emphasis */
    --cream:#F3EDE3;        /* alabaster - primary text */
    --cream-2:#B7AA99;      /* warm taupe - secondary text */
    --muted:#897E6F;        /* dim taupe - muted */
    --wheat:#6E6253;        /* mid stone (rare) */
    --onimg:#F3EDE3;        /* light text over photos */
    --line:rgba(198,168,104,.18);   /* champagne hairline */
    --line-soft:rgba(243,237,227,.08);
    --maxw:1220px;
    --ease:cubic-bezier(.22,.61,.36,1);
    --serif:'Iowan Old Style','Palatino Linotype','URW Palladio L',Palatino,'Book Antiqua',Georgia,serif;
    --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{background:var(--ink);color:var(--cream);font-family:var(--sans);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block}
  section{padding:120px 24px;position:relative}
  .wrap{max-width:var(--maxw);margin:0 auto}
  .eyebrow{font-size:11px;letter-spacing:.42em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:22px}
  h1,h2,h3{font-weight:500;line-height:1.12}
  h2.section-title{font-family:var(--serif);font-size:clamp(2.2rem,5.2vw,3.8rem);font-weight:500;margin-bottom:26px;letter-spacing:.005em}
  .section-title .it{font-style:italic;color:var(--gold-2)}
  .lead{font-size:clamp(1.02rem,1.5vw,1.18rem);color:var(--cream-2);max-width:62ch}
  .divider{width:56px;height:1px;background:var(--gold);margin:0 0 30px}
  .center .divider{margin-left:auto;margin-right:auto}
  .center{text-align:center}

  /* ---------- NAV ---------- */
  header.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:22px 34px;transition:padding .4s var(--ease)}
  header.nav::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:rgba(23,19,15,.86);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);opacity:0;transition:opacity .4s var(--ease)}
  header.nav.scrolled{padding:14px 34px}
  header.nav.scrolled::before{opacity:1}
  .brand{display:flex;align-items:center;gap:12px;font-weight:600;letter-spacing:.34em;font-size:14px;color:var(--cream)}
  .brand svg{width:32px;height:32px;flex:none;color:var(--gold);animation:spin 28s linear infinite}
  nav.links{display:flex;align-items:center;gap:36px}
  nav.links a{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--cream-2);transition:color .25s}
  nav.links a:hover{color:var(--gold)}
  .lang{display:flex;border:1px solid var(--line);border-radius:40px;overflow:hidden;font-size:11px}
  .lang button{background:none;border:none;color:var(--muted);padding:7px 14px;cursor:pointer;font-family:inherit;letter-spacing:.12em;transition:.25s}
  .lang button.active{background:var(--gold);color:#17130F;font-weight:700}
  .menu-orb{display:none}
  .burger{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;z-index:110;padding:4px}
  .burger span{width:24px;height:2px;background:var(--cream);transition:.3s var(--ease);transform-origin:center}
  .burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .burger.open span:nth-child(2){opacity:0}
  .burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  body.menu-open{overflow:hidden}

  /* ---------- HERO ---------- */
  .hero{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:140px 24px 90px;overflow:hidden}
  .hero-bg{position:absolute;inset:0;z-index:-2;background-image:url('../assets/hero.jpg');background-size:cover;background-position:center;transform:scale(1.08);animation:kenburns 22s ease-in-out infinite alternate}
  @keyframes kenburns{to{transform:scale(1.18) translateY(-2%)}}
  .hero-overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(16,12,9,.62) 0%,rgba(16,12,9,.40) 45%,rgba(16,12,9,.74) 80%,var(--ink) 100%)}
  .hero-orb{width:70px;height:70px;margin-bottom:26px;color:var(--gold);animation:spin 40s linear infinite}
  @keyframes spin{to{transform:rotate(360deg)}}
  @keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
  .hero h1{font-family:var(--sans);font-size:clamp(2.6rem,10vw,7rem);font-weight:300;letter-spacing:.22em;text-transform:uppercase;margin-bottom:20px;text-shadow:0 4px 40px rgba(0,0,0,.5)}
  .hero h1.wordmark{line-height:0;margin-bottom:22px}
  .wordmark svg{display:block;margin:0 auto;width:min(86vw,560px);height:auto;color:var(--cream);filter:drop-shadow(0 3px 16px rgba(0,0,0,.55))}
  .vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .hero .tagline{font-family:var(--serif);font-style:italic;font-size:clamp(1.1rem,2.6vw,1.7rem);color:var(--gold-2);letter-spacing:.02em}
  .hero .kicker{margin-top:8px;font-size:clamp(.7rem,1.8vw,.85rem);letter-spacing:.5em;color:var(--cream-2);text-transform:uppercase}
  .hero .cta{margin-top:44px;display:flex;gap:16px;flex-wrap:wrap;justify-content:center}
  .btn{display:inline-flex;align-items:center;gap:10px;padding:15px 34px;border-radius:2px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;transition:.35s var(--ease);cursor:pointer;border:1px solid transparent}
  .btn.primary{background:var(--gold);color:#17130F}
  .btn.primary:hover{background:var(--gold-2);transform:translateY(-2px);box-shadow:0 14px 40px rgba(198,168,104,.30)}
  .btn.ghost{border-color:rgba(247,242,234,.45);color:var(--onimg)}
  .btn.ghost:hover{border-color:var(--onimg);color:var(--onimg);background:rgba(247,242,234,.08)}
  .scroll-hint{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:.34em;color:var(--cream-2);text-transform:uppercase;animation:float 2.6s ease-in-out infinite;display:flex;flex-direction:column;align-items:center;gap:8px}
  .scroll-hint::after{content:'';width:1px;height:34px;background:linear-gradient(var(--gold),transparent)}

  /* ---------- ABOUT / STORY ---------- */
  .about{background:var(--ink)}
  .about-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}
  .about-grid p{margin-bottom:18px;color:var(--cream-2)}
  .story-img{position:relative}
  .story-img img{width:100%;border:1px solid var(--line);filter:grayscale(.15) contrast(1.02)}
  .story-img::after{content:'';position:absolute;inset:14px;border:1px solid var(--gold);opacity:.5;pointer-events:none;transform:translate(18px,18px)}
  .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:64px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .stat{padding:30px 20px;text-align:center;border-right:1px solid var(--line-soft)}
  .stat:last-child{border-right:none}
  .stat .n{font-family:var(--serif);font-size:clamp(2rem,4vw,3rem);font-weight:500;color:var(--gold);line-height:1}
  .stat .l{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:12px}

  /* ---------- SERVICES ---------- */
  .services{background:var(--ink-2)}
  .svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:34px;background:var(--line-soft);border:1px solid var(--line-soft)}
  .svc{background:var(--ink-2);padding:44px 34px;transition:.4s var(--ease);position:relative;overflow:hidden;min-height:280px;display:flex;flex-direction:column;justify-content:flex-end}
  .svc .svc-bg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;filter:grayscale(1) contrast(1.02) brightness(.92);transform:scale(1.02);transition:filter .6s var(--ease),transform .8s var(--ease)}
  .svc .svc-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,12,9,.50) 0%,rgba(16,12,9,.70) 55%,rgba(16,12,9,.93) 100%)}
  .svc:hover .svc-bg{filter:grayscale(0) contrast(1.03) brightness(1);transform:scale(1.08)}
  .svc>*{position:relative;z-index:1}
  .svc .ic{width:34px;height:34px;color:var(--gold);margin-bottom:18px}
  .svc h3{font-family:var(--serif);font-size:1.32rem;font-weight:500;margin-bottom:12px;color:var(--cream)}
  .svc p{font-size:.92rem;color:var(--cream-2);line-height:1.7}
  .svc .num{position:absolute;top:26px;right:30px;font-family:var(--serif);font-style:italic;color:var(--gold-2);opacity:.75;font-size:1.15rem}

  /* ---------- CLIENTS ---------- */
  .clients{background:var(--ink)}
  .client-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:34px;background:var(--line-soft);border:1px solid var(--line-soft)}
  .client{background:var(--ink);padding:32px 18px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:118px;transition:.35s}
  .client:hover{background:var(--ink-2)}
  a.client.link{cursor:pointer}
  .client .cn{font-family:var(--serif);font-weight:500;font-size:1.12rem;color:var(--cream);letter-spacing:.01em}
  .client:hover .cn{color:var(--gold)}
  .client .clogo{max-height:52px;max-width:84%;width:auto;object-fit:contain;opacity:.68;transition:opacity .35s var(--ease),transform .35s var(--ease)}
  .client:hover .clogo{opacity:1;transform:scale(1.04)}
  .client .ct{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:8px}
  .milan{margin-top:34px;text-align:center;padding:26px;border:1px solid var(--line);color:var(--gold-2);letter-spacing:.08em;font-family:var(--serif);font-style:italic;font-size:1.12rem}

  /* ---------- ROSTER ---------- */
  .roster{background:var(--ink-2)}
  .roster-tabs{display:flex;gap:0;flex-wrap:wrap;margin:8px 0 40px;border-bottom:1px solid var(--line-soft)}
  .roster-tabs button{background:none;border:none;border-bottom:2px solid transparent;color:var(--cream-2);font-family:inherit;padding:14px 26px;cursor:pointer;font-size:12px;letter-spacing:.16em;text-transform:uppercase;transition:.3s;margin-bottom:-1px}
  .roster-tabs button.active{color:var(--gold);border-bottom-color:var(--gold)}
  .roster-panel{display:none}
  .roster-panel.active{display:block;animation:fade .6s var(--ease)}
  @keyframes fade{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
  .artist-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-soft);border:1px solid var(--line-soft)}
  .artist{background:var(--ink-2);transition:.35s var(--ease);overflow:hidden}
  .artist:hover{background:var(--ink-3)}
  .artist .ph{position:relative;aspect-ratio:1/1;overflow:hidden;background:var(--ink-3)}
  .artist .ph img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.03) brightness(.96);transition:filter .5s var(--ease),transform .6s var(--ease)}
  .artist:hover .ph img{filter:grayscale(0) contrast(1.02);transform:scale(1.05)}
  .artist .ph::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(12,9,6,.5));pointer-events:none}
  .artist .ph .mono{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:2.4rem;color:var(--gold);letter-spacing:.04em;opacity:.85}
  .artist .body{padding:20px 22px 26px}
  .artist .an{font-family:var(--serif);font-weight:500;font-size:1.18rem;color:var(--cream)}
  .artist .ag{font-size:11px;color:var(--muted);margin-top:8px;letter-spacing:.06em;text-transform:uppercase}
  .artist .ap{margin-top:14px;font-size:.9rem;color:var(--gold);font-weight:600;letter-spacing:.04em}
  .artist.feat{grid-column:span 2;background:var(--ink-3);padding:0;display:flex;overflow:hidden}
  .artist.feat .feat-ph{flex:0 0 42%;max-width:240px;position:relative;overflow:hidden;background:var(--ink-2)}
  .artist.feat .feat-ph img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.03) brightness(.97);transition:filter .5s var(--ease),transform .6s var(--ease)}
  .artist.feat:hover .feat-ph img{filter:grayscale(0) contrast(1.02);transform:scale(1.04)}
  .artist.feat .feat-ph .mono{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:2.4rem;color:var(--gold);opacity:.85}
  .artist.feat .feat-body{padding:32px 34px;display:flex;flex-direction:column;justify-content:center}
  .artist.feat .desc{font-size:.92rem;color:var(--cream-2);margin-top:14px;line-height:1.75}
  .pricing-note{margin-top:30px;font-size:.82rem;color:var(--muted);letter-spacing:.02em;padding:18px 22px;border:1px solid var(--line-soft);border-left:2px solid var(--gold);background:var(--ink)}

  /* ---------- CTA BAND ---------- */
  .cta-band{padding:150px 24px;text-align:center;position:relative;overflow:hidden}
  .cta-band .bg{position:absolute;inset:0;z-index:-2;background-image:url('../assets/cta.jpg');background-size:cover;background-position:center;background-attachment:fixed}
  .cta-band .ov{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,var(--ink) 0%,rgba(16,12,9,.5) 22%,rgba(16,12,9,.5) 78%,var(--ink) 100%)}
  .cta-band h2{font-family:var(--serif);font-size:clamp(1.9rem,5vw,3.4rem);font-weight:500;max-width:20ch;margin:0 auto 30px}
  .cta-band .it{font-style:italic;color:var(--gold-2)}

  /* ---------- CONTACT ---------- */
  .contact{background:var(--ink)}
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
  .contact-info .row{padding:22px 0;border-bottom:1px solid var(--line-soft)}
  .contact-info .k{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
  .contact-info .v{font-size:1.15rem;color:var(--cream)}
  .contact-info .v a:hover{color:var(--gold)}
  .wa-inline{margin-top:28px;display:inline-flex;align-items:center;gap:12px;padding:14px 26px;border:1px solid #25d36688;border-radius:2px;color:#4de08a;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;transition:.3s}
  .wa-inline:hover{background:rgba(37,211,102,.12);border-color:#25d366}
  .wa-inline svg{width:20px;height:20px}
  form .field{margin-bottom:20px}
  form label{display:block;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:9px}
  form input,form select,form textarea{width:100%;background:var(--ink-2);border:1px solid var(--line-soft);color:var(--cream);padding:14px 16px;font-family:inherit;font-size:.95rem;border-radius:2px;transition:.25s}
  form input:focus,form select:focus,form textarea:focus{outline:none;border-color:var(--gold)}
  form textarea{resize:vertical;min-height:120px}
  form .two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  form button{width:100%;margin-top:6px;justify-content:center}
  .form-note{font-size:.78rem;color:var(--muted);margin-top:14px;text-align:center}

  footer{padding:56px 24px 40px;border-top:1px solid var(--line);text-align:center;color:var(--muted);font-size:12px;letter-spacing:.04em;position:relative;overflow:hidden}
  footer > *{position:relative;z-index:1}
  footer .brand{justify-content:center;margin-bottom:16px;color:var(--cream)}
  .brand svg.brand-wm{width:auto;height:15px;color:var(--cream);animation:none;flex:none}
  footer .fmail{color:var(--gold);letter-spacing:.06em}
  .stars{position:absolute;inset:0;z-index:0;pointer-events:none}
  .star{position:absolute;border-radius:50%;background:var(--gold);box-shadow:0 0 6px rgba(198,168,104,.55);animation:twinkle var(--dur,4s) ease-in-out var(--delay,0s) infinite}
  @keyframes twinkle{0%,100%{opacity:.05;transform:scale(.5)}50%{opacity:.5;transform:scale(1)}}
  @media (prefers-reduced-motion:reduce){.star{animation:none;opacity:.2}}

  /* WhatsApp floating */
  .wa-float{position:fixed;right:22px;bottom:22px;z-index:120;width:58px;height:58px;border-radius:50%;background:#25d366;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(37,211,102,.4);transition:.3s var(--ease);animation:pop .5s var(--ease) both;animation-delay:1s}
  .wa-float:hover{transform:scale(1.08) translateY(-2px);box-shadow:0 14px 38px rgba(37,211,102,.55)}
  .wa-float svg{width:30px;height:30px;color:#fff}
  @keyframes pop{from{transform:scale(0)}to{transform:scale(1)}}

  .reveal{opacity:0;transform:translateY(30px);transition:.8s var(--ease)}
  .reveal.in{opacity:1;transform:none}

  /* ===== warm/light theme: keep text light over dark photos ===== */
  .hero .wordmark svg{color:var(--onimg)}
  .hero .scroll-hint{color:rgba(247,242,234,.75)}
  .svc h3{color:var(--onimg)}
  .svc p{color:rgba(247,242,234,.82)}
  .svc .ic{color:#d8be86}
  .cta-band h2{color:var(--onimg)}
  .cta-band .eyebrow{color:var(--gold-2)}
  .artist .ph .mono,.artist.feat .feat-ph .mono{color:var(--cream)}
  /* Nav: light over the hero photo, dark once scrolled onto cream */
  header.nav .brand svg.brand-wm{color:var(--onimg)}
  header.nav nav.links a{color:rgba(247,242,234,.9)}
  header.nav .lang{border-color:rgba(247,242,234,.32)}
  header.nav .lang button{color:rgba(247,242,234,.75)}
  header.nav .burger span{background:var(--onimg)}
  header.nav.scrolled .brand svg.brand-wm{color:var(--cream)}
  header.nav.scrolled nav.links a{color:var(--cream-2)}
  header.nav.scrolled .lang{border-color:var(--line)}
  header.nav.scrolled .lang button{color:var(--muted)}
  header.nav.scrolled .burger span{background:var(--cream)}
  header.nav .burger.open span{background:var(--onimg)}
  footer .brand svg.brand-wm{color:var(--cream)}

  /* ---------- RESPONSIVE ---------- */
  @media(max-width:960px){
    .svc-grid{grid-template-columns:repeat(2,1fr)}
    .client-grid{grid-template-columns:repeat(3,1fr)}
    .artist-grid{grid-template-columns:repeat(2,1fr)}
    .about-grid,.contact-grid{grid-template-columns:1fr;gap:44px}
    .story-img{max-width:520px}
    .stats{grid-template-columns:repeat(2,1fr)}
    .stat:nth-child(2){border-right:none}.stat:nth-child(1),.stat:nth-child(2){border-bottom:1px solid var(--line-soft)}
    .cta-band .bg{background-attachment:scroll}
  }
  @media(max-width:680px){
    section{padding:84px 20px}
    header.nav{padding:16px 20px}
    nav.links{position:fixed;inset:0;width:100vw;max-width:none;height:100vh;height:100dvh;background:rgba(20,16,12,.985);backdrop-filter:blur(8px);z-index:105;flex-direction:column;justify-content:center;gap:30px;transform:translateX(100%);transition:transform .45s var(--ease);border-left:none}
    nav.links.open{transform:none}
    nav.links a{font-size:17px}
    .menu-orb{display:block;width:66px;height:66px;color:var(--gold);margin-bottom:14px;animation:spin 26s linear infinite}
    .burger{display:flex}
    header.nav .brand svg.brand-wm{height:13px}
    .svc-grid,.client-grid{grid-template-columns:1fr 1fr}
    .artist-grid{grid-template-columns:1fr}
    .artist.feat{grid-column:span 1;flex-direction:column}
    .artist.feat .feat-ph{flex:none;max-width:none;width:100%;aspect-ratio:16/10}
    .artist.feat .feat-body{padding:26px 24px}
    form .two{grid-template-columns:1fr}
    .stats{grid-template-columns:repeat(2,1fr)}
  }
