/* =================================================================
   NEXT IMAGINATIONS — shared design system
   Wine-dominant editorial luxury. Spend boldness on the crest + frame.
   ================================================================= */

/* ---------- tokens ---------- */
:root{
  /* wine family — deepest is near-black for the dominant night mode */
  --wine:#4a0e1a;
  --wine-2:#5e1322;
  --wine-rich:#3a0b15;
  --wine-deep:#260910;
  --wine-deeper:#190509;
  --burgundy:#6b1f2e;

  /* gold */
  --gold:#c6a052;
  --gold-2:#e6cd91;        /* brighter gold for small text on dark */
  --gold-deep:#9c7833;
  --gold-faint:rgba(198,160,82,.16);
  --gold-line:rgba(198,160,82,.34);
  --gold-line-2:rgba(198,160,82,.18);

  /* paper (used sparingly) */
  --paper:#f3ece3;
  --paper-2:#ece0d5;
  --paper-edge:rgba(42,12,18,.10);

  /* ink (on paper) */
  --ink:#2a0c12;
  --ink-mute:#6b4348;
  --ink-faint:rgba(42,12,18,.55);

  /* on wine */
  --on-wine:#ecd8cf;
  --on-wine-mute:#bf9b98;
  --on-wine-faint:rgba(236,216,207,.40);

  /* type */
  --f-display:"Fraunces",Georgia,serif;
  --f-serif:"Fraunces",Georgia,serif;
  --f-sans:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;

  /* metrics */
  --maxw:1320px;
  --gutter:clamp(20px,5vw,64px);
  --section-y:clamp(78px,12vh,150px);
  --ease:cubic-bezier(.22,.61,.30,1);
  --ease-out:cubic-bezier(.16,.84,.44,1);
}

/* ---------- reset ---------- */
*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
  scroll-padding-top:96px;
}
body{
  font-family:var(--f-sans);
  background:var(--wine-deep);
  color:var(--on-wine);
  line-height:1.65;
  font-size:1.0rem;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
::selection{background:var(--gold);color:var(--wine-deeper)}

/* film grain over everything — subtle, signals craft */
body::before{
  content:"";position:fixed;inset:0;z-index:9000;pointer-events:none;
  opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- custom cursor (fine pointer only) ---------- */
.cursor,.cursor-dot{
  position:fixed;top:0;left:0;z-index:9500;pointer-events:none;
  border-radius:50%;mix-blend-mode:difference;opacity:0;
  transition:opacity .3s ease,width .25s var(--ease),height .25s var(--ease),background .25s ease;
}
.cursor{width:34px;height:34px;border:1px solid #d9b97a;transform:translate(-50%,-50%)}
.cursor-dot{width:5px;height:5px;background:#e6cd91;transform:translate(-50%,-50%)}
.cursor.is-active{width:64px;height:64px;background:rgba(230,205,145,.10);border-color:transparent}
.cursor-dot.is-active{opacity:0}
@media (hover:hover) and (pointer:fine){
  body.cursor-ready{cursor:none}
  body.cursor-ready a,body.cursor-ready button{cursor:none}
  .cursor.ready,.cursor-dot.ready{opacity:1}
}

/* ---------- layout ---------- */
.shell{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.section{padding-block:var(--section-y);position:relative}
.section--tight{padding-block:clamp(54px,8vh,92px)}
.section--flush-b{padding-bottom:0}

.bg-wine{background:var(--wine)}
.bg-wine-deep{background:var(--wine-deep)}
.bg-wine-deeper{background:var(--wine-deeper)}
.bg-paper{background:var(--paper);color:var(--ink)}
.bg-paper .eyebrow{color:var(--gold-deep)}

/* a faint hairline separating stacked dark sections */
.rule-top{border-top:1px solid var(--gold-line-2)}

/* radial gold glow — used VERY sparingly (hero / cta only) */
.glow{position:relative;isolation:isolate}
.glow::after{
  content:"";position:absolute;z-index:-1;width:min(70vw,760px);height:min(70vw,760px);
  border-radius:50%;filter:blur(60px);opacity:.5;
  background:radial-gradient(circle, rgba(198,160,82,.20), transparent 62%);
}
.glow--tr::after{top:-12%;right:-10%}
.glow--c::after{top:50%;left:50%;transform:translate(-50%,-50%);opacity:.4}

/* ---------- type primitives ---------- */
.eyebrow{
  font-family:var(--f-sans);font-size:.68rem;font-weight:500;
  letter-spacing:.30em;text-transform:uppercase;color:var(--gold-2);
  display:inline-flex;align-items:center;gap:.85em;
}
.eyebrow::before{content:"";width:26px;height:1px;background:currentColor;opacity:.85}
.eyebrow--plain::before{display:none}
.eyebrow--center{justify-content:center}

.display{
  font-family:var(--f-display);font-weight:500;line-height:.96;
  letter-spacing:-.018em;color:var(--paper);
}
.bg-paper .display{color:var(--ink)}
.d-hero{font-size:clamp(3rem,8.6vw,8rem)}
.d-page{font-size:clamp(2.6rem,6.6vw,5.6rem);line-height:1}
.d-2{font-size:clamp(2rem,4.4vw,3.5rem);line-height:1.04}
.d-3{font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.1}

.accent{font-family:var(--f-serif);font-style:italic;font-weight:500;color:var(--gold-2)}
.bg-paper .accent{color:var(--gold-deep)}

.lead{
  font-size:clamp(1.08rem,1.5vw,1.32rem);line-height:1.62;color:var(--on-wine);
  font-weight:300;max-width:46ch;
}
.bg-paper .lead{color:var(--ink-mute)}

.serif-q{font-family:var(--f-serif);font-weight:500;font-style:italic}

.muted{color:var(--on-wine-mute)}
.bg-paper .muted{color:var(--ink-mute)}

/* a fig./index caption */
.cap{
  font-family:var(--f-sans);font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--on-wine-faint);
}
.bg-paper .cap{color:var(--ink-faint)}

/* ---------- buttons ---------- */
.btn{
  --bd:var(--gold-line);
  display:inline-flex;align-items:center;gap:.7em;
  font-family:var(--f-sans);font-size:.74rem;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;
  padding:1.05em 1.7em;border:1px solid var(--bd);border-radius:2px;
  position:relative;overflow:hidden;transition:color .4s var(--ease),border-color .4s var(--ease);
  color:var(--paper);will-change:transform;
}
.btn svg{width:15px;height:15px;transition:transform .4s var(--ease)}
.btn::before{
  content:"";position:absolute;inset:0;z-index:-1;background:var(--gold);
  transform:translateY(101%);transition:transform .45s var(--ease);
}
.btn:hover{color:var(--wine-deeper);border-color:var(--gold)}
.btn:hover::before{transform:translateY(0)}
.btn:hover svg{transform:translateX(4px)}
.btn--solid{--bd:transparent;background:var(--gold);color:var(--wine-deeper)}
.btn--solid::before{background:var(--gold-2)}
.btn--solid:hover{color:var(--wine-deeper)}
.bg-paper .btn{color:var(--ink)}
.bg-paper .btn:hover{color:var(--paper)}
.bg-paper .btn::before{background:var(--wine)}
.bg-paper .btn--solid{background:var(--wine);color:var(--paper)}
.bg-paper .btn--solid::before{background:var(--wine-2)}

/* text link with wipe underline */
.tlink{
  display:inline-flex;align-items:center;gap:.55em;position:relative;
  font-family:var(--f-sans);font-size:.76rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold-2);padding-bottom:3px;
}
.bg-paper .tlink{color:var(--gold-deep)}
.tlink::after{
  content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;
  transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease);
}
.tlink:hover::after{transform:scaleX(1)}
.tlink svg{width:14px;height:14px;transition:transform .35s var(--ease)}
.tlink:hover svg{transform:translateX(4px)}

/* ---------- gold diamond frame (signature structural device) ---------- */
.frame{position:relative;padding:clamp(22px,3vw,42px)}
.frame::before{
  content:"";position:absolute;inset:0;border:1px solid var(--gold-line);pointer-events:none;
}
.frame__c{position:absolute;width:9px;height:9px;background:var(--gold);transform:rotate(45deg)}
.frame__c.tl{top:-5px;left:-5px}
.frame__c.tr{top:-5px;right:-5px}
.frame__c.bl{bottom:-5px;left:-5px}
.frame__c.br{bottom:-5px;right:-5px}

/* ---------- NAV ---------- */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  transition:background .5s var(--ease),border-color .5s var(--ease),padding .4s var(--ease);
  border-bottom:1px solid transparent;
}
.nav__inner{
  max-width:var(--maxw);margin-inline:auto;padding:1.25rem var(--gutter);
  display:flex;align-items:center;justify-content:space-between;gap:2rem;
  transition:padding .4s var(--ease);
}
.nav.is-solid{background:rgba(25,5,9,.86);backdrop-filter:blur(14px);border-bottom-color:var(--gold-line-2)}
.nav.is-solid .nav__inner{padding-block:.9rem}

.brand{display:flex;align-items:center;gap:.85rem}
.brand__mark{width:34px;height:auto;flex:none}
.brand__name{
  font-family:var(--f-display);font-size:1.04rem;font-weight:600;letter-spacing:.12em;
  color:var(--paper);line-height:1;
}
.brand__sub{
  display:block;font-family:var(--f-sans);font-size:.56rem;font-weight:400;letter-spacing:.30em;
  text-transform:uppercase;color:var(--gold-2);margin-top:5px;
}

.nav__links{display:flex;align-items:center;gap:2.1rem}
.nav__link{
  font-family:var(--f-sans);font-size:.78rem;font-weight:400;letter-spacing:.05em;
  color:var(--on-wine);position:relative;padding:.35rem 0;transition:color .3s ease;
}
.nav__link::after{
  content:"";position:absolute;left:0;bottom:-1px;width:100%;height:1px;background:var(--gold-2);
  transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease);
}
.nav__link:hover{color:var(--paper)}
.nav__link:hover::after,.nav__link.is-current::after{transform:scaleX(1);transform-origin:left}
.nav__link.is-current{color:var(--gold-2)}

.nav__right{display:flex;align-items:center;gap:1.4rem}
.nav__cta{padding:.85em 1.45em;font-size:.7rem}
.nav__cta.btn{color:var(--gold-2);border-color:var(--gold-line)}
.nav__cta.btn:hover{color:var(--wine-deeper)}

.burger{display:none;width:34px;height:22px;position:relative;flex:none}
.burger span{position:absolute;left:0;width:100%;height:1.5px;background:var(--gold-2);transition:transform .35s var(--ease),opacity .25s ease}
.burger span:nth-child(1){top:2px}
.burger span:nth-child(2){top:10px}
.burger span:nth-child(3){top:18px}
.burger[aria-expanded="true"] span:nth-child(1){top:10px;transform:rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){top:10px;transform:rotate(-45deg)}

/* mobile drawer */
.drawer{
  position:fixed;inset:0;z-index:999;background:var(--wine-deeper);
  display:flex;flex-direction:column;justify-content:center;padding:var(--gutter);
  transform:translateX(100%);transition:transform .55s var(--ease);visibility:hidden;
}
.drawer.is-open{transform:translateX(0);visibility:visible}
.drawer a{
  font-family:var(--f-display);font-size:clamp(2rem,9vw,3.4rem);font-weight:500;
  color:var(--paper);padding:.28em 0;display:flex;align-items:baseline;gap:1rem;
  border-bottom:1px solid var(--gold-line-2);
}
.drawer a .i{font-family:var(--f-sans);font-size:.8rem;letter-spacing:.1em;color:var(--gold-2)}
.drawer a.is-current{color:var(--gold-2)}
.drawer__foot{margin-top:2.5rem;display:flex;flex-direction:column;gap:.4rem}
.drawer__foot a{font-family:var(--f-sans);font-size:.9rem;border:none;color:var(--on-wine-mute);padding:.15rem 0}

/* ---------- marquee ---------- */
.marquee{overflow:hidden;border-block:1px solid var(--gold-line-2);padding-block:1.5rem;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee__row{display:flex;gap:3.5rem;width:max-content;animation:slide 38s linear infinite}
.marquee:hover .marquee__row{animation-play-state:paused}
.marquee__item{
  display:inline-flex;align-items:center;gap:3.5rem;
  font-family:var(--f-display);font-size:clamp(1.3rem,2.6vw,2.1rem);font-style:italic;
  color:var(--on-wine);white-space:nowrap;
}
.marquee__item::after{content:"";width:7px;height:7px;background:var(--gold);transform:rotate(45deg);flex:none}
@keyframes slide{to{transform:translateX(-50%)}}

/* ---------- reveal on scroll ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out)}
.reveal.in{opacity:1;transform:none}
.d1{transition-delay:.09s}.d2{transition-delay:.18s}.d3{transition-delay:.27s}.d4{transition-delay:.36s}.d5{transition-delay:.45s}

/* line draw / fill for the crest */
.draw{stroke-dasharray:var(--len);stroke-dashoffset:var(--len);animation:draw 1.5s var(--ease) forwards}
.draw.d2{animation-delay:.5s}.draw.d3{animation-delay:1s}
@keyframes draw{to{stroke-dashoffset:0}}
.fillin{opacity:0;animation:fin .9s ease 1.15s forwards}
@keyframes fin{to{opacity:1}}

/* ---------- footer ---------- */
.footer{background:var(--wine-deeper);border-top:1px solid var(--gold-line-2);padding-top:clamp(70px,9vh,120px)}
.footer__top{
  display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:3rem clamp(2rem,4vw,4rem);
  padding-bottom:clamp(50px,7vh,80px);
}
.footer__brand .brand__mark{width:42px;margin-bottom:1.3rem}
.footer__tag{font-family:var(--f-serif);font-style:italic;font-size:1.45rem;color:var(--gold-2);margin-bottom:1rem}
.footer__blurb{font-size:.92rem;color:var(--on-wine-mute);max-width:34ch;line-height:1.7}
.footer__col h4{
  font-family:var(--f-sans);font-size:.66rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;
  color:var(--gold-2);margin-bottom:1.3rem;
}
.footer__col a{display:block;font-size:.92rem;color:var(--on-wine-mute);padding:.42rem 0;transition:color .3s ease,padding-left .3s ease}
.footer__col a:hover{color:var(--paper);padding-left:6px}
.footer__bar{
  display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;
  border-top:1px solid var(--gold-line-2);padding-block:1.8rem;
}
.footer__bar p{font-size:.78rem;color:var(--on-wine-faint);letter-spacing:.03em}
.socials{display:flex;gap:.7rem}
.socials a{
  width:38px;height:38px;border:1px solid var(--gold-line-2);border-radius:50%;
  display:grid;place-items:center;transition:background .35s var(--ease),border-color .35s var(--ease),transform .35s var(--ease);
}
.socials a svg{width:16px;height:16px;color:var(--gold-2);transition:color .35s ease}
.socials a:hover{background:var(--gold);border-color:var(--gold);transform:translateY(-3px)}
.socials a:hover svg{color:var(--wine-deeper)}

/* ---------- generic section head ---------- */
.head{max-width:640px;margin-bottom:clamp(2.5rem,5vh,4rem)}
.head .eyebrow{margin-bottom:1.4rem}
.head--wide{max-width:780px}

/* index counter rows (services / disciplines) */
.index{border-top:1px solid var(--gold-line-2)}
.index__row{
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(1rem,3vw,3rem);
  padding:clamp(1.6rem,3vw,2.4rem) 0;border-bottom:1px solid var(--gold-line-2);
  position:relative;transition:padding-left .45s var(--ease);
}
.index__row::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:0;background:var(--gold-faint);
  z-index:-1;transition:width .45s var(--ease);
}
.index__row:hover{padding-left:clamp(1rem,2vw,1.8rem)}
.index__row:hover::before{width:100%}
.index__num{font-family:var(--f-serif);font-style:italic;font-size:1.5rem;color:var(--gold-2);min-width:2.4ch}
.index__name{font-family:var(--f-display);font-size:clamp(1.5rem,3.2vw,2.5rem);color:var(--paper);line-height:1.05}
.bg-paper .index__name{color:var(--ink)}
.index__desc{font-size:.95rem;color:var(--on-wine-mute);max-width:40ch;margin-top:.5rem}
.bg-paper .index__desc{color:var(--ink-mute)}
.index__arrow{color:var(--gold-2);transition:transform .4s var(--ease)}
.index__arrow svg{width:26px;height:26px}
.index__row:hover .index__arrow{transform:translate(6px,-6px)}

/* small utility */
.stack-sm>*+*{margin-top:1rem}
.stack-md>*+*{margin-top:1.6rem}
.center{text-align:center}
.mt-1{margin-top:1rem}.mt-2{margin-top:2rem}.mt-3{margin-top:3rem}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .nav__links,.nav__right .nav__cta{display:none}
  .burger{display:block}
  .footer__top{grid-template-columns:1fr 1fr;gap:2.5rem}
  .footer__brand{grid-column:1 / -1}
}
@media (max-width:560px){
  .footer__top{grid-template-columns:1fr}
  .index__row{grid-template-columns:auto 1fr;gap:1rem}
  .index__arrow{display:none}
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .reveal{opacity:1!important;transform:none!important}
  .fillin{opacity:1!important}
  .draw{stroke-dashoffset:0!important}
  .marquee__row{animation:none!important}
  .cursor,.cursor-dot{display:none!important}
  body.cursor-ready{cursor:auto!important}
}

/* =================================================================
   PAGE COMPONENTS
   ================================================================= */

/* ---------- HERO (home) — asymmetric editorial ---------- */
.hero{min-height:100svh;display:flex;align-items:center;position:relative;overflow:hidden;padding-top:120px;padding-bottom:clamp(100px,15vh,150px)}
.hero__grid{
  display:grid;grid-template-columns:1.35fr .9fr;gap:clamp(2rem,5vw,5rem);align-items:center;width:100%;
}
.hero__eyebrow{margin-bottom:2rem}
.hero__title{margin-bottom:2rem}
.hero__title .line{display:block;overflow:hidden}
.hero__title .line>span{display:block;transform:translateY(105%);animation:rise 1s var(--ease) forwards}
.hero__title .line:nth-child(2)>span{animation-delay:.12s}
.hero__title .line:nth-child(3)>span{animation-delay:.24s}
@keyframes rise{to{transform:translateY(0)}}
.hero__lead{margin-bottom:2.6rem;animation:fadein 1s ease .6s both}
.hero__cta{display:flex;gap:1rem;flex-wrap:wrap;animation:fadein 1s ease .8s both}
@keyframes fadein{from{opacity:0}to{opacity:1}}

.hero__crest{position:relative;display:grid;place-items:center;animation:fadein 1.4s ease .3s both}
.crest__frame{position:relative;width:min(100%,420px);aspect-ratio:4/5;display:grid;place-items:center}
.crest__frame::before{content:"";position:absolute;inset:0;border:1px solid var(--gold-line)}
.crest__c{position:absolute;width:11px;height:11px;background:var(--gold);transform:rotate(45deg)}
.crest__c.tl{top:-6px;left:-6px}.crest__c.tr{top:-6px;right:-6px}
.crest__c.bl{bottom:-6px;left:-6px}.crest__c.br{bottom:-6px;right:-6px}
.crest__mono{width:62%;height:auto}

.hero__ghost{position:absolute;right:-4%;bottom:-12%;width:min(48vw,620px);opacity:.045;z-index:0;pointer-events:none}
.hero__ghost text{fill:var(--paper)}

.hero__foot{
  position:absolute;left:var(--gutter);right:var(--gutter);bottom:2.2rem;
  display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;
  border-top:1px solid var(--gold-line-2);padding-top:1.3rem;animation:fadein 1s ease 1.1s both;
}
.hero__trusted .cap{display:block;margin-bottom:.6rem}
.hero__trusted p{font-size:.82rem;letter-spacing:.12em;color:var(--on-wine-mute);text-transform:uppercase}
.hero__scroll{display:flex;flex-direction:column;align-items:center;gap:.7rem;flex:none}
.hero__scroll .cap{writing-mode:vertical-rl}
.hero__scroll .ln{width:1px;height:40px;background:linear-gradient(var(--gold),transparent);position:relative;overflow:hidden}
.hero__scroll .ln::after{content:"";position:absolute;inset:0;background:var(--gold-2);transform:translateY(-100%);animation:sgo 1.8s var(--ease) infinite}
@keyframes sgo{0%{transform:translateY(-100%)}55%,100%{transform:translateY(100%)}}

@media (max-width:900px){
  .hero__grid{grid-template-columns:1fr}
  .hero__crest{display:none}
  .hero__foot{position:static;margin-top:2.4rem;padding-inline:var(--gutter);flex-direction:column;align-items:flex-start;gap:1rem}
  .hero__scroll{display:none}
  .hero{min-height:auto;padding-bottom:3rem;flex-direction:column;align-items:stretch}
}

/* ---------- page hero (interior pages) ---------- */
.phero{padding-top:clamp(150px,22vh,240px);padding-bottom:clamp(50px,8vh,90px);position:relative;overflow:hidden}
.phero__grid{display:grid;grid-template-columns:auto 1fr;gap:clamp(1rem,4vw,4rem);align-items:end}
.phero__num{font-family:var(--f-serif);font-style:italic;font-size:clamp(3rem,8vw,7rem);color:var(--gold-line);line-height:.8}
.phero__lead{margin-top:1.8rem;max-width:56ch}
.phero__meta{display:flex;gap:2.5rem;flex-wrap:wrap;margin-top:2.4rem;border-top:1px solid var(--gold-line-2);padding-top:1.6rem}
.phero__meta div .cap{display:block;margin-bottom:.4rem}
.phero__meta div strong{font-family:var(--f-display);font-weight:500;font-size:1.4rem;color:var(--paper)}
@media (max-width:700px){.phero__grid{grid-template-columns:1fr}.phero__num{font-size:3rem}}

/* ---------- statement block ---------- */
.statement{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:start}
.statement__big{font-family:var(--f-display);font-weight:500;font-size:clamp(1.7rem,3.4vw,2.9rem);line-height:1.18;color:var(--paper)}
.bg-paper .statement__big{color:var(--ink)}
.statement__list{display:flex;flex-direction:column;gap:1.6rem}
.statement__item{display:grid;grid-template-columns:auto 1fr;gap:1.1rem;padding-bottom:1.6rem;border-bottom:1px solid var(--gold-line-2)}
.statement__item i{font-family:var(--f-serif);font-style:italic;color:var(--gold-2);font-size:1.1rem}
.statement__item h4{font-family:var(--f-display);font-weight:500;font-size:1.2rem;color:var(--paper);margin-bottom:.4rem}
.bg-paper .statement__item h4{color:var(--ink)}
.statement__item p{font-size:.92rem;color:var(--on-wine-mute)}
.bg-paper .statement__item p{color:var(--ink-mute)}
@media (max-width:760px){.statement{grid-template-columns:1fr;gap:2.5rem}}

/* ---------- stat band ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr)}
.stats__cell{padding:clamp(1.8rem,3vw,2.6rem) clamp(1rem,2vw,2rem);border-left:1px solid var(--gold-line-2)}
.stats__cell:first-child{border-left:none}
.stats__num{font-family:var(--f-display);font-weight:500;font-size:clamp(2.4rem,5vw,4rem);color:var(--gold-2);line-height:1}
.stats__label{font-family:var(--f-sans);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--on-wine-mute);margin-top:.9rem}
@media (max-width:760px){.stats{grid-template-columns:1fr 1fr}.stats__cell:nth-child(3){border-left:none}.stats__cell:nth-child(odd){border-left:none}.stats__cell{border-top:1px solid var(--gold-line-2)}.stats__cell:nth-child(-n+2){border-top:none}}

/* ---------- work cards (home teaser + work page) ---------- */
.works{display:flex;flex-direction:column}
.work-card{
  display:grid;grid-template-columns:auto 1fr auto;gap:clamp(1.4rem,4vw,4rem);align-items:center;
  padding:clamp(2rem,4vw,3.4rem) 0;border-top:1px solid var(--gold-line-2);position:relative;
}
.work-card:last-child{border-bottom:1px solid var(--gold-line-2)}
.work-card__idx{font-family:var(--f-serif);font-style:italic;font-size:1.4rem;color:var(--gold-2)}
.work-card__sector{font-family:var(--f-sans);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-2);margin-bottom:.7rem;display:block}
.work-card__title{font-family:var(--f-display);font-weight:500;font-size:clamp(1.6rem,3.4vw,2.6rem);color:var(--paper);line-height:1.05;transition:color .3s ease}
.work-card__desc{font-size:.95rem;color:var(--on-wine-mute);max-width:48ch;margin-top:.8rem}
.work-card__metrics{display:flex;gap:2rem;flex-wrap:wrap}
.work-card__metric strong{display:block;font-family:var(--f-display);font-weight:500;font-size:1.7rem;color:var(--gold-2);line-height:1}
.work-card__metric span{font-family:var(--f-sans);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--on-wine-mute);margin-top:.4rem;display:block}
@media (max-width:820px){.work-card{grid-template-columns:auto 1fr}.work-card__metrics{grid-column:1 / -1;margin-top:.5rem}}

/* full case study block (work page) */
.case{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:start;padding-block:clamp(3rem,6vh,6rem);border-top:1px solid var(--gold-line-2)}
.case:nth-child(even) .case__visual{order:-1}
.case__visual{position:relative;aspect-ratio:5/4;border:1px solid var(--gold-line);display:grid;place-items:center;overflow:hidden;background:linear-gradient(150deg,var(--wine-rich),var(--wine-deeper))}
.case__visual::before{content:"";position:absolute;width:120%;height:120%;background:radial-gradient(circle at 30% 30%,rgba(198,160,82,.12),transparent 55%)}
.case__visual svg{width:30%;color:var(--gold-2);opacity:.8;position:relative}
.case__sector{margin-bottom:1rem}
.case__title{margin-bottom:1.4rem}
.case__row{margin-top:1.6rem}
.case__row h5{font-family:var(--f-sans);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-2);margin-bottom:.6rem}
.case__row p{font-size:.96rem;color:var(--on-wine-mute);line-height:1.7}
.case__results{display:flex;gap:2.4rem;flex-wrap:wrap;margin-top:2rem;border-top:1px solid var(--gold-line-2);padding-top:1.6rem}
.case__results div strong{display:block;font-family:var(--f-display);font-weight:500;font-size:2rem;color:var(--gold-2)}
.case__results div span{font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--on-wine-mute)}
@media (max-width:820px){.case{grid-template-columns:1fr}.case:nth-child(even) .case__visual{order:0}}

/* ---------- pillars / values grid (about + why) ---------- */
.pillars{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--gold-line-2);border:1px solid var(--gold-line-2)}
.pillar{background:var(--wine);padding:clamp(1.8rem,3vw,2.8rem)}
.bg-paper .pillar{background:var(--paper)}
.pillar__n{font-family:var(--f-serif);font-style:italic;font-size:1.3rem;color:var(--gold-2);margin-bottom:1.2rem;display:block}
.pillar h3{font-family:var(--f-display);font-weight:500;font-size:clamp(1.3rem,2.2vw,1.7rem);color:var(--paper);margin-bottom:.9rem}
.bg-paper .pillar h3{color:var(--ink)}
.pillar p{font-size:.94rem;color:var(--on-wine-mute);line-height:1.7}
.bg-paper .pillar p{color:var(--ink-mute)}
@media (max-width:720px){.pillars{grid-template-columns:1fr}}

/* ---------- process timeline ---------- */
.steps{position:relative;padding-left:2px}
.step{display:grid;grid-template-columns:auto 1fr;gap:clamp(1.5rem,4vw,4rem);padding-block:clamp(1.6rem,3vw,2.4rem);border-top:1px solid var(--gold-line-2);position:relative}
.step__num{font-family:var(--f-serif);font-style:italic;font-size:clamp(1.6rem,3vw,2.4rem);color:var(--gold-2);position:relative;padding-left:1.6rem}
.step__num::before{content:"";position:absolute;left:0;top:.55em;width:9px;height:9px;background:var(--gold);transform:rotate(45deg)}
.step h3{font-family:var(--f-display);font-weight:500;font-size:clamp(1.3rem,2.4vw,1.8rem);color:var(--paper);margin-bottom:.7rem}
.step p{font-size:.96rem;color:var(--on-wine-mute);max-width:62ch;line-height:1.7}
.step__tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.1rem}
.tag{font-family:var(--f-sans);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-2);border:1px solid var(--gold-line-2);border-radius:2px;padding:.45em .8em}
@media (max-width:640px){.step{grid-template-columns:1fr;gap:.8rem}}

/* ---------- testimonial ---------- */
.quote{max-width:880px;margin-inline:auto;text-align:center}
.quote__mark{font-family:var(--f-display);font-size:4rem;color:var(--gold);line-height:.5;display:block;margin-bottom:1.5rem}
.quote__text{font-family:var(--f-serif);font-style:italic;font-weight:500;font-size:clamp(1.5rem,3vw,2.4rem);line-height:1.35;color:var(--paper)}
.bg-paper .quote__text{color:var(--ink)}
.quote__by{margin-top:2.2rem;font-family:var(--f-sans);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-2)}
.quote__by span{color:var(--on-wine-mute)}
.bg-paper .quote__by span{color:var(--ink-mute)}

/* ---------- cta band ---------- */
.cta{text-align:center;max-width:760px;margin-inline:auto}
.cta .display{margin-block:1.6rem 1.4rem}
.cta__btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:2.4rem}

/* ---------- tech chips ---------- */
.chips{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center;max-width:820px;margin-inline:auto}
.chip{font-family:var(--f-sans);font-size:.8rem;letter-spacing:.04em;color:var(--on-wine);border:1px solid var(--gold-line-2);border-radius:2px;padding:.7em 1.15em;display:inline-flex;align-items:center;gap:.6em;transition:border-color .3s ease,color .3s ease}
.chip::before{content:"";width:5px;height:5px;background:var(--gold);transform:rotate(45deg)}
.chip:hover{border-color:var(--gold-line);color:var(--paper)}

/* ---------- about: story two-col ---------- */
.story{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem)}
.story__lead{font-family:var(--f-display);font-weight:500;font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.25;color:var(--paper)}
.bg-paper .story__lead{color:var(--ink)}
.story__body p{color:var(--on-wine-mute);margin-bottom:1.3rem;line-height:1.8;font-size:1.0rem}
.bg-paper .story__body p{color:var(--ink-mute)}
.story__body p:first-child::first-letter{font-family:var(--f-display);font-size:3.4em;float:left;line-height:.8;padding:.05em .12em 0 0;color:var(--gold-2)}
@media (max-width:760px){.story{grid-template-columns:1fr;gap:2rem}}

/* team */
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,3vw,2.5rem)}
.member{border-top:1px solid var(--gold-line);padding-top:1.6rem}
.member__role{font-family:var(--f-sans);font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-2);margin-bottom:.6rem}
.member h4{font-family:var(--f-display);font-weight:500;font-size:1.4rem;color:var(--paper);margin-bottom:.6rem}
.member p{font-size:.9rem;color:var(--on-wine-mute);line-height:1.65}
@media (max-width:760px){.team{grid-template-columns:1fr}}

/* ---------- contact ---------- */
.contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2.5rem,6vw,6rem);align-items:start}
.cinfo__row{display:grid;grid-template-columns:auto 1fr;gap:1.2rem;align-items:center;padding-block:1.4rem;border-bottom:1px solid var(--gold-line-2)}
.cinfo__row:first-child{border-top:1px solid var(--gold-line-2)}
.cinfo__ico{width:42px;height:42px;border:1px solid var(--gold-line);border-radius:50%;display:grid;place-items:center;flex:none}
.cinfo__ico svg{width:17px;height:17px;color:var(--gold-2)}
.cinfo__row .cap{display:block;margin-bottom:.3rem}
.cinfo__row a,.cinfo__row span.v{font-family:var(--f-display);font-size:1.2rem;color:var(--paper)}
.cinfo__row a:hover{color:var(--gold-2)}

.form{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
.field{display:flex;flex-direction:column;gap:.55rem}
.field--full{grid-column:1 / -1}
.field label{font-family:var(--f-sans);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-2)}
.field input,.field textarea,.field select{
  font-family:var(--f-sans);font-size:.95rem;color:var(--paper);
  background:rgba(255,255,255,.02);border:1px solid var(--gold-line-2);border-radius:2px;
  padding:.95em 1em;transition:border-color .3s ease,background .3s ease;width:100%;
}
.field textarea{resize:vertical;min-height:130px}
.field input::placeholder,.field textarea::placeholder{color:var(--on-wine-faint)}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--gold);background:rgba(255,255,255,.04)}
.field .err,.field input.err,.field textarea.err{border-color:#c96b6b}
.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%23e6cd91'%3E%3Cpath d='M3 5l4 4 4-4' stroke-width='1.4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1em center}
.form__submit{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:.4rem}
.form__note{font-size:.78rem;color:var(--on-wine-faint);max-width:34ch}
.form-done{text-align:center;padding:clamp(2rem,5vw,4rem) 0}
.form-done__mark{width:64px;height:64px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;margin:0 auto 1.6rem;color:var(--gold-2)}
.form-done__mark svg{width:28px;height:28px}
.form-done h3{margin-bottom:1rem;color:var(--paper)}
@media (max-width:820px){.contact{grid-template-columns:1fr}.form{grid-template-columns:1fr}}

/* faq */
.faq{border-top:1px solid var(--gold-line-2)}
.faq__item{border-bottom:1px solid var(--gold-line-2);padding-block:clamp(1.4rem,3vw,2rem)}
.faq__item h4{font-family:var(--f-display);font-weight:500;font-size:clamp(1.2rem,2vw,1.5rem);color:var(--paper);margin-bottom:.8rem}
.faq__item p{font-size:.96rem;color:var(--on-wine-mute);line-height:1.75;max-width:70ch}

/* engagement models (services) */
.models{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--gold-line-2);border:1px solid var(--gold-line-2)}
.model{background:var(--wine-deep);padding:clamp(1.8rem,3vw,2.6rem)}
.model__tag{font-family:var(--f-sans);font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-2);margin-bottom:1.1rem}
.model h3{font-family:var(--f-display);font-weight:500;font-size:1.5rem;color:var(--paper);margin-bottom:.9rem}
.model p{font-size:.92rem;color:var(--on-wine-mute);line-height:1.7;margin-bottom:1.2rem}
.model ul{list-style:none;display:flex;flex-direction:column;gap:.6rem}
.model li{font-size:.86rem;color:var(--on-wine);display:flex;gap:.6rem;align-items:flex-start}
.model li::before{content:"";width:5px;height:5px;background:var(--gold);transform:rotate(45deg);margin-top:.55em;flex:none}
@media (max-width:820px){.models{grid-template-columns:1fr}}

/* detail expand list for services */
.disc{border-top:1px solid var(--gold-line-2)}
.disc__item{border-bottom:1px solid var(--gold-line-2);padding-block:clamp(2rem,4vw,3rem)}
.disc__head{display:grid;grid-template-columns:auto 1fr;gap:clamp(1rem,3vw,3rem);align-items:baseline}
.disc__num{font-family:var(--f-serif);font-style:italic;font-size:1.5rem;color:var(--gold-2)}
.disc__title{font-family:var(--f-display);font-weight:500;font-size:clamp(1.6rem,3.4vw,2.6rem);color:var(--paper)}
.disc__body{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,4rem);margin-top:1.6rem;padding-left:0}
.disc__lead{font-size:1.0rem;color:var(--on-wine);line-height:1.7}
.disc__inc h5{font-family:var(--f-sans);font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-2);margin-bottom:1rem}
.disc__inc ul{list-style:none;columns:2;column-gap:2rem}
.disc__inc li{font-size:.88rem;color:var(--on-wine-mute);padding:.35rem 0;break-inside:avoid;display:flex;gap:.55rem}
.disc__inc li::before{content:"—";color:var(--gold-2)}
@media (max-width:760px){.disc__head{grid-template-columns:auto 1fr;gap:1rem}.disc__body{grid-template-columns:1fr;gap:1.5rem}.disc__inc ul{columns:1}}

/* =================================================================
   PRICING PAGE
   ================================================================= */

/* offers */
.offers{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--gold-line-2);border:1px solid var(--gold-line-2)}
.offer{background:var(--wine);padding:clamp(1.8rem,3vw,2.6rem);position:relative}
.offer__ico{width:44px;height:44px;border:1px solid var(--gold-line);border-radius:50%;display:grid;place-items:center;margin-bottom:1.4rem}
.offer__ico svg{width:19px;height:19px;color:var(--gold-2)}
.offer__badge{position:absolute;top:1.4rem;right:1.4rem;font-family:var(--f-sans);font-size:.6rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--wine-deeper);background:var(--gold);padding:.4em .7em;border-radius:2px}
.offer h3{font-family:var(--f-display);font-weight:500;font-size:1.5rem;color:var(--paper);margin-bottom:.8rem}
.offer p{font-size:.94rem;color:var(--on-wine-mute);line-height:1.7}
.offer strong{color:var(--gold-2);font-weight:600}
@media (max-width:820px){.offers{grid-template-columns:1fr}}

/* per-service price cards */
.pcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.2rem}
.pcard{border:1px solid var(--gold-line-2);border-radius:3px;padding:clamp(1.6rem,2.4vw,2.1rem);display:flex;flex-direction:column;background:linear-gradient(160deg,rgba(255,255,255,.018),transparent);transition:border-color .4s var(--ease),transform .4s var(--ease)}
.pcard:hover{border-color:var(--gold-line);transform:translateY(-4px)}
.pcard__tag{align-self:flex-start;font-family:var(--f-sans);font-size:.58rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--wine-deeper);background:var(--gold);padding:.4em .7em;border-radius:2px;margin-bottom:1rem}
.pcard__name{font-family:var(--f-display);font-weight:500;font-size:1.35rem;color:var(--paper);margin-bottom:1rem;line-height:1.15}
.pcard__price{font-family:var(--f-display);font-weight:500;font-size:2.3rem;color:var(--gold-2);line-height:1;display:flex;align-items:baseline;gap:.12em;flex-wrap:wrap}
.pcard__price .cur{font-size:1.3rem}
.pcard__price .unit{font-family:var(--f-sans);font-size:.62rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--on-wine-mute);width:100%;margin-top:.5rem}
.pcard__desc{font-size:.88rem;color:var(--on-wine-mute);line-height:1.6;margin:1.1rem 0 1.2rem;padding-top:1.1rem;border-top:1px solid var(--gold-line-2)}
.pcard__list{list-style:none;display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.6rem}
.pcard__list li{font-size:.84rem;color:var(--on-wine);display:flex;gap:.5rem;align-items:flex-start}
.pcard__list li::before{content:"";width:5px;height:5px;background:var(--gold);transform:rotate(45deg);margin-top:.5em;flex:none}
.pcard__cta{margin-top:auto}
.pcard--feature{border-color:var(--gold-line);background:linear-gradient(160deg,rgba(198,160,82,.07),transparent)}
.pcard--custom{align-items:flex-start;justify-content:center;border-style:dashed}
.pcard--custom .pcard__name{margin-bottom:.6rem}
.pcard--custom p{font-size:.88rem;color:var(--on-wine-mute);line-height:1.6;margin-bottom:1.4rem}

/* bundles */
.bundles{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.bundle{border:1px solid var(--gold-line);border-radius:3px;padding:clamp(1.8rem,2.6vw,2.4rem);display:flex;flex-direction:column;position:relative;overflow:hidden;background:var(--wine-deep)}
.bundle::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold-deep),var(--gold-2),var(--gold-deep))}
.bundle__save{position:absolute;top:0;right:0;font-family:var(--f-sans);font-size:.62rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--wine-deeper);background:var(--gold);padding:.5em .9em;border-bottom-left-radius:4px}
.bundle__name{font-family:var(--f-display);font-weight:600;font-size:1.7rem;color:var(--paper);margin:.6rem 0 .5rem}
.bundle__tag{font-family:var(--f-serif);font-style:italic;font-size:1.05rem;color:var(--gold-2);margin-bottom:1.4rem}
.bundle__inc{list-style:none;display:flex;flex-direction:column;gap:.7rem;padding:1.4rem 0;border-top:1px solid var(--gold-line-2);margin-bottom:1.4rem}
.bundle__inc li{font-size:.9rem;color:var(--on-wine);display:flex;gap:.6rem;align-items:flex-start;line-height:1.4}
.bundle__inc li svg{width:16px;height:16px;color:var(--gold-2);flex:none;margin-top:.15em}
.bundle__price{margin-top:auto;display:flex;align-items:baseline;gap:.7rem;flex-wrap:wrap}
.bundle__was{font-family:var(--f-sans);font-size:.95rem;color:var(--on-wine-faint);text-decoration:line-through}
.bundle__now{font-family:var(--f-display);font-weight:600;font-size:2.1rem;color:var(--gold-2);line-height:1}
.bundle__unit{font-family:var(--f-sans);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--on-wine-mute);width:100%;margin-top:.4rem}
.bundle__cta{margin-top:1.6rem}
@media (max-width:900px){.bundles{grid-template-columns:1fr}}

/* interactive bundle builder */
.builder{display:grid;grid-template-columns:1.25fr .9fr;gap:clamp(1.5rem,4vw,3rem);align-items:start}
.builder__list{border-top:1px solid var(--gold-line-2)}
.builder__svc{display:grid;grid-template-columns:auto 1fr auto;gap:1.1rem;align-items:center;padding:1.05rem .6rem;border-bottom:1px solid var(--gold-line-2);cursor:pointer;transition:background .3s ease,padding-left .3s ease;user-select:none}
.builder__svc:hover{background:var(--gold-faint);padding-left:1rem}
.builder__check{width:24px;height:24px;border:1px solid var(--gold-line);border-radius:4px;display:grid;place-items:center;flex:none;transition:background .25s ease,border-color .25s ease}
.builder__check svg{width:14px;height:14px;color:var(--wine-deeper);opacity:0;transform:scale(.5);transition:opacity .2s ease,transform .2s ease}
.builder__svc.is-on .builder__check{background:var(--gold);border-color:var(--gold)}
.builder__svc.is-on .builder__check svg{opacity:1;transform:scale(1)}
.builder__name{font-family:var(--f-display);font-weight:500;font-size:1.15rem;color:var(--paper)}
.builder__price{font-family:var(--f-sans);font-size:.86rem;color:var(--gold-2);white-space:nowrap}
.builder__price span{color:var(--on-wine-mute);font-size:.7rem;letter-spacing:.08em}

.builder__panel{border:1px solid var(--gold-line);border-radius:3px;padding:clamp(1.6rem,2.6vw,2.2rem);position:sticky;top:100px;background:var(--wine-deeper)}
.builder__panel h3{font-family:var(--f-display);font-weight:500;font-size:1.4rem;color:var(--paper);margin-bottom:1.4rem}
.builder__line{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.6rem 0;font-size:.9rem;color:var(--on-wine-mute)}
.builder__line b{color:var(--on-wine);font-weight:500}
.builder__line--save{color:var(--gold-2)}
.builder__line--save b{color:var(--gold-2)}
.builder__divider{height:1px;background:var(--gold-line-2);margin:.8rem 0}
.builder__total{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding-top:.4rem}
.builder__total .lbl{font-family:var(--f-sans);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--on-wine-mute)}
.builder__total .amt{font-family:var(--f-display);font-weight:600;font-size:2.1rem;color:var(--gold-2);line-height:1}
.builder__total .amt small{font-family:var(--f-sans);font-size:.6rem;letter-spacing:.1em;color:var(--on-wine-mute);display:block;text-align:right;margin-top:.3rem}
.builder__eb{display:flex;align-items:center;gap:.8rem;margin:1.3rem 0;padding:.9rem 1rem;border:1px solid var(--gold-line-2);border-radius:3px;cursor:pointer;user-select:none;transition:border-color .3s ease}
.builder__eb:hover{border-color:var(--gold-line)}
.builder__switch{width:42px;height:23px;border-radius:20px;background:rgba(255,255,255,.08);border:1px solid var(--gold-line-2);position:relative;flex:none;transition:background .3s ease}
.builder__switch::after{content:"";position:absolute;top:2px;left:2px;width:17px;height:17px;border-radius:50%;background:var(--on-wine-mute);transition:transform .3s var(--ease),background .3s ease}
.builder__eb.is-on .builder__switch{background:var(--gold)}
.builder__eb.is-on .builder__switch::after{transform:translateX(19px);background:var(--wine-deeper)}
.builder__eb-txt{font-size:.82rem;color:var(--on-wine)}
.builder__eb-txt b{color:var(--gold-2);font-weight:600}
.builder__empty{font-size:.86rem;color:var(--on-wine-faint);font-style:italic;padding:.4rem 0}
.builder__note{font-size:.74rem;color:var(--on-wine-faint);line-height:1.6;margin-top:1.3rem}
.builder__cta{margin-top:1.4rem;width:100%;justify-content:center}
@media (max-width:880px){.builder{grid-template-columns:1fr}.builder__panel{position:static}}

/* small print row */
.pricenote{display:flex;gap:.8rem;align-items:flex-start;font-size:.82rem;color:var(--on-wine-mute);line-height:1.6;max-width:80ch}
.pricenote svg{width:18px;height:18px;color:var(--gold-2);flex:none;margin-top:.1em}

/* =================================================================
   REAL LOGO + CUSTOM SELECT (added)
   ================================================================= */
.brand__logo{height:42px;width:auto;flex:none;transition:transform .4s var(--ease),filter .4s var(--ease)}
.brand{cursor:pointer}
.brand:hover .brand__logo{transform:scale(1.05);filter:drop-shadow(0 0 10px rgba(214,180,106,.4))}
.brand.pulse .brand__logo{animation:logopulse .6s var(--ease)}
@keyframes logopulse{0%{transform:scale(1)}40%{transform:scale(1.13)}100%{transform:scale(1)}}
.nav.is-solid .brand__logo{height:38px}
.footer__logo{height:56px;width:auto;margin-bottom:1.4rem}
@media (max-width:560px){
  .brand__sub{display:none}
  .brand__logo{height:34px}
}

/* custom themed dropdown (replaces native select on dark UI) */
.select{position:relative}
.select__trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-family:var(--f-sans);font-size:.95rem;color:var(--paper);background:rgba(255,255,255,.02);border:1px solid var(--gold-line-2);border-radius:2px;padding:.95em 1em;cursor:pointer;text-align:left;transition:border-color .3s ease,background .3s ease}
.select__trigger:hover{border-color:var(--gold-line)}
.select.is-open .select__trigger,.select__trigger:focus-visible{outline:none;border-color:var(--gold);background:rgba(255,255,255,.04)}
.select__chev{width:14px;height:14px;color:var(--gold-2);flex:none;transition:transform .3s var(--ease)}
.select.is-open .select__chev{transform:rotate(180deg)}
.select__menu{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:40;background:var(--wine-deep);border:1px solid var(--gold-line);border-radius:3px;box-shadow:0 18px 44px rgba(0,0,0,.5);padding:.4rem;max-height:288px;overflow:auto;list-style:none;opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity .22s var(--ease),transform .22s var(--ease)}
.select.is-open .select__menu{opacity:1;transform:none;pointer-events:auto}
.select__menu::-webkit-scrollbar{width:8px}
.select__menu::-webkit-scrollbar-thumb{background:var(--gold-line-2);border-radius:8px}
.select__opt{padding:.72em .8em;border-radius:2px;font-size:.92rem;color:var(--on-wine);cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background .18s ease,color .18s ease}
.select__opt:hover,.select__opt.is-active{background:var(--gold-faint);color:var(--paper)}
.select__opt.is-sel{color:var(--gold-2)}
.select__opt.is-sel::after{content:"";width:12px;height:12px;flex:none;background:var(--gold-2);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M5 13l4 4L19 7'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M5 13l4 4L19 7'/%3E%3C/svg%3E") center/contain no-repeat}

/* form error message */
.form-error{grid-column:1 / -1;font-size:.84rem;color:#e08a8a;display:none}
.form-error.show{display:block}
