/* Layout: alternating off-white and navy full-bleed bands, split hero,
   oversized condensed headlines, orange reserved for action only. */
:root{
  --ink:#0b2a4a;
  --ink-deep:#071c33;
  --flame:#ffa409;
  --flame-deep:#d98800;
  --paper:#f6f7f9;
  --paper-pure:#ffffff;
  --slate:#5a6b7d;
  --line:rgba(11,42,74,.12);
  --line-pale:rgba(255,255,255,.16);
  --display:"Archivo","Helvetica Neue",Arial,sans-serif;
  --body:"Source Sans 3","Helvetica Neue",Arial,sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--body);font-size:1.0625rem;line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--flame);outline-offset:3px}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.wrap{width:100%;max-width:1140px;margin-inline:auto;padding-inline:22px}
.band{padding-block:clamp(2.4rem,4.6vw,4rem)}
.phead + .band,.hero + .band{padding-top:clamp(1rem,2vw,1.6rem)}
.band > .wrap > .trans:first-child,.band > .wrap > .revs:first-child{margin-top:0}
.band--ink{background:var(--ink);color:#fff}
.band--white{background:var(--paper-pure)}

h1,h2,h3{font-family:var(--display);font-weight:800;letter-spacing:-.025em;line-height:1.03;text-wrap:balance;margin:0}
h1{font-size:clamp(2.5rem,6.2vw,4.4rem)}
h2{font-size:clamp(1.9rem,4.2vw,3.1rem)}
h3{font-size:1rem;font-weight:700;letter-spacing:.02em;line-height:1.3}
p{margin:0}
.lede{font-size:clamp(1.05rem,1.75vw,1.3rem);line-height:1.5;max-width:30em;color:var(--slate)}
.stack{display:grid;gap:1.35rem;min-width:0}
.prose{display:grid;gap:1.15rem;max-width:36em}

/* nav */
.nav{background:var(--paper-pure);border-bottom:1px solid var(--line);
  position:sticky;top:env(safe-area-inset-top,0px);z-index:20}
.nav__in{display:flex;align-items:center;gap:1rem;padding-block:.9rem}
.nav__logo{margin-right:auto;display:block;flex:0 0 auto}
.nav__logo img{width:150px}
.nav__links{display:flex;gap:1.6rem;align-items:center}
.navlink{font-family:var(--display);font-weight:600;font-size:.76rem;text-transform:uppercase;
  letter-spacing:.12em;text-decoration:none;color:var(--slate);padding-block:.3rem;white-space:nowrap}
.navlink:hover,.navlink[aria-current="page"]{color:var(--ink);box-shadow:inset 0 -2px 0 var(--flame)}
.burger{display:none;background:none;border:0;padding:.5rem;cursor:pointer;color:var(--ink)}
.burger svg{display:block}
@media(max-width:860px){
  .burger{display:block}
  .nav__links{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper-pure);
    border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:.5rem 22px 1.1rem}
  .nav__links.open{display:flex}
  .navlink{padding-block:.8rem;font-size:.85rem;border-bottom:1px solid var(--line)}
  .navlink:last-child{border-bottom:0}
  .navlink:hover,.navlink[aria-current="page"]{box-shadow:none;color:var(--flame-deep)}
}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;
  font-family:var(--display);font-weight:700;font-size:.8rem;text-transform:uppercase;
  letter-spacing:.09em;text-decoration:none;padding:1rem 1.4rem;border:2px solid var(--flame);white-space:nowrap;
  background:var(--flame);color:var(--ink-deep);transition:background .15s,border-color .15s}
.btn:hover{background:var(--flame-deep);border-color:var(--flame-deep)}
.btns{display:flex;gap:.6rem;flex-wrap:nowrap}
.btns .btn{flex:1 1 0;min-width:0}
@media(min-width:620px){.btns .btn{flex:0 0 auto}}
@media(max-width:620px){.btns .btn{font-size:clamp(.6rem,2.7vw,.8rem);letter-spacing:.05em;padding:.95rem .55rem}}

/* hero */
.hero{background:var(--paper-pure);padding-block:clamp(1.25rem,2.6vw,2.25rem)}
.hero__grid{display:grid;gap:1.6rem;align-items:center}
@media(min-width:900px){.hero__grid{grid-template-columns:1.22fr .78fr;gap:2.75rem}}
.hero__img{background:var(--ink)}
.hero__img img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% 50%}


/* proof bar */
.proof{background:var(--ink);color:#fff}
.proof__in{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;
  padding-block:1.9rem;text-align:center;align-items:start}
@media(min-width:720px){.proof__in{gap:2rem;padding-block:2.5rem}}
.proof__fig{font-family:var(--display);font-weight:900;font-size:clamp(1.1rem,4.4vw,2.5rem);
  line-height:1.08;color:var(--flame);font-variant-numeric:tabular-nums}
.proof__txt{font-size:clamp(.7rem,2.1vw,.88rem);color:rgba(255,255,255,.72);
  margin-top:.4rem;letter-spacing:.02em;line-height:1.35}

/* pillars */
.pillars{display:grid;gap:1.6rem;margin-top:2.1rem;padding-top:1.7rem;border-top:1px solid var(--line)}
@media(min-width:760px){.pillars{grid-template-columns:repeat(3,1fr);gap:2.25rem}}
.pillar{display:grid;gap:.5rem;align-content:start;min-width:0}
.pillar h3{text-transform:uppercase;letter-spacing:.11em;font-size:.78rem;color:var(--flame-deep)}
.pillar p{color:var(--slate);font-size:.97rem}

/* quote */
.quote{margin:0;display:grid;gap:1.4rem;max-width:42em}
.stars{color:var(--flame);font-size:1.1rem;letter-spacing:.22em;line-height:1}
.quote p{font-family:var(--display);font-weight:500;font-size:clamp(1.25rem,2.6vw,1.9rem);
  line-height:1.32;letter-spacing:-.015em}
.quote footer{display:flex;flex-wrap:wrap;gap:.4rem .9rem;font-family:var(--display);font-weight:700;
  font-size:.78rem;text-transform:uppercase;letter-spacing:.13em;color:var(--flame)}
.quote footer span{color:rgba(255,255,255,.6)}

/* close */
.close{display:grid;gap:1rem}
.close h2{font-size:clamp(1.65rem,3vw,2.4rem)}
@media(min-width:760px){.close{grid-template-columns:1fr auto;align-items:center;gap:2rem}}

/* footer */
.foot{background:var(--ink-deep);color:rgba(255,255,255,.7);padding-block:3rem;font-size:.95rem}
.foot__grid{display:grid;gap:2rem}
@media(min-width:560px){.foot__grid{grid-template-columns:repeat(2,1fr);gap:2rem 2.5rem}}
@media(min-width:900px){.foot__grid{gap:2.5rem 4rem}}
.foot__dir{display:inline-block;margin-top:.6rem;font-family:var(--display);font-weight:700;
  font-size:.7rem;text-transform:uppercase;letter-spacing:.13em;color:#fff;
  text-decoration:none;border-bottom:2px solid var(--flame);padding-bottom:.15rem}
.foot__dir:hover{color:var(--flame)}
.foot address{line-height:1.55}
.foot h2{font-family:var(--display);font-weight:700;font-size:.72rem;text-transform:uppercase;
  letter-spacing:.14em;color:#fff;margin:0 0 .8rem}
.foot a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.28)}
.foot a:hover{border-bottom-color:var(--flame)}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
.foot__base{margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid var(--line-pale);
  font-size:.8rem;color:rgba(255,255,255,.5)}
address{font-style:normal}
.eyebrow{font-family:var(--display);font-weight:700;font-size:.72rem;text-transform:uppercase;
  letter-spacing:.16em;color:var(--flame-deep);margin:0}
.skip{position:absolute;left:-9999px}
.skip:focus{left:1rem;top:1rem;z-index:30;background:var(--flame);color:var(--ink-deep);padding:.6rem 1rem}

/* ---------- page header (inner pages) ---------- */
.phead{background:var(--paper-pure);padding-top:clamp(1.5rem,3vw,2.5rem);padding-bottom:clamp(.9rem,1.8vw,1.4rem)}
.phead .lede{max-width:34em}
.addr-line{font-family:var(--display);font-weight:600;font-size:.76rem;text-transform:uppercase;
  letter-spacing:.1em;color:var(--slate);margin-top:.35rem}

/* ---------- steps ---------- */
.steps{display:grid;gap:1.4rem;margin-top:1.9rem;counter-reset:s}
@media(min-width:720px){.steps{grid-template-columns:repeat(4,1fr);gap:1.75rem}}
.step{display:grid;gap:.45rem;align-content:start;min-width:0;
  border-top:2px solid var(--flame);padding-top:1rem}
.step__n{font-family:var(--display);font-weight:900;font-size:.72rem;letter-spacing:.12em;color:var(--flame-deep)}
.step h3{font-size:1.02rem}
.step p{color:var(--slate);font-size:.95rem}
.band--ink .step p{color:rgba(255,255,255,.72)}
.band--ink .step__n{color:var(--flame)}

/* ---------- phases ---------- */
.phases{display:grid;gap:0;margin-top:1.9rem;border-top:1px solid var(--line-pale)}
.phase{display:grid;gap:.3rem;padding-block:1.35rem;border-bottom:1px solid var(--line-pale)}
@media(min-width:680px){.phase{grid-template-columns:11rem 1fr;gap:2rem;align-items:baseline}}
.phase dt{font-family:var(--display);font-weight:800;font-size:1rem;color:var(--flame)}
.phase dd{margin:0;color:rgba(255,255,255,.78);font-size:.98rem}

/* ---------- results ---------- */
.results{display:grid;gap:1.25rem;margin-top:2.5rem}
@media(min-width:720px){.results{grid-template-columns:repeat(2,1fr);gap:1.5rem}}
.result{background:var(--paper-pure);border:1px solid var(--line);border-top:3px solid var(--flame);
  padding:1.5rem;display:grid;gap:.75rem;align-content:start;min-width:0}
.result__fig{font-family:var(--display);font-weight:900;font-size:1.5rem;line-height:1.1;color:var(--ink)}
.result p{color:var(--slate);font-size:.97rem}
.result__who{font-family:var(--display);font-weight:700;font-size:.74rem;text-transform:uppercase;
  letter-spacing:.13em;color:var(--flame-deep)}
.disclaimer{margin-top:1.75rem;font-size:.82rem;color:var(--slate)}

/* ---------- locations ---------- */
.locs{display:grid;gap:1.5rem;margin-top:1.9rem}
@media(min-width:760px){.locs{grid-template-columns:1fr 1fr;gap:2rem}}
.loc{display:grid;gap:.7rem;align-content:start;min-width:0;
  background:var(--paper-pure);border:1px solid var(--line);padding:1.6rem}
.loc h3{font-size:1.15rem}
.loc__meta{color:var(--slate);font-size:.95rem}
.loc__map{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--display);font-weight:700;
  font-size:.74rem;text-transform:uppercase;letter-spacing:.11em;color:var(--flame-deep);
  text-decoration:none;border-bottom:2px solid var(--flame);padding-bottom:.15rem;justify-self:start}

/* ---------- faq ---------- */
.faq{margin-top:1.9rem;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{font-family:var(--display);font-weight:700;font-size:1.02rem;padding-block:1.15rem;
  cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--flame-deep);font-weight:700;font-size:1.3rem;line-height:1}
.faq details[open] summary::after{content:"\2013"}
.faq .faq__a{padding-bottom:1.25rem;color:var(--slate);max-width:44em;display:grid;gap:.75rem}

/* inner-page hero copy */
.phead .stack > p:not(.eyebrow){max-width:34em;color:var(--slate);font-size:1.0625rem;line-height:1.6}
.phead .stack > p.eyebrow{color:var(--flame-deep)}
.band--ink .eyebrow,.band--deep .eyebrow{color:var(--flame)}
.band--ink .lede,.band--deep .lede{color:rgba(255,255,255,.76)}

/* location photo slot */
.loc__pics{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin-bottom:.5rem}
.loc__pics img{width:100%;aspect-ratio:4/3;object-fit:cover}

/* ---------- facts list ---------- */
.facts{display:grid;gap:0;margin:0;border-top:1px solid var(--line)}
.fact{display:grid;gap:.25rem;padding-block:1.1rem;border-bottom:1px solid var(--line)}
@media(min-width:680px){.fact{grid-template-columns:14rem 1fr;gap:2rem;align-items:baseline}}
.fact dt{font-family:var(--display);font-weight:700;font-size:.74rem;text-transform:uppercase;
  letter-spacing:.12em;color:var(--flame-deep)}
.fact dd{margin:0;color:var(--slate)}
.band--ink .facts{border-top-color:var(--line-pale)}
.band--ink .fact{border-bottom-color:var(--line-pale)}
.band--ink .fact dt{color:var(--flame)}
.band--ink .fact dd{color:rgba(255,255,255,.78)}

/* ---------- split copy + image ---------- */
.split{display:grid;gap:1.7rem;align-items:center}
@media(min-width:900px){
  .split{grid-template-columns:1fr 1fr;gap:2.9rem}
  .split--flip .split__media{order:2}
}
.split__media{min-width:0;background:var(--ink-deep)}
.split__media img{width:100%}
.cap{font-family:var(--display);font-weight:700;font-size:.72rem;text-transform:uppercase;
  letter-spacing:.13em;color:var(--flame-deep);margin-top:.75rem}
.band--ink .cap{color:var(--flame)}
.hero__img--portrait img{object-position:50% 30%}

/* ---------- pull note ---------- */
.note{margin-top:2.25rem;padding:1.5rem;border-left:3px solid var(--flame);
  background:rgba(255,255,255,.05);max-width:40em}
.note p{font-family:var(--display);font-weight:600;font-size:1.1rem;line-height:1.4}
.note footer{margin-top:.6rem;font-family:var(--display);font-weight:700;font-size:.74rem;
  text-transform:uppercase;letter-spacing:.13em;color:var(--flame)}

/* stacked list beside an image */
.pillars--list{grid-template-columns:1fr!important;gap:1.6rem;margin-top:2rem;padding-top:2rem}
@media(min-width:900px){
  .split--sticky{grid-template-columns:.85fr 1.15fr;align-items:start}
  .split--sticky .split__media{position:sticky;top:5.5rem}
}

/* ---------- transformations ---------- */
.trans{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:1.75rem}
@media(min-width:620px){.trans{grid-template-columns:repeat(2,1fr);gap:1.1rem}}
@media(min-width:960px){.trans{grid-template-columns:repeat(3,1fr);gap:1.3rem}}
.trans__card{min-width:0;margin:0;background:var(--ink);aspect-ratio:1/1;overflow:hidden}
.trans__card[hidden]{display:none}
.trans__card img{width:100%;height:100%;object-fit:cover}
.trans__slot{display:grid;place-content:center;gap:.3rem;text-align:center;height:100%;
  background:var(--paper);border:2px dashed var(--line);color:var(--slate)}
.trans__slot b{font-family:var(--display);font-weight:800;font-size:.8rem;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ink)}
.trans__slot span{font-size:.72rem;letter-spacing:.06em}
.more{display:flex;justify-content:center;margin-top:2.5rem}
.more[hidden]{display:none}

/* reveal on scroll (only once JS is running) */
.js-reveal .reveal{opacity:0;transform:translateY(20px)}
.js-reveal .reveal.in{opacity:1;transform:none;transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.3,1)}
@media(prefers-reduced-motion:reduce){.js-reveal .reveal{opacity:1!important;transform:none!important}}

/* ---------- reviews ---------- */
.rating{display:flex;align-items:center;gap:.9rem;margin-top:1.4rem;flex-wrap:wrap}
.rating__fig{font-family:var(--display);font-weight:900;font-size:2.1rem;line-height:1;color:var(--flame)}
.rating__stars{color:var(--flame);font-size:1.05rem;letter-spacing:.16em;line-height:1}
.rating__txt{font-size:.9rem;color:rgba(255,255,255,.7)}

.revs{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:1.75rem}
@media(min-width:680px){.revs{grid-template-columns:repeat(2,1fr);gap:1.1rem}}
@media(min-width:1000px){.revs{grid-template-columns:repeat(3,1fr);gap:1.2rem}}
.rev{margin:0;padding:1.5rem;display:grid;gap:.8rem;align-content:start;min-width:0;
  background:rgba(255,255,255,.06);border:1px solid var(--line-pale);border-top:3px solid var(--flame)}
.rev__stars{color:var(--flame);font-size:.88rem;letter-spacing:.17em;line-height:1}
.rev__head{font-family:var(--display);font-weight:700;font-size:1.08rem;line-height:1.3;
  letter-spacing:-.01em;color:#fff}
.rev__body{font-size:.95rem;line-height:1.6;color:rgba(255,255,255,.78);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rev.open .rev__body{display:block;-webkit-line-clamp:none}
.rev__body p+p{margin-top:.7rem}
.rev__more{align-self:start;background:none;border:0;padding:0;cursor:pointer;
  font-family:var(--display);font-weight:700;font-size:.72rem;text-transform:uppercase;
  letter-spacing:.13em;color:var(--flame);border-bottom:1px solid currentColor}
.rev__more[hidden]{display:none}
.rev__who{display:flex;align-items:center;gap:.65rem;margin-top:.2rem;
  font-family:var(--display);font-weight:700;font-size:.78rem;letter-spacing:.06em;color:#fff}
.rev__av{display:grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:50%;
  background:var(--flame);color:var(--ink-deep);font-size:.85rem;font-weight:900;flex:0 0 auto}

.revs__foot{margin-top:2rem}
.revs__foot a{color:var(--flame);font-family:var(--display);font-weight:700;font-size:.76rem;
  text-transform:uppercase;letter-spacing:.12em;text-decoration:none;
  border-bottom:2px solid var(--flame);padding-bottom:.15rem}

/* ---------- legal strip ---------- */
.legal{background:var(--paper);border-top:1px solid var(--line);
  padding-block:1.6rem;font-size:.8rem;line-height:1.55;color:var(--slate)}

/* ---------- two-column intro ---------- */
.intro{display:grid;gap:1.3rem}
.intro__body{display:grid;gap:1.05rem}
@media(min-width:860px){
  .intro__body{grid-template-columns:1fr 1fr;gap:1.05rem 3rem;align-items:start}
}
