/* Shared editorial system: readable copy, restrained hierarchy, genuine process numbering. */
:root{--max:1240px;--gutter:clamp(24px,5vw,76px)}
body{font-size:18px;line-height:1.7;font-weight:450}
main p,main .prose,main .prose p,main .section-intro p,main .situation p,main .steps-vertical p,main .diagnostic-table p,main .case-detail p,main .case-feature .prose,main .cap-summary,main .practice,main .capability-block ul,main .closing p,main .biography .prose,main .pull-line p,main .scope-note,main .contact-layout p{font-size:18px;line-height:1.75}
main .lede,main .page-hero .lede,main .about-hero .lede{font-size:21px;line-height:1.65;max-width:65ch}
main .prose{max-width:62ch}main .prose p+p{margin-top:22px}
.eyebrow,main .eyebrow{font-size:14px;letter-spacing:.075em;line-height:1.5;margin-bottom:20px;font-weight:650}
.caption,main .caption,main .metric-note,main .case-detail .caption{font-size:15px;line-height:1.65}
.breadcrumb{font-size:14px;line-height:1.6;margin-bottom:30px}
main h1,main .page-hero h1,main .about-hero h1{font-size:clamp(42px,5.1vw,70px);line-height:1.12;letter-spacing:-.045em;font-weight:550;max-width:20ch}
main h2{font-size:clamp(32px,3.3vw,46px);line-height:1.16;letter-spacing:-.035em;font-weight:550}
main h3,.situation h3,.steps-vertical h3,.case-detail h3,.diagnostic-table h3{font-size:25px;line-height:1.3;letter-spacing:-.025em;font-weight:600}
.section{padding-block:clamp(72px,8vw,112px)}.page-hero{padding-block:64px 72px}.section-intro{gap:8%;align-items:start;margin-bottom:48px}
.site-header{gap:32px;padding-block:25px}.site-header .logo{width:280px;height:auto}.site-header>a{flex-shrink:0}
.site-header nav{font-size:16px;gap:26px}.button,.site-header .button{font-size:16px;min-height:52px;gap:20px;padding:14px 22px}.text-link{font-size:16px;min-height:44px;line-height:1.5;gap:20px}.menu-toggle{font-size:16px;min-height:44px}
main .tags span,main .sector-list{font-size:16px;line-height:1.6}.tags{gap:10px 24px}.tags span{padding:0;border:0;color:var(--steel)}
.nameplate{font-size:17px}.nameplate strong{font-size:20px}.credentials p{font-size:17px;line-height:1.65}.credentials{padding-block:36px}.credentials strong{font-size:29px}
/* Content categories are unnumbered and clearly separated from process. */
.case-detail{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:8%;padding-block:40px}.case-detail>div:last-child{grid-column:auto}
.capability-block{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:8%;padding-block:48px}.capability-block>div:last-child{grid-column:auto}.capability-block h2{font-size:38px}.cap-summary{max-width:36ch}.capability-block ul{margin-bottom:22px}.practice{border-top:0;padding-top:0;color:var(--steel)}
.bar-label{font-size:16px}.table-head{font-size:14px;letter-spacing:.06em}.proof-band .prose{font-size:18px}.proof-band .metric-note{font-size:15px}.proof-band{gap:9%;padding-block:80px}
/* Flagship: one idea per section, a clear vertical reading path. */
.advisory-fit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:9%;align-items:start}.advisory-context .prose{margin-top:28px}.advisory-fit .situations{grid-template-columns:1fr;gap:28px;margin:0}.situation{display:block;padding-top:24px}.situation:first-child{border-top:0;padding-top:0}.situation p{margin-top:10px;max-width:52ch}
.advisory-process{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:9%;align-items:start}.process-intro .prose{margin-top:28px}
.steps-vertical li{position:relative;grid-template-columns:40px minmax(0,1fr);gap:24px;border:0;padding:0 0 36px}.steps-vertical li:last-child{padding-bottom:0}.steps-vertical li:not(:last-child):after{content:'';position:absolute;top:40px;bottom:0;left:19px;width:1px;background:var(--line)}
.step-no{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:white;border:1px solid var(--red);border-radius:50%;font-size:15px;font-weight:600}.steps-vertical h3{padding-top:3px;margin-bottom:10px}
.advisory-outcome{max-width:850px;text-align:left}.advisory-outcome .prose{margin-top:26px}.advisory-outcome .text-link{margin-top:24px}
.closing{padding-block:64px;gap:8%;border-top:1px solid var(--line)}.closing h2{font-size:clamp(32px,3.3vw,46px)}
/* Footer is one aligned composition, with a dedicated contact column. */
.site-footer{border-top:1px solid var(--line);padding:60px 0 24px;background:#fff}
.footer-composition{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr) minmax(0,.75fr);gap:48px;align-items:start}.footer-logo{width:230px}.footer-brand p{font-size:16px;line-height:1.7;margin-top:24px;max-width:26ch;color:var(--steel)}
.footer-contact{min-width:0}.footer-contact h2{font-size:22px;line-height:1.35;letter-spacing:-.02em;margin:0 0 18px;font-weight:600}.footer-contact>a{display:block;width:fit-content;max-width:100%;font-size:17px;line-height:1.6;padding-block:5px;overflow-wrap:anywhere}.footer-contact>a:hover,.footer-nav a:hover{color:var(--red)}.footer-contact .footer-email{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}.footer-contact p{font-size:15px;line-height:1.7;color:var(--steel);margin-top:20px}
.footer-nav{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.footer-nav a{font-size:16px;line-height:1.5;padding-block:9px}.footer-legal{border-top:1px solid var(--line);margin-top:44px;padding-top:20px;font-size:14px;color:var(--steel)}
/* Homepage uses the same legible scale and fewer competing accents. */
#redfox-aesthetic-preview{font-size:18px;max-width:1392px}
#redfox-aesthetic-preview .rf-hero-copy{padding:64px 40px 64px 36px}
#redfox-aesthetic-preview h1{font-size:clamp(42px,4.5vw,64px);line-height:1.12;letter-spacing:-.045em;max-width:17ch}
#redfox-aesthetic-preview .rf-kicker{font-size:14px;letter-spacing:.075em;line-height:1.5}
#redfox-aesthetic-preview .rf-intro{font-size:20px;line-height:1.7;max-width:43ch;margin-top:28px;margin-bottom:28px}
#redfox-aesthetic-preview .rf-signature{font-size:16px;line-height:1.7;margin-top:32px}#redfox-aesthetic-preview .rf-signature strong{font-size:18px}
#redfox-aesthetic-preview .rf-hero h1{margin-top:24px}
#redfox-aesthetic-preview .rf-services{padding-block:88px;gap:0}
#redfox-aesthetic-preview .rf-service-intro{grid-column:1/-1;margin-bottom:48px}#redfox-aesthetic-preview .rf-service-intro h2{font-size:clamp(32px,3.2vw,44px);line-height:1.18;letter-spacing:-.035em;margin-top:16px;font-weight:550}
#redfox-aesthetic-preview .rf-service{padding-right:30px}#redfox-aesthetic-preview .rf-service+.rf-service{padding-left:30px}#redfox-aesthetic-preview .rf-service h2{font-size:28px;line-height:1.25;margin-bottom:22px;letter-spacing:-.03em}
#redfox-aesthetic-preview .rf-service p,#redfox-aesthetic-preview .rf-step p{font-size:18px;line-height:1.7}
#redfox-aesthetic-preview .rf-proof{padding-block:72px;gap:64px;grid-template-columns:1.25fr 1fr}#redfox-aesthetic-preview .rf-proof h2{font-size:clamp(34px,3.5vw,46px);line-height:1.18;letter-spacing:-.035em}
#redfox-aesthetic-preview .rf-proof .rf-kicker{font-size:14px}#redfox-aesthetic-preview .rf-proof .rf-proof-foot{font-size:18px;line-height:1.7}
#redfox-aesthetic-preview .rf-metrics{gap:30px}#redfox-aesthetic-preview .rf-metrics p{font-size:16px;line-height:1.6;text-transform:none;letter-spacing:0}#redfox-aesthetic-preview .rf-metrics strong{font-size:40px}
#redfox-aesthetic-preview .rf-method{padding-block:88px}#redfox-aesthetic-preview .rf-method-grid{margin-top:36px}
#redfox-aesthetic-preview .rf-close{padding-block:64px}#redfox-aesthetic-preview .rf-close h2{font-size:clamp(32px,3.5vw,46px)}#redfox-aesthetic-preview .rf-close p{font-size:18px}
#redfox-aesthetic-preview .rf-cta,#redfox-aesthetic-preview .rf-link{font-size:16px}
@media(max-width:1100px){.site-header{flex-wrap:wrap}.site-header .menu-toggle:not([hidden]){display:block!important;margin-left:auto}.site-header nav{width:100%;flex-wrap:wrap;gap:14px 26px}.site-header.menu-ready nav{display:none}.site-header.menu-ready nav.is-open{display:flex}.footer-composition{grid-template-columns:1fr 1.3fr;gap:40px}.footer-nav{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;gap:12px 30px}#redfox-aesthetic-preview .rf-services{grid-template-columns:1fr}#redfox-aesthetic-preview .rf-service{display:grid;grid-template-columns:1fr 1.2fr;gap:18px 40px;padding:30px 0!important;border-left:0!important;border-top:1px solid #dce0e4}#redfox-aesthetic-preview .rf-service h2{margin:0}#redfox-aesthetic-preview .rf-service p{margin:0}#redfox-aesthetic-preview .rf-service .rf-link{grid-column:2;margin:0}#redfox-aesthetic-preview .rf-service-intro{margin-bottom:30px}}
@media(max-width:800px){.site-header .logo{width:210px}.footer-composition{grid-template-columns:1fr}.footer-nav{grid-column:auto}.advisory-fit,.advisory-process{grid-template-columns:1fr;gap:44px}.case-detail,.capability-block{grid-template-columns:1fr;gap:24px}.case-detail>div:last-child,.capability-block>div:last-child{grid-column:1}#redfox-aesthetic-preview .rf-proof{grid-template-columns:1fr;gap:36px}#redfox-aesthetic-preview .rf-metrics{border-left:0;border-top:1px solid #6B7280;padding:30px 0 0}.about-hero{grid-template-columns:1fr;gap:40px}.about-hero .brian-portrait{justify-self:center}}
@media(max-width:640px){body{font-size:18px}.section{padding-block:64px}.page-hero{padding-block:40px 48px}main .lede,main .page-hero .lede,main .about-hero .lede{font-size:20px}main h1,main .page-hero h1,main .about-hero h1{font-size:42px;line-height:1.14}main h2{font-size:33px}.credentials>div{grid-template-columns:1fr;gap:8px}.credentials p{font-size:17px}.site-footer{padding-top:44px}.footer-logo{width:210px}.footer-composition{gap:32px}.footer-nav{flex-direction:column;gap:0}.footer-contact>a{font-size:16px}.closing{padding-block:48px}#redfox-aesthetic-preview .rf-hero-copy{padding:40px 24px}#redfox-aesthetic-preview h1{font-size:42px}#redfox-aesthetic-preview .rf-wrap{padding-inline:24px}#redfox-aesthetic-preview .rf-service{display:flex;gap:0}#redfox-aesthetic-preview .rf-service h2{font-size:29px;margin-bottom:20px}#redfox-aesthetic-preview .rf-service p{margin-bottom:22px}#redfox-aesthetic-preview .rf-service .rf-link{margin:0}#redfox-aesthetic-preview .rf-services,#redfox-aesthetic-preview .rf-method{padding-block:64px}#redfox-aesthetic-preview .rf-proof{padding-block:48px}#redfox-aesthetic-preview .rf-close{padding-block:48px}#redfox-aesthetic-preview .rf-metrics>div{grid-template-columns:100px 1fr}#redfox-aesthetic-preview .rf-metrics p{font-size:16px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
