@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=Playfair+Display:ital,wght@0,600;0,700;1,600;1,700&display=swap');

:root { --ink:#11130f; --ink-soft:#1a1e18; --stone:#f4f2eb; --paper:#fffefa; --line:#d5d8cd; --sage:#83988b; --lime:#cbf23a; --lime-dark:#a8ce1d; --muted:#667067; --serif:'Playfair Display', Georgia, serif; --sans:'DM Sans', Arial, sans-serif; --mono:'DM Mono', monospace; --max:1280px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--sans); line-height:1.5; }
body::selection { background:var(--lime); color:var(--ink); }
a { color:inherit; text-decoration:none; }
button,input,textarea,select { font:inherit; }
button { cursor:pointer; }
.site-shell { overflow:hidden; }
.skip-link { position:absolute; left:1rem; top:-4rem; background:var(--lime); color:var(--ink); padding:.8rem 1rem; z-index:100; font-weight:700; }
.skip-link:focus { top:1rem; }
.site-header { max-width:var(--max); margin:auto; min-height:86px; padding:0 34px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); position:relative; z-index:20; }
.brand { display:inline-flex; align-items:center; gap:10px; font-family:var(--mono); font-size:.78rem; font-weight:500; letter-spacing:.12em; white-space:nowrap; }
.brand > span span { color:var(--sage); }
.brand-mark { width:27px; height:27px; display:block; object-fit:cover; background:var(--ink); }
.site-navigation { display:flex; align-items:center; gap:26px; font-size:.82rem; font-weight:600; }
.site-navigation > a:not(.nav-cta) { padding:10px 0; position:relative; }
.site-navigation > a:not(.nav-cta)::after { content:''; position:absolute; left:0; right:0; bottom:5px; height:1px; background:var(--ink); transform:scaleX(0); transform-origin:right; transition:transform .25s ease; }
.site-navigation > a:not(.nav-cta):hover::after,.site-navigation > a:not(.nav-cta):focus-visible::after { transform:scaleX(1); transform-origin:left; }
.nav-cta { background:var(--ink); color:var(--paper); padding:11px 16px; }
.menu-toggle { display:none; border:0; background:transparent; width:44px; height:44px; padding:9px; }
.menu-toggle span:not(.sr-only) { display:block; height:1.5px; background:var(--ink); margin:6px 0; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.section-pad { max-width:var(--max); margin:auto; padding-left:34px; padding-right:34px; }
.hero { padding-top:76px; padding-bottom:80px; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr); gap:42px; min-height:650px; align-items:center; }
.eyebrow { display:flex; align-items:center; gap:10px; margin:0 0 18px; color:#56645a; font:500 .67rem/1.2 var(--mono); letter-spacing:.12em; text-transform:uppercase; }
.eyebrow span { display:inline-block; width:20px; height:5px; background:var(--lime); }
h1,h2,h3,p { margin-top:0; }
h1 { max-width:710px; margin-bottom:24px; font:600 clamp(3.15rem,6vw,5.75rem)/.98 var(--serif); letter-spacing:-.055em; }
h1 em { color:#607566; font-weight:600; }
.hero-intro { max-width:630px; margin-bottom:32px; color:#4d584f; font-size:1.08rem; line-height:1.65; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:22px; }
.button { display:inline-flex; justify-content:center; align-items:center; gap:22px; border:0; padding:15px 18px; min-height:52px; font-size:.83rem; font-weight:700; transition:transform .2s ease, background .2s ease; }
.button:hover,.button:focus-visible { transform:translateY(-2px); }
.button-lime { background:var(--lime); color:var(--ink); }
.button-lime:hover,.button-lime:focus-visible { background:#dbff50; }
.text-link { display:inline-flex; align-items:center; gap:9px; font-size:.83rem; font-weight:700; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:5px; }
.text-link span { font-size:1rem; }
.metric-row { display:flex; gap:32px; margin:56px 0 0; padding:18px 0 0; border-top:1px solid var(--line); max-width:620px; }
.metric-row div { min-width:0; }
.metric-row dt { font:500 1.05rem/1 var(--mono); letter-spacing:-.05em; }
.metric-row dd { margin:7px 0 0; color:var(--muted); font-size:.73rem; line-height:1.3; }
.hero-visual { position:relative; min-height:470px; align-self:stretch; }
.hero-image-wrap { position:absolute; inset:0 0 0 6%; background:var(--ink); overflow:hidden; }
.hero-image-wrap::after { content:''; position:absolute; inset:0; background:linear-gradient(110deg,rgba(17,19,15,.28),transparent 47%,rgba(17,19,15,.17)); mix-blend-mode:multiply; }
.hero-image-wrap img { width:100%; height:100%; display:block; object-fit:cover; }
.signal-card { position:absolute; left:0; bottom:22px; width:235px; min-height:158px; padding:20px; color:var(--paper); background:var(--ink); border-top:4px solid var(--lime); }
.signal-label { display:block; color:var(--lime); margin-bottom:19px; font:500 .6rem var(--mono); text-transform:uppercase; letter-spacing:.1em; }
.signal-card strong { font:600 1.12rem/1.15 var(--serif); letter-spacing:-.02em; }
.signal-card i { position:absolute; right:20px; bottom:20px; width:36px; height:7px; background:var(--lime); }
.grid-tag { position:absolute; right:-2px; top:22px; writing-mode:vertical-rl; color:var(--paper); font:500 .59rem var(--mono); letter-spacing:.12em; }
.industry-strip { max-width:var(--max); margin:auto; padding:21px 34px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; gap:35px; align-items:center; }
.industry-strip p { margin:0; color:var(--muted); font-size:.76rem; max-width:220px; line-height:1.4; }
.industry-strip ul { display:flex; flex:1; justify-content:space-between; gap:18px; margin:0; padding:0; list-style:none; color:#526057; font:500 .72rem var(--mono); text-transform:uppercase; letter-spacing:.04em; }
.split-intro { padding-top:130px; padding-bottom:130px; display:grid; grid-template-columns:1.04fr .96fr; gap:90px; }
h2 { margin-bottom:0; font:600 clamp(2.4rem,4.25vw,4.3rem)/1.02 var(--serif); letter-spacing:-.055em; }
.body-stack { max-width:510px; padding-top:6px; }
.body-stack p { color:#536057; font-size:1.04rem; line-height:1.7; }
.body-stack p + p { margin-top:18px; }
.dark-link { margin-top:12px; }
.services-section { max-width:none; padding-top:112px; padding-bottom:112px; background:var(--ink); color:var(--paper); }
.services-section > * { max-width:calc(var(--max) - 68px); margin-left:auto; margin-right:auto; }
.eyebrow-light { color:#b1b9b2; }
.section-heading { display:grid; grid-template-columns:1fr 1fr; gap:45px; align-items:end; margin-bottom:55px; }
.section-heading .eyebrow { grid-column:1/-1; margin-bottom:0; }
.section-heading h2 { max-width:610px; }
.section-heading > p:last-child { margin:0 0 4px; color:#bec5bd; max-width:480px; font-size:1rem; line-height:1.65; }
.service-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #3d463d; }
.service-card { min-height:267px; padding:25px 22px 18px; border-right:1px solid #3d463d; display:flex; flex-direction:column; }
.service-card:first-child { border-left:1px solid #3d463d; }
.card-number { color:var(--lime); font:500 .66rem var(--mono); }
.service-card h3 { margin:66px 0 12px; font:600 1.35rem/1.1 var(--serif); letter-spacing:-.025em; }
.service-card p { margin:0; color:#bfc7c0; font-size:.83rem; line-height:1.6; }
.outcomes { padding-top:125px; padding-bottom:125px; display:grid; grid-template-columns:.85fr 1.15fr; gap:105px; }
.outcomes-intro h2 { max-width:440px; }
.outcomes-list { border-top:1px solid var(--line); }
.outcomes-list article { padding:26px 0; border-bottom:1px solid var(--line); display:grid; grid-template-columns:43px 1fr auto; gap:15px; align-items:center; }
.outcomes-list article > span { color:var(--sage); font:500 .64rem var(--mono); }
.outcomes-list h3 { margin:0 0 7px; font:600 1.2rem/1.1 var(--serif); letter-spacing:-.02em; }
.outcomes-list p { margin:0; max-width:380px; color:var(--muted); font-size:.82rem; line-height:1.55; }
.outcomes-list b { color:#81978a; font:500 1.72rem/1 var(--mono); letter-spacing:-.08em; }
.process-section { max-width:none; padding-top:105px; padding-bottom:106px; background:#e7e8df; }
.process-section > * { max-width:calc(var(--max) - 68px); margin-left:auto; margin-right:auto; }
.process-heading { display:grid; grid-template-columns:1fr 1.1fr; gap:50px; margin-bottom:72px; }
.process-heading .eyebrow { grid-column:1/-1; margin:0; }
.process-heading h2 { grid-column:2; }
.process-list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #b9beb3; }
.process-list li { padding:23px 22px 10px; min-height:230px; border-left:1px solid #b9beb3; }
.process-list li:last-child { border-right:1px solid #b9beb3; }
.process-list span { color:#607568; font:500 .66rem var(--mono); }
.process-list h3 { margin:59px 0 10px; font:600 1.36rem/1 var(--serif); letter-spacing:-.02em; }
.process-list p { margin:0; color:#596259; font-size:.82rem; line-height:1.55; }
.proof-section { padding-top:126px; padding-bottom:126px; display:grid; grid-template-columns:.88fr 1.12fr; gap:100px; }
.proof-copy h2 { margin-bottom:22px; max-width:440px; }
.proof-copy > p:last-child { max-width:450px; color:var(--muted); font-size:1rem; line-height:1.65; }
.proof-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; align-self:center; }
.proof-grid div { min-height:160px; padding:17px; border:1px solid var(--line); display:flex; flex-direction:column; justify-content:space-between; background:#f9f8f3; }
.proof-grid small { color:#718076; font:500 .59rem var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.proof-grid strong { font:600 1.05rem/1.1 var(--serif); letter-spacing:-.02em; }
.consultation { max-width:none; padding-top:102px; padding-bottom:106px; background:var(--ink); color:var(--paper); display:grid; grid-template-columns:.91fr 1.09fr; gap:90px; }
.consultation > * { max-width:590px; }
.consultation-copy { justify-self:end; }
.consultation-copy h2 { max-width:530px; margin-bottom:20px; }
.consultation-copy > p:not(.eyebrow) { color:#bdc5bd; max-width:470px; font-size:1rem; line-height:1.65; }
.consultation-note { margin-top:35px; max-width:450px; display:flex; gap:12px; padding-top:17px; border-top:1px solid #404940; }
.consultation-note span { display:block; flex:0 0 8px; height:8px; background:var(--lime); margin-top:5px; }
.consultation-note p { margin:0; color:#aab4aa; font-size:.8rem; line-height:1.6; }
.consultation-note strong { color:var(--paper); }
.consultation-form { padding:29px; background:var(--paper); color:var(--ink); border-top:4px solid var(--lime); }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:17px; }
.field { margin-bottom:17px; }
.field label { display:block; margin-bottom:7px; font-size:.72rem; font-weight:700; }
.field input,.field select,.field textarea { width:100%; padding:11px 0; border:0; border-bottom:1px solid #adb3aa; border-radius:0; color:var(--ink); background:transparent; outline:none; font-size:.92rem; transition:border .2s ease; }
.field select { appearance:none; background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%); background-position:calc(100% - 12px) calc(50% + 1px),calc(100% - 7px) calc(50% + 1px); background-size:5px 5px,5px 5px; background-repeat:no-repeat; }
.field textarea { resize:vertical; min-height:90px; }
.field input:focus,.field select:focus,.field textarea:focus { border-color:var(--ink); border-bottom-width:2px; }
.field input[aria-invalid='true'],.field select[aria-invalid='true'] { border-color:#b33a26; }
.form-button { width:100%; margin-top:5px; }
.form-helper { margin:14px 0 0; color:#697269; font-size:.7rem; line-height:1.45; }
.form-status { min-height:1.4em; margin:11px 0 0; font-size:.78rem; font-weight:700; }
.form-status.success { color:#4e6c23; }
.form-status.error { color:#9f2a18; }
.site-footer { max-width:var(--max); margin:auto; min-height:137px; padding:30px 34px; display:grid; grid-template-columns:1.1fr 1.4fr auto; align-items:start; gap:27px; font-size:.76rem; }
.site-footer p { margin:4px 0 0; max-width:290px; color:var(--muted); line-height:1.5; }
.site-footer > a:last-of-type { font-weight:700; text-decoration:underline; text-underline-offset:4px; }
.site-footer small { grid-column:1/-1; color:#899087; font:.59rem var(--mono); letter-spacing:.05em; text-transform:uppercase; }
@media (max-width: 900px) { .hero { grid-template-columns:1fr; padding-top:62px; } .hero-visual { min-height:420px; max-width:700px; width:100%; } .section-heading,.outcomes,.proof-section,.consultation { grid-template-columns:1fr; gap:45px; } .section-heading h2 { grid-column:auto; } .process-heading { grid-template-columns:1fr; gap:18px; } .process-heading h2 { grid-column:auto; } .consultation-copy { justify-self:start; } .service-grid,.process-list { grid-template-columns:repeat(2,1fr); } .service-card:nth-child(3),.process-list li:nth-child(3) { border-left:1px solid #3d463d; } .process-list li:nth-child(3) { border-color:#b9beb3; } .proof-grid { max-width:620px; } .split-intro { gap:45px; } }
@media (max-width: 680px) { .site-header,.section-pad,.industry-strip,.site-footer { padding-left:20px; padding-right:20px; } .site-header { min-height:72px; } .menu-toggle { display:block; } .site-navigation { display:none; position:absolute; left:0; top:71px; width:100%; padding:14px 20px 20px; background:var(--paper); border-bottom:1px solid var(--line); flex-direction:column; align-items:stretch; gap:0; } .site-navigation.open { display:flex; } .site-navigation > a:not(.nav-cta) { padding:13px 0; border-bottom:1px solid var(--line); } .nav-cta { margin-top:16px; text-align:center; } .hero { padding-top:50px; padding-bottom:57px; gap:36px; min-height:auto; } h1 { font-size:clamp(2.9rem,13.5vw,4.2rem); } h2 { font-size:clamp(2.25rem,10.5vw,3.25rem); } .hero-intro { font-size:.98rem; } .metric-row { gap:15px; } .metric-row dt { font-size:.92rem; } .metric-row dd { font-size:.65rem; } .hero-visual { min-height:340px; } .hero-image-wrap { left:3%; } .signal-card { bottom:0; width:216px; min-height:139px; } .industry-strip { display:block; padding-top:19px; padding-bottom:19px; } .industry-strip p { margin-bottom:14px; } .industry-strip ul { flex-wrap:wrap; justify-content:flex-start; row-gap:9px; } .split-intro { padding-top:83px; padding-bottom:83px; grid-template-columns:1fr; } .services-section,.process-section,.consultation { padding-top:78px; padding-bottom:78px; } .section-heading { margin-bottom:35px; } .service-grid,.process-list { grid-template-columns:1fr; } .service-card,.process-list li { min-height:auto; border-left:1px solid #3d463d; border-right:1px solid #3d463d; border-bottom:1px solid #3d463d; padding:22px; } .process-list li { border-color:#b9beb3; } .service-card h3,.process-list h3 { margin-top:35px; } .outcomes,.proof-section { padding-top:83px; padding-bottom:83px; gap:36px; } .outcomes-list article { grid-template-columns:32px 1fr; } .outcomes-list b { display:none; } .proof-grid { grid-template-columns:1fr; gap:8px; } .proof-grid div { min-height:100px; } .consultation { gap:37px; } .consultation-form { padding:22px 18px; } .form-row { grid-template-columns:1fr; gap:0; } .site-footer { grid-template-columns:1fr; padding-top:29px; padding-bottom:25px; } .site-footer small { grid-column:auto; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; } }
