/* SOULX content-page layer — extends app.css tokens for generated pages */

.chip-soon{display:inline-block;font-family:var(--label);font-size:.52rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--orange-deep);border:1px solid rgba(194,65,12,.45);border-radius:100px;padding:3px 9px;vertical-align:middle;
  background:rgba(255,255,255,.55)}
.chip-big{font-size:.62rem;padding:6px 14px;margin-bottom:20px}
.dd-mkt{border-top:1px solid rgba(24,17,9,.08);margin-top:4px;padding-top:13px}
.dd-mkt .dd-s{color:rgba(24,17,9,.45)}

/* ---------- page scaffold ---------- */
.content{padding:172px 0 100px}
.content .wrap{max-width:1060px;margin:0 auto;padding:0 40px}
.crumbs{font-family:var(--label);font-size:.56rem;letter-spacing:.05em;text-transform:uppercase;color:rgba(24,17,9,.42);margin-bottom:40px}
.crumbs a{color:rgba(24,17,9,.58);transition:color .2s}
.crumbs a:hover{color:var(--orange-deep)}
.crumbs i{font-style:normal;color:var(--orange);margin:0 6px}

.c-hero{margin-bottom:76px;max-width:820px}
.c-eyebrow{display:block;font-family:var(--label);font-size:.64rem;letter-spacing:.04em;color:rgba(24,17,9,.52);margin-bottom:20px}
.c-hero h1{font-size:clamp(2.4rem,5.6vw,4.1rem);font-weight:300;line-height:1.03;letter-spacing:-.042em;color:var(--ink);text-wrap:balance}
.c-hero h1 b{font-weight:800}
.answer{margin-top:30px;font-size:1.1rem;line-height:1.6;color:rgba(24,17,9,.75);max-width:62ch;
  background:rgba(255,255,255,.62);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.85);border-left:3px solid var(--orange);
  border-radius:6px 18px 18px 6px;padding:22px 26px;box-shadow:0 16px 40px rgba(90,40,12,.08)}

/* ---------- section rhythm ---------- */
.block{margin:84px 0}
.block-h{font-size:1.7rem;font-weight:800;letter-spacing:-.028em;color:var(--ink);margin-bottom:18px;text-wrap:balance}
.block p{font-size:1.02rem;line-height:1.62;color:rgba(24,17,9,.68);max-width:64ch}
.block a{color:var(--orange-deep);font-weight:600}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.two-col h2:not(:first-child){margin-top:34px}
@media(max-width:820px){.two-col{grid-template-columns:1fr;gap:44px}}

/* capability cards — glass with warm hover, mirrors the engine cards */
.caps{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:820px){.caps{grid-template-columns:1fr}}
.cap{position:relative;overflow:hidden;background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.88);border-radius:20px;padding:26px 26px 24px;
  transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s,border-color .4s}
.cap::before{content:"";position:absolute;right:-46px;top:-46px;width:150px;height:150px;border-radius:50%;
  background:radial-gradient(circle,rgba(249,115,22,.22),transparent 70%);opacity:0;transition:opacity .4s}
.cap:hover{transform:translateY(-6px);border-color:rgba(249,115,22,.45);box-shadow:0 28px 60px rgba(210,95,20,.16)}
.cap:hover::before{opacity:1}
.cap b{position:relative;display:block;font-size:1.12rem;color:var(--ink);letter-spacing:-.015em;margin-bottom:8px}
.cap p{position:relative;font-size:.94rem;color:rgba(24,17,9,.62);line-height:1.55}

/* process steps — the method log */
.steps{list-style:none;counter-reset:st;max-width:660px}
.steps li{counter-increment:st;display:grid;grid-template-columns:52px 1fr;gap:18px;padding:20px 0;border-bottom:1px solid rgba(24,17,9,.1)}
.steps li:last-child{border-bottom:none}
.steps li::before{content:counter(st,decimal-leading-zero);font-family:var(--label);font-size:.95rem;color:var(--orange);padding-top:3px}
.steps b{display:block;font-size:1.14rem;font-weight:700;color:var(--ink);letter-spacing:-.015em}
.steps p{font-size:.95rem;color:rgba(24,17,9,.62);margin-top:4px;line-height:1.55}

/* pricing strip */
.price-note{margin:64px 0}
.price-note p{display:block;font-size:1.04rem;line-height:1.55;color:rgba(24,17,9,.75);max-width:none;
  background:linear-gradient(120deg,rgba(255,196,120,.35),rgba(255,255,255,.6));
  border:1px solid rgba(249,115,22,.3);border-radius:18px;padding:22px 26px}

/* dark results band — warm ink, like the proof strip */
.dark-band{position:relative;overflow:hidden;background:var(--black);border-radius:26px;padding:44px 42px;color:var(--cream)}
.dark-band::before{content:"";position:absolute;left:-25%;right:-25%;bottom:-65%;height:110%;pointer-events:none;
  background:radial-gradient(50% 50% at 50% 100%, rgba(249,115,22,.34), transparent 70%)}
.dark-band .block-h{position:relative;color:var(--cream)}
.stats{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:30px}
.stat b{display:block;font-size:2.5rem;font-weight:800;letter-spacing:-.035em;color:var(--amber);line-height:1}
.stat span{display:block;margin-top:9px;font-size:.9rem;color:rgba(243,236,223,.72);line-height:1.4;max-width:26ch}

/* case-study cards */
.cs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:8px}
.csc{position:relative;overflow:hidden;display:flex;flex-direction:column;background:rgba(255,255,255,.74);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.88);border-radius:22px;padding:26px;
  transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s,border-color .4s}
.csc::before{content:"";position:absolute;right:-46px;bottom:-46px;width:160px;height:160px;border-radius:50%;
  background:radial-gradient(circle,rgba(249,115,22,.2),transparent 70%);opacity:0;transition:opacity .4s}
.csc:hover{transform:translateY(-8px);border-color:rgba(249,115,22,.5);box-shadow:0 34px 70px rgba(210,95,20,.2)}
.csc:hover::before{opacity:1}
.csc-type{align-self:flex-start;font-family:var(--label);font-size:.52rem;letter-spacing:.05em;text-transform:uppercase;
  color:var(--orange-deep);background:rgba(249,115,22,.12);border-radius:100px;padding:4px 10px}
.csc-client{font-size:1.4rem;font-weight:800;letter-spacing:-.025em;color:var(--ink);margin-top:12px}
.csc-ind{font-size:.82rem;color:rgba(24,17,9,.5);margin-top:3px}
.csc-metrics{display:flex;gap:22px;margin:18px 0}
.csc-m b{display:block;font-size:1.25rem;font-weight:800;letter-spacing:-.02em;color:var(--ink)}
.csc-m span{font-size:.7rem;color:rgba(24,17,9,.5)}
.csc-go{margin-top:auto;font-size:.9rem;font-weight:700;color:var(--orange-deep);transition:transform .25s;display:inline-block}
.csc:hover .csc-go{transform:translateX(4px)}

/* blog cards + article body */
.blog-t{font-size:1.18rem;line-height:1.32;margin-top:12px}
.blog-teaser{font-size:.9rem;color:rgba(24,17,9,.65);line-height:1.55;margin:10px 0 20px}
.article .art-body{max-width:72ch}
.art-by{margin-top:16px;font-size:.88rem;color:rgba(24,17,9,.6)}
.art-by b{color:var(--ink)}
.art-block p{margin-bottom:14px}
.art-block a{color:var(--orange-deep);font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* legal pages — living aurora hero, neutral canvas below (page-wide aurora off) */
body:has(.legal-hero) .aurora{display:none}
.legal-hero{position:relative;overflow:hidden;padding:170px 0 72px;text-align:center;
  background:linear-gradient(180deg,#F6EFE3 0%,var(--canvas) 100%)}
.legal-hero::before{content:"";position:absolute;inset:-25%;pointer-events:none;
  background:
    radial-gradient(38% 52% at 28% 22%, rgba(253,186,116,.55), transparent 68%),
    radial-gradient(44% 60% at 74% 28%, rgba(249,115,22,.3), transparent 72%);
  animation:breathe 9s ease-in-out infinite}
.legal-hero::after{content:"";position:absolute;inset:-25%;pointer-events:none;
  background:radial-gradient(26% 36% at 54% 46%, rgba(234,88,12,.26), transparent 62%);
  animation:embers 13s ease-in-out infinite}
.legal-hero .wrap{position:relative;z-index:1}
@media (prefers-reduced-motion:reduce){.legal-hero::before,.legal-hero::after{animation:none}}
.legal-hero h1{font-size:clamp(2.4rem,5.4vw,3.8rem);font-weight:300;letter-spacing:-.04em;color:var(--ink)}
.legal-hero h1 b{font-weight:800}
.legal-hero-sub{max-width:64ch;margin:18px auto 0;font-size:1.02rem;line-height:1.6;color:rgba(24,17,9,.7)}
.legal-hero-mail{margin-top:14px;font-size:.92rem;color:rgba(24,17,9,.6)}
.legal-hero-mail a{color:var(--orange-deep);font-weight:600;text-decoration:underline;text-underline-offset:3px}
main.legal,main.hub{padding-top:0}
main.hub .crumbs{margin:34px 0 26px}

/* cases hub hero: metric chips */
.hub-chips{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:26px}
.hub-chip{font-family:var(--label);font-size:.6rem;letter-spacing:.04em;text-transform:uppercase;color:rgba(24,17,9,.7);
  background:rgba(255,255,255,.6);border:1px solid rgba(24,17,9,.14);border-radius:100px;padding:9px 16px}
.hub-chip b{color:var(--orange-deep);font-family:inherit;margin-right:4px}
a.hub-chip{transition:border-color .2s,background .2s,transform .2s}
a.hub-chip:hover{border-color:var(--orange);background:rgba(255,255,255,.85);transform:translateY(-2px)}

/* cases hub: editorial rows, homepage visual language */
.case-rows{margin-top:20px}
.case-row{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center;margin-bottom:110px}
.case-row:last-child{margin-bottom:40px}
.case-row:nth-child(even) .cr-media{order:2}
.cr-media{position:relative;display:block;aspect-ratio:4/3;border-radius:26px;overflow:hidden;
  box-shadow:0 30px 70px rgba(90,40,12,.18);transition:box-shadow .5s}
.cr-media:hover{box-shadow:0 42px 90px rgba(180,80,20,.26)}
.cr-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.16,1,.3,1)}
.cr-media:hover img{transform:scale(1.05)}
.cr-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,6,3,.02) 55%,rgba(10,6,3,.4))}
.cr-chip{position:absolute;left:18px;top:16px;z-index:1;font-family:var(--label);font-size:.56rem;letter-spacing:.05em;text-transform:uppercase;
  color:var(--orange-deep);background:rgba(255,250,244,.92);border-radius:100px;padding:7px 13px}
.cr-top{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.cr-logochip{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:8px 14px;
  background:#fff;border:1px solid rgba(24,17,9,.08);border-radius:12px;box-shadow:0 2px 8px rgba(24,17,9,.05)}
.cr-logochip img{display:block;height:20px;width:auto;max-width:110px;object-fit:contain}
.cr-eyebrow{display:block;font-family:var(--label);font-size:.58rem;letter-spacing:.05em;text-transform:uppercase;color:var(--orange-deep)}
.case-row{scroll-margin-top:110px}
.cr-client{font-size:clamp(1.7rem,3vw,2.3rem);font-weight:800;letter-spacing:-.03em;color:var(--ink)}
.cr-statement{margin-top:10px;font-size:1.18rem;font-weight:300;line-height:1.4;letter-spacing:-.015em;color:rgba(24,17,9,.85)}
.cr-statement b{font-weight:700}
.cr-result{margin-top:14px;font-size:.97rem;line-height:1.6;color:rgba(24,17,9,.66);max-width:56ch}
.cr-metrics{display:flex;gap:30px;flex-wrap:wrap;margin-top:22px;padding-top:20px;border-top:1px solid rgba(24,17,9,.1)}
.cr-m b{display:block;font-size:1.45rem;font-weight:800;letter-spacing:-.02em;color:var(--ink)}
.cr-m span{display:block;margin-top:3px;font-size:.72rem;color:rgba(24,17,9,.52);max-width:16ch;line-height:1.35}
.cr-quote{margin-top:20px;padding-left:16px;border-left:3px solid var(--orange)}
.cr-quote p{font-size:.94rem;line-height:1.55;color:rgba(24,17,9,.72)}
.cr-quote span{display:block;margin-top:7px;font-family:var(--label);font-size:.56rem;letter-spacing:.05em;text-transform:uppercase;color:rgba(24,17,9,.55)}
.cr-btn{margin-top:26px;background:#1c0e04;color:var(--cream);border-color:#1c0e04}
.cr-btn:hover{background:var(--orange);border-color:var(--orange);color:#160c04;transform:translateY(-2px)}
@media(max-width:900px){
  .case-row{grid-template-columns:1fr;gap:26px;margin-bottom:80px}
  .case-row:nth-child(even) .cr-media{order:0}
}

/* case cards with a photo header */
.csc.has-photo{padding:0;overflow:hidden}
.csc-photo{position:relative;display:block;aspect-ratio:16/10;overflow:hidden}
.csc-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.16,1,.3,1)}
.csc.has-photo:hover .csc-photo img{transform:scale(1.05)}
.csc-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,6,3,.02) 55%,rgba(10,6,3,.34))}
.csc-type-over{position:absolute;left:14px;bottom:12px;z-index:1;background:rgba(255,250,244,.92);color:var(--orange-deep)}
.csc.has-photo .csc-client{margin:18px 22px 0}
.csc.has-photo .csc-ind{margin:3px 22px 0}
.csc.has-photo .csc-metrics{margin:16px 22px}
.csc.has-photo .csc-go{margin:auto 22px 22px}
.legal .legal-layout{max-width:1080px;display:grid;grid-template-columns:230px minmax(0,1fr);gap:60px;align-items:start;padding-top:54px}
.legal-nav{position:sticky;top:110px;display:flex;flex-direction:column}
.legal-nav h5{font-family:var(--label);font-size:.56rem;letter-spacing:.06em;text-transform:uppercase;color:rgba(24,17,9,.45);margin:0 0 10px}
.legal-nav h5+a{border-top:none}
.legal-nav h5:not(:first-child){margin-top:26px}
.legal-nav a{font-size:.9rem;color:rgba(24,17,9,.62);padding:7px 12px;border-left:2px solid rgba(24,17,9,.1);transition:color .2s,border-color .2s}
.legal-nav a:hover{color:var(--ink);border-left-color:rgba(24,17,9,.3)}
.legal-nav a.on{color:var(--orange-deep);font-weight:700;border-left-color:var(--orange)}
.legal-updated{display:inline-flex;align-items:center;gap:9px;font-family:var(--label);font-size:.58rem;letter-spacing:.05em;text-transform:uppercase;
  color:var(--orange-deep);background:rgba(249,115,22,.1);border:1px solid rgba(249,115,22,.26);border-radius:100px;padding:9px 15px;margin-bottom:30px}
.legal-updated::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--orange)}
.legal-block{margin-bottom:36px;scroll-margin-top:110px}
.legal-block p{margin-bottom:12px;max-width:72ch;line-height:1.65;color:rgba(24,17,9,.78)}
.legal-block .block-h{margin-bottom:12px}
@media(max-width:860px){
  .legal-hero{padding:140px 0 54px}
  .legal .legal-layout{grid-template-columns:1fr;gap:30px;padding-top:34px}
  .legal-nav{position:static;background:rgba(255,255,255,.7);border:1px solid rgba(24,17,9,.08);border-radius:18px;padding:18px}
}
.ft-legal a{text-decoration:underline;text-underline-offset:3px}

/* FAQ — native details, in the DOM (scoped to details.faq so it never leaks into a section.faq) */
details.faq{border-bottom:1px solid rgba(24,17,9,.12);padding:2px 0}
details.faq>summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:18px 0;font-size:1.08rem;font-weight:600;color:var(--ink);letter-spacing:-.01em;transition:color .2s}
details.faq>summary:hover{color:var(--orange-deep)}
details.faq>summary::-webkit-details-marker{display:none}
details.faq>summary::after{content:"+";font-size:1.4rem;font-weight:400;color:var(--orange);transition:transform .3s;flex-shrink:0}
details.faq[open]>summary::after{transform:rotate(45deg)}
details.faq p{padding:0 0 20px;font-size:.98rem;line-height:1.62;color:rgba(24,17,9,.68);max-width:60ch}

.tags{display:flex;flex-wrap:wrap;gap:8px}
.tagl{display:inline-block;border:1.5px solid var(--ink);border-radius:100px;padding:10px 18px;
  font-size:.9rem;font-weight:600;color:var(--ink) !important;transition:.25s}
.tagl:hover{background:var(--ink);color:var(--cream) !important;transform:translateY(-2px)}

/* testimonial */
.quote{position:relative;background:rgba(255,255,255,.74);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.88);border-radius:22px;padding:34px 36px 30px 78px;margin:84px 0;
  box-shadow:0 20px 50px rgba(90,40,12,.1)}
.quote::before{content:"\201C";position:absolute;left:26px;top:14px;font-size:4rem;line-height:1;color:var(--orange);font-weight:800}
.quote p{font-size:1.18rem;line-height:1.55;color:var(--ink);letter-spacing:-.012em;max-width:none}
.quote footer{margin-top:16px;font-family:var(--label);font-size:.6rem;letter-spacing:.05em;text-transform:uppercase;color:rgba(24,17,9,.55)}

.checks{list-style:none}
.checks li{position:relative;padding:8px 0 8px 28px;font-size:.98rem;color:rgba(24,17,9,.68);line-height:1.55}
.checks li::before{content:"\2713";position:absolute;left:0;color:var(--orange);font-weight:700}

.audit-line{margin:56px 0 0;font-size:1.02rem}
.audit-line a{color:var(--orange-deep);font-weight:700}

/* ---------- marketplace hub ---------- */
.mkt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:16px;margin:10px 0}
.mkt-card{position:relative;border:1.5px dashed rgba(24,17,9,.26);border-radius:22px;padding:26px;
  background:rgba(255,255,255,.42);transition:border-color .3s,background .3s}
.mkt-card:hover{border-color:rgba(249,115,22,.5);background:rgba(255,255,255,.6)}
.mkt-card b{display:block;font-size:1.4rem;font-weight:800;letter-spacing:-.025em;color:rgba(24,17,9,.75);margin-top:12px}
.mkt-card p{font-size:.9rem;color:rgba(24,17,9,.55);margin-top:7px;line-height:1.5}
.mkt-more b{color:rgba(24,17,9,.42)}

/* homepage marketplace strip */
.mkt-strip{background:var(--canvas);border-top:1px solid rgba(24,17,9,.08);padding:110px 0;text-align:center}
.mkt-strip .wrap{max-width:780px;margin:0 auto;padding:0 40px}
.mkt-strip-h{font-size:clamp(2rem,4.8vw,3.5rem);font-weight:300;letter-spacing:-.038em;color:var(--ink)}
.mkt-strip-h b{font-weight:800}
.mkt-strip-p{margin:18px auto 0;font-size:1.06rem;line-height:1.55;color:rgba(24,17,9,.65);max-width:48ch}
.mkt-strip-list{margin-top:16px;font-family:var(--label);font-size:.72rem;letter-spacing:.04em;color:rgba(24,17,9,.55)}
.mkt-strip-link{display:inline-block;margin-top:24px;font-weight:700;color:var(--orange-deep)}

/* ---------- about ---------- */
.story p{font-size:1.08rem;line-height:1.68;color:rgba(24,17,9,.72);max-width:64ch;margin-bottom:18px}
.people{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;margin:40px 0 10px}
.person{background:rgba(255,255,255,.74);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.88);border-radius:22px;padding:16px 16px 24px;
  transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s,border-color .4s}
.person:hover{transform:translateY(-6px);border-color:rgba(249,115,22,.45);box-shadow:0 30px 60px rgba(210,95,20,.16)}
.person img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:16px;display:block}
.person b{display:block;font-size:1.2rem;font-weight:800;letter-spacing:-.015em;color:var(--ink);margin-top:16px}
.person-role{display:block;font-family:var(--label);font-size:.54rem;letter-spacing:.05em;text-transform:uppercase;color:rgba(24,17,9,.55);margin-top:5px}
.person p{font-size:.92rem;line-height:1.55;color:rgba(24,17,9,.65);margin-top:12px}
.person-exp{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.person-exp span{font-size:.68rem;font-weight:600;color:rgba(24,17,9,.6);background:rgba(24,17,9,.06);border-radius:6px;padding:4px 9px}
.person-li{display:inline-block;margin-top:16px;font-size:.9rem;font-weight:700;color:var(--orange-deep)}

/* ---------- generated footer: styles live in app.css (shared with crafted pages) ---------- */

/* ---------- 404 ---------- */
.nf-hero{position:relative;overflow:hidden;min-height:78vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:150px 24px 80px}
.nf-ghost{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);font-size:clamp(13rem,36vw,28rem);font-weight:800;letter-spacing:-.06em;line-height:1;color:rgba(249,115,22,.1);pointer-events:none;user-select:none}
.nf-inner{position:relative;z-index:1;max-width:640px}
.nf-h{font-size:clamp(2.3rem,5.4vw,3.8rem);font-weight:300;letter-spacing:-.04em;line-height:1.05;color:var(--ink)}
.nf-h b{font-weight:800}
.nf-sub{margin:18px auto 0;font-size:1.02rem;line-height:1.6;color:rgba(24,17,9,.68);max-width:46ch}
.nf-hero .closing-btns{margin-top:30px}
.nf-ghostbtn{background:transparent;color:var(--ink);border-color:rgba(24,17,9,.35)}
.nf-ghostbtn:hover{background:var(--ink);color:var(--cream);border-color:var(--ink);transform:translateY(-2px)}

/* ---------- closing (generated pages) ---------- */
.closing{position:relative;overflow:hidden;padding:120px 0;text-align:center;
  background:radial-gradient(60% 70% at 28% 16%, rgba(253,186,116,.5), transparent 70%),
    radial-gradient(70% 80% at 72% 96%, rgba(120,40,8,.55), transparent 78%),
    linear-gradient(160deg,#F97316 0%,#C2410C 100%)}
.closing .wrap{max-width:820px;margin:0 auto;padding:0 40px}
.closing-eyebrow{display:block;font-family:var(--label);font-size:.66rem;letter-spacing:.04em;color:rgba(28,14,4,.65);margin-bottom:20px}
.closing-h{font-size:clamp(2.1rem,5vw,3.7rem);font-weight:300;line-height:1.04;letter-spacing:-.037em;color:#1c0e04;text-wrap:balance}
.closing-h b{font-weight:800}
.closing-sub{margin:20px auto 0;font-size:1.06rem;line-height:1.55;color:rgba(28,14,4,.78);max-width:52ch}
.closing-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:34px}
.closing-cta{background:#1c0e04;color:var(--cream);border-color:#1c0e04}
.closing-cta:hover{background:var(--cream);border-color:var(--cream);color:#1c0e04;transform:translateY(-2px)}

/* ---------- scroll reveal (progressive: JS adds the classes) ---------- */
html.js .rv{opacity:0;transform:translateY(24px);
  transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
html.js .rv.show{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html.js .rv{opacity:1;transform:none;transition:none}}

@media(max-width:760px){
  .content{padding-top:140px}
  .content .wrap{padding:0 22px}
  .block{margin:60px 0}
  .c-hero{margin-bottom:56px}
  .dark-band{padding:32px 24px}
  .quote{padding:64px 24px 26px 24px}
  .quote::before{left:22px;top:12px}
  .mkt-strip{padding:80px 0}
}
