:root{--ink:#23282b;--blue:#3a5e78;--green:#4e6b58;--paper:#f2f0ea;--off-white:#fbfaf8;--muted:#53666a;--line:#d8dcd9;--white:#fff}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:28px}
body{margin:0;color:var(--ink);background:var(--white);font-family:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,Arial,sans-serif;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}button{font:inherit}button,a{touch-action:manipulation}
a:focus-visible,button:focus-visible{outline:3px solid var(--green);outline-offset:6px}
.shell{width:min(1240px,calc(100% - 104px));margin-inline:auto}
.skip-link{position:absolute;left:16px;top:12px;z-index:10;background:var(--blue);color:white;padding:10px 16px;transform:translateY(-160%)}.skip-link:focus{transform:none}
.site-header{background:#fff}.header-inner{height:133px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:32px}
.wordmark{display:block;position:relative;flex:0 0 154px;width:154px;height:78px;overflow:hidden}
.wordmark img{position:absolute;width:202px;height:202px;max-width:none;left:-24px;top:-63px}
nav{display:flex;align-items:center;gap:36px;font-size:14px;font-weight:600}nav a{padding-block:12px;white-space:nowrap}nav a:hover{color:var(--blue)}
.nav-contact{display:flex;gap:26px;align-items:center;border-bottom:1px solid var(--blue);color:var(--blue)}.nav-contact span{font-size:22px}
.hero{display:grid;grid-template-columns:1.27fr 1fr;align-items:center;gap:56px;padding-block:78px 86px}
.eyebrow{color:var(--green);font-size:11px;font-weight:700;letter-spacing:2.2px;text-transform:uppercase;line-height:1.6;margin:0 0 24px;display:flex;align-items:center;gap:12px}
.small-line{width:29px;height:1px;background:currentColor;flex-shrink:0}
h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:600}h1{font-size:clamp(50px,5.25vw,74px);line-height:1.06;letter-spacing:-3.5px;margin-bottom:28px}h1 span{color:var(--blue)}
.hero-description{font-size:20px;line-height:1.6;max-width:490px;margin-bottom:14px}.hero-detail{color:var(--muted);font-size:16px;line-height:1.7;max-width:470px;margin-bottom:32px}
.hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:15px 21px;font-size:14px;font-weight:600;border:1px solid var(--blue);transition:background .18s ease,transform .18s ease}.primary{background:var(--blue);color:white}.primary:hover{background:#2d4a60;transform:translateY(-2px)}.button span{font-size:21px;line-height:1}.text-link{font-size:13px;color:var(--blue);display:inline-flex;gap:18px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.text-link:hover{border-color:var(--blue)}
.brand-field{height:503px;position:relative;background:var(--off-white);overflow:hidden;border:1px solid #e8e9e4;margin-top:12px;isolation:isolate}.field-top{position:relative;z-index:2;display:flex;justify-content:space-between;gap:10px;margin:27px 27px 0;font-size:9px;letter-spacing:1.6px;color:var(--muted);font-weight:600}.field-contours{position:absolute;z-index:-1;inset:-100px -32px;width:calc(100% + 64px);height:calc(100% + 200px);object-fit:cover}.field-mark{position:absolute;top:41px;left:0;right:0;height:370px;display:flex;align-items:center;justify-content:center}.field-mark img{width:440px;max-width:114%;height:auto}.field-bottom{position:absolute;inset:auto 27px 23px;display:flex;align-items:center;justify-content:space-between;color:var(--muted)}.field-bottom p{margin:0;text-align:center;font-size:14px;line-height:1.65}.field-bottom strong{font-weight:600;color:var(--green)}.field-cross{font-size:23px;font-weight:300;color:var(--green)}
.intro-band{background:var(--paper)}.intro-inner{padding-block:28px;display:flex;align-items:center;justify-content:space-between;gap:40px}.intro-inner p{margin:0;font-size:15px;line-height:1.7}.intro-inner p:first-child{font-size:17px}.intro-inner p:last-child{color:var(--muted)}.intro-inner strong{font-weight:600;color:var(--blue)}
.section{padding-block:103px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:54px}.section-heading .eyebrow{margin-bottom:18px}h2{font-size:clamp(31px,3.15vw,43px);letter-spacing:-1.7px;line-height:1.2;margin-bottom:0;color:var(--blue)}.section-intro{max-width:300px;font-size:16px;color:var(--muted);margin:0 0 2px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:42px}.service{border-top:1px solid var(--line);padding-top:27px}.service-symbol{width:40px;height:40px;color:var(--green);margin-bottom:24px}.service-symbol svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}h3{font-size:21px;letter-spacing:-.6px;line-height:1.35;margin-bottom:15px}.service p{color:var(--muted);font-size:15px;line-height:1.8;margin-bottom:27px;min-height:81px}.service-note{display:block;color:var(--green);font-size:11px;letter-spacing:.8px;font-weight:600}
.approach{background:var(--off-white);border-block:1px solid #e8e9e4;position:relative}.approach-inner{display:grid;grid-template-columns:1fr 1.05fr;gap:96px;padding-block:93px}.approach-heading h2{line-height:1.3;margin-bottom:26px}.approach-heading h2 span{color:var(--green)}.approach-heading>p:last-child{font-size:16px;color:var(--muted);line-height:1.8;margin-bottom:0}.steps{list-style:none;padding:0;margin:0;counter-reset:step}.steps li{display:grid;grid-template-columns:44px 1fr;gap:22px;padding:25px 0;border-top:1px solid var(--line)}.steps li:first-child{padding-top:0;border-top:0}.steps li:last-child{padding-bottom:0}.step-number{font-size:24px;color:var(--green);line-height:1.35;font-weight:300}.steps h3{color:var(--blue);font-size:21px;margin-bottom:9px}.steps p{font-size:15px;color:var(--muted);line-height:1.8;margin-bottom:0}
.founder{display:grid;grid-template-columns:1fr 1.05fr;gap:96px;align-items:center}.founder h2{font-size:35px;line-height:1.3}.founder-copy>p{font-size:21px;line-height:1.75;letter-spacing:-.35px}.founder-signature{display:flex;gap:18px;align-items:center;color:var(--green);margin-top:27px}.founder-signature strong{display:block;color:var(--ink);font-size:14px;font-weight:600}.founder-signature div>span{display:block;font-size:12px;color:var(--muted)}
.contact{background:var(--blue);color:white;position:relative;isolation:isolate;overflow:hidden}.contact::before{content:"";position:absolute;inset:-120px 0;z-index:-1;background:url("assets/topography.svg") right center / 790px auto no-repeat;filter:brightness(0) invert(1);opacity:.6;pointer-events:none}.contact-inner{padding-block:78px;display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:96px}.contact .eyebrow{color:#e4e9e3}.contact h2{font-size:48px;color:#fff;line-height:1.15;margin-bottom:23px;letter-spacing:-1.8px}.contact p:not(.eyebrow){color:#e7edf0;font-size:16px;margin-bottom:0;line-height:1.8}.contact-label{display:block;font-size:10px;letter-spacing:2px;color:#d1dfe5;margin-bottom:16px}.email-address{display:flex;align-items:center;justify-content:space-between;gap:18px;max-width:420px;border-bottom:1px solid #93a9b8;padding-bottom:18px;font-size:clamp(22px,2.5vw,33px);font-weight:400;letter-spacing:-.8px}.email-address:hover{border-color:white}.copy-email{display:block;margin-top:19px;padding:4px 0;border:none;border-bottom:1px solid transparent;cursor:pointer;background:none;color:#e7edf0;font-size:12px}.copy-email:hover{border-color:#e7edf0}.copy-email[hidden]{display:none}.contact .copy-status{min-height:24px;font-size:12px!important;margin-top:8px}.contact a:focus-visible,.contact button:focus-visible{outline-color:#fff}
.site-footer{background:var(--white)}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:25px;font-size:11px;color:var(--muted)}.footer-inner p{margin:0}.footer-inner>a{display:flex;gap:15px;padding:8px}.footer-inner>span{letter-spacing:.6px}
@media(min-width:1500px){.hero{gap:85px}.brand-field{height:520px}.field-mark{top:50px}}
@media(max-width:1080px){.shell{width:calc(100% - 64px)}.hero{gap:32px;padding-block:65px}h1{font-size:56px;letter-spacing:-2.8px}.brand-field{height:463px}.field-top{margin-inline:18px;letter-spacing:1px;font-size:8px}.field-mark{height:330px;top:35px}.field-bottom{inset:auto 18px 22px}.hero-actions{gap:16px}.section{padding-block:77px}.service-grid{gap:26px}.approach-inner,.founder,.contact-inner{gap:50px}.contact h2{font-size:41px}.email-address{font-size:25px}.intro-inner p:last-child br{display:none}.intro-inner p:last-child{max-width:340px}.section-heading{gap:32px}.section-intro{max-width:250px}}
@media(max-width:780px){.header-inner{height:113px;gap:20px}.wordmark{flex-basis:130px;width:130px;height:65px}.wordmark img{width:172px;height:172px;left:-21px;top:-54px}nav{gap:22px;font-size:12px}nav a:nth-child(2){display:none}.nav-contact{gap:13px}.hero{grid-template-columns:1fr;padding-block:51px;gap:43px}.hero-copy{max-width:600px}.hero h1{font-size:clamp(47px,8.5vw,65px)}.hero-description,.hero-detail{max-width:530px}.brand-field{height:355px;margin:0}.field-top{margin:21px 23px;font-size:9px;letter-spacing:1.4px}.field-mark{height:276px;top:11px}.field-mark img{width:328px}.field-bottom{inset:auto 23px 18px}.field-bottom p{font-size:12px}.field-contours{object-fit:cover;object-position:bottom}.intro-inner{align-items:flex-start;gap:24px}.intro-inner p,.intro-inner p:first-child{font-size:14px}.section-heading{display:block;margin-bottom:37px}.section-intro{max-width:500px;margin-top:23px}.service-grid{grid-template-columns:1fr}.service{display:grid;grid-template-columns:40px 1fr;column-gap:20px;padding-block:23px 0}.service-symbol{grid-row:1/4;margin:2px 0 0}.service h3{margin-bottom:10px}.service p{min-height:0;margin-bottom:15px;max-width:520px}.service-note{grid-column:2}.approach-inner,.founder,.contact-inner{grid-template-columns:1fr;gap:38px;padding-block:63px}.approach-heading h2 br:last-of-type{display:none}.approach-heading h2 span::before{content:" "}.founder{gap:27px}.founder h2{font-size:34px}.founder-copy>p{max-width:600px;font-size:19px}.contact-inner{gap:38px}.contact h2{font-size:45px}.contact-details{max-width:470px;width:100%}.email-address{font-size:29px;max-width:100%}.footer-inner{flex-wrap:wrap;gap:5px 20px}.footer-inner>span{width:100%}}
@media(max-width:440px){.shell{width:calc(100% - 42px)}.header-inner{height:102px}nav{gap:15px;font-size:11px}.wordmark{flex-basis:118px;width:118px;height:59px}.wordmark img{width:156px;height:156px;left:-19px;top:-49px}.nav-contact{gap:8px}.nav-contact span{font-size:18px}.hero{padding-top:40px}.eyebrow{font-size:9px;letter-spacing:1.6px;margin-bottom:21px}.hero h1{font-size:46px;letter-spacing:-2.5px}.hero-description{font-size:18px}.hero-detail{font-size:15px}.hero-actions{gap:13px}.button{font-size:13px;padding:14px 18px;gap:20px}.text-link{font-size:12px;gap:10px}.brand-field{height:321px}.field-mark{height:250px;top:8px}.field-mark img{width:299px}.field-top{font-size:7px}.field-bottom{bottom:15px}.intro-inner{display:block;padding-block:25px}.intro-inner p:last-child{margin-top:13px}.section{padding-block:57px}h2{font-size:31px;letter-spacing:-1.3px}.service{column-gap:16px}.service h3{font-size:20px}.service p{font-size:14px}.service-note{font-size:10px}.approach-inner,.contact-inner{padding-block:57px}.approach-heading h2 br:last-of-type{display:initial}.approach-heading h2 span::before{content:none}.steps li{gap:14px;grid-template-columns:36px 1fr}.steps h3{font-size:20px}.steps p{font-size:14px}.founder h2{font-size:30px}.founder-copy>p{font-size:18px}.contact h2{font-size:39px}.email-address{font-size:25px}.contact-label{font-size:9px}.footer-inner{font-size:10px}.footer-inner>span{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.primary:hover{transform:none}}

/* Website refinement: a quieter hierarchy and a useful first conversation. */
body{position:relative;isolation:isolate}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:url("assets/topography.svg") center top / max(100vw,950px) auto repeat-y}
.wordmark .header-wordmark{transition:opacity .25s ease,transform .3s ease}
.wordmark .compact-mark{width:96px;height:96px;left:-15px;top:-10px;opacity:0;transform:translateY(8px) scale(.9);transition:opacity .25s ease,transform .3s ease}
.site-header.is-compact .header-wordmark{opacity:0;transform:translateY(-8px)}
.site-header.is-compact .compact-mark{opacity:1;transform:none}
html{scroll-padding-top:140px;scroll-behavior:auto}
::selection{background:#dfe8dd;color:var(--ink)}
.site-header{position:sticky;top:0;z-index:20;background:var(--white);transition:box-shadow .25s ease}
.site-header.is-scrolled{box-shadow:0 1px 0 #d8dcd980,0 8px 30px #23282b06}
.header-inner{height:112px}
.skip-link{z-index:30}
nav a{position:relative}
nav a:not(.nav-contact)::after{content:"";position:absolute;bottom:4px;left:0;width:100%;height:1px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
nav a:hover::after,nav a[aria-current="location"]::after{transform:scaleX(1)}
nav a[aria-current="location"]{color:var(--green)}
.hero{padding-block:86px 94px}
.hero-description{font-size:22px;letter-spacing:-.35px}
.hero-actions a span,.nav-contact span,.email-address span,.starting-link span{transition:transform .2s ease}
.hero-actions a:hover span,.nav-contact:hover span,.email-address:hover span,.starting-link:hover span{transform:translate(3px,-3px)}
.text-link[href="#starting-point"]:hover span{transform:translateY(3px)}
.brand-field{border-color:#e2e5de;box-shadow:0 20px 50px -36px #4e6b5845}
.field-mark{transition:transform .65s cubic-bezier(.22,1,.36,1)}
.brand-field:hover .field-mark{transform:translateY(-5px)}
.field-contours{transition:transform 1.4s ease}
.brand-field:hover .field-contours{transform:scale(1.025)}
.service{position:relative;transition:border-color .25s ease}
.service::before{content:"";position:absolute;left:0;top:-1px;width:44px;height:2px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.service:hover::before{transform:scaleX(1)}
.service-symbol{transition:transform .3s ease}
.service:hover .service-symbol{transform:translateY(-3px)}
.service p{min-height:108px}
.starting-point{margin-top:84px;padding:48px;display:grid;grid-template-columns:.85fr 1.5fr;gap:60px;border:1px solid var(--line);background:var(--off-white);position:relative}
.starting-point::before{content:"";position:absolute;left:-1px;top:48px;width:3px;height:40px;background:var(--green)}
.starting-intro .eyebrow{font-size:10px;letter-spacing:1.6px;margin-bottom:16px}
.starting-intro h2{font-size:35px;line-height:1.16;letter-spacing:-1.3px}
.starting-intro>p:last-child{font-size:14px;line-height:1.8;color:var(--muted);margin:22px 0 0}
.problem-choices{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 30px}
.problem-choices[hidden]{display:none}
.problem-choices button{min-height:44px;padding:9px 13px;border:1px solid var(--line);border-radius:2px;background:transparent;color:var(--muted);font-size:12px;line-height:1.45;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}
.problem-choices button:hover{border-color:var(--green);color:var(--green)}
.problem-choices button[aria-pressed="true"]{background:var(--green);color:white;border-color:var(--green)}
.starting-response{min-height:208px}
.response-label{display:block;color:var(--green);font-size:10px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;margin-bottom:12px}
.starting-response h3{font-size:23px;color:var(--blue);margin-bottom:12px;letter-spacing:-.5px}
.starting-response>p{color:var(--muted);font-size:15px;line-height:1.75;margin-bottom:16px;max-width:540px}
.response-outcome{display:flex;align-items:flex-start;gap:12px;color:var(--green);max-width:490px}
.response-outcome>span{font-size:23px;line-height:1.4}
.response-outcome p{margin:3px 0 0;font-size:13px;line-height:1.65;font-weight:600}
.starting-link{margin-top:8px;font-weight:600}
.steps li{position:relative;grid-template-columns:18px 1fr;gap:23px;border:0;padding:0 0 33px}
.steps li:not(:last-child)::before{content:"";position:absolute;top:16px;bottom:-12px;left:5px;width:1px;background:#ccd6ca}
.step-node{width:11px;height:11px;border:1px solid var(--green);border-radius:50%;background:var(--off-white);margin-top:8px;position:relative;z-index:1}
.steps li:last-child .step-node{background:var(--green);box-shadow:0 0 0 5px #4e6b580c}
.steps h3{margin-bottom:9px}
.founder h2{font-size:clamp(32px,3.2vw,43px);letter-spacing:-1.6px;line-height:1.2}
.founder h2 span{color:var(--green)}
.founder-invitation{font-size:15px;line-height:1.8;color:var(--muted);max-width:335px;margin:24px 0 0}
.founder-copy>p{font-size:25px;line-height:1.6;letter-spacing:-.6px}
.founder-copy>.founder-detail{font-size:17px;line-height:1.8;letter-spacing:0;color:var(--muted);margin-bottom:0}
.contact .eyebrow{letter-spacing:2px}
.copy-email{min-height:44px}
.reveal-once{animation:arrive .6s cubic-bezier(.22,1,.36,1) both}
.response-enter{animation:response-in .25s ease both}
@keyframes arrive{from{transform:translateY(12px)}to{transform:none}}
@keyframes response-in{from{opacity:.5;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(min-width:1081px){.brand-field{transform:translateY(4px)}.hero h1{letter-spacing:-3.7px}.section-heading{margin-bottom:60px}}
@media(max-width:1080px){.starting-point{grid-template-columns:.8fr 1.3fr;gap:32px;padding:34px}.starting-intro h2{font-size:32px}.starting-response{min-height:250px}.hero{padding-block:65px}.hero-description{font-size:20px}.service p{min-height:135px}}
@media(max-width:780px){html{scroll-padding-top:132px}.header-inner{height:102px}.hero{padding-block:51px}.starting-point{grid-template-columns:1fr;gap:26px;margin-top:48px;padding:30px}.starting-intro h2 br{display:none}.starting-intro h2{font-size:31px}.starting-intro>p:last-child{margin-top:14px}.starting-intro>p:last-child br{display:none}.starting-response{min-height:0}.problem-choices{margin-bottom:24px}.starting-link{margin-top:20px}.service p{min-height:0}.founder-copy>p{font-size:23px}.founder-copy>.founder-detail{font-size:17px}.steps li{grid-template-columns:18px 1fr;gap:20px}.founder-invitation{max-width:440px}}
@media(max-width:440px){html{scroll-padding-top:110px}.header-inner{height:86px}.wordmark{transform:scale(.9);transform-origin:left center;flex-basis:118px}.hero{padding-top:42px}.hero-description{font-size:19px}.hero-actions{column-gap:24px;row-gap:8px}.starting-point{padding:25px 21px;margin-inline:-1px}.starting-intro h2{font-size:30px}.problem-choices{gap:7px}.problem-choices button{font-size:11px;padding:9px 10px}.starting-response h3{font-size:22px}.starting-response>p{font-size:14px}.starting-intro .eyebrow{font-size:9px}.founder h2{font-size:32px}.founder-copy>p{font-size:22px}.founder-copy>.founder-detail{font-size:16px}.starting-link{font-size:12px}}
/* Preserve the logo crop width; tighten gaps instead on narrow phones. */
@media(max-width:350px){.header-inner{gap:4px}nav{gap:8px}.nav-contact{gap:4px}}
@media(max-width:780px){.wordmark .compact-mark{width:82px;height:82px;left:-11px;top:-10px}body::before{background-size:850px auto;background-position:43% top}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.brand-field:hover .field-mark,.brand-field:hover .field-contours,.service:hover .service-symbol,.hero-actions a:hover span,.nav-contact:hover span,.email-address:hover span,.starting-link:hover span{transform:none}}
