/* Eurostile Extended served from Adobe Fonts (Typekit kit ukv0bpl). */
:root{
  --black:#0B0909;
  --ink:#141010;
  --maroon:#5A1A22;
  --red:#AB1020;
  --red-lit:#C9202F;
  --cream:#EFE7D8;
  --cream-dim:#A79C8C;
  --brass:#B08D4F;
  --brass-lit:#D4B171;
  --display:"eurostile-extended","Michroma",ui-sans-serif,system-ui,sans-serif;
  --body:"Barlow",ui-sans-serif,system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--black);color:var(--cream);
  font-family:var(--body);font-weight:300;font-size:17px;line-height:1.75;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.disp{
  font-family:var(--display);font-weight:700;
  text-transform:uppercase;font-style:italic;
  letter-spacing:.005em;line-height:1.08;margin:0;
}
p{margin:0 0 1.15rem;max-width:60ch;}
a{color:inherit;}
a:focus-visible{outline:2px solid var(--red-lit);outline-offset:4px;}
.wrap{max-width:1220px;margin:0 auto;padding:0 40px;}

/* rule motif lifted from the logo */
.rule{height:4px;background:var(--red);width:120px;margin-bottom:2rem;}
.rule.wide{width:100%;}

/* ---------- nav ---------- */
nav{position:absolute;top:0;left:0;right:0;z-index:20;}
nav .wrap{display:flex;align-items:center;justify-content:space-between;height:104px;gap:24px;}
.logo{height:34px;width:auto;display:block;}
.navlinks{display:flex;gap:34px;}
.navlinks a{
  font-family:var(--display);font-size:.66rem;letter-spacing:.16em;
  text-transform:uppercase;text-decoration:none;color:var(--cream-dim);
  padding-bottom:5px;border-bottom:2px solid transparent;
}
.navlinks a:hover{color:var(--cream);border-bottom-color:var(--red);}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;}
.hero .photo{position:absolute;inset:0;}
.hero .photo img{width:100%;height:100%;object-fit:cover;display:block;}
.hero::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(11,9,9,.90) 0%,rgba(11,9,9,.66) 34%,rgba(11,9,9,.10) 62%,rgba(11,9,9,.30) 100%),
    linear-gradient(180deg,rgba(11,9,9,.60) 0%,rgba(11,9,9,0) 32%,rgba(11,9,9,.80) 100%);
}
.hero .inner{position:relative;z-index:2;width:100%;padding-top:60px;}
.hero h1{font-size:clamp(1.9rem,4.3vw,3.5rem);max-width:17ch;margin-bottom:1.8rem;}
.hero h1 span{color:var(--red-lit);}
.lede{font-family:var(--body);font-size:clamp(1rem,1.45vw,1.16rem);color:var(--cream-dim);max-width:46ch;}

/* ---------- sections ---------- */
section{padding:120px 0;}
.band{background:var(--ink);}
.eyebrow{
  font-family:var(--display);font-size:.66rem;letter-spacing:.2em;
  text-transform:uppercase;font-style:italic;color:var(--red-lit);margin-bottom:1.5rem;
}
h2{font-size:clamp(1.5rem,3.1vw,2.5rem);max-width:20ch;margin-bottom:1.8rem;}
h2 span{color:var(--red-lit);}
h3{font-size:1.02rem;letter-spacing:.05em;margin-bottom:.8rem;}

/* stat strip */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1px;background:rgba(239,231,216,.12);}
.stat{background:var(--black);padding:40px 30px;}
.stat .v{font-family:var(--display);font-style:italic;font-size:clamp(1.5rem,2.7vw,2.1rem);line-height:1;margin-bottom:.7rem;}
.stat .k{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cream-dim);line-height:1.5;}

/* spread */
.spread{display:grid;grid-template-columns:1.06fr .94fr;gap:76px;align-items:center;}
.spread.flip .col-text{order:2;}
.spread .col-photo img{width:100%;height:100%;object-fit:cover;display:block;min-height:480px;}
.slot{
  background:var(--ink);border:1px solid rgba(171,16,32,.35);
  display:flex;align-items:center;justify-content:center;min-height:320px;
}
.slot span{
  font-family:var(--display);font-size:.62rem;letter-spacing:.18em;
  text-transform:uppercase;font-style:italic;color:var(--red-lit);
  text-align:center;padding:0 22px;line-height:2.4;
}

/* offers */
.offers{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:56px;margin-top:3rem;}
.offer .slot{margin-bottom:26px;min-height:270px;}
.offer ul{list-style:none;margin:1.3rem 0 0;padding:0;}
.offer li{padding:.65rem 0;border-top:1px solid rgba(239,231,216,.13);font-size:.94rem;color:var(--cream-dim);}

/* fit */
.fit{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:60px;margin-top:2.6rem;}
.fit ul{list-style:none;margin:0;padding:0;}
.fit li{padding:.75rem 0 .75rem 30px;position:relative;border-bottom:1px solid rgba(239,231,216,.13);}
.fit li::before{position:absolute;left:0;top:.9rem;width:14px;height:3px;content:"";}
.yes li::before{background:var(--red);}
.no li::before{background:rgba(239,231,216,.24);}

/* cta */
.cta{padding:140px 0;text-align:center;}
.cta .rule{margin:0 auto 2rem;}
.cta h2{margin:0 auto 1.6rem;max-width:20ch;}
.cta p{margin-left:auto;margin-right:auto;}
.btn{
  display:inline-block;margin-top:1.9rem;
  font-family:var(--display);font-style:italic;font-size:.72rem;letter-spacing:.18em;
  text-transform:uppercase;text-decoration:none;
  background:var(--red);color:var(--cream);
  padding:20px 44px;border:2px solid var(--red);
  transition:background .22s ease,color .22s ease;
}
.btn:hover,.btn:focus-visible{background:transparent;color:var(--red-lit);}


/* unit economics ledger */
.ledger{
  background:var(--black);border:1px solid rgba(171,16,32,.45);
  padding:46px 40px 38px;min-height:480px;
  display:flex;flex-direction:column;justify-content:center;
}
.ledger-head{
  font-family:var(--display);font-style:italic;font-weight:700;
  font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--red-lit);margin-bottom:2rem;
}
.lrow{
  display:flex;align-items:baseline;justify-content:space-between;gap:20px;
  padding:.85rem 0;border-bottom:1px solid rgba(239,231,216,.13);
  font-size:1rem;color:var(--cream-dim);
}
.lrow em{
  font-family:var(--display);font-style:italic;font-weight:700;
  font-size:1rem;color:var(--cream-dim);opacity:.55;
}
.lrow.sub{color:var(--cream);border-bottom-color:rgba(171,16,32,.5);}
.lrow.sub em{color:var(--red-lit);opacity:1;}
.lrow.total{
  font-family:var(--display);font-style:italic;font-weight:700;
  text-transform:uppercase;letter-spacing:.02em;
  font-size:1.15rem;color:var(--cream);
  border-bottom:3px solid var(--red);padding-top:1.2rem;
}
.lrow.total em{color:var(--red-lit);opacity:1;}
.ledger-foot{
  margin-top:1.8rem;font-size:.9rem;line-height:1.6;color:var(--cream-dim);
  border-left:3px solid var(--red);padding-left:16px;
}
/* ---------- mobile menu ---------- */
.burger{display:none;background:none;border:0;padding:8px 0;cursor:pointer;}
.burger span{display:block;width:24px;height:2px;background:var(--cream);transition:.2s ease;}
.burger span + span{margin-top:5px;}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.burger.open span:nth-child(2){opacity:0;}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.mobmenu{display:none;}

@media (max-width:900px){ .ledger{padding:34px 24px 30px;min-height:0;} }


/* enquiry form */
.enq{max-width:840px;margin:3rem auto 0;text-align:left;}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:12px;}
.fld{display:flex;flex-direction:column;gap:.5rem;}
.fld.wide{grid-column:1 / -1;}
.fld > span, .fset legend{
  font-family:var(--display);font-style:italic;font-weight:700;
  font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--red-lit);
}
.fld input,.fld textarea{
  background:var(--ink);border:1px solid rgba(239,231,216,.18);
  color:var(--cream);font-family:var(--body);font-size:1rem;font-weight:300;
  padding:14px 16px;border-radius:0;width:100%;
}
.fld input::placeholder,.fld textarea::placeholder{color:rgba(167,156,140,.6);}
.fld input:focus,.fld textarea:focus{outline:none;border-color:var(--red);}
.fld.ta{margin-top:22px;}
.fset{border:0;padding:0;margin:26px 0 0;}
.fset legend{padding:0;margin-bottom:.9rem;}
.opts{display:flex;flex-wrap:wrap;gap:10px;}
.opt{position:relative;}
.opt input{position:absolute;opacity:0;width:0;height:0;}
.opt span{
  display:inline-block;cursor:pointer;
  border:1px solid rgba(239,231,216,.22);padding:11px 20px;
  font-size:.92rem;color:var(--cream-dim);transition:.18s ease;
}
.opt span:hover{border-color:rgba(171,16,32,.7);color:var(--cream);}
.opt input:checked + span{background:var(--red);border-color:var(--red);color:var(--cream);}
.opt input:focus-visible + span{outline:2px solid var(--red-lit);outline-offset:3px;}
.enq .btn{margin-top:2.4rem;cursor:pointer;font-family:var(--display);}
.formnote{font-size:.82rem;color:var(--cream-dim);margin-top:1.6rem;max-width:60ch;}
.formnote a{border-bottom:1px solid rgba(171,16,32,.6);text-decoration:none;}
.thanks{
  margin-top:1.6rem;border-left:3px solid var(--red);padding-left:16px;color:var(--cream);
}
@media (max-width:900px){ .fgrid{grid-template-columns:1fr;gap:18px;} .enq{margin-top:2rem;} }


/* the Eurostile Extended kit contains one face only: italic 900.
   Every display element requests it exactly, so nothing falls back
   to a synthesised weight. */
h1,h2,h3,.disp,.mark,
.navlinks a,.eyebrow,.stat .v,
.lrow em,.lrow.total,.ledger-head,
.fld > span,.fset legend,.btn,
.slot span{
  font-weight:900;
  font-style:italic;
  font-synthesis:none;
}


/* hero stats + nav cta */
.navcta{
  border:1px solid var(--red)!important;color:var(--cream)!important;
  padding:11px 20px!important;
}
.navcta:hover{background:var(--red);border-bottom-color:var(--red)!important;}
.herostats{
  display:flex;flex-wrap:wrap;gap:0;margin:2.6rem 0 0;
  border-top:1px solid rgba(239,231,216,.18);
}
.hs{padding:22px 46px 0 0;margin-right:46px;border-right:1px solid rgba(239,231,216,.14);}
.hs:last-child{border-right:0;margin-right:0;padding-right:0;}
.hs .v{
  font-family:var(--display);font-style:italic;font-weight:900;
  font-size:clamp(1.6rem,3vw,2.5rem);line-height:1;margin-bottom:.55rem;
}
.hs .v span{color:var(--red-lit);}
.hs .k{font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cream-dim);}
.herobtn{margin-top:2.6rem;}
.hero{align-items:center;}
.hero .inner{padding-top:110px;padding-bottom:40px;}
@media (max-width:900px){
  .herostats{gap:18px 0;}
  .hs{padding:16px 20px 0 0;margin-right:20px;}
  .hs .k{font-size:.66rem;letter-spacing:.1em;}
  .navcta{display:none;}
  .herobtn{margin-top:1.8rem;}
}


/* origin story, full width, no photo */
.story{max-width:900px;}
.story h2{max-width:24ch;font-size:clamp(1.8rem,3.7vw,3.2rem);}
.story p{max-width:72ch;font-size:1.06rem;}
.pull{
  margin:2.8rem 0 0;padding:0 0 0 26px;
  border-left:4px solid var(--red);
  font-family:var(--display);font-style:italic;font-weight:900;
  text-transform:uppercase;line-height:1.14;letter-spacing:.005em;
  font-size:clamp(1.15rem,2.2vw,1.8rem);color:var(--cream);
  max-width:26ch;
}
@media (max-width:900px){ .pull{margin-top:2rem;padding-left:18px;} }

footer{padding:64px 0 84px;border-top:1px solid rgba(239,231,216,.13);}
footer .logo{height:26px;margin-bottom:26px;opacity:.85;}
footer p{font-size:.85rem;color:var(--cream-dim);max-width:58ch;}
footer strong{color:var(--cream);font-weight:400;}

@media (max-width:900px){
  .wrap{padding:0 22px;}
  section{padding:48px 0;}
  /* nav sits above the hero on small screens instead of over it,
     so nothing can overlap the wordmark */
  nav{position:static;background:var(--black);border-bottom:1px solid rgba(239,231,216,.14);}
  nav .wrap{height:62px;gap:14px;justify-content:space-between;align-items:center;}
  .logo{height:19px;flex:0 0 auto;}
  /* inline links out, burger in — everything lives in the dropdown */
  .navlinks{display:none;}
  .burger{display:block;}
  .mobmenu{display:block;background:var(--black);border-bottom:1px solid rgba(239,231,216,.14);
           padding:4px 22px 16px;}
  .mobmenu[hidden]{display:none;}
  .mobmenu a{
    display:block;padding:15px 0;text-decoration:none;color:var(--cream);
    font-family:var(--display);font-style:italic;font-weight:900;
    font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;
    border-bottom:1px solid rgba(239,231,216,.12);
  }
  .mobmenu a:last-child{border-bottom:0;}
  .mobmenu .mm-cta{color:var(--red-lit);}
  /* hero content sits near the top instead of pinned to the bottom */
  .hero{min-height:auto;align-items:flex-start;}
  .hero .inner{padding-top:38px;padding-bottom:30px;}
  .herobtn{margin-top:2rem;}
  .hero h1{font-size:clamp(1.5rem,6.4vw,2.1rem);max-width:none;margin-bottom:1.4rem;}
  .spread{grid-template-columns:1fr;gap:34px;}
  .spread.flip .col-text{order:0;}
  .spread .col-photo img{min-height:320px;}
  .offers,.fit{gap:40px;}
  .cta{padding:88px 0;}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}


/* ---------- testimonials ---------- */
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2px;margin-top:2.6rem;background:rgba(239,231,216,.14);}
.quote{background:var(--black);padding:34px 30px 30px;display:flex;flex-direction:column;}
.quote .mk{font-family:var(--display);font-style:italic;font-weight:900;font-size:1.6rem;color:var(--red);line-height:1;margin-bottom:1rem;}
.quote p{font-size:1rem;color:var(--cream);margin-bottom:1.4rem;flex:1;}
.quote .who{border-top:1px solid rgba(239,231,216,.16);padding-top:1rem;font-size:.84rem;color:var(--cream-dim);line-height:1.5;}
.quote .who strong{display:block;color:var(--cream);font-weight:500;font-size:.92rem;}
.quote.empty{background:var(--ink);border:1px dashed rgba(171,16,32,.5);}
.quote.empty p{color:var(--cream-dim);font-style:italic;}

/* ---------- case study ---------- */
.cs-hero{padding:130px 0 40px;}
.cs-hero h1{font-size:clamp(1.9rem,4.4vw,3.4rem);max-width:18ch;margin-bottom:1.4rem;}
.cs-hero h1 span{color:var(--red-lit);}
.csnums{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;background:rgba(239,231,216,.14);margin:2.6rem 0 0;}
.csn{background:var(--black);padding:28px 24px;}
.csn .v{font-family:var(--display);font-style:italic;font-weight:900;font-size:clamp(1.5rem,2.7vw,2.2rem);line-height:1;margin-bottom:.5rem;}
.csn .k{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cream-dim);}
.cs-body{max-width:820px;}
.cs-body h2{font-size:clamp(1.4rem,2.7vw,2.1rem);margin:2.6rem 0 1.1rem;}
.cs-body img{width:100%;display:block;margin:2rem 0;border:1px solid rgba(171,16,32,.4);}
.cs-body figcaption{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cream-dim);margin-top:-1.4rem;margin-bottom:2rem;}

/* ---------- plain document pages ---------- */
.doc{max-width:780px;padding:130px 0 40px;}
.doc h1{font-size:clamp(1.7rem,3.4vw,2.6rem);margin-bottom:1.6rem;}
.doc h2{font-size:1.15rem;margin:2.4rem 0 .9rem;}
.doc p,.doc li{color:var(--cream-dim);font-size:1rem;}
.doc ul{padding-left:1.2rem;}
.doc li{margin-bottom:.5rem;}
.doc a{border-bottom:1px solid rgba(171,16,32,.6);text-decoration:none;}
.doc .updated{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--red-lit);margin-bottom:2rem;}


/* ---------- internal ops doc ---------- */
.ops{max-width:900px;padding:120px 0 40px;}
.ops h1{font-size:clamp(1.8rem,3.6vw,2.8rem);margin-bottom:1rem;}
.ops .sub{color:var(--cream-dim);max-width:62ch;margin-bottom:2.4rem;}
.phase{border-top:1px solid rgba(239,231,216,.16);padding-top:2rem;margin-top:2.6rem;}
.phase .when{font-family:var(--display);font-style:italic;font-weight:900;font-size:.62rem;
  letter-spacing:.2em;text-transform:uppercase;color:var(--red-lit);margin-bottom:.8rem;}
.phase h2{font-size:clamp(1.25rem,2.3vw,1.75rem);margin-bottom:1.2rem;}
.ck{list-style:none;margin:0 0 1.4rem;padding:0;}
.ck li{position:relative;padding:.65rem 0 .65rem 34px;border-bottom:1px solid rgba(239,231,216,.1);font-size:.98rem;}
.ck li::before{content:"";position:absolute;left:0;top:.85rem;width:14px;height:14px;
  border:2px solid var(--red);}
.ck li b{color:var(--cream);font-weight:500;}
.ck li span.by{display:inline-block;font-family:var(--display);font-style:italic;font-weight:900;
  font-size:.54rem;letter-spacing:.16em;text-transform:uppercase;
  border:1px solid rgba(239,231,216,.3);padding:2px 7px;margin-left:8px;color:var(--cream-dim);vertical-align:middle;}
.ck li span.by.tony{border-color:var(--red);color:var(--red-lit);}
.ck li span.by.vin{border-color:var(--brass);color:var(--brass-lit);}
.tmpl{background:var(--ink);border-left:4px solid var(--red);padding:22px 24px;margin:1.6rem 0;}
.tmpl .lbl{font-family:var(--display);font-style:italic;font-weight:900;font-size:.6rem;
  letter-spacing:.18em;text-transform:uppercase;color:var(--red-lit);margin-bottom:.9rem;}
.tmpl p{font-size:.95rem;color:var(--cream);margin-bottom:.7rem;}
.warn{border-left:4px solid var(--red);padding-left:20px;margin:1.8rem 0;}
.warn p{color:var(--cream);}
@media(max-width:900px){ .ops{padding:96px 0 30px;} .ck li{padding-left:28px;font-size:.94rem;} }

.oops{margin-top:1.4rem;border-left:3px solid var(--brass);padding-left:16px;color:var(--cream);font-size:.92rem;}
.oops a{border-bottom:1px solid rgba(176,141,79,.7);text-decoration:none;}

@media (max-width:420px){
  .wrap{padding:0 18px;}
  nav .wrap{height:56px;}
  .logo{height:16px;}
  .navlinks{gap:11px;}
  .navlinks a{font-size:.5rem;letter-spacing:.05em;}
  .hero{min-height:auto;}
  .hero .inner{padding-top:30px;padding-bottom:24px;}
  section{padding:40px 0;}
  .hero h1{font-size:1.45rem;line-height:1.12;}
  .burger span{width:22px;}
  .mobmenu{padding:4px 18px 14px;}
  .mobmenu a{padding:13px 0;font-size:.64rem;}
  .lede{font-size:.95rem;}
  .hs{padding:14px 16px 0 0;margin-right:16px;}
  .hs .v{font-size:1.35rem;}
  .hs .k{font-size:.6rem;}
  .herostats{margin-top:1.8rem;}
  .btn{padding:16px 26px;font-size:.66rem;letter-spacing:.14em;}
}

/* single testimonial reads better centred and wider than a 3-up grid */
.quotes.one{grid-template-columns:1fr;max-width:760px;margin-left:auto;margin-right:auto;}
.quotes.one .quote{padding:40px 40px 34px;}
.quotes.one .quote p{font-size:1.12rem;line-height:1.65;}
@media(max-width:900px){ .quotes.one .quote{padding:28px 24px 24px;} .quotes.one .quote p{font-size:1rem;} }

/* ---------- receipts ---------- */
.receipts{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:2.6rem;background:rgba(239,231,216,.14);}
.rec{
  background:var(--black);padding:34px 28px 30px;text-decoration:none;display:block;
  border-top:3px solid transparent;transition:border-color .2s ease,background .2s ease;
}
.rec:hover{border-top-color:var(--red);background:var(--ink);}
.rv{
  font-family:var(--display);font-style:italic;font-weight:900;
  font-size:clamp(1.15rem,2.1vw,1.65rem);line-height:1.05;margin-bottom:1rem;color:var(--cream);
}
.rv span{color:var(--red-lit);}
.rk{font-size:.95rem;color:var(--cream-dim);line-height:1.6;}
.rec{display:flex;flex-direction:column;}
.rk{flex:1;}
.rmore{
  margin-top:1.4rem;padding-top:1rem;
  border-top:1px solid rgba(239,231,216,.16);
  font-family:var(--display);font-style:italic;font-weight:900;
  font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--red-lit);display:flex;align-items:center;gap:8px;
}
.rmore span{transition:transform .2s ease;display:inline-block;}
.rec:hover .rmore span{transform:translateX(4px);}
.recfig{margin:2.6rem 0 0;}
.recfig img{width:100%;display:block;border:1px solid rgba(171,16,32,.4);}
.recfig figcaption{
  font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--cream-dim);padding-top:12px;
}
@media(max-width:900px){
  .receipts{grid-template-columns:1fr;}
  .rec{padding:24px 20px 20px;}
  .rv{font-size:1.15rem;}
  .rk{font-size:.9rem;}
  .rmore{margin-top:1.1rem;padding-top:.85rem;font-size:.58rem;}
}

/* ---------- sticky mobile CTA ---------- */
.stickycta{display:none;}
@media(max-width:900px){
  .stickycta{
    display:block;position:fixed;left:0;right:0;bottom:0;z-index:40;
    background:var(--black);border-top:1px solid rgba(239,231,216,.16);
    padding:10px 18px calc(10px + env(safe-area-inset-bottom));
  }
  .stickycta[hidden]{display:none;}
  .stickycta a{
    display:block;text-align:center;text-decoration:none;
    background:var(--red);color:var(--cream);
    font-family:var(--display);font-style:italic;font-weight:900;
    font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;
    padding:15px 20px;border:2px solid var(--red);
  }
  /* keep the footer clear of the bar */
  footer{padding-bottom:104px;}
}

/* ---------- break-even calculator ---------- */
.calc-hero{padding:130px 0 30px;max-width:840px;}
.calc-hero h1{font-size:clamp(1.8rem,4.2vw,3.2rem);max-width:20ch;margin-bottom:1.4rem;}
.calc-hero h1 span{color:var(--red-lit);}

.calc{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:rgba(239,231,216,.14);margin-top:1rem;}
.calc-in,.calc-out{background:var(--ink);padding:38px 34px 34px;}
.calc-out{background:var(--black);}
.ceyebrow{
  font-family:var(--display);font-style:italic;font-weight:900;
  font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--red-lit);margin-bottom:1.6rem;
}
.cf{display:block;margin-bottom:1.3rem;}
.cf > span{display:block;font-size:.86rem;color:var(--cream-dim);margin-bottom:.5rem;}
.cin{display:flex;align-items:stretch;border:1px solid rgba(239,231,216,.2);}
.cin i{
  font-style:normal;display:flex;align-items:center;padding:0 12px;
  background:rgba(239,231,216,.06);color:var(--cream-dim);font-size:1rem;
}
.cin input{
  flex:1;background:transparent;border:0;color:var(--cream);
  font-family:var(--body);font-size:1.1rem;font-weight:400;padding:13px 14px;width:100%;
}
.cin input:focus{outline:none;}
.cin:focus-within{border-color:var(--red);}
.cdiv{height:1px;background:rgba(239,231,216,.16);margin:1.6rem 0;}
.cnote{font-size:.78rem;color:var(--cream-dim);margin:1rem 0 0;}

.verdict{border-left:4px solid var(--red);padding:2px 0 2px 18px;margin-bottom:1.8rem;}
.verdict strong{display:block;font-size:1.05rem;color:var(--cream);font-weight:500;margin-bottom:.4rem;}
.verdict{font-size:.92rem;color:var(--cream-dim);line-height:1.6;}
.verdict.good{border-left-color:var(--brass);}

.orow{
  display:flex;justify-content:space-between;align-items:baseline;gap:16px;
  padding:.72rem 0;border-bottom:1px solid rgba(239,231,216,.1);font-size:.94rem;color:var(--cream-dim);
}
.orow em{
  font-style:normal;font-family:var(--display);font-weight:900;font-style:italic;
  color:var(--cream);font-size:1.02rem;white-space:nowrap;
}
.orow.big{border-bottom:2px solid var(--red);}
.orow.big em{font-size:1.35rem;color:var(--cream);}
.scen{margin-top:2rem;padding-top:1.6rem;border-top:1px solid rgba(239,231,216,.16);}

.calc-foot{max-width:760px;padding:70px 0 20px;}
.calc-foot h2{font-size:clamp(1.4rem,2.7vw,2.1rem);margin-bottom:1.2rem;}
.calc-foot .btn{margin-top:1.6rem;}

@media(max-width:900px){
  .calc-hero{padding:26px 0 20px;}
  .calc{grid-template-columns:1fr;}
  .calc-in,.calc-out{padding:26px 22px 24px;}
  .calc-foot{padding:44px 0 10px;}
}

/* ---------- scorecard ---------- */
.score{margin-top:1rem;border-top:1px solid rgba(239,231,216,.16);}
.q{display:grid;grid-template-columns:60px 1fr;gap:20px;padding:26px 0;border-bottom:1px solid rgba(239,231,216,.14);}
.q.done{opacity:.55;}
.q.done:hover{opacity:1;}
.qn{font-family:var(--display);font-style:italic;font-weight:900;font-size:1.15rem;color:var(--red-lit);line-height:1.2;}
.qt{font-family:var(--display);font-style:italic;font-weight:900;text-transform:uppercase;
    font-size:1rem;letter-spacing:.01em;line-height:1.25;color:var(--cream);margin-bottom:.7rem;}
.qw{font-size:.92rem;color:var(--cream-dim);line-height:1.6;margin-bottom:1.1rem;max-width:66ch;}
.qa{display:flex;gap:10px;flex-wrap:wrap;}
.qbtn{
  background:transparent;border:1px solid rgba(239,231,216,.24);color:var(--cream-dim);
  font-family:var(--body);font-size:.9rem;padding:10px 22px;cursor:pointer;transition:.15s ease;
}
.qbtn:hover{border-color:var(--red);color:var(--cream);}
.qbtn.on{background:var(--red);border-color:var(--red);color:var(--cream);}

.scoreout{margin-top:2.6rem;background:var(--ink);border-top:3px solid var(--red);padding:36px 34px 34px;}
.bigscore{font-family:var(--display);font-style:italic;font-weight:900;line-height:1;margin-bottom:1.6rem;}
.bigscore span{font-size:clamp(3rem,9vw,5rem);color:var(--cream);}
.bigscore i{font-style:italic;font-size:1.4rem;color:var(--cream-dim);margin-left:.4rem;}
.fixlist .fx{padding:1rem 0;border-bottom:1px solid rgba(239,231,216,.12);}
.fixlist .fx b{display:block;color:var(--cream);font-weight:500;font-size:.98rem;margin-bottom:.35rem;}
.fixlist .fx span{display:block;color:var(--cream-dim);font-size:.9rem;line-height:1.6;}
.scoreout .btn{margin-top:2rem;}

@media(max-width:900px){
  .q{grid-template-columns:36px 1fr;gap:12px;padding:20px 0;}
  .qn{font-size:.95rem;}
  .qt{font-size:.92rem;}
  .qw{font-size:.86rem;}
  .qbtn{padding:9px 16px;font-size:.84rem;}
  .scoreout{padding:26px 22px 24px;}
}

/* two testimonials side by side */
.quotes.two{grid-template-columns:repeat(2,1fr);max-width:1120px;margin-left:auto;margin-right:auto;}
.quotes.two .quote{padding:36px 34px 30px;}
.quotes.two .quote p{font-size:1rem;line-height:1.65;margin-bottom:1rem;}
.quotes.two .quote p:last-of-type{margin-bottom:1.4rem;}
@media(max-width:900px){
  .quotes.two{grid-template-columns:1fr;}
  .quotes.two .quote{padding:26px 22px 22px;}
  .quotes.two .quote p{font-size:.95rem;}
}

/* ---------- client dashboard ---------- */
.dash-head{padding:120px 0 24px;max-width:840px;}
.dash-head h1{font-size:clamp(1.7rem,3.6vw,2.8rem);margin-bottom:1rem;}
.dash-head h1 span{color:var(--red-lit);}
.derr{background:var(--ink);border-left:4px solid var(--red);padding:16px 20px;margin-bottom:1.6rem;color:var(--cream);font-size:.95rem;}

.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(239,231,216,.14);margin-bottom:2px;}
.kpi{background:var(--black);padding:26px 22px;}
.kv{font-family:var(--display);font-style:italic;font-weight:900;font-size:clamp(1.3rem,2.6vw,2rem);line-height:1;margin-bottom:.6rem;color:var(--cream);}
.kk{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cream-dim);}

.bepanel{background:var(--ink);border-top:3px solid var(--red);padding:28px 26px 24px;margin-top:2px;}
.beverdict{font-size:1.05rem;color:var(--cream);line-height:1.5;margin-bottom:1.4rem;border-left:4px solid var(--red);padding-left:16px;}
.beverdict.good{border-left-color:var(--brass);}
.beverdict b{font-weight:500;}
.berow{display:flex;justify-content:space-between;gap:16px;padding:.65rem 0;border-bottom:1px solid rgba(239,231,216,.1);font-size:.94rem;color:var(--cream-dim);}
.berow em{font-style:italic;font-family:var(--display);font-weight:900;color:var(--cream);font-size:1rem;white-space:nowrap;}
.berow.big{border-bottom:2px solid var(--red);}
.berow.big em{font-size:1.3rem;}

.chartbox{background:var(--ink);padding:26px 24px 22px;margin-top:2px;}
.chartbox canvas{max-width:100%;}
#dstamp{margin-top:1.6rem;}

@media(max-width:900px){
  .dash-head{padding:24px 0 18px;}
  .kpis{grid-template-columns:repeat(2,1fr);}
  .kpi{padding:18px 16px;}
  .bepanel,.chartbox{padding:20px 18px 18px;}
}
