@font-face{font-family:FreiraumSerif;src:url('assets/fonts/serif.ttf') format('truetype');font-style:normal;font-weight:400 700;font-display:swap}
@font-face{font-family:FreiraumSans;src:url('assets/fonts/sans.ttf') format('truetype');font-style:normal;font-weight:300 900;font-display:swap}
:root{--ink:#102d29;--muted:#4d5c61;--paper:#fcfbf7;--sage:#eef3e7;--green:#4f8137;--deep:#082e29;--line:#d3ddd1;--amber:#e49a20;--serif:FreiraumSerif,Georgia,serif;--sans:FreiraumSans,Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:22px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.43;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}
a:focus-visible,summary:focus-visible{outline:3px solid var(--amber);outline-offset:6px;border-radius:2px}
.container{width:min(1120px,calc(100% - 96px));margin-inline:auto}
.skip-link{position:absolute;z-index:10;top:-100px;left:20px;background:var(--paper);padding:12px 18px}
.skip-link:focus{top:12px}
.site-header{background:var(--paper)}
.header-inner{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.wordmark{font-size:39px;letter-spacing:-1.8px;font-weight:750;line-height:1;text-decoration:none}
nav{display:flex;gap:36px;font-size:16px;color:#405353}
nav a{text-decoration:none;padding:12px 0}
nav a:hover{text-decoration:underline}
.photo-section{position:relative;isolation:isolate;color:#fff;overflow:hidden;background:var(--deep)}
.scene,.photo-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2;object-fit:cover}
.hero-scene{object-position:67% 49%}
.photo-shade{z-index:-1;background:linear-gradient(90deg,rgba(4,24,20,.81) 0%,rgba(6,22,17,.65) 43%,rgba(8,25,20,.08) 80%)}
.hero-content{min-height:514px;padding-block:72px 66px}
.eyebrow{margin:0 0 12px;font-size:19px;font-weight:550}
h1,h2{font-family:var(--serif);letter-spacing:-1.4px;font-weight:700;line-height:1.12}
h1{font-size:clamp(38px,4.4vw,60px);max-width:940px;margin:0 0 24px;text-wrap:balance}
.underline{text-decoration:underline;text-decoration-color:var(--amber);text-decoration-thickness:5px;text-underline-offset:10px}
.hero-copy{max-width:635px;font-size:21px;line-height:1.42;margin:0 0 26px;text-wrap:pretty}
.hero-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:55px;padding:13px 25px;background:var(--green);color:#fff;text-decoration:none;border-radius:13px;font-size:20px;line-height:1.15;font-weight:650;transition:background-color .15s}
.button img{filter:brightness(0) invert(1);flex:none}
.button:hover{background:#3e6c2b}
.text-link{font-size:17px;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:8px;padding-block:10px}
.familiar-work{border-bottom:1px solid #ecefe6}
.familiar-grid{list-style:none;padding:24px 0;margin-block:0;display:grid;grid-template-columns:repeat(3,1fr)}
.familiar-grid li{display:flex;align-items:center;gap:17px;min-width:0;padding-inline:27px;font-size:15px;line-height:1.3;border-right:1px solid var(--line)}
.familiar-grid li:first-child{padding-left:0}
.familiar-grid li:last-child{padding-right:0;border:0}
.familiar-grid img{flex:none}
.section{padding-block:49px}
h2{font-size:clamp(30px,3.2vw,43px);margin:0 0 30px;text-wrap:balance}
h3{font-size:20px;font-weight:650;letter-spacing:-.45px;line-height:1.28;margin:0 0 7px;text-wrap:pretty}
p{margin:0;color:inherit}
.process-grid{display:grid;grid-template-columns:1fr 1fr;list-style:none;gap:34px 54px;padding:0;margin:0}
.process-grid li{display:grid;grid-template-columns:78px 1fr;align-items:start;gap:22px;padding-right:25px}
.process-grid li:nth-child(even){border-left:1px solid var(--line);padding-left:42px;padding-right:0;margin-left:-18px;grid-template-columns:78px 1fr}
.icon-disc,.initial{width:76px;height:76px;border-radius:50%;background:#e8efdd;display:flex;align-items:center;justify-content:center;flex:none}
.process-grid p,.three-columns p,.founders p{color:var(--muted)}
.process-grid p{max-width:360px}
.sage{background:var(--sage)}
.section-label{text-transform:uppercase;letter-spacing:2px;color:#ac6500;font-size:14px;font-weight:700;margin:0 0 9px}
.results h2{margin-bottom:32px}
.three-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.three-columns article{padding-inline:30px;border-right:1px solid #c7d6c3}
.three-columns article:first-child{padding-left:0}
.three-columns article:last-child{padding-right:0;border:0}
.result-grid{text-align:center}
.result-grid article{display:flex;flex-direction:column;align-items:center}
.large-icon{margin:0 0 17px}
.three-columns h3{margin-bottom:7px}
.three-columns p{font-size:18px;line-height:1.36;text-wrap:pretty}
.founders h2{font-size:clamp(29px,3vw,40px)}
.founder-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;margin:0 0 25px}
.founder-grid article{display:flex;align-items:flex-start;gap:24px}
.founder-grid article+article{border-left:1px solid var(--line);padding-left:42px;margin-left:-18px}
.initial{font-family:var(--serif);font-size:38px}
.founder-grid h3{padding-top:3px}
.founder-note h3{font-size:20px}
.founder-note p{line-height:1.46}
.starting h2{margin-bottom:27px}
.starting-grid article{padding-inline:38px}
.starting-grid h3{max-width:280px}
.starting-grid .large-icon{margin-bottom:16px}
.closing .photo-shade{background:linear-gradient(90deg,rgba(3,39,30,.96),rgba(3,34,26,.82) 35%,rgba(3,34,26,.12) 70%)}
.closing-scene{object-position:72% 52%}
.closing-content{min-height:405px;padding-block:45px}
.closing h2{font-size:clamp(31px,3.1vw,43px);max-width:600px;margin:0 0 14px}
.closing-content>p{font-size:20px;line-height:1.35;margin-bottom:23px}
.contact-address{display:flex;align-items:flex-start;gap:15px;margin-top:23px;font-size:16px;line-height:1.45}
.contact-address>img{filter:brightness(0) invert(1);margin-top:2px}
.contact-address span{display:block}
.contact-address a{display:inline-block;text-decoration:none;overflow-wrap:anywhere}
.contact-address a:hover{text-decoration:underline}
.site-footer{padding-block:26px 30px;font-size:14px;background:#f5f5ee;color:#455b54}
.footer-top{display:flex;align-items:center;gap:26px;justify-content:space-between;margin-bottom:16px}
.footer-brand{font-size:21px;font-weight:700;color:var(--ink)}
.legal-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
details{border-top:1px solid var(--line);padding-block:13px 0;min-width:0}
summary{cursor:pointer;width:fit-content;font-weight:600;padding:4px 0}
.detail-content{padding-top:15px;overflow-wrap:anywhere}
.detail-content p+p{margin-top:12px}
.legal-small{font-size:13px}
.mobile-break{display:none}
@media(min-width:1450px){.hero-content{min-height:560px;padding-block:84px}.closing-content{min-height:430px}}
@media(max-width:1000px){.container{width:calc(100% - 64px)}h1{font-size:46px;max-width:750px}.hero-copy{font-size:20px;max-width:580px}.hero-content{min-height:490px;padding-block:62px}.process-grid{gap:30px 34px}.process-grid li{grid-template-columns:64px 1fr;gap:16px;padding-right:10px}.process-grid li:nth-child(even){grid-template-columns:64px 1fr;padding-left:25px;margin-left:-10px}.icon-disc,.initial{width:62px;height:62px}.three-columns article,.starting-grid article{padding-inline:21px}h3{font-size:19px}.three-columns p{font-size:17px}.founder-grid{gap:34px}.founder-grid article{gap:16px}.founder-grid article+article{padding-left:25px;margin-left:-10px}.familiar-grid li{gap:10px;padding-inline:15px;font-size:14px}}
@media(max-width:650px){body{font-size:16px}.container{width:calc(100% - 40px)}.header-inner{min-height:78px;gap:15px;flex-wrap:wrap;padding-block:18px}.wordmark{font-size:32px}nav{gap:17px;font-size:14px}nav a{padding:5px 0}.hero-content{min-height:545px;padding-block:49px 42px}.hero-scene{object-position:74% 50%}.hero .photo-shade{background:linear-gradient(90deg,rgba(3,24,20,.84),rgba(3,24,20,.64) 68%,rgba(3,24,20,.3))}.eyebrow{font-size:16px;margin-bottom:14px}h1{font-size:36px;letter-spacing:-1px;line-height:1.17;margin-bottom:23px;max-width:520px;text-wrap:initial}.underline{text-decoration-thickness:3px;text-underline-offset:7px}.hero-copy{font-size:18px;max-width:480px;margin-bottom:25px}.hero-actions{gap:14px 24px}.button{font-size:18px;min-height:52px;padding:13px 21px;gap:20px}.text-link{font-size:15px}.familiar-grid{grid-template-columns:1fr;padding-block:8px}.familiar-grid li,.familiar-grid li:first-child,.familiar-grid li:last-child{padding:11px 0;border:0;gap:15px;font-size:14px}.familiar-grid img{width:25px;height:25px}.section{padding-block:37px}h2{font-size:30px;line-height:1.19;letter-spacing:-1px;margin-bottom:26px}.process-grid{grid-template-columns:1fr;gap:24px}.process-grid li,.process-grid li:nth-child(even){border:0;margin:0;padding:0;grid-template-columns:58px 1fr;gap:17px}.icon-disc,.initial{width:58px;height:58px}.icon-disc img{width:29px;height:29px}.process-grid p{max-width:none}.process-grid h3{padding-top:1px;font-size:18px}.three-columns{grid-template-columns:1fr;gap:23px}.three-columns article,.three-columns article:first-child,.three-columns article:last-child{padding:0 0 23px;border:0;border-bottom:1px solid #c7d6c3}.three-columns article:last-child{padding-bottom:0;border:0}.result-grid article{text-align:left;align-items:flex-start;display:grid;grid-template-columns:46px 1fr;column-gap:18px}.result-grid .large-icon{grid-row:1/3;width:40px;height:40px;margin:3px 0 0}.result-grid h3{margin:0 0 6px}.result-grid p{grid-column:2}.three-columns p{font-size:17px}.founders h2{font-size:29px}.mobile-break{display:block}.founder-grid{grid-template-columns:1fr;gap:24px}.founder-grid article,.founder-grid article+article{gap:17px;padding:0;border:0;margin:0}.initial{font-size:30px}.founder-note h3{font-size:18px}.starting-grid article{display:grid;grid-template-columns:46px 1fr;column-gap:18px}.starting-grid .large-icon{grid-row:1/3;width:40px;height:40px;margin:1px 0 0}.starting-grid p{grid-column:2}.starting-grid h3{max-width:none;margin:0 0 7px}.closing-content{min-height:430px;padding-block:40px}.closing h2{font-size:31px}.closing-scene{object-position:64% 50%}.closing .photo-shade{background:linear-gradient(90deg,rgba(3,39,30,.93),rgba(3,34,26,.75) 58%,rgba(3,34,26,.16))}.closing-content>p{font-size:18px}.contact-address{font-size:15px;margin-top:23px}.site-footer{padding-block:22px}.footer-top{display:block;margin-bottom:20px}.footer-top>span{display:block}.footer-brand{margin-bottom:5px}.legal-grid{grid-template-columns:1fr;gap:9px}}
@media(max-width:375px){.header-inner{justify-content:center}nav{justify-content:center;gap:27px}.hero-content{min-height:565px}h1{font-size:34px}.hero-actions{gap:10px 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
/* A visible address is the primary contact path; mail clients are optional. */
button{font-family:inherit;cursor:pointer}
button:focus-visible{outline:3px solid var(--amber);outline-offset:6px}
button.button{border:0}
.contact-address a{font-size:clamp(18px,2vw,24px);font-weight:650}
.contact-dialog{width:min(620px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--line);border-radius:20px;padding:44px 40px 30px;background:var(--paper);color:var(--ink);box-shadow:0 24px 90px #082e2940}
.contact-dialog::backdrop{background:rgba(4,24,20,.68)}
.contact-dialog h2{margin:0 0 16px;font-size:38px}
.contact-dialog #dialog-intro{color:var(--muted);font-size:19px}
.dialog-close{position:absolute;right:12px;top:10px;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:var(--ink);font-size:32px;line-height:1}
.dialog-close:hover{background:var(--sage)}
.dialog-email{font-size:clamp(20px,3.4vw,32px);font-weight:650;letter-spacing:-.6px;line-height:1.4;margin:27px 0;user-select:all;overflow-wrap:anywhere}
.dialog-actions{display:flex;align-items:center;flex-wrap:wrap;gap:19px 24px}
.dialog-mail-link{font-size:16px;padding-block:10px}
.copy-status{font-size:14px;color:var(--muted);margin-top:22px;min-height:40px;line-height:1.4}
@media(max-width:650px){.contact-dialog{padding:42px 24px 24px}.contact-dialog h2{font-size:30px}.dialog-email{font-size:clamp(20px,6.2vw,28px);letter-spacing:-.4px;margin-block:24px}.dialog-actions{align-items:flex-start;flex-direction:column;gap:12px}.contact-dialog #dialog-intro{font-size:17px}}
