:root{
  --black:#0B0B0C; --panel:#0F0F11; --panel-hi:#141416;
  --gold:#C6A263; --gold-lt:#E6D2A8;
  --ink:#F5F2EA; --body:#E8E3D8; --muted:#A8A297; --muted-2:#9A958C;
  --dim:#8d8880; --dim-2:#6f6b64; --faint:#5f5c56;
  --line:rgba(198,162,99,.18); --line-soft:rgba(198,162,99,.14); --line-mid:rgba(198,162,99,.35);
  --serif:'Bodoni Moda',Georgia,serif; --sans:'Jost',system-ui,sans-serif;
  --pad-x:clamp(20px,5vw,64px);
  --photo:grayscale(.45) sepia(.18) saturate(.9) contrast(1.05) brightness(.88);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--black);color:var(--body);font-family:var(--sans);font-weight:300;text-wrap:pretty}
img{display:block;max-width:100%}
a{color:var(--gold);text-decoration:none;transition:color .25s ease}
a:hover{color:var(--gold-lt)}
h1,h2,h3,h4,p{margin:0}
input,textarea,button,select{font:inherit}

/* ---------- layout ---------- */
.wrap{max-width:1280px;margin:0 auto}
.wrap--narrow{max-width:1100px;margin:0 auto}
.section{padding:clamp(60px,8vw,100px) var(--pad-x)}
.section--tall{padding:clamp(70px,10vw,110px) var(--pad-x)}
.section--panel{background:var(--panel)}
.section--edge{border-top:1px solid var(--line-soft)}
.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:clamp(40px,6vw,80px);align-items:center}
.split--top{align-items:start}
.split--loose{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.col{display:flex;flex-direction:column;min-width:0}
.stack{display:flex;flex-direction:column;min-width:0;gap:22px}

/* ---------- type ---------- */
.eyebrow{font-size:12px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold)}
.eyebrow--wide{letter-spacing:.4em}
.h1{font-family:var(--serif);font-weight:400;font-size:clamp(38px,5.6vw,68px);line-height:1.1;color:var(--ink)}
.h1--hero{font-size:clamp(42px,7vw,86px);line-height:1.06;max-width:900px;text-wrap:balance}
.h2{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3.8vw,46px);line-height:1.2;color:var(--ink)}
.h2--sm{font-size:clamp(28px,3.4vw,40px)}
.h2--lg{font-size:clamp(32px,4.4vw,52px);line-height:1.15}
.h3{font-family:var(--serif);font-weight:400;font-size:26px;color:var(--ink)}
.num{font-family:var(--serif);font-size:14px;color:var(--gold)}
.lede{max-width:640px;font-size:clamp(16px,1.6vw,18px);line-height:1.8;color:var(--muted)}
.body{font-size:17px;line-height:1.8;color:var(--muted)}
.body--sm{font-size:16px}
.note{font-size:15px;line-height:1.8;color:var(--dim)}
.italic{font-style:italic;color:var(--gold-lt)}
.center{text-align:center}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px;padding:20px var(--pad-x);background:rgba(11,11,12,.88);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav__logo{font-family:var(--serif);font-size:18px;letter-spacing:.34em;color:var(--gold)}
.nav__links{display:flex;flex-wrap:wrap;gap:clamp(18px,3vw,40px);font-size:13px;letter-spacing:.16em;text-transform:uppercase}
.nav__links a{color:var(--muted-2)}
.nav__links a:hover,.nav__links a.is-active{color:var(--gold-lt)}
.nav__cta{padding:11px 22px;border:1px solid var(--gold);color:var(--gold);font-size:12px;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;transition:background .25s ease,color .25s ease}
.nav__cta:hover{background:var(--gold);color:var(--black)}
.nav__toggle{display:none;padding:10px 15px;background:none;border:1px solid var(--line);color:var(--gold);font-size:11px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer}
@media (max-width:860px){
  .nav__toggle{display:block}
  .nav__links,.nav__cta{display:none}
  .nav.is-open .nav__links{display:flex;flex-direction:column;width:100%;gap:18px;padding-top:6px}
  .nav.is-open .nav__cta{display:block;width:100%;text-align:center}
}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;padding:clamp(70px,10vw,120px) var(--pad-x) clamp(50px,7vw,80px)}
.hero--tall{padding:clamp(90px,13vw,150px) var(--pad-x) clamp(80px,11vw,130px)}
.hero--flush{padding:0}
.hero__glow{position:absolute;top:-35%;left:50%;width:880px;height:880px;margin-left:-440px;background:radial-gradient(circle,rgba(198,162,99,.15),rgba(198,162,99,0) 62%);animation:nn-drift 23s ease-in-out infinite;pointer-events:none}
.hero__inner{position:relative;display:flex;flex-direction:column;align-items:center;gap:clamp(22px,3vw,34px);text-align:center}
.hero__rule{width:1px;height:72px;background:linear-gradient(var(--gold),rgba(198,162,99,0));transform-origin:top;animation:nn-grow 1.4s cubic-bezier(.2,.7,.2,1) both}

/* ---------- buttons ---------- */
.btns{display:flex;flex-wrap:wrap;justify-content:center;gap:18px}
.btn{display:inline-block;padding:16px 34px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;transition:background .25s ease,border-color .25s ease,color .25s ease}
.btn--solid{background:var(--gold);color:var(--black);border:1px solid var(--gold)}
.btn--solid:hover{background:var(--gold-lt);border-color:var(--gold-lt);color:var(--black)}
.btn--ghost{border:1px solid var(--line-mid);color:var(--body)}
.btn--ghost:hover{border-color:var(--gold);color:var(--gold-lt)}
.btn--lg{padding:17px 40px}

/* ---------- media ---------- */
.media{position:relative;height:min(560px,64vw);min-width:0;margin:0;overflow:hidden;background:var(--panel)}
.media--portrait{height:min(520px,60vw)}
.media img{width:100%;height:100%;object-fit:cover;filter:none}
.media figcaption{position:absolute;right:10px;bottom:8px;font-size:10px;letter-spacing:.06em;color:rgba(232,227,216,.55)}
.media figcaption a{color:inherit}
.media figcaption a:hover{color:var(--gold-lt)}

/* ---------- cards ---------- */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:26px}
.cards--tight{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.card{display:flex;flex-direction:column;gap:18px;padding:44px 38px;background:var(--panel);border:1px solid var(--line);min-width:0;transition:background .4s ease}
.card:hover{background:var(--panel-hi)}
.card--onpanel{background:var(--black)}
.card--onpanel:hover{background:var(--panel-hi)}
.card--pick{border-color:var(--gold)}
.card--pack{gap:18px;padding:40px 34px}
.card__link{margin-top:auto;padding-top:18px;border-top:1px solid var(--line);font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.card__link--plain{margin-top:6px;padding-top:0;border-top:none}
.card__meta{margin-top:auto;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}
.card__kicker{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.card__head{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.badge{padding:5px 11px;background:var(--gold);color:var(--black);font-size:10px;letter-spacing:.18em;text-transform:uppercase}
.spec{display:flex;flex-direction:column;gap:11px;font-size:15px;line-height:1.6;color:var(--muted)}

/* ---------- lists ---------- */
.dashlist{display:flex;flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;font-size:15px;color:var(--muted)}
.dashlist>li{display:flex;gap:14px;padding-bottom:14px;border-bottom:1px solid var(--line-soft)}
.dashlist>li:last-child{padding-bottom:0;border-bottom:none}
.dashlist>li::before{content:'—';color:var(--gold)}
.rowlist{display:flex;flex-direction:column;margin:0;padding:0;font-size:16px;color:var(--muted);list-style:none}
.rowlist>li{padding:13px 0;border-bottom:1px solid var(--line-soft)}
.rowlist>li:last-child{border-bottom:none}
.notes{display:flex;flex-direction:column;gap:16px;min-width:0;font-size:16px;line-height:1.8;color:var(--muted)}
.notes__last{padding-top:10px;border-top:1px solid var(--line);font-size:15px;color:var(--dim)}

/* ---------- steps ---------- */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:26px}
.steps--fine{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:22px}
.step{display:flex;flex-direction:column;gap:16px;min-width:0}
.step__rule{height:1px;background:rgba(198,162,99,.45)}
.step:first-child .step__rule{background:var(--gold)}
.step__num{font-family:var(--serif);font-size:13px;color:var(--gold)}
.step__title{font-size:17px;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.step__body{font-size:14px;line-height:1.7;color:var(--muted-2)}

/* ---------- process rows ---------- */
.prow{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(30px,4vw,56px);align-items:start;padding:clamp(28px,4vw,44px) 0;border-bottom:1px solid rgba(198,162,99,.16)}
.prow:last-child{border-bottom:none}
.prow__head{display:flex;align-items:baseline;gap:22px;min-width:0}
.prow__num{font-family:var(--serif);font-size:15px;color:var(--gold)}
.prow__title{font-family:var(--serif);font-weight:400;font-size:clamp(26px,3vw,34px);color:var(--ink)}
.prow__got{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}

/* ---------- stats ---------- */
.stats{display:flex;flex-wrap:wrap;gap:44px;padding-top:14px;border-top:1px solid var(--line)}
.stat{display:flex;flex-direction:column;gap:6px}
.stat__n{font-family:var(--serif);font-size:34px;color:var(--gold)}
.stat__l{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}

/* ---------- faq ---------- */
.faq{display:flex;flex-direction:column;min-width:0}
.faq__item{border-top:1px solid var(--line)}
.faq__item:last-child{border-bottom:1px solid var(--line)}
.faq__q{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 0;font-size:20px;color:var(--ink);cursor:pointer;list-style:none}
.faq__q::-webkit-details-marker{display:none}
.faq__q::after{content:'+';font-size:20px;color:var(--gold)}
.faq__item[open] .faq__q::after{content:'−'}
.faq__a{max-width:640px;padding-bottom:26px;font-size:16px;line-height:1.8;color:var(--muted)}

/* ---------- cta ---------- */
.cta{display:flex;flex-direction:column;align-items:center;gap:26px;text-align:center;padding:clamp(70px,10vw,120px) var(--pad-x)}
.cta .h2--lg{max-width:820px}
.cta .lede{max-width:560px}

/* ---------- form ---------- */
.form{display:flex;flex-direction:column;gap:24px;min-width:0}
.form__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px}
.field{display:flex;flex-direction:column;gap:8px;min-width:0}
.field>label,.fieldset>legend{padding:0;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}
.field input,.field textarea{width:100%;padding:13px 0;background:transparent;border:none;border-bottom:1px solid var(--line-mid);color:var(--ink);font-size:16px;outline:none;transition:border-color .25s ease}
.field input:focus,.field textarea:focus{border-bottom-color:var(--gold)}
.field textarea{resize:vertical}
.fieldset{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;border:none}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.chip span{display:inline-block;padding:11px 22px;border:1px solid var(--line-mid);font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);cursor:pointer;transition:border-color .25s ease,color .25s ease}
.chip input:checked+span{border-color:var(--gold);color:var(--gold-lt)}
.chip input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
.form__submit{align-self:flex-start;margin-top:8px;padding:17px 44px;background:var(--gold);border:1px solid var(--gold);color:var(--black);font-size:12px;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;transition:background .25s ease}
.form__submit:hover{background:var(--gold-lt);border-color:var(--gold-lt)}
.thanks{display:none;flex-direction:column;justify-content:center;gap:16px;min-width:0;padding:clamp(32px,5vw,56px);border:1px solid var(--gold)}
.thanks.is-on{display:flex}
.thanks__title{font-family:var(--serif);font-size:32px;color:var(--gold-lt)}
.contact__aside{display:flex;flex-direction:column;gap:24px;min-width:0}
.contact__block{display:flex;flex-direction:column;gap:10px;padding-top:24px;border-top:1px solid var(--line)}
.contact__label{font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:var(--dim)}
.contact__journey{font-size:15px;line-height:1.9;color:var(--muted)}
.contact__mail{font-size:16px;color:var(--muted)}

/* ---------- footer ---------- */
.footer{display:flex;flex-direction:column;gap:44px;padding:clamp(48px,7vw,88px) var(--pad-x) 44px;background:var(--black);border-top:1px solid var(--line)}
.footer__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:44px;max-width:1280px;width:100%;margin:0 auto}
.footer__col{display:flex;flex-direction:column;gap:12px;min-width:0;font-size:14px;line-height:1.7;color:var(--muted-2)}
.footer__col a{color:var(--muted-2)}
.footer__col a:hover{color:var(--gold-lt)}
.footer__head{margin-bottom:4px;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--dim)}
.footer__brand{font-family:var(--serif);font-size:16px;letter-spacing:.32em;color:var(--gold)}
.footer__tag{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim-2)}
.footer__bottom{max-width:1280px;width:100%;margin:0 auto;padding-top:26px;border-top:1px solid var(--line-soft);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint)}

/* ---------- motion ---------- */
@keyframes nn-grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes nn-rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes nn-fade{from{opacity:0}to{opacity:1}}
@keyframes nn-drift{0%{transform:translate3d(-4%,0,0) scale(1)}50%{transform:translate3d(4%,-3%,0) scale(1.08)}100%{transform:translate3d(-4%,0,0) scale(1)}}
.rise-1{animation:nn-rise 1s .45s both}
.rise-2{animation:nn-rise 1s .62s both}
.rise-3{animation:nn-rise 1s .8s both}
.rise-4{animation:nn-rise 1s .95s both}
.fade-1{animation:nn-fade 1s .3s both}
.in-1{animation:nn-rise .8s .1s both}
.in-2{animation:nn-rise .9s .25s both}
.in-3{animation:nn-rise .9s .4s both}
.in-4{animation:nn-rise .9s .55s both}
.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.js .reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .reveal{opacity:1;transform:none}
}
