/* =====================================================================
   Velux Hair Clinic - shared stylesheet (all pages)
   Sections: tokens/base - buttons - progress+cursor - header/mega/mobile menu
   - technique list - results gallery + lightbox - VIP (cream) - analysis block
   - footer - reveal - GENERIC PAGE COMPONENTS (hero, crumbs, prose, FAQ, stats,
   related cards, comparison table, callout, facts, team) - reduced motion.
   Home-only styles (intro, hero, manifesto, story, reviews, strips): home.css
   Design source: velux-v1.html. Tokens are the --vx values from the root CLAUDE.md.
   ===================================================================== */
:root{
  --gold:#E0B86B; --gold-dark:#B9974C; --gold-light:#F1E1A1; --bronze:#924004; --champagne:#E3C8AD;
  --black:#0E1012; --bg2:#0F0F13; --card:#14161A; --cream:#FDFBF7; --text:#333333; --muted:#666666;
  --ink:#EDE6DA; --ink-dim:rgba(237,230,218,.62); --line:rgba(224,184,107,.18);
  --grad-gold:linear-gradient(135deg,#E0B86B 0%,#B9974C 100%);
  --radius:28px; --ease:cubic-bezier(.2,.7,.1,1);
  --gutter:clamp(16px,4vw,56px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--black)}
body{background:var(--black);color:var(--ink);font-family:Outfit,"Outfit Fallback",system-ui,sans-serif;font-weight:300;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:6px}

.wrap{width:100%;max-width:1320px;margin:0 auto;padding:0 var(--gutter)}
.serif{font-family:"Cormorant Garamond","Cormorant Fallback",Georgia,serif;font-style:italic;font-weight:500;text-transform:none;letter-spacing:0;color:var(--champagne)}
.eyebrow{display:inline-flex;align-items:center;gap:14px;font-size:12px;font-weight:500;letter-spacing:4px;text-transform:uppercase;color:var(--gold)}
.eyebrow::before{content:"";width:28px;height:1px;background:currentColor}
.h2{font-weight:200;text-transform:uppercase;letter-spacing:2px;font-size:clamp(32px,5.2vw,72px);line-height:1.04;margin-top:22px}
.h2 .serif{font-size:1.1em}
.lead{color:var(--ink-dim);font-size:clamp(16px,1.3vw,19px);max-width:52ch}
.section{padding:clamp(96px,14vw,180px) 0}
.sec-head{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:end;margin-bottom:clamp(48px,6vw,88px)}
@media(max-width:860px){.sec-head{grid-template-columns:1fr;gap:20px}}

/* ---------- buttons ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;height:56px;padding:0 30px;border-radius:50px;font-size:13px;font-weight:500;letter-spacing:2px;text-transform:uppercase;white-space:nowrap;transition:transform .45s var(--ease),box-shadow .4s,background .4s,color .4s,border-color .4s}
.btn svg{width:18px;height:18px;flex:none}
.btn-gold{background:var(--grad-gold);color:#1A140A;box-shadow:0 10px 40px rgba(224,184,107,.22)}
.btn-gold:hover{box-shadow:0 14px 54px rgba(224,184,107,.45)}
.btn-ghost{border:1px solid rgba(224,184,107,.45);color:var(--ink)}
.btn-ghost:hover{background:rgba(224,184,107,.1);border-color:var(--gold)}
.ico{fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}

/* ---------- progress, cursor ---------- */
.progress{position:fixed;top:0;left:0;z-index:60;width:100%;height:2px;background:var(--grad-gold);transform:scaleX(0);transform-origin:0 50%}

.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;z-index:150;border-radius:50%;pointer-events:none;transition:opacity .3s}
.cursor-dot{width:6px;height:6px;margin:-3px 0 0 -3px;background:var(--gold-light)}
.cursor-ring{display:grid;place-items:center;width:40px;height:40px;margin:-20px 0 0 -20px;border:1px solid rgba(224,184,107,.6);font-size:9px;font-weight:500;letter-spacing:2px;color:var(--gold-light);transition:width .35s var(--ease),height .35s var(--ease),margin .35s var(--ease),background .35s,border-color .35s,opacity .3s}
.cursor-ring.hover{width:76px;height:76px;margin:-38px 0 0 -38px;background:rgba(224,184,107,.08);border-color:var(--gold)}
body:not(.has-cursor) .cursor-dot,body:not(.has-cursor) .cursor-ring{display:none}
body.has-cursor,body.has-cursor *{cursor:none!important}

/* =====================================================================
   SITE HEADER: nav bar, mega menus, mobile menu
   ===================================================================== */
.skip-link{position:fixed;left:16px;top:-80px;z-index:300;padding:12px 22px;border-radius:50px;background:var(--grad-gold);color:#1A140A;font-size:13px;font-weight:500;letter-spacing:1px;transition:top .3s var(--ease)}
.skip-link:focus{top:16px}

.nav{position:fixed;inset:0 0 auto 0;z-index:50;transition:transform .55s var(--ease),background .4s,border-color .4s;border-bottom:1px solid transparent}
.nav.scrolled,.nav.menu-open{background:rgba(14,16,18,.82);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom-color:var(--line)}
.nav.hide{transform:translateY(-100%)}
.nav>.wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;height:84px}
/* wordmark PNG/WebP (336x88 = 2x of 168x44), tightly cropped, never recoloured or stretched */
.logo{display:block;flex:none;width:168px;height:44px}
.logo img{width:168px;height:44px;max-width:none}
.logo .logo-text{display:block;line-height:44px}
.logo-text{font-weight:300;font-size:22px;letter-spacing:8px;color:var(--champagne)}

.nav-main{flex:1;display:flex;justify-content:center;min-width:0}
.nav-list{display:flex;align-items:center;gap:clamp(14px,1.45vw,20px);list-style:none;font-size:clamp(11px,.84vw,12px);letter-spacing:clamp(1.3px,.16vw,2.25px);text-transform:uppercase}
.nav-item{position:static}
.nav-link{position:relative;display:inline-flex;align-items:center;gap:8px;padding:31px 0;font:inherit;letter-spacing:inherit;text-transform:inherit;white-space:nowrap;color:var(--ink-dim);transition:color .3s}
.nav-link::after{content:"";position:absolute;left:0;right:100%;bottom:24px;height:1px;background:var(--gold);transition:right .45s var(--ease)}
.nav-link:hover,.nav-link[aria-expanded="true"]{color:var(--ink)}
.nav-link:hover::after,.nav-link[aria-expanded="true"]::after,.nav-link.is-active::after{right:0}
.nav-link.is-active{color:var(--gold-light)}
.chev{flex:none;width:10px;height:10px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s var(--ease)}
[aria-expanded="true"]>.chev{transform:rotate(180deg)}
.nav-actions{display:flex;align-items:center;gap:12px;flex:none}
.nav .btn{height:44px;padding:0 22px;font-size:12px}
.burger{display:none;place-items:center;flex:none;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;color:var(--gold-light);transition:border-color .3s,background .3s}
.burger:hover{border-color:var(--gold);background:rgba(224,184,107,.08)}
.burger svg{width:22px;height:22px}

/* mega panels: always in the DOM (SEO + no-JS), shown by .is-open (JS) or :hover/:focus-within without JS */
.mega{position:absolute;left:0;right:0;top:100%;visibility:hidden;opacity:0;transform:translateY(8px);pointer-events:none;max-height:calc(100svh - 96px);overflow-y:auto;overscroll-behavior:contain;background:rgba(14,16,18,.996);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 36px 80px rgba(0,0,0,.55);text-transform:none;letter-spacing:0;transition:opacity .3s var(--ease),transform .4s var(--ease),visibility 0s linear .4s}
.nav-item.is-open>.mega,
html:not(.js) .nav-item:hover>.mega,html:not(.js) .nav-item:focus-within>.mega{visibility:visible;opacity:1;transform:none;pointer-events:auto;transition-delay:0s}
.mega-inner{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px 56px;padding-top:40px;padding-bottom:26px}
.mega-inner--regions{grid-template-columns:minmax(0,1fr)}
.mega-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}
.mega-cols--regions{grid-template-columns:repeat(5,minmax(0,1fr));gap:32px}
.mega-col--span2{grid-column:span 2}
.mega-group+.mega-group{margin-top:26px}
.mega-title{display:block;margin-bottom:12px;font-size:11px;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:var(--gold)}
a.mega-title{transition:color .3s}
a.mega-title::after{content:"→";display:inline-block;margin-left:8px;opacity:0;transform:translateX(-4px);transition:opacity .3s,transform .4s var(--ease)}
a.mega-title:hover,a.mega-title:focus-visible{color:var(--gold-light)}
a.mega-title:hover::after,a.mega-title:focus-visible::after{opacity:1;transform:none}
.mega-links{list-style:none}
.mega-col--span2 .mega-links{columns:2;column-gap:32px}
.mega-links li{break-inside:avoid}
.mega-links a{display:flex;align-items:center;gap:6px;padding:6px 0;font-size:15px;font-weight:300;line-height:1.35;color:var(--ink-dim);transition:color .3s,transform .4s var(--ease)}
.mega-cols--regions .mega-links a{font-size:14px;padding:5px 0}
.mega-links a:hover{color:var(--ink);transform:translateX(4px)}
.mega-links a[aria-current="page"]{color:var(--gold-light)}
.mega-links .is-sub a{padding-left:14px;font-size:13px}
.badge{margin-left:6px;padding:2px 9px;border:1px solid rgba(224,184,107,.5);border-radius:50px;font-size:9px;font-style:normal;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold)}
.mega-card{align-self:start;padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:radial-gradient(ellipse at 0% 0%,rgba(146,64,4,.34),transparent 60%),var(--card)}
.mega-card .eyebrow{font-size:11px;letter-spacing:3px}
.mega-card-title{margin:16px 0 8px;font-size:22px;font-weight:300;line-height:1.25;color:var(--ink)}
.mega-card-text{margin-bottom:20px;font-size:14px;color:var(--ink-dim)}
.mega-card .btn{height:44px;padding:0 22px;font-size:12px}
.mega-foot{grid-column:1/-1;display:flex;justify-content:flex-end;padding-top:18px;border-top:1px solid var(--line)}
.mega-all{display:inline-flex;align-items:center;gap:12px;font-size:12px;font-weight:500;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold-light);transition:gap .4s var(--ease),color .3s}
.mega-all:hover{gap:18px;color:var(--gold)}
/* small dropdown (Kurumsal) */
.nav-item--dropdown{position:relative}
.mega-dd{left:-26px;right:auto;top:100%;min-width:250px;padding:14px 26px 16px;border:1px solid var(--line);border-top-color:var(--gold-dark);border-radius:0 0 20px 20px;max-height:none}

/* mobile menu (full screen). Lives outside <header> because .nav's backdrop-filter would trap position:fixed. */
.mmenu{position:fixed;inset:0;z-index:70;display:flex;flex-direction:column;visibility:hidden;opacity:0;transform:translateY(-12px);background:radial-gradient(ellipse at 100% 0%,rgba(146,64,4,.28),transparent 55%),var(--black);transition:opacity .35s var(--ease),transform .45s var(--ease),visibility 0s linear .45s}
.mmenu.open{visibility:visible;opacity:1;transform:none;transition-delay:0s}
.mmenu-top{display:flex;align-items:center;justify-content:space-between;flex:none;height:84px;padding:0 var(--gutter);border-bottom:1px solid var(--line)}
.mmenu-nav{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:8px var(--gutter) 24px}
.m-list{list-style:none}
.m-list>li{border-bottom:1px solid var(--line)}
.m-link,.m-acc-btn{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:20px 0;font-size:15px;font-weight:400;letter-spacing:2.5px;text-transform:uppercase;text-align:left;color:var(--ink)}
.m-acc-btn .chev{width:14px;height:14px;color:var(--gold)}
.m-link.is-active,.m-acc-btn.is-active{color:var(--gold-light)}
.m-acc-panel{padding:0 0 20px}
.m-acc-panel:not([hidden]){animation:mIn .4s var(--ease)}
@keyframes mIn{from{opacity:0;transform:translateY(-6px)}}
.m-sub-title{margin:18px 0 4px;font-size:11px;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:var(--gold)}
.m-sub{list-style:none}
.m-sub a{display:block;padding:9px 0;font-size:16px;color:var(--ink-dim)}
.m-sub a[aria-current="page"]{color:var(--gold-light)}
.m-all{display:inline-block;margin-top:14px;font-size:12px;font-weight:500;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold-light)}
.m-acc--nested{border-top:1px solid var(--line)}
.m-acc--nested:first-child{border-top:0}
.m-acc--nested .m-acc-btn{padding:14px 0;font-size:13px;letter-spacing:2px;color:var(--ink-dim)}
.m-acc--nested .m-acc-panel{padding-bottom:10px}
.mmenu-foot{display:grid;grid-template-columns:1fr 1fr;gap:12px;flex:none;padding:16px var(--gutter) calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:rgba(14,16,18,.9)}
.mmenu-foot .btn{height:50px;padding:0 14px;letter-spacing:1.5px}
.mmenu-analiz{grid-column:1/-1}
html.menu-lock{overflow:hidden}
html.menu-lock body{padding-right:var(--sbw,0)}

@media(max-width:1240px){
  .nav-main{display:none}
  .burger{display:grid}
  .nav>.wrap{justify-content:space-between}
}
@media(min-width:1241px){.mmenu{display:none}}
@media(min-width:1241px){.nav .btn{padding:0 18px;letter-spacing:1.5px}}
@media(max-width:560px){.nav-cta{display:none}}


/* ---------- techniques ---------- */
.tech-list{list-style:none;border-bottom:1px solid var(--line)}
.tech-row a{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) 56px;gap:32px;align-items:center;padding:clamp(26px,3vw,42px) clamp(8px,2vw,24px);border-top:1px solid var(--line);overflow:hidden}
.tech-row a::before{content:"";position:absolute;inset:0;background:radial-gradient(440px circle at var(--mx,50%) var(--my,50%),rgba(224,184,107,.13),transparent 65%);opacity:0;transition:opacity .45s;pointer-events:none}
.tech-row a:hover::before,.tech-row a:focus-visible::before{opacity:1}
.tech-name{font-weight:200;font-size:clamp(28px,4.2vw,58px);line-height:1.02;letter-spacing:2px;text-transform:uppercase;transition:transform .7s var(--ease),color .4s}
.tech-row a:hover .tech-name{transform:translateX(14px);color:var(--gold-light)}
.tech-tag{display:block;margin-bottom:8px;font-size:11px;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:var(--gold)}
.tech-desc{color:var(--ink-dim);font-size:15px}
.tech-arrow{display:grid;place-items:center;width:56px;height:56px;border:1px solid var(--line);border-radius:50%;color:var(--gold);transition:background .4s,color .4s,transform .6s var(--ease),border-color .4s}
.tech-arrow svg{width:20px;height:20px}
.tech-row a:hover .tech-arrow{background:var(--gold);border-color:var(--gold);color:#1A140A;transform:rotate(-45deg)}
.more{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:36px;font-size:12px;letter-spacing:2.5px;text-transform:uppercase;color:var(--ink-dim)}
.chip{padding:10px 18px;border:1px solid var(--line);border-radius:50px;color:var(--ink);transition:border-color .3s,background .3s}
.chip:hover{border-color:var(--gold);background:rgba(224,184,107,.08)}
@media(max-width:760px){.tech-row a{grid-template-columns:1fr;gap:12px}.tech-arrow{display:none}}

/* ---------- results gallery + lightbox ---------- */
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:36px}
.fchip{padding:11px 22px;border:1px solid var(--line);border-radius:50px;font-size:12px;font-weight:500;letter-spacing:2.5px;text-transform:uppercase;color:var(--ink-dim);transition:border-color .3s,background .3s,color .3s}
.fchip:hover{border-color:var(--gold);color:var(--ink)}
.fchip[aria-pressed="true"]{background:var(--grad-gold);border-color:transparent;color:#1A140A}
.gal{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.gal.collapsed .extra{display:none}
.card{display:block;width:100%;text-align:left;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);overflow:hidden;transition:border-color .4s,box-shadow .5s}
.card:hover,.card:focus-visible{border-color:rgba(224,184,107,.65);box-shadow:0 18px 60px rgba(0,0,0,.45),0 0 0 1px rgba(224,184,107,.12)}
.card-img{display:block;aspect-ratio:4/5;overflow:hidden;background:var(--bg2)}
.card-img img{width:100%;height:100%;object-fit:contain;transition:transform 1.1s var(--ease)}
.card:hover .card-img img,.card:focus-visible .card-img img{transform:scale(1.04)}
.card-cap{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 22px 18px;border-top:1px solid var(--line)}
.card-cap b{font-weight:400;font-size:15px;letter-spacing:1px;color:var(--ink)}
.card-cap span{font-size:11px;font-weight:500;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);white-space:nowrap}
.gal-more{margin-top:44px;text-align:center}
.gal-all{margin-top:44px;text-align:center}
.tech-head{align-items:start}
.graft{position:relative;margin-top:28px;aspect-ratio:16/10;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg2)}
.graft img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;filter:brightness(1.12) contrast(1.05)}
.graft figcaption{position:absolute;left:0;right:0;bottom:0;padding:44px 22px 18px;background:linear-gradient(to top,rgba(14,16,18,.85),rgba(14,16,18,0));font-size:11px;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:var(--gold-light)}
@media(max-width:1000px){.gal{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
  .gal{display:flex;gap:14px;margin:0 calc(var(--gutter) * -1);padding:0 var(--gutter) 10px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 var(--gutter);scrollbar-width:none}
  .gal::-webkit-scrollbar{display:none}
  .gal li{flex:0 0 78%;scroll-snap-align:start}
  .gal.collapsed .extra{display:block}
  .gal-more{display:none}
}
@media(max-width:480px){
  .fchip{padding:10px 14px;letter-spacing:2px}
}
.lb{position:fixed;inset:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;background:rgba(8,9,11,.95);color:var(--ink);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.lb[open]{display:flex;flex-direction:column}
.lb::backdrop{background:transparent}
.lb-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px var(--gutter)}
.lb-title{font-size:13px;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:var(--gold-light)}
.lb-cap{margin-top:2px;font-size:13px;color:var(--ink-dim)}
.lb-btn{flex:none;display:grid;place-items:center;width:52px;height:52px;border:1px solid var(--line);border-radius:50%;background:rgba(14,16,18,.7);color:var(--gold-light);transition:border-color .3s,background .3s}
.lb-btn:hover{border-color:var(--gold);background:rgba(224,184,107,.1)}
.lb-btn svg{width:22px;height:22px}
.lb-stage{position:relative;flex:1;min-height:0;display:grid;grid-template-columns:52px minmax(0,1fr) 52px;align-items:center;gap:16px;padding:0 var(--gutter)}
.lb-fig{grid-column:2;display:flex;align-items:center;justify-content:center;min-width:0;margin:0;touch-action:pan-y}
.lb-fig img{display:block;max-width:100%;max-height:calc(100vh - 250px);max-height:calc(100dvh - 250px);width:auto;height:auto;border:1px solid var(--line);border-radius:20px;background:var(--card)}
.lb-thumbs{display:flex;justify-content:center;gap:10px;padding:14px var(--gutter) 22px;overflow-x:auto}
.lb-th{flex:none;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:10px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--ink-dim);opacity:.65;transition:opacity .3s,color .3s}
.lb-th img{width:52px;height:65px;object-fit:cover;border:1px solid var(--line);border-radius:12px;transition:border-color .3s}
.lb-th:hover{opacity:1}
.lb-th[aria-current="true"]{opacity:1;color:var(--gold-light)}
.lb-th[aria-current="true"] img{border-color:var(--gold)}
.lb-btn[hidden],.lb-thumbs[hidden]{display:none}
html.lb-lock{overflow:hidden}
html.lb-lock body{padding-right:var(--sbw,0)}
body.lb-open .cursor-dot,body.lb-open .cursor-ring{display:none}
body.has-cursor.lb-open,body.has-cursor.lb-open *{cursor:auto!important}
body.has-cursor.lb-open button{cursor:pointer!important}
@media(max-width:700px){
  .lb-stage{grid-template-columns:minmax(0,1fr)}
  .lb-fig{grid-column:1}
  .lb-nav{position:absolute;top:50%;z-index:2;width:44px;height:44px;margin-top:-22px}
  .lb-nav.prev{left:calc(var(--gutter) + 6px)}.lb-nav.next{right:calc(var(--gutter) + 6px)}
  .lb-fig img{max-height:calc(100vh - 230px);max-height:calc(100dvh - 230px)}
}

/* ---------- VIP (cream) ---------- */
.vip{background:var(--cream);color:var(--text)}
.vip .eyebrow{color:var(--bronze)}
.vip .h2{color:#1A1712}
.vip .h2 .serif{color:var(--gold-dark)}
.vip .lead{color:var(--muted)}
.vip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.vip-card{position:relative;display:flex;flex-direction:column;min-height:320px;height:100%;padding:34px 28px 32px;border:1px solid rgba(185,151,76,.24);border-radius:var(--radius);background:#fff;box-shadow:0 8px 30px rgba(0,0,0,.06);overflow:hidden;transition:transform .6s var(--ease),box-shadow .5s}
.vip-card::after{content:"";position:absolute;inset:0;background:radial-gradient(360px circle at var(--gx,50%) var(--gy,50%),rgba(241,225,161,.4),transparent 60%);opacity:0;transition:opacity .4s;pointer-events:none}
.vip-card:hover{box-shadow:0 22px 60px rgba(146,64,4,.12)}
.vip-card:hover::after{opacity:1}
.vip-ico{display:grid;place-items:center;width:56px;height:56px;margin-bottom:auto;border:1px solid rgba(185,151,76,.45);border-radius:50%;color:var(--gold-dark)}
.vip-ico svg{width:24px;height:24px}
.vip-card h3{position:relative;z-index:1;margin-top:56px;font-weight:500;font-size:15px;letter-spacing:1.8px;text-transform:uppercase;color:#1A1712}
.vip-card p{position:relative;z-index:1;margin-top:10px;font-size:15px;color:var(--muted)}
@media(max-width:1060px){.vip-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.vip-grid{grid-template-columns:1fr}.vip-card{min-height:0}}

/* ---------- analysis ---------- */
.box{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,80px);padding:clamp(28px,5vw,72px);border:1px solid var(--line);border-radius:36px;background:radial-gradient(ellipse at 0% 0%,rgba(146,64,4,.34),transparent 55%),var(--card)}
.box .h2{font-size:clamp(30px,4vw,56px)}
.call{display:inline-flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:30px;font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--ink-dim)}
.call a{color:var(--gold-light);border-bottom:1px solid var(--line)}
.q-card{padding:clamp(24px,3vw,36px);border:1px solid var(--line);border-radius:var(--radius);background:rgba(14,16,18,.55)}
.q-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:var(--gold)}
.q-bar{height:2px;margin-top:14px;border-radius:2px;background:var(--line);overflow:hidden}
.q-bar span{display:block;height:100%;background:var(--grad-gold);transform:scaleX(0);transform-origin:0 50%;transition:transform .6s var(--ease)}
.q-title{margin:28px 0 22px;font-weight:300;font-size:clamp(22px,2.2vw,30px);line-height:1.25}
.opts{display:grid;gap:12px}
.opt{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border:1px solid var(--line);border-radius:15px;text-align:left;font-size:16px;transition:border-color .3s,background .3s,padding .4s var(--ease)}
.opt span{color:var(--gold);transition:transform .4s var(--ease)}
.opt:hover{border-color:var(--gold);background:rgba(224,184,107,.06);padding-left:28px}
.opt:hover span{transform:translateX(4px)}
.q-sum{list-style:none;margin-bottom:18px;border-top:1px solid var(--line)}
.q-sum li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:16px}
.q-sum span{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--ink-dim)}
.q-hint{margin-bottom:24px;font-size:15px;color:var(--ink-dim)}
.q-back{margin-top:20px;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--ink-dim)}
.q-back:hover{color:var(--gold-light)}
@media(max-width:900px){.box{grid-template-columns:minmax(0,1fr)}}
@media(max-width:480px){.q-card .btn{width:100%;padding:0 14px;letter-spacing:1px}}

/* =====================================================================
   FOOTER
   ===================================================================== */
.footer{padding:88px 0 32px;border-top:1px solid var(--line)}
.f-top{display:grid;grid-template-columns:1.25fr 1fr 1fr 1.1fr 1.3fr;gap:36px}
.f-slogan{margin-top:22px;font-family:"Cormorant Garamond","Cormorant Fallback",Georgia,serif;font-style:italic;font-size:30px;line-height:1.2;color:var(--champagne)}
.f-social{margin-top:18px}
.f-social a{font-size:14px;color:var(--ink-dim);border-bottom:1px solid var(--line);transition:color .3s,border-color .3s}
.f-social a:hover{color:var(--gold-light);border-color:var(--gold)}
.f-col h3{margin-bottom:16px;font-size:12px;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:var(--gold)}
.f-col p,.f-col a,.f-col address{display:block;font-size:15px;font-style:normal;line-height:1.9;color:var(--ink-dim)}
.f-col a{transition:color .3s}
.f-col a:hover,.f-col a[aria-current="page"]{color:var(--gold-light)}
.f-contact address,.f-contact .f-hours{margin-bottom:12px}
.f-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;margin-top:64px;padding-top:24px;border-top:1px solid var(--line);font-size:12px;letter-spacing:1px;color:var(--ink-dim)}
.f-legal{display:flex;flex-wrap:wrap;gap:6px 22px}
.f-legal a{transition:color .3s}
.f-legal a:hover,.f-legal a[aria-current="page"]{color:var(--gold-light)}
@media(max-width:1180px){.f-top{grid-template-columns:repeat(3,minmax(0,1fr))}.f-brand{grid-column:1/-1}}
@media(max-width:700px){.f-top{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.f-top{grid-template-columns:1fr}}

.fab{position:fixed;right:20px;bottom:20px;z-index:40;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--grad-gold);color:#1A140A;box-shadow:0 12px 40px rgba(0,0,0,.45),0 0 0 6px rgba(224,184,107,.12);transition:transform .45s var(--ease)}
.fab svg{width:24px;height:24px}


/* ---------- reveal ---------- */
[data-reveal]{opacity:0;transform:translateY(40px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease);transition-delay:var(--d,0s)}
[data-reveal].in{opacity:1;transform:none}

/* =====================================================================
   GENERIC PAGE COMPONENTS (non-home pages)
   Dark by default; add .cream to a <section> for the light variant.
   ===================================================================== */

/* ---------- layout helpers ---------- */
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.section--tight{padding:clamp(56px,8vw,110px) 0}
.pt-0{padding-top:0}
.cta-section{padding-top:0;padding-bottom:clamp(56px,7vw,96px)}
.cream+.cta-section{padding-top:clamp(96px,14vw,180px)}
.cream{background:var(--cream);color:var(--text)}
.cream .eyebrow{color:var(--bronze)}
.cream .h2{color:#1A1712}
.cream .h2 .serif{color:var(--gold-dark)}
.cream .lead{color:var(--muted)}
.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:start}
.split-aside{position:sticky;top:120px}
.split-aside .h2{font-size:clamp(28px,3.4vw,52px)}
@media(max-width:900px){.split{grid-template-columns:minmax(0,1fr)}.split-aside{position:static}}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media(max-width:1000px){.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.grid-2,.grid-3{grid-template-columns:minmax(0,1fr)}}

/* ---------- breadcrumb ---------- */
.crumbs{margin-bottom:30px;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--ink-dim)}
.crumbs ol{display:flex;flex-wrap:wrap;gap:6px 0;list-style:none}
.crumbs li{display:inline-flex;align-items:center}
.crumbs li+li::before{content:"";width:5px;height:5px;margin:0 14px;border-top:1px solid var(--gold);border-right:1px solid var(--gold);transform:rotate(45deg)}
.crumbs a{transition:color .3s}
.crumbs a:hover{color:var(--gold-light)}
.crumbs [aria-current]{color:var(--gold-light)}

/* ---------- page hero (non-home) ---------- */
.page-hero{position:relative;padding:clamp(132px,15vw,200px) 0 clamp(56px,7vw,96px);overflow:hidden;border-bottom:1px solid var(--line)}
.page-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 58% 90% at 88% 0%,rgba(146,64,4,.30),transparent 62%),radial-gradient(ellipse 46% 70% at 4% 100%,rgba(224,184,107,.07),transparent 70%)}
.page-hero>.wrap{position:relative}
.h1{margin:24px 0 26px;font-weight:200;text-transform:uppercase;letter-spacing:3px;font-size:clamp(34px,6.2vw,88px);line-height:1}
.h1 .serif{font-size:1.06em;color:var(--gold-light)}
.page-hero .h1{max-width:18ch}
.page-hero .lead{max-width:56ch}
.page-hero .info-stats{margin-top:clamp(36px,5vw,64px)}

/* ---------- prose / article typography ---------- */
.prose{max-width:68ch;font-size:clamp(16px,1.2vw,18px);line-height:1.8;color:var(--ink-dim)}
.prose>*+*{margin-top:1.2em}
.prose h2{margin-top:2.2em;font-weight:200;text-transform:uppercase;letter-spacing:2px;font-size:clamp(24px,3vw,38px);line-height:1.15;color:var(--ink)}
.prose h3{margin-top:1.8em;font-weight:400;font-size:clamp(17px,1.6vw,21px);letter-spacing:1.5px;text-transform:uppercase;color:var(--gold-light)}
.prose>h2:first-child,.prose>h3:first-child{margin-top:0}
.prose h2+*,.prose h3+*{margin-top:.9em}
.prose strong{font-weight:500;color:var(--ink)}
.prose em{font-style:italic;color:var(--champagne)}
.prose a{color:var(--gold-light);border-bottom:1px solid rgba(224,184,107,.4);transition:border-color .3s,color .3s}
.prose a:hover{color:var(--gold);border-bottom-color:var(--gold)}
.prose ul,.prose ol{list-style:none}
.prose li{position:relative;padding-left:28px}
.prose li+li{margin-top:.55em}
.prose ul>li::before{content:"";position:absolute;left:0;top:.9em;width:12px;height:1px;background:var(--gold)}
.prose ol{counter-reset:p}
.prose ol>li{counter-increment:p}
.prose ol>li::before{content:counter(p,decimal-leading-zero);position:absolute;left:0;top:.35em;font-size:.72em;font-weight:500;letter-spacing:2px;color:var(--gold)}
.prose blockquote{padding:4px 0 4px 26px;border-left:1px solid var(--gold);font-family:"Cormorant Garamond","Cormorant Fallback",Georgia,serif;font-style:italic;font-weight:500;font-size:1.4em;line-height:1.35;color:var(--champagne)}
.prose hr{height:1px;margin:2.4em 0;border:0;background:var(--line)}
.prose figure img{width:100%;height:auto;border:1px solid var(--line);border-radius:var(--radius)}
.prose figcaption{margin-top:10px;font-size:13px;letter-spacing:.5px;color:var(--ink-dim)}
.prose-wide{max-width:none}
.cream .prose{color:var(--muted)}
.cream .prose h2{color:#1A1712}
.cream .prose h3{color:var(--bronze)}
.cream .prose strong{color:#1A1712}
.cream .prose a{color:var(--bronze);border-bottom-color:rgba(146,64,4,.4)}
.cream .prose ul>li::before{background:var(--gold-dark)}
.cream .prose ol>li::before{color:var(--bronze)}
.toc{max-width:68ch;padding:24px 28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}
.toc-title{margin-bottom:12px;font-size:11px;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:var(--gold)}
.toc ol{list-style:none;counter-reset:t}
.toc li{counter-increment:t}
.toc a{display:flex;gap:14px;padding:6px 0;font-size:15px;color:var(--ink-dim);transition:color .3s}
.toc a::before{content:counter(t,decimal-leading-zero);font-size:12px;font-weight:500;letter-spacing:2px;color:var(--gold);padding-top:2px}
.toc a:hover{color:var(--ink)}

/* ---------- FAQ accordion (details/summary) ---------- */
.faq{max-width:860px;border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 4px;list-style:none;cursor:pointer;font-size:clamp(16px,1.5vw,20px);font-weight:400;line-height:1.35;color:var(--ink);transition:color .3s}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:hover,.faq-item[open] summary{color:var(--gold-light)}
.faq-item summary:focus-visible{outline-offset:-2px;border-radius:12px}
.faq-item summary i{position:relative;flex:none;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;transition:background .4s,border-color .4s,transform .5s var(--ease)}
.faq-item summary i::before,.faq-item summary i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1px;margin:-.5px 0 0 -6px;background:var(--gold);transition:transform .5s var(--ease),background .4s}
.faq-item summary i::after{transform:rotate(90deg)}
.faq-item[open] summary i{border-color:var(--gold);background:var(--gold)}
.faq-item[open] summary i::before,.faq-item[open] summary i::after{background:#1A140A}
.faq-item[open] summary i::after{transform:rotate(0)}
.faq-a{padding:0 4px 26px;color:var(--ink-dim)}
.faq-a p{max-width:68ch;line-height:1.75}
.faq-a a{color:var(--gold-light);border-bottom:1px solid rgba(224,184,107,.4)}
.cream .faq,.cream .faq-item,.cream .faq-item summary i{border-color:rgba(185,151,76,.3)}
.cream .faq-item summary{color:#1A1712}
.cream .faq-item summary:hover,.cream .faq-item[open] summary{color:var(--bronze)}
.cream .faq-a{color:var(--muted)}

/* ---------- info stat row ---------- */
.info-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;list-style:none;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--line)}
.info-stat{padding:26px 28px 24px;background:var(--card)}
.info-stat b{display:block;font-weight:200;font-size:clamp(36px,4.2vw,58px);line-height:1;letter-spacing:1px;color:var(--gold-light)}
.info-stat b.is-text{font-weight:300;font-size:clamp(22px,2.3vw,30px);line-height:1.15;letter-spacing:.5px}
.info-stat span{display:block;margin-top:12px;font-size:12px;font-weight:500;letter-spacing:2.5px;text-transform:uppercase;color:var(--ink-dim)}
.cream .info-stats{border-color:rgba(185,151,76,.3);background:rgba(185,151,76,.3)}
.cream .info-stat{background:#fff}
.cream .info-stat b{color:var(--gold-dark)}
.cream .info-stat span{color:var(--muted)}

/* ---------- feature cards (values, advantages) ---------- */
.feat{position:relative;display:flex;flex-direction:column;gap:12px;height:100%;padding:clamp(26px,3vw,38px);border:1px solid var(--line);border-radius:var(--radius);background:var(--card);overflow:hidden;transition:border-color .4s,box-shadow .5s}
.feat:hover{border-color:rgba(224,184,107,.55);box-shadow:0 18px 60px rgba(0,0,0,.4)}
.feat-ico{display:grid;place-items:center;width:56px;height:56px;margin-bottom:18px;border:1px solid rgba(224,184,107,.4);border-radius:50%;color:var(--gold)}
.feat-ico svg{width:24px;height:24px}
.feat h3{font-weight:400;font-size:clamp(16px,1.5vw,19px);letter-spacing:2px;text-transform:uppercase;color:var(--ink)}
.feat p{font-size:15px;color:var(--ink-dim)}

/* ---------- numbered process steps (static, not sticky) ---------- */
.proc{list-style:none;counter-reset:s;display:grid;gap:0;border-left:1px solid var(--line)}
.proc>li{counter-increment:s;position:relative;padding:6px 0 30px 34px}
.proc>li::before{content:counter(s,decimal-leading-zero);position:absolute;left:-1px;top:0;padding:4px 0 4px 14px;transform:translateX(-50%);font-size:12px;font-weight:500;letter-spacing:2px;color:var(--gold);background:var(--black)}
.proc h3{font-weight:400;font-size:clamp(17px,1.7vw,22px);letter-spacing:2px;text-transform:uppercase;color:var(--ink)}
.proc p{margin-top:8px;max-width:56ch;font-size:15px;color:var(--ink-dim)}

/* ---------- related-links cards ---------- */
.related{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;list-style:none}
.rel-card{position:relative;display:flex;flex-direction:column;gap:10px;height:100%;padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);transition:border-color .4s,transform .6s var(--ease),box-shadow .5s}
.rel-card:hover,.rel-card:focus-visible{border-color:rgba(224,184,107,.65);transform:translateY(-4px);box-shadow:0 18px 60px rgba(0,0,0,.45)}
.rel-tag{font-size:11px;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:var(--gold)}
.rel-title{font-weight:300;font-size:clamp(20px,1.9vw,26px);line-height:1.2;color:var(--ink)}
.rel-text{font-size:15px;color:var(--ink-dim)}
.rel-go{display:inline-flex;align-items:center;gap:10px;margin-top:auto;padding-top:14px;font-size:12px;font-weight:500;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);transition:gap .4s var(--ease)}
.rel-card:hover .rel-go{gap:16px}
.cream .rel-card{background:#fff;border-color:rgba(185,151,76,.28);box-shadow:0 8px 30px rgba(0,0,0,.05)}
.cream .rel-title{color:#1A1712}
.cream .rel-text{color:var(--muted)}
.cream .rel-tag,.cream .rel-go{color:var(--bronze)}

/* ---------- comparison table ---------- */
.cmp-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);-webkit-overflow-scrolling:touch}
.cmp{width:100%;min-width:600px;border-collapse:collapse;font-size:15px}
.cmp caption{padding:20px 24px 4px;text-align:left;font-size:12px;letter-spacing:2.5px;text-transform:uppercase;color:var(--ink-dim)}
.cmp th,.cmp td{padding:18px 24px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.cmp thead th{font-size:12px;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:var(--gold);background:rgba(224,184,107,.06)}
.cmp tbody th{font-weight:400;color:var(--ink)}
.cmp td{color:var(--ink-dim)}
.cmp tbody tr:last-child>*{border-bottom:0}
.cmp .hl{background:rgba(224,184,107,.05);color:var(--ink)}
.cmp-wrap:focus-visible{outline-offset:2px}
.cream .cmp-wrap{background:#fff;border-color:rgba(185,151,76,.3)}
.cream .cmp th,.cream .cmp td{border-color:rgba(185,151,76,.25)}
.cream .cmp tbody th{color:#1A1712}
.cream .cmp td{color:var(--muted)}
.cream .cmp thead th{color:var(--bronze)}

/* ---------- callout ---------- */
.callout{padding:26px 28px 26px 30px;border:1px solid var(--line);border-left:2px solid var(--gold);border-radius:12px var(--radius) var(--radius) 12px;background:rgba(224,184,107,.06)}
.callout-title{margin-bottom:8px;font-size:11px;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:var(--gold)}
.callout p{font-size:16px;color:var(--ink-dim)}
.callout p+p{margin-top:.8em}
.callout strong{font-weight:500;color:var(--ink)}
.callout--soft{background:transparent}
.cream .callout{background:rgba(185,151,76,.1);border-color:rgba(185,151,76,.3);border-left-color:var(--gold-dark)}
.cream .callout-title{color:var(--bronze)}
.cream .callout p{color:var(--muted)}

/* ---------- fact list (address, hours...) ---------- */
.facts{display:grid;gap:0;border-top:1px solid var(--line)}
.fact{display:grid;grid-template-columns:minmax(110px,.4fr) 1fr;gap:6px 24px;padding:18px 0;border-bottom:1px solid var(--line)}
.fact dt{font-size:11px;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:var(--gold);padding-top:3px}
.fact dd{font-size:16px;color:var(--ink)}
.fact dd a{border-bottom:1px solid var(--line);transition:border-color .3s}
.fact dd a:hover{border-color:var(--gold)}
.fact dd small{display:block;margin-top:2px;font-size:14px;color:var(--ink-dim)}
@media(max-width:520px){.fact{grid-template-columns:1fr}}
.cream .facts,.cream .fact{border-color:rgba(185,151,76,.3)}
.cream .fact dt{color:var(--bronze)}
.cream .fact dd{color:#1A1712}
.cream .fact dd small{color:var(--muted)}

/* ---------- person / team placeholder card ---------- */
.person{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);overflow:hidden}
.person-photo{position:relative;display:grid;place-items:center;aspect-ratio:4/5;border-bottom:1px solid var(--line);background:radial-gradient(ellipse at 50% 30%,rgba(224,184,107,.10),transparent 62%),var(--bg2)}
.person-photo svg{width:34%;height:auto;color:rgba(224,184,107,.45)}
.person-body{padding:20px 24px 24px}
.person-name{font-size:15px;font-weight:400;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink)}
.person-role{margin-top:4px;font-size:14px;color:var(--ink-dim)}
.person--empty .person-photo{aspect-ratio:16/11}
.person--empty{border-style:dashed;border-color:rgba(224,184,107,.35)}
.person--empty .person-name{color:var(--ink-dim)}


/* ---------- cream-section variants of shared components (consolidated from page CSS) ---------- */
.cream .feat{background:#fff;border-color:rgba(185,151,76,.28)}
.cream .feat h3{color:#1A1712}
.cream .feat p{color:var(--muted)}
.cream .feat-ico{color:var(--gold-dark);border-color:rgba(185,151,76,.45)}
.cream .proc{border-left-color:rgba(185,151,76,.35)}
.cream .proc>li::before{background:var(--cream);color:var(--bronze)}
.cream .proc h3{color:#1A1712}
.cream .proc p{color:var(--muted)}
.btn-ghost-dark{border:1px solid rgba(146,64,4,.45);color:#1A1712}
.btn-ghost-dark:hover{background:rgba(185,151,76,.12);border-color:var(--gold-dark)}
.mt-lg{margin-top:clamp(40px,5vw,72px)}

/* ---------- inline links in lead text, callouts and feature cards ---------- */
.lead a,.callout a,.feat p a{color:var(--gold-light);border-bottom:1px solid rgba(224,184,107,.4);transition:border-color .3s}
.lead a:hover,.callout a:hover,.feat p a:hover{border-bottom-color:var(--gold)}
.cream .lead a,.cream .callout a,.cream .feat p a{color:var(--bronze);border-bottom-color:rgba(146,64,4,.4)}

/* stacked comparison table on phones (table stays semantic on desktop) */
@media(max-width:700px){
  .cmp--stack{min-width:0;display:block}
  .cmp--stack caption{display:block;padding:18px 20px 4px}
  .cmp--stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .cmp--stack tbody,.cmp--stack tr{display:block}
  .cmp--stack tr{padding:18px 20px;border-bottom:1px solid var(--line)}
  .cmp--stack tbody tr:last-child{border-bottom:0}
  .cmp--stack tbody th{display:block;padding:0 0 10px;border:0;font-size:12px;font-weight:500;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold)}
  .cmp--stack td{display:block;padding:10px 0 0;border:0}
  .cmp--stack td::before{content:attr(data-label);display:block;margin-bottom:3px;font-size:11px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--ink)}
  .cream .cmp--stack tr{border-color:rgba(185,151,76,.25)}
  .cream .cmp--stack tbody th{color:var(--bronze)}
  .cream .cmp--stack td::before{color:#1A1712}
}

/* =====================================================================
   REDUCED MOTION
   ===================================================================== */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
  [data-reveal],.fade-up{opacity:1;transform:none}
}

/* =====================================================================
   COOKIE CONSENT (bar + preferences panel) and click-to-load map
   ===================================================================== */
.cc-bar{position:fixed;left:0;right:0;bottom:0;z-index:230;background:rgba(15,15,19,.98);color:var(--ink);border-top:1px solid rgba(224,184,107,.35);box-shadow:0 -10px 40px rgba(0,0,0,.5);transform:translateY(110%);transition:transform .45s var(--ease)}
.cc-bar.open{transform:none}
.cc-bar__in{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;max-width:1320px;margin:0 auto;padding:18px var(--gutter)}
.cc-bar__txt{flex:1 1 360px;font-size:14px;line-height:1.6;color:var(--ink-dim)}
.cc-bar__txt strong{font-weight:500;color:var(--ink)}
.cc-bar__txt a,.cc-panel__lead a{color:var(--gold-light);border-bottom:1px solid rgba(224,184,107,.45)}
.cc-bar__btns{display:flex;flex-wrap:wrap;gap:10px}
.cc-btn{display:inline-flex;align-items:center;justify-content:center;height:46px;padding:0 24px;border:1px solid transparent;border-radius:50px;font-size:12px;font-weight:500;letter-spacing:2px;text-transform:uppercase;white-space:nowrap;transition:filter .3s,background .3s,border-color .3s}
.cc-btn--gold{background:var(--grad-gold);color:#1A140A}
.cc-btn--light{background:var(--ink);color:#14161A}
.cc-btn--ghost{border-color:rgba(224,184,107,.45);color:var(--ink)}
.cc-btn--ghost:hover{background:rgba(224,184,107,.1);border-color:var(--gold)}
.cc-btn:hover{filter:brightness(1.07)}
.cc-ol{position:fixed;inset:0;z-index:240;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(8,9,11,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.cc-panel{width:100%;max-width:560px;max-height:88vh;overflow:auto;padding:clamp(22px,3vw,32px);border:1px solid var(--line);border-radius:var(--radius);background:radial-gradient(ellipse at 0% 0%,rgba(146,64,4,.3),transparent 55%),var(--card);color:var(--ink)}
.cc-panel:focus{outline:none}
.cc-panel h2{margin-bottom:8px;font-weight:300;font-size:clamp(22px,2.4vw,28px);letter-spacing:1px}
.cc-panel__lead{margin-bottom:20px;font-size:14px;line-height:1.65;color:var(--ink-dim)}
.cc-cat{margin-bottom:12px;padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:rgba(14,16,18,.55)}
.cc-cat__top{display:flex;align-items:center;justify-content:space-between;gap:14px}
.cc-cat__name{font-size:15px;font-weight:500}
.cc-cat__lock{font-size:12px;letter-spacing:1px;color:var(--gold);white-space:nowrap}
.cc-cat__txt{margin-top:8px;font-size:13.5px;line-height:1.6;color:var(--ink-dim)}
.cc-sw{position:relative;flex:none;width:48px;height:28px}
.cc-sw input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.cc-sw span{position:absolute;inset:0;border-radius:99px;background:#3a3d45;transition:background .25s;pointer-events:none}
.cc-sw span::after{content:"";position:absolute;top:4px;left:4px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .25s}
.cc-sw input:checked+span{background:var(--gold)}
.cc-sw input:checked+span::after{transform:translateX(20px)}
.cc-sw input:focus-visible+span{outline:2px solid var(--gold);outline-offset:3px}
.cc-panel__btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.cc-panel__btns .cc-btn{flex:1 1 130px;padding:0 14px}
html.cc-lock{overflow:hidden}
.cc-bar a:focus-visible,.cc-btn:focus-visible,.cc-panel a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media(max-width:640px){.cc-bar__btns{width:100%}.cc-bar__btns .cc-btn{flex:1 1 30%;padding:0 10px;letter-spacing:1px}}
/* click-to-load map */
.map-ph{display:grid;place-items:center;text-align:center;padding:24px;background:radial-gradient(120% 90% at 20% 0%,rgba(224,184,107,.12),transparent 60%),linear-gradient(160deg,#161A22 0%,#0F0F13 100%)}
.map-ph p{max-width:46ch;margin:0 auto 18px;font-size:14px;color:var(--ink-dim)}
.map-ph .ico{width:40px;height:40px;margin:0 auto 14px;color:var(--gold)}
