/* ============================================================
   Hamish Cramer — homepage design comp v2
   Palette: warm paper ground, near-black bands, single gold accent.
   No rust. No italics. Light is the dominant tone.
   ============================================================ */
:root{
  --paper:#EEEBE5;
  --paper-2:#E2DED4;
  --ink:#131211;
  --ink-2:#1D1B18;
  --gold:#EABE76;
  --gold-deep:#D2A254;
  --bar:#C9A15C;
  --jm:url("jaguar-mask.png");

  --maxw:1180px;
  --gut:clamp(1.25rem,5vw,4rem);
  --sec:clamp(4.5rem,9vw,8.5rem);
  --disp:"Archivo","Helvetica Neue",Arial,sans-serif;
  --body:"Instrument Sans","Helvetica Neue",Arial,sans-serif;

  /* default tone: light */
  --bg:var(--paper);
  --fg:#23211D;
  --muted:#6C685F;
  --hair:rgba(35,33,29,.16);
}

.tone-light{--bg:var(--paper);--fg:#23211D;--muted:#6C685F;--hair:rgba(35,33,29,.16)}
.tone-raised{--bg:var(--paper-2);--fg:#23211D;--muted:#67635A;--hair:rgba(35,33,29,.18)}
.tone-dark{--bg:var(--ink);--fg:#E6E2DA;--muted:#98917F;--hair:rgba(234,190,118,.22);--bar:var(--gold)}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--paper);
  color:#23211D;
  font-family:var(--body);
  font-size:1.0625rem;
  line-height:1.7;
  letter-spacing:.002em;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{display:block;max-width:100%}
a{color:inherit}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold-deep);outline-offset:3px}

/* ---------- type primitives ---------- */
.display{
  font-family:var(--disp);
  font-variation-settings:"wdth" 116,"wght" 800;
  text-transform:uppercase;
  line-height:1;
  letter-spacing:-.012em;
  text-wrap:balance;
  margin:0;
  color:var(--fg);
}
h1.display{font-size:clamp(2.6rem,7vw,5.6rem);line-height:.92}
h2.display{font-size:clamp(1.75rem,3.7vw,2.9rem)}
h3.display{font-size:clamp(1.1rem,1.7vw,1.35rem);font-variation-settings:"wdth" 110,"wght" 700;letter-spacing:.06em}

.eyebrow{
  font-family:var(--disp);
  font-variation-settings:"wdth" 100,"wght" 500;
  font-size:.7rem;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--muted);
  margin:0 0 1rem;
}
.rule{width:38px;height:3px;background:var(--bar);border:0;margin:0 0 1.6rem}
.tone-dark .rule{background:var(--gold)}

.lead{
  font-size:clamp(1.14rem,1.6vw,1.42rem);
  line-height:1.5;
  color:var(--fg);
  max-width:34ch;
  font-weight:500;
  letter-spacing:-.008em;
}
p{margin:0 0 1.2em;max-width:66ch;color:var(--fg)}
p:last-child{margin-bottom:0}
.muted{color:var(--muted)}
.prose p{color:var(--fg)}
.prose p + p{margin-top:0}

/* ---------- shell ---------- */
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gut)}
.hero__grid > *,.split > *,.problem__grid > *,.philo__grid > *,.exp__grid > *{min-width:0}
section{position:relative}
.band{padding-block:var(--sec);background:var(--bg);color:var(--fg)}

/* ---------- nav ---------- */
.nav{
  position:sticky;top:0;z-index:60;
  background:transparent;
  border-bottom:1px solid transparent;
  transition:background .3s ease,border-color .3s ease,backdrop-filter .3s ease;
}
.nav__in{display:flex;align-items:center;gap:2rem;height:76px}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;margin-right:auto}
.brand img{width:24px;height:26px}
.brand span{
  font-family:var(--disp);
  font-variation-settings:"wdth" 112,"wght" 600;
  font-size:.76rem;letter-spacing:.28em;text-transform:uppercase;color:#E6E2DA;
  transition:color .3s ease;
}
.nav__links{display:flex;gap:1.9rem;list-style:none;margin:0;padding:0}
.nav__links a{
  font-family:var(--disp);
  font-variation-settings:"wdth" 100,"wght" 500;
  font-size:.73rem;letter-spacing:.14em;text-transform:uppercase;
  text-decoration:none;color:#E6E2DA;opacity:.8;
  padding-block:.35rem;border-bottom:1px solid transparent;
  transition:opacity .2s,border-color .2s,color .3s;
}
.nav__links a:hover,.nav__links a:focus-visible{opacity:1;border-bottom-color:var(--gold)}
body[data-page="about"] [data-nav="about"],
body[data-page="private-coaching"] [data-nav="private-coaching"],
body[data-page="intensives"] [data-nav="intensives"],
body[data-page="contact"] [data-nav="contact"]{opacity:1;border-bottom-color:var(--gold)}
.nav .btn{color:var(--ink)}

.nav.stuck{background:rgba(238,235,229,.94);backdrop-filter:blur(12px);border-bottom-color:rgba(35,33,29,.12)}
.nav.stuck .brand span,.nav.stuck .nav__links a{color:#23211D}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.65rem;
  font-family:var(--disp);
  font-variation-settings:"wdth" 104,"wght" 600;
  font-size:.73rem;letter-spacing:.16em;text-transform:uppercase;
  text-decoration:none;padding:.95rem 1.55rem;
  border:1px solid var(--gold);
  color:var(--ink);background:var(--gold);
  transition:background .22s,border-color .22s,color .22s;
}
.btn:hover,.btn:focus-visible{background:var(--gold-deep);border-color:var(--gold-deep)}
.btn--outline{background:transparent;border-color:var(--hair);color:var(--fg)}
.btn--outline:hover,.btn--outline:focus-visible{background:var(--fg);border-color:var(--fg);color:var(--bg)}
.btn--sm{padding:.78rem 1.25rem;font-size:.69rem}
.btn .arw{transition:transform .22s}
.btn:hover .arw{transform:translateX(4px)}

/* ---------- hero ---------- */
.hero{
  background:var(--ink);color:#E6E2DA;
  --bg:var(--ink);--fg:#E6E2DA;--muted:#98917F;--hair:rgba(234,190,118,.22);--bar:var(--gold);
  margin-top:-76px;padding-top:76px;
  position:relative;overflow:hidden;
}
.hero__grid{
  display:grid;grid-template-columns:1.02fr .98fr;
  gap:clamp(2rem,5vw,4.5rem);align-items:center;
  min-height:min(88vh,820px);padding-block:clamp(3.5rem,7vw,6rem);
}
.hero__name{
  font-family:var(--disp);font-variation-settings:"wdth" 118,"wght" 800;
  text-transform:uppercase;font-size:clamp(2.4rem,6.4vw,5rem);line-height:.9;
  letter-spacing:-.015em;margin:0;color:#F2EFE8;
}
.hero__role{
  font-family:var(--disp);font-variation-settings:"wdth" 100,"wght" 500;
  font-size:.76rem;letter-spacing:.28em;text-transform:uppercase;
  color:var(--gold);margin:1.3rem 0 0;
}
.hero__pitch{
  font-size:clamp(1.16rem,1.75vw,1.5rem);line-height:1.45;font-weight:500;
  letter-spacing:-.01em;color:#F2EFE8;max-width:26ch;
  margin:2rem 0 0;padding-top:2rem;border-top:1px solid var(--hair);
}
.hero__support{margin-top:1.4rem;max-width:44ch;color:#B4AE9F;font-size:1rem}
.hero__cta{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:2.4rem}
.hero__media{position:relative}
.hero__media img{
  width:100%;height:clamp(340px,50vw,600px);object-fit:cover;object-position:52% 38%;
  filter:grayscale(1) contrast(1.02) brightness(1.02);
}
.hero__media::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(215deg,rgba(19,18,17,0) 55%,rgba(19,18,17,.75) 100%);
}
.hero__mark{
  position:absolute;left:calc(var(--gut) * -1);bottom:-6%;
  width:clamp(150px,17vw,240px);opacity:.1;pointer-events:none;color:var(--gold);
}
.band__mark{width:44px;color:var(--gold);margin-bottom:1.2rem;opacity:.9}
.close__mark{width:52px;color:var(--gold);margin:0 auto 1.5rem}

/* ---------- jaguar mark, painted from one mask in any brand colour ---------- */
.jmark{
  display:block;aspect-ratio:753/817;
  background-color:currentColor;
  -webkit-mask:var(--jm) center/contain no-repeat;
  mask:var(--jm) center/contain no-repeat;
}
.jmark--watermark{position:absolute;pointer-events:none}

/* ---------- mobile menu ---------- */
.burger{
  display:none;width:44px;height:44px;padding:0;margin-right:-10px;
  background:transparent;border:0;cursor:pointer;position:relative;color:#E6E2DA;
  transition:color .3s ease;
}
.nav.stuck .burger{color:#23211D}
.burger span{
  position:absolute;left:11px;width:22px;height:1.5px;background:currentColor;
  transition:transform .28s ease,opacity .2s ease;
}
.burger span:nth-child(1){top:16px}
.burger span:nth-child(2){top:22px}
.burger span:nth-child(3){top:28px}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

.drawer{
  position:fixed;inset:0;z-index:55;background:var(--ink);
  display:flex;flex-direction:column;justify-content:center;
  padding:5rem var(--gut) 3rem;
  opacity:0;visibility:hidden;transform:translateY(-8px);
  transition:opacity .3s ease,transform .3s ease,visibility .3s;
}
.drawer[data-open="true"]{opacity:1;visibility:visible;transform:none}
.drawer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}
.drawer a{
  display:block;text-decoration:none;color:#F2EFE8;
  font-family:var(--disp);font-variation-settings:"wdth" 116,"wght" 700;
  text-transform:uppercase;font-size:clamp(1.6rem,7vw,2.2rem);line-height:1.25;
  padding:.35rem 0;border-bottom:1px solid rgba(234,190,118,.14);
}
.drawer a:hover,.drawer a:focus-visible{color:var(--gold)}
.drawer .btn{margin-top:2.5rem;align-self:flex-start}
.drawer .jmark{position:absolute;right:-14%;bottom:-6%;width:60%;color:var(--gold);opacity:.07}
body[data-locked="true"]{overflow:hidden}

/* ---------- generic section head ---------- */
.head{max-width:24ch}
.head--wide{max-width:32ch}

/* ---------- problem ---------- */
.problem__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,6vw,5.5rem);align-items:start}
.pull{
  margin-top:2.4rem;padding-top:1.6rem;border-top:1px solid var(--hair);
  font-family:var(--disp);font-variation-settings:"wdth" 106,"wght" 600;
  letter-spacing:-.008em;line-height:1.32;
  font-size:clamp(1.18rem,2.1vw,1.55rem);color:var(--fg);max-width:27ch;
}

/* ---------- role ---------- */
.split{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(2rem,5.5vw,5rem);align-items:center}
.split__img{position:relative}
.split__img img{width:100%;height:clamp(380px,46vw,580px);object-fit:cover;object-position:50% 24%;filter:grayscale(1) contrast(1.03) brightness(1.04)}
.split__img::after{
  content:"";position:absolute;left:-14px;bottom:-14px;width:44%;height:38%;
  border-left:1px solid var(--bar);border-bottom:1px solid var(--bar);opacity:.6;pointer-events:none;
}

/* ---------- three areas (dark) ---------- */
.areas{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,3.5vw,3rem);margin-top:clamp(2.5rem,5vw,3.75rem)}
.area{border-top:1px solid var(--hair);padding-top:1.5rem}
.area h3{
  font-family:var(--disp);font-variation-settings:"wdth" 114,"wght" 800;
  text-transform:uppercase;font-size:clamp(1.15rem,2vw,1.5rem);letter-spacing:.02em;
  margin:0 0 1rem;color:var(--gold);
}
.area p{color:var(--muted);font-size:1.02rem;margin:0}
.areas-close{
  margin-top:clamp(2.5rem,5vw,3.5rem);padding-top:2rem;border-top:1px solid var(--hair);
  font-family:var(--disp);font-variation-settings:"wdth" 106,"wght" 600;
  line-height:1.34;letter-spacing:-.008em;
  font-size:clamp(1.1rem,1.9vw,1.5rem);color:#F2EFE8;max-width:40ch;
}

/* ---------- philosophy ---------- */
.philo__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5.5rem);align-items:start}
.philo__stat{
  border-left:3px solid var(--bar);padding-left:1.5rem;
  font-family:var(--disp);font-variation-settings:"wdth" 106,"wght" 600;
  line-height:1.34;letter-spacing:-.008em;
  font-size:clamp(1.12rem,1.9vw,1.45rem);max-width:32ch;margin-top:2.4rem;
}

/* ---------- jaguar ---------- */
.jag{position:relative;isolation:isolate;color:#E6E2DA;--bg:var(--ink);--bar:var(--gold);--fg:#E6E2DA;--muted:#A9A292;--hair:rgba(234,190,118,.22);overflow:hidden}
.jag__bg{position:absolute;inset:0;z-index:-2}
.jag__bg img{
  width:100%;height:100%;object-fit:cover;object-position:70% 42%;
  filter:brightness(.2) saturate(.55);transform:scale(1.05);
  transition:filter 2.2s cubic-bezier(.2,.7,.3,1),transform 2.8s cubic-bezier(.2,.7,.3,1);
}
.jag.lit .jag__bg img{filter:brightness(.78) saturate(.9);transform:scale(1)}
.jag::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(19,18,17,.94) 0%,rgba(19,18,17,.78) 42%,rgba(19,18,17,.3) 100%);
}
.jag__mark{
  position:absolute;right:-5%;bottom:-16%;
  width:clamp(200px,26vw,360px);opacity:.1;z-index:-1;transition:opacity 2.2s ease;
}
.jag.lit .jag__mark{opacity:.3}
.jag__body{max-width:46ch}
.jag .display{color:#F2EFE8}

/* ---------- experience ---------- */
.exp__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,6vw,5.5rem);align-items:start}

/* ---------- offers ---------- */
.offers{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1.25rem,2.5vw,1.75rem);margin-top:clamp(2.5rem,5vw,3.5rem)}
.offer{
  background:var(--paper);padding:clamp(1.75rem,3.2vw,2.75rem);
  display:flex;flex-direction:column;gap:1.05rem;border-top:3px solid var(--bar);
  position:relative;overflow:hidden;
}
.offer > *{position:relative;z-index:1}
.offer .jmark{
  position:absolute;right:-9%;bottom:-14%;width:46%;z-index:0;
  color:#23211D;opacity:.05;
}
.terms{
  display:flex;flex-wrap:wrap;gap:.5rem .9rem;align-items:baseline;
  margin:0;padding-bottom:.3rem;
}
.price{
  font-family:var(--disp);font-variation-settings:"wdth" 114,"wght" 800;
  font-size:clamp(1.4rem,2.4vw,1.85rem);line-height:1;color:#23211D;
  font-variant-numeric:tabular-nums;
}
.terms .qual{
  font-family:var(--disp);font-variation-settings:"wdth" 100,"wght" 500;
  font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);
}
.offer .kicker{
  font-family:var(--disp);font-variation-settings:"wdth" 100,"wght" 500;
  font-size:.67rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin:0;
}
.offer h3{
  font-family:var(--disp);font-variation-settings:"wdth" 114,"wght" 800;
  text-transform:uppercase;font-size:clamp(1.2rem,2vw,1.55rem);line-height:1.05;margin:0;color:#23211D;
}
.offer p{margin:0;font-size:1.02rem}
.includes{list-style:none;margin:0;padding:1.15rem 0 0;border-top:1px solid var(--hair);display:flex;flex-direction:column;gap:.55rem}
.includes li{display:flex;gap:.7rem;align-items:baseline;font-size:.97rem;color:var(--fg);line-height:1.5}
.includes li::before{content:"";flex:none;width:11px;height:1px;background:var(--bar);transform:translateY(-5px)}
.credit{
  margin:clamp(2rem,4vw,2.75rem) auto 0;text-align:center;max-width:56ch;
  font-size:1.02rem;color:#3B342A;
}
.credit b{font-weight:600;color:#23211D}
.offer .btn{align-self:flex-start;margin-top:auto}
.scarcity{
  margin-top:clamp(2rem,4vw,2.75rem);
  font-family:var(--disp);font-variation-settings:"wdth" 100,"wght" 500;
  font-size:.71rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);text-align:center;
}

/* ---------- testimonials ---------- */
.quotes{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1.25rem,2.5vw,1.75rem);margin-top:clamp(2.5rem,5vw,3.5rem)}
.qcard{border:1px solid var(--hair);padding:clamp(1.5rem,2.6vw,2rem);display:flex;flex-direction:column;gap:1.05rem}
.stars{color:var(--bar);letter-spacing:.22em;font-size:.9rem;line-height:1;margin:0}
.qcard blockquote{margin:0;flex:1;font-size:1.02rem;line-height:1.6;color:var(--fg)}
.qcard cite{
  font-style:normal;font-family:var(--disp);font-variation-settings:"wdth" 100,"wght" 600;
  font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--fg);
}
.qcard cite span{display:block;font-variation-settings:"wdth" 100,"wght" 400;color:var(--muted);margin-top:.3rem;letter-spacing:.13em}
.source{
  display:flex;align-items:center;gap:.65rem;margin-top:1.75rem;max-width:none;
  font-family:var(--disp);font-variation-settings:"wdth" 100,"wght" 500;
  font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);
}
.source .jmark{flex:none;width:20px;color:var(--bar)}

/* ---------- pull-quote band ---------- */
.qband{position:relative;overflow:hidden;text-align:center}
.qband .jmark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(380px,60%);color:var(--gold);opacity:.06}
.qband blockquote{
  position:relative;z-index:1;margin:0 auto;max-width:24ch;
  font-size:clamp(1.35rem,3vw,2.15rem);line-height:1.3;font-weight:500;
  letter-spacing:-.015em;color:#F2EFE8;
}
.qband cite{
  position:relative;z-index:1;display:block;margin-top:1.8rem;font-style:normal;
  font-family:var(--disp);font-variation-settings:"wdth" 100,"wght" 600;
  font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);
}
.placeholder-note{
  margin-top:1.75rem;font-family:var(--disp);font-variation-settings:"wdth" 100,"wght" 400;
  font-size:.67rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);
}

/* ---------- close ---------- */
.close{position:relative;isolation:isolate;overflow:hidden;color:#E6E2DA;--bg:var(--ink);--bar:var(--gold);--fg:#E6E2DA;--muted:#A9A292;--hair:rgba(234,190,118,.22);text-align:center}
.close__bg{position:absolute;inset:0;z-index:-2}
.close__bg img{width:100%;height:100%;object-fit:cover;object-position:58% 32%;filter:grayscale(.9) brightness(.52)}
.close::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(19,18,17,.86),rgba(19,18,17,.66) 50%,rgba(19,18,17,.93))}
.close .display{color:#F2EFE8;margin-inline:auto;max-width:18ch}
.close .rule{margin-inline:auto}
.close .eyebrow{text-align:center}
.close p{margin-inline:auto;max-width:48ch}

/* ---------- footer ---------- */
.foot{background:var(--ink-2);color:#B4AE9F;--bg:var(--ink-2);--bar:var(--gold);--fg:#E6E2DA;--muted:#8E8878;--hair:rgba(234,190,118,.18);padding-block:clamp(3rem,6vw,4.25rem)}
.foot__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:clamp(2rem,5vw,4rem)}
.foot__mark{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem}
.foot__mark img{width:30px;height:33px}
.foot__mark span{
  font-family:var(--disp);font-variation-settings:"wdth" 112,"wght" 600;
  font-size:.78rem;letter-spacing:.28em;text-transform:uppercase;color:#E6E2DA;
}
.foot h4{
  font-family:var(--disp);font-variation-settings:"wdth" 100,"wght" 600;
  font-size:.67rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:0 0 1rem;
}
.foot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}
.foot a{text-decoration:none;color:#B4AE9F;font-size:.98rem;transition:color .2s}
.foot a:hover,.foot a:focus-visible{color:var(--gold)}
.foot p{color:#B4AE9F;font-size:.98rem}
.tagline{
  font-family:var(--disp);font-variation-settings:"wdth" 108,"wght" 700;
  text-transform:uppercase;letter-spacing:.07em;font-size:.8rem;color:var(--gold);
  margin:1.5rem 0 0;max-width:22ch;text-wrap:balance;
}
.foot__base{
  margin-top:clamp(2.5rem,5vw,3.25rem);padding-top:1.4rem;border-top:1px solid var(--hair);
  display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;
  font-family:var(--disp);font-variation-settings:"wdth" 100,"wght" 400;
  font-size:.67rem;letter-spacing:.13em;text-transform:uppercase;color:#8E8878;
}

/* ---------- reveal ---------- */
.js .r{opacity:0;transform:translateY(18px);transition:opacity .8s cubic-bezier(.2,.7,.3,1),transform .8s cubic-bezier(.2,.7,.3,1)}
.js .r.in{opacity:1;transform:none}
.js .r-2{transition-delay:.08s}
.js .r-3{transition-delay:.16s}
.js .r-4{transition-delay:.24s}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .r{opacity:1;transform:none;transition:none}
  .jag__bg img{filter:brightness(.62) saturate(.9);transform:none;transition:none}
  .jag__mark{opacity:.3;transition:none}
  *{animation-duration:.01ms !important;transition-duration:.01ms !important}
}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .nav__links{display:none}
  .hero__grid,.split,.problem__grid,.philo__grid,.exp__grid{grid-template-columns:1fr}
  .hero__grid{min-height:0}
  .hero__media{order:-1}
  .hero__media img{height:clamp(280px,56vw,400px)}
  .split__img img{height:clamp(320px,60vw,440px)}
  .areas,.offers,.quotes{grid-template-columns:1fr}
  .quotes{grid-template-columns:1fr}
  .jag__mark{opacity:.07;right:-70px}
  .jag.lit .jag__mark{opacity:.16}
  .foot__grid{grid-template-columns:1fr 1fr}
  .burger{display:block}
}
@media (max-width:600px){
  .foot__grid{grid-template-columns:1fr}
  .brand span{font-size:.66rem;letter-spacing:.2em}
  .nav__cta{display:none}
  .foot__base{font-size:.62rem}
}

/* ============================================================
   Inner pages
   ============================================================ */

/* ---------- chips ---------- */
.tags{display:flex;flex-wrap:wrap;gap:.55rem .5rem;margin:0;padding:0;list-style:none}
.tags li{
  font-family:var(--disp);font-variation-settings:"wdth" 100,"wght" 500;
  font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;
  color:var(--fg);border:1px solid var(--hair);padding:.52rem .85rem;line-height:1.2;
}
.tags a{color:inherit;text-decoration:none;display:block}
.tags li:hover{border-color:var(--bar)}

/* ---------- compact page hero ---------- */
.phero{
  background:var(--ink);color:#E6E2DA;
  --bg:var(--ink);--fg:#E6E2DA;--muted:#98917F;--hair:rgba(234,190,118,.22);--bar:var(--gold);
  margin-top:-76px;
  padding-top:calc(76px + clamp(3.5rem,7vw,6rem));
  padding-bottom:clamp(3.5rem,7vw,6rem);
  position:relative;overflow:hidden;
}
.phero__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.phero .display{color:#F2EFE8}
.phero h1.display{font-size:clamp(1.95rem,4vw,3.3rem);line-height:1.02}
.phero__mark{
  position:absolute;right:-4%;bottom:-34%;width:clamp(220px,26vw,380px);
  color:var(--gold);opacity:.09;pointer-events:none;
}
.phero__lede{margin-top:1.8rem;font-size:clamp(1.08rem,1.6vw,1.3rem);line-height:1.55;color:#CFC9BB;max-width:44ch}
.phero .btn{margin-top:2.2rem}
.phero__side{position:relative}
.phero__side img{width:100%;height:clamp(300px,38vw,460px);object-fit:cover;filter:grayscale(1) contrast(1.03) brightness(1.02)}

/* ---------- four-step method ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1.25rem,2.5vw,2rem);margin-top:clamp(2.5rem,5vw,3.5rem)}
.step{border-top:1px solid var(--hair);padding-top:1.35rem}
.step h3{
  font-family:var(--disp);font-variation-settings:"wdth" 114,"wght" 800;
  text-transform:uppercase;font-size:clamp(1.05rem,1.8vw,1.3rem);letter-spacing:.02em;
  margin:0 0 .8rem;color:var(--bar);
}
.step p{margin:0;font-size:1rem;color:var(--muted)}
.tone-dark .step h3{color:var(--gold)}

/* ---------- qualifying list ---------- */
.checklist{list-style:none;margin:clamp(2rem,4vw,2.75rem) 0 0;padding:0;border-top:1px solid var(--hair);max-width:64ch}
.checklist li{
  border-bottom:1px solid var(--hair);padding:1rem 0 1rem 2rem;position:relative;
  font-size:1.04rem;line-height:1.55;color:var(--fg);
}
.checklist li::before{content:"";position:absolute;left:0;top:1.6rem;width:13px;height:1px;background:var(--bar)}

/* ---------- contact form ---------- */
.form{display:grid;gap:1.15rem;max-width:660px;margin-top:clamp(2rem,4vw,2.75rem)}
.field{display:flex;flex-direction:column;gap:.45rem}
.field--pair{display:grid;grid-template-columns:1fr 1fr;gap:1.15rem}
.field label{
  font-family:var(--disp);font-variation-settings:"wdth" 100,"wght" 600;
  font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);
}
.field input,.field textarea{
  font-family:var(--body);font-size:1rem;line-height:1.5;color:var(--fg);
  background:transparent;border:0;border-bottom:1px solid var(--hair);
  padding:.7rem 0;border-radius:0;transition:border-color .2s;
}
.field input:focus,.field textarea:focus{outline:none;border-bottom-color:var(--bar)}
.field textarea{resize:vertical;min-height:5.5rem}
.hp{position:absolute;left:-9999px}
.form .btn{justify-self:start;margin-top:.75rem}

@media (max-width:980px){
  .phero__grid{grid-template-columns:1fr}
  .phero__side{order:-1}
  .phero__side img{height:clamp(260px,52vw,380px)}
  .steps{grid-template-columns:1fr 1fr}
  .phero__mark{opacity:.06;right:-22%}
}
@media (max-width:600px){
  .steps{grid-template-columns:1fr}
  .field--pair{grid-template-columns:1fr}
}

/* ---------- long-form legal pages ---------- */
.legal{max-width:68ch;margin-top:clamp(2rem,4vw,3rem)}
.legal > *:first-child{margin-top:0}
.legal h2{
  font-family:var(--disp);font-variation-settings:"wdth" 112,"wght" 700;
  text-transform:uppercase;font-size:clamp(1.05rem,1.7vw,1.25rem);letter-spacing:.03em;
  line-height:1.25;margin:clamp(2.4rem,4vw,3.2rem) 0 1rem;color:var(--fg);
}
.legal h3{
  font-family:var(--disp);font-variation-settings:"wdth" 100,"wght" 600;
  font-size:.94rem;letter-spacing:.01em;margin:2rem 0 .75rem;color:var(--fg);
}
.legal p{margin:0 0 1.15em;max-width:none}
.legal ul{margin:0 0 1.3em;padding:0;list-style:none}
.legal li{
  position:relative;padding:.3rem 0 .3rem 1.5rem;line-height:1.6;
}
.legal li::before{content:"";position:absolute;left:0;top:1.05rem;width:9px;height:1px;background:var(--bar)}
.legal a{color:var(--fg);text-decoration:underline;text-underline-offset:.2em;text-decoration-color:var(--bar)}
.legal a:hover{text-decoration-thickness:2px}
.legal__meta{
  margin-top:clamp(2.5rem,5vw,3.5rem);padding-top:1.5rem;border-top:1px solid var(--hair);
  font-family:var(--disp);font-variation-settings:"wdth" 100,"wght" 400;
  font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);
}
