/* Work, Understood. — bundled stylesheet.
   This file is tokens/colors.css + tokens/typography.css + tokens/spacing.css +
   tokens/base.css + site components, concatenated into one request. Bundled
   instead of linked separately because splitting these into individual
   <link> tags measurably hurt mobile PageSpeed (more render-blocking requests
   + more style-recalc reflows for the same total bytes). If you change a
   token file, copy the change into the block below too, or re-run the
   concatenation: cat tokens/colors.css tokens/typography.css tokens/spacing.css
   tokens/base.css site.css > site.css (minus this comment).

   Fonts are self-hosted (assets/fonts/) instead of linked from Google
   Fonts. That was the actual mobile PageSpeed bottleneck: the LCP element
   is the hero <h1>, and fetching css2?family=... from fonts.googleapis.com
   then the woff2 from fonts.gstatic.com added a same-origin-then-two-more-
   hops chain before that text could render, even with preconnect. Latin
   subset only (no italic is used anywhere on the site) — see
   README.md if non-Latin characters are ever needed. */

@font-face{
  font-family:'Newsreader';
  font-style:normal;
  font-weight:400 700;
  font-display:swap;
  src:url('/assets/fonts/newsreader-latin.woff2') format('woff2');
}
@font-face{
  font-family:'Source Sans 3';
  font-style:normal;
  font-weight:400 700;
  font-display:swap;
  src:url('/assets/fonts/source-sans-3-latin.woff2') format('woff2');
}

:root{
  /* base palette */
  --paper:#F5F1E8; --paper-raised:#FFFEFB; --ink:#1E1B16; --ink-soft:#3D3830;
  --bronze:#9A6231; --bronze-soft:#C8A87E; --green:#3F4A3C; --stone:#A79E8F;
  --hairline:rgba(30,27,22,.12); --hairline-strong:rgba(30,27,22,.22);
  --hairline-inverse:rgba(245,241,232,.18);
  /* semantic */
  --surface-page:var(--paper); --surface-card:var(--paper-raised); --surface-inverse:var(--ink); --surface-accent-deep:var(--green);
  --text-heading:var(--ink); --text-body:var(--ink-soft); --text-muted:#6B6458; --text-faint:var(--stone);
  --text-on-inverse:var(--paper); --text-muted-on-inverse:rgba(245,241,232,.72);
  --accent:var(--bronze); --accent-on-inverse:var(--bronze-soft);
  --success:#4C6B4F; --warning:#A3762A; --danger:#8C3B2E;
  --focus-ring:0 0 0 3px rgba(154,98,49,.28);
  --font-display:'Newsreader',Georgia,serif;
  --font-sans:'Source Sans 3',system-ui,-apple-system,sans-serif;
  /* display (Newsreader 500, tight) */
  --text-hero:500 64px/1.05 var(--font-display); --tracking-hero:-0.015em;
  --text-h1:500 44px/1.1 var(--font-display); --text-h2:500 32px/1.2 var(--font-display); --text-h3:500 24px/1.3 var(--font-display);
  --text-quote:400 26px/1.45 var(--font-display);
  /* body & UI (Source Sans 3) */
  --text-body-lg:400 17px/1.65 var(--font-sans); --text-body:400 15px/1.6 var(--font-sans); --text-small:400 13px/1.55 var(--font-sans);
  --text-ui:500 14px/1.2 var(--font-sans); --text-label:600 11px/1.2 var(--font-sans); --tracking-label:.18em;
  --text-caption:400 12px/1.5 var(--font-sans);
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:24px; --space-6:32px; --space-7:48px; --space-8:64px; --space-9:96px;
  --radius-s:3px; --radius-m:4px; --radius-l:8px; --radius-seal:22%; --radius-pill:999px;
  --border-card:1px solid var(--hairline);
  --shadow-card:0 1px 2px rgba(30,27,22,.05),0 10px 30px rgba(30,27,22,.07);
  --shadow-overlay:0 24px 64px rgba(30,27,22,.22);
  --ease-brand:cubic-bezier(.65,0,.18,1); --dur-fast:150ms; --dur-slow:400ms;
  --content-max:1240px; --content-pad:48px;
}
body{margin:0;background:var(--surface-page);color:var(--text-body);font:var(--text-body);-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4{margin:0;color:var(--text-heading);}
a{color:var(--accent);text-decoration:none;transition:color var(--dur-fast);}
a:hover{color:var(--ink);}
::selection{background:rgba(154,98,49,.2);}

.wrap{max-width:var(--content-max);margin:0 auto;padding:0 var(--content-pad);}

/* Header */
.site-header{border-bottom:1px solid var(--hairline);background:var(--paper);}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:76px;}
.lockup{display:inline-flex;align-items:center;gap:8.36px;line-height:0;}
.lockup .mark{height:25.3px;display:inline-flex;}
.lockup .name{font-family:var(--font-display);font-weight:500;font-size:22px;letter-spacing:-0.015em;color:var(--ink);line-height:1;}
.lockup .name .punct{color:var(--bronze);}
.site-nav{display:flex;align-items:center;gap:32px;}
.site-nav .nav-link{font:var(--text-ui);color:var(--ink-soft);display:inline-flex;align-items:center;}
.site-nav .nav-link:hover{color:var(--bronze);}
.site-nav .nav-link[aria-current="page"]{color:var(--bronze);}

/* Buttons */
.btn{box-sizing:border-box;position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:8px;font:var(--text-ui);font-weight:600;padding:12px 22px;min-height:44px;border-radius:var(--radius-m);cursor:pointer;border:1px solid transparent;transition:background 250ms var(--ease-brand),color 250ms var(--ease-brand),transform 250ms var(--ease-brand),box-shadow 250ms var(--ease-brand);}
.btn:hover{transform:translateY(-1px);box-shadow:0 1px 2px rgba(30,27,22,.08),0 10px 26px rgba(30,27,22,.16);}
.btn:active{transform:translateY(0) scale(.98);box-shadow:0 1px 2px rgba(30,27,22,.06),0 4px 10px rgba(30,27,22,.10);}
.btn:focus-visible{outline:none;box-shadow:var(--focus-ring);}
.btn-ink{background:var(--ink);color:var(--paper)!important;}
.btn-ink:hover{background:#3D3830;}
.btn-ink::after{content:"";position:absolute;top:-4px;bottom:-4px;left:0;width:60%;pointer-events:none;opacity:0;background:linear-gradient(105deg,transparent 0%,rgba(255,254,251,.15) 30%,rgba(255,254,251,.45) 50%,rgba(255,254,251,.15) 70%,transparent 100%);transform:translateX(-110%) skewX(-18deg);}
.btn-ink:hover::after{animation:btn-sheen 700ms var(--ease-brand);}
@keyframes btn-sheen{0%{opacity:1;transform:translateX(-110%) skewX(-18deg);}100%{opacity:1;transform:translateX(230%) skewX(-18deg);}}
.btn-line{border:1px solid var(--hairline-strong);color:var(--ink)!important;}
.btn-line:hover{background:rgba(30,27,22,.05);}
.btn .arr,.quiet-link .arr,.enquire .arr{display:inline-block;transition:transform 250ms var(--ease-brand);}
.btn:hover .arr,.quiet-link:hover .arr,.enquire:hover .arr{transform:translateX(2px);}
@media (prefers-reduced-motion:reduce){
  .btn,.btn:hover,.btn:active{transform:none;box-shadow:none;}
  .btn-ink:hover::after{animation:none;}
  .btn:hover .arr,.quiet-link:hover .arr,.enquire:hover .arr{transform:none;}
}

/* Type helpers */
.eyebrow{font:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--accent);}
.eyebrow-soft{color:var(--bronze-soft);}
.h1{font:var(--text-h1);}
.punct{color:var(--bronze);}
.punct-soft{color:var(--bronze-soft);}

/* Hero */
.hero{position:relative;overflow:hidden;padding-top:120px;padding-bottom:120px;}
.hero-schematic{position:absolute;left:50%;top:0;transform:translateX(-50%);width:100%;max-width:1440px;height:auto;aspect-ratio:1440/700;z-index:0;pointer-events:none;}
@media (max-width:1080px){.hero-schematic{opacity:.6;}}
.hero-inner{position:relative;z-index:1;}
.hero-copy{display:flex;flex-direction:column;align-items:center;text-align:center;gap:28px;max-width:900px;margin:0 auto;}
.hero-copy h1{font:var(--text-hero);letter-spacing:var(--tracking-hero);text-wrap:balance;}
.hero-copy .lede{margin:0;font:var(--text-body-lg);max-width:640px;}
.hero-actions{display:flex;gap:20px;flex-wrap:wrap;align-items:center;justify-content:center;}
@media (prefers-reduced-motion:no-preference){
  .schem-status .pulse{animation:schem-breathe 4.5s ease-in-out infinite;}
  .schem-status .d2{animation-delay:.9s;}
  .schem-status .d3{animation-delay:1.8s;}
  .schem-status .d4{animation-delay:2.7s;}
  .schem-status .d5{animation-delay:3.6s;}
}
@keyframes schem-breathe{0%,100%{opacity:1;}50%{opacity:.3;}}
@media (prefers-reduced-motion:reduce){.schem-travel{display:none;}}

/* Method band */
.band-ink{background:var(--surface-inverse);color:var(--text-on-inverse);padding:96px 0;}
.band-ink .band-head{display:flex;justify-content:space-between;align-items:baseline;gap:24px;flex-wrap:wrap;}
.band-ink h2{font:var(--text-h1);color:var(--paper);}
.method-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--hairline-inverse);border:1px solid var(--hairline-inverse);}
.method-cell{background:var(--ink);padding:28px 24px;display:flex;flex-direction:column;gap:14px;min-height:180px;}
.method-cell .num{font-family:var(--font-display);font-size:26px;color:var(--bronze-soft);}
.method-cell .name{font:var(--text-h3);color:var(--paper);font-size:20px;}
.method-cell .desc{font:var(--text-small);color:var(--text-muted-on-inverse);}

/* Services */
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.card{background:var(--surface-card);border:var(--border-card);border-radius:var(--radius-m);padding:36px 32px;display:flex;flex-direction:column;gap:16px;}
.card .num{font-family:var(--font-display);font-size:22px;color:var(--bronze);}
.card h3{font:var(--text-h3);}
.card p{margin:0;font:var(--text-body);color:var(--text-body);}
.card .enquire{margin-top:auto;font:var(--text-ui);font-weight:600;display:inline-flex;align-items:center;}

/* Belief band */
.band-green{background:var(--surface-accent-deep);padding:96px 0;}
.band-green .wrap{display:grid;grid-template-columns:auto 1fr;gap:56px;align-items:center;}
.band-green .quote{font:var(--text-quote);font-size:34px;line-height:1.4;color:var(--paper);max-width:760px;text-wrap:pretty;}
.band-green .attribution{font:var(--text-ui);color:rgba(245,241,232,.7);}

/* CTA */
.cta{padding-top:96px;padding-bottom:96px;display:grid;place-items:center;text-align:center;}
.cta-inner{display:flex;flex-direction:column;align-items:center;gap:24px;max-width:640px;}
.cta h2{font:var(--text-h1);text-wrap:balance;}

/* Footer */
.site-footer{border-top:1px solid var(--hairline);padding:40px 0;}
.site-footer .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;}
.site-footer .lockup .mark{height:18.4px;}
.site-footer .lockup{gap:6.08px;}
.site-footer .lockup .name{font-size:16px;}
.site-footer .legal{font:var(--text-caption);color:var(--text-faint);}
.site-footer .footer-nav{display:flex;gap:24px;flex-wrap:wrap;}
.site-footer .footer-nav a{font:var(--text-small);color:var(--text-muted);display:inline-flex;align-items:center;}
.site-footer .footer-nav a:hover{color:var(--bronze);}

/* Interior pages */
.page-hero{padding-top:88px;padding-bottom:64px;display:flex;flex-direction:column;gap:24px;}
.page-hero h1{font:var(--text-hero);font-size:52px;letter-spacing:var(--tracking-hero);text-wrap:balance;max-width:820px;}
.page-hero .lede{margin:0;font:var(--text-body-lg);max-width:600px;}
.section-pad{padding-top:96px;padding-bottom:96px;}

.step-section{display:grid;grid-template-columns:220px 1fr;gap:48px;padding:64px 0;border-top:1px solid var(--hairline);}
.step-section:last-of-type{border-bottom:1px solid var(--hairline);}
.step-section .num{font-family:var(--font-display);font-size:44px;color:var(--bronze);line-height:1;}
.step-section .num small{display:block;font:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-faint);margin-top:12px;font-family:var(--font-sans);}
.step-body{display:flex;flex-direction:column;gap:16px;max-width:640px;}
.step-body h2{font:var(--text-h2);}
.step-body p{margin:0;font:var(--text-body-lg);}

.service-section{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding:64px 0;border-top:1px solid var(--hairline);align-items:start;}
.service-section:last-of-type{border-bottom:1px solid var(--hairline);}
.service-head{display:flex;flex-direction:column;align-items:flex-start;gap:16px;position:sticky;top:32px;}
.service-head .num{font-family:var(--font-display);font-size:22px;color:var(--bronze);}
.service-head h2{font:var(--text-h2);}
.service-head p{margin:0;font:var(--text-body-lg);}
.service-detail{display:flex;flex-direction:column;gap:28px;}
.detail-block{display:flex;flex-direction:column;gap:12px;}
.detail-block .label{font:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--accent);}
.detail-block p{margin:0;font:var(--text-body);}
.detail-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;}
.detail-list li{font:var(--text-body);color:var(--text-body);padding:12px 0;border-bottom:1px solid var(--hairline);display:flex;gap:12px;align-items:baseline;}
.detail-list li::before{content:";";font-family:var(--font-display);color:var(--bronze);font-weight:500;}

.prose{display:flex;flex-direction:column;gap:20px;max-width:640px;}
.prose p{margin:0;font:var(--text-body-lg);}
.prose h2{font:var(--text-h2);margin-top:24px;}

.note-list{display:flex;flex-direction:column;}
.note-item{display:flex;flex-direction:column;gap:8px;padding:32px 0;border-top:1px solid var(--hairline);}
.note-item:last-child{border-bottom:1px solid var(--hairline);}
.note-item .date{font:var(--text-caption);color:var(--text-faint);}
.note-item h2{font:var(--text-h3);color:var(--ink);}
.note-item p{margin:0;font:var(--text-body);color:var(--ink-soft);max-width:640px;}
.note-item:hover h2{color:var(--accent);}
.empty-state{border:1px dashed var(--hairline-strong);border-radius:var(--radius-m);padding:48px;display:flex;flex-direction:column;gap:16px;align-items:flex-start;max-width:640px;}
.empty-state p{margin:0;font:var(--text-body);}

/* Funnel sections */
.quiet-link{font:var(--text-ui);font-weight:600;color:var(--accent);display:inline-flex;align-items:center;gap:6px;}
.quiet-link:hover{color:var(--ink);}
.hero-actions .quiet-link{padding:12px 0;}

.problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hairline);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);}
.problem-cell{background:var(--paper);padding:32px 28px 32px 0;display:flex;flex-direction:column;gap:12px;}
.problem-cell+.problem-cell{padding-left:28px;}
.problem-cell .t{font:var(--text-h3);font-size:22px;}
.problem-cell p{margin:0;font:var(--text-body);}

.pov-line{font:var(--text-quote);font-size:30px;line-height:1.45;color:var(--paper);max-width:760px;text-wrap:pretty;}
.pov-note{font:var(--text-body);color:rgba(245,241,232,.72);max-width:560px;}

.fit-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;max-width:760px;}
.fit-list li{font:var(--text-body-lg);color:var(--text-body);padding:18px 0;border-bottom:1px solid var(--hairline);display:flex;gap:16px;align-items:baseline;}
.fit-list li:first-child{border-top:1px solid var(--hairline);}
.fit-list li::before{content:";";font-family:var(--font-display);color:var(--bronze);font-weight:500;}

.journey-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;counter-reset:journey;}
.journey-item{display:grid;grid-template-columns:88px 1fr 1fr;gap:32px;padding:28px 0;border-bottom:1px solid var(--hairline);align-items:baseline;}
.journey-item:first-child{border-top:1px solid var(--hairline);}
.journey-item .num{font-family:var(--font-display);font-size:26px;color:var(--bronze);}
.journey-item .t{font:var(--text-h3);font-size:21px;}
.journey-item .d{font:var(--text-body);margin:0;}
.journey-item .decision{font:var(--text-small);color:var(--text-muted);}
.journey-item .decision .label{display:block;font:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--accent);margin-bottom:6px;}

.stakes-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;}
.stakes-col{display:flex;flex-direction:column;gap:16px;}
.stakes-col .label{font:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-faint);}
.stakes-col.good .label{color:var(--accent);}
.stakes-col ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;}
.stakes-col li{font:var(--text-body);color:var(--text-body);padding:12px 0;border-bottom:1px solid var(--hairline);}

.calendly-embed{border:var(--border-card);border-radius:var(--radius-m);background:var(--paper-raised);overflow:hidden;}
.calendly-embed iframe{display:block;width:100%;height:600px;border:0;}
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:64px;align-items:start;}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr;gap:40px;}}

/* Friction checklist */
.checklist-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:64px;align-items:start;}
.friction-list{margin:0;display:flex;flex-direction:column;}
.friction-item{display:flex;align-items:flex-start;gap:16px;padding:18px 0;border-bottom:1px solid var(--hairline);cursor:pointer;}
.friction-item:first-child{border-top:1px solid var(--hairline);}
.friction-item input{position:absolute;opacity:0;width:1px;height:1px;}
.friction-item .box{flex:none;width:22px;height:22px;margin-top:1px;border-radius:var(--radius-s);border:1px solid var(--hairline-strong);background:var(--paper-raised);position:relative;transition:background 150ms var(--ease-brand),border-color 150ms var(--ease-brand);}
.friction-item .box::after{content:"";position:absolute;left:6px;top:2px;width:6px;height:11px;border:solid var(--paper);border-width:0 2px 2px 0;transform:rotate(45deg);opacity:0;transition:opacity 100ms var(--ease-brand);}
.friction-item input:checked+.box{background:var(--ink);border-color:var(--ink);}
.friction-item input:checked+.box::after{opacity:1;}
.friction-item input:focus-visible+.box{box-shadow:var(--focus-ring);}
.friction-item .txt{font:var(--text-body-lg);color:var(--text-body);}
.friction-item:has(input:checked) .txt{color:var(--ink);}

.friction-result{position:sticky;top:32px;border:var(--border-card);border-radius:var(--radius-m);background:var(--paper-raised);padding:32px;display:flex;flex-direction:column;gap:8px;align-items:flex-start;}
.friction-score{font-family:var(--font-display);font-size:44px;color:var(--bronze);line-height:1;}
.friction-tier{font:var(--text-h3);color:var(--ink);}
.friction-message{margin:0 0 8px;font:var(--text-body);color:var(--text-body);}
.friction-result[data-tier="2"] .friction-score{color:var(--stone);}
.friction-result[data-tier="5"] .friction-score{color:var(--warning);}
.friction-result[data-tier="10"] .friction-score{color:var(--bronze);}
@media (max-width:900px){
  .checklist-layout{grid-template-columns:1fr;gap:32px;}
  .friction-result{position:static;}
}

/* Scroll entrances */
@media (prefers-reduced-motion:no-preference){
  .reveal{opacity:0;transform:translateY(16px);transition:opacity var(--dur-slow) var(--ease-brand),transform var(--dur-slow) var(--ease-brand);}
  .reveal.is-in{opacity:1;transform:none;}
}

/* Responsive */
@media (max-width:1080px){
  .hero-copy h1{font-size:52px;}
}
@media (max-width:900px){
  :root{--content-pad:24px;}
  .site-nav .nav-link,.card .enquire{box-sizing:border-box;min-height:44px;}
  .site-header .wrap{flex-wrap:wrap;justify-content:center;height:auto;padding-top:14px;padding-bottom:14px;row-gap:8px;}
  .site-nav{width:100%;gap:20px;justify-content:center;}
  .site-nav .btn{display:none;}
  .hero-schematic{display:none;}
  .hero{padding-top:72px;padding-bottom:72px;}
  .hero-copy h1{font-size:44px;}
  .method-grid{grid-template-columns:repeat(2,1fr);}
  .method-cell{min-height:0;}
  .cards-3{grid-template-columns:1fr;}
  .band-green .wrap{grid-template-columns:1fr;gap:32px;}
  .band-green .quote{font-size:26px;}
  .step-section{grid-template-columns:1fr;gap:24px;padding:48px 0;}
  .service-section{grid-template-columns:1fr;gap:32px;padding:48px 0;}
  .service-head{position:static;}
  .problem-grid{grid-template-columns:1fr;}
  .problem-cell,.problem-cell+.problem-cell{padding:24px 0;}
  .journey-item{grid-template-columns:56px 1fr;gap:16px;}
  .journey-item .decision{grid-column:2;}
  .stakes-grid{grid-template-columns:1fr;gap:32px;}
  .pov-line{font-size:24px;}
  .calendly-embed iframe{height:640px;}
  .page-hero{padding-top:56px;padding-bottom:40px;}
  .page-hero h1{font-size:38px;}
  .cta{padding-top:64px;padding-bottom:64px;}
  .section-pad{padding-top:64px;padding-bottom:64px;}
  .band-green,.band-ink{padding:64px 0;}
}
@media (max-width:700px){
  .method-grid{grid-template-columns:1fr;}
  .hero-copy h1{font-size:36px;}
  .band-green .mark-quote{display:none;}
  .calendly-embed iframe{height:600px;}
}
