:root {
  --ink: #0a1110;
  --ink-soft: #101a17;
  --ink-mid: #18231f;
  --paper: #f1f1e9;
  --paper-dim: #bfc6bc;
  --lime: #b8ff57;
  --lime-dark: #83bb36;
  --orange: #ff7b4d;
  --line: rgba(241, 241, 233, .18);
  --line-dark: rgba(10, 17, 16, .16);
  --mono: "DM Mono", monospace;
  --sans: "Space Grotesk", system-ui, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--ink); color: var(--paper); font-family: var(--sans); font-size: 16px; line-height: 1.5; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
.site-shell { overflow: hidden; }
.section-pad { padding-left: clamp(24px, 6vw, 96px); padding-right: clamp(24px, 6vw, 96px); }
.mono, .section-number, .eyebrow, .metric-label, .service-tags, .hero-kicker, .hero-trust, .floating-tag, .menu-label { font-family: var(--mono); letter-spacing: .02em; }

.site-header { height: 90px; padding: 20px clamp(24px, 6vw, 96px); display: flex; align-items: center; justify-content: space-between; position: relative; z-index: 20; border-bottom: 1px solid var(--line); }
.wordmark { display: flex; align-items: center; gap: 12px; font-weight: 600; font-size: 13px; line-height: 1.02; letter-spacing: -.02em; }
.wordmark-mark { display: grid; place-items: center; width: 36px; height: 36px; background: var(--lime); color: var(--ink); font-size: 13px; font-weight: 700; letter-spacing: -.08em; border-radius: 50%; }
.wordmark em, .footer-brand em { font-style: normal; color: var(--paper-dim); font-weight: 400; }
.site-nav { display: flex; gap: clamp(18px, 2.4vw, 40px); align-items: center; font: 400 12px var(--mono); color: var(--paper-dim); }
.site-nav a { transition: color .2s ease; }
.site-nav a:hover { color: var(--lime); }
.nav-cta { color: var(--lime) !important; border: 1px solid var(--lime); padding: 11px 15px; border-radius: 99px; }
.nav-cta span, .button span { margin-left: 6px; }
.menu-toggle { display: none; background: none; color: var(--paper); border: 0; padding: 8px; cursor: pointer; }
.menu-lines { display: inline-flex; flex-direction: column; gap: 5px; margin-left: 9px; vertical-align: middle; }
.menu-lines i { display: block; width: 20px; height: 1px; background: var(--paper); }

.hero { min-height: calc(100vh - 90px); padding-top: clamp(38px, 8vh, 88px); padding-bottom: clamp(70px, 11vh, 130px); }
.hero-kicker { display: flex; align-items: center; gap: 10px; color: var(--paper-dim); font-size: 10px; text-transform: uppercase; }
.status-dot { width: 7px; height: 7px; background: var(--lime); border-radius: 50%; box-shadow: 0 0 0 5px rgba(184,255,87,.08); }
.kicker-line { width: 60px; height: 1px; background: var(--line); }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(340px, .95fr); gap: clamp(32px, 8vw, 130px); align-items: center; padding-top: clamp(70px, 11vh, 130px); }
.eyebrow { font-size: 11px; text-transform: uppercase; color: var(--lime); margin: 0 0 22px; }
h1, h2, h3, p { margin-top: 0; }
h1 { font-size: clamp(56px, 7vw, 112px); line-height: .94; letter-spacing: -.085em; max-width: 850px; margin-bottom: 32px; font-weight: 500; }
h1 span { color: var(--lime); }
.hero-lede { max-width: 450px; color: var(--paper-dim); font-size: clamp(17px, 1.6vw, 21px); line-height: 1.45; margin-bottom: 36px; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 26px; }
.button { display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; padding: 15px 21px; font: 500 12px var(--mono); transition: transform .2s ease, background .2s ease, color .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--lime); color: var(--ink); }
.button-primary:hover { background: #d1ff98; }
.button-light { background: var(--paper); color: var(--ink); }
.text-link { font: 500 12px var(--mono); color: var(--paper); padding-bottom: 5px; border-bottom: 1px solid var(--lime); }
.text-link span { color: var(--lime); margin-left: 8px; }
.hero-trust { display: flex; flex-wrap: wrap; gap: 12px 23px; font-size: 9px; color: #79857d; margin-top: 82px; text-transform: uppercase; }
.hero-trust b { color: var(--paper); font-weight: 400; }

.hero-visual { min-height: 515px; position: relative; display: grid; place-items: center; }
.signal-card { position: relative; z-index: 2; width: min(100%, 490px); background: #121d19; border: 1px solid rgba(184,255,87,.38); padding: 23px 25px 21px; transform: rotate(3deg); box-shadow: 25px 28px 0 rgba(184,255,87,.07); }
.signal-card-top, .signal-card-bottom { display: flex; justify-content: space-between; align-items: center; font: 10px var(--mono); color: var(--paper-dim); }
.signal-card-top .mono { color: var(--lime); font-size: 9px; }
.signal-title { font-size: clamp(34px, 4vw, 54px); letter-spacing: -.07em; line-height: .9; margin: 68px 0 32px; }
.signal-title strong { color: var(--lime); font-weight: 500; }
.signal-chart { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); position: relative; padding: 22px 0 5px; }
.signal-chart svg { width: 100%; display: block; }
.chart-axis { position: absolute; top: 10px; font: 8px var(--mono); color: #65736b; text-transform: uppercase; }
.axis-one { left: 0; }.axis-two { right: 0; }
.signal-card-bottom { padding-top: 17px; color: var(--lime); }
.signal-card-bottom strong { color: var(--paper); font-weight: 400; }
.orb { position: absolute; border-radius: 50%; filter: blur(1px); }
.orb-a { width: 300px; height: 300px; background: radial-gradient(circle, rgba(184,255,87,.18), rgba(184,255,87,0) 68%); top: 3%; right: 4%; }
.orb-b { width: 240px; height: 240px; background: radial-gradient(circle, rgba(255,123,77,.17), rgba(255,123,77,0) 70%); bottom: 4%; left: 1%; }
.floating-tag { position: absolute; z-index: 4; background: var(--paper); color: var(--ink); padding: 10px 13px; font-size: 9px; box-shadow: 9px 11px 0 rgba(0,0,0,.18); }
.tag-top { top: 15%; right: -4%; transform: rotate(-7deg); }.tag-bottom { bottom: 15%; left: -7%; transform: rotate(6deg); }
.tag-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; margin-right: 7px; }.tag-dot.lime { background: var(--lime-dark); }.tag-dot.orange { background: var(--orange); }
.hero-index { position: absolute; bottom: -2%; right: 0; color: var(--paper-dim); font-size: 10px; }.hero-index span { color: var(--lime); margin: 0 6px; }

.proof-strip { background: var(--paper); color: var(--ink); padding-top: clamp(82px, 10vw, 145px); padding-bottom: clamp(70px, 9vw, 125px); }
.section-intro { max-width: 740px; }.section-number { display: block; text-transform: uppercase; color: #708075; font-size: 10px; margin-bottom: 25px; }.section-intro h2 { font-size: clamp(42px, 5.3vw, 76px); line-height: .98; letter-spacing: -.075em; font-weight: 500; margin-bottom: 25px; }.section-intro h2 em, .case-heading h2 span, .contact h2 em { color: var(--lime-dark); font-style: normal; }.section-intro p { max-width: 550px; color: #5f6c63; font-size: 16px; }
.metric-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line-dark); margin-top: 75px; border: 1px solid var(--line-dark); }.metric-card { background: var(--paper); min-height: 280px; padding: 23px; position: relative; display: flex; flex-direction: column; }.metric-card-accent { background: var(--lime); }.metric-label { font-size: 10px; text-transform: uppercase; color: #6f7b73; }.metric-card-accent .metric-label { color: #49652d; }.metric-card strong { font-size: clamp(62px, 7vw, 100px); font-weight: 500; line-height: .95; letter-spacing: -.1em; margin-top: 43px; }.metric-card strong span { font-size: .4em; letter-spacing: -.04em; margin-left: 4px; }.metric-card p { margin-top: auto; margin-bottom: 0; max-width: 260px; font-size: 13px; line-height: 1.42; color: #66736a; }.metric-card-accent p { color: #48622f; }.metric-arrow { position: absolute; top: 20px; right: 23px; font-size: 19px; }.proof-note { border-top: 1px solid var(--line-dark); margin-top: 28px; padding-top: 17px; display: flex; align-items: flex-start; gap: 13px; max-width: 800px; }.proof-note-mark { font: 18px var(--mono); color: var(--lime-dark); }.proof-note p { margin-bottom: 0; font-size: 12px; color: #6a766d; }

.services { background: var(--ink); padding-top: clamp(84px, 10vw, 145px); padding-bottom: clamp(88px, 11vw, 150px); }.split-intro { display: grid; grid-template-columns: 1fr 1.8fr; column-gap: 20px; max-width: none; }.split-intro .section-number { margin-top: 11px; }.split-intro h2 { max-width: 650px; }.split-intro p { grid-column: 2; max-width: 440px; margin-left: 1px; }.service-list { margin-top: 74px; border-top: 1px solid var(--line); }.service-row { display: grid; grid-template-columns: 52px minmax(0, 1.4fr) minmax(180px, .7fr) 20px; align-items: center; gap: 18px; padding: 28px 0; border-bottom: 1px solid var(--line); transition: padding .25s ease, background .25s ease; }.service-row:hover { padding-left: 15px; padding-right: 15px; background: var(--ink-soft); }.service-index, .row-arrow { font: 11px var(--mono); color: var(--lime); }.service-row h3 { font-size: clamp(21px, 2.4vw, 31px); letter-spacing: -.05em; font-weight: 500; margin-bottom: 7px; }.service-row p { color: var(--paper-dim); font-size: 13px; max-width: 510px; margin: 0; }.service-tags { display: flex; justify-content: flex-start; flex-wrap: wrap; gap: 6px; }.service-tags span { border: 1px solid var(--line); color: #99a69d; padding: 5px 7px; font-size: 8px; text-transform: uppercase; }.row-arrow { text-align: right; font-size: 18px; }

.case-study { background: #d5dbd0; color: var(--ink); padding-top: clamp(45px, 6vw, 75px); padding-bottom: clamp(85px, 11vw, 150px); }.case-study-top { display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid rgba(10,17,16,.2); padding-bottom: 22px; }.case-study-top .section-number { color: #647267; margin: 0; }.case-study-top .mono { color: #647267; font-size: 10px; }.case-layout { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(44px, 10vw, 160px); padding-top: 80px; align-items: start; }.case-heading h2 { font-size: clamp(47px, 6.2vw, 86px); line-height: .9; letter-spacing: -.09em; font-weight: 500; margin-bottom: 30px; }.case-heading p:not(.eyebrow) { color: #556158; max-width: 425px; font-size: 16px; }.case-heading .text-link { color: var(--ink); display: inline-block; margin-top: 15px; }.case-stack { border-top: 1px solid rgba(10,17,16,.25); }.stack-item { display: grid; grid-template-columns: 42px 1fr 20px; gap: 14px; align-items: start; padding: 25px 0; border-bottom: 1px solid rgba(10,17,16,.25); }.stack-no { font: 10px var(--mono); color: #6c796f; }.stack-item strong { font-size: 19px; font-weight: 500; letter-spacing: -.04em; }.stack-item p { font-size: 13px; color: #647067; max-width: 355px; margin: 7px 0 0; }.stack-mark { font: 18px var(--mono); color: #738177; }.stack-item-active { background: var(--ink); color: var(--paper); padding: 25px 18px; margin: 0 -18px; }.stack-item-active .stack-no, .stack-item-active p, .stack-item-active .stack-mark { color: var(--paper-dim); }

.process { padding-top: clamp(85px, 10vw, 145px); padding-bottom: clamp(85px, 10vw, 145px); }.process-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(45px, 10vw, 155px); margin-top: 76px; }.big-quote { color: var(--lime); font-size: clamp(33px, 4.5vw, 62px); line-height: .95; letter-spacing: -.07em; margin-bottom: 30px; }.small-copy { max-width: 260px; color: var(--paper-dim); font-size: 13px; }.process-steps { border-top: 1px solid var(--line); }.process-step { display: grid; grid-template-columns: 50px 1fr; gap: 15px; padding: 24px 0; border-bottom: 1px solid var(--line); }.process-step > span { font: 11px var(--mono); color: var(--lime); padding-top: 6px; }.process-step h3 { font-size: 20px; font-weight: 500; letter-spacing: -.04em; margin-bottom: 5px; }.process-step p { color: var(--paper-dim); font-size: 13px; max-width: 470px; margin: 0; }

.fit-section { background: var(--paper); color: var(--ink); padding-top: clamp(70px, 8vw, 105px); padding-bottom: clamp(70px, 8vw, 105px); }.fit-panel { background: var(--lime); padding: clamp(28px, 5vw, 70px); display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(35px, 8vw, 110px); align-items: end; }.fit-panel .section-number { color: #51742e; }.fit-panel h2 { font-size: clamp(41px, 5.7vw, 75px); line-height: .92; letter-spacing: -.08em; font-weight: 500; margin: 0; max-width: 720px; }.fit-panel h2 em { color: var(--ink); font-style: normal; }.fit-copy p { color: #44602d; font-size: 15px; max-width: 390px; }.fit-copy .button { margin-top: 12px; }

.faq { padding-top: clamp(85px, 10vw, 145px); padding-bottom: clamp(75px, 10vw, 130px); }.faq-list { margin-top: 72px; border-top: 1px solid var(--line); max-width: 900px; margin-left: auto; }.faq-item { border-bottom: 1px solid var(--line); padding: 0; }.faq-item summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 24px 0; font-size: clamp(18px, 2vw, 24px); letter-spacing: -.04em; }.faq-item summary::-webkit-details-marker { display: none; }.faq-item summary b { color: var(--lime); font: 20px var(--mono); font-weight: 400; transition: transform .2s ease; }.faq-item[open] summary b { transform: rotate(45deg); }.faq-item p { max-width: 700px; color: var(--paper-dim); font-size: 14px; line-height: 1.6; padding: 0 45px 26px 0; margin: 0; }

.contact { background: var(--ink-soft); padding-top: clamp(28px, 5vw, 60px); padding-bottom: clamp(80px, 10vw, 130px); }.contact-panel { display: grid; grid-template-columns: .35fr 1fr; gap: clamp(30px, 8vw, 120px); align-items: center; background: var(--ink); padding: clamp(36px, 6vw, 82px); border: 1px solid var(--line); }.contact-mark { font-size: clamp(58px, 8vw, 120px); letter-spacing: -.13em; font-weight: 600; color: var(--lime); line-height: .8; }.contact-mark span { font: 22px var(--mono); color: var(--paper); margin-left: 13px; vertical-align: top; }.contact h2 { font-size: clamp(45px, 6.7vw, 88px); line-height: .9; letter-spacing: -.09em; font-weight: 500; max-width: 700px; margin-bottom: 25px; }.contact p { max-width: 480px; color: var(--paper-dim); font-size: 16px; margin-bottom: 29px; }
.site-footer { background: var(--ink); border-top: 1px solid var(--line); padding-top: 26px; padding-bottom: 26px; display: flex; justify-content: space-between; align-items: center; gap: 30px; }.footer-brand { display: flex; align-items: center; gap: 10px; font-size: 12px; line-height: 1.08; }.footer-brand .wordmark-mark { width: 30px; height: 30px; font-size: 11px; }.footer-links { display: flex; gap: 23px; align-items: center; color: var(--paper-dim); font: 10px var(--mono); }.footer-links a:hover { color: var(--lime); }.footer-links .mono { color: #65736b; }

.reveal { opacity: 0; transform: translateY(22px); transition: opacity .65s ease, transform .65s ease; }.reveal.is-visible { opacity: 1; transform: translateY(0); }.delay-1 { transition-delay: .1s; }.delay-2 { transition-delay: .2s; }

@media (max-width: 900px) {
  .site-header { height: 74px; }
  .site-nav { position: absolute; top: 73px; left: 0; right: 0; background: var(--ink); border-bottom: 1px solid var(--line); padding: 22px 24px 28px; display: none; flex-direction: column; align-items: flex-start; gap: 20px; }
  .site-nav.is-open { display: flex; }.menu-toggle { display: block; }.menu-label { font-size: 9px; text-transform: uppercase; color: var(--paper-dim); }
  .hero { min-height: auto; }.hero-grid { grid-template-columns: 1fr; padding-top: 60px; }.hero-visual { min-height: 475px; max-width: 580px; margin: 0 auto; width: 100%; }.hero-trust { margin-top: 55px; }
  .split-intro { display: block; }.split-intro p { margin-top: 20px; }.metric-grid { grid-template-columns: 1fr; }.metric-card { min-height: 240px; }.metric-card strong { margin-top: 36px; }
  .case-layout, .process-grid { grid-template-columns: 1fr; gap: 52px; }.case-layout { padding-top: 58px; }.process-grid { margin-top: 55px; }.fit-panel { grid-template-columns: 1fr; gap: 35px; }.contact-panel { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 600px) {
  body { font-size: 15px; }.site-header { padding-left: 20px; padding-right: 20px; }.section-pad { padding-left: 20px; padding-right: 20px; }.hero { padding-top: 34px; }.hero-kicker { flex-wrap: wrap; line-height: 1.7; }.kicker-line { width: 35px; }.hero-grid { padding-top: 48px; }.hero-copy h1 { font-size: clamp(54px, 15vw, 78px); }.hero-lede { font-size: 16px; }.hero-visual { min-height: 370px; margin-top: 10px; }.signal-card { padding: 18px; }.signal-title { margin-top: 48px; font-size: 42px; }.tag-top { right: -1%; top: 11%; }.tag-bottom { left: -2%; bottom: 11%; }.hero-index { bottom: -3%; }.hero-trust { margin-top: 48px; gap: 10px 15px; font-size: 8px; }.section-intro h2 { font-size: 47px; }.proof-strip, .services, .process, .faq { padding-top: 75px; padding-bottom: 80px; }.metric-grid { margin-top: 50px; }.service-list { margin-top: 52px; }.service-row { grid-template-columns: 32px 1fr 18px; gap: 9px; align-items: start; padding: 22px 0; }.service-row:hover { padding-left: 8px; padding-right: 8px; }.service-tags { grid-column: 2 / -1; padding-top: 4px; }.service-row p { font-size: 12px; }.row-arrow { padding-top: 3px; }.case-study { padding-top: 32px; padding-bottom: 80px; }.case-heading h2 { font-size: 57px; }.stack-item-active { margin: 0 -10px; padding-left: 10px; padding-right: 10px; }.fit-section { padding-top: 20px; padding-bottom: 20px; }.fit-panel { padding: 30px 24px 32px; }.fit-panel h2 { font-size: 50px; }.faq-list { margin-top: 50px; }.faq-item summary { font-size: 19px; padding: 20px 0; }.faq-item p { font-size: 13px; padding-right: 5px; }.contact { padding-top: 20px; padding-bottom: 80px; }.contact-panel { padding: 30px 23px 36px; }.contact-mark { font-size: 78px; }.contact h2 { font-size: 57px; }.site-footer { align-items: flex-start; flex-direction: column; padding-top: 23px; padding-bottom: 23px; }.footer-links { flex-wrap: wrap; gap: 13px 18px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; }.reveal { opacity: 1; transform: none; transition: none; }.button, .service-row, .faq-item summary b { transition: none; } }
