@font-face { font-family:"Bricolage Grotesque"; src:url("/assets/fonts/bricolage-grotesque-latin.woff2") format("woff2"); font-style:normal; font-weight:400 800; font-display:optional; }
@font-face { font-family:"Instrument Sans"; src:url("/assets/fonts/instrument-sans-latin.woff2") format("woff2"); font-style:normal; font-weight:400 700; font-display:optional; }
@layer reset, base, layout, components, responsive;
@layer reset {
  *,*::before,*::after { box-sizing:border-box; }
  body,h1,h2,h3,p,figure,dl,dd { margin:0; }
  img,svg { display:block; max-width:100%; }
  button,input,select,textarea { font:inherit; }
  button,a { -webkit-tap-highlight-color:transparent; }
}
@layer base {
  :root { --ink:#0E1111; --panel:#171C1B; --ivory:#F4F1E8; --green:#B7F34A; --sage:#7C9A8B; --muted:#aab6ad; --line:#343b36; --light-line:#d0d3c7; --text-muted:#535f55; --display:"Bricolage Grotesque",Arial,sans-serif; --body:"Instrument Sans",Arial,sans-serif; }
  html { scroll-behavior:smooth; scroll-padding-top:32px; }
  body { background:var(--ink); color:var(--ivory); font-family:var(--body); font-size:16px; line-height:1.65; -webkit-font-smoothing:antialiased; }
  ::selection { background:var(--green); color:var(--ink); }
  a { color:inherit; text-underline-offset:5px; }
  a:hover { text-decoration-thickness:2px; }
  :focus-visible { outline:2px solid var(--sage); outline-offset:6px; }
  h1,h2,h3 { font-family:var(--display); font-weight:650; line-height:1.06; letter-spacing:-.035em; text-wrap:balance; font-optical-sizing:auto; }
  h1 { font-size:clamp(3.2rem,5.9vw,5.4rem); }
  h2 { font-size:clamp(2.2rem,3.7vw,3.5rem); }
  h3 { font-size:1.45rem; line-height:1.2; letter-spacing:-.025em; }
  p { text-wrap:pretty; }
  p+p { margin-top:1.2rem; }
  [hidden] { display:none!important; }
}
@layer layout {
  .wrap { width:min(1240px,calc(100% - 112px)); margin-inline:auto; }
  .section { padding-block:100px; }
  .light { background:var(--ivory); color:var(--ink); --line:var(--light-line); --muted:var(--text-muted); }
  .panel { background:var(--panel); }
  .section-head { display:grid; grid-template-columns:1.5fr 1fr; align-items:end; gap:72px; margin-bottom:52px; }
  .section-head>p { max-width:28ch; color:var(--muted); justify-self:end; }
  .section-head>.text-link { justify-self:end; }
  .two-col { display:grid; grid-template-columns:1fr 1fr; gap:72px; }
  .split-section { display:grid; grid-template-columns:1fr 1fr; gap:100px; }
  .narrow { max-width:760px; }
  .spaced { margin-top:30px; }
}
@layer components {
  .skip { position:absolute; top:-100px; left:16px; z-index:100; background:var(--green); color:var(--ink); padding:12px 20px; }
  .skip:focus { top:12px; }
  .site-header { border-bottom:1px solid var(--line); }
  .header-inner { display:flex; align-items:center; justify-content:space-between; min-height:98px; gap:25px; }
  .brand { display:inline-flex; align-items:baseline; font-family:var(--display); font-weight:800; font-size:32px; line-height:1.1; letter-spacing:-1.7px; text-decoration:none; }
  .brand-grow { color:var(--green); }
  .nav { display:flex; align-items:center; gap:29px; font-size:13px; font-weight:500; }
  .nav a { padding-block:10px; text-decoration:none; }
  .nav a:hover,.nav a[aria-current] { color:var(--green); }
  .nav .nav-cta { border-bottom:1px solid var(--sage); margin-left:24px; }
  .nav-cta span { margin-left:16px; }
  .menu-toggle { display:none; background:none; border:1px solid var(--line); padding:10px 15px; color:var(--ivory); cursor:pointer; }
  .eyebrow { display:block; font-family:var(--body); font-size:10px; font-weight:600; line-height:1.5; text-transform:uppercase; letter-spacing:1.7px; margin-bottom:25px; }
  .eyebrow.green { color:var(--muted); }
  .signal-label { display:flex; align-items:center; gap:12px; }
  .signal-label::before { content:""; width:7px; height:7px; background:var(--green); flex-shrink:0; }
  .light .signal-label::before { background:var(--ink); }
  .growth-signal { color:var(--green); width:260px; height:56px; }
  .signal-stop { color:var(--green); }
  .light .signal-stop { color:#4a6d39; }
  .hero { padding:69px 0 67px; }
  .hero>.wrap>.eyebrow { margin-bottom:31px; }
  .hero h1 { font-size:clamp(3.3rem,7.7vw,7.15rem); font-weight:700; line-height:1.02; letter-spacing:-.048em; text-wrap:initial; }
  .hero h1>span { display:block; }
  .hero h1>span:nth-child(2) { margin-left:8%; }
  .hero h1>.hero-last { margin-left:16%; }
  .hero-bottom { display:grid; grid-template-columns:1fr 1fr; gap:100px; margin-top:47px; align-items:center; }
  .hero-path { padding-left:18%; }
  .hero-path .growth-signal { width:230px; }
  .hero-support { max-width:465px; }
  .hero-support>p { max-width:43ch; color:var(--muted); font-size:17px; line-height:1.65; }
  .hero-copy { margin-top:27px; max-width:48ch; color:var(--muted); font-size:17px; }
  .actions { display:flex; flex-wrap:wrap; align-items:center; gap:26px; margin-top:27px; }
  .button { display:inline-flex; justify-content:space-between; align-items:center; gap:27px; min-height:54px; padding:15px 20px; background:var(--green); color:var(--ink); border:1px solid var(--green); border-radius:0; font-size:13px; font-weight:650; text-decoration:none; cursor:pointer; transition:background .16s,transform .16s; }
  .button:hover { background:#c8f977; transform:translateY(-2px); }
  .button:disabled { opacity:.65; cursor:wait; transform:none; }
  .button .arrow { padding-left:14px; border-left:1px solid #58752b; }
  .arrow { font-family:Arial,sans-serif; font-size:20px; line-height:1; font-weight:400; }
  .text-link { display:inline-flex; width:fit-content; align-items:center; gap:17px; padding-block:4px; border-bottom:1px solid currentColor; font-size:13px; line-height:1.6; font-weight:600; text-decoration:none; }
  .text-link:hover { color:var(--green); }
  .light .text-link:hover { color:#38552b; }
  .home-problems { padding-block:97px; }
  .problem-list { padding-top:4px; }
  .problem { padding-block:23px; border-top:1px solid var(--line); }
  .problem:first-child { padding-top:0; border-top:0; }
  .problem:last-child { padding-bottom:0; }
  .problem h3 { font-size:23px; margin-bottom:8px; }
  .problem h3 a { text-decoration:none; }
  .problem h3 a:hover { text-decoration:underline; }
  .problem p { max-width:42ch; font-size:15px; color:var(--muted); }
  .home-services .section-head { margin-bottom:42px; }
  .home-services h2 { max-width:16ch; font-size:clamp(2.5rem,4.5vw,4.2rem); }
  .service-list { border-top:1px solid var(--line); }
  .service-row { display:grid; grid-template-columns:65px 1.15fr 1fr; gap:28px; border-bottom:1px solid var(--line); padding:29px 0 31px; align-items:start; }
  .num { font-family:var(--body); font-size:11px; font-weight:500; line-height:1.5; color:var(--muted); display:block; }
  .service-row .num { padding-top:7px; }
  .service-row h3 { max-width:22ch; font-size:clamp(1.45rem,2.25vw,2rem); padding-top:2px; }
  .service-summary { max-width:38ch; }
  .service-summary p { color:var(--muted); font-size:15px; margin-bottom:13px; }
  .service-summary .text-link { font-size:12px; border-bottom-color:var(--line); }
  .service-summary .text-link:hover { border-bottom-color:currentColor; }
  .home-proof { padding-block:105px; }
  .proof-heading { display:grid; grid-template-columns:1.2fr 1fr; align-items:end; gap:100px; margin:45px 0; }
  .proof-heading h2 { font-size:clamp(2.9rem,5.2vw,5.1rem); font-weight:700; }
  .proof-direction { max-width:24ch; font-family:var(--display); font-size:clamp(1.6rem,2.4vw,2.2rem); font-weight:500; letter-spacing:-.025em; line-height:1.25; }
  .proof-facts { display:grid; grid-template-columns:repeat(3,1fr); gap:42px; padding:26px 0 33px; border-top:1px solid var(--line); }
  .proof-facts dt { font-size:10px; font-weight:600; letter-spacing:1.4px; text-transform:uppercase; margin-bottom:12px; }
  .proof-facts dd { color:var(--muted); font-size:15px; max-width:34ch; }
  .home-process { padding-block:87px; }
  .process-grid { display:grid; grid-template-columns:repeat(5,1fr); list-style:none; padding:0; margin:0; gap:28px; }
  .process-grid li { position:relative; border-top:1px solid var(--line); padding-top:23px; }
  .process-grid li::before { content:""; position:absolute; width:5px; height:5px; background:var(--green); top:-3px; left:0; }
  .process-grid .num { margin-bottom:24px; }
  .process-grid h3 { font-size:23px; margin-bottom:9px; }
  .process-grid p { color:var(--muted); font-size:14px; max-width:26ch; }
  .home-why { padding-block:70px; }
  .home-why h2 { font-size:clamp(2rem,3.1vw,3rem); }
  .why-list { margin:0; padding:0; list-style:none; }
  .why-list li { display:flex; gap:17px; padding:18px 0; border-bottom:1px solid var(--line); }
  .why-list li:first-child { padding-top:0; }
  .why-list li:last-child { padding-bottom:0; border-bottom:0; }
  .why-list .plus { color:var(--green); font-size:18px; }
  .why-list h3 { font-size:21px; margin-bottom:6px; }
  .why-list p { color:var(--muted); font-size:14px; }
  .home-notes { padding-block:87px; }
  .notes-grid { display:grid; grid-template-columns:1fr 1fr; gap:70px; }
  .note-card { display:flex; flex-direction:column; align-items:start; border-top:1px solid var(--line); padding-top:25px; }
  .note-card .eyebrow { margin-bottom:19px; color:var(--muted); }
  .note-card h3 { font-size:clamp(1.6rem,2.6vw,2.25rem); line-height:1.16; max-width:26ch; }
  .note-card h3 a { text-decoration:none; }
  .note-card h3 a:hover { text-decoration:underline; }
  .note-card p { max-width:40ch; font-size:15px; color:var(--muted); margin:18px 0 24px; }
  .note-card .text-link { margin-top:auto; }
  .final-cta { border-bottom:1px solid var(--line); padding-block:85px; }
  .cta-inner { display:flex; justify-content:space-between; align-items:center; gap:55px; }
  .cta-inner h2 { font-size:clamp(2.5rem,4.7vw,4.4rem); font-weight:700; max-width:20ch; }
  .cta-inner p { color:var(--muted); margin-top:22px; font-size:16px; max-width:38ch; }
  .cta-inner .button { flex-shrink:0; }
  .footer-main { display:flex; justify-content:space-between; gap:50px; padding-block:47px; }
  .footer-main .brand { font-size:29px; }
  .footer-main p { max-width:30ch; color:var(--muted); font-size:12px; margin-top:19px; }
  .footer-links { display:flex; flex-wrap:wrap; gap:25px; align-items:start; font-size:12px; }
  .footer-links a { text-decoration:none; }
  .footer-links a:hover { text-decoration:underline; }
  .footer-bottom { display:flex; justify-content:space-between; border-top:1px solid var(--line); padding-block:21px; gap:20px; color:var(--muted); font-size:11px; }
  .breadcrumb { display:flex; flex-wrap:wrap; gap:6px 10px; list-style:none; padding:0; margin:0 0 44px; font-size:11px; line-height:1.6; color:var(--muted); }
  .breadcrumb li { display:inline; }
  .breadcrumb li+li::before { content:"›"; margin-right:10px; color:var(--sage); }
  .breadcrumb a { text-decoration:none; }
  .breadcrumb a:hover { text-decoration:underline; }
  .page-hero { padding:68px 0 78px; }
  .page-hero:has(.breadcrumb) { padding-top:30px; }
  .page-hero h1 { max-width:20ch; font-weight:700; }
  .page-hero .lead { max-width:58ch; margin-top:29px; color:var(--muted); font-size:18px; }
  .page-hero .eyebrow { color:var(--muted); display:flex; align-items:center; gap:12px; }
  .page-hero .eyebrow::before { content:""; width:7px; height:7px; flex-shrink:0; background:var(--green); }
  .direct-answer { margin-top:36px; padding:0 0 0 24px; border-left:1px solid var(--sage); max-width:65ch; color:var(--muted); font-size:16px; }
  .direct-answer strong { color:var(--ivory); }
  .direct-answer p { margin-top:10px; }
  .detail-grid { display:grid; grid-template-columns:.65fr 1.35fr; gap:90px; }
  .detail-grid aside h2 { font-size:31px; }
  .prose { max-width:65ch; }
  .prose h2 { font-size:32px; margin:47px 0 19px; }
  .prose h2:first-child { margin-top:0; }
  .prose h3 { font-size:24px; margin:30px 0 13px; }
  .prose p,.prose li { color:var(--muted); }
  .prose ul,.prose ol { padding-left:22px; }
  .prose li { padding:5px 0; }
  .prose strong { color:var(--ink); }
  .deliverables { list-style:none; padding:0!important; }
  .deliverables li { border-bottom:1px solid var(--line); padding:20px 0; }
  .deliverables strong { display:block; margin-bottom:5px; }
  .callout { padding:6px 0 6px 22px; border-left:2px solid var(--sage); margin-block:28px; }
  .callout p { font-size:15px; }
  .topic-list { display:flex; flex-wrap:wrap; gap:10px 24px; padding:0; list-style:none; margin:30px 0 0; }
  .topic-list li { border-bottom:1px solid var(--line); font-size:12px; padding-bottom:5px; }
  .case-layout { display:grid; grid-template-columns:.75fr 1.25fr; gap:95px; align-items:center; }
  .case-copy h2 { margin-bottom:23px; }
  .case-copy>p { color:var(--muted); font-size:15px; max-width:51ch; }
  .case-copy .text-link { margin-top:25px; }
  .case-visual { padding:28px 0; border-top:2px solid var(--ink); border-bottom:1px solid var(--line); }
  .case-brand { font-family:var(--display); font-weight:700; font-size:34px; letter-spacing:-1px; line-height:1.1; margin-bottom:27px; }
  .case-brand span { display:block; font-family:var(--body); font-size:10px; font-weight:500; letter-spacing:1.8px; text-transform:uppercase; margin-top:8px; }
  .case-transform { padding-block:20px; border-top:1px solid var(--line); }
  .case-transform small { display:block; font-size:10px; letter-spacing:1px; margin-bottom:9px; color:var(--muted); }
  .case-transform p { font-family:var(--display); font-size:23px; line-height:1.2; }
  .case-transform .muted { color:var(--muted); }
  .case-tags { display:flex; flex-wrap:wrap; gap:9px 15px; margin-top:10px; }
  .case-tags span { font-size:9px; letter-spacing:1px; }
  .case-visual figcaption { font-size:11px; color:var(--muted); margin-top:20px; }
  .system-map { border-top:1px solid var(--line); padding-top:18px; }
  .map-top { display:flex; justify-content:space-between; font-size:10px; letter-spacing:1px; color:var(--muted); }
  .map-step { position:relative; padding:20px 0 20px 45px; border-bottom:1px solid var(--line); }
  .map-number { position:absolute; left:0; top:26px; color:var(--sage); font-size:10px; }
  .map-step strong { display:block; font-family:var(--display); font-size:22px; font-weight:600; }
  .map-step small { color:var(--muted); font-size:13px; }
  .map-outcome { display:flex; justify-content:space-between; align-items:center; padding-top:20px; font-size:16px; }
  .system-map figcaption { color:var(--muted); font-size:11px; margin-top:15px; }
  .contact-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:90px; }
  .contact-aside h2 { font-size:31px; }
  .contact-aside p { font-size:15px; color:var(--muted); margin-top:20px; }
  .contact-form { display:grid; grid-template-columns:1fr 1fr; gap:23px; }
  .field { display:flex; flex-direction:column; gap:8px; }
  .field.full,.form-footer { grid-column:1/-1; }
  label { font-size:13px; font-weight:650; }
  label span { color:var(--text-muted); font-size:11px; font-weight:400; }
  input,select,textarea { width:100%; min-height:49px; padding:12px; border:1px solid #919a8d; border-radius:0; background:#faf8f2; color:var(--ink); font-size:16px; }
  textarea { min-height:145px; resize:vertical; }
  .form-footer p { font-size:12px; color:var(--text-muted); margin-bottom:20px; }
  .form-status { grid-column:1/-1; padding:17px; border:1px solid #64785a; background:#e5ecd9; font-size:14px; }
  .form-status.error { background:#f5e5dc; border-color:#99442e; }
  .trap { display:none; }
  .example { padding:24px; background:#e8eadf; border-left:2px solid var(--sage); margin-block:25px; }
  .example .eyebrow { margin-bottom:12px; }
  .article-meta { display:flex; flex-wrap:wrap; gap:20px; margin-top:25px; font-size:12px; color:var(--muted); }
  .article-nav { position:sticky; top:35px; }
  .article-nav a { display:block; font-size:13px; margin-top:15px; max-width:28ch; }
}
@layer responsive {
  @media(max-width:1100px) {
    .wrap { width:calc(100% - 72px); }
    .nav { gap:22px; } .nav .nav-cta { margin-left:10px; }
    .hero-bottom,.split-section,.proof-heading { gap:60px; }
    .hero h1 { font-size:7.55vw; }
    .service-row { grid-template-columns:40px 1fr 1fr; gap:22px; }
    .detail-grid,.case-layout,.contact-layout { gap:50px; }
    .notes-grid { gap:45px; }
  }
  @media(max-width:800px) {
    .header-inner { flex-wrap:wrap; min-height:84px; padding-block:20px; gap:0; }
    .brand { font-size:29px; }
    .menu-toggle { display:block; }
    .nav { width:100%; flex-wrap:wrap; gap:10px 25px; padding-top:20px; }
    .nav .nav-cta { margin-left:0; }
    .js .nav:not(.is-open) { display:none; }
    .hero { padding-top:60px; padding-bottom:60px; }
    .hero h1 { font-size:7.55vw; }
    .hero h1>span:nth-child(2) { margin-left:5%; }
    .hero h1>.hero-last { margin-left:10%; }
    .hero-bottom { gap:35px; grid-template-columns:.55fr 1fr; margin-top:40px; }
    .hero-path { padding-left:0; } .hero-path .growth-signal { width:170px; }
    .hero-support>p { font-size:16px; }
    .section { padding-block:76px; }
    .split-section,.section-head { gap:38px; }
    .problem h3 { font-size:21px; }
    .service-row { grid-template-columns:28px 1fr 1fr; gap:17px; }
    .service-row h3 { font-size:23px; }
    .proof-heading { gap:45px; grid-template-columns:1fr 1fr; }
    .proof-facts { gap:26px; }
    .process-grid { grid-template-columns:repeat(3,1fr); gap:32px; }
    .process-grid h3 { font-size:22px; }
    .detail-grid { grid-template-columns:1fr; gap:38px; }
    .two-col { gap:40px; } .case-layout { gap:35px; }
    .article-nav { position:static; }
    .contact-layout { grid-template-columns:1fr; gap:45px; }
    .contact-aside { max-width:55ch; }
    .cta-inner { gap:30px; }
    .footer-main { gap:30px; }
    .footer-links { gap:20px; }
    .home-why { padding-block:62px; }
  }
  @media(max-width:600px) {
    .wrap { width:calc(100% - 40px); }
    .hero { padding:44px 0 54px; }
    .hero h1 { font-size:clamp(2.55rem,10.7vw,4rem); letter-spacing:-.045em; line-height:1.05; }
    .hero h1>span:nth-child(2) { margin-left:0; }
    .hero h1>.hero-last { margin-left:0; max-width:14ch; }
    .hero-bottom { display:block; margin-top:26px; }
    .hero-path { display:none; }
    .hero>.wrap>.eyebrow { margin-bottom:26px; display:flex; gap:12px; align-items:center; }
    .hero>.wrap>.eyebrow::before { content:""; width:6px; height:6px; background:var(--green); }
    .hero-support>p { max-width:35ch; }
    .actions { gap:21px; }
    .section { padding-block:64px; }
    .split-section,.section-head,.two-col,.proof-heading,.case-layout,.notes-grid { grid-template-columns:1fr; }
    .section-head { gap:21px; margin-bottom:34px; }
    .section-head>p,.section-head>.text-link { justify-self:start; }
    .split-section { gap:35px; }
    .home-problems h2 { max-width:13ch; }
    .problem h3 { font-size:23px; }
    .problem { padding-block:22px; }
    .service-row { grid-template-columns:26px 1fr; gap:10px 15px; padding-block:24px; }
    .service-row h3 { font-size:25px; max-width:23ch; }
    .service-summary { grid-column:2; }
    .service-summary p { font-size:14px; margin:0 0 11px; }
    .proof-heading { gap:24px; margin:31px 0; }
    .proof-heading h2 { font-size:46px; }
    .proof-direction { max-width:26ch; font-size:25px; }
    .proof-facts { grid-template-columns:1fr; gap:22px; }
    .proof-facts>div { display:grid; grid-template-columns:80px 1fr; gap:18px; }
    .proof-facts dt { padding-top:3px; }
    .proof-facts dd { font-size:14px; max-width:30ch; }
    .process-grid { grid-template-columns:1fr; gap:0; }
    .process-grid li { display:grid; grid-template-columns:26px 1fr; gap:6px 15px; padding:20px 0 22px; }
    .process-grid li::before { top:27px; left:2px; width:4px; height:4px; }
    .process-grid .num { padding-left:12px; margin:4px 0 0; font-size:9px; }
    .process-grid h3 { margin:0; }
    .process-grid p { grid-column:2; max-width:none; }
    .home-why { padding-block:54px; }
    .notes-grid { gap:35px; }
    .note-card h3 { font-size:29px; }
    .note-card p { font-size:14px; }
    .final-cta { padding-block:64px; }
    .cta-inner { display:block; }
    .cta-inner .button { margin-top:28px; }
    .footer-main { flex-direction:column; padding-block:36px; }
    .footer-bottom { flex-direction:column; gap:8px; font-size:10px; }
    .page-hero { padding:47px 0 53px; }
    .page-hero h1 { font-size:clamp(2.65rem,10vw,3.75rem); line-height:1.09; }
    .page-hero .lead { font-size:17px; max-width:37ch; }
    .breadcrumb { font-size:10px; margin-bottom:31px; }
    .breadcrumb li:last-child { max-width:36ch; }
    .prose h2 { font-size:29px; }
    .direct-answer { padding-left:18px; font-size:15px; }
    .contact-form { grid-template-columns:1fr; }
    .field { grid-column:1/-1; }
    .article-meta { gap:12px; }
  }
  @media(prefers-reduced-motion:reduce) {
    html { scroll-behavior:auto; }
    *,*::before,*::after { transition:none!important; animation:none!important; }
  }
}


@font-face{font-family:"Sora";src:url("/assets/fonts/sora.woff2") format("woff2");font-weight:400 800;font-display:block}
@font-face{font-family:"Manrope";src:url("/assets/fonts/manrope.woff2") format("woff2");font-weight:400 700;font-display:block}
:root{--display:"Sora",Arial,sans-serif;--body:"Manrope",Arial,sans-serif}
body{font-weight:400}
h1,h2,.hero h1{font-weight:600}
h3,h4,h5,h6{font-family:var(--body);font-weight:600}
.nav,.menu-toggle,.button,.text-link{font-family:var(--body);font-weight:500}
