@charset "UTF-8";
:root { --paper:#f5f3ec; --ink:#263d2e; --muted:#526047; --line:#cbd2bf; --lime:#cedba8; --serif:Georgia,'Times New Roman',serif; }
* { box-sizing:border-box; }
[hidden] { display:none!important; }
html { scroll-behavior:smooth; scroll-padding-top:20px; }
body { margin:0; background:var(--paper); color:var(--ink); font:16px Arial,Helvetica,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button { font:inherit; cursor:pointer; }
a,button { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible { outline:3px solid #344f29; outline-offset:5px; }
.hero a:focus-visible,.founder-card a:focus-visible { outline-color:#e5eccf; }
p { line-height:1.75; }
h1,h2,h3,p { margin-top:0; }
h2 { font-weight:400; font-size:clamp(36px,4.1vw,64px); line-height:1.1; letter-spacing:-2px; margin-bottom:32px; overflow-wrap:break-word; }
h2 em,h1 em { font-family:var(--serif); font-weight:400; }
h3 { font-weight:400; }
.wrap { width:min(1280px,88%); margin:auto; }
.section { padding:100px 0; }
.eyebrow { font-size:12px; line-height:1.7; letter-spacing:1.5px; font-weight:600; margin-bottom:26px; }
.skip { position:fixed; top:-100px; left:16px; z-index:20; background:white; padding:15px; }
.skip:focus { top:15px; }
.header { min-height:91px; padding:16px 4%; display:flex; align-items:center; gap:30px; background:var(--paper); }
.brand { display:inline-flex; align-items:center; gap:9px; white-space:nowrap; font-size:25px; letter-spacing:-1px; font-weight:600; }
.brand>span { font-weight:400; margin-left:-9px; }
.header nav { display:flex; gap:24px; margin-left:auto; font-size:14px; }
.header nav a { padding:12px 0; }
.header nav a:hover { text-decoration:underline; text-underline-offset:5px; }
.header-contact { border-bottom:1px solid var(--ink); padding:12px 0; font-size:14px; white-space:nowrap; }
.header-contact span { margin-left:16px; }
.menu-toggle { display:none; }
.hero { min-height:720px; position:relative; isolation:isolate; display:flex; flex-direction:column; color:var(--paper); background:#4b5938 url('assets/field.png') center 58%/cover no-repeat; }
.hero-shade { position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(14,29,18,.88),rgba(14,29,18,.56) 60%,rgba(14,29,18,.16)),linear-gradient(0deg,rgba(14,29,18,.5),transparent 35%); }
.hero-content { padding:85px 6% 60px; max-width:1150px; }
.light { color:#e1e7cf; display:flex; align-items:center; gap:12px; }
.small-line { flex:0 0 24px; height:1px; background:var(--lime); }
h1 { font-weight:400; font-size:clamp(62px,6.5vw,98px); line-height:1.05; letter-spacing:-3px; margin-bottom:25px; }
h1 em { color:#d9e2c1; }
.hero-description { font-size:17px; max-width:550px; line-height:1.7; margin-bottom:30px; color:#f1f1e8; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:25px; }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:30px; padding:18px 24px; min-height:52px; font-size:15px; transition:transform .2s; }
.button:hover { transform:translateY(-3px); }
.button span { font-size:20px; }
.cream { background:var(--paper); color:var(--ink); }
.green { background:var(--ink); color:var(--paper); }
.hero-secondary { display:inline-flex; align-items:center; gap:20px; padding:14px 0; font-size:15px; border-bottom:1px solid #c6d1b4; }
.hero-bottom { margin-top:auto; padding:0 6% 28px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:18px; font-size:12px; letter-spacing:1px; color:#f0f1e9; }

.principles { list-style:none; margin:0; border-bottom:1px solid var(--line); display:flex; justify-content:space-evenly; flex-wrap:wrap; padding:24px 5%; font-size:14px; gap:18px 30px; }
.principles li { display:flex; align-items:center; gap:10px; }
.principles li:before { content:''; flex:0 0 5px; height:5px; background:#526b38; border-radius:50%; }
.intro { display:grid; grid-template-columns:1fr 2.2fr; gap:40px; }
.intro>div { display:grid; grid-template-columns:1.1fr 1fr; gap:50px; }
.intro h2 { font-size:clamp(38px,3.4vw,52px); }
.intro-copy p { font-size:16px; color:var(--muted); margin-bottom:18px; }
.intro-copy p:first-child { color:var(--ink); font-size:18px; line-height:1.6; }
.text-link { font-size:14px; display:inline-flex; gap:25px; padding:12px 0; border-bottom:1px solid var(--ink); margin-top:8px; }
.technology { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); background:#e9ebdf; }
.tech-copy { padding:75px 11% 65px; }
.tech-copy>p:not(.eyebrow) { font-size:16px; color:var(--muted); max-width:450px; }
.tech-copy h2 { font-size:clamp(38px,3.8vw,58px); }
.steps { list-style:none; margin:30px 0 0; padding:0; }
.steps li { display:flex; gap:22px; border-top:1px solid #bfc9b2; padding:22px 0 0; margin-top:18px; }
.steps li>span { font-size:12px; padding-top:5px; color:#4d6237; }
.steps h3 { font-size:20px; margin-bottom:7px; }
.steps p { font-size:15px; color:#4d5945; max-width:360px; margin-bottom:0; }
.tech-visual { background:#24372b; position:relative; overflow:hidden; display:flex; flex-direction:column; min-height:680px; color:#dce7bc; }
.tech-top { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:12px; letter-spacing:.7px; padding:28px; position:relative; z-index:2; }
.tech-top>span:first-child { display:flex; align-items:center; gap:9px; }
.status-dot { display:inline-block; flex:0 0 7px; width:7px; height:7px; border-radius:50%; background:#91a568; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:60px; margin-bottom:45px; }
.section-heading h2 { margin-bottom:0; }
.section-heading>p { max-width:320px; font-size:16px; color:var(--muted); margin-bottom:4px; }
.audience-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:35px; }
.audience-grid article { border-top:1px solid #aeb8a2; padding-top:25px; display:flex; flex-direction:column; }
.number { font-size:12px; color:#4d6237; letter-spacing:1px; margin-bottom:30px; }
.audience-grid h3 { font-size:30px; letter-spacing:-.8px; line-height:1.2; margin-bottom:20px; overflow-wrap:break-word; }
.audience-grid p { font-size:16px; color:var(--muted); max-width:310px; margin-bottom:25px; }
.audience-grid a { font-size:14px; display:flex; gap:15px; justify-content:space-between; border-bottom:1px solid var(--line); padding:12px 0 17px; margin-top:auto; }
.audience-grid a:hover { border-color:var(--ink); }
.about { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); background:#dedfcf; }
.founder-card { position:relative; background:#263d2e; color:var(--paper); padding:60px 12%; display:flex; flex-direction:column; min-height:560px; overflow:hidden; }
.founder-card .eyebrow { color:#d4dfbd; }
.founder-mark { font:italic clamp(120px,18vw,245px)/1 var(--serif); color:#b9c99a; letter-spacing:-20px; padding:20px 20px 40px 0; }
.founder-mark span { color:#7d976a; }
.founder-details { margin-top:auto; padding-top:30px; border-top:1px solid #8da478; }
.founder-details h3 { font-size:27px; line-height:1.25; margin-bottom:12px; }
.founder-details p { color:#d6dec9; font-size:15px; }
.founder-details a { display:inline-flex; gap:25px; padding:12px 0; font-size:15px; border-bottom:1px solid #b9c99a; }
.about-copy { padding:70px 11%; }
.about-copy h2 { font-size:clamp(32px,3.3vw,48px); }
.about-copy>p:not(.eyebrow) { font-size:16px; color:#46533d; }
.development { display:flex; align-items:center; gap:8px; font-size:15px; border-top:1px solid #b3bda3; padding-top:22px; margin-top:26px; }
.development .status-dot { background:#4f6636; }
.about-copy .development-note { font-size:14px; margin:9px 0 0; color:#46533d; }
.contact-layout { display:grid; grid-template-columns:1.3fr 1fr; gap:70px; align-items:start; }
.contact h2 { font-size:clamp(46px,5.3vw,80px); margin-bottom:0; }
.contact-layout p { font-size:16px; max-width:430px; color:var(--muted); margin-bottom:25px; }
.email-tools { display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px; margin-top:20px; }
.email { font-size:16px; text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
.copy-email { font-size:13px; background:transparent; border:1px solid #aab69c; color:var(--ink); padding:12px; min-height:44px; }
.contact-layout .copy-status { font-size:14px; margin:10px 0 0; }
.copy-status:empty { display:none; }
.phone { display:inline-block; font-size:15px; padding:16px 0 0; }
footer { border-top:1px solid var(--line); margin:0 6%; padding:40px 0; display:grid; grid-template-columns:1.3fr 1fr 1fr; align-items:start; gap:30px; font-size:14px; color:var(--muted); }
footer .brand { color:var(--ink); font-size:24px; }
.footer-brand p { margin:15px 0 0; font-size:14px; }
.company-details strong { display:block; color:var(--ink); font-weight:400; margin:5px 0 12px; }
.company-details address { font-style:normal; line-height:1.7; }
.footer-contact { display:flex; flex-direction:column; gap:15px; }
.footer-contact a { color:var(--ink); overflow-wrap:anywhere; }
.footer-contact>span { font-size:13px; }
@media(min-width:1600px) { .hero-content { padding-left:max(6%,calc((100vw - 1280px)/2)); } .hero { min-height:780px; } }
@media(max-width:1100px) {
 .header { gap:20px; }.header nav { gap:18px; font-size:13px; }.brand { font-size:23px; }
 .intro { grid-template-columns:1fr; gap:20px; }.intro>div { grid-template-columns:1fr 1fr; }
 .tech-copy { padding:60px 9%; }.section { padding:80px 0; }.tech-top { padding:22px; }
 .tech-top>span:last-child { display:none; }.about-copy { padding:55px 9%; }.section-heading>p { max-width:260px; }
 .contact-layout { gap:40px; }
}
@media(max-width:800px) {
 .header { min-height:75px; padding:14px 6%; flex-wrap:wrap; position:relative; z-index:5; gap:12px; }
 .brand { font-size:23px; }.brand img { width:30px; height:30px; }
 .header-contact { margin-left:auto; font-size:14px; border:0; }.header-contact span { margin-left:6px; }
 .header nav { order:3; width:100%; margin:0; flex-wrap:wrap; font-size:15px; gap:0 24px; }
 .menu-ready .menu-toggle { display:block; min-height:44px; border:0; background:transparent; padding:10px 0 10px 4px; font-size:14px; color:var(--ink); }
 .menu-toggle span { margin-left:6px; }
 .menu-ready nav { display:none; flex-direction:column; gap:0; padding:8px 0; border-top:1px solid var(--line); }
 .menu-ready nav.open { display:flex; }.header nav a { padding:13px 0; }
 .hero { min-height:660px; background-position:60% center; }
 .hero-shade { background:linear-gradient(90deg,#0e1d12d9,#0e1d12a6),linear-gradient(0deg,#0e1d1266,transparent); }
 .hero-content { padding:64px 7% 48px; }
 .eyebrow { font-size:12px; letter-spacing:1px; }.hero .eyebrow { max-width:340px; font-size:11px; }
 .small-line { display:none; }
 h1 { font-size:clamp(39px,8.2vw,65px); letter-spacing:-1.7px; line-height:1.1; }
 .hero-description { font-size:16px; max-width:530px; }.hero-actions { gap:15px 24px; }
 .hero-bottom { padding:0 7% 25px; font-size:11px; letter-spacing:.5px; }
 .principles { padding:24px 7%; justify-content:flex-start; gap:18px 25px; font-size:14px; }
 .wrap { width:86%; }.section { padding:65px 0; }h2 { letter-spacing:-1.5px; font-size:clamp(34px,7vw,45px); }
 .intro>div { grid-template-columns:1fr; gap:2px; }.intro h2 { font-size:clamp(34px,7vw,45px); }
 .technology { grid-template-columns:1fr; }.tech-visual { min-height:460px; order:2; }
 .tech-top>span:last-child { display:block; }
 .tech-copy { padding:60px 7%; }.tech-copy h2 { font-size:clamp(34px,7vw,45px); }.steps p { max-width:none; }
 .section-heading { display:block; margin-bottom:35px; }.section-heading>p { max-width:100%; margin-top:25px; }
 .audience-grid { grid-template-columns:1fr; gap:35px; }.audience-grid article { padding-top:20px; }
 .number { margin-bottom:18px; }.audience-grid h3 { font-size:30px; }.audience-grid h3 br { display:none; }
 .audience-grid p { max-width:100%; margin-bottom:18px; }
 .about { grid-template-columns:1fr; }.about-copy { padding:55px 7%; }.about-copy h2 { font-size:clamp(31px,6.8vw,42px); }
 .founder-card { min-height:460px; padding:45px 7%; }.founder-mark { font-size:175px; letter-spacing:-15px; padding-bottom:20px; }
 .contact-layout { grid-template-columns:1fr; gap:25px; }.contact h2 { font-size:clamp(40px,8.5vw,60px); }.contact-layout p { max-width:none; }
 footer { grid-template-columns:1fr 1fr; padding:32px 0; gap:28px; }.footer-brand { grid-column:1/-1; }
}
@media(max-width:400px) {
 .header { padding-left:5%; padding-right:5%; gap:8px; }.header-contact { font-size:13px; }.brand { font-size:21px; gap:7px; }.brand>span { margin-left:-7px; }
 .menu-ready .menu-toggle { font-size:13px; }.menu-toggle span { margin-left:4px; }
 .button { font-size:14px; gap:18px; padding:17px 20px; max-width:100%; }
 .hero-bottom { align-items:start; flex-direction:column; gap:12px; }
 .tech-top { font-size:11px; padding:22px 7%; }.tech-top>span:last-child { display:none; }
 
 footer { grid-template-columns:1fr; }.footer-brand { grid-column:auto; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.button { transition:none; } }

/* Scalable, static vector diagram: no animation or product measurements. */
.tech-visual { margin:0; padding-bottom:30px; min-height:0; justify-content:center; }
.tech-top { margin-bottom:auto; }
.principle-diagram { display:block; width:100%; max-width:620px; height:auto; margin:auto; padding:0 18px; }
.tech-visual figcaption { padding:12px 7% 0; margin-top:auto; }
.diagram-sequence { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:14px; color:#e0e9d0; padding-top:22px; border-top:1px solid #52694d; }
.diagram-note { display:block; color:#c3d0af; font-size:13px; line-height:1.6; margin-top:16px; }
@media(max-width:800px) { .tech-visual { min-height:0; padding:10px 0 35px; } .principle-diagram { max-width:570px; padding:0 10px; } }
@media(max-width:400px) { .diagram-sequence { font-size:12px; gap:5px; } .diagram-note { font-size:12px; } }
