  :root{
    /* CHEVEUX palettes (logo set 2026-08-29, wordmark recentred). Six schemes, one per logo
       variant ground; foret = brand default = the 2026-08-19 live values.
       Switched at runtime via [data-theme] on <html> (site.js applyTheme).
       --ondark: body text on dark grounds (footer/brandband/lightbox/prov).
       --gold-deep: accent that stays readable on dark grounds.
       --band: brandband ground. --hero1..3: hero-frame gradient ramp. */
    --ivory:#F3F4EC; --cream:#E7E8D8; --espresso:#2F4524; --espresso-soft:#3E5730;
    --gold:#C9A457; --gold-ink:#8F6F33; --champ:#E8D9A8; --muted:#7A7D6B; --line:#D7D8C8; --card:#F9F9F2;
    --ondark:#D9D7C3; --gold-deep:#C9A457; --band:#2E4323;
    --hero1:#EFE3CC; --hero2:#E3CFA9; --hero3:#CBB084;
    --strand-a:#C9A457; --strand-b:#A98844; --strand-c:#8F6F33; --strand-pale:#E8D9A8;
    --brandground:#2F4524; --brandink:#FBE3BB;
  }
  /* lavande: lavender ground #E5E6FA, violet letters #603FEE (variant 1, light) */
  :root[data-theme="lavande"]{
    --ivory:#F0EFFB; --cream:#E5E4F8; --espresso:#33269A; --espresso-soft:#4A3DB3;
    --gold:#603FEE; --gold-ink:#4A33B5; --champ:#D9D2FA; --muted:#6E6C8A; --line:#D6D5EB; --card:#F6F5FD;
    --ondark:#DDD7F6; --gold-deep:#D9D2FA; --band:#E5E6FA;
    --hero1:#E4E1F9; --hero2:#C9BEF0; --hero3:#A99BDD;
    --strand-a:#603FEE; --strand-b:#4A33B5; --strand-c:#7C62F0; --strand-pale:#D9D2FA;
    --brandground:#E5E6FA; --brandink:#603FEE;
  }
  /* violette: vivid violet ground #603FEE, white letters (variant 2) */
  :root[data-theme="violette"]{
    --ivory:#F4F3FE; --cream:#EAE8FC; --espresso:#2A1D6E; --espresso-soft:#3E2F8A;
    --gold:#603FEE; --gold-ink:#43309E; --champ:#D6CFFA; --muted:#6C6A8C; --line:#D9D8EE; --card:#F8F8FF;
    --ondark:#DAD5F6; --gold-deep:#D6CFFA; --band:#603FEE;
    --hero1:#E7E2F9; --hero2:#C6B9F1; --hero3:#9F8AE3;
    --strand-a:#FFFFFF; --strand-b:#D6CFFA; --strand-c:#B9AAF5; --strand-pale:#FFFFFF;
    --brandground:#603FEE; --brandink:#FFFFFF;
  }
  /* grenat: oxblood ground #711721, honey letters #EFC584 (variant 5) */
  :root[data-theme="grenat"]{
    --ivory:#F6F1EB; --cream:#EDE5DA; --espresso:#711721; --espresso-soft:#8A2933;
    --gold:#D9A868; --gold-ink:#8A5A28; --champ:#EFC584; --muted:#857263; --line:#E0D5C8; --card:#FAF6F0;
    --ondark:#E7D4C4; --gold-deep:#D9A868; --band:#711721;
    --hero1:#F3E3CE; --hero2:#E3C6A0; --hero3:#C89D72;
    --strand-a:#D9A868; --strand-b:#B0854A; --strand-c:#8A5A28; --strand-pale:#EFC584;
    --brandground:#711721; --brandink:#EFC584;
  }
  /* aubergine: deep plum ground #301935, honey letters #EFC584 (variant 6) */
  :root[data-theme="aubergine"]{
    --ivory:#F4F1F4; --cream:#EAE4EB; --espresso:#301935; --espresso-soft:#452A4C;
    --gold:#C2925A; --gold-ink:#7E5C2B; --champ:#EFC584; --muted:#7C7180; --line:#DCD4DC; --card:#F9F6F9;
    --ondark:#E3D5DE; --gold-deep:#C2925A; --band:#301935;
    --hero1:#EDE2EC; --hero2:#D2BBD3; --hero3:#AE92B0;
    --strand-a:#C2925A; --strand-b:#9C7443; --strand-c:#7E5C2B; --strand-pale:#EFC584;
    --brandground:#301935; --brandink:#EFC584;
  }
  /* bordeaux: wine ground #66043E, honey letters #EFC584 (variant 7) */
  :root[data-theme="bordeaux"]{
    --ivory:#F6F0F3; --cream:#EDE2E8; --espresso:#66043E; --espresso-soft:#7E1C53;
    --gold:#D9A868; --gold-ink:#8A5228; --champ:#EFC584; --muted:#83707A; --line:#E0D2D9; --card:#FAF5F7;
    --ondark:#E7D2DC; --gold-deep:#D9A868; --band:#66043E;
    --hero1:#F5E2E6; --hero2:#E0BCC7; --hero3:#C295A6;
    --strand-a:#D9A868; --strand-b:#A87A44; --strand-c:#8A5228; --strand-pale:#EFC584;
    --brandground:#66043E; --brandink:#EFC584;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    font-family:'Jost',sans-serif;font-weight:300;color:var(--espresso);
    background:var(--ivory);line-height:1.6;-webkit-font-smoothing:antialiased;
    transition:background-color .45s ease,color .45s ease;
  }
  h1,h2,h3,.serif{font-family:'Cormorant',serif;font-weight:500;line-height:1.08}
  .caps{font-size:11px;letter-spacing:.28em;text-transform:uppercase;font-weight:400}
  a{color:inherit;text-decoration:none}
  a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:1px solid var(--gold);outline-offset:3px}
  h1,h2,h3{text-wrap:balance}
  [id]{scroll-margin-top:96px}
  .wrap{max-width:1320px;margin:0 auto;padding:0 48px}

  /* shared strand texture for image placeholders (same art direction as hero) */
  .coll .fill::after,.prod .ph::before{
    content:'';position:absolute;inset:0;pointer-events:none;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 500' preserveAspectRatio='none'%3E%3Cg fill='none' stroke='%23C9A457' stroke-opacity='.20'%3E%3Cpath d='M40,-20 C120,120 20,260 90,520' stroke-width='1.4'/%3E%3Cpath d='M90,-20 C170,140 70,280 140,520' stroke-width='1.1'/%3E%3Cpath d='M150,-20 C230,110 130,300 200,520' stroke-width='1.6'/%3E%3Cpath d='M210,-20 C290,150 190,270 260,520' stroke-width='1.2'/%3E%3Cpath d='M270,-20 C350,130 250,290 320,520' stroke-width='1.5'/%3E%3Cpath d='M330,-20 C410,160 310,280 380,520' stroke-width='1.1'/%3E%3Cpath d='M10,-20 C90,150 -10,290 60,520' stroke-width='1'/%3E%3Cpath d='M300,-20 C380,140 280,300 350,520' stroke-width='1.8'/%3E%3C/g%3E%3C/svg%3E") center/100% 100% no-repeat;
    filter:grayscale(1) opacity(.9);
    mix-blend-mode:multiply;
  }


  /* photo fills: inline style photo replaces gradient + strand texture */
  .coll .fill[style],.prod .ph[style]{background-size:cover;background-position:center}
  .coll .fill[style]::after,.prod .ph[style]::before{display:none}
  .hero-frame .inner[style]{background-size:cover;background-position:center}
  .hero-frame .inner[style] svg{display:none}

  /* scroll reveal */
  .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
  .reveal.in{opacity:1;transform:none}

  /* announcement */
  .announce{background:var(--espresso);color:var(--ivory);text-align:center;padding:9px 16px}
  .announce .caps{letter-spacing:.34em}
  .announce em{color:var(--champ);font-style:normal}

  /* header */
  header{position:sticky;top:0;z-index:50;background:color-mix(in srgb, var(--ivory) 92%, transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
  .nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:20px clamp(20px,3.4vw,48px);max-width:1320px;margin:0 auto}
  .nav ul{list-style:none;display:flex;gap:clamp(16px,2.4vw,34px);min-width:0;align-items:center}
  .nav ul li{flex:0 0 auto;display:flex;align-items:center}
  .nav a.caps,.nav a.signin-link{white-space:nowrap}
  .nav ul.right{justify-content:flex-end}
  .nav a.caps{position:relative;padding:3px 0;line-height:1.45}
  .nav a.caps:hover{color:var(--gold-ink)}
  .nav a.caps::after{content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold);transition:width .35s}
  .nav a.caps:hover::after{width:100%}
  .wordmark{display:flex;align-items:center;justify-content:center;padding:0}
  .wordmark img{display:block;height:26px;width:auto}
  .wordmark span{color:var(--gold)}

  /* colour scheme switcher: vibe bar below the primary nav */
  .vibebar{display:flex;align-items:center;justify-content:center;gap:18px;padding:9px 48px;border-top:1px solid var(--line)}
  .vibe-label{font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--muted);font-weight:400}
  .vibes{display:flex;gap:10px}
  .sw-opt{width:26px;height:26px;border-radius:50%;border:1px solid var(--line);background:var(--oground);
    color:var(--oink);font-family:'Cormorant',serif;font-style:italic;font-weight:600;font-size:14px;
    line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;
    transition:transform .2s ease,box-shadow .2s ease}
  .sw-opt:hover{transform:scale(1.15)}
  .sw-opt:focus-visible{outline:1px solid var(--gold);outline-offset:3px}
  .sw-opt.on{box-shadow:0 0 0 2px var(--ivory),0 0 0 3px var(--espresso)}
  @media(max-width:768px){
    .vibebar{padding:8px 20px;gap:12px}
    .vibe-label{font-size:9px;letter-spacing:.2em}
    .vibes{gap:9px}
    .sw-opt{width:24px;height:24px;font-size:13px}
  }

  /* mobile menu */
  .burger{display:none;background:none;border:none;cursor:pointer;width:44px;height:44px;padding:8px;z-index:60}
  .burger span{display:block;width:22px;height:1px;background:var(--espresso);margin:5px auto;transition:transform .3s,opacity .3s}
  .burger.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .burger.open span:nth-child(2){opacity:0}
  .burger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  .mobile-menu{display:none;position:fixed;inset:0;background:var(--ivory);z-index:40;padding:180px 32px 40px;flex-direction:column;align-items:center;gap:28px;text-align:center}
  .mobile-menu.open{display:flex}
  .mobile-menu a{font-family:'Cormorant',serif;font-size:30px;font-weight:500}
  .mobile-menu a.caps{font-family:'Jost',sans-serif;font-size:12px;margin-top:14px;color:var(--muted)}

  /* hero */
  .hero{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:center;padding:110px 0 90px}
  .eyebrow{color:var(--gold-ink);margin-bottom:34px;display:flex;align-items:center;gap:16px}
  .eyebrow::before{content:'';width:46px;height:1px;background:var(--gold)}
  .hero h1{font-size:clamp(42px,6.4vw,96px);letter-spacing:-.01em}
  .hero h1 em{font-style:italic;font-weight:500;color:var(--gold-ink)}
  .hero p.lede{max-width:480px;margin:34px 0 44px;font-size:17px;color:var(--espresso-soft)}
  .btn{display:inline-block;padding:16px 40px;font-size:11px;letter-spacing:.28em;text-transform:uppercase;border:1px solid var(--espresso);transition:all .35s;cursor:pointer;background:transparent;font-family:'Jost',sans-serif}
  .btn.solid{background:var(--espresso);color:var(--ivory)}
  .btn.solid:hover{background:var(--gold);border-color:var(--gold)}
  .btn.ghost{margin-left:18px;border-color:transparent;border-bottom-color:var(--gold);padding:16px 6px}
  .btn.ghost:hover{color:var(--gold-ink)}
  .signin-link{
    display:inline-flex;align-items:center;margin-left:6px;
    padding:9px 18px;border:1px solid var(--gold);color:var(--gold-ink);
    font-size:10px;letter-spacing:.24em;text-transform:uppercase;
    font-family:'Jost',sans-serif;transition:all .35s;white-space:nowrap;
  }
  .signin-link:hover{background:var(--gold);color:var(--espresso)}
  .mobile-menu .signin-link{display:block;margin:14px 0 0;text-align:center}
  .hero-art{position:relative}
  .hero-frame{border:1px solid var(--line);padding:22px;background:var(--card)}
  .hero-frame .inner{background:linear-gradient(155deg,var(--hero1) 0%,var(--hero2) 45%,var(--hero3) 100%);aspect-ratio:4/5;position:relative;overflow:hidden}
  .hero-frame .inner svg{position:absolute;inset:0;width:100%;height:100%}
  .hero-caption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 18px;padding-top:16px;color:var(--muted)}

  /* brand reveal band */
  /* band bg = #2E4323, the reveal video's own baked-in green (#2F4524 --espresso
     is one RGB step off and shows as a seam around the video rectangle) */
  .brandband{background:var(--band);padding:46px 22px;text-align:center}
  .brandband video{width:min(760px,100%);height:auto;display:block;margin:0 auto}

  /* marquee */
  .marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;padding:15px 0;background:var(--cream)}
  .marquee-track{display:flex;gap:60px;white-space:nowrap;animation:scroll 30s linear infinite;width:max-content}
  .marquee-track span{color:var(--espresso-soft)}
  .marquee-track i{color:var(--gold);font-style:normal}
  @keyframes scroll{to{transform:translateX(-50%)}}

  /* sections */
  section{padding:110px 0}
  .sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:64px}
  @media(max-width:760px){
    .sec-head{flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:44px}
    .sec-head .num{order:-1}
  }
  .sec-head h2{font-size:clamp(38px,3.6vw,54px)}
  .sec-head h2 em{font-style:italic;color:var(--gold-ink)}
  .sec-head .num{color:var(--muted)}

  /* collections */
  .collections{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
  .coll{position:relative;cursor:pointer}
  .coll .img{aspect-ratio:3/4;position:relative;overflow:hidden;border:1px solid var(--line)}
  .coll .img .fill{position:absolute;inset:0;transition:transform .8s cubic-bezier(.2,.6,.2,1)}
  .coll:hover .fill{transform:scale(1.05)}
  .coll .c1{background:linear-gradient(160deg,#E3E2EA,#B7B5CE 60%,var(--champ))}
  .coll .c2{background:linear-gradient(160deg,#EBD8C8,#C69A76 55%,#8F6647)}
  .coll .c3{background:linear-gradient(160deg,#D9C4A6,#8F6B4A 55%,#4A3524)}
  .coll .idx{position:absolute;top:20px;left:22px;color:#fff;text-shadow:0 1px 4px color-mix(in srgb, var(--espresso) 70%, transparent),0 2px 14px color-mix(in srgb, var(--espresso) 50%, transparent);font-family:'Cormorant',serif;font-size:24px;font-weight:500;font-style:italic}
  .coll .idx.dark{color:var(--espresso);text-shadow:0 1px 8px rgba(255,255,255,.45)}
  .coll .meta{display:flex;justify-content:space-between;align-items:baseline;padding:20px 4px 0}
  .coll h3{font-size:30px}
  .coll .curl{color:var(--muted)}
  .coll .sub{color:var(--muted);padding:4px 4px 0;font-size:14px}
  .coll .discover{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb, var(--espresso) 0%, transparent);transition:background .4s}
  .coll .discover span{opacity:0;transform:translateY(8px);transition:all .4s;color:var(--ivory);border:1px solid var(--ivory);padding:12px 30px}
  .coll:hover .discover{background:color-mix(in srgb, var(--espresso) 35%, transparent)}
  .coll:hover .discover span{opacity:1;transform:translateY(0)}

  /* shop */
  .shop{background:var(--cream);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .chips{display:flex;gap:14px;flex-wrap:wrap}
  .chip{padding:10px 24px;border:1px solid var(--line);background:transparent;cursor:pointer;font-family:'Jost',sans-serif;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);transition:all .3s}
  .chip:hover{border-color:var(--gold);color:var(--gold-ink)}
  .chip.active{background:var(--espresso);border-color:var(--espresso);color:var(--ivory)}
  .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:56px}
  .prod{background:var(--card);border:1px solid var(--line);transition:box-shadow .4s,transform .4s;position:relative}
  .prod:hover{box-shadow:0 24px 60px -24px color-mix(in srgb, var(--espresso) 28%, transparent);transform:translateY(-4px)}
  .prod .ph{aspect-ratio:1/1;position:relative;overflow:hidden}
  .prod .ph .lot{position:absolute;top:16px;left:16px;background:color-mix(in srgb, var(--card) 90%, transparent);padding:6px 14px;color:var(--espresso)}
  .prod .body{padding:26px 26px 28px}
  .prod h3{font-size:26px;margin-bottom:6px}
  .prod .spec{color:var(--muted);font-size:14px;margin-bottom:16px}
  .prod .row{display:flex;justify-content:space-between;align-items:center}
  .prod .price{font-family:'Cormorant',serif;font-size:24px}
  .prod .price small{font-family:'Jost',sans-serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
  .add{border:1px solid var(--espresso);background:transparent;padding:10px 20px;font-size:10px;letter-spacing:.24em;text-transform:uppercase;cursor:pointer;font-family:'Jost',sans-serif;transition:all .3s}
  .add:hover{background:var(--espresso);color:var(--ivory)}
  .p1{background:linear-gradient(140deg,#EFDFC3,#D3B786 55%,#B08D57)}
  .p2{background:linear-gradient(140deg,#D9BE97,#8F6B4A 60%,#5C4229)}
  .p3{background:linear-gradient(140deg,#EAD7BE,#B98F63 60%,#7A573A)}
  .p4{background:linear-gradient(140deg,#F2E6D2,#DCC7A3 55%,#C0A276)}
  .p5{background:linear-gradient(140deg,#E3CDA9,#B39064 60%,#84643F)}
  .p6{background:linear-gradient(140deg,#DCC4A0,#96714B 62%,#4E3823)}
  .p7{background:linear-gradient(140deg,#EBDAC2,#C29B6E 58%,#8A6540)}

  /* product photo zoom on hover (mirrors the collection cards) */
  .prod .ph[style]::after{content:'';position:absolute;inset:0;background:inherit;background-size:cover;background-position:center;transition:transform .8s cubic-bezier(.2,.6,.2,1)}
  .prod:hover .ph[style]::after{transform:scale(1.06)}
  .prod .ph .lot{z-index:1}

  /* la matière band */
  .matiere{position:relative;padding:0;min-height:460px;display:flex;align-items:center;border-bottom:1px solid var(--line);overflow:hidden}
  .matiere .bg{position:absolute;inset:0;background:url('cheveu/band-burmese-2.jpg') center 45%/cover no-repeat}
  .matiere::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in srgb, var(--ivory) 4%, transparent) 42%,color-mix(in srgb, var(--ivory) 88%, transparent) 74%)}
  .matiere .wrap{position:relative;z-index:1;width:100%}
  .matiere .m-inner{margin-left:auto;max-width:430px;text-align:right;padding:96px 0}
  .matiere h2{font-size:clamp(36px,3.6vw,52px);margin:18px 0 20px}
  .matiere h2 em{font-style:italic;color:var(--gold-ink)}
  .matiere p{color:var(--espresso-soft);margin-bottom:26px}
  @media(max-width:1000px){
    .matiere{display:block;min-height:0}
    .matiere .bg{position:relative;inset:auto;height:320px;background-position:center 22%}
    .matiere::after{display:none}
    .matiere .m-inner{margin:0;max-width:none;text-align:left;padding:52px 0 70px}
  }

  /* provenance */
  .prov{background:var(--espresso);color:var(--ivory)}
  .prov .inner{display:grid;grid-template-columns:1.2fr .8fr;gap:90px;align-items:center}
  .prov h2{font-size:clamp(40px,4vw,58px);font-style:italic;font-weight:300;margin-bottom:30px}
  .prov p{color:var(--ondark);max-width:520px}
  .prov .stats{display:grid;gap:0;border-left:1px solid color-mix(in srgb, var(--gold) 35%, transparent);padding-left:56px}
  .prov .stat{padding:26px 0;border-bottom:1px solid color-mix(in srgb, var(--gold) 25%, transparent)}
  .prov .stat:last-child{border-bottom:none}
  .prov .stat b{font-family:'Cormorant',serif;font-size:44px;font-weight:400;color:var(--champ);display:block}
  .prov .stat span{color:var(--ondark);font-size:14px;letter-spacing:.12em;text-transform:uppercase}
  .prov .pack{aspect-ratio:4/3;background-size:cover;background-position:center;border:1px solid color-mix(in srgb, var(--gold) 35%, transparent);cursor:zoom-in}

  /* sur mesure band */
  .mesure{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .mesure .inner{display:grid;grid-template-columns:1.15fr .85fr;gap:90px;align-items:center}
  .mesure h2{font-size:clamp(38px,3.8vw,54px);margin:16px 0 22px}
  .mesure h2 em{font-style:italic;color:var(--gold-ink)}
  .mesure p{color:var(--espresso-soft);max-width:540px;margin-bottom:32px}
  .mesure .dims{border-left:1px solid var(--champ);padding-left:44px}
  .mesure .dim{padding:13px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:baseline;gap:18px}
  .mesure .dim:last-child{border-bottom:none}
  .mesure .dim b{font-family:'Cormorant',serif;font-size:21px;font-weight:400}
  .mesure .dim span{color:var(--muted);font-size:13px;text-align:right}
  @media(max-width:1000px){.mesure .inner{grid-template-columns:1fr;gap:44px}.mesure .dims{padding-left:28px}}

  /* configurator (v2) */
  .config{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;margin-top:56px;align-items:start}
  .cfg-img{aspect-ratio:1/1;position:relative;overflow:hidden;border:1px solid var(--line);background-size:cover;background-position:center;cursor:zoom-in;transition:background-image .3s}
  .cfg-img .lot{position:absolute;top:16px;left:16px;background:color-mix(in srgb, var(--card) 90%, transparent);padding:6px 14px;color:var(--espresso);z-index:3}
  .cfg-img .hv{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none}
  .cfg-img.hv-on #hvA{display:block}
  .cfg-img.hv-on #hvVid.live{display:block}
  .hv-toggle{position:absolute;bottom:12px;right:12px;display:none;z-index:3;
    border:1px solid var(--line);background:color-mix(in srgb, var(--card) 92%, transparent)}
  .hv-toggle button{border:none;background:none;padding:7px 12px;font-size:10px;
    letter-spacing:.14em;text-transform:uppercase;color:var(--muted);cursor:pointer}
  .hv-toggle button.on{color:var(--espresso);background:#fff}
  .cfg-img.hv-avail .hv-toggle{display:flex}
  .cfg-step{color:var(--gold-ink);margin:38px 0 16px}
  .cfg-step:first-child{margin-top:0}
  .cfg-group{display:flex;align-items:baseline;gap:18px;margin-bottom:12px;flex-wrap:wrap}
  .cfg-glabel{color:var(--muted);min-width:110px}
  .chip.shade{display:inline-flex;align-items:center;gap:9px;padding:7px 18px 7px 9px}
  .chip.shade img{width:26px;height:26px;border-radius:50%;object-fit:cover;display:block}
  .ctag{margin-left:8px;font-size:9px;letter-spacing:.18em;color:var(--gold-ink)}
  .chip.active .ctag{color:inherit}
  .shadenote{color:var(--muted);font-size:14px;margin:2px 0 0}
  .lrow{display:grid;grid-template-columns:64px 1fr auto;gap:18px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
  .lrow b{font-family:'Cormorant',serif;font-size:22px;font-weight:400}
  .lrow .lprice{color:var(--muted);font-size:14px}
  .grams{display:flex;justify-content:space-between;align-items:baseline;padding:14px 0 0;color:var(--espresso-soft)}
  .grams b{font-family:'Cormorant',serif;font-size:24px;font-weight:400}
  .colcards{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .colcard{display:grid;grid-template-columns:64px 1fr;gap:12px;border:1px solid var(--line);background:var(--card);padding:10px;align-items:center}
  .colcard img{width:64px;height:80px;object-fit:cover;cursor:zoom-in}
  .colcard h5{font-family:'Cormorant',serif;font-size:17px;font-weight:400;line-height:1.15}
  .colcard .cmeta{color:var(--muted);font-size:11px;margin:2px 0 6px}
  .colcard .crow{display:flex;justify-content:space-between;align-items:center;gap:8px}
  .colcard .cprice{font-family:'Cormorant',serif;font-size:16px}
  @media(max-width:640px){.colcards{grid-template-columns:1fr}}
  .order{margin-top:34px;background:var(--card);border:1px solid var(--champ);padding:26px 28px}
  .order .caps{color:var(--gold-ink)}
  .ord-lines{padding:14px 0 4px;color:var(--espresso-soft);font-size:14px}
  .ord-lines div{display:flex;justify-content:space-between;padding:3px 0}
  .ord-row{display:flex;justify-content:space-between;align-items:baseline;padding:6px 0;border-top:1px solid var(--line)}
  .ord-row .amt{font-family:'Cormorant',serif;font-size:20px}
  .ord-row.save .amt,.ord-row.save span{color:var(--gold-ink)}
  .ord-row.final .amt{font-size:28px}
  .order .btn.solid{width:100%;text-align:center;margin-top:18px}
  .order .btn.solid[disabled]{opacity:.4;cursor:not-allowed}
  .cfg-empty{color:var(--muted);font-size:14px;padding:10px 0 2px}
  .field textarea{width:100%;padding:13px 14px;border:1px solid var(--line);background:var(--card);font-family:'Jost',sans-serif;font-size:15px;outline:none;color:var(--espresso);resize:vertical;min-height:88px}
  .field textarea:focus{border-color:var(--gold)}
  @media(max-width:1000px){.config{grid-template-columns:1fr;gap:40px}}

  /* consultation band */
  .consult{text-align:center;background:linear-gradient(180deg,var(--ivory),var(--cream))}
  .consult h2{font-size:clamp(40px,4.4vw,62px);margin-bottom:22px}
  .consult h2 em{font-style:italic;color:var(--gold-ink)}
  .consult p{color:var(--muted);max-width:520px;margin:0 auto 40px}

  /* quotes */
  .quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
  .quote{border-top:1px solid var(--line);padding-top:26px}
  .quote::before{content:'\201C';font-family:'Cormorant',serif;font-size:64px;line-height:.65;color:var(--champ);display:block;margin-bottom:16px}
  .quote p{font-family:'Cormorant',serif;font-size:23px;font-style:italic;font-weight:500;line-height:1.35;margin-bottom:20px}
  .quote .who{color:var(--gold-ink)}

  /* v3 collection cards */
  .collcards3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:0 0 46px}
  .ccard3{text-align:left;border:1px solid var(--line);background:var(--card);padding:24px 26px;cursor:pointer;font:inherit;color:inherit;transition:border-color .25s ease,transform .25s ease}
  .ccard3:hover{transform:translateY(-2px)}
  .ccard3.active{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset}
  .ccard3.soon{opacity:.6;cursor:default}
  .ccard3.soon:hover{transform:none}
  .ccard3 h3{font-size:24px;margin:4px 0 6px}
  .ccard3 .clens{color:var(--muted);font-size:13px;letter-spacing:.06em}
  .ccard3 .cfrom{margin-top:10px;font-size:14px}
  .ccard3 .cfrom b{font-family:'Cormorant',serif;font-size:20px;font-weight:400}
  .sec-head.sub{margin:8px 0 40px}
  .sec-head.sub h2{font-size:clamp(30px,2.6vw,40px)}
  .ccard3 .clife{margin-top:8px;color:var(--gold-ink);font-size:13px;letter-spacing:.04em}
  .wsec{display:none}
  .wsec.on{display:block}
  .addnote{color:var(--muted);font-size:13px;margin:6px 0 0}
  .qtyrow3{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid var(--line)}
  .qtyrow3 .uprice{font-family:'Cormorant',serif;font-size:24px}
  .qtyrow3 .udesc{color:var(--muted);font-size:13px;letter-spacing:.05em}
  @media (max-width:900px){.collcards3{grid-template-columns:1fr}}


  /* custom wigs */
  .wig-timeline{display:flex;gap:34px;align-items:baseline;flex-wrap:wrap;border:1px solid var(--champ);background:var(--card);padding:22px 28px;margin-bottom:46px}
  .wig-timeline b{font-family:'Cormorant',serif;font-size:24px;font-weight:500}
  .wig-timeline .tl-note{color:var(--muted);font-size:14px;flex:1;min-width:260px}
  .wigstart{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0 0 26px}
  .wstart{border:1px solid var(--line);background:var(--card);padding:26px 28px}
  .wstart .caps{color:var(--gold-ink)}
  .wstart h3{font-size:26px;margin:6px 0 10px}
  .wstart .amt{font-family:'Cormorant',serif;font-size:38px;font-weight:500}
  .wstart .basis{color:var(--muted);font-size:13px;margin-top:8px;line-height:1.5}
  .wig-badges{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 60px}
  .wig-badges span{border:1px solid var(--line);padding:8px 18px;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--espresso-soft);background:var(--ivory)}
  .atelier{margin:0 0 70px}
  .at-head{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 18px;margin-bottom:14px}
  .at-head .at-note{color:var(--muted)}
  .at-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
  .at{aspect-ratio:1/1;border:1px solid var(--line);background-size:cover;background-position:center;cursor:zoom-in;padding:0;font:inherit;transition:transform .25s ease}
  .at:hover{transform:translateY(-2px)}
  @media (max-width:640px){.at-grid{grid-template-columns:repeat(2,1fr)}}
  .lacegrp{margin:14px 0}
  .lacegrp .lg-title{color:var(--muted);font-size:12px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:10px}
  .lacegrp .lg-note{color:var(--muted);font-size:13px;margin-top:8px;max-width:520px}
  .chip .ctag.rec{color:var(--gold-ink)}
  .wig-msg{color:var(--espresso-soft);font-size:14px;margin:8px 0 0}
  .wig-msg.warn{color:#8a6a2d}
  .wig-faq{margin-top:64px}
  .wig-faq .qa{border-top:1px solid var(--line);padding:22px 0}
  .wig-faq .qa h3{font-size:21px;margin-bottom:8px}
  .wig-faq .qa p{color:var(--espresso-soft);max-width:640px}
  .wig-brand{margin-top:70px;border:1px solid var(--champ);padding:44px 40px;text-align:center;background:var(--ivory)}
  .wig-brand h3{font-size:clamp(30px,3vw,42px);letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px}
  .wig-brand p{color:var(--espresso-soft);max-width:520px;margin:0 auto 6px}
  @media(max-width:640px){.wigstart{grid-template-columns:1fr}.wig-timeline{gap:12px}}

  /* footer */
  footer{background:var(--espresso);color:var(--ondark);padding:80px 0 0}
  .foot{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:48px;padding-bottom:64px}
  .foot .wm{margin-bottom:18px}
  .foot .wm img{display:block;width:230px;height:auto}
  .foot h4{color:var(--champ);font-size:11px;letter-spacing:.28em;text-transform:uppercase;font-weight:400;margin-bottom:20px}
  .foot ul{list-style:none;display:grid;gap:12px;font-size:14px}
  .foot a:hover{color:var(--champ)}
  .news{display:flex;border-bottom:1px solid color-mix(in srgb, var(--gold) 40%, transparent);padding-bottom:8px}
  .news input{flex:1;background:transparent;border:none;outline:none;color:var(--ivory);font-family:'Jost',sans-serif;font-size:14px}
  .news input::placeholder{color:var(--muted)}
  .news button{background:transparent;border:none;color:var(--champ);cursor:pointer;font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-family:'Jost',sans-serif}
  .legal{border-top:1px solid color-mix(in srgb, var(--gold) 20%, transparent);padding:26px 0;display:flex;justify-content:space-between;font-size:12px;color:var(--ondark)}

  /* modal */
  .modal-bg{position:fixed;inset:0;background:color-mix(in srgb, var(--espresso) 55%, transparent);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;z-index:100;padding:24px}
  .modal-bg.open{display:flex}
  .modal{background:var(--ivory);max-width:520px;width:100%;padding:56px;position:relative;border:1px solid var(--champ)}
  .modal h3{font-size:36px;margin-bottom:8px}
  .modal .sub{color:var(--muted);margin-bottom:32px;font-size:14px}
  .modal .x{position:absolute;top:20px;right:24px;background:none;border:none;font-size:22px;cursor:pointer;color:var(--muted)}
  .field{margin-bottom:22px}
  .field label{display:block;font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
  .field input,.field select{width:100%;padding:13px 14px;border:1px solid var(--line);background:var(--card);font-family:'Jost',sans-serif;font-size:15px;outline:none;color:var(--espresso)}
  .field input:focus,.field select:focus{border-color:var(--gold)}
  .modal .btn.solid{width:100%;text-align:center}
  .done{display:none;text-align:center;padding:30px 0}
  .done .serif{font-size:34px;font-style:italic;margin-bottom:14px}
  .done p{color:var(--muted)}

  /* cart drawer */
  .drawer-bg{position:fixed;inset:0;background:color-mix(in srgb, var(--espresso) 45%, transparent);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity .35s;z-index:130}
  .drawer-bg.open{opacity:1;pointer-events:auto}
  .drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,100vw);background:var(--ivory);z-index:140;transform:translateX(100%);transition:transform .45s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column;border-left:1px solid var(--champ)}
  .drawer.open{transform:none}
  .drawer-head{display:flex;justify-content:space-between;align-items:center;padding:20px 28px;border-bottom:1px solid var(--line)}
  .drawer-head h3{font-size:26px}
  .drawer-head h3 span{font-family:'Jost',sans-serif;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-left:10px}
  .drawer-head .x{background:none;border:none;font-size:22px;cursor:pointer;color:var(--muted);width:44px;height:44px}
  .drawer-items{flex:1;overflow-y:auto;padding:6px 28px}
  .citem{display:grid;grid-template-columns:72px 1fr auto;gap:16px;padding:20px 0;border-bottom:1px solid var(--line)}
  .citem img{width:72px;height:72px;object-fit:cover;border:1px solid var(--line)}
  .citem h4{font-family:'Cormorant',serif;font-size:19px;font-weight:400}
  .citem .cspec{color:var(--muted);font-size:12px;margin:2px 0 10px}
  .citem .cctrl{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
  .qty{display:flex;align-items:center;border:1px solid var(--line)}
  .qty button{background:none;border:none;width:32px;height:32px;cursor:pointer;font-size:14px;color:var(--espresso)}
  .qty span{min-width:22px;text-align:center;font-size:13px}
  .lensel{border:1px solid var(--line);background:var(--card);font-family:'Jost',sans-serif;font-size:11px;letter-spacing:.08em;padding:7px 8px;color:var(--espresso)}
  .citem .cend{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between}
  .citem .cprice{font-family:'Cormorant',serif;font-size:19px}
  .citem .rm{background:none;border:none;color:var(--muted);cursor:pointer;font-size:16px;padding:4px 8px}
  .citem .rm:hover{color:var(--gold-ink)}
  .drawer-empty{text-align:center;padding:70px 20px;color:var(--muted)}
  .drawer-empty .serif{font-size:26px;font-style:italic;margin-bottom:14px;color:var(--espresso)}
  .drawer-foot{border-top:1px solid var(--line);padding:22px 28px 26px;background:var(--card)}
  .subrow{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
  .subrow .amt{font-family:'Cormorant',serif;font-size:26px}
  .subrow .amt.sm{font-size:19px}
  .subrow.disc .caps,.subrow.disc .amt{color:var(--gold-ink)}
  .bundlenote{color:var(--muted);font-size:14px;margin-top:26px}
  .bundlenote b{color:var(--espresso-soft);font-weight:400}
  .shipnote{color:var(--muted);font-size:12px;margin-bottom:16px}
  .drawer-foot .btn.solid{width:100%;text-align:center}
  .paynote{text-align:center;color:var(--muted);font-size:10px;letter-spacing:.14em;text-transform:uppercase;margin-top:12px}
  .demo-note{margin-top:12px;padding:12px 14px;border:1px solid var(--champ);color:var(--espresso-soft);font-size:13px;background:var(--cream);display:none}
  .demo-note.show{display:block}

  /* page view (hash-routed overlay pages) */
  .page-view{position:fixed;inset:0;background:var(--ivory);z-index:95;overflow-y:auto;opacity:0;pointer-events:none;transition:opacity .3s}
  .page-view.open{opacity:1;pointer-events:auto}
  body.page-open{overflow:hidden}
  .pv-head{position:sticky;top:0;z-index:5;background:color-mix(in srgb, var(--ivory) 94%, transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:16px 48px}
  .pv-head .wm{display:flex;align-items:center}
  .pv-head .wm img{display:block;height:20px;width:auto}
  .pv-head .wm span{color:var(--gold)}
  .pv-head .x{background:none;border:none;font-size:22px;cursor:pointer;color:var(--muted);width:44px;height:44px}
  .pv-content{max-width:860px;margin:0 auto;padding:72px 40px 120px}
  .page-view.open .pv-content{animation:pvup .55s cubic-bezier(.2,.7,.2,1)}
  @keyframes pvup{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
  .pv-content h1{font-size:clamp(42px,5vw,62px);margin:14px 0 24px}
  .pv-content h1 em{font-style:italic;color:var(--gold-ink)}
  .pv-content h2{font-size:27px;margin:46px 0 14px}
  .pv-content p{color:var(--espresso-soft);margin-bottom:16px;max-width:640px}
  .pv-content .note{color:var(--muted);font-size:14px}
  .chart{border-top:1px solid var(--line);margin-top:34px}
  .chart-row{display:grid;grid-template-columns:90px 1.2fr 1fr;gap:24px;padding:22px 0;border-bottom:1px solid var(--line);align-items:baseline}
  .chart-row b{font-family:'Cormorant',serif;font-size:30px;font-weight:400}
  .chart-row .what{color:var(--espresso-soft)}
  .chart-row .for{color:var(--muted);font-size:14px}
  .step{display:grid;grid-template-columns:72px 1fr;gap:22px;padding:26px 0;border-bottom:1px solid var(--line)}
  .step b{font-family:'Cormorant',serif;font-size:32px;font-weight:400;font-style:italic;color:var(--gold-ink)}
  .step h3{font-size:22px;margin-bottom:6px}
  .j-entry{padding:28px 0;border-bottom:1px solid var(--line)}
  .j-entry h3{font-size:26px;margin:6px 0 8px}
  .pv-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:34px 0 10px}
  .pv-gallery img{width:100%;aspect-ratio:1/1;object-fit:cover;cursor:zoom-in;border:1px solid var(--line)}
  .pv-prods{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px}
  .pv-prod{display:flex;gap:16px;align-items:center;border:1px solid var(--line);background:var(--card);padding:16px}
  .pv-prod img{width:84px;height:84px;object-fit:cover;cursor:zoom-in}
  .pv-prod h4{font-family:'Cormorant',serif;font-size:21px;font-weight:400}
  .pv-prod .cspec{color:var(--muted);font-size:12px;margin:2px 0 8px}
  .pv-prod .row2{display:flex;gap:14px;align-items:center}
  .pv-prod .cprice{font-family:'Cormorant',serif;font-size:19px}

  /* lightbox */
  .lb{position:fixed;inset:0;background:color-mix(in srgb, var(--espresso) 93%, transparent);z-index:160;display:none;flex-direction:column;align-items:center;justify-content:center;padding:30px}
  .lb.open{display:flex}
  .lb img.main{max-width:min(88vw,880px);max-height:66vh;border:1px solid color-mix(in srgb, var(--gold) 45%, transparent);box-shadow:0 40px 120px -30px rgba(0,0,0,.6);will-change:transform}
  .lb .lb-cap{color:var(--ondark);font-size:11px;letter-spacing:.24em;text-transform:uppercase;margin-top:18px}
  .lb .lb-thumbs{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap;justify-content:center}
  .lb .lb-thumbs img{width:54px;height:54px;object-fit:cover;cursor:pointer;opacity:.5;border:1px solid transparent;transition:opacity .25s}
  .lb .lb-thumbs img.on{opacity:1;border-color:var(--champ)}
  .lb .lb-thumbs img:hover{opacity:.85}
  .lb button{background:none;border:none;color:var(--ondark);cursor:pointer;font-size:26px;position:absolute}
  .lb button:hover{color:var(--champ)}
  .lb .lb-x{top:18px;right:24px;font-size:28px;width:48px;height:48px}
  .lb .lb-prev{left:18px;top:50%;transform:translateY(-50%);width:48px;height:64px}
  .lb .lb-next{right:18px;top:50%;transform:translateY(-50%);width:48px;height:64px}
  .prod .ph[style],.hero-frame .inner[style]{cursor:zoom-in}

  /* toast */
  .toast{position:fixed;bottom:32px;left:50%;transform:translateX(-50%) translateY(90px);background:var(--espresso);color:var(--ivory);padding:15px 34px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;transition:transform .45s cubic-bezier(.2,.8,.2,1);z-index:120}
  .toast.show{transform:translateX(-50%) translateY(0)}

  @media(max-width:1000px){
    .hero,.prov .inner{grid-template-columns:1fr;gap:48px}
    .collections,.grid,.quotes{grid-template-columns:1fr 1fr}
    .foot{grid-template-columns:1fr 1fr}
  }
  @media(max-width:900px){
    .nav ul{display:none}
    .nav{grid-template-columns:44px 1fr 44px;padding:16px 22px}
    .burger{display:block}
    .wordmark img{height:21px}
  }
  @media(max-width:640px){
    .collections,.grid,.quotes,.foot{grid-template-columns:1fr}
    .wrap{padding:0 22px}
    section{padding:70px 0}
    .pv-head{padding:12px 22px}
    .pv-content{padding:50px 22px 90px}
    .pv-prods{grid-template-columns:1fr}
    .pv-gallery{grid-template-columns:1fr 1fr}
    .chart-row{grid-template-columns:64px 1fr;grid-template-rows:auto auto}
    .chart-row .for{grid-column:2}
  }
  @media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    .marquee-track{animation:none}
    .reveal{opacity:1;transform:none;transition:none}
    .drawer,.drawer-bg{transition:none}
    .prod .ph[style]::after,.coll .fill{transition:none}
  }

  /* numerals: prices + numeric data in Jost 500 tabular (Cormorant figures too fine at text sizes).
     Kept LAST so it wins the cascade over each price rule's own font-family. */
  .prod .price,.ord-row .amt,.ccard3 .cfrom b,.qtyrow3 .uprice,.wstart .amt,.lrow b,.grams b,.subrow .amt,.citem .cprice,.pv-prod .cprice,.colcard .cprice,.mesure .dim b,.chart-row b{font-family:'Jost',sans-serif;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:.01em}
  .prod .price small,.ccard3 .cfrom small{font-weight:400}
  /* --- page split 2026-08-25: shop/wigs subpages + home panels --- */
  .page-top{padding-top:96px}
  .panels2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
  .panel{border:1px solid var(--line);background:var(--card);display:flex;flex-direction:column;overflow:hidden}
  .panel .pimg{aspect-ratio:4/3;background-size:cover;background-position:center;border-bottom:1px solid var(--line)}
  .panel .pbody{padding:34px 36px 38px;display:flex;flex-direction:column;gap:14px;flex:1}
  .panel .caps{color:var(--gold-ink)}
  .panel h3{font-size:clamp(28px,2.6vw,38px)}
  .panel p{color:var(--espresso-soft);max-width:46ch}
  .panel .pmeta{color:var(--muted);font-size:14px}
  .panel .pcta{margin-top:auto;display:flex;align-items:center;flex-wrap:wrap;padding-top:8px}
  .nav a.caps.on{color:var(--gold-ink)}
  .nav a.caps.on::after{width:100%}
  @media(max-width:900px){.panels2{grid-template-columns:1fr}}

  /* hero strand strokes (classes set in page HTML; colours themed) */
  .hs-a{stroke:var(--strand-a)}
  .hs-b{stroke:var(--strand-b)}
  .hs-c{stroke:var(--strand-c)}
  .hs-pale{stroke:var(--strand-pale)}
  .hero-frame svg path{-webkit-transition:stroke .45s ease;transition:stroke .45s ease}
