:root {
    --ink:#e8e8e8; --ink-dim:#aaaaaa; --paper:#0b0b0b; --paper-2:#1d1d1d; --primary:#d4af37; --secondary:#1c1a16; --accent:#f2d16b;
    --muted:#9a927f; --hair:#484848; --border:rgba(212,175,55,.22); --gold-grad:linear-gradient(135deg,#f2d16b 0%,#d4af37 45%,#a8842a 100%);
    --serif:'freightbigcmp-pro','Italiana','Bodoni Moda',Georgia,serif;
    --sans:'Inter',-apple-system,system-ui,sans-serif;
    --ease-wk:cubic-bezier(.9,.05,.1,.95);  /* Wonderkin's signature easing */
    --ease-quart:cubic-bezier(0,0,.08,.97);
  }
  * { box-sizing:border-box; margin:0; padding:0; }
  html { -webkit-font-smoothing:antialiased; background:var(--paper); }
  html.lenis { height:auto; } .lenis.lenis-smooth { scroll-behavior:auto; }
  html.open-navi { overflow:hidden; }
  body { background:var(--paper); color:var(--ink); font-family:var(--sans); font-weight:300; font-size:clamp(14px,1.08vw,18px); line-height:1.64; overflow-x:hidden; }
  h1,h2,h3 { font-family:var(--serif); font-weight:300; letter-spacing:.01em; text-transform:uppercase; line-height:1; color:var(--ink); }
  a { color:inherit; text-decoration:none; }
  img { max-width:100%; display:block; }
  .script { font-family:'Pinyon Script',cursive; font-weight:400; }
  .gold { background:var(--gold-grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
  .eyebrow { font-size:11px; letter-spacing:.3em; text-transform:uppercase; color:var(--primary); font-weight:500; }
  .btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:52px; border-radius:14px; padding:0 34px; font-family:var(--sans); font-weight:500; font-size:12px; letter-spacing:.2em; text-transform:uppercase; cursor:pointer; border:1px solid var(--primary); transition:transform .6s cubic-bezier(.85,0,.15,1), background .6s, color .6s; }
  .btn--solid { background:var(--gold-grad); color:#141005; border-color:transparent; }
  .btn--outline { background:transparent; color:var(--primary); }
  .btn:hover { transform:translateY(-2px); }
  .btn--outline:hover { background:rgba(212,175,55,.1); }
  section { position:relative; }
  .wrap { width:min(1200px,92vw); margin:0 auto; }
  /* Wonderkin line-link: underline that retracts on hover */
  .line-link { background-image:linear-gradient(transparent calc(100% - 1px), currentColor 1px); background-size:100% 100%; background-repeat:no-repeat; background-position:left; transition:.6s cubic-bezier(.85,0,.15,1); }
  .line-link:hover { background-size:0% 100%; }

  /* ─── LAZY ANIMATIONS (Wonderkin data-lazy-animation) ─── */
  [data-lazy-animation] { transition-property:opacity,transform; transition-duration:1.4s; transition-timing-function:var(--ease-quart); opacity:0; }
  [data-lazy-animation="fade-up"] { transform:translateY(40px); }
  [data-lazy-animation="fade-down"] { transform:translateY(-40px); }
  [data-lazy-animation="fade"] { transform:none; }
  [data-lazy-animation].on-screen { opacity:1; transform:translateY(0); }

  /* ─── PAGE WRAP (shifts when overlay nav opens) ─── */
  .page-wrap { transition:transform .85s var(--ease-wk); }
  html.open-navi .page-wrap { transform:translateX(-30%); }

  /* ─── QUICKBAR (Wonderkin fixed top bar) ─── */
  .quickbar { position:fixed; top:0; left:0; width:100%; z-index:1001; transition:transform .85s var(--ease-wk); }
  body.scrolling-down .quickbar { transform:translateY(-100%); }
  html.open-navi .quickbar { transform:none; }
  .quickbar-inner { display:flex; align-items:center; justify-content:space-between; padding:18px 4vw; position:relative; transition:.3s; }
  .quickbar-inner:before { content:""; position:absolute; top:0; left:0; width:100%; height:0%; background:linear-gradient(180deg,rgba(11,11,11,.85) 0%,rgba(11,11,11,0) 100%); z-index:-1; transition:.85s var(--ease-wk); }
  html.fixed .quickbar-inner:before { height:100%; }
  html.open-navi .quickbar-inner:before { opacity:0; }
  .brand { display:flex; align-items:baseline; gap:8px; transition:.3s ease; }
  .brand:hover { opacity:.5; }
  .brand .script { font-size:34px; line-height:1; color:var(--primary); }
  .brand small { font-family:var(--serif); font-size:12px; letter-spacing:.3em; color:var(--ink); text-transform:uppercase; }
  .qb-right { display:flex; align-items:center; gap:42px; }
  /* inline links: ta2 hairlines + Wonderkin letter-slide on hover */
  .qb-links { display:flex; gap:36px; list-style:none; }
  .qb-links a { position:relative; display:inline-flex; padding:6px 0; font-size:13px; font-weight:400; letter-spacing:.06em; text-transform:uppercase; color:#fefbf4; line-height:112%; }
  .qb-links a:before, .qb-links a:after { content:""; position:absolute; left:50%; transform:translateX(-50%); width:0; height:1px; background:var(--primary); transition:all .3s ease 0s; }
  .qb-links a:before { top:-2px; } .qb-links a:after { bottom:-2px; }
  .qb-links a:hover:before, .qb-links a:hover:after, .qb-links a.is-active:before, .qb-links a.is-active:after { width:100%; }
  .qb-links a .letter-ct { display:inline-block; transition:transform .85s var(--ease-wk); }
  .qb-links a .letter-ct:nth-child(2){transform:translateX(1px)} .qb-links a .letter-ct:nth-child(3){transform:translateX(2px)} .qb-links a .letter-ct:nth-child(4){transform:translateX(3px)} .qb-links a .letter-ct:nth-child(5){transform:translateX(4px)} .qb-links a .letter-ct:nth-child(6){transform:translateX(5px)} .qb-links a .letter-ct:nth-child(7){transform:translateX(6px)} .qb-links a .letter-ct:nth-child(8){transform:translateX(7px)}
  .qb-links a:hover .letter-ct { transform:translateX(0); }
  .qb-links a.is-active { opacity:.55; }
  html.open-navi .qb-links { opacity:0; pointer-events:none; }
  .qb-links { transition:opacity .4s; }
  @media (max-width:1023px){ .qb-links { display:none; } }
  /* hamburger → X (Wonderkin) */
  .menu { width:50px; height:33px; cursor:pointer; display:flex; align-items:center; justify-content:center; position:relative; }
  .menu .hamburger { width:100%; height:6px; display:flex; flex-flow:column; align-items:center; justify-content:space-between; }
  .menu .hamburger .line { width:100%; height:1px; position:relative; }
  .menu .hamburger .line .line-inner { position:absolute; top:0; right:0; width:100%; height:100%; background:var(--ink); transition:.85s var(--ease-wk); transition-delay:.2s; }
  .menu .hamburger .line:last-of-type .line-inner { left:0; }
  html.open-navi .menu .hamburger .line .line-inner { transition-delay:0s; width:0; left:0; right:auto; }
  html.open-navi .menu .hamburger .line:last-of-type .line-inner { width:0; left:auto; right:0; }
  .menu .x { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:80%; height:100%; }
  .menu .x .line { width:100%; height:1px; background:var(--primary); position:absolute; top:50%; transform:rotate(45deg) scale3d(0,1,1); transition:.85s var(--ease-wk); }
  .menu .x .line:last-of-type { transform:rotate(-45deg) scale3d(0,1,1); }
  html.open-navi .menu .x .line { transition-delay:.1s; transform:rotate(45deg) scale3d(1,1,1); }
  html.open-navi .menu .x .line:last-of-type { transform:rotate(-45deg) scale3d(1,1,1); transition-delay:.3s; }

  /* ─── OVERLAY NAVIGATION (Wonderkin #navigation) ─── */
  #navigation { position:fixed; top:0; right:0; width:min(100%,720px); height:100vh; height:100dvh; z-index:1000; background:var(--paper-2); transform:translateX(100%); transition:transform .85s var(--ease-wk); overflow:hidden auto; }
  #navigation:before { content:""; position:absolute; inset:0; opacity:0; pointer-events:none; background:linear-gradient(0deg,rgba(29,29,29,0) 0%,rgba(29,29,29,.8) 100%); }
  html.open-navi #navigation { transform:translateX(0); }
  .navi-wrapper { min-height:100%; display:flex; flex-flow:column; align-items:stretch; justify-content:center; padding:28px clamp(28px,8vw,96px); }
  .middle-navi ul { list-style:none; }
  .middle-navi li a { display:flex; font-family:var(--serif); font-weight:300; text-transform:uppercase; font-size:min(clamp(44px,7vw,84px), 6.4vh); line-height:1.12; color:var(--ink); position:relative; padding-inline:8px; width:fit-content; }
  .middle-navi li a.is-active { opacity:.5; }
  .middle-navi li a .letter-ct { display:inline-block; transition:transform .85s var(--ease-wk); }
  .middle-navi li a .letter-ct span { display:inline-block; transition:transform .85s var(--ease-wk); }
  .middle-navi li a .letter-ct:nth-child(1){transform:translateX(0)} .middle-navi li a .letter-ct:nth-child(2){transform:translateX(5px)} .middle-navi li a .letter-ct:nth-child(3){transform:translateX(10px)} .middle-navi li a .letter-ct:nth-child(4){transform:translateX(15px)} .middle-navi li a .letter-ct:nth-child(5){transform:translateX(20px)} .middle-navi li a .letter-ct:nth-child(6){transform:translateX(25px)} .middle-navi li a .letter-ct:nth-child(7){transform:translateX(30px)} .middle-navi li a .letter-ct:nth-child(8){transform:translateX(35px)} .middle-navi li a .letter-ct:nth-child(9){transform:translateX(40px)} .middle-navi li a .letter-ct:nth-child(10){transform:translateX(45px)}
  html.open-navi .middle-navi li a .letter-ct { transform:translateX(0); }
  .middle-navi li a .line { position:absolute; top:50%; right:0; left:auto; width:0%; height:1px; background:var(--primary); transition:.85s var(--ease-wk); }
  .middle-navi li a:hover .line { width:100%; left:0; right:auto; }
  .last-nav { position:relative; z-index:1; margin-top:clamp(20px,4vh,48px); display:flex; align-items:center; gap:28px; opacity:0; transition:.85s var(--ease-wk); }
  html.open-navi .last-nav { transition-delay:.4s; opacity:1; }
  .last-nav .instagram { display:flex; align-items:center; gap:8px; color:var(--ink-dim); text-transform:uppercase; letter-spacing:.1em; font-size:12px; transition:.3s ease; }
  .last-nav .instagram:hover { opacity:.5; }
  .navi-overlay { position:fixed; inset:0; z-index:999; background:rgba(0,0,0,.45); opacity:0; visibility:hidden; transition:.85s var(--ease-wk); }
  html.open-navi .navi-overlay { opacity:1; visibility:visible; }

  /* ─── HERO (scroll-scrubbed) ─── */
  .hero { position:relative; height:300vh; }
  .hero__sticky { position:sticky; top:0; height:100vh; overflow:hidden; background:#0b0b0b; }
  .hero__video, .hero__poster { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:70% center; }
  .hero__shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(11,11,11,.92) 0%,rgba(11,11,11,.72) 35%,rgba(11,11,11,.15) 65%,rgba(11,11,11,.35) 100%), linear-gradient(180deg,rgba(11,11,11,.4),rgba(11,11,11,0) 30%,rgba(11,11,11,.85) 100%); }
  .hero__content { position:absolute; left:6vw; right:6vw; top:50%; transform:translateY(-52%); max-width:720px; }
  .hero h1 { font-size:clamp(64px,10.5vw,168px); line-height:.9; margin:14px 0 24px; display:flex; flex-wrap:wrap; }
  .hero h1 .word { display:flex; width:100%; }
  .hero h1 .letter-ct { display:inline-block; transition:opacity 1.5s var(--ease-quart), transform 1.5s var(--ease-quart); opacity:0; transform:translateY(60px) rotate3d(0,1,0,40deg); }
  .hero h1 .letter-ct.on-screen { opacity:1; transform:translateY(0) rotate3d(0,1,0,.01deg); }
  .hero h1 .letter-ct.space { width:.28em; }
  .hero h1 .word--script { font-family:'Pinyon Script',cursive; font-weight:400; text-transform:none; font-size:1.22em; line-height:.95; padding-right:.15em; margin-bottom:-.06em; opacity:0; transform:translateY(40px); transition:opacity 1.5s var(--ease-quart), transform 1.5s var(--ease-quart); }
  .hero h1 .word--script.on-screen { opacity:1; transform:translateY(0); }
  .hero__slogan { font-family:var(--serif); font-size:clamp(24px,3vw,46px); line-height:1.1; text-transform:uppercase; letter-spacing:.12em; margin:-4px 0 18px; }
  .hero__sub { font-size:clamp(12px,1vw,15px); letter-spacing:.24em; text-transform:uppercase; color:var(--ink-dim); line-height:1.9; max-width:36ch; }
  .hero__ctas { display:flex; gap:14px; flex-wrap:wrap; margin:34px 0 44px; }
  .hero__proof { display:flex; gap:38px; flex-wrap:wrap; }
  .proof { display:flex; flex-direction:column; gap:10px; max-width:150px; }
  .proof svg { width:30px; height:30px; stroke:var(--primary); fill:none; stroke-width:1.2; }
  .proof span { font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); line-height:1.6; }
  .hero__dots { position:absolute; right:3vw; top:50%; transform:translateY(-50%); display:flex; flex-direction:column; gap:18px; }
  .hero__dots span { font-family:var(--serif); font-size:13px; letter-spacing:.2em; color:var(--muted); transition:color .6s; }
  .hero__bar { position:absolute; left:0; right:0; bottom:0; display:flex; align-items:center; justify-content:space-between; padding:16px 4vw; font-size:10px; letter-spacing:.22em; text-transform:uppercase; color:var(--muted); border-top:1px solid rgba(212,175,55,.15); }
  /* Wonderkin scroll indicator line ("elasticus") */
  .arrow-ct { position:absolute; bottom:52px; left:50%; transform:translateX(-50%); z-index:3; }
  .arrow-ct .line { height:50px; width:1px; background:var(--ink-dim); animation:elasticus 3.5s cubic-bezier(.8,0,.2,1) infinite; }
  @keyframes elasticus { 0%{transform-origin:0 0;transform:scale(1,0)} 50%{transform-origin:0 0;transform:scale(1,1)} 50.1%{transform-origin:0 100%;transform:scale(1,1)} 100%{transform-origin:0 100%;transform:scale(1,0)} }
  .corner { position:absolute; width:120px; height:120px; opacity:.5; pointer-events:none; }
  .corner path { fill:none; stroke:var(--primary); stroke-width:1.2; }
  .corner.tl{top:88px;left:22px} .corner.tr{top:88px;right:22px;transform:scaleX(-1)} .corner.bl{bottom:60px;left:22px;transform:scaleY(-1)} .corner.br{bottom:60px;right:22px;transform:scale(-1)}
  @media (max-width:900px){ .hero{height:220vh;} .hero__content{top:auto;bottom:90px;transform:none;left:6vw;right:6vw;} .hero h1{font-size:clamp(40px,11.5vw,72px);} .hero__dots,.corner,.arrow-ct{display:none;} .hero__proof{gap:20px;} .hero__video,.hero__poster{object-position:62% center;} }

  /* ─── CRAFT (split-scroll) ─── */
  .craft-intro { padding:16vh 0 8vh; text-align:center; }
  .craft-intro h2 { font-size:clamp(40px,6vw,86px); margin:14px 0 22px; }
  .craft-intro p { color:var(--ink-dim); font-size:clamp(15px,1.15vw,19px); line-height:1.7; max-width:62ch; margin:0 auto; }
  .split-section { position:relative; height:300vh; }
  .split-sticky { position:sticky; top:0; height:100vh; display:flex; overflow:hidden; }
  .split-col { flex:1; overflow:hidden; position:relative; }
  .split-col-inner { position:absolute; left:0; right:0; will-change:transform; }
  .split-item { height:100vh; display:flex; align-items:center; justify-content:center; padding:48px; text-align:center; position:relative; }
  .split-item img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
  .split-item .veil { position:absolute; inset:0; background:linear-gradient(180deg,rgba(11,11,11,.25),rgba(11,11,11,.55)); }
  .split-item .cap { position:relative; z-index:2; }
  .split-item .cap .num { font-family:var(--serif); font-size:96px; line-height:1; }
  .split-item .cap .step { font-size:11px; letter-spacing:.3em; text-transform:uppercase; color:var(--primary); margin-top:8px; }
  .split-item.text { background:var(--paper-2); }
  .split-item.text:nth-child(2) { background:#171717; }
  .split-item.text:nth-child(3) { background:#121212; }
  .split-item h3 { font-size:clamp(34px,4.6vw,64px); margin-bottom:16px; }
  .split-item p { font-size:clamp(15px,1.1vw,18px); color:var(--ink-dim); max-width:36ch; line-height:1.7; }
  .split-divider { width:1px; background:var(--hair); flex-shrink:0; }
  @media (max-width:900px){ .split-sticky{flex-direction:column;} .split-col{flex:none;height:50vh;} .split-item{height:50vh;padding:24px;} .split-divider{width:100%;height:1px;} .split-item .cap .num{font-size:60px;} }

  /* ─── GALLERY (horizontal scroll) ─── */
  .gallery-intro { padding:16vh 0 6vh; }
  .gallery-intro h2 { font-size:clamp(40px,6vw,86px); margin:14px 0 16px; }
  .gallery-intro p { color:var(--ink-dim); font-size:clamp(15px,1.15vw,19px); line-height:1.7; max-width:60ch; }
  .h-scroll-section { overflow:clip; }
  .h-scroll-sticky { position:sticky; top:0; height:100vh; display:flex; align-items:center; overflow:clip; }
  .h-scroll-track { display:flex; gap:28px; padding:0 max(48px,6vw); will-change:transform; }
  .h-card { flex-shrink:0; width:clamp(300px,42vw,560px); height:66vh; overflow:hidden; position:relative; border:1px solid var(--border); display:flex; flex-direction:column; justify-content:flex-end; padding:32px; transition:transform .6s cubic-bezier(.85,0,.15,1); }
  .h-card:hover { transform:translateY(-4px); }
  .h-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.85,0,.15,1); }
  .h-card:hover img { transform:scale(1.04); }
  .h-card-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(11,11,11,.92) 0%,rgba(11,11,11,.35) 45%,transparent 75%); }
  .h-card-content { position:relative; z-index:2; }
  .h-card-num { font-size:11px; letter-spacing:.24em; text-transform:uppercase; color:var(--primary); margin-bottom:8px; }
  .h-card h3 { font-size:clamp(28px,2.6vw,40px); margin-bottom:6px; }
  .h-card p { font-size:14px; color:var(--ink-dim); line-height:1.6; max-width:38ch; }
  .h-progress { position:fixed; bottom:28px; left:50%; transform:translateX(-50%); z-index:50; display:flex; align-items:center; gap:12px; opacity:0; transition:opacity .3s; pointer-events:none; }
  .h-progress.visible { opacity:1; }
  .h-progress-bar { width:120px; height:1px; background:rgba(255,255,255,.14); overflow:hidden; }
  .h-progress-fill { height:100%; background:var(--primary); width:0%; }
  .h-progress-label { font-family:var(--sans); font-size:11px; color:var(--ink-dim); letter-spacing:.14em; }

  /* ─── BOOKING ─── */
  .booking { min-height:100vh; display:grid; place-items:center; text-align:center; padding:16vh 6vw; overflow:hidden; }
  .booking__bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 40%; }
  .booking__shade { position:absolute; inset:0; background:radial-gradient(ellipse at center,rgba(11,11,11,.35) 0%,rgba(11,11,11,.85) 70%,#0b0b0b 100%); }
  .booking__in { position:relative; z-index:2; max-width:800px; }
  .booking h2 { font-size:clamp(52px,8.5vw,128px); line-height:.95; margin:16px 0 22px; }
  .booking p { color:var(--ink); opacity:.85; font-size:clamp(15px,1.15vw,19px); line-height:1.7; max-width:52ch; margin:0 auto 34px; }
  .booking__ctas { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
  .booking__note { margin-top:26px; font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--muted); }
  .particle { position:fixed; width:7px; height:7px; border-radius:50%; pointer-events:none; z-index:9999; }
  .ring { position:fixed; border-radius:50%; pointer-events:none; z-index:9998; border:2px solid; opacity:0; }

  /* ─── FAQ + CONTACT ─── */
  .faq { padding:16vh 0; border-top:1px solid var(--hair); }
  .faq h2 { font-size:clamp(34px,4.2vw,64px); margin:14px 0 40px; }
  .faq-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:34px 48px; }
  .faq h3 { font-family:var(--sans); font-size:16px; font-weight:500; text-transform:none; letter-spacing:0; color:var(--accent); margin-bottom:10px; }
  .faq p { color:var(--ink-dim); line-height:1.75; font-size:15.5px; }
  .contact { padding:16vh 0 10vh; border-top:1px solid var(--hair); }
  .contact-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:60px; align-items:start; }
  .contact h2 { font-size:clamp(44px,6.4vw,96px); line-height:.98; margin:14px 0 26px; }
  .contact .lead { color:var(--ink-dim); font-size:clamp(15px,1.15vw,19px); line-height:1.7; max-width:48ch; }
  .nap { display:grid; gap:22px; }
  .nap div { border-left:1px solid var(--primary); padding-left:18px; }
  .nap .lbl { font-size:10.5px; letter-spacing:.26em; text-transform:uppercase; color:var(--primary); margin-bottom:6px; }
  .nap .val { font-size:18px; line-height:1.55; }
  .contact .btn { margin-top:30px; }
  @media (max-width:900px){ .contact-grid{grid-template-columns:1fr;gap:40px;} }

  /* ─── FOOTER (Wonderkin "keep scrolling" name block) ─── */
  .footer-scroll { position:relative; height:70vh; display:grid; place-items:center; border-top:1px solid var(--hair); overflow:hidden; }
  .keep-scrolling { position:absolute; top:calc(50% - 90px); left:50%; transform:translate(-50%,-50%); text-transform:uppercase; letter-spacing:.15em; font-size:11px; color:var(--ink-dim); transition:.85s var(--ease-wk); }
  .next-page-name-ct { display:block; width:fit-content; position:relative; }
  .next-page-name-ct:hover .keep-scrolling { letter-spacing:.3em; color:var(--ink); }
  .next-page-name { display:block; font-family:var(--serif); color:var(--ink); line-height:1; font-size:clamp(56px,11vw,180px); text-transform:uppercase; text-align:center; position:relative; }
  .next-page-name .line { position:absolute; top:50%; left:auto; right:-12.5%; height:1px; transform:translateY(-50%); background:var(--primary); width:0; transition:.85s var(--ease-wk); }
  .next-page-name-ct:hover .line { width:115%; left:-12.5%; right:auto; }
  .bottom-footer { padding:26px 4vw 34px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--ink-dim); }
  .bottom-footer a { position:relative; }
  .bottom-footer a:before { content:""; position:absolute; bottom:-2px; left:0; width:100%; height:1px; background:var(--ink-dim); transition:.85s var(--ease-wk); }
  .bottom-footer a:hover:before { width:0; left:auto; right:0; }

  /* ─── LOGO (real Crown Ink logo) ─── */
  .brand-logo { height:54px; width:auto; display:block; transition:.3s ease; }
  .brand:hover .brand-logo { opacity:.6; }
  .hero__logo { display:block; width:min(52vw,560px); max-width:100%; margin:0 0 6px -2%; opacity:0; transform:translateY(40px); transition:opacity 1.5s var(--ease-quart), transform 1.5s var(--ease-quart); filter:drop-shadow(0 12px 40px rgba(0,0,0,.6)); }
  .hero__logo.on-screen { opacity:1; transform:translateY(0); }
  @media (max-width:900px){ .hero__logo{ width:min(78vw,360px); } .brand-logo{ height:44px; } }

  /* ─── INNER PAGES ─── */
  .page-head { position:relative; padding:calc(96px + 10vh) 0 8vh; overflow:hidden; border-bottom:1px solid var(--hair); }
  .page-head:before { content:""; position:absolute; inset:0; background:radial-gradient(ellipse at 20% 0%,rgba(212,175,55,.14),transparent 55%), linear-gradient(180deg,#141414,var(--paper)); }
  .page-head .wrap { position:relative; }
  .page-head h1 { font-size:clamp(52px,8.5vw,128px); line-height:.95; margin:14px 0 20px; }
  .page-head p { color:var(--ink-dim); font-size:clamp(15px,1.15vw,19px); line-height:1.7; max-width:62ch; }
  .crumbs { font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--muted); margin-bottom:18px; }
  .crumbs a:hover { color:var(--primary); }
  .sec { padding:10vh 0; }
  .sec--tight { padding:6vh 0; }
  .sec-title { font-size:clamp(34px,4.6vw,68px); margin:12px 0 26px; }
  .grid { display:grid; gap:26px; }
  .grid--artists { grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); }
  .grid--flash { grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); }
  .grid--work { grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); }
  .card { position:relative; display:block; background:var(--paper-2); border:1px solid var(--hair); border-radius:14px; overflow:hidden; transition:transform .6s cubic-bezier(.85,0,.15,1), border-color .6s; }
  .card:hover { transform:translateY(-4px); border-color:var(--primary); }
  .card img { width:100%; aspect-ratio:3/4; object-fit:cover; transition:transform .8s cubic-bezier(.85,0,.15,1); }
  .card--flash img { aspect-ratio:1/1; background:#f3ead8; }
  .card:hover img { transform:scale(1.03); }
  .card__body { padding:18px 20px 20px; }
  .card__kicker { font-size:10.5px; letter-spacing:.24em; text-transform:uppercase; color:var(--primary); margin-bottom:6px; }
  .card__title { font-family:var(--serif); font-size:26px; text-transform:uppercase; line-height:1.05; margin-bottom:6px; color:var(--ink); }
  .card__meta { font-size:13px; color:var(--ink-dim); line-height:1.6; }
  .card__row { display:flex; gap:10px; margin-top:14px; flex-wrap:wrap; }
  .btn--sm { min-height:42px; padding:0 18px; font-size:11px; letter-spacing:.14em; }
  .chips { display:flex; gap:10px; flex-wrap:wrap; margin:0 0 28px; }
  .chip { border:1px solid var(--hair); border-radius:999px; padding:8px 16px; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-dim); cursor:pointer; background:none; transition:.3s; }
  .chip:hover, .chip.is-on { border-color:var(--primary); color:var(--primary); }
  .hidden { display:none !important; }
  /* artist profile */
  .profile { display:grid; grid-template-columns:minmax(280px,420px) 1fr; gap:60px; align-items:start; }
  .profile__img { border-radius:14px; overflow:hidden; border:1px solid var(--hair); }
  .profile__img img { width:100%; aspect-ratio:3/4; object-fit:cover; }
  .profile h1 { font-size:clamp(48px,6.5vw,96px); margin:10px 0 8px; line-height:.95; }
  .profile .tagline { font-family:var(--serif); font-size:clamp(20px,2vw,30px); text-transform:uppercase; letter-spacing:.06em; margin-bottom:22px; }
  .profile p { color:var(--ink-dim); font-size:clamp(15px,1.12vw,18px); line-height:1.75; max-width:62ch; margin-bottom:16px; }
  .facts { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:18px; margin:26px 0 30px; }
  .facts div { border-left:1px solid var(--primary); padding-left:14px; }
  .facts .lbl { font-size:10.5px; letter-spacing:.24em; text-transform:uppercase; color:var(--primary); margin-bottom:4px; }
  .facts .val { font-size:15px; line-height:1.5; }
  @media (max-width:900px){ .profile{grid-template-columns:1fr;gap:32px;} }
  /* booking */
  .steps { display:flex; gap:26px; margin-bottom:34px; flex-wrap:wrap; }
  .step { display:flex; align-items:center; gap:12px; font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); }
  .step b { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; border:1px solid var(--hair); font-family:var(--serif); font-size:14px; font-weight:400; }
  .step.is-on { color:var(--ink); } .step.is-on b { border-color:var(--primary); color:var(--primary); }
  .step.is-done b { background:var(--primary); color:#141005; border-color:var(--primary); }
  .bk-artists { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:16px; }
  .bk-artist { text-align:left; background:var(--paper-2); border:1px solid var(--hair); border-radius:14px; overflow:hidden; cursor:pointer; color:var(--ink); padding:0; transition:.3s; }
  .bk-artist img { width:100%; aspect-ratio:1/1; object-fit:cover; object-position:top; }
  .bk-artist div { padding:12px 14px 14px; }
  .bk-artist .n { font-family:var(--serif); text-transform:uppercase; font-size:20px; line-height:1.05; }
  .bk-artist .r { font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--primary); margin-top:4px; }
  .bk-artist:hover, .bk-artist.is-on { border-color:var(--primary); transform:translateY(-3px); }
  .bk-artist.is-on { box-shadow:0 0 0 1px var(--primary) inset; }
  .bk-layout { display:grid; grid-template-columns:1.25fr 1fr; gap:40px; align-items:start; }
  @media (max-width:900px){ .bk-layout{grid-template-columns:1fr;} }
  .cal { background:var(--paper-2); border:1px solid var(--hair); border-radius:14px; padding:22px; }
  .cal__head { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
  .cal__head h3 { font-size:24px; }
  .cal__nav { display:flex; gap:8px; }
  .cal__nav button { width:40px; height:40px; border-radius:50%; border:1px solid var(--hair); background:none; color:var(--ink); cursor:pointer; font-size:18px; transition:.3s; }
  .cal__nav button:hover { border-color:var(--primary); color:var(--primary); }
  .cal__grid { display:grid; grid-template-columns:repeat(7,1fr); gap:6px; }
  .cal__dow { font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); text-align:center; padding:6px 0 10px; }
  .cal__day { aspect-ratio:1/1; display:grid; place-items:center; border-radius:10px; border:1px solid transparent; background:rgba(255,255,255,.03); color:var(--ink-dim); font-size:14px; cursor:default; transition:.25s; }
  .cal__day.is-open { color:var(--ink); border-color:var(--hair); cursor:pointer; }
  .cal__day.is-open:hover { border-color:var(--primary); color:var(--primary); }
  .cal__day.is-sel { background:var(--gold-grad); color:#141005; border-color:transparent; font-weight:600; }
  .cal__day.is-off { opacity:.35; }
  .cal__day.is-empty { background:none; }
  .slots { display:grid; grid-template-columns:repeat(auto-fill,minmax(96px,1fr)); gap:10px; margin-top:18px; }
  .slot { padding:12px 8px; text-align:center; border:1px solid var(--hair); border-radius:10px; background:none; color:var(--ink); font-size:13px; cursor:pointer; transition:.25s; font-family:var(--sans); }
  .slot:hover { border-color:var(--primary); color:var(--primary); }
  .slot.is-sel { background:var(--gold-grad); color:#141005; border-color:transparent; }
  .slot[disabled] { opacity:.3; cursor:not-allowed; text-decoration:line-through; }
  .bk-summary { background:var(--paper-2); border:1px solid var(--hair); border-radius:14px; padding:22px; position:sticky; top:96px; }
  .bk-summary h3 { font-size:22px; margin-bottom:14px; }
  .bk-summary .line-item { display:flex; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px solid var(--hair); font-size:14px; }
  .bk-summary .line-item span:first-child { color:var(--muted); font-size:11px; letter-spacing:.18em; text-transform:uppercase; }
  .form { display:grid; gap:14px; margin-top:18px; }
  .field { display:grid; gap:6px; }
  .field label { font-size:10.5px; letter-spacing:.22em; text-transform:uppercase; color:var(--primary); }
  .field label .req { color:#e0553d; }
  .field input, .field select, .field textarea { width:100%; background:#101010; border:1px solid var(--hair); border-radius:10px; color:var(--ink); padding:13px 14px; font-family:var(--sans); font-size:15px; transition:.3s; }
  .field input:focus, .field select:focus, .field textarea:focus { outline:none; border-color:var(--primary); }
  .field textarea { min-height:90px; resize:vertical; }
  .consent { display:flex; gap:12px; align-items:flex-start; font-size:12.5px; color:var(--ink-dim); line-height:1.55; }
  .consent input { margin-top:3px; accent-color:var(--primary); width:16px; height:16px; flex:none; }
  .form .btn { width:100%; margin-top:6px; }
  .form .btn[disabled] { opacity:.4; cursor:not-allowed; transform:none; }
  .note { font-size:12px; color:var(--muted); line-height:1.6; margin-top:12px; }
  /* success pop-up (centered, big-outcome standard) */
  .modal { position:fixed; inset:0; z-index:2000; display:grid; place-items:center; background:rgba(0,0,0,.72); backdrop-filter:blur(8px); opacity:0; visibility:hidden; transition:.4s; padding:24px; }
  .modal.is-open { opacity:1; visibility:visible; }
  .modal__box { background:var(--paper-2); border:1px solid var(--primary); border-radius:18px; padding:40px 36px; max-width:520px; width:100%; text-align:center; transform:translateY(20px); transition:.5s var(--ease-quart); }
  .modal.is-open .modal__box { transform:translateY(0); }
  .modal__box .check { width:64px; height:64px; margin:0 auto 18px; border-radius:50%; background:var(--gold-grad); display:grid; place-items:center; color:#141005; font-size:30px; }
  .modal__box h3 { font-size:34px; margin-bottom:10px; }
  .modal__box p { color:var(--ink-dim); line-height:1.7; margin-bottom:22px; }
  /* artists teaser (home) */
  .team-row { display:grid; grid-template-columns:repeat(5,1fr); gap:16px; }
  @media (max-width:1023px){ .team-row{grid-template-columns:repeat(3,1fr);} }
  @media (max-width:640px){ .team-row{grid-template-columns:repeat(2,1fr);} }
  .team-card { position:relative; display:block; border-radius:14px; overflow:hidden; border:1px solid var(--hair); aspect-ratio:3/4; }
  .team-card img { width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.85,0,.15,1); }
  .team-card:hover img { transform:scale(1.05); }
  .team-card > div { position:absolute; left:0; right:0; bottom:0; padding:16px; background:linear-gradient(to top,rgba(11,11,11,.95),transparent); }
  .team-card .n { font-family:var(--serif); text-transform:uppercase; font-size:22px; line-height:1.05; }
  .team-card .r { font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--primary); margin-top:4px; }
  .team-intro { display:flex; justify-content:space-between; align-items:end; gap:24px; flex-wrap:wrap; margin-bottom:28px; }

/* ─── OVERRIDES (post-review 2026-08-25) ─── */
.brand-logo { height:72px; }
.quickbar-inner { padding:12px 4vw; }
.hero__logo { width:min(34vw,420px); max-height:40vh; object-fit:contain; margin:0 0 4px -1.5%; }
.hero__content { top:53%; }
.hero__slogan { font-size:clamp(20px,2.4vw,38px); margin:2px 0 14px; }
.hero__ctas { margin:26px 0 30px; }
@media (max-height:820px){ .hero__proof { display:none; } .hero__logo { max-height:34vh; } }
@media (max-width:900px){ .brand-logo { height:56px; } .hero__logo { width:min(60vw,300px); max-height:30vh; } }
.qb-links a .letter-ct:nth-child(9){transform:translateX(8px)} .qb-links a .letter-ct:nth-child(10){transform:translateX(9px)} .qb-links a .letter-ct:nth-child(11){transform:translateX(10px)}
@media (max-width:900px){
  .hero__content { bottom:118px; }
  .hero__logo { width:min(52vw,240px); max-height:22vh; margin-bottom:0; }
  .hero__slogan { font-size:clamp(18px,5.2vw,24px); margin:2px 0 8px; }
  .hero__sub { font-size:11px; line-height:1.7; max-width:30ch; }
  .hero__ctas { margin:16px 0 0; gap:10px; }
  .hero__ctas .btn { min-height:46px; padding:0 20px; font-size:11px; }
  .hero__proof { display:none; }
  .hero__bar { font-size:9px; padding:12px 4vw; }
  .hero__bar span:nth-child(2) { display:none; }
}
@media (max-width:900px){
  .hero__bar { display:none; }
  .hero__content { bottom:108px; right:24vw; }
  .hero__ctas { flex-direction:column; align-items:flex-start; gap:10px; }
}
@media (max-width:900px){ .hero__ctas .btn--outline { display:none; } }

/* ─── NAV REVISION (2026-08-25): text wordmark back, logo icon before "Studio", compact 3-line hamburger ─── */
.quickbar-inner { padding:18px 4vw; }
.qb-logo-li { display:flex; align-items:center; margin-right:-14px; }
.qb-logo { height:34px; width:auto; display:block; transition:.3s ease; }
.qb-logo-li a:before, .qb-logo-li a:after { display:none; }
.qb-logo-li a:hover .qb-logo { opacity:.6; }
.menu { width:26px; height:20px; }
.menu .hamburger { height:14px; }
.menu .hamburger .line { height:2px; border-radius:2px; }
.menu .hamburger .line .line-inner { border-radius:2px; }
.menu .hamburger .line:nth-child(2) .line-inner { width:70%; }
.menu .hamburger .line:nth-child(2) { transform:none; }
html.open-navi .menu .hamburger .line:nth-child(2) .line-inner { width:0; }
.menu .x { width:100%; }
.menu .x .line { height:2px; border-radius:2px; }
@media (max-width:900px){ .hero__logo { display:none; } .qb-logo { height:30px; } }
.qb-logo { height:68px; }
.qb-logo-li { margin-right:-10px; margin-top:-8px; margin-bottom:-8px; }
@media (max-width:900px){ .qb-logo { height:56px; } }
.qb-logo { height:72px; }
.qb-links { align-items:center; }
.qb-logo-li { margin:0 -6px 0 0; }
.quickbar-inner { padding:10px 4vw; }

/* hero phone (2026-08-25) */
.hero__phone { display:inline-block; margin-top:26px; font-family:var(--serif); font-size:clamp(26px,2.7vw,42px); letter-spacing:.08em; line-height:1; transition:opacity .3s; }
.hero__phone:hover { opacity:.75; }
@media (max-width:900px){ .hero__phone { margin-top:14px; font-size:24px; } }
@media (max-height:820px){ .hero__phone { margin-top:14px; } }
.hero__phone { font-family:var(--sans); font-weight:700; letter-spacing:.06em; }
.hero__sub { max-width:46ch; }
@media (max-width:900px){ .hero__sub { max-width:34ch; font-size:10.5px; } }
/* contact: address on one line, more room on the left (2026-08-25) */
.contact-grid { grid-template-columns:1.55fr 1fr; gap:48px; }
.contact h2 { font-size:clamp(38px,5vw,76px); }
@media (max-width:900px){ .contact h2 { font-size:clamp(30px,8.6vw,44px); } }
.contact-grid { grid-template-columns:1.3fr 1fr; gap:56px; }
.contact h2 { font-size:clamp(36px,4.6vw,68px); }
.nap .val { white-space:nowrap; }
@media (max-width:900px){ .nap .val { white-space:normal; } }

/* two-scene hero (2026-08-25) */
.hero__scene { position:absolute; inset:0; will-change:transform; overflow:hidden; }
.hero__scene video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:70% center; }
.hero__scene--b { transform:translateX(100%); }
@media (max-width:900px){ .hero__scene video { object-position:62% center; } }

/* ─── MOBILE OPTIMIZATION (2026-08-25) ─── */
html, body { overflow-x:clip; }
.page-wrap { overflow-x:clip; }
.hero__sticky { overflow:clip; }
.h-scroll-section, .h-scroll-sticky { overflow:clip; contain:paint; }
#navigation { visibility:hidden; transition:transform .85s var(--ease-wk), visibility 0s .85s; }
html.open-navi #navigation { visibility:visible; transition:transform .85s var(--ease-wk), visibility 0s 0s; }
@media (max-width:900px){
  .eyebrow, .card__kicker, .nap .lbl, .facts .lbl, .field label, .step, .h-card-num, .team-card .r, .bk-artist .r { font-size:12px; }
  .proof span, .hero__bar, .crumbs, .bottom-footer, .keep-scrolling { font-size:11px; }
  .last-nav .instagram, .bottom-footer a { padding:10px 0; }
  .brand { padding:6px 0; }
  .card__meta, .faq p, .note { font-size:14.5px; }
}

/* ─── SITE FOOTER (2026-08-26) ─── */
.site-footer { border-top:1px solid var(--hair); padding:9vh 0 6vh; background:#0d0d0d; }
.footer-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; }
.footer-brand p { color:var(--ink-dim); font-size:14.5px; line-height:1.7; max-width:34ch; margin:16px 0 20px; }
.footer-logo { width:150px; height:auto; opacity:.9; }
.footer-h { font-family:var(--serif); text-transform:uppercase; letter-spacing:.14em; font-size:18px; color:var(--primary); margin-bottom:16px; }
.footer-links { list-style:none; display:grid; gap:10px; }
.footer-links a { color:var(--ink); font-size:14.5px; position:relative; }
.footer-links a:hover { color:var(--primary); }
.site-footer p { color:var(--ink-dim); font-size:14.5px; line-height:1.75; margin-bottom:14px; }
.site-footer .btn--sm { margin-top:6px; }
@media (max-width:1023px){ .footer-grid { grid-template-columns:1fr 1fr; gap:34px; } }
@media (max-width:640px){ .footer-grid { grid-template-columns:1fr; gap:30px; } .footer-logo { width:120px; } }
.footer-scroll { height:56vh; }
/* nav: 7 links */
@media (min-width:1024px) and (max-width:1280px){ .qb-links { gap:22px; } .qb-links a { font-size:12px; } .qb-logo { height:56px; } }

/* ─── SHOP (2026-08-26) ─── */
.card--shop img { aspect-ratio:1/1; background:#111; }
.card__row--shop { align-items:center; justify-content:space-between; }
.price { font-family:var(--serif); font-size:26px; color:var(--accent); }
.cart-fab { position:fixed; right:22px; bottom:96px; z-index:1400; width:56px; height:56px; border-radius:50%; border:1px solid var(--primary); background:#141414; color:var(--primary); display:grid; place-items:center; cursor:pointer; box-shadow:0 10px 30px rgba(0,0,0,.5); transition:.3s; }
.cart-fab svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.6; }
.cart-fab.has-items { background:var(--gold-grad); color:#141005; border-color:transparent; }
.cart-count { position:absolute; top:-4px; right:-4px; min-width:20px; height:20px; padding:0 5px; border-radius:10px; background:#e0553d; color:#fff; font-size:11px; font-weight:600; display:grid; place-items:center; border:2px solid #0b0b0b; }
.cart-overlay { position:fixed; inset:0; z-index:1450; background:rgba(0,0,0,.6); backdrop-filter:blur(6px); opacity:0; visibility:hidden; transition:.4s; }
.cart-overlay.is-open { opacity:1; visibility:visible; }
.cart { position:fixed; top:0; right:0; height:100vh; width:min(420px,100vw); z-index:1460; background:var(--paper-2); border-left:1px solid var(--border); display:flex; flex-direction:column; transform:translateX(100%); transition:transform .6s cubic-bezier(.85,0,.15,1); }
.cart.is-open { transform:none; }
.cart__head { display:flex; align-items:center; justify-content:space-between; padding:22px 24px; border-bottom:1px solid var(--hair); }
.cart__head h3 { font-size:26px; }
.cart__x { background:none; border:none; color:var(--ink-dim); font-size:28px; cursor:pointer; line-height:1; }
.cart__items { flex:1; overflow-y:auto; padding:18px 24px; display:grid; gap:14px; align-content:start; }
.cart__item { display:grid; grid-template-columns:76px 1fr; gap:14px; align-items:center; border:1px solid var(--hair); border-radius:12px; padding:10px; }
.cart__item img { width:76px; height:76px; object-fit:cover; border-radius:8px; }
.cart__name { font-size:14.5px; }
.cart__price { color:var(--accent); font-size:14px; margin:2px 0 6px; }
.qty { display:flex; align-items:center; gap:8px; }
.qty button { width:28px; height:28px; border-radius:50%; border:1px solid var(--hair); background:none; color:var(--ink); cursor:pointer; }
.qty .rm { width:auto; height:auto; border:none; color:var(--muted); font-size:11px; letter-spacing:.1em; text-transform:uppercase; margin-left:6px; }
.cart__foot { padding:18px 24px 24px; border-top:1px solid var(--hair); }
.cart__total { display:flex; justify-content:space-between; font-size:15px; margin-bottom:14px; }
.cart__total b { font-family:var(--serif); font-size:26px; color:var(--accent); }
.cart__foot .btn { width:100%; }
.modal__box--left { text-align:left; position:relative; }
.modal__box--left h3 { font-size:30px; margin-bottom:6px; }
.modal__x { position:absolute; top:14px; right:18px; }
@media (max-width:480px){ .cart-fab { right:14px; bottom:88px; } }
/* page titles on studio/contact (2026-08-26) */
.craft-intro h1 { font-size:clamp(44px,6.4vw,92px); margin:14px 0 24px; }
.contact h1 { font-size:clamp(36px,4.6vw,68px); line-height:.98; margin:14px 0 26px; }
@media (max-width:900px){ .contact h1 { font-size:clamp(30px,8.6vw,44px); } }

/* ─── RESOURCES (2026-08-26) ─── */
.card--doc { padding: 22px 22px 20px; }
.doc__top { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; margin-bottom:16px; }
.doc__top .card__title { font-size:24px; }
.qr { width:84px; height:84px; flex:none; border-radius:8px; background:#fff; padding:4px; }
.card--doc .card__row { margin-top:4px; }
@media (min-width:1024px) and (max-width:1380px){ .qb-links { gap:18px; } .qb-links a { font-size:11.5px; letter-spacing:.04em; } }
@media (min-width:1024px) and (max-width:1150px){ .qb-logo { height:48px; } .qb-links { gap:14px; } }

.grid--docs { grid-template-columns:repeat(auto-fill,minmax(400px,1fr)); }
@media (max-width:900px){ .grid--docs { grid-template-columns:1fr; } }
.card--doc img.qr { width:92px; height:92px; aspect-ratio:1/1; object-fit:contain; border-radius:8px; background:#fff; padding:4px; }
.card--doc .doc__top .card__title { font-size:clamp(22px,1.7vw,26px); line-height:1.08; }
.card--doc .card__kicker { margin-bottom:8px; }

/* ─── RESOURCES v3: smaller image, centered action + QR (2026-08-26) ─── */
.card--doc .doc__img { aspect-ratio:3/2; }
.card--doc .card__body { padding:20px 22px 22px; text-align:center; align-items:center; }
.card--doc .card__kicker { margin-bottom:6px; }
.card--doc .card__title { font-size:clamp(21px,1.5vw,24px); line-height:1.1; max-width:22ch; }
.doc__foot { display:flex; flex-direction:column; align-items:center; gap:14px; width:100%; margin-top:auto; padding-top:18px; border-top:1px solid var(--hair); }
.doc__foot > div { display:flex; flex-direction:column; align-items:center; gap:10px; width:100%; }
.doc__foot .btn { width:100%; max-width:260px; }
.card--doc img.qr { order:2; width:72px; height:72px; margin-top:2px; }
.doc__note { order:3; margin:0; font-size:10.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); }

.card--doc img.qr { display:none; }
.doc__foot { gap:10px; }

/* ─── RESOURCES v4: 3 equal cards per row, menu-font titles (2026-08-27) ─── */
.grid.grid--docs { grid-template-columns:repeat(3, minmax(0,1fr)) !important; gap:22px; align-items:stretch; }
@media (max-width:1023px){ .grid.grid--docs { grid-template-columns:repeat(2, minmax(0,1fr)) !important; } }
@media (max-width:640px){ .grid.grid--docs { grid-template-columns:1fr !important; } }
.card--doc { min-height:440px; }
.card--doc .doc__img { aspect-ratio:3/2; }
.card--doc .card__title { font-family:var(--sans); font-weight:700; font-size:18px; line-height:1.25; letter-spacing:.05em; text-transform:uppercase; color:#fefbf4; max-width:none; min-height:2.5em; display:flex; align-items:center; justify-content:center; }
.card--doc .card__kicker { font-size:10.5px; }
.card--doc .doc__foot { padding-top:16px; }
.card--doc .doc__foot .btn { max-width:240px; }
.card--doc .doc__note { min-height:2.8em; display:flex; align-items:center; justify-content:center; }
.card--doc { height:512px; min-height:0; }
@media (max-width:640px){ .card--doc { height:auto; } }

/* Instagram links (menu + footer) */
.ig-icon { flex:none; }
.ig-link { display:inline-flex; align-items:center; gap:7px; color:var(--ink); }
.ig-link .ig-icon { color:var(--primary); }

/* Reviews (hidden from quickbar; bottom of overlay menu) */
.nav-bottom { margin-top:clamp(18px,3vh,34px); padding-top:16px; border-top:1px solid var(--hair); position:relative; z-index:1; }
.nav-reviews { display:inline-flex; align-items:center; gap:10px; font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-dim); transition:.3s ease; }
.nav-reviews:hover { color:var(--ink); }
.nav-stars { color:var(--primary); letter-spacing:.08em; font-size:13px; }
.stars { display:flex; gap:8px; }
.stars svg { width:34px; height:34px; fill:var(--primary); }
.stars--big svg { width:clamp(36px,4.5vw,56px); height:auto; }
.stars--sm svg { width:16px; height:16px; }
.review-hero { position:relative; min-height:100vh; min-height:100dvh; display:flex; align-items:center; justify-content:center; text-align:center; padding:calc(96px + 4vh) 24px 10vh; overflow:hidden; }
.review-hero__bg { position:absolute; inset:0; background:url(still-E-happy-clients.jpg) center/cover no-repeat; opacity:.55; }
.review-hero__bg:after { content:""; position:absolute; inset:0; background:radial-gradient(ellipse at 50% 35%, rgba(212,175,55,.16), transparent 55%), linear-gradient(180deg, rgba(11,11,11,.62) 0%, rgba(11,11,11,.78) 55%, rgba(11,11,11,.96) 100%); }
.review-hero__inner { position:relative; max-width:720px; display:flex; flex-direction:column; align-items:center; gap:18px; }
.review-hero h1 { font-size:clamp(40px,6vw,76px); line-height:1.05; letter-spacing:.06em; text-transform:uppercase; }
.review-hero h1 .script { font-family:var(--script); text-transform:none; letter-spacing:0; font-size:1.25em; background:var(--gold-grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
.review-hero p { color:var(--ink-dim); font-size:clamp(15px,1.3vw,19px); line-height:1.6; max-width:50ch; }
.review-hero .stars--big svg { filter:drop-shadow(0 6px 18px rgba(212,175,55,.35)); }
.review-hero__qr { margin-top:14px; display:flex; flex-direction:column; align-items:center; gap:10px; }
.review-hero__qr img { width:150px; border-radius:12px; background:#fff; padding:8px; box-shadow:0 18px 50px rgba(0,0,0,.55); }
.review-hero__qr span { font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--muted); }
@media (max-width:640px) { .review-hero__qr { display:none; } }
