/* Adrian Ching: a quiet editorial system. See DESIGN.md. */
@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-latin-variable.woff2') format('woff2');font-style:normal;font-weight:200 800;font-display:swap}
:root{
  --ink:#22231f;--muted:#5e6259;--paper:#fafaf7;--white:#fff;--soft:#efefe8;--line:#d8dad1;--signal:#a53b29;
  --selection:#e8d5ca;--scrollbar:#a3a79c;--media-shadow:#22231f24;
  --sans:Manrope,'Avenir Next',ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --shell:min(1160px,calc(100% - 64px));--reading:720px;--ease-out:cubic-bezier(.23,1,.32,1);
  --space-section:clamp(3.5rem,6vw,6rem);--radius-control:4px;
}
:root[data-theme="dark"]{--ink:#f2f0ea;--muted:#b5b7ad;--paper:#151613;--white:#20211d;--soft:#22231f;--line:#3a3c35;--signal:#e07a5f;--selection:#6d3226;--scrollbar:#686b61;--media-shadow:#0008;color-scheme:dark}
:root[data-theme="light"]{color-scheme:light}
@media(prefers-color-scheme:dark){
  :root:not([data-theme]){--ink:#f2f0ea;--muted:#b5b7ad;--paper:#151613;--white:#20211d;--soft:#22231f;--line:#3a3c35;--signal:#e07a5f;--selection:#6d3226;--scrollbar:#686b61;--media-shadow:#0008}
}
*{box-sizing:border-box}
html{background:var(--paper);color:var(--ink);color-scheme:light dark;scroll-padding-top:100px;scroll-behavior:smooth;scrollbar-color:var(--scrollbar) var(--paper)}
body{margin:0;background:var(--paper);font-family:var(--sans);font-size:1.0625rem;line-height:1.7;-webkit-font-smoothing:antialiased}
::selection{background:var(--selection);color:var(--ink)}
img{display:block;max-width:100%;height:auto}
figure{margin:0}
button,input{font:inherit}
a{color:inherit;text-underline-offset:.24em;text-decoration-thickness:1px}
p{max-width:65ch;margin:0 0 1.15rem}
h1,h2,h3{font-weight:600;line-height:1.14;letter-spacing:-.035em;text-wrap:balance;overflow-wrap:break-word;margin:0 0 1rem}
h1{font-size:clamp(2.4rem,4.7vw,4rem)}
h2{font-size:clamp(1.9rem,3.4vw,3rem)}
h3{font-size:clamp(1.35rem,2.2vw,1.8rem);letter-spacing:-.025em;line-height:1.3}
p,li,dd{text-wrap:pretty}
:focus-visible{outline:2px solid var(--signal);outline-offset:5px;border-radius:2px}
.shell{width:var(--shell);margin-inline:auto}
.reading{width:min(var(--reading),calc(100% - 40px));margin-inline:auto}
.section{padding-block:var(--space-section)}
.section-tight{padding-block:2.5rem}
.section-soft,.section-dark{background:var(--soft);color:var(--ink)}
.section-title,.section-heading-grid h2{max-width:22ch}
.section-lede,.page-lede{color:var(--muted);font-size:1.125rem;line-height:1.7;max-width:60ch}
.section-lede{margin-top:1rem}
.page-lede{margin-top:1.3rem}
.section-heading-grid{display:block;margin-bottom:2.75rem;max-width:760px}
.section-heading-grid h2{max-width:26ch}
.section-index,.page-kicker,.eyebrow{font-size:.875rem;line-height:1.5;color:var(--muted);font-weight:600;letter-spacing:0;margin:0 0 1rem}
.skip-link{position:fixed;z-index:100;top:.75rem;left:.75rem;background:var(--white);padding:.75rem 1rem;transform:translateY(-180%)}
.skip-link:focus{transform:none}

/* Native cross-document view transitions between same-origin pages. Ignored
   entirely by browsers that don't support it — a plain navigation, same as
   before. Pairs with the speculation-rules prefetch in prefetch.js: the
   destination is often already fetched, so the crossfade reads as instant.
   The header keeps a stable view-transition-name so it holds still instead
   of cross-fading with itself, like a persistent app shell. */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:220ms;animation-timing-function:var(--ease-out)}
::view-transition-old(site-header),::view-transition-new(site-header){animation:none;mix-blend-mode:normal}

/* Navigation stays visible without JavaScript. */
.site-header{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid var(--line);view-transition-name:site-header}
.header-inner{display:flex;align-items:center;justify-content:flex-start;min-height:72px;gap:2rem}
.wordmark{display:inline-flex;align-items:center;gap:.75rem;text-decoration:none;white-space:nowrap;min-height:44px}
.wordmark strong{font-size:1rem;font-weight:750;letter-spacing:-.025em}
.wordmark-mark{display:inline-grid;place-items:center;background:var(--ink);color:var(--white);width:30px;height:30px;font-size:.625rem;font-weight:800;letter-spacing:-.025em}
.site-nav{display:flex;align-items:center;gap:1.5rem;margin-left:auto}
.site-nav a{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem;font-weight:600;text-decoration:none}
.site-nav a[aria-current='page']{color:var(--signal);text-decoration:underline}
.site-nav .nav-cta{padding:.5rem .95rem;border:1px solid var(--line);border-radius:var(--radius-control)}
.nav-toggle{display:none;min-width:48px;min-height:48px;padding:.5rem;border:0;border-radius:var(--radius-control);background:transparent;color:var(--ink);font-size:.875rem;font-weight:700;cursor:pointer}
.theme-toggle{display:none;place-items:center;flex:0 0 44px;min-width:44px;min-height:44px;padding:.6rem;border:1px solid var(--line);border-radius:var(--radius-control);background:transparent;color:var(--ink);cursor:pointer;transition:background-color 160ms ease,border-color 160ms ease,transform 140ms var(--ease-out)}
.theme-ready .theme-toggle{display:inline-grid}
.theme-toggle .icon{grid-area:1/1;width:19px;height:19px;transition:opacity 220ms var(--ease-out),transform 220ms var(--ease-out)}
.theme-toggle .theme-icon-sun{opacity:0;transform:rotate(-80deg) scale(.6)}
.theme-toggle .theme-icon-moon{opacity:1;transform:rotate(0) scale(1)}
:root[data-theme="dark"] .theme-toggle .theme-icon-moon{opacity:0;transform:rotate(80deg) scale(.6)}
:root[data-theme="dark"] .theme-toggle .theme-icon-sun{opacity:1;transform:rotate(0) scale(1)}
@media(prefers-color-scheme:dark){:root:not([data-theme]) .theme-toggle .theme-icon-moon{opacity:0;transform:rotate(80deg) scale(.6)}:root:not([data-theme]) .theme-toggle .theme-icon-sun{opacity:1;transform:rotate(0) scale(1)}}
.actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.85rem 1.2rem;background:var(--ink);color:var(--white);border:1px solid var(--ink);border-radius:var(--radius-control);font-size:.9375rem;font-weight:650;line-height:1.35;text-align:center;text-decoration:none;transition:transform 140ms var(--ease-out),background-color 180ms ease,border-color 180ms ease}
.button:active:not(:focus-visible),.nav-toggle:active:not(:focus-visible),.theme-toggle:active:not(:focus-visible){transform:scale(.98)}
.text-link{display:inline-flex;align-items:center;min-height:44px;font-size:.9375rem;font-weight:650;line-height:1.45;text-decoration:underline}

/* A face, a name, and the work. The intro precedes the portrait on phones. */
.home-hero{padding-block:clamp(2.5rem,5vw,4.75rem)}
.founder-hero-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);column-gap:clamp(3rem,8vw,7rem);align-items:center}
.founder-heading{grid-column:1;grid-row:1;align-self:end}
.founder-heading h1{font-size:clamp(3rem,6.6vw,5.5rem);line-height:1.1;letter-spacing:-.04em;margin:0}
.founder-intro{grid-column:1;grid-row:2;align-self:start;padding-top:1.5rem}
.hero-declaration{font-size:clamp(1.5rem,2.5vw,2rem);font-weight:500;letter-spacing:-.025em;line-height:1.3;margin-bottom:1.5rem}
.founder-portrait{grid-column:2;grid-row:1/span 2}
.founder-portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 39%}
figcaption{font-size:.8125rem;line-height:1.5;color:var(--muted);margin-top:.75rem}
.identity-strip{border-block:1px solid var(--line)}
.credibility-strip{display:flex;justify-content:space-between;gap:2rem;padding-block:1.5rem}
.credibility-strip p{margin:0;font-size:.8125rem}
.credibility-strip strong{display:block;font-size:1rem;font-weight:650;margin-bottom:.15rem}
.credibility-strip span{color:var(--muted)}

/* Editorial media. Photographic covers are hosted with the site. */
.media-section{background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line)}
.media-feature{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);align-items:start;gap:clamp(2rem,5vw,4rem)}
.video-card{display:block;text-decoration:none;min-width:0}
.video-thumbnail{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--soft)}
.video-thumbnail img{width:100%;height:100%;object-fit:cover;object-position:center 46%}
.video-play{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.video-play svg{display:block;width:48px;height:48px;padding:14px;border-radius:50%;background:var(--white);fill:var(--ink);box-shadow:0 4px 16px var(--media-shadow);transition:transform 180ms var(--ease-out)}
.video-meta{display:flex;flex-wrap:wrap;gap:.3rem 1rem;margin:1rem 0 .55rem;font-size:.875rem;font-weight:600;line-height:1.6;color:var(--muted)}
.video-meta span:first-child{color:var(--signal)}
.video-card h3{font-size:1.2rem;font-weight:650;line-height:1.4;letter-spacing:-.02em;margin:0;max-width:50ch}
.media-feature .video-card h3{font-size:clamp(1.3rem,2vw,1.65rem)}
.media-note{padding:1.6rem;background:var(--soft)}
.media-note h3{font-size:1.45rem;line-height:1.4;margin-bottom:1.25rem}
.media-note p{font-size:.9375rem;color:var(--muted)}
.media-note .note-signoff{font-size:.8125rem;color:var(--ink);font-weight:650;margin:1.3rem 0 0}
.media-supporting{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:2.75rem;padding-top:2rem;border-top:1px solid var(--line)}
.media-supporting .video-card{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:1.1rem}
.media-supporting .video-meta{margin-top:0}
.media-supporting .video-card h3{font-size:1rem}
.media-action{margin-top:2rem}
.popular-pair,.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem}
.video-grid .video-card-featured{grid-column:1/-1}
.page-jumps{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:1.5rem}
.page-jumps a{display:inline-flex;align-items:center;min-height:44px;font-size:.9375rem;font-weight:600}
.latest-note{display:grid;grid-template-columns:1fr 1fr;gap:3rem}
.latest-note p{color:var(--muted)}

/* Building, story and proof use different compositions on the same grid. */
.building-editorial,.recognition-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:start}
.building-notes article{margin-bottom:2rem}
.building-notes article+article{padding-top:1.75rem;border-top:1px solid var(--line)}
.building-notes h3{font-size:1.5rem}
.building-notes p,.recognition-copy p,.story-excerpt p{color:var(--muted)}
.story-editorial{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:2.5rem clamp(2rem,6vw,5rem)}
.story-title{grid-column:1;grid-row:1}
.story-excerpt{grid-column:2;grid-row:1/span 2}
.story-excerpt .story-turn{color:var(--ink);font-size:1.25rem;line-height:1.55;margin-block:1.5rem}
.story-wide{grid-column:1;grid-row:2;align-self:start}
.story-wide img{width:100%;aspect-ratio:1;object-fit:cover}
.case-feature{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:clamp(2rem,6vw,5rem);align-items:center}
.case-art{padding:2rem;background:var(--soft)}
.case-art>img{width:auto;height:440px;max-width:100%;object-fit:contain;margin-inline:auto}
.case-art figcaption{text-align:center}
.case-story h3{font-size:clamp(1.75rem,2.8vw,2.3rem);line-height:1.25}
.case-story dl{margin:1.5rem 0}
.case-story dl>div{margin-bottom:1.25rem}
.case-story dt{font-size:.8125rem;font-weight:700;margin-bottom:.3rem}
.case-story dd{margin:0;color:var(--muted)}
.case-story blockquote{margin:1.75rem 0 0;padding-top:1.5rem;border-top:1px solid var(--line)}
.case-story blockquote>p{font-size:1.35rem;line-height:1.5;font-weight:500;letter-spacing:-.02em}
.case-story .testimonial-credit{display:flex;align-items:center;gap:.8rem;font-size:.8125rem;font-style:normal;line-height:1.5}
.case-story blockquote img{width:44px;height:44px;border-radius:50%;object-fit:cover}
.case-disclosure{font-size:.8125rem;color:var(--muted);margin-top:1.25rem}
.supporting-work{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--line)}
.supporting-work article{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:center}
.supporting-work img{width:100%;aspect-ratio:4/3;object-fit:contain}
.supporting-work h3{font-size:1.125rem}
.supporting-work p{font-size:.875rem;color:var(--muted);margin:0}
.offer-list{margin-top:2.5rem;border-top:1px solid var(--line)}
.offer{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,.45fr);gap:2rem;padding-block:2rem;border-bottom:1px solid var(--line)}
.offer h3{font-size:1.5rem}
.offer p{margin:0;color:var(--muted);max-width:55ch}
.offer-meta{display:flex;align-items:flex-start;flex-direction:column;gap:.6rem;justify-content:center}
.offer-price{font-size:.9375rem;font-weight:650;font-variant-numeric:tabular-nums}
.work-call{display:flex;align-items:center;justify-content:space-between;gap:2.5rem;margin-top:2rem}
.work-call p{font-size:.875rem;color:var(--muted);max-width:65ch;margin:0}
.work-call .button{flex-shrink:0}
.newsletter-band{padding-block:var(--space-section);border-bottom:1px solid var(--line);background:var(--paper)}
.newsletter-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:start}
.newsletter-grid h2{max-width:20ch}
.newsletter-grid p{color:var(--muted)}

/* Interior pages keep the same reading rhythm and control sizing. */
.page-hero{padding-block:clamp(2.5rem,4.5vw,4rem);border-bottom:1px solid var(--line)}
.page-hero h1{max-width:24ch}
.page-hero .actions{margin-top:1.75rem}
.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1rem;font-size:.8125rem;margin-bottom:1.25rem;color:var(--muted)}
.breadcrumbs a{display:inline-flex;align-items:center;min-height:44px}
.breadcrumbs span{padding-left:1rem;border-left:1px solid var(--line)}
.offer-context,.call-details,.archive-note{font-size:.875rem;color:var(--muted);font-weight:600;line-height:1.6;margin-bottom:1rem}
.signup-pending{margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid var(--line)}
.signup-pending p{font-size:1rem;color:var(--muted)}
.newsletter-hero .actions{margin-top:1.5rem}
.next-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-top:2.25rem}
.next-steps h3{font-size:1.125rem}
.next-steps p{font-size:.9375rem;color:var(--muted)}
.fit-details{display:flex;gap:.5rem 1.25rem;flex-wrap:wrap;padding:0;list-style:none;font-size:.875rem;color:var(--muted);margin-top:1.25rem}
.about-hero,.writing-hero,.newsletter-hero{padding-block:clamp(2.5rem,4.5vw,4rem);border-bottom:1px solid var(--line)}
.about-hero-grid,.writing-hero-grid,.newsletter-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);align-items:center;gap:clamp(2rem,6vw,5rem)}
.about-hero h1,.writing-hero h1,.newsletter-hero h1{font-size:clamp(2.25rem,4.5vw,3.5rem);max-width:20ch}
.about-hero figure img,.writing-hero figure img,.newsletter-hero figure img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 40%}
.about-hero figure img{object-position:left 40%}
.newsletter-hero .actions{margin-top:1.75rem}
.microcopy{font-size:.8125rem;line-height:1.6;color:var(--muted);margin-top:1rem}
.about-narrative{max-width:940px}
.story-chapter{display:grid;grid-template-columns:140px minmax(0,1fr);gap:2rem;margin-bottom:3rem}
.story-chapter>span{font-size:.875rem;font-weight:600;color:var(--signal);padding-top:.3rem}
.story-chapter h2{font-size:clamp(1.75rem,3vw,2.5rem)}
.story-chapter p{color:var(--muted)}
.wide-story-photo{margin-block:3rem}
.wide-story-photo img{width:100%;max-height:520px;object-fit:cover;object-position:center 40%}
.about-build-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:3rem}
.about-build-grid h2{font-size:clamp(1.9rem,3vw,2.75rem)}
.build-ambition p{color:var(--muted)}
.values-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem}
.values-list p{padding-block:1.2rem;margin:0;border-bottom:1px solid var(--line);color:var(--muted)}
.values-list p:first-child{padding-top:0}
.photo-break{display:grid;grid-template-columns:1fr 1fr;background:var(--soft);align-items:center}
.photo-break>img{width:100%;height:620px;object-fit:cover;object-position:center 38%}
.photo-break>div{padding:3rem clamp(2rem,5vw,5rem);max-width:650px}
.photo-break p{color:var(--muted)}
.content-grid{display:grid;grid-template-columns:minmax(0,.45fr) minmax(0,1fr);gap:clamp(2rem,5vw,4rem);padding-bottom:3.5rem;margin-bottom:3.5rem;border-bottom:1px solid var(--line)}
.content-grid:last-child{padding-bottom:0;margin-bottom:0;border:0}
.content-grid>h2{font-size:1.4rem;line-height:1.4}
.content-body h3{font-size:1.6rem}
.content-body p{color:var(--muted)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem)}
.ruled-block{min-width:0}
.ruled-block h2{font-size:clamp(1.65rem,2.8vw,2.2rem)}
.ruled-block p{color:var(--muted)}
.offer-comparison .ruled-block{display:flex;flex-direction:column;padding-top:1.5rem;border-top:2px solid var(--ink)}
.offer-comparison h3{font-size:clamp(1.65rem,2.8vw,2.2rem);line-height:1.22;max-width:17ch;margin-bottom:1rem}
.offer-choice{margin:0 0 .75rem;color:var(--signal)!important;font-size:.8125rem;font-weight:700}
.offer-name{margin:0 0 1.5rem;color:var(--ink)!important;font-size:1rem;font-weight:700}
.offer-facts{margin:0 0 1.5rem}
.offer-facts>div{padding-block:1rem;border-top:1px solid var(--line)}
.offer-facts dt{font-size:.8125rem;font-weight:700;margin-bottom:.35rem}
.offer-facts dd{margin:0;color:var(--muted)}
.offer-decision{margin-top:auto;padding-top:1.25rem;border-top:1px solid var(--line)}
.offer-decision p{margin-bottom:.5rem}
.offer-decision strong{color:var(--ink);font-size:1.125rem;font-variant-numeric:tabular-nums}
.offer-terms{display:block;font-size:.875rem;margin-top:.25rem}
.comparison-boundary{display:grid;grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr);gap:1rem 3rem;margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.comparison-boundary p{margin:0;color:var(--muted)}
.editorial-list{padding-left:1.2rem;margin:1.5rem 0;color:var(--muted)}
.editorial-list li{padding:0 0 .65rem .25rem;max-width:65ch}
.editorial-list li::marker{color:var(--signal)}
.recognition-note,.boundary{padding:1.5rem;background:var(--soft);border:1px solid var(--line);border-radius:var(--radius-control);color:var(--muted);margin-block:1.5rem}
.recognition-note p:last-child{margin-bottom:0}
.boundary strong{display:block;color:var(--ink);margin-bottom:.5rem}
.price-panel{display:flex;align-items:center;justify-content:space-between;gap:2.5rem;padding:2.5rem;background:var(--soft)}
.price{font-size:clamp(1.7rem,3.8vw,3.25rem);font-weight:600;line-height:1.2;letter-spacing:-.035em;font-variant-numeric:tabular-nums;margin:.5rem 0 1rem}
.price-note{font-size:.9375rem;color:var(--muted);max-width:55ch;margin:0}
.price-panel .button{flex-shrink:0}
.final-cta{padding-block:var(--space-section);border-top:1px solid var(--line)}
.final-cta h2{max-width:24ch}
.final-cta p{color:var(--muted);max-width:65ch}
.final-cta .actions{margin-top:1.5rem}
.article-row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:1.5rem;padding-block:1.5rem;border-top:1px solid var(--line);text-decoration:none;transition:border-top-color 180ms ease}
.article-row .category{font-size:.875rem;color:var(--muted)}
.article-row h3{font-size:1.4rem}
.article-row p{color:var(--muted);margin:0}
.prose{padding-block:3.5rem;overflow-wrap:break-word}
.prose h2,.prose h3{margin-top:2.75rem}
.prose pre{overflow:auto;padding:1.25rem;background:var(--soft);font-size:.875rem}
.prose code{font-family:ui-monospace,monospace;font-size:.9em}
.prose img{margin-block:1.5rem}
/* Editorial diagrams. Label sizes are fixed in pixels and the layout stacks, so a 375px
   reading column shortens the lines instead of shrinking the type. Nothing here falls
   below 14px rendered. See DESIGN.md. */
.article-figure{margin-block:2.5rem}
.article-figure figcaption{font-size:.9375rem}
.article-figure p{max-width:none}
/* AC-033: retain the phone layout through 760px. display:none removes the
   inactive layout from both rendering and the accessibility tree. The wide
   HTML recreates the original 720x400 and 720x556 drawings, on a
   transparent canvas with theme-safe colours. Coordinates are in that 720px space. */
.article-figure-responsive>.article-figure-mobile{display:none}
.figure-wide{position:relative;background:transparent;color:var(--ink);font-size:14px;font-weight:600;line-height:1.4;margin-block:1.5rem}
.figure-wide p,.figure-wide ul,.figure-wide ol{margin:0;padding:0}
.figure-wide-plot{aspect-ratio:720/400}
.figure-wide-grid{position:absolute;left:13.333333%;top:10%;width:80%;height:72.5%;border-left:1px solid var(--line);border-bottom:1px solid var(--line);background-image:repeating-linear-gradient(to right,transparent 0 111px,color-mix(in srgb,var(--line) 55%,transparent) 111px 112px),repeating-linear-gradient(to top,transparent 0 53px,color-mix(in srgb,var(--line) 55%,transparent) 53px 54px)}
.figure-wide-zone{position:absolute;left:13.333333%;top:10%;width:38.888889%;height:18.5%;background:color-mix(in srgb,var(--signal) 9%,transparent)}
.figure-wide-warning{position:absolute;left:15%;top:21.75%;color:var(--signal);font-weight:600}
.figure-wide-y{position:absolute;left:4.166667%;top:46.25%;transform:translateY(-50%) rotate(180deg);writing-mode:vertical-rl;color:var(--muted)}
.figure-wide-x{position:absolute;left:13.333333%;right:6.666667%;top:91.25%;text-align:center;color:var(--muted)}
.figure-wide-tick{position:absolute;color:var(--muted);line-height:1}
.figure-wide-y-low,.figure-wide-y-high{right:88.333333%;transform:translateY(-50%)}
.figure-wide-y-low{top:82.5%}
.figure-wide-y-high{top:15%}
.figure-wide-x-low,.figure-wide-x-high{top:85.5%;transform:translateX(-50%)}
.figure-wide-x-low{left:13.333333%}
.figure-wide-x-high{left:91.111111%}
.figure-wide-points{list-style:none}
.figure-wide-point{position:absolute;left:calc(var(--x)/720*100%);top:calc(var(--y)/400*100%);width:0;height:0}
.figure-wide-point::before{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:var(--ink);transform:translate(-50%,-50%)}
.figure-wide-point.is-watch::before{width:14px;height:14px;background:var(--signal)}
.figure-wide-label{position:absolute;left:14px;top:0;transform:translateY(-50%);white-space:nowrap}
.figure-wide-point-left .figure-wide-label{left:auto;right:12px}
.figure-wide-point-low .figure-wide-label{top:-16px}
.figure-wide-path{aspect-ratio:720/556}
.figure-wide-steps{list-style:none;counter-reset:wide-step}
.figure-wide-steps>li{counter-increment:wide-step;position:absolute;left:5.555556%;top:calc((24 + var(--step)*64)/556*100%);width:55.555556%;height:7.913669%;display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;padding:0 19px;border:1px solid var(--line);border-radius:4px;background:var(--white);line-height:1.4}
.figure-wide-steps>li:nth-child(1){--step:0}
.figure-wide-steps>li:nth-child(2){--step:1}
.figure-wide-steps>li:nth-child(3){--step:2}
.figure-wide-steps>li:nth-child(4){--step:3}
.figure-wide-steps>li:nth-child(5){--step:4}
.figure-wide-steps>li:nth-child(6){--step:5}
.figure-wide-steps>li:nth-child(7){--step:6}
.figure-wide-steps>li:nth-child(8){--step:7}
.figure-wide-steps>li::before{content:counter(wide-step);color:var(--muted)}
.figure-wide-steps>li:not(:last-child)::after{content:"";position:absolute;left:50%;top:100%;height:20px;width:12px;transform:translateX(-50%);background:linear-gradient(var(--line),var(--line)) center top/1px 14px no-repeat}
.figure-wide-steps>li:not(:last-child)>span::after{content:"";position:absolute;left:50%;top:calc(100% + 9px);width:9px;height:9px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transform:translateX(-50%) rotate(45deg)}
.figure-wide .figure-wide-exit{position:absolute;left:calc(111% + 1px);top:50%;transform:translateY(-50%);width:49%;min-height:56px;padding:9px 15px;border:1px solid var(--signal);border-radius:4px;background:var(--white);color:var(--signal);line-height:18px;white-space:nowrap}
.figure-wide-exit strong,.figure-wide-exit>span{display:block;font-weight:500}
.figure-wide-exit::before{content:"";position:absolute;right:100%;top:50%;width:calc(44 / 196 * 100%);border-top:1px dashed var(--signal)}
.figure-wide-exit::after{content:"";position:absolute;right:100%;top:50%;width:9px;height:9px;border-top:1px solid var(--signal);border-right:1px solid var(--signal);transform:translate(-2px,-50%) rotate(45deg)}
@media(max-width:760px){
  .article-figure-responsive>.article-figure-desktop{display:none}
  .article-figure-responsive>.article-figure-mobile{display:block}
}
.figure-eyebrow{font-size:.9375rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 1rem}
.figure-flow{list-style:none;counter-reset:flow;display:grid;gap:1.5rem;margin:0;padding:0}
.figure-flow>li{counter-increment:flow;position:relative;display:grid;grid-template-columns:1.5rem minmax(0,1fr);gap:.75rem;padding:.8rem 1rem;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--white);font-size:1rem;line-height:1.45}
.figure-flow>li::before{content:counter(flow);color:var(--muted);font-variant-numeric:tabular-nums}
.figure-flow>li:not(:last-child)::after{content:"";position:absolute;left:50%;top:100%;width:1px;height:1.5rem;background:var(--line)}
.figure-flow-exit{grid-column:2;margin:.85rem 0 0;padding:.7rem .85rem;border:1px solid var(--signal);border-radius:var(--radius-control);color:var(--signal);font-size:1rem;line-height:1.45}
.figure-flow-exit strong{display:block}
.figure-plot{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem .6rem;padding:1rem 1rem 0 0}
.figure-plot-axis{margin:0;font-size:1rem;line-height:1.4;color:var(--muted)}
.figure-plot-y{grid-area:1/1;writing-mode:vertical-rl;transform:rotate(180deg);justify-self:center;align-self:center}
.figure-plot-x{grid-area:2/2;text-align:center}
.figure-plot-area{grid-area:1/2;position:relative;aspect-ratio:1;border-left:1px solid var(--line);border-bottom:1px solid var(--line);background-image:repeating-linear-gradient(to right,transparent 0 calc(20% - 1px),var(--line) calc(20% - 1px) 20%),repeating-linear-gradient(to top,transparent 0 calc(20% - 1px),var(--line) calc(20% - 1px) 20%)}
.figure-plot-zone{position:absolute;inset:0 50% 80% 0;background:var(--signal);opacity:.1}
.figure-plot-zone-label{position:absolute;left:.5rem;top:calc(20% + .7rem);max-width:50%;font-size:1rem;font-weight:600;line-height:1.35;color:var(--signal)}
.figure-plot-points{list-style:none;margin:0;padding:0}
.figure-plot-points>li{position:absolute;left:calc(var(--proof)/5*100%);bottom:calc(var(--money)/5*100%);transform:translate(-50%,50%);display:grid;place-items:center;width:1.9rem;height:1.9rem;border:1px solid var(--ink);border-radius:50%;background:var(--paper);font-size:1rem;font-weight:600;line-height:1;font-variant-numeric:tabular-nums}
.figure-plot-points>li.is-watch{border-color:var(--signal);background:var(--signal);color:var(--paper)}
.figure-key{list-style:none;display:grid;gap:.65rem;margin:1.5rem 0 0;padding:0;font-size:1rem;line-height:1.45}
.figure-key>li{display:grid;grid-template-columns:1.9rem minmax(0,1fr);gap:.75rem}
.figure-key-mark{display:grid;place-items:center;width:1.9rem;height:1.9rem;border:1px solid var(--ink);border-radius:50%;font-size:1rem;font-weight:600;line-height:1;font-variant-numeric:tabular-nums}
.figure-key>li.is-watch .figure-key-mark{border-color:var(--signal);background:var(--signal);color:var(--paper)}
.figure-key-score{display:block;color:var(--muted);font-size:1rem}
.figure-columns{list-style:none;display:grid;gap:1rem;margin:0;padding:0}
.figure-card,.figure-gap{display:grid;align-content:start;gap:.3rem;padding:1rem;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--white)}
.figure-card-figure{font-size:1.9rem;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}
.figure-card-label{font-size:1rem;line-height:1.4}
.figure-card-title{font-size:1.125rem;font-weight:700;line-height:1.3}
.figure-card-note{font-size:.9375rem;color:var(--muted)}
.figure-rank{font-size:.9375rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.figure-card.is-watch{border-color:var(--signal);box-shadow:inset 0 0 0 1px var(--signal)}
.figure-card.is-watch .figure-card-figure,.figure-card.is-watch .figure-rank{color:var(--signal)}
.figure-gap{align-content:center;border-style:dashed;border-color:var(--signal);background:none;color:var(--signal);text-align:center}
.figure-gap strong{font-size:1rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.figure-gap span{font-size:1rem}
.figure-callout{margin:1rem 0 0;padding:.7rem .85rem;border:1px solid var(--signal);border-radius:var(--radius-control);color:var(--signal);font-size:1rem;font-weight:600;line-height:1.4}
.figure-aside{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.9rem;margin:1rem 0 0;padding:1rem;border:1px solid var(--line);border-radius:var(--radius-control);font-size:1rem;line-height:1.4}
.figure-aside b{font-size:1.6rem;line-height:1.1;font-variant-numeric:tabular-nums}
.figure-summary{margin:1.5rem 0 0;padding-top:1.25rem;border-top:1px solid var(--line);font-size:1rem;line-height:1.5}
.figure-summary strong{display:block;font-size:1.125rem}
.figure-burden{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem;align-items:end;padding:1.5rem clamp(.25rem,3vw,1.5rem);border-bottom:3px solid var(--ink)}
.figure-burden-build{display:grid;justify-items:center;align-content:end;gap:.5rem}.figure-burden-arrow{font-size:3rem;line-height:.7;color:var(--signal)}.figure-burden-block{display:grid;place-items:center;width:6.5rem;height:3.6rem;border:2px solid var(--ink);border-radius:.25rem;background:var(--paper);font-size:1rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.figure-burden-own{display:grid;grid-template-columns:1rem 1fr;grid-template-rows:1fr auto;gap:.65rem .75rem;align-items:stretch}.figure-burden-brace{grid-row:1;border:2px solid var(--signal);border-right:0;border-radius:.4rem 0 0 .4rem}.figure-burden-stack{display:flex;flex-direction:column-reverse;justify-content:end;gap:.3rem}.figure-burden-stack span{display:block;padding:.48rem .75rem;border:1px solid var(--ink);border-radius:.2rem;background:var(--white);font-size:1rem;font-weight:700;line-height:1.1;text-align:center}.figure-burden-stack span:nth-child(1){width:100%}.figure-burden-stack span:nth-child(2){width:94%}.figure-burden-stack span:nth-child(3){width:88%}.figure-burden-stack span:nth-child(4){width:82%}.figure-burden-stack span:nth-child(5){width:76%}.figure-burden-stack span:nth-child(6){width:70%}.figure-burden-own>strong{grid-column:2;text-transform:uppercase;letter-spacing:.1em;font-size:1rem}
.figure-question-map{list-style:none;display:grid;grid-template-columns:minmax(0,1fr);gap:.75rem;margin:0;padding:0;counter-reset:question}.figure-question-map li{counter-increment:question;position:relative;min-width:0;padding:2.4rem 1rem 1.25rem;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--white)}.figure-question-map li::before{content:counter(question);position:absolute;top:.65rem;left:1rem;font-size:.875rem;font-weight:800;color:var(--muted)}.figure-question-map p{margin:0;font-size:1rem;line-height:1.4}.figure-question-map p span,.figure-question-map p strong{display:block}.figure-question-map p span{color:var(--muted)}.figure-question-map p strong{margin-top:.4rem;color:var(--ink)}.figure-question-map .is-watch{border-color:var(--signal)}.figure-question-map .is-watch p strong{color:var(--signal)}
.figure-route{position:relative;padding:.75rem 0 .25rem}.figure-route-main{display:grid;grid-template-columns:7.5rem;gap:2rem;align-items:center}.figure-route-main span{position:relative;z-index:1;display:grid;place-items:center;aspect-ratio:1;width:7.5rem;padding:.7rem;border:2px solid var(--ink);border-radius:50%;background:var(--white);font-size:1rem;font-weight:800;line-height:1.15;text-align:center}.figure-route-main span:not(:last-child)::after{content:"";position:absolute;left:50%;top:100%;height:calc(2rem + 2px);border-left:2px solid var(--ink)}.figure-route-main span:not(:last-child)::before{content:"";position:absolute;left:calc(50% - .28rem);top:calc(100% + 1.45rem);width:.45rem;height:.45rem;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(45deg)}.figure-route-exits{position:absolute;top:.75rem;left:9.5rem;right:0;display:grid;grid-template-rows:7.5rem 2rem 7.5rem;align-items:center}.figure-route-exits p{position:relative;margin:0;padding:.7rem;border:1px solid var(--signal);border-radius:var(--radius-control);font-size:1rem;line-height:1.3;text-align:center}.figure-route-exits p::before{content:"";position:absolute;right:100%;top:50%;width:2rem;border-top:2px solid var(--signal)}.figure-route-exits p:nth-child(2){grid-row:3}.figure-route-exits b,.figure-route-exits strong{display:block}.figure-route-exits b{color:var(--muted);font-weight:600}.figure-route-exits strong{color:var(--signal)}.figure-route-outcomes{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:.5rem;margin-top:2rem;padding-top:1.1rem;border-top:2px solid var(--ink)}.figure-route-outcomes::before{content:"";position:absolute;left:3.75rem;bottom:100%;height:2rem;border-left:2px solid var(--ink)}.figure-route-outcomes span{padding:.65rem .35rem;border:1px solid var(--line);border-radius:var(--radius-control);font-size:1rem;font-weight:800;line-height:1.25;text-align:center}
@media(min-width:620px){
  .figure-columns{grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);align-items:stretch}
  .figure-funnel{grid-template-columns:repeat(2,minmax(0,1fr)) 1.3fr repeat(2,minmax(0,1fr))}
  .figure-plot-area{aspect-ratio:16/10}
  .figure-burden{grid-template-columns:minmax(7rem,.72fr) minmax(12rem,1.28fr);gap:clamp(1.5rem,7vw,4rem);min-height:22rem}
  .figure-question-map{grid-template-columns:repeat(4,minmax(0,1fr))}
  .figure-route-main{grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem}.figure-route-main span{width:auto;max-width:7.5rem}.figure-route-main span:not(:last-child)::after{left:100%;top:50%;width:calc(2rem + 2px);height:auto;border-left:0;border-top:2px solid var(--ink)}.figure-route-main span:not(:last-child)::before{left:calc(100% + 1.5rem);top:calc(50% - .28rem);border-right:2px solid var(--ink);border-bottom:0;border-top:2px solid var(--ink)}
  .figure-route-exits{position:static;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:auto;gap:2rem;margin-top:2rem}.figure-route-exits p::before{left:50%;right:auto;top:auto;bottom:100%;width:auto;height:2rem;border-top:0;border-left:2px solid var(--signal)}.figure-route-exits p:nth-child(2){grid-column:2;grid-row:auto}
  .figure-route-outcomes{margin:2rem 0 0 auto;width:calc(25% - 1.5rem)}.figure-route-outcomes::before{left:50%}
}
.not-found{padding-block:5rem;text-align:center}
.not-found>div>strong{display:block;color:var(--signal);font-size:4rem}
.not-found p{margin-inline:auto}
.not-found .actions{justify-content:center}

/* Footer links remain comfortable touch targets. */
.site-footer{padding-block:3rem 1.5rem;background:var(--paper)}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:3rem}
.footer-name{display:inline-flex;align-items:center;min-height:44px;font-size:1.125rem;font-weight:700;text-decoration:none}
.footer-grid p{font-size:.875rem;color:var(--muted);margin-top:.5rem}
.footer-grid nav,.footer-connect{display:flex;align-items:flex-start;flex-direction:column}
.footer-grid nav a,.footer-connect a{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem;text-decoration:none}
.footer-bottom{display:flex;justify-content:space-between;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line);font-size:.75rem;color:var(--muted)}
.consent{position:fixed;z-index:100;left:1rem;right:1rem;bottom:1rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;width:min(760px,calc(100% - 2rem));margin-inline:auto;padding:1.1rem 1.25rem;background:var(--paper);color:var(--ink);border:1px solid var(--line);box-shadow:0 12px 42px var(--media-shadow)}
.consent[hidden]{display:none}.consent p{font-size:.875rem;line-height:1.55;margin:0}.consent p strong{display:block}.consent>div{display:flex;align-items:center;gap:.75rem;flex:0 0 auto}.consent .button{min-height:44px;padding:.65rem .9rem;font-size:.8125rem}.text-button{min-height:44px;padding:.5rem;border:0;background:transparent;color:var(--ink);font:inherit;font-size:.8125rem;font-weight:650;text-decoration:underline;text-underline-offset:.24em;cursor:pointer}
/* Coordinated editorial layouts. Photos, reading and decisions each get their own rhythm. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.shell>*{min-width:0}
.button:focus-visible,.nav-toggle:focus-visible{transition:none}
.home-introduction{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(2.5rem,6vw,5rem);align-items:center}
.home-copy h1{font-size:clamp(3rem,6.2vw,5.5rem);line-height:1.08;letter-spacing:-.04em;margin-bottom:1.5rem}
.home-copy .hero-declaration{font-size:clamp(1.7rem,2.7vw,2.3rem);line-height:1.35;margin-bottom:1.5rem}
.home-copy .actions{margin-top:1.75rem}
.hero-signup{margin-top:1.75rem;max-width:640px}
.hero-signup-intro{margin:0;color:var(--muted)}
.hero-signup .newsletter-form{margin-top:.75rem}
/* Wraps by available width, not viewport: the hero column narrows in the two-column layout. */
.newsletter-form-compact .newsletter-fields{display:flex;flex-wrap:wrap;align-items:flex-end}
.newsletter-form-compact .newsletter-email{flex:2 1 11rem}
.newsletter-form-compact .newsletter-fields .button{flex:1 0 auto}
.newsletter-form-compact .newsletter-email input{margin-top:0}
.hero-signup .microcopy{margin-bottom:0}
.home-copy .hero-links{margin-top:1rem}
.home-portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 90%}
.content-topic{font-size:.875rem;line-height:1.5;font-weight:600;color:var(--signal);margin:0 0 .75rem}
.content-meta,.collection-note{font-size:.875rem;line-height:1.6;color:var(--muted)}
.content-meta{margin:0}
.published-title{font-size:.9375rem;color:var(--muted);line-height:1.55;margin-bottom:.75rem}
.idea-action{display:flex;gap:.5rem 1.5rem;align-items:center;flex-wrap:wrap}
.editorial-feature{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4rem);align-items:center}
.editorial-feature h3{font-size:clamp(1.7rem,2.6vw,2.25rem);max-width:23ch}
.editorial-feature .video-thumbnail{aspect-ratio:4/3}
.editorial-feature p:not(.content-topic):not(.published-title){color:var(--muted)}
.media-supporting .content-topic{margin-bottom:.5rem}
.media-supporting .content-meta{margin-top:.75rem;font-size:.8125rem}
.story-composition{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:2.5rem 5rem;align-items:start}
.story-opening{grid-column:1/-1;max-width:780px}
.story-opening h2{font-size:clamp(2rem,4.4vw,3.75rem);max-width:24ch}
.story-opening .section-lede{margin-bottom:0}
.story-photo img{width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.team-photo img{width:100%;aspect-ratio:4/3;object-fit:cover}
.story-copy p{color:var(--muted)}
.story-copy .story-turn,.decision-chapter .story-turn{font-size:1.4rem;color:var(--ink);line-height:1.55;letter-spacing:-.02em;margin-block:1.75rem}
.current-work{display:grid;grid-template-columns:minmax(0,1.1fr) repeat(2,minmax(0,1fr));gap:3rem}
.current-work h2{font-size:clamp(1.9rem,3.2vw,2.8rem);max-width:15ch}
.current-company h3{font-size:1.35rem}
.current-company p{color:var(--muted);font-size:1rem}
.proof-section{border-top:1px solid var(--line)}
.client-voices{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--line)}
.proof-section .client-voices{margin-top:0;padding-top:0;border-top:0}
.client-voice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem;margin-top:2rem}
.client-voice{display:flex;flex-direction:column;align-items:flex-start}
.client-project-image{width:100%;height:auto;margin-bottom:1.5rem}
.client-voice h4{font-size:1.25rem;line-height:1.4;letter-spacing:-.02em;margin:0 0 .5rem;font-weight:600}
.client-project-context{font-size:.9375rem;color:var(--muted);margin-bottom:1.25rem}
.client-voice blockquote{margin:0 0 1.25rem;font-size:1.125rem;line-height:1.65}
.client-voice blockquote p{margin:0}
.client-voice figcaption{display:flex;align-items:center;gap:.85rem;margin-top:auto}
.client-voice figcaption img{width:48px;height:48px;border-radius:50%;object-fit:cover}
.client-voice figcaption strong,.client-voice figcaption span{display:block}
.client-voice figcaption strong{font-size:.9375rem;color:var(--ink)}
.client-voice .text-link{margin-top:.75rem}
.client-voice-written{grid-column:1/-1;border-top:1px solid var(--line);padding-top:2rem}
.client-voice-written blockquote{font-size:1.35rem;max-width:45ch}
.tradelink-story{align-items:center}
.tradelink-story img{width:100%;height:auto}
@media(max-width:760px){.client-voice-grid{grid-template-columns:1fr;gap:1.75rem}.client-voice+.client-voice{padding-top:1.75rem;border-top:1px solid var(--line)}}
.case-feature{grid-template-columns:minmax(0,.7fr) minmax(0,1fr);align-items:start}
.case-art>img{height:380px}
.case-story h3{max-width:26ch}
.ideas-introduction h1{font-size:clamp(2.5rem,5.3vw,4.5rem);max-width:22ch}
.ideas-introduction .page-lede{max-width:51ch}
.ideas-introduction .page-jumps{margin-top:1.25rem}
.idea-collection{padding-top:3rem}
.idea-entry{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,5vw,4rem);align-items:center;padding-block:2.75rem;border-bottom:1px solid var(--line);scroll-margin-top:1.5rem}
.idea-entry:first-child{padding-top:0}
.idea-entry .video-thumbnail{aspect-ratio:16/10}
.idea-entry h2{font-size:clamp(1.7rem,2.8vw,2.45rem);line-height:1.2;max-width:24ch}
.idea-content>p:not(.content-topic){color:var(--muted)}
.collection-note{margin:1.25rem 0 0;max-width:75ch}
.archive-entry{display:block;text-decoration:none;max-width:850px;padding-block:1.5rem;border-block:1px solid var(--line);transition:border-block-color 180ms ease}
.archive-entry time{display:block;font-size:.875rem;color:var(--muted);margin-bottom:.75rem}
.archive-entry h3{font-size:1.5rem;max-width:40ch}
.latest-note h2{font-size:1.8rem}
.agency-chapter{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(2rem,6vw,5rem);align-items:start}
.agency-chapter h2{max-width:23ch}
.agency-chapter p{color:var(--muted)}
.decision-chapter h2{font-size:clamp(2rem,4vw,3.3rem);max-width:24ch}
.personal-invitation{display:grid;grid-template-columns:minmax(0,.55fr) minmax(0,1fr);gap:clamp(2rem,6vw,5rem);align-items:center;max-width:1000px}
.personal-invitation-text{display:block;max-width:720px}
.personal-invitation img{width:100%;aspect-ratio:1;object-fit:cover;object-position:center 38%}
.personal-invitation h2{font-size:clamp(1.9rem,3vw,2.75rem);max-width:25ch}
.personal-invitation p{color:var(--muted)}
.newsletter-hero-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:clamp(2rem,7vw,6rem)}
.newsletter-hero figure img{aspect-ratio:4/5;object-position:center bottom;max-height:460px}
.newsletter-topics{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1fr);gap:clamp(2rem,6vw,5rem)}
.newsletter-topics>h2{max-width:14ch}
.topic-notes article+article{border-top:1px solid var(--line);padding-top:1.5rem;margin-top:1.5rem}
.topic-notes h3{font-size:1.3rem}
.topic-notes p{color:var(--muted);margin-bottom:0}
.letter-closing h2{max-width:24ch;font-size:clamp(1.9rem,3.7vw,3rem)}
.confirmation-page{display:grid;align-items:center;min-height:min(68vh,680px);padding-block:clamp(4.5rem,10vw,8.5rem);border-bottom:1px solid var(--line)}
.confirmation-message{margin-inline:auto}
.confirmation-kicker{margin:0 0 1rem;color:var(--signal);font-size:.875rem;font-weight:650;line-height:1.5}
.confirmation-message h1{max-width:12ch;font-size:clamp(3rem,7vw,5.5rem);letter-spacing:-.04em}
.confirmation-message .page-lede{max-width:48ch}
.confirmation-actions{margin-top:2rem}
.work-introduction{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.7fr);gap:clamp(2rem,5vw,4rem);align-items:center}
.work-introduction h1{max-width:16ch}
.work-introduction figure{overflow:hidden}
.work-introduction img{width:100%;aspect-ratio:4/5;max-height:420px;object-fit:cover;object-position:center 38%;transform:scale(1.15);transform-origin:left center}
.work-introduction .microcopy{margin-bottom:0}
.engagement-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,.8fr);gap:clamp(2rem,5vw,4rem);align-items:start}
.engagement-layout h1{font-size:clamp(2.4rem,4.5vw,3.75rem);max-width:19ch}
.engagement-summary{padding:1.5rem 1.75rem;background:var(--soft)}
.summary-price{font-size:2rem;font-weight:600;letter-spacing:-.03em;line-height:1.3;font-variant-numeric:tabular-nums;margin-bottom:.5rem}
.summary-price span{font-size:1rem;letter-spacing:0;font-weight:500}
.engagement-summary dl{margin:1.5rem 0}
.engagement-summary dl>div+div{margin-top:.85rem}
.engagement-summary dt{font-size:.8125rem;font-weight:650}
.engagement-summary dd{margin:0;color:var(--muted);font-size:.9375rem;line-height:1.6}
.engagement-summary .button{width:100%;white-space:normal}
.engagement-summary .microcopy{margin-bottom:0}
.deliverable-sequence{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.25rem}
.deliverable-sequence article{border-top:1px solid var(--line);padding-top:1.5rem}
.deliverable-sequence h3{font-size:1.4rem}
.deliverable-sequence p{color:var(--muted);font-size:1rem;margin:0}
.closing-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr);gap:clamp(2rem,6vw,5rem);align-items:start}
.closing-grid .text-link{font-size:.875rem}
.scope-list{columns:2;column-gap:2rem}
.scope-list li{break-inside:avoid}

@media(hover:hover) and (pointer:fine){
  .button:hover{background:var(--signal);border-color:var(--signal)}
  .text-link:hover,.site-nav a:hover,.footer-grid a:hover,.article-row:hover h3{color:var(--signal)}
  .archive-entry:hover h3{color:var(--signal)}
  .article-row:hover,.writing-entry:hover{border-top-color:var(--signal)}
  .archive-entry:hover{border-block-color:var(--signal)}
  .writing-entry:hover h3{text-decoration:underline;text-underline-offset:.15em}
  .video-card:hover h3{text-decoration:underline;text-underline-offset:.2em}
  .video-card:hover .video-play svg{transform:scale(1.08)}
}
@media(min-width:761px){.button{white-space:nowrap}}
@media(max-width:1000px){
  .engagement-layout{grid-template-columns:minmax(0,1fr) minmax(0,.85fr)}
  .engagement-summary{padding:1.5rem}.engagement-layout h1{font-size:2.75rem}
  .current-work{grid-template-columns:1fr 1fr;gap:2rem}.current-work>h2{grid-column:1/-1;max-width:none}
  .story-composition{column-gap:2.5rem}.work-introduction{grid-template-columns:minmax(0,1.4fr) minmax(0,.7fr)}

  .media-feature{grid-template-columns:minmax(0,1fr) minmax(0,.75fr);gap:2rem}.media-note{padding:1.25rem}
  .media-supporting .video-card{display:block}.media-supporting .video-meta{margin-top:1rem}
  .about-build-grid{grid-template-columns:1fr 1fr}.about-build-grid>div:first-child{grid-column:1/-1}
  .supporting-work article{grid-template-columns:1fr}.photo-break>img{height:650px}
}
@media(max-width:760px){
  .home-introduction,.story-composition,.editorial-feature,.idea-entry,.agency-chapter,.personal-invitation,.newsletter-topics,.work-introduction,.engagement-layout,.closing-grid,.deliverable-sequence{grid-template-columns:1fr;gap:2rem}
  .home-copy h1{font-size:clamp(2.4rem,10.5vw,4rem);margin-bottom:1rem}
  .home-copy .hero-declaration{font-size:1.65rem;margin-bottom:1rem}
  .home-copy .actions{margin-top:1.25rem}
  .home-portrait{width:100%;max-width:420px;margin-inline:auto}
  .story-opening{grid-column:1}.story-opening h2{font-size:2.15rem}
  .story-photo{max-width:420px}.story-copy .story-turn{font-size:1.2rem}
  .current-work{grid-template-columns:1fr;gap:1.5rem}.current-work>h2{grid-column:1}
  .current-company+.current-company{border-top:1px solid var(--line);padding-top:1.5rem}
  .editorial-feature .video-thumbnail,.idea-entry .video-thumbnail{aspect-ratio:16/10}
  .idea-entry{padding-block:2rem;gap:1.5rem}.idea-entry h2{font-size:1.8rem}
  .idea-collection{padding-top:2rem}.writing-hero.ideas-introduction h1{font-size:clamp(2.2rem,8.5vw,3.2rem)}
  .personal-invitation{grid-template-columns:minmax(0,1fr)}.personal-invitation figure{max-width:300px}
  .team-photo{max-width:420px}.newsletter-topics>h2{max-width:none}
  .work-introduction figure{display:none}
  .page-hero .engagement-layout h1{font-size:clamp(2rem,7.6vw,3rem);max-width:22ch}
  .engagement-summary{padding:1.5rem}.summary-price{font-size:1.85rem}
  .engagement-summary dl{display:grid;grid-template-columns:1fr;gap:.65rem;margin:1.25rem 0}
  .engagement-summary dl>div+div{margin-top:0}
  .deliverable-sequence{gap:1.5rem}.deliverable-sequence article{padding-top:1.25rem}
  .scope-list{columns:1}.closing-grid .button{width:100%}

  :root{--shell:calc(100% - 40px);--space-section:3.75rem}
  body{font-size:1.0625rem}html{scroll-padding-top:88px}
  .header-inner{min-height:64px;flex-wrap:wrap;gap:0}.wordmark{gap:.6rem}.wordmark-mark{width:28px;height:28px}
  html:not(.nav-ready) .site-header{position:static}
  .site-nav{width:100%;flex-direction:column;align-items:stretch;gap:0;margin-left:0;padding-block:1rem}.site-nav a{padding:.65rem .5rem;min-height:48px}.site-nav .nav-cta{margin-top:.35rem;justify-content:center}
  .nav-ready .nav-toggle{display:inline-flex;align-items:center;justify-content:center}.nav-ready .site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:1rem 20px;border-bottom:1px solid var(--line);max-height:calc(100dvh - 64px);overflow:auto}.nav-ready .site-nav.is-open{display:flex}
  .home-hero{padding-block:2rem 2.5rem}.founder-hero-grid{grid-template-columns:1fr;gap:1.4rem}.founder-heading,.founder-portrait,.founder-intro{grid-column:1;grid-row:auto}.founder-heading h1{font-size:clamp(2.5rem,10.3vw,4rem)}.founder-intro{padding-top:0}.founder-portrait img{aspect-ratio:16/10;max-height:380px;object-position:center 38%}.hero-declaration{font-size:1.65rem;margin-bottom:1.1rem}
  .credibility-strip{display:block;padding-block:.5rem}.credibility-strip p{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding-block:.85rem}.credibility-strip p+p{border-top:1px solid var(--line)}.credibility-strip strong{font-size:.875rem;margin:0;white-space:nowrap}.credibility-strip span{text-align:right;font-size:.8125rem}
  .media-feature,.media-supporting,.popular-pair,.video-grid,.latest-note{grid-template-columns:1fr;gap:2rem}.media-feature .video-card h3{font-size:1.3rem}.media-note{padding:1.5rem}.media-note h3{font-size:1.4rem}.media-note p{font-size:1rem}.media-supporting{margin-top:2rem}.media-supporting .video-card h3{font-size:1.2rem}.media-supporting .video-meta{margin-top:1rem}
  .section-heading-grid{margin-bottom:2rem}.section-lede,.page-lede{font-size:1.0625rem}
  .building-editorial,.story-editorial,.recognition-grid,.case-feature,.supporting-work,.newsletter-grid,.two-col,.values-grid{grid-template-columns:1fr;gap:2rem}
  .story-title,.story-excerpt,.story-wide{grid-column:1;grid-row:auto}.story-title{order:0}.story-wide{order:1}.story-excerpt{order:2}.story-wide img{max-height:420px;aspect-ratio:4/3}.story-excerpt .story-turn{font-size:1.2rem}
  .case-art{padding:1.5rem}.case-art>img{height:360px}.supporting-work article{grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:1.25rem}.supporting-work{gap:2rem}
  .offer{grid-template-columns:1fr;gap:1.25rem}.offer h3{font-size:1.35rem}.offer-meta{gap:.35rem}.work-call{flex-direction:column;align-items:stretch;gap:1.5rem}
  .offer-comparison{gap:3rem}.comparison-boundary{grid-template-columns:1fr;gap:.5rem}
  .about-hero-grid,.writing-hero-grid,.newsletter-hero-grid,.about-build-grid,.photo-break,.content-grid{grid-template-columns:1fr;gap:2rem}.about-hero,.writing-hero,.newsletter-hero,.page-hero{padding-block:2.75rem}.about-hero h1,.writing-hero h1,.newsletter-hero h1,.page-hero h1{font-size:clamp(2.15rem,7.8vw,3.2rem);line-height:1.18;max-width:25ch}
  .about-hero figure img,.writing-hero figure img,.newsletter-hero figure img{aspect-ratio:4/3;max-height:400px;object-position:center 36%}
  .about-hero figure img[src$="/reading.webp"],.newsletter-hero figure img[src$="/reading.webp"]{object-position:center 65%}
  .story-chapter{grid-template-columns:1fr;gap:.5rem;margin-bottom:2.5rem}.story-chapter h2{font-size:1.8rem}.wide-story-photo{margin-block:2rem}.wide-story-photo img{aspect-ratio:4/3}.about-build-grid>div:first-child{grid-column:1}
  .photo-break>img{height:380px}.photo-break>div{padding:0 20px 2.5rem;max-width:none}.content-grid{padding-bottom:2.5rem;margin-bottom:2.5rem;gap:1.25rem}.content-grid>h2{color:var(--signal);font-size:1.1rem}.content-body h3{font-size:1.4rem}
  .price-panel{flex-direction:column;align-items:stretch;padding:1.5rem;gap:1.5rem}.price{font-size:clamp(1.6rem,6.4vw,2.75rem);letter-spacing:-.035em}.price-note{font-size:.875rem}
  .next-steps{grid-template-columns:1fr;gap:1rem}.next-steps article{padding-bottom:1rem;border-bottom:1px solid var(--line)}.next-steps article:last-child{border:0}.fit-details{gap:.25rem 1rem}
  .article-row{grid-template-columns:1fr;gap:.5rem}.recognition-note,.boundary{padding:1.25rem}.prose{padding-block:2.5rem}
  .footer-grid{grid-template-columns:1fr 1fr;gap:1.5rem}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:.5rem}
  .consent{align-items:stretch;flex-direction:column;gap:.85rem;padding:1rem}.consent>div{width:100%}.consent .button{width:auto;flex:1}.consent .text-button{flex:0 0 auto}
}
@media(max-width:420px){
  :root{--shell:calc(100% - 32px)}.reading{width:calc(100% - 32px)}.button{width:100%}.actions{width:100%}.supporting-work article{grid-template-columns:1fr}.supporting-work img{max-height:180px}.price-panel{padding:1.25rem}.price{font-size:1.65rem}.case-art>img{height:320px}.photo-break>div{padding-inline:16px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .button:active:not(:focus-visible),.nav-toggle:active:not(:focus-visible),.video-card:hover .video-play svg{transform:none}
  /* ::view-transition-* pseudo-elements live outside the normal DOM tree and
     aren't reliably matched by the universal selector above, so disable
     them explicitly. */
  ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}
}

@media(max-width:760px){
  .newsletter-hero-grid{grid-template-columns:1fr;gap:2rem}
  .newsletter-hero figure{max-width:300px}
  .newsletter-hero figure img{aspect-ratio:4/5;max-height:none;object-position:center bottom}
  .case-feature{grid-template-columns:1fr}
}

/* Photographs add context; icons support the words rather than replacing them. */
.icon{display:inline-block;width:20px;height:20px;flex:0 0 20px;vertical-align:middle}
.icon-heading{display:flex;align-items:baseline;gap:.65rem}
.icon-heading .icon{align-self:flex-start;margin-top:.2em;color:var(--signal)}
.section-icon{display:block;width:28px;height:28px;color:var(--signal);margin-bottom:1.15rem}
.button,.text-link{gap:.6rem}
.link-arrow{width:18px;height:18px;flex-basis:18px;transition:transform 160ms var(--ease-out)}
.text-link .link-arrow{margin-left:.1rem}
.engagement-summary dt .icon{width:17px;height:17px;flex-basis:17px;margin-top:.1em}
.engagement-summary dd{padding-left:calc(17px + .65rem)}
.current-work-photo{grid-template-columns:minmax(0,.8fr) minmax(0,1fr) minmax(0,1fr);align-items:start;gap:1.75rem 2.5rem}
.current-work-photo .working-photo{grid-column:1;grid-row:1 / span 2}
.current-work-photo>h2{grid-column:2 / -1;max-width:none;margin:0}
.current-work-photo .current-company{grid-row:2}
.working-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 70%}
.audit-photo{margin-top:2rem;max-width:390px}
.audit-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 80%}
.personal-moments h2{margin-bottom:2rem}
.life-photos{display:grid;grid-template-columns:1.2fr 1fr;gap:2rem;align-items:start}
.life-photos figure+figure{margin-top:4rem}
.life-photos img{width:100%;height:auto}
.latest-with-photo{grid-template-columns:minmax(0,.8fr) minmax(0,1fr) minmax(0,1fr);gap:2.5rem;align-items:center}
.recording-photo img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center 50%}
/* A restrained photographic grade keeps real moments cohesive without making them feel staged. */
.home-portrait img,.story-photo img,.working-photo img,.about-hero figure img,.team-photo img,.life-photos img,.work-introduction figure img,.audit-photo img,.recording-photo img,.idea-entry .video-thumbnail img{filter:saturate(.94) contrast(1.04) brightness(.99)}
.home-portrait,.story-photo,.working-photo,.about-hero figure,.team-photo,.life-photos figure,.work-introduction figure,.audit-photo,.recording-photo,.idea-entry .video-thumbnail{filter:drop-shadow(0 18px 30px color-mix(in srgb,var(--ink) 9%,transparent))}
/* The play control sits clear of faces. Only clickable photographs move. */
.video-play{inset:auto auto 1rem 1rem}
.video-play svg{width:40px;height:40px;padding:12px}
.video-thumbnail img,.related-entry .article-cover img{transition:transform 180ms var(--ease-out)}
.menu-mark{position:relative;display:block;width:20px;height:16px;flex:0 0 20px}
.menu-mark span{position:absolute;left:0;width:20px;height:1.5px;background:currentColor;transform-origin:center;transition:transform 140ms var(--ease-out)}
.menu-mark span:first-child{top:4px}.menu-mark span:last-child{top:11px}
.nav-toggle[aria-expanded="true"] .menu-mark span:first-child{transform:translateY(3.5px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .menu-mark span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.nav-toggle[data-motion="instant"] .menu-mark span{transition:none}
html[data-input="keyboard"]{scroll-behavior:auto}
@media(hover:hover) and (pointer:fine){
  .theme-toggle:hover:not(:focus-visible){background:var(--soft)}
  .text-link:hover:not(:focus-visible) .link-arrow,.button:hover:not(:focus-visible) .link-arrow{transform:translateX(3px)}
  .video-card:hover:not(:focus-visible) .video-thumbnail img{transform:scale(1.02)}
  .related-entry:hover:not(:focus-visible) .article-cover img{transform:scale(1.02)}
}
.text-link:focus-visible .link-arrow,.button:focus-visible .link-arrow,.video-card:focus-visible .video-thumbnail img,.video-card:focus-visible .video-play svg{transform:none;transition:none}
@media(max-width:1000px){
  .header-inner{gap:1rem}
  .site-nav{gap:1rem}
  .site-nav a{font-size:.8125rem}
  .site-nav .nav-cta{padding-inline:.75rem}
  .current-work-photo{grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:1.5rem 2rem}
  .current-work-photo .working-photo{grid-row:1 / span 3}
  .current-work-photo>h2{grid-column:2}
  .current-work-photo .current-company{grid-column:2;grid-row:auto}
  .latest-with-photo{grid-template-columns:.8fr 1fr;gap:2rem}
  .latest-with-photo .recording-photo{grid-row:1 / span 2}
}
@media(max-width:760px){
  .theme-toggle{margin-left:auto}.nav-ready .nav-toggle{gap:.65rem;margin-left:.25rem}
  .nav-ready .site-nav{display:flex;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-6px) scale(.98);transform-origin:top right;transition:opacity 140ms var(--ease-out),transform 140ms var(--ease-out),visibility 0s 140ms}
  .nav-ready .site-nav.is-open{visibility:visible;opacity:1;pointer-events:auto;transform:none;transition-duration:180ms,180ms,0s;transition-delay:0s}
  .nav-ready .site-nav[data-motion="instant"]{transition:none}
  .current-work-photo{grid-template-columns:1fr 1fr;gap:1.5rem}
  .current-work-photo>h2{grid-column:1 / -1;grid-row:1}
  .current-work-photo .working-photo{grid-column:1 / -1;grid-row:2;max-width:420px;width:100%}
  .current-work-photo .working-photo img{aspect-ratio:4/5}
  .current-work-photo .current-company{grid-column:auto;grid-row:3}
  .current-work-photo .current-company+.current-company{border:0;padding:0}
  .life-photos{gap:1rem;grid-template-columns:1fr}
  .life-photos figure+figure{margin-top:.75rem}
  .latest-with-photo{grid-template-columns:1fr;gap:2rem}
  .latest-with-photo .recording-photo{grid-row:auto;max-width:360px}
  .recording-photo img{aspect-ratio:4/3;object-position:center 48%}
  .audit-photo{max-width:360px}
}
@media(max-width:420px){
  .current-work-photo{grid-template-columns:1fr}
  .current-work-photo .current-company{grid-column:1;grid-row:auto}
  .current-work-photo .current-company+.current-company{border-top:1px solid var(--line);padding-top:1.25rem}
}
@media(prefers-reduced-motion:reduce){
  .link-arrow,.video-thumbnail img,.related-entry .article-cover img,.menu-mark span{transition:none!important}
  .text-link:hover .link-arrow,.button:hover .link-arrow,.video-card:hover .video-thumbnail img,.related-entry:hover .article-cover img,.nav-ready .site-nav{transform:none!important}
}

/* Historical client stories: open editorial rows, with sources beside the words. */
.stories-hero h1{max-width:19ch}
.stories-context{max-width:66ch;color:var(--muted);font-size:.9375rem}
.ratings-strip{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 3rem;margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--line)}
.ratings-strip>div{display:grid;grid-template-columns:auto 1fr;gap:0 1.25rem;align-items:center}
.ratings-strip strong{grid-row:1 / span 2;font-size:2.75rem;line-height:1.2;font-weight:600;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.ratings-strip strong span{font-size:1.125rem;color:var(--muted);margin-left:.15rem}
.ratings-strip p{margin:0;font-size:.8125rem;color:var(--muted)}
.ratings-strip .rating-date{grid-column:1/-1}
.stories-videos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3rem}
.story-video .video-card{display:block;text-decoration:none}
.story-video .video-thumbnail{aspect-ratio:1280/508;margin-bottom:1.5rem}
.story-video .video-thumbnail img{width:100%;height:100%;object-fit:contain}
.story-play{position:absolute;left:.75rem;bottom:.75rem;display:flex;align-items:center;gap:.45rem;background:var(--paper);color:var(--ink);padding:.4rem .6rem;font-size:.75rem;font-weight:650;border-radius:2px}
.story-video .video-card h3{font-size:1.5rem;margin:0 0 .35rem}
.story-video-company{font-size:.9375rem;color:var(--muted)}
.story-video>p{font-size:.9375rem;color:var(--muted)}
.story-video blockquote{margin:1.5rem 0 0;border-top:1px solid var(--line);padding-top:1.25rem;font-size:1.125rem;line-height:1.65}
.story-video blockquote p{margin:0}
.stories-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:4rem}
.story-review{padding-block:2rem;border-top:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start}
.story-review figcaption{display:flex;align-items:center;gap:1rem;margin:0 0 1.25rem}
.story-review figcaption img{width:64px;height:64px;flex:0 0 64px;object-fit:cover;border-radius:50%}
.story-review figcaption strong,.story-review figcaption span{display:block}
.story-review figcaption strong{font-size:1rem;color:var(--ink);margin-bottom:.2rem}
.story-review blockquote{margin:0 0 1rem;font-size:1.125rem;line-height:1.7}
.story-review blockquote p{margin:0}
.story-review .text-link,.story-review>.review-source{margin-top:auto}
.review-source{font-size:.8125rem;color:var(--muted);margin:0}
.more-reviews{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--line)}
.review-summary{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.4fr) auto;gap:2rem;padding-block:1.5rem;border-bottom:1px solid var(--line);align-items:start}
.review-summary h4{font-size:1rem;font-weight:650;margin:0 0 .4rem;line-height:1.5}
.review-summary>p{font-size:.9375rem;margin:0}
.more-reviews>.text-link{margin-top:1.25rem}
.collaborator-note,.press-feature,.stories-next{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:4rem;align-items:start}
.collaborator-note .story-review{padding-top:0;border:0;padding-bottom:0}
.press-byline{font-size:.8125rem;color:var(--muted)}
.press-feature h3{font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.35}
.press-feature article>p:not(.press-byline){color:var(--muted)}
.stories-next{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:center}
.stories-next h2{font-size:clamp(1.75rem,2.8vw,2.4rem)}
.stories-next p{color:var(--muted);margin-bottom:0}
.stories-entry{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 2rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.stories-entry p{margin:0;color:var(--muted);font-size:.9375rem}
@media(max-width:1000px){
  .stories-videos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ratings-strip>div{display:block}.ratings-strip strong{display:block}
  .stories-review-grid,.stories-videos{column-gap:2rem}
  .review-summary{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:.75rem 2rem}.review-summary .text-link{grid-column:2}
}
@media(max-width:760px){
  .ratings-strip{gap:1.5rem;grid-template-columns:1fr}.ratings-strip>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:0 .75rem}.ratings-strip>div+div{padding-top:1.25rem;border-top:1px solid var(--line)}
  .ratings-strip strong{font-size:2.25rem}.ratings-strip .text-link{font-size:.875rem}
  .stories-videos,.stories-review-grid,.collaborator-note,.press-feature,.stories-next{grid-template-columns:1fr;gap:2rem}
  .stories-review-grid{row-gap:0}.story-review{padding-block:1.75rem}
  .story-review blockquote,.story-video blockquote{font-size:1.0625rem}
  .review-summary{grid-template-columns:1fr;gap:.75rem}.review-summary .text-link{grid-column:auto}
  .story-play{font-size:.6875rem;padding:.3rem .45rem;left:.5rem;bottom:.5rem}.story-play .icon{width:17px;height:17px;flex-basis:17px}
  .stories-entry{align-items:flex-start;flex-direction:column}
}

/* Inline Kit form uses the site's typography, colours and focus treatment. */
.newsletter-form{margin-top:1.5rem;max-width:640px}
.newsletter-fields{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:.75rem;margin-bottom:1rem}
.newsletter-fields .button{grid-column:1/-1;justify-self:start}
.newsletter-email{display:block;flex:1;min-width:0;font-size:.875rem;font-weight:600}
.newsletter-email input{display:block;margin-top:.4rem;width:100%;min-height:52px;border:1px solid var(--line);border-radius:var(--radius-control);padding:.75rem;background:var(--white);color:var(--ink);font-size:1rem}
.newsletter-email input::placeholder{color:var(--muted)}
.newsletter-form .button{min-height:52px;cursor:pointer}
.newsletter-form .button:disabled{cursor:wait;opacity:.7}
.newsletter-form .formkit-alert{padding:1rem;border:1px solid var(--line);background:var(--soft);color:var(--ink);margin:0 0 1rem;list-style:none}
.newsletter-form .formkit-alert:empty{display:none}
.newsletter-form .formkit-alert-error:not(:empty){border-color:var(--signal)}
.newsletter-form .formkit-submit[data-active] .signup-label{display:none}
.newsletter-form .formkit-submit[data-active] .signup-busy{display:inline}
@media(max-width:600px){.newsletter-fields{grid-template-columns:1fr}.newsletter-fields .button{justify-self:stretch}.newsletter-email{width:100%}}

/* Picture sources keep the same layout and focal points as the original images. */
.responsive-picture{display:block}
.video-thumbnail>.responsive-picture{width:100%;height:100%}

/* Article publishing: reading-first in both themes, no additional scripts. */
.article-header{padding-block:3.5rem 0}
.article-header h1{font-size:clamp(2.2rem,4.6vw,3.8rem);line-height:1.12;overflow-wrap:anywhere;margin-bottom:1.5rem}
.article-topic{color:var(--signal);font-size:.875rem;font-weight:600;margin:2rem 0 1rem}
.article-byline{display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;font-size:.8125rem;color:var(--muted);line-height:1.6}
.article-byline a{color:var(--ink);text-underline-offset:.2em}
.archive-disclosure{padding:1rem 1.25rem;background:var(--soft);font-size:.875rem;color:var(--muted);margin:1.5rem 0 0}
.article-body{padding-block:2.5rem 3rem}
.article-body>:first-child{margin-top:0}
.article-body a{overflow-wrap:anywhere}
.article-body blockquote{margin:2rem 0;padding:.5rem 0 .5rem 1.5rem;border-left:2px solid var(--signal)}
.article-body table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;font-size:.9375rem}
.article-body th,.article-body td{padding:.75rem;text-align:left;border-bottom:1px solid var(--line);min-width:9rem}
.article-next{padding:2rem 0;border-block:1px solid var(--line);margin-bottom:3.5rem}
.article-next h2,.article-related h2{font-size:1.75rem}
.article-next p,.writing-entry p{color:var(--muted)}
.article-related{padding-bottom:3.5rem;max-width:960px;width:calc(100% - 40px);margin-inline:auto}
.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem;margin-top:2rem}
.related-entry{display:block;text-decoration:none}
.related-entry .article-cover{margin-bottom:1.25rem}
.related-entry h3{font-size:1.1875rem;line-height:1.35;margin:.5rem 0;overflow-wrap:anywhere}
.related-entry:hover h3{text-decoration:underline;text-underline-offset:.15em}
.related-entry p{color:var(--muted);font-size:.9375rem;margin-bottom:0}
.writing-list{margin-bottom:3.5rem}
.writing-entry{display:block;padding:1.5rem 0;border-top:1px solid var(--line);text-decoration:none;transition:border-top-color 180ms ease}
.writing-entry h3{font-size:clamp(1.25rem,2.2vw,1.75rem);line-height:1.35;margin:.5rem 0;max-width:40ch;overflow-wrap:anywhere}
.writing-entry p{max-width:65ch;margin-bottom:.75rem}
@media(max-width:1000px){.related-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}}
@media(max-width:760px){.article-header{padding-top:2.5rem}.article-byline{gap:.4rem 1rem}.article-body{padding-top:2rem}.article-body th,.article-body td{min-width:8rem}.article-next{margin-bottom:2.5rem}.related-grid{grid-template-columns:1fr;gap:2rem}}

/* Colour lives in editorial covers; reading surfaces retain both site themes. */
.article-featured{max-width:960px;width:calc(100% - 40px);margin:2.5rem auto 0}
.article-cover{display:block;overflow:hidden;aspect-ratio:1200/630;outline:1px solid var(--line);outline-offset:-1px;background:#fff9e6}
.article-cover img{display:block;width:100%;height:auto;aspect-ratio:1200/630;margin:0}
.writing-entry-featured{display:grid;grid-template-columns:minmax(0,400px) minmax(0,1fr);gap:2rem;align-items:center;padding-block:2rem}
.writing-summary{min-width:0}
@media(max-width:760px){.article-featured{margin-top:2rem}.writing-entry-featured{grid-template-columns:1fr;gap:1.25rem}}
@media(max-width:420px){.article-featured,.article-related{width:calc(100% - 32px)}}

/* Concise core pages: semantic diagrams remain readable without scripts or motion. */
.offer-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.offer-card{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);padding:clamp(1.25rem,3vw,2rem);min-width:0}
.offer-card h3{max-width:22ch}.offer-card .offer-name{color:var(--muted)!important;font-weight:500;margin-bottom:1.25rem}
.offer-cards.offer-comparison .ruled-block{padding:clamp(1.25rem,3vw,2rem);border-top:2px solid var(--signal)}
.offer-cards.offer-comparison h3{max-width:22ch;font-size:clamp(1.4rem,2.5vw,2rem)}
.compact-facts{margin:0 0 1.5rem}.compact-facts>div{display:grid;grid-template-columns:6rem 1fr;gap:.75rem;border-top:1px solid var(--line);padding-block:.75rem}
.compact-facts dt{font-weight:600}.compact-facts dd{margin:0;color:var(--muted)}
.card-price{font-weight:650;font-size:1.35rem;line-height:1.4;margin-top:auto}.card-price span{display:block;font-weight:500;font-size:1rem;color:var(--muted)}
.chapter-path{list-style:none;margin:0 0 1.5rem;padding:0 0 0 1.25rem;border-left:2px solid var(--line)}
.chapter-path li{position:relative;padding:0 0 1rem 1rem}.chapter-path li:last-child{padding-bottom:0}
.chapter-path li::before{content:"";position:absolute;left:-1.625rem;top:.45rem;width:.625rem;height:.625rem;background:var(--signal);border-radius:50%}
.chapter-label{font-size:1rem;font-weight:650;color:var(--signal)}.chapter-path p{margin:.35rem 0 0}
.product-path{list-style:decimal;margin:1.25rem 0;padding-left:1.25rem}.product-path li{padding:.65rem .5rem;border-bottom:1px solid var(--line)}.product-path li::marker{color:var(--signal);font-weight:650}
.client-voice-grid.client-voice-featured{display:block}.client-voice-featured .client-voice{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:3rem}
.client-voice-featured .client-project-image{grid-column:1;grid-row:1/7;margin:0;height:100%;max-height:460px;object-fit:contain;background:var(--soft)}
.client-voice-featured .client-voice> :not(.client-project-image){grid-column:2}.client-voice-featured .client-voice h4{margin-top:0}
.process-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;list-style:none;padding:0;margin:2.5rem 0 1.5rem}
.process-flow>li{position:relative;border-top:2px solid var(--line);padding-top:1.5rem;min-width:0}
.process-flow>li:not(:last-child)::after{content:"→";position:absolute;right:0;top:1rem;color:var(--signal);font-size:1.5rem}
.step-number{display:grid;place-items:center;width:2.5rem;height:2.5rem;background:var(--soft);border:1px solid var(--line);color:var(--signal);font-weight:650;margin:0 0 1.25rem;font-size:1rem}
.process-flow h3{font-size:1.35rem;max-width:90%}.process-flow p{margin:0;color:var(--muted)}
.problem-signals{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;padding:0;margin:2rem 0}
.problem-signals li{display:flex;align-items:flex-start;gap:.75rem;padding-block:1rem;border-top:1px solid var(--line)}.problem-signals .icon{color:var(--signal);flex:0 0 24px}
.experience-note{margin-top:2rem}.fit-checklist{list-style:none;padding:0;margin:0 0 1.5rem}.fit-checklist li{padding:.7rem 0 .7rem 1.75rem;border-bottom:1px solid var(--line);position:relative}.fit-checklist li::before{content:"✓";position:absolute;left:0;color:var(--signal)}
.detail-note,.editorial-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:1.25rem 0;padding:.25rem 0}
.detail-note summary,.editorial-details summary{cursor:pointer;min-height:48px;padding:.65rem .25rem;font-weight:650;color:var(--ink);font-size:1rem}
.detail-note summary::marker,.editorial-details summary::marker{color:var(--signal)}
.detail-note[open]>summary,.editorial-details[open]>summary{margin-bottom:.75rem}.detail-note p,.editorial-details p{color:var(--muted)}
.detail-note> :last-child,.editorial-details> :last-child{margin-bottom:1rem}
.audit-output-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,4rem);align-items:start}
.report-preview,.report-sheet{background:var(--white);border:1px solid var(--line);padding:clamp(1.25rem,3vw,2rem)}
.example-label{display:block;color:var(--signal);font-size:1rem;font-weight:650;line-height:1.6;margin-bottom:1.5rem}
.report-preview h3{font-size:1.4rem}.ranked-preview{list-style:none;padding:0;margin:1.5rem 0}
.ranked-preview li{display:flex;gap:1rem;border-top:1px solid var(--line);padding:1rem 0}.ranked-preview li>span{font-weight:650;color:var(--signal);font-size:1.25rem;min-width:1.25rem}
.ranked-preview p{font-size:1rem;color:var(--muted);margin:.35rem 0 0}
.mini-timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:2px solid var(--signal);gap:1rem;padding-top:1rem;margin-bottom:1.25rem}
.mini-timeline strong,.mini-timeline span{display:block;font-size:1rem;line-height:1.5}.mini-timeline span{color:var(--muted);margin-top:.35rem}
.monthly-cadence{display:grid;grid-template-columns:1fr 1.2fr 1fr;list-style:none;margin:2.5rem 0 1.5rem;padding:0;gap:1.5rem;align-items:stretch}
.monthly-cadence>li{padding:1.5rem;border:1px solid var(--line);min-width:0}.cadence-call{background:var(--soft)}.cadence-call .section-icon{margin-bottom:.75rem}.cadence-time{display:block;font-size:clamp(2rem,4vw,3rem);font-weight:650;letter-spacing:-.035em;margin-bottom:.5rem;line-height:1.3}.monthly-cadence h3{font-size:1.35rem}.monthly-cadence p{margin:0;color:var(--muted)}
.cadence-between{border-style:dashed!important}.cadence-caption{color:var(--muted)}
.decision-check{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line)}.decision-check h3{font-size:1.15rem}.decision-check ul{list-style:none;display:flex;flex-wrap:wrap;gap:.75rem;padding:0;margin:1rem 0 0}.decision-check li{padding:.5rem .75rem;background:var(--soft);font-size:1rem}
.report-sheet{width:var(--shell);max-width:1040px;margin:0 auto var(--space-section)}.report-header{border-bottom:2px solid var(--line);padding-bottom:1.5rem;margin-bottom:2rem}
.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.report-section{margin-bottom:2.5rem;min-width:0}.report-sheet h2{font-size:clamp(1.5rem,2.6vw,2rem)}.report-sheet h3{font-size:1.25rem}.report-sheet p,.report-sheet li,.report-sheet summary{font-size:1rem}
.ranked-list{list-style:none;padding:0;margin:1.5rem 0}.ranked-item{padding:1.5rem 0;border-top:1px solid var(--line)}.ranked-item>.step-number{float:left;margin-right:1rem}.ranked-item h3{min-height:2.5rem;display:flex;align-items:center}.ranked-item .detail-note{clear:both}
.report-timeline{border-top:2px solid var(--signal);padding-top:1.5rem;margin-top:2rem}.report-timeline .process-flow{margin-top:0}
@media(max-width:760px){
 .offer-cards,.audit-output-grid,.report-grid{grid-template-columns:1fr}.offer-cards{gap:1.25rem}
 .process-flow,.monthly-cadence,.problem-signals{grid-template-columns:1fr;gap:1rem}
 .process-flow>li{padding:1.25rem 0 1.25rem 3.5rem;border-top:0;border-left:2px solid var(--line)}.process-flow .step-number{position:absolute;left:.5rem;top:1rem}.process-flow>li:not(:last-child)::after{content:"↓";left:1.05rem;right:auto;top:auto;bottom:-.6rem}.process-flow h3{max-width:none}
 .monthly-cadence>li{padding:1.25rem}.cadence-call{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:1rem}.cadence-call .section-icon{display:none}.cadence-call h3{grid-column:1;grid-row:1;margin:0}.cadence-time{grid-column:2;grid-row:1;font-size:2rem;margin:0}.cadence-between .section-icon{float:left;margin:0 1rem 0 0}
 .client-voice-featured .client-voice{display:block}.client-voice-featured .client-project-image{max-height:none;margin-bottom:1.5rem;height:auto}
 .report-sheet{padding:1.25rem}.report-grid{gap:0}.mini-timeline{gap:.75rem}.mini-timeline strong{font-size:1rem}
}
@media(max-width:420px){.mini-timeline{grid-template-columns:1fr;gap:.75rem}.mini-timeline>div{display:grid;grid-template-columns:7rem 1fr;gap:.5rem}.mini-timeline span{margin:0}.compact-facts>div{grid-template-columns:5rem 1fr;gap:.5rem}}
@media(max-width:760px){.report-timeline>li{padding-left:1.25rem}.report-timeline>li:not(:last-child)::after{left:-.65rem;bottom:-.8rem}.ranked-item>.step-number{float:none}.ranked-item h3{display:block;min-height:0}}
.offer-card .offer-facts dt,.offer-card .offer-terms{font-size:1rem}
