:root{
  --bone:#F6F0E8;
  --ink:#101010;
  --forest:#254D32;
  --forest-dark:#142A1F;
  --copper:#C5A357;
  --tan:#D8C3A5;
  --sage:#A5A58D;
  --offwhite:#EFE7D8;
  --cream-text:#F7F1E8;
  --line: rgba(16,16,16,0.12);
  --line-soft: rgba(16,16,16,0.08);
  --display: "Playfair Display", Georgia, serif;
  --body: "Montserrat", "Helvetica Neue", Arial, sans-serif;
}
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; scroll-padding-top:88px; }
body{
  margin:0;
  background:var(--bone);
  color:var(--ink);
  font-family:var(--body);
  font-weight:400;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
h1,h2,h3{
  font-family:var(--display);
  font-weight:700;
  line-height:1.15;
  margin:0;
  color:var(--ink);
}
p{ margin:0; }
a{ color:inherit; text-decoration:none; }
::selection{ background:var(--copper); color:var(--forest-dark); }

.wrap{
  max-width:1160px;
  margin:0 auto;
  padding-left:clamp(24px,6vw,64px);
  padding-right:clamp(24px,6vw,64px);
}
.col{ max-width:720px; }
.col.center{ margin-left:auto; margin-right:auto; text-align:center; }
section{ padding:clamp(56px,9vw,120px) 0; }

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:0.72rem;
  font-weight:700;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:var(--forest);
}
.eyebrow::before{ content:""; width:20px; height:2px; background:var(--copper); flex:none; }
.eyebrow.center{ justify-content:center; }
.eyebrow.on-dark{ color:var(--copper); }
.eyebrow.alt{ color:var(--forest-dark); }

/* ============ NAV ============ */
.nav{
  position:sticky; top:0; z-index:200;
  background:rgba(246,240,232,0.92);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line-soft);
}
.nav .wrap{
  display:flex; align-items:center; justify-content:space-between;
  padding-top:16px; padding-bottom:16px;
}
.nav-logo{ font-family:var(--display); font-weight:700; font-size:1.2rem; color:var(--forest); flex:none; }
.nav-links{ display:flex; align-items:center; gap:32px; list-style:none; margin:0; padding:0; }
.nav-links a{
  position:relative;
  font-size:0.85rem; font-weight:600; color:var(--ink); opacity:0.75;
  transition:opacity .2s ease, color .2s ease;
}
.nav-links a::after{
  content:"";
  position:absolute; left:0; right:100%; bottom:-4px;
  height:1px; background:var(--copper);
  transition:right .3s cubic-bezier(.22,1,.36,1);
}
.nav-links a:hover{ opacity:1; color:var(--forest); }
.nav-links a:hover::after{ right:0; }
.nav-cta{ flex:none; }
.nav-toggle{ display:none; background:none; border:0; cursor:pointer; padding:8px; }
.nav-toggle span, .nav-toggle span::before, .nav-toggle span::after{
  content:""; display:block; width:22px; height:2px; background:var(--ink); position:relative; transition:transform .2s ease, opacity .2s ease;
}
.nav-toggle span::before{ position:absolute; top:-7px; }
.nav-toggle span::after{ position:absolute; top:7px; }

@media (max-width:860px){
  .nav-links{
    position:fixed; top:64px; left:0; right:0; bottom:0;
    background:var(--bone);
    flex-direction:column; align-items:flex-start; gap:0;
    padding:12px clamp(24px,6vw,64px) 32px;
    transform:translateY(-12px);
    opacity:0; pointer-events:none;
    transition:opacity .2s ease, transform .2s ease;
  }
  .nav-links.is-open{ opacity:1; pointer-events:auto; transform:translateY(0); }
  .nav-links li{ width:100%; border-bottom:1px solid var(--line-soft); }
  .nav-links a{ display:block; padding:16px 0; opacity:1; }
  .nav-cta{ display:none; }
  .nav-toggle{ display:block; }
}

/* ============ BUTTONS ============ */
.btn{
  display:inline-flex; align-items:center; gap:8px;
  font-weight:600; font-size:0.95rem;
  padding:16px 30px; border-radius:6px;
  background:var(--forest); color:var(--cream-text);
  border:1px solid var(--forest);
  cursor:pointer;
  transition:background .3s cubic-bezier(.22,1,.36,1), border-color .3s ease, color .3s ease, transform .3s cubic-bezier(.22,1,.36,1), letter-spacing .3s ease;
}
.btn:hover{ background:var(--copper); border-color:var(--copper); color:var(--forest-dark); transform:translateY(-2px) scale(1.015); letter-spacing:0.01em; }
.btn:active{ transform:translateY(0) scale(0.99); }
.btn.secondary{ background:transparent; color:var(--forest); border:1px solid var(--forest); }
.btn.secondary:hover{ background:var(--forest); color:var(--cream-text); }
.btn.on-dark{ background:var(--copper); color:var(--forest-dark); border-color:var(--copper); }
.btn.on-dark:hover{ background:var(--cream-text); border-color:var(--cream-text); }
.btn-note{ display:block; margin-top:14px; font-size:0.85rem; color:rgba(16,16,16,0.6); }
.nav-cta .btn{ padding:11px 20px; font-size:0.85rem; }

/* ============ CARDS / GRID ============ */
.grid-4{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:48px; }
.card{
  background:var(--tan); border-radius:8px; padding:26px 22px;
  border:1px solid rgba(16,16,16,0.06);
  transition:transform .35s cubic-bezier(.22,1,.36,1), border-color .35s ease, background .35s ease;
  will-change:transform;
}
.card:hover{
  transform:translateY(-6px);
  border-color:var(--copper);
  background:#DFCBAE;
}
.card .label{
  font-size:0.72rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--forest);
  margin-bottom:12px; display:block;
  transition:letter-spacing .35s ease;
}
.card:hover .label{ letter-spacing:0.16em; }
.card p{ font-size:0.94rem; color:rgba(16,16,16,0.8); }

.closing{ margin-top:56px; font-family:var(--display); font-weight:700; font-size:clamp(1.5rem,3vw,2.1rem); max-width:820px; color:var(--forest); line-height:1.3; }
.closing.center{ margin-left:auto; margin-right:auto; text-align:center; }

.compare{ margin-top:48px; display:grid; grid-template-columns:1fr 1fr; background:var(--bone); border:1px solid var(--line); border-radius:8px; overflow:hidden; }
.compare .col-head{ padding:16px 24px; font-size:0.72rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; }
.compare .col-head.keep{ background:var(--forest); color:var(--cream-text); }
.compare .col-head.build{ background:var(--copper); color:var(--forest-dark); }
.compare .row{ padding:16px 24px; font-size:0.96rem; border-top:1px solid var(--line-soft); transition:background .25s ease; }
.compare .row.keep{ background:var(--bone); }
.compare .row.build{ background:#FBF7EE; }
.compare .row.keep:hover{ background:rgba(37,77,50,0.08); }
.compare .row.build:hover{ background:rgba(197,163,87,0.14); }

.steps{ margin-top:48px; display:flex; flex-direction:column; }
.step{ display:grid; grid-template-columns:64px 1fr; gap:20px; padding:26px 0; border-top:1px solid var(--line-soft); }
.step:last-of-type{ border-bottom:1px solid var(--line-soft); }
.step .num{ font-family:var(--display); font-weight:700; font-size:1.6rem; color:var(--copper); }
.step h4{ font-weight:700; font-size:0.9rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--forest); margin-bottom:8px; }
.step p{ font-size:0.98rem; color:rgba(16,16,16,0.78); }

.serif-statement{ text-align:center; margin-top:56px; font-family:var(--display); font-weight:700; font-size:clamp(1.6rem,3.4vw,2.4rem); color:var(--forest); }
.sub-statement{ text-align:center; margin-top:12px; font-size:1rem; color:rgba(16,16,16,0.65); }

.pill-row{ display:flex; flex-wrap:wrap; gap:12px; margin-top:36px; }
.pill{
  background:var(--bone); border:1px solid var(--line); border-radius:999px;
  padding:10px 20px; font-size:0.88rem; font-weight:500;
  transition:background .25s ease, border-color .25s ease, transform .25s cubic-bezier(.22,1,.36,1);
}
.pill:hover{ background:var(--forest); color:var(--cream-text); border-color:var(--forest); transform:translateY(-3px); }

.checklist{ margin-top:32px; display:flex; flex-direction:column; gap:14px; }
.checklist .item{ display:flex; gap:14px; align-items:flex-start; font-size:1rem; transition:transform .25s ease; }
.checklist .item:hover{ transform:translateX(4px); }
.checklist .item:hover .mark{ background:var(--copper); }
.checklist .mark{
  flex:none; width:22px; height:22px; border-radius:50%; background:var(--forest); color:var(--cream-text);
  display:flex; align-items:center; justify-content:center; font-size:0.72rem; margin-top:2px;
  transition:background .25s ease, transform .3s cubic-bezier(.34,1.56,.64,1);
}
.checklist .item:hover .mark{ transform:scale(1.15); }

.alt{ background:var(--tan); }
.why-grid{ margin-top:48px; display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.why-grid img{ border-radius:10px; }
.two-col{ margin-top:48px; display:grid; grid-template-columns:1fr 1fr; gap:48px; }
.two-col h4{ font-size:0.85rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--forest); margin-bottom:16px; }
.two-col ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.two-col li{ font-size:0.96rem; }
.transparency{ margin-top:40px; padding:22px 26px; background:var(--bone); border-left:3px solid var(--copper); border-radius:4px; font-size:0.95rem; color:rgba(16,16,16,0.78); }

.not-ready{ background:var(--offwhite); text-align:center; }
.not-ready .sub{ max-width:560px; margin:18px auto 0; color:rgba(16,16,16,0.72); }
.final-cta{ background:var(--forest-dark); color:var(--cream-text); text-align:center; }
.final-cta h2{ color:var(--cream-text); max-width:820px; margin:18px auto 0; }
.final-cta .sub{ max-width:560px; margin:22px auto 0; color:rgba(247,241,232,0.8); }
.final-cta .btn-note{ color:rgba(247,241,232,0.6); }

footer{ padding:36px 0; text-align:center; font-size:0.78rem; background:var(--forest-dark); color:rgba(247,241,232,0.55); }
footer a{ color:rgba(247,241,232,0.7); }

/* ============ AUTHORITY STRIP ============ */
.authority-strip{
  margin-top:44px; padding-top:28px; border-top:1px solid var(--line-soft);
  display:flex; flex-wrap:wrap; align-items:center; justify-content:center;
  gap:10px 22px;
  font-size:0.78rem; font-weight:600; letter-spacing:0.05em; text-transform:uppercase;
  color:rgba(16,16,16,0.55);
}
.authority-strip .dot{ opacity:0.5; }
@media (max-width:600px){
  .authority-strip .dot{ display:none; }
  .authority-strip span{ width:100%; text-align:center; }
}

/* ============ VSL ============ */
.vsl-frame{
  position:relative;
  max-width:920px; margin:0 auto;
  aspect-ratio:16/9;
  border-radius:10px;
  overflow:hidden;
  background:var(--forest-dark);
  border:1px solid var(--line);
}
.vsl-frame .vsl-bg{
  position:absolute; inset:0;
  background-image:url('/assets/founders-sedona.jpg');
  background-size:cover; background-position:center 30%;
  opacity:0.55;
}
.vsl-frame::after{
  content:"";
  position:absolute; inset:0;
  background:rgba(20,42,31,0.55);
}
.vsl-frame .vsl-caption{
  position:absolute; left:0; right:0; bottom:0; z-index:2;
  padding:28px clamp(20px,4vw,40px);
  color:var(--cream-text);
}
.vsl-frame .vsl-caption .kicker{
  font-size:0.72rem; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--copper);
}
.vsl-frame .vsl-caption h3{
  font-family:var(--display); font-weight:700; color:var(--cream-text);
  font-size:clamp(1.15rem,2.6vw,1.6rem); margin-top:8px; line-height:1.25;
}
.vsl-play{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:74px; height:74px; border-radius:50%;
  background:rgba(247,241,232,0.95);
  display:flex; align-items:center; justify-content:center;
  z-index:2;
  transition:transform .3s cubic-bezier(.22,1,.36,1), background .3s ease;
}
.vsl-frame:hover .vsl-play{ transform:translate(-50%,-50%) scale(1.08); background:var(--cream-text); }
.vsl-play svg{ width:22px; height:22px; margin-left:3px; fill:var(--forest-dark); }
.vsl-note{ text-align:center; margin-top:16px; font-size:0.8rem; color:rgba(16,16,16,0.5); }

/* ============ BEFORE / AFTER EXAMPLES ============ */
.examples-grid{
  margin-top:48px;
  display:grid; grid-template-columns:repeat(3,1fr); gap:20px;
}
.example-card{
  background:var(--bone);
  border:1px solid var(--line);
  border-radius:10px;
  padding:28px 26px;
  transition:border-color .3s ease, transform .35s cubic-bezier(.22,1,.36,1);
}
.example-card:hover{ border-color:var(--copper); transform:translateY(-4px); }
.example-card .ex-label{
  font-size:0.72rem; font-weight:700; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--forest); margin-bottom:18px; display:block;
}
.example-row{ margin-top:16px; }
.example-row:first-of-type{ margin-top:0; }
.example-row .tag{
  font-size:0.68rem; font-weight:700; letter-spacing:0.14em; text-transform:uppercase;
  display:inline-block; margin-bottom:8px;
  padding:3px 10px; border-radius:4px;
}
.example-row.before .tag{ background:var(--tan); color:var(--forest-dark); }
.example-row.after .tag{ background:var(--forest); color:var(--cream-text); }
.example-row p{ font-size:0.92rem; color:rgba(16,16,16,0.78); line-height:1.55; }

/* ============ PULL QUOTE ============ */
.pull-quote{
  font-family:var(--display); font-style:italic; font-weight:700;
  font-size:clamp(1.15rem,2.2vw,1.5rem);
  color:var(--forest);
  margin:22px 0;
  padding-left:20px;
  border-left:3px solid var(--copper);
}

/* ============ APPLY / BOOK PAGE HEADERS ============ */
.page-hero{ text-align:center; padding-top:clamp(56px,9vw,110px); padding-bottom:16px; }
.page-hero .eyebrow{ margin-bottom:16px; }
.page-hero h1{ font-size:clamp(1.9rem,4vw,2.8rem); max-width:760px; margin:0 auto; }
.page-hero p{ max-width:600px; margin:20px auto 0; font-size:1.03rem; color:rgba(16,16,16,0.75); }

.embed-shell{
  max-width:760px; margin:40px auto 0;
  background:transparent;
}
.embed-shell iframe{ display:block; width:100%; border:none; background:transparent; }

.text-book{
  max-width:760px; margin:32px auto 0;
  background:var(--tan); border-radius:10px; padding:26px 30px;
  display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;
}
.text-book .copy{ max-width:420px; }
.text-book h3{ font-size:1.1rem; margin-bottom:6px; }
.text-book p{ font-size:0.92rem; color:rgba(16,16,16,0.75); }

/* ============ MOTION ============ */
@media (prefers-reduced-motion: no-preference){
  .fade{
    opacity:0; transform:translateY(32px);
    transition:opacity 1s cubic-bezier(.16,1,.3,1), transform 1s cubic-bezier(.16,1,.3,1);
  }
  .fade.in{ opacity:1; transform:translateY(0); }

  .fade-child{
    opacity:0; transform:translateY(18px);
    transition:opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1);
  }
  .fade.in .fade-child{ opacity:1; transform:translateY(0); }
  .fade.in .fade-child:nth-child(1){ transition-delay:.05s; }
  .fade.in .fade-child:nth-child(2){ transition-delay:.14s; }
  .fade.in .fade-child:nth-child(3){ transition-delay:.23s; }
  .fade.in .fade-child:nth-child(4){ transition-delay:.32s; }
  .fade.in .fade-child:nth-child(5){ transition-delay:.41s; }

  .why-grid img{ transition:transform 1.4s cubic-bezier(.16,1,.3,1); }
  .why-grid:hover img{ transform:scale(1.02); }

  .step{ transition:background .3s ease, padding-left .3s cubic-bezier(.22,1,.36,1); }
  .step:hover{ background:rgba(37,77,50,0.04); padding-left:10px; }
  .step .num{ transition:color .3s ease, transform .3s cubic-bezier(.34,1.56,.64,1); }
  .step:hover .num{ color:var(--forest); transform:scale(1.1); }
}

@media (max-width:860px){
  .grid-4{ grid-template-columns:1fr 1fr; }
  .why-grid{ grid-template-columns:1fr; }
  .two-col{ grid-template-columns:1fr; gap:32px; }
  .compare{ grid-template-columns:1fr; }
  .text-book{ flex-direction:column; text-align:center; }
  .examples-grid{ grid-template-columns:1fr; }
}
@media (max-width:600px){
  .grid-4{ grid-template-columns:1fr; }
  .step{ grid-template-columns:44px 1fr; }
  .vsl-play{ width:60px; height:60px; }
}
