/* RSP Follow Through: the shared visual language for all 187 page owners. */
body.ft-inner{
 --ink:#0F0F0E;--black:#0F0F0E;--terra:#CD5E45;--paper:#FAF9F5;--cream:#F4F1E8;
 --white:#FAF9F5;--sub:#55544E;--muted:#6D6B63;--line:#D9D4C8;
 --sans:var(--ft-font-body);--font:var(--ft-font-body);--serif:var(--ft-font-body);--mono:var(--ft-font-body);
 --comic:var(--ft-font-display);--comic-font:var(--ft-font-display);--rsp-comic-font:var(--ft-font-display);
 --rsp-display-font:var(--ft-font-display);--shadow-ink:none;--shadow-terra:none;--shadow:none;
 --rsp-comic-shadow:none;--rsp-comic-shadow-terra:none;--r:5px;
 background:var(--ft-cream);background-image:none;font-family:var(--ft-font-body);font-synthesis:none;
}
.ft-inner main{font-family:var(--ft-font-body)}
.ft-inner main :is(h1,h2){font-family:var(--ft-font-display)!important;font-weight:400;letter-spacing:0;line-height:1.08;text-transform:uppercase;text-shadow:none;-webkit-text-stroke:0;transform:none}
.ft-inner main h1{font-size:clamp(44px,5.2vw,76px);max-width:22ch;text-wrap:balance}
.ft-inner main h2{font-size:clamp(30px,3vw,44px);max-width:25ch}
.ft-inner main h3{font-family:var(--ft-font-body);font-weight:750;letter-spacing:-.02em;line-height:1.35}
.ft-inner main :is(h1,h2) em{color:var(--ft-terra)!important;font-style:normal}
.ft-inner main :is(p,li,dd){line-height:1.7}
.ft-inner main :is(.lede,.sub,.section-sub,.product-lead){font-family:var(--ft-font-body);font-style:normal;font-size:17px;line-height:1.7}
.ft-inner :is(.halftone-dark,.halftone-light,.halftone){background-image:none!important}
.ft-inner main :is(.pill-kicker,.comic-section-tag,.kicker,.eyebrow,.section-eyebrow,.co-kicker,.plabel,.nf-stamp){font:700 11px/1.6 var(--ft-font-body)!important;letter-spacing:.14em;text-transform:uppercase;border:0;border-radius:0;box-shadow:none;transform:none!important;padding:0;background:transparent;color:var(--ft-terra)}
.ft-inner main :is(.pill-kicker,.comic-section-tag,.kicker)::before{display:none}
.ft-inner main :is(.crumbs,.breadcrumb,.gh-breadcrumb){font:600 11px/1.7 var(--ft-font-body);letter-spacing:.05em;text-transform:none;margin-bottom:20px}
.ft-inner main :is(.band.white,.band.paper,.band.mist){background:var(--ft-cream);color:var(--ft-ink)}
.ft-inner main .band.ink{background:var(--ft-ink);color:var(--ft-paper)}
.ft-inner main .band{padding-block:64px;border-bottom:1px solid rgba(110,103,87,.15)}
.ft-inner main :is(.band.ink .lede,.band.ink .sub){color:#DEDBD3}

/* Hero art carries the homepage's jobsite identity into service and company pages. */
.ft-inner main .pagehero{position:relative;isolation:isolate;overflow:hidden;min-height:430px;display:flex;align-items:center;background:var(--ft-ink);color:var(--ft-paper);padding-block:64px}
.ft-inner main .pagehero::before{content:"";display:block!important;position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0F0F0E 0%,rgba(15,15,14,.98) 32%,rgba(15,15,14,.55) 65%,rgba(15,15,14,.12)),url('/assets/follow-through-hero-1280.webp') right 44%/cover no-repeat}
.ft-inner main .pagehero .wrap{position:relative;width:min(1240px,calc(100% - 64px));padding-right:0;max-width:1240px}
.ft-inner main .pagehero :is(.peek,.has-peek>.peek){display:none}
.ft-inner main .pagehero h1{max-width:17ch;width:68%;margin-top:0;font-size:clamp(48px,5.6vw,80px);line-height:1.04}
.ft-inner main .pagehero :is(.sub,.ck-head,.crumbs){max-width:720px}
.ft-inner main .pagehero .ck-head h1{width:100%}
.ft-inner main .pagehero .sub{max-width:56ch;width:65%;font-size:17px;margin-top:24px;color:#E9E6DD}
.ft-inner main .pagehero .crumbs{color:#D9D5CB;max-width:68%;font-size:11px}
.ft-inner main .pagehero .crumbs a{text-decoration:none}
.ft-inner main .pagehero .hero-cta{margin-top:26px}

/* Workwear buttons: consistent shape, contrast, and ordinary sentence case. */
.ft-inner main :is(.btn,.button,.co-primary,.co-secondary,.bridge-cta,.grow-submit,.nf-cta){font:700 14px/1.4 var(--ft-font-body)!important;text-transform:none;letter-spacing:0;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:14px 21px;border:1px solid var(--ft-terra)!important;border-radius:5px!important;background:var(--ft-terra)!important;background-image:none!important;color:var(--ft-ink)!important;box-shadow:none!important;text-shadow:none;transform:none!important;text-decoration:none;white-space:normal;max-width:100%;transition:background-color .15s ease}
.ft-inner main :is(.btn,.button,.co-primary,.co-secondary,.bridge-cta,.grow-submit,.nf-cta):hover{background:var(--ft-terra-hover)!important;color:var(--ft-ink)!important;box-shadow:none!important}
.ft-inner main :is(.btn-ghost,.button.outline,.button-secondary,.co-secondary,.btn.ghost){background:transparent!important;border-color:#8C877A!important;color:inherit!important}
.ft-inner main :is(.btn,.button)::before,.ft-inner main :is(.btn,.button)::after{box-shadow:none}
.ft-inner main :is(.cta-row,.actions,.hero-actions,.co-actions){gap:12px;flex-wrap:wrap}
.ft-inner main :is(button,input,select,textarea){font-family:var(--ft-font-body)}
.ft-inner main :is(input,select,textarea){border-radius:4px;border-color:#BEB7A8;box-shadow:none}
.ft-inner main :is(a,button,input,select,textarea):focus-visible{outline:3px solid var(--ft-terra-hover);outline-offset:4px}

/* A common frame for prices, tools, proof and article navigation. */
.ft-inner main :is(.card,.plan,.price,.ep,.quote,.stats,.stat-card,.shot,.std,.tool-card,.calc-wrap,.grader-wrap,.checklist-wrap,.bridge-card,.legal-paper,.nf-card,.co-card,.grow-form,.grow-card,.ck-aside,.lesson-meta>div,.queue>div,.next>a,.deliv>div,.allproducts>a){border:1px solid var(--ft-line)!important;border-radius:5px!important;box-shadow:none!important;transform:none!important;background-image:none!important}
.ft-inner main :is(.plan,.card,.tool-card,.ep,.ck-aside){padding:28px}
.ft-inner main :is(.plan,.tool-card,.ep,.quote,.co-card){background:var(--ft-paper);color:var(--ft-ink)}
.ft-inner main :is(.card,.quote,.stat-card,.stats) :is(p,.lede){color:inherit}
.ft-inner main .ink :is(.card,.quote,.stats,.stat-card,.shot,.std,.deliv>div){background:var(--ft-ink-soft);color:var(--ft-paper);border-color:#393730!important}
.ft-inner main :is(.ribbon,.shot-stamp,.bk-stamp,.grow-burst,.nf-stamp,.seal){box-shadow:none!important;transform:none!important;background-image:none!important;text-shadow:none;-webkit-text-stroke:0}
.ft-inner main :is(.ribbon,.shot-stamp,.bk-stamp){border:0!important;border-radius:0;font:700 10px/1.5 var(--ft-font-body);letter-spacing:.12em;padding:9px 13px;background:var(--ft-terra);color:var(--ft-ink)}
.ft-inner main .plan.promo{border-top:5px solid var(--ft-terra)!important}
.ft-inner main .plan .ribbon{position:static;display:inline-block;margin-bottom:15px}
.ft-inner main .plan :is(.amt,h3){font-family:var(--ft-font-display);font-weight:400;text-transform:uppercase}
.ft-inner main .plan .amt{font-size:clamp(48px,4.5vw,66px);letter-spacing:0;line-height:1.1;margin-block:20px 8px}
.ft-inner main .plan .amt small{font:600 16px/1.4 var(--ft-font-body);text-transform:none}
.ft-inner main .plan .btn{width:100%;font-size:13px!important;padding-inline:15px}
.ft-inner main .plans{gap:22px;align-items:stretch}
.ft-inner main .tradelist{grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr))}
.ft-inner main .tradelist>a{min-width:0;overflow-wrap:anywhere}
.ft-inner main .plan .fine{font-size:12px;line-height:1.7}
.ft-inner main :is(.scarcity,.math-note){box-shadow:none;border:0;border-radius:0;background:transparent}
.ft-inner main .scarcity{border-block:1px solid var(--ft-line);padding:22px 0;font-family:var(--ft-font-body)}
.ft-inner main .seal{border:1px solid #504C42;border-radius:0;padding:26px;aspect-ratio:auto}
.ft-inner main .seal .k{font:400 52px/1.1 var(--ft-font-display);color:var(--ft-terra)}
.ft-inner main :is(.steps,.stagebar){box-shadow:none;border-radius:0;background:transparent}
.ft-inner main .steps>div{box-shadow:none;border:0;border-top:1px solid #5E594F;border-radius:0;padding-top:22px;transform:none}
.ft-inner main :is(.steps .n,.steps .num,.step-num,.queue .num,.villain){font-family:var(--ft-font-display);font-weight:400;text-transform:uppercase;transform:none!important;-webkit-text-stroke:0;text-shadow:none}
.ft-inner main .peek{filter:none!important;transform:none!important;opacity:1}
.ft-inner main img[src*="roscoe-conversation-"]{filter:none!important;transform:none!important;object-fit:contain}
.ft-inner main :is(.shot,.case-shot,.work-shot) img{border-radius:0}
.ft-inner main :is(.next>a,.ck-next>a,.allproducts>a){padding:23px;background:var(--ft-paper);color:var(--ft-ink);border-top:2px solid var(--ft-terra)!important}
.ft-inner main :is(.next>a b,.allproducts>a b){font-family:var(--ft-font-display);font-weight:400;text-transform:uppercase;font-size:26px}
.ft-inner main :is(.next>a .k,.allproducts>a .k){font:700 10px/1.5 var(--ft-font-body);letter-spacing:.12em}
.ft-inner main :is(details,.faq-item){border:0;border-bottom:1px solid var(--ft-line);border-radius:0;box-shadow:none;background:transparent}
.ft-inner main summary{font:700 16px/1.5 var(--ft-font-body);padding-block:21px;cursor:pointer}
.ft-inner main details>p{font-size:16px;padding-bottom:22px}

/* Reading and utility pages share the brand without becoming sales posters. */
.ft-inner[data-ft-family="research"] main.paper{max-width:1000px;padding:64px 32px 80px}
.ft-inner[data-ft-family="research"] main h1{font-size:clamp(38px,4vw,62px);max-width:27ch;padding-bottom:28px;border-bottom:4px solid var(--ft-terra)}
.ft-inner[data-ft-family="research"] main h2{font-size:34px;max-width:30ch;margin-top:46px}
.ft-inner[data-ft-family="research"] main :is(.dek,.subtitle,.standfirst){font:400 19px/1.7 var(--ft-font-body);color:var(--ft-ink)}
.ft-inner[data-ft-family="research"] main :is(.kicker,.eyebrow,.tag,.meta,.paper-foot){font-family:var(--ft-font-body);text-transform:none}
.ft-inner[data-ft-family="research"] main :is(.citebox,.mediakit,.disclosure,.callout){background:var(--ft-paper);border:1px solid var(--ft-line);border-left:4px solid var(--ft-terra);box-shadow:none;border-radius:0}
.ft-inner main :is(.ck-article,.lesson-body,.article-body){font-size:17px}
.ft-inner main :is(.ck-article,.lesson-body,.article-body) h2{font-size:34px;max-width:28ch}
.ft-inner main .ck-aside h2{font:700 20px/1.4 var(--ft-font-body)!important;text-transform:none}
.ft-inner .legal-paper{max-width:960px;margin:48px auto;padding:40px;background:var(--ft-paper)}
.ft-inner[data-ft-family="legal"] main h1{font-size:60px;max-width:none}
.ft-inner[data-ft-family="legal"] main h2{font-size:30px;margin-top:36px}
.ft-inner[data-ft-family="receipt"]{display:block;min-height:100vh;padding:0 0 var(--ft-action-space);background:var(--ft-cream)}
.ft-inner[data-ft-family="receipt"] main.card{width:min(920px,calc(100% - 40px));margin:48px auto;padding:40px;background:var(--ft-paper);border:1px solid var(--ft-line);box-shadow:none}
.ft-inner[data-ft-family="receipt"] main #ok>img{float:right;width:96px!important;height:96px!important;filter:none!important;margin:0 0 20px 25px}
.ft-inner[data-ft-family="receipt"] main .k{font:700 11px/1.6 var(--ft-font-body);letter-spacing:.14em;text-transform:uppercase}
.ft-inner[data-ft-family="receipt"] main h1{font-size:52px;max-width:22ch}
.ft-inner[data-ft-family="receipt"] .ft-footer p{margin-top:0}
.ft-inner main .nf-code{font-family:var(--ft-font-display)!important;font-weight:400;-webkit-text-stroke:0;text-shadow:none;transform:none}
.ft-inner main .nf-stamp{padding:10px 0;display:block}
.ft-inner main .nf-card{padding:26px;background:var(--ft-paper)}
.ft-inner main .nf-hero{background:var(--ft-ink);background-image:none}

/* Buying journey: same typography, restrained framing, clear next action. */
.ft-inner .co-main .co-intro{background:var(--ft-ink);color:var(--ft-paper);border-bottom:4px solid var(--ft-terra);padding:44px 36px;margin:30px 0}
.ft-inner .co-main .co-intro::before{display:none}
.ft-inner .co-main .co-intro h1{font-size:clamp(44px,4.8vw,68px);max-width:21ch}
.ft-inner .co-main .co-intro .co-kicker{color:var(--ft-terra)!important}
.ft-inner .co-main .co-lede{color:#DDD9CE;font-size:16px;max-width:65ch}
.ft-inner .co-main .co-card{padding:28px}
.ft-inner .co-main :is(.co-card,.co-aside) h2{font:700 22px/1.35 var(--ft-font-body)!important;text-transform:none}
.ft-inner .co-main .co-price strong{font-family:var(--ft-font-display);font-weight:400}
.ft-inner .co-booking [data-rsp-calendar-link]{background:transparent!important;border:0!important;padding:8px 0;color:var(--ft-ink)!important;text-decoration:underline;text-underline-offset:4px;min-height:44px}

/* Working tools remain functional; their presentation belongs to the same brand. */
.ft-inner #gh{--comic-font:var(--ft-font-display);--font:var(--ft-font-body)}
.ft-inner #gh .gh-hero{padding-block:44px;gap:44px}
.ft-inner #gh .gh-hero>*{min-width:0}
.ft-inner #gh .comic-section-tag{white-space:normal}
.ft-inner #gh .hub-diagnostic__top{flex-wrap:wrap}
.ft-inner #gh h1{font-size:clamp(48px,5.5vw,76px);max-width:15ch}
.ft-inner #gh .hub-diagnostic{transform:none!important;border:1px solid var(--ft-line)!important;border-radius:5px;box-shadow:none!important;background:var(--ft-paper)}
.ft-inner #gh :is(.hub-diagnostic,.tool-card,.calc-wrap,.grader-wrap) *{text-shadow:none}
.ft-inner #gh .tool-card h3{font:700 21px/1.35 var(--ft-font-body)}
.ft-inner #gh :is(.tool-kind,.tool-tag,.diag-tag){font:700 10px/1.5 var(--ft-font-body);letter-spacing:.1em;transform:none}
.ft-inner main .grow-burst{border:1px solid var(--ft-line);border-radius:5px;background:var(--ft-cream);color:var(--ft-ink)}

@media(max-width:999px){
 .ft-inner main .pagehero h1{font-size:60px;width:78%}
 .ft-inner main .pagehero .sub{width:75%}
 .ft-inner main .plans{grid-template-columns:1fr}
 .ft-inner main .plan{max-width:none}
 .ft-inner main .plan .amt{font-size:64px}
}
@media(max-width:767px){
 .ft-inner main .band{padding-block:44px}
 .ft-inner main h1{font-size:44px;max-width:100%}
 .ft-inner main h2{font-size:34px;max-width:100%}
 .ft-inner main :is(.lede,.sub,.section-sub,.product-lead){font-size:16px}
 .ft-inner main .pagehero{min-height:400px;padding-block:42px}
 .ft-inner main .pagehero::before{background-image:linear-gradient(90deg,rgba(15,15,14,.95),rgba(15,15,14,.72) 65%,rgba(15,15,14,.55)),url('/assets/follow-through-hero-mobile-768.webp');background-position:center;background-size:cover}
 .ft-inner main .pagehero .wrap{width:calc(100% - 40px)}
 .ft-inner main .pagehero h1{width:100%;font-size:44px;max-width:18ch}
 .ft-inner main .pagehero :is(.sub,.ck-head,.crumbs){width:100%;max-width:100%}
 .ft-inner main .pagehero .sub{font-size:15px;line-height:1.65;margin-top:22px}
 .ft-inner main :is(.card,.plan,.ep,.ck-aside,.tool-card,.nf-card){padding:23px}
 .ft-inner main :is(.btn,.button,.co-primary,.co-secondary){font-size:13px!important;min-height:52px}
 .ft-inner main .seal{max-width:240px}
 .ft-inner main .steps{gap:28px}
 .ft-inner .co-main .co-intro{padding:30px 22px;margin-block:20px}
 .ft-inner .co-main .co-intro h1{font-size:40px}
 .ft-inner .co-main .co-card{padding:20px}
 .ft-inner .co-main .co-booking{padding:16px 8px}
 .ft-inner[data-ft-family="research"] main.paper{padding:36px 20px 55px}
 .ft-inner[data-ft-family="research"] main h1{font-size:38px;max-width:100%}
 .ft-inner[data-ft-family="research"] main h2{font-size:30px}
 .ft-inner .legal-paper{padding:26px 21px;margin:24px auto;width:calc(100% - 32px)}
 .ft-inner[data-ft-family="legal"] main h1{font-size:42px}
 .ft-inner[data-ft-family="receipt"] main.card{padding:26px 22px;margin:24px auto}
 .ft-inner[data-ft-family="receipt"] main h1{font-size:38px}
 .ft-inner[data-ft-family="receipt"] main #ok>img{float:none;width:78px!important;height:78px!important;margin:0 0 22px}
 .ft-inner #gh .gh-hero{padding-block:30px;gap:28px}
 .ft-inner #gh h1{font-size:48px}
 .ft-inner main :is(.ck-article,.lesson-body,.article-body) h2{font-size:30px}
}
@media(max-width:359px){.ft-inner main .pagehero h1{font-size:39px}.ft-inner main .pagehero .wrap{width:calc(100% - 32px)}.ft-inner .co-main .co-intro h1{font-size:36px}.ft-inner[data-ft-family="receipt"] main h1{font-size:34px}}
@media(prefers-reduced-motion:reduce){.ft-inner *{scroll-behavior:auto!important;transition:none!important}}
