
:root{
  --bg:#081632;
  --bg-soft:#0d1f47;
  --panel:rgba(255,255,255,.035);
  --line:rgba(216,184,105,.18);
  --gold:#d8b869;
  --gold-soft:#ead59d;
  --text:#f3ecd7;
  --muted:#d8d1bf;
  --shadow:0 18px 44px rgba(0,0,0,.24);
  --radius:22px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  color:var(--text);
  background:#081632;
  line-height:1.58;
}
body.nav-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.site-header{
  position:sticky;top:0;z-index:40;
  background:rgba(5,11,30,.88);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.nav-wrap{
  max-width:var(--max);
  margin:0 auto;
  padding:14px 24px;
  display:flex;align-items:center;justify-content:space-between;gap:18px;
}
.brand{display:flex;align-items:center;gap:12px;font-family:Georgia,serif;color:var(--gold-soft)}
.brand-crest,.footer-crest{object-fit:contain;border-radius:8px}
.brand-crest{width:34px;height:34px}
.brand-word{font-size:28px;letter-spacing:.05em}
.nav{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.nav a{font-size:14px;color:#efe6cf;opacity:.88}
.nav a.active,.nav a:hover,.mobile-nav a.active{color:var(--gold-soft);opacity:1}
.nav-cta{
  padding:10px 14px;border-radius:999px;
  background:linear-gradient(180deg,#ebd89f,#c9a653);color:#16110a!important;
  font-weight:700;border:none;opacity:1!important;
}
.nav-toggle{
  display:none;background:none;border:none;padding:0;margin:0;cursor:pointer;
  width:42px;height:42px;align-items:center;justify-content:center;flex-direction:column;gap:5px;
}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--gold-soft);border-radius:99px}
.mobile-nav{
  display:none;position:fixed;inset:69px 0 auto 0;background:rgba(5,11,30,.97);border-bottom:1px solid rgba(255,255,255,.06);
  padding:16px 24px 24px;z-index:39;
}
.mobile-nav.open{display:block}
.mobile-nav a{display:block;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:16px}
.mobile-nav a:last-child{border-bottom:0}
.main{overflow:hidden}
.section{
  max-width:var(--max);margin:0 auto;padding:72px 24px;border-top:1px solid rgba(255,255,255,.05)
}
.section:first-child{border-top:0}
.hero{padding-top:48px}
.hero.compact{padding-top:36px}
.hero-grid,.two-col,.split-6040,.split-4060,.feature-grid,.stacked-grid{
  display:grid;gap:42px;align-items:center
}
.hero-grid,.two-col{grid-template-columns:1.05fr .95fr}
.split-6040{grid-template-columns:1.2fr .8fr}
.split-4060{grid-template-columns:.82fr 1.18fr}
.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.stacked-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.center{text-align:center}
.center .subhead,.center .lead{margin-left:auto;margin-right:auto}
.eyebrow,.kicker{
  color:var(--gold);text-transform:uppercase;letter-spacing:.18em;font-size:12px;margin-bottom:14px
}
.display{
  font-family:Georgia,serif;font-size:clamp(40px,5.8vw,72px);line-height:1.03;margin:0 0 16px;color:#f5e9c7
}
.h2{
  font-family:Georgia,serif;font-size:clamp(28px,4vw,46px);line-height:1.08;margin:0 0 14px;color:#f3e2b4
}
.h3{font-family:Georgia,serif;font-size:24px;line-height:1.15;margin:0 0 12px;color:#f0ddb0}
.subhead{font-size:clamp(20px,2.2vw,29px);max-width:860px;color:#efe4c8;margin:0 0 18px}
.lead{font-size:18px;max-width:860px;color:var(--muted);margin:0}
.body-large{font-size:18px;color:#e5dcc7}
.btn-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;padding:13px 18px;border-radius:999px;
  border:1px solid rgba(255,255,255,.1);font-weight:600;transition:.2s ease
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:linear-gradient(180deg,#e7cf93,#caa553);color:#16110a;border:none}
.btn-secondary{background:rgba(255,255,255,.03);color:#f1e7cd}
.media{
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow)
}
.media img{border-radius:16px;cursor:zoom-in}
.media.clean{background:none;border:none;box-shadow:none;padding:0}
.media figcaption,.caption{margin-top:10px;font-size:14px;color:rgba(243,236,215,.68)}
.cards,.profile-grid,.goal-grid{
  display:grid;gap:20px;
}
.cards{grid-template-columns:repeat(3,minmax(0,1fr))}
.goal-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.card,.goal-card,.profile,.callout,.form-panel,.text-block{
  background:var(--panel);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:22px;box-shadow:var(--shadow)
}
.card h3,.profile h3,.goal-card h3{margin:0 0 10px;font-size:22px;font-family:Georgia,serif;color:#f0ddb0}
.card p,.section p,.section li,.profile p,.goal-card p,.callout p,label span,.small-copy{color:var(--muted)}
.footer-word{font-family:Georgia,serif;font-size:28px;color:#ead59d;letter-spacing:.05em;margin-bottom:8px}
.footer-brand{display:flex;gap:12px;align-items:flex-start}
.footer-crest{width:32px;height:32px}
ul.clean{padding-left:18px;margin:12px 0 0}
ul.clean li{margin:6px 0}
.quote-line{margin-top:18px;font-size:22px;font-family:Georgia,serif;color:#f0ddb0}
.callout strong{color:#f3e2b4}
.callout-line{
  display:inline-block;padding:10px 14px;border-radius:999px;background:rgba(216,184,105,.12);border:1px solid rgba(216,184,105,.18);color:#f2dfb0
}
.form-panel form{display:grid;gap:16px}
.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
label{display:block}
label span{display:block;font-size:14px;margin-bottom:7px}
input,select,textarea{
  width:100%;padding:12px 14px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.12);
  border-radius:12px;color:var(--text);font:inherit
}
textarea{min-height:120px;resize:vertical}
.form-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.form-status{font-size:14px;color:var(--gold-soft)}
.checkline{display:flex;gap:10px;align-items:flex-start}
.checkline input{width:auto;margin-top:4px}
.footer{border-top:1px solid rgba(255,255,255,.07);padding:28px 24px 42px;color:rgba(243,236,215,.8)}
.footer-inner{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1.2fr .8fr;gap:20px;align-items:start}
.footer-links{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-end}
.lightbox{
  position:fixed;inset:0;background:rgba(3,7,19,.86);display:none;align-items:center;justify-content:center;padding:32px;z-index:80
}
.lightbox.open{display:flex}
.lightbox img{max-width:min(1200px,92vw);max-height:88vh;border-radius:16px;box-shadow:0 24px 70px rgba(0,0,0,.4)}
.lightbox-close{
  position:absolute;top:18px;right:20px;width:42px;height:42px;border-radius:999px;border:1px solid rgba(255,255,255,.2);
  background:rgba(255,255,255,.05);color:#fff;font-size:28px;cursor:pointer
}
.section-pull{margin-top:-12px}
.hero-emblem{
  width:min(160px,34vw);height:auto;margin:0 auto 22px;display:block;filter:drop-shadow(0 6px 24px rgba(216,184,105,.18))
}
.step-list{display:grid;gap:16px;margin-top:20px}
.step-item{display:grid;grid-template-columns:auto 1fr;gap:14px;padding:16px 0;border-top:1px solid rgba(255,255,255,.08)}
.step-item:first-child{border-top:0;padding-top:0}
.step-number{
  width:32px;height:32px;border-radius:50%;border:1px solid rgba(234,213,157,.35);display:grid;place-items:center;color:#f0ddb0;font-weight:700
}
.inline-link{color:var(--gold-soft);text-decoration:underline;text-underline-offset:3px}
.rule{height:1px;background:linear-gradient(90deg, transparent, rgba(216,184,105,.25), transparent);margin-top:16px}
@media (max-width: 980px){
  .nav{display:none}
  .nav-toggle{display:flex}
  .hero-grid,.two-col,.split-6040,.split-4060,.feature-grid,.cards,.goal-grid,.profile-grid,.footer-inner,.field-row,.stacked-grid{grid-template-columns:1fr}
  .section{padding:60px 20px}
  .display{font-size:clamp(36px,12vw,56px)}
  .footer-links{justify-content:flex-start}
}

.hero-visual img{max-height:520px;object-fit:cover;width:100%}
.section-narrow{max-width:980px}
.text-centered{max-width:820px;margin:0 auto;text-align:center}
.footer .small-copy{max-width:420px}


.hero-visual img{max-height:520px;object-fit:cover;width:100%;}
.section-narrow{max-width:920px;}
.text-centered{text-align:center;}
@media (max-width: 980px){
  .hero-grid,.two-col{gap:24px;}
  .media{padding:10px;border-radius:18px;}
  .media img{border-radius:12px;}
  .hero-visual{order:-1;margin-bottom:6px;}
  .hero-visual img{max-height:360px;}
  .section{padding:52px 20px;}
  .section.hero.compact{padding-top:24px;}
  .section figure.media,
  .section .media{max-width:92vw;margin-left:auto;margin-right:auto;}
  .quote-line{font-size:20px;}
  .display{letter-spacing:-.01em;}
}
@media (max-width: 640px){
  .nav-wrap{padding:12px 16px;}
  .brand-word{font-size:24px;}
  .brand-crest{width:30px;height:30px;}
  .section{padding:44px 16px;}
  .subhead{font-size:18px;}
  .btn-row{gap:10px;}
  .btn{width:100%;justify-content:center;}
  .goal-grid,.cards,.profile-grid{gap:16px;}
  .section .media{max-width:100%;}
}


.section .media, .section .text-block, .section .form-panel, .section .callout {align-self:start;}
.hero-grid > *, .two-col > *{min-width:0;}
.goal-card, .profile, .card, .text-block{overflow:hidden;}
@media (max-width: 980px){
  .two-col, .hero-grid{gap:18px;}
  .section .two-col > figure.media, .section .hero-grid > figure.media {max-width:84vw;}
  .section .two-col > div + figure.media, .section .hero-grid > div + figure.media {margin-top:10px;}
  .section .two-col > figure.media + div {margin-top:2px;}
  .section p{font-size:16px;}
  .section .media img{max-height:320px; object-fit:cover;}
  .text-block.text-centered{padding:20px 18px;}
}
@media (max-width: 640px){
  .section{padding:38px 16px;}
  .two-col, .hero-grid{gap:16px;}
  .section .two-col > figure.media, .section .hero-grid > figure.media {max-width:100%;}
  .section .media{padding:8px;border-radius:16px;}
  .section .media img{border-radius:10px;max-height:280px;}
  .btn-row .btn{width:100%;}
  .goal-grid{grid-template-columns:1fr 1fr;}
}

.footer-inner{
  grid-template-columns: 1.2fr .8fr auto;
}
.footer-partner{
  justify-self:end;
  text-align:right;
  display:flex;
  flex-direction:column;
  gap:10px;
  align-items:flex-end;
}
.footer-partner-btn{
  border-color: transparent;
  color: #16110a;
  background: linear-gradient(180deg,#ebd89f,#c9a653);
  box-shadow: 0 10px 24px rgba(0,0,0,.18);
  font-weight: 700;
}
.footer-partner-btn:hover{
  background: linear-gradient(180deg,#f0dfad,#cfab59);
}
@media (max-width: 980px){
  .footer-inner{grid-template-columns:1fr;}
  .footer-partner{justify-self:start;align-items:flex-start;text-align:left;margin-top:4px;}
}
@media (max-width: 640px){
  .section .media img{max-height:none; object-fit:contain;}
  .section .media{margin-top:8px;}
}

.center-justify{justify-content:center}
.graphic-frame{
  background:rgba(255,255,255,.02);
  border:1px solid rgba(255,255,255,.06);
  border-radius:24px;
  padding:10px;
  box-shadow:var(--shadow);
}
.graphic-frame img{border-radius:18px}
.wide-media img{width:100%;height:auto;object-fit:contain}
@media (max-width:980px){
  .media-first-mobile > figure{order:-1}
}
