@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Sora:wght@400;500;600;700;800&display=swap');

:root {
  --paper: #f4f1e8;
  --paper-deep: #e9e7db;
  --ink: #19322d;
  --ink-soft: #35524a;
  --body: #52645d;
  --line: #cbd0c3;
  --lime: #d9ef72;
  --lime-deep: #c6dd5e;
  --white: #fffdf6;
  --font-display: 'Sora', 'DM Sans', sans-serif;
  --font-body: 'DM Sans', Arial, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 88px; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--font-body); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
.wrap { width: min(1160px, calc(100% - 64px)); margin-inline: auto; }
.site-header { position: relative; z-index: 5; background: var(--paper); }
.header-inner { min-height: 82px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.brand { display: inline-flex; align-items: center; gap: 11px; font: 700 17px/1 var(--font-display); letter-spacing: -.6px; }
.brand-mark { width: 37px; height: 37px; display: grid; place-items: center; border-radius: 11px 11px 11px 3px; background: var(--ink); color: var(--lime); font: 700 23px/1 var(--font-display); letter-spacing: -2px; padding-right: 2px; }
.brand-mark span { color: var(--white); }
.site-header nav { display: flex; align-items: center; gap: 34px; font-size: 13px; font-weight: 600; }
.site-header nav a:not(.nav-contact) { color: var(--body); transition: color .18s ease; }
.site-header nav a:not(.nav-contact):hover { color: var(--ink); }
.nav-contact { padding: 12px 16px; border: 1px solid var(--ink); border-radius: 999px; transition: background .18s ease,color .18s ease; }
.nav-contact:hover { background: var(--ink); color: var(--white); }
.nav-contact span { margin-left: 9px; }

.hero { overflow: hidden; padding: 80px 0 0; background: var(--paper); }
.hero-layout { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 60px; }
.eyebrow { display: flex; align-items: center; gap: 9px; color: var(--ink-soft); font: 700 10px/1.4 var(--font-body); letter-spacing: 1.45px; }
.eyebrow span:not(.eyebrow-dot) { opacity: .55; }
.eyebrow-dot { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: #7d9e65; box-shadow: 0 0 0 4px #7d9e651c; }
.hero h1, h2, h3 { font-family: var(--font-display); }
.hero h1 { margin: 26px 0 22px; font-size: clamp(54px, 6.4vw, 85px); line-height: 1.07; letter-spacing: -.075em; font-weight: 600; }
.hero h1 em, h2 em { color: #638147; font-style: normal; }
.hero-lede { max-width: 510px; margin: 0; color: var(--body); font-size: 17px; line-height: 1.75; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 23px; margin-top: 30px; }
.button { display: inline-flex; min-height: 50px; align-items: center; justify-content: space-between; gap: 25px; border: 0; border-radius: 999px; padding: 0 20px; font-size: 12px; line-height: 1.2; font-weight: 700; transition: transform .18s ease,background .18s ease; cursor: pointer; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: var(--ink); background: var(--lime); }
.button-primary:hover,.button-lime:hover { background: var(--lime-deep); }
.button span { font-size: 16px; }
.quiet-link { font-size: 12px; font-weight: 700; }
.quiet-link span { margin-left: 6px; color: #638147; }
.hero-proof { display: flex; align-items: center; gap: 10px; margin-top: 35px; color: #66766b; font-size: 11px; font-weight: 500; }
.proof-icon { color: #789658; font-size: 18px; }

.workflow-visual { position: relative; overflow: hidden; min-height: 397px; padding: 25px 28px 22px; border-radius: 6px 38px 6px 6px; color: var(--white); background: var(--ink); box-shadow: 0 24px 65px #19322d1c; }
.workflow-visual::before { position: absolute; content: ''; width: 310px; height: 310px; border: 1px solid #ffffff0d; border-radius: 50%; right: -90px; top: 90px; box-shadow: 0 0 0 40px #ffffff08,0 0 0 80px #ffffff05; }
.visual-top,.visual-foot { display: flex; align-items: center; justify-content: space-between; position: relative; z-index: 1; font-size: 9px; font-weight: 700; letter-spacing: 1.25px; color: #bdc9b8; }
.visual-index { color: #86978c; }
.visual-title { position: relative; z-index: 1; margin: 28px 0 22px; font: 500 23px/1.3 var(--font-display); letter-spacing: -.9px; }
.lime-dot { color: var(--lime); }
.flow { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 8px; }
.flow-node { display: flex; align-items: center; gap: 13px; min-height: 57px; padding: 9px 13px; border: 1px solid #ffffff22; border-radius: 4px; background: #ffffff08; }
.flow-node-focus { border-color: #d9ef726e; background: #d9ef7213; }
.node-symbol { display: grid; width: 31px; height: 31px; place-items: center; border-radius: 50%; background: #ffffff12; color: var(--lime); font-size: 19px; }
.flow-node b,.flow-node small { display: block; }
.flow-node b { font-size: 11px; font-weight: 600; }
.flow-node small { margin-top: 4px; color: #afbeb4; font-size: 9px; }
.flow-connector { display: flex; height: 7px; align-items: center; justify-content: center; gap: 3px; }
.flow-connector span { width: 3px; height: 3px; border-radius: 50%; background: #8b9d8a; }
.visual-foot { margin-top: 20px; font-size: 8px; }
.visual-spark { color: var(--lime); font-size: 15px; }
.hero-ribbon { display: flex; min-height: 64px; align-items: center; gap: 23px; margin-top: 67px; border-top: 1px solid var(--line); color: #69786d; font-size: 9px; font-weight: 700; letter-spacing: 1.2px; }
.ribbon-line { width: 30px; height: 1px; background: #b5bdaf; }

.section { padding: 105px 0; }
.problem-section { background: var(--ink); color: var(--white); }
.eyebrow-dark { color: #748d68; }
.problem-section .eyebrow { color: var(--lime); }
.section-intro { display: grid; grid-template-columns: .75fr 1.2fr 1fr; align-items: start; gap: 35px; }
.section-intro .eyebrow { padding-top: 12px; }
.section-intro h2,.method-heading h2,.blueprint-copy h2,.fit-layout h2,.contact-copy h2 { margin: 0; font-size: clamp(37px, 4.5vw, 59px); line-height: 1.15; letter-spacing: -.065em; font-weight: 500; }
.problem-section .section-intro h2 { color: #f4f1e8; }
.problem-section .section-intro p { margin: 7px 0 0; color: #c2cec4; font-size: 14px; line-height: 1.8; }
.friction-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 13px; margin-top: 60px; }
.friction-card { position: relative; min-height: 212px; padding: 24px 23px 22px; border: 1px solid #ffffff20; border-radius: 4px; background: #ffffff07; }
.card-index { position: absolute; top: 24px; right: 23px; color: #82958b; font-size: 10px; letter-spacing: 1px; }
.card-icon { display: grid; width: 39px; height: 39px; place-items: center; border-radius: 50%; background: #d9ef7219; color: var(--lime); font-size: 19px; }
.friction-card h3 { margin: 24px 0 8px; font-size: 15px; letter-spacing: -.4px; }
.friction-card p { max-width: 275px; margin: 0; color: #becbc2; font-size: 12px; line-height: 1.7; }
.section-note { display: flex; align-items: center; gap: 11px; margin-top: 32px; color: #d0d8ca; font-size: 11px; }
.note-rule { width: 23px; height: 2px; background: var(--lime); }

.method-section { background: var(--paper); }
.method-heading { display: flex; align-items: end; justify-content: space-between; gap: 35px; margin-top: 23px; }
.method-heading h2 em,.fit-layout h2 em { color: #718b58; }
.method-heading p { max-width: 300px; margin: 0 0 5px; color: var(--body); font-size: 14px; line-height: 1.75; }
.steps { display: grid; grid-template-columns: repeat(3,1fr); gap: 0; margin-top: 48px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.step { min-height: 235px; padding: 21px 26px 29px 0; }
.step + .step { padding-left: 26px; border-left: 1px solid var(--line); }
.step-top { display: flex; align-items: center; justify-content: space-between; color: #70836c; font-size: 9px; font-weight: 700; letter-spacing: 1.2px; }
.step-arrow { color: #738b5a; font-size: 19px; }
.step h3 { margin: 35px 0 10px; font-size: 17px; letter-spacing: -.6px; }
.step p { max-width: 300px; margin: 0; color: var(--body); font-size: 12px; line-height: 1.8; }

.blueprint-section { background: var(--paper-deep); }
.blueprint-layout { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 77px; }
.blueprint-copy h2 { margin-top: 22px; }
.blueprint-copy h2 em { color: #718b58; }
.blueprint-copy > p { max-width: 415px; margin: 22px 0 0; color: var(--body); font-size: 14px; line-height: 1.8; }
.price-row { display: flex; align-items: center; gap: 17px; margin: 29px 0 24px; }
.price-row strong { font: 600 43px/1 var(--font-display); letter-spacing: -2px; }
.price-row span { color: #63746b; font-size: 8px; font-weight: 700; line-height: 1.7; letter-spacing: 1px; }
.button-dark { background: var(--ink); color: var(--white); }
.button-dark:hover { background: #2a4940; }
.report-card { padding: 29px 33px 22px; border: 1px solid #d4d4c9; border-radius: 4px; background: var(--white); box-shadow: 0 22px 55px #19322d13; }
.report-header,.report-footer { display: flex; align-items: center; justify-content: space-between; color: #718078; font-size: 8px; font-weight: 700; letter-spacing: 1px; }
.report-header i { padding: 0 4px; color: #9cb282; font-style: normal; }
.report-title { margin-top: 36px; font: 600 31px/1.2 var(--font-display); letter-spacing: -1.5px; }
.report-subtitle { margin-top: 9px; color: #748078; font-size: 10px; line-height: 1.6; }
.report-rule { height: 2px; margin: 20px 0 3px; background: var(--ink); }
.report-item { display: flex; gap: 15px; padding: 11px 0; border-bottom: 1px solid #e5e5dc; color: #314a42; font-size: 10px; font-weight: 600; }
.report-item span { color: #809379; font-size: 9px; font-weight: 700; }
.report-footer { margin-top: 20px; font-size: 7px; }

.fit-section { background: #f7f5ee; }
.fit-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 76px; }
.fit-layout h2 { margin-top: 22px; }
.fit-list article { display: grid; grid-template-columns: 33px 1fr; gap: 15px; padding: 18px 0; border-top: 1px solid var(--line); }
.fit-list article:last-child { border-bottom: 1px solid var(--line); }
.fit-list article > span { display: grid; width: 26px; height: 26px; place-items: center; border-radius: 50%; background: #e4ebd4; color: #647e4b; font-size: 10px; font-weight: 700; }
.fit-list h3 { margin: 1px 0 5px; font-size: 14px; letter-spacing: -.3px; }
.fit-list p { margin: 0; color: var(--body); font-size: 11px; line-height: 1.6; }

.contact-section { padding: 92px 0; background: var(--ink); color: var(--white); }
.contact-layout { display: grid; grid-template-columns: .95fr 1.05fr; gap: 86px; }
.eyebrow-light { color: var(--lime); }
.contact-copy h2 { margin-top: 23px; font-size: clamp(43px,5vw,66px); }
.contact-copy h2 em { color: var(--lime); }
.contact-copy > p { max-width: 420px; margin: 19px 0 0; color: #c6d1c7; font-size: 14px; line-height: 1.8; }
.contact-email { display: flex; flex-direction: column; gap: 7px; margin-top: 33px; }
.contact-email > span { color: #aab9ae; font-size: 10px; }
.contact-email a { width: fit-content; color: var(--lime); font-size: 15px; font-weight: 600; }
.contact-email a span { margin-left: 4px; }
.no-call { display: flex; align-items: center; gap: 9px; margin-top: 27px; color: #c6d1c7; font-size: 10px; }
.no-call span { color: var(--lime); font-size: 15px; }
.contact-form { display: flex; flex-direction: column; }
.contact-form label { margin: 0 0 7px; color: #eef1e8; font-size: 10px; font-weight: 600; }
.contact-form label:not(:first-child) { margin-top: 16px; }
.contact-form label span { margin-left: 4px; color: #9eada2; font-weight: 400; }
.contact-form input,.contact-form textarea { width: 100%; min-width: 0; border: 1px solid #52645b; border-radius: 3px; outline: none; padding: 12px 13px; background: #203a34; color: var(--white); font-size: 11px; }
.contact-form input:focus,.contact-form textarea:focus { border-color: var(--lime); box-shadow: 0 0 0 2px #d9ef7220; }
.contact-form input::placeholder,.contact-form textarea::placeholder { color: #a8b7ac; }
.contact-form textarea { min-height: 112px; resize: vertical; line-height: 1.6; }
.button-lime { align-self: flex-start; margin-top: 17px; background: var(--lime); color: var(--ink); }
.form-note { margin: 10px 0 0; color: #aab9ae; font-size: 9px; line-height: 1.6; }

.site-footer { background: #102722; color: #eaf0e7; }
.footer-inner { display: flex; min-height: 83px; align-items: center; justify-content: space-between; gap: 18px; }
.brand-footer { font-size: 14px; }
.brand-footer .brand-mark { width: 31px; height: 31px; font-size: 19px; background: #eaf0e7; color: var(--ink); }
.brand-footer .brand-mark span { color: #759457; }
.footer-inner p,.copyright,.footer-email { color: #b1c0b5; font-size: 9px; }
.footer-email { text-decoration: underline; text-decoration-color: #64796d; text-underline-offset: 3px; }
.footer-email:hover { color: var(--lime); }
.copyright { white-space: nowrap; }

@media (max-width: 900px) {
  .wrap { width: min(100% - 48px,1160px); }
  .hero { padding-top: 57px; }
  .hero-layout { gap: 34px; }
  .hero h1 { font-size: clamp(49px,7.2vw,70px); }
  .workflow-visual { min-height: 370px; padding-inline: 22px; }
  .section { padding: 78px 0; }
  .section-intro { grid-template-columns: .65fr 1.1fr 1fr; gap: 22px; }
  .blueprint-layout,.fit-layout,.contact-layout { gap: 45px; }
  .footer-inner { flex-wrap: wrap; padding-block: 18px; }
}
@media (max-width: 680px) {
  html { scroll-padding-top: 70px; }
  .wrap { width: min(100% - 36px,1160px); }
  .header-inner { min-height: 69px; }
  .brand { font-size: 14px; gap: 8px; }
  .brand-mark { width: 32px; height: 32px; font-size: 20px; border-radius: 9px 9px 9px 3px; }
  .site-header nav { gap: 0; }
  .site-header nav > a:not(.nav-contact) { display: none; }
  .nav-contact { padding: 10px 13px; font-size: 11px; }
  .hero { padding-top: 45px; }
  .hero-layout { grid-template-columns: 1fr; gap: 34px; }
  .eyebrow { font-size: 8px; letter-spacing: 1.05px; }
  .hero h1 { margin: 21px 0 16px; font-size: clamp(49px,12vw,70px); }
  .hero-lede { font-size: 15px; line-height: 1.7; }
  .hero-actions { gap: 17px; margin-top: 23px; }
  .button { min-height: 46px; padding-inline: 16px; font-size: 11px; }
  .hero-proof { margin-top: 24px; font-size: 9px; }
  .workflow-visual { min-height: 355px; }
  .hero-ribbon { min-height: 57px; gap: 11px; margin-top: 41px; font-size: 7px; letter-spacing: .7px; }
  .ribbon-line { width: 15px; }
  .section { padding: 63px 0; }
  .section-intro { grid-template-columns: 1fr; gap: 16px; }
  .section-intro .eyebrow { padding: 0; }
  .section-intro h2,.method-heading h2,.blueprint-copy h2,.fit-layout h2 { font-size: clamp(37px,9vw,52px); }
  .problem-section .section-intro p { max-width: 480px; font-size: 13px; }
  .friction-grid { grid-template-columns: 1fr; gap: 9px; margin-top: 29px; }
  .friction-card { min-height: 0; padding: 18px; }
  .friction-card h3 { margin: 15px 0 6px; }
  .card-index { top: 18px; right: 18px; }
  .section-note { align-items: flex-start; font-size: 10px; line-height: 1.6; }
  .method-heading { display: block; margin-top: 17px; }
  .method-heading p { margin-top: 15px; font-size: 12px; }
  .steps { grid-template-columns: 1fr; margin-top: 27px; }
  .step,.step + .step { min-height: 0; padding: 18px 0; border-left: 0; }
  .step + .step { border-top: 1px solid var(--line); }
  .step h3 { margin: 18px 0 7px; font-size: 15px; }
  .step p { font-size: 11px; }
  .blueprint-layout,.fit-layout,.contact-layout { grid-template-columns: 1fr; gap: 34px; }
  .blueprint-copy > p { font-size: 12px; }
  .price-row { margin: 22px 0; }
  .price-row strong { font-size: 39px; }
  .report-card { padding: 22px 19px 18px; }
  .report-title { margin-top: 27px; font-size: 26px; }
  .report-item { gap: 11px; font-size: 9px; }
  .fit-layout { gap: 25px; }
  .fit-list h3 { font-size: 12px; }
  .fit-list p { font-size: 10px; }
  .contact-section { padding: 67px 0; }
  .contact-copy h2 { font-size: clamp(43px,10vw,58px); }
  .contact-copy > p { font-size: 12px; }
  .contact-layout { gap: 31px; }
  .contact-email a { font-size: 14px; }
  .footer-inner { min-height: 0; justify-content: flex-start; gap: 13px 20px; padding-block: 20px; }
  .footer-inner p { display: none; }
  .footer-email { margin-left: auto; }
  .copyright { flex-basis: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,*::before,*::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* Dark forest palette and larger, calmer typography */
:root {
  --paper: #152521;
  --paper-deep: #20342f;
  --ink: #101c19;
  --ink-soft: #c5d2c5;
  --body: #c2cec3;
  --line: #435850;
  --lime: #d9ed78;
  --lime-deep: #c5dc62;
  --white: #e8e4d7;
  --font-display: 'DM Serif Display', Georgia, serif;
  --font-body: 'Source Sans 3', 'Segoe UI', sans-serif;
}
body { background: var(--paper); color: var(--white); font-size: 18px; }
.site-header,.hero,.method-section,.fit-section { background: #152521; color: var(--white); }
.header-inner { border-bottom-color: var(--line); }
.brand { font-family: var(--font-body); font-size: 19px; letter-spacing: -.2px; }
.brand-mark { background: var(--lime); color: var(--ink); border-radius: 10px 10px 10px 3px; }
.brand-mark span,.brand-footer .brand-mark span { color: #63804a; }
.site-header nav { font-size: 15px; }
.site-header nav a:not(.nav-contact) { color: #c2cec3; }
.site-header nav a:not(.nav-contact):hover { color: var(--lime); }
.nav-contact { border-color: #71877d; color: var(--white); font-size: 14px; }
.nav-contact:hover { background: var(--lime); border-color: var(--lime); color: var(--ink); }
.hero { padding-top: 85px; }
.eyebrow,.eyebrow-dark { color: #d5e891; font-size: 12px; letter-spacing: 1.35px; }
.eyebrow-dot { background: var(--lime); box-shadow: 0 0 0 4px #d9ed7820; }
.hero h1 { color: var(--white); font-family: var(--font-display); font-size: clamp(62px,7vw,96px); font-weight: 400; line-height: 1.04; letter-spacing: -.045em; }
.hero h1 em,h2 em,.method-heading h2 em,.blueprint-copy h2 em,.fit-layout h2 em { color: var(--lime); }
.hero-lede { color: #c7d2c8; font-size: 20px; line-height: 1.7; }
.button { min-height: 54px; padding-inline: 22px; font-size: 15px; }
.quiet-link { color: #e6e3d8; font-size: 15px; }
.quiet-link span,.proof-icon,.step-arrow { color: var(--lime); }
.hero-proof { color: #b8c7bc; font-size: 14px; }
.workflow-visual { min-height: 415px; background: #243b34; border-color: #526a5c; box-shadow: 0 22px 58px #07120f55; }
.visual-top,.visual-foot { color: #c7d2c2; font-size: 11px; letter-spacing: 1.1px; }
.visual-index { color: #a9b8aa; }
.visual-title { font-family: var(--font-display); font-size: 28px; font-weight: 400; letter-spacing: 0; }
.flow-node { min-height: 63px; background: #ffffff08; border-color: #71867a; }
.flow-node-focus { background: #d9ed7819; border-color: #d9ed78a0; }
.flow-node b { color: #f0ecdf; font-size: 15px; }
.flow-node small { color: #c4d0c4; font-size: 13px; }
.node-symbol { width: 35px; height: 35px; font-size: 21px; }
.hero-ribbon { border-top-color: var(--line); color: #c0cec1; font-size: 11px; }
.ribbon-line { background: #607469; }
.section { padding: 112px 0; }
.problem-section { background: #1c302b; color: var(--white); }
.problem-section .eyebrow { color: var(--lime); }
.section-intro h2,.method-heading h2,.blueprint-copy h2,.fit-layout h2,.contact-copy h2 { color: #ebe7da; font-family: var(--font-display); font-size: clamp(48px,5vw,68px); font-weight: 400; letter-spacing: -.035em; line-height: 1.13; }
.problem-section .section-intro h2 { color: #ebe7da; }
.problem-section .section-intro p,.method-heading p,.blueprint-copy > p,.contact-copy > p { color: #c4d0c5; font-size: 17px; line-height: 1.8; }
.friction-grid { gap: 16px; }
.friction-card { min-height: 238px; padding: 27px 25px; background: #263c35; border-color: #52685e; }
.card-index { color: #c0ccb9; font-size: 12px; }
.card-icon { width: 43px; height: 43px; font-size: 22px; }
.friction-card h3 { color: #eeeadd; font-size: 20px; letter-spacing: -.35px; }
.friction-card p { color: #c5d0c5; font-size: 16px; line-height: 1.65; }
.section-note { color: #d5dfd2; font-size: 14px; }
.method-section { background: #152521; }
.method-heading { margin-top: 26px; }
.method-heading p { max-width: 365px; }
.steps { border-color: var(--line); }
.step { min-height: 260px; padding-top: 25px; }
.step + .step { border-left-color: var(--line); }
.step-top { color: #ced9bd; font-size: 12px; letter-spacing: 1px; }
.step-arrow { font-size: 22px; }
.step h3 { margin-top: 38px; color: #eeeadd; font-family: var(--font-body); font-size: 22px; font-weight: 600; letter-spacing: -.3px; }
.step p { color: #c4d0c5; font-size: 16px; line-height: 1.7; }
.blueprint-section { background: #20342f; color: var(--white); }
.blueprint-copy > p { max-width: 455px; }
.price-row strong { color: var(--lime); font-family: var(--font-display); font-size: 52px; font-weight: 400; }
.price-row span { color: #c5d0c4; font-size: 11px; letter-spacing: .8px; }
.button-dark { background: var(--lime); color: var(--ink); }
.button-dark:hover { background: var(--lime-deep); }
.report-card { background: #293d36; border: 1px solid #63766b; box-shadow: 0 22px 55px #07120f3d; color: #ece8db; }
.report-header,.report-footer { color: #c1cec0; font-size: 10px; letter-spacing: .9px; }
.report-header i { color: var(--lime); }
.report-title { color: #f0ecdf; font-family: var(--font-display); font-size: 37px; font-weight: 400; letter-spacing: -.6px; }
.report-subtitle { color: #c3cfc2; font-size: 14px; }
.report-rule { background: #9eae9b; }
.report-item { border-bottom-color: #53665b; color: #e0e2d4; font-size: 15px; font-weight: 500; }
.report-item span { color: var(--lime); font-size: 13px; }
.fit-section { background: #172923; }
.fit-list article { border-color: #435850; }
.fit-list article > span { background: #d9ed78; color: #20342f; font-size: 13px; }
.fit-list h3 { color: #eeeadd; font-size: 18px; }
.fit-list p { color: #c2cec3; font-size: 15px; line-height: 1.65; }
.contact-section { background: #101c19; color: var(--white); }
.contact-copy h2 { font-size: clamp(52px,5.4vw,72px); }
.contact-copy > p { max-width: 455px; }
.contact-email > span { color: #c0cec1; font-size: 14px; }
.contact-email a { color: var(--lime); font-size: 19px; }
.no-call { color: #c2cec3; font-size: 14px; }
.contact-form label { color: #e8e4d7; font-size: 14px; }
.contact-form label:not(:first-child) { margin-top: 19px; }
.contact-form label span { color: #b8c6ba; }
.contact-form input,.contact-form textarea { padding: 14px 15px; background: #1d322c; border-color: #60746a; color: #f0ecdf; font-size: 16px; }
.contact-form input::placeholder,.contact-form textarea::placeholder { color: #b5c4b6; }
.contact-form textarea { min-height: 130px; }
.button-lime { background: var(--lime); color: var(--ink); }
.form-note { color: #bac8bd; font-size: 13px; }
.site-footer { background: #0b1714; color: #e8e4d7; }
.brand-footer { color: #e8e4d7; }
.brand-footer .brand-mark { background: var(--lime); color: var(--ink); }
.footer-inner p,.copyright,.footer-email { color: #c0cec1; font-size: 13px; }

@media (max-width: 900px) {
  .hero h1 { font-size: clamp(56px,8vw,76px); }
  .section { padding: 88px 0; }
}
@media (max-width: 680px) {
  body { font-size: 17px; }
  .brand { font-size: 16px; }
  .site-header nav { font-size: 14px; }
  .hero { padding-top: 50px; }
  .hero h1 { font-size: clamp(49px,12vw,66px); line-height: 1.06; }
  .hero-lede { font-size: 18px; line-height: 1.65; }
  .hero-proof { align-items: flex-start; font-size: 13px; line-height: 1.5; }
  .button { min-height: 50px; font-size: 14px; }
  .quiet-link { font-size: 14px; }
  .visual-top,.visual-foot { font-size: 10px; }
  .visual-title { font-size: 25px; }
  .flow-node b { font-size: 14px; }
  .flow-node small { font-size: 12px; }
  .hero-ribbon { gap: 8px; font-size: 8px; }
  .section { padding: 70px 0; }
  .section-intro h2,.method-heading h2,.blueprint-copy h2,.fit-layout h2 { font-size: clamp(42px,10vw,54px); }
  .problem-section .section-intro p,.method-heading p,.blueprint-copy > p,.contact-copy > p { font-size: 16px; }
  .friction-card { padding: 20px; }
  .friction-card h3 { margin-top: 16px; font-size: 19px; }
  .friction-card p { font-size: 15px; }
  .section-note { font-size: 13px; }
  .step h3 { font-size: 20px; }
  .step p { font-size: 15px; }
  .price-row strong { font-size: 46px; }
  .price-row span { font-size: 10px; }
  .report-title { font-size: 31px; }
  .report-subtitle { font-size: 13px; }
  .report-item { font-size: 13px; }
  .report-header,.report-footer { font-size: 9px; }
  .fit-list h3 { font-size: 16px; }
  .fit-list p { font-size: 14px; }
  .contact-copy h2 { font-size: clamp(48px,11vw,60px); }
  .contact-email > span { font-size: 13px; }
  .contact-email a { font-size: 18px; }
  .no-call { font-size: 13px; }
  .contact-form label { font-size: 13px; }
  .contact-form input,.contact-form textarea { font-size: 16px; }
  .form-note { font-size: 12px; }
  .footer-email,.copyright { font-size: 12px; }
  .footer-inner { gap: 14px 18px; }
}

@media (min-width: 901px) {
  .hero h1 { font-size: clamp(58px,5.4vw,74px); }
}


/* Refinements: quieter supporting type, natural section rhythm, unified line icons */
.eyebrow,.visual-top,.visual-foot,.hero-ribbon,.step-top,.report-header,.report-footer,
.card-index,.price-row span { font-weight: 500; }
.eyebrow { font-size: 13px; letter-spacing: 1px; }
.visual-top,.visual-foot { font-size: 12px; font-weight: 500; letter-spacing: .75px; }
.visual-foot { gap: 12px; }
.hero-ribbon { font-size: 12px; font-weight: 500; letter-spacing: .85px; }
.section-intro { gap: 42px; }
.section-intro h2 { max-width: 620px; }
.problem-section .section-intro p { font-weight: 400; }
.card-index,.step-top { font-size: 13px; font-weight: 500; letter-spacing: .7px; }
.price-row span { font-size: 12px; letter-spacing: .55px; }
.report-header,.report-footer { font-size: 11px; font-weight: 500; letter-spacing: .7px; }
.report-item { font-size: 16px; font-weight: 400; }
.report-item span { font-weight: 500; }
.form-note { font-weight: 400; }
.brand-mark { padding: 0; }
.brand-mark svg { width: 26px; height: 26px; overflow: visible; fill: none; stroke: currentColor; stroke-width: 2.3; stroke-linecap: round; stroke-linejoin: round; }
.icon-svg { display: block; width: 20px; height: 20px; }
.node-symbol,.card-icon,.proof-icon { display: grid; place-items: center; flex: 0 0 auto; }
.node-symbol .icon-svg { width: 19px; height: 19px; }
.card-icon .icon-svg { width: 22px; height: 22px; }
.proof-icon .icon-svg,.visual-spark .icon-svg { width: 17px; height: 17px; }
.step-arrow .icon-svg { width: 20px; height: 20px; }
.no-call > span { display: grid; place-items: center; }
.no-call .icon-svg { width: 17px; height: 17px; }
@media (max-width: 680px) {
  .eyebrow { font-size: 11px; letter-spacing: .8px; }
  .visual-top,.visual-foot { font-size: 10px; }
  .hero-ribbon { font-size: 8px; }
  .section-intro { gap: 14px; }
  .card-index,.step-top { font-size: 12px; }
  .price-row span { font-size: 10px; }
  .report-header,.report-footer { font-size: 9px; }
  .report-item { font-size: 13px; }
}

.brand-mark svg { width: 30px; height: 24px; } .brand-footer .brand-mark svg { width: 25px; height: 20px; }

/* Mobile navigation and clearer form feedback */
.menu-toggle { display:none; }
.form-note { max-width: 560px; }
.form-note.is-ready { color: var(--lime); }
@media (max-width:680px) {
  .header-inner { position:relative; }
  .menu-toggle { display:inline-flex; align-items:center; gap:8px; order:3; padding:9px 11px; border:1px solid #60746a; border-radius:999px; color:var(--white); background:transparent; font:500 13px/1 var(--font-body); }
  .menu-lines { position:relative; display:block; width:15px; height:10px; border-top:1.5px solid currentColor; border-bottom:1.5px solid currentColor; }
  .site-header nav { display:none; position:absolute; top:calc(100% - 1px); right:0; left:0; z-index:8; flex-direction:column; align-items:stretch; gap:0; padding:8px 18px; border:1px solid var(--line); border-radius:0 0 12px 12px; background:#152521; box-shadow:0 14px 28px #07120f55; }
  .site-header nav.is-open { display:flex; }
  .site-header nav > a:not(.nav-contact) { display:block; padding:13px 2px; border-bottom:1px solid var(--line); font-size:15px; }
  .site-header nav .nav-contact { align-self:flex-start; margin:12px 0 6px; }
}


/* Neutral graphite and warm stone palette */
:root {
  --paper:#242629;
  --paper-deep:#303236;
  --ink:#1b1d20;
  --ink-soft:#c9c6be;
  --body:#c4c2bb;
  --line:#4a4b4e;
  --lime:#d1c7ad;
  --lime-deep:#beb39a;
  --white:#ebe8df;
}
.site-header,.hero,.method-section { background:#242629; }
.problem-section { background:#2a2c2f; }
.blueprint-section { background:#303236; }
.fit-section { background:#27292c; }
.contact-section { background:#1d1f22; }
.site-footer { background:#17191c; }
.workflow-visual { background:#303337; border-color:#57595b; }
.workflow-visual::before { border-color:#ffffff0d; }
.flow-node { border-color:#68696a; }
.flow-node-focus { background:#d1c7ad14; border-color:#d1c7ad88; }
.node-symbol,.card-icon { background:#d1c7ad18; color:var(--lime); }
.friction-card { background:#343639; border-color:#5a5b5d; }
.friction-card h3,.step h3,.fit-list h3 { color:#ebe8df; }
.fit-list article { border-color:#4a4b4e; }
.fit-list article > span { background:#d1c7ad; color:#27292c; }
.report-card { background:#37393c; border-color:#656669; color:#ebe8df; }
.report-rule { background:#9d9b94; }
.report-item { border-bottom-color:#5a5b5e; color:#e0ddd5; }
.contact-form input,.contact-form textarea { background:#292b2e; border-color:#626366; }
.contact-form input:focus,.contact-form textarea:focus { border-color:var(--lime); box-shadow:0 0 0 2px #d1c7ad20; }
.nav-contact:hover { background:var(--lime); border-color:var(--lime); color:var(--ink); }
.menu-toggle { border-color:#626366; }
.site-header nav { background:#242629; }
.hero h1 em,h2 em,.method-heading h2 em,.blueprint-copy h2 em,.fit-layout h2 em { color:var(--lime); }
.proof-icon,.step-arrow,.quiet-link span,.report-item span,.contact-email a,.no-call span { color:var(--lime); }
.eyebrow,.eyebrow-dark,.problem-section .eyebrow,.eyebrow-light { color:#d1c7ad; }
.eyebrow-dot { background:var(--lime); box-shadow:0 0 0 4px #d1c7ad20; }
.button-primary,.button-lime,.button-dark { background:var(--lime); color:var(--ink); }
.button-primary:hover,.button-lime:hover,.button-dark:hover { background:var(--lime-deep); }
.brand-mark { background:var(--lime); }
@media (max-width:680px) { .site-header nav { background:#242629; } }
