:root { --bg:#ffffff; --surface:#f5f5f5; --fg:#333333; --muted:#666666; --border:#999999; --accent:#9acd33; --accent-secondary:#666666; --radius:8px; --display:entypo-fontello,system-ui,-apple-system,"Segoe UI","Helvetica Neue",Arial,sans-serif; --body:entypo-fontello,system-ui,-apple-system,"Segoe UI","Helvetica Neue",Arial,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:88px; }
body { margin:0; background:var(--bg); color:var(--fg); font-family:var(--body); font-size:16px; line-height:1.5; }
a { color:inherit; text-decoration:none; }
button,input,textarea { font:inherit; }
.shell { width:min(1248px,calc(100% - 48px)); margin:0 auto; }
.eyebrow { display:flex; align-items:center; gap:10px; color:var(--muted); font-size:11px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.eyebrow::before { content:""; width:20px; height:1px; background:var(--accent); }
.section { position:relative; padding:120px 0; }
.section-title { font-family:var(--display); font-size:clamp(38px,5.2vw,76px); font-weight:500; letter-spacing:-.055em; line-height:.96; margin:20px 0 0; max-width:850px; }
.section-title em { color:var(--muted); font-style:normal; }
.section-copy { color:var(--muted); font-size:clamp(17px,1.5vw,21px); max-width:620px; margin:28px 0 0; }
.reveal { opacity:0; transform:translateY(22px); transition:opacity .72s ease,transform .72s cubic-bezier(.22,.61,.36,1); }
.reveal.in { opacity:1; transform:translateY(0); }
.site-header { position:fixed; inset:0 0 auto; z-index:20; background:var(--bg); border-bottom:1px solid var(--bg); transition:border-color .25s ease,backdrop-filter .25s ease; }
.site-header.scrolled { border-color:var(--border); backdrop-filter:blur(12px); }
.nav { height:72px; align-items:center; display:flex; justify-content:space-between; }
.brand { display:flex; align-items:center; gap:9px; font-family:var(--display); font-size:18px; font-weight:700; letter-spacing:-.04em; }
.brand-mark { display:grid; grid-template-columns:repeat(3,5px); gap:2px; }
.brand-mark i { width:5px; height:5px; border:1px solid var(--fg); border-radius:50%; }
.brand-mark i:nth-child(2),.brand-mark i:nth-child(6) { background:var(--accent); border-color:var(--accent); }
.nav-links { align-items:center; display:flex; gap:28px; font-size:13px; }
.nav-links a { color:var(--muted); transition:color .18s ease; }
.nav-links a:hover,.nav-links a:focus-visible { color:var(--fg); }
.menu-toggle { display:none; border:0; background:transparent; color:var(--fg); min-height:44px; min-width:44px; padding:0; }
.menu-toggle span { display:block; width:24px; height:1px; background:currentColor; margin:5px auto; }
.hero { background:var(--surface); min-height:100svh; overflow:hidden; padding:0; position:relative; }
.hero-photo { inset:0; margin:0; position:absolute; }
.hero-photo::after { background:var(--accent); bottom:0; content:""; height:8px; left:0; position:absolute; width:18%; }
.hero-photo img { display:block; height:100%; object-fit:cover; object-position:center; width:100%; }
.hero-panel { background:var(--bg); bottom:0; left:0; max-width:min(860px,63vw); padding:52px max(24px,calc((100vw - 1248px)/2)) 40px max(24px,calc((100vw - 1248px)/2)); position:absolute; }
.hero h1 { font-family:var(--display); font-size:clamp(54px,8vw,128px); font-weight:500; letter-spacing:-.075em; line-height:.82; margin:0; max-width:760px; }
.hero h1 .lime { color:var(--accent); }
.hero-bottom { align-items:end; display:flex; gap:36px; justify-content:space-between; margin-top:38px; }
.hero-intro { color:var(--muted); font-size:19px; max-width:500px; margin:0; }
.scroll-note { align-items:center; color:var(--muted); display:flex; font-size:11px; gap:10px; letter-spacing:.12em; margin:0; text-transform:uppercase; }
.scroll-note::after { background:var(--accent); content:""; height:1px; width:52px; }
.thesis { background:var(--surface); border-top:1px solid var(--border); border-bottom:1px solid var(--border); overflow:hidden; }
.thesis-grid { display:grid; grid-template-columns:310px 1fr; gap:48px; }
.thesis-rail { border-right:1px solid var(--border); min-height:570px; padding:120px 48px 120px 0; }
.thesis-rail p { color:var(--muted); font-size:13px; margin-top:20px; }
.thesis-body { padding:120px 0; }
.thesis-statement { font-family:var(--display); font-size:clamp(42px,5.7vw,82px); font-weight:500; letter-spacing:-.065em; line-height:.96; margin:0; max-width:840px; }
.thesis-statement .word { display:inline-block; transition:transform .6s cubic-bezier(.22,.61,.36,1),color .35s ease; }
.thesis.in-view .word:nth-child(3) { color:var(--accent); transform:translateY(-8px); }
.thesis-points { border-top:1px solid var(--border); display:grid; grid-template-columns:repeat(3,1fr); margin-top:64px; }
.thesis-points div { padding:20px 24px 0 0; }.thesis-points div+div { border-left:1px solid var(--border); padding-left:24px; }
.thesis-points b { display:block; font-size:14px; font-weight:700; margin-bottom:6px; }.thesis-points span { color:var(--muted); font-size:14px; }
.founder { background:var(--bg); overflow:hidden; }
.founder-grid { display:grid; grid-template-columns:minmax(0,.87fr) minmax(0,1.13fr); gap:80px; align-items:center; }
.founder-copy { padding:48px 0; }.founder-copy .section-title { max-width:540px; }.founder-note { border-top:1px solid var(--border); color:var(--muted); font-size:15px; margin-top:44px; max-width:470px; padding-top:17px; }
.founder-portrait { margin:0; min-height:540px; position:relative; }.founder-portrait::after { background:var(--accent); bottom:0; content:""; height:8px; left:0; position:absolute; width:35%; }
.founder-portrait img { display:block; height:100%; min-height:540px; object-fit:cover; object-position:65% center; width:100%; }
.founder-caption { background:var(--bg); bottom:32px; left:32px; max-width:278px; padding:18px 20px; position:absolute; z-index:1; }.founder-caption strong { display:block; font-family:var(--display); font-size:23px; letter-spacing:-.04em; }.founder-caption span { color:var(--muted); display:block; font-size:13px; margin-top:4px; }
.services-header { display:flex; gap:48px; justify-content:space-between; align-items:end; }
.services-header .section-title { max-width:690px; }.services-header .section-copy { max-width:360px; margin:0 0 6px; font-size:16px; }
.service-list { border-top:1px solid var(--border); margin-top:64px; }
.service { border-bottom:1px solid var(--border); display:grid; grid-template-columns:90px minmax(210px,.7fr) 1.4fr auto; gap:24px; padding:28px 0; transition:padding .35s ease; }
.service:hover { padding-left:16px; padding-right:16px; }.service-num { color:var(--muted); font-size:13px; padding-top:5px; }.service h3 { font-family:var(--display); font-size:26px; letter-spacing:-.04em; margin:0; font-weight:600; }.service p { color:var(--muted); font-size:15px; margin:0; max-width:510px; }.service-symbol { border:1px solid var(--border); border-radius:50%; display:grid; height:34px; place-items:center; width:34px; transition:background .25s ease,border-color .25s ease; }.service:hover .service-symbol { background:var(--accent); border-color:var(--accent); }
.method { background:var(--fg); color:var(--bg); overflow:hidden; }
.method .eyebrow { color:var(--border); }.method .section-title em { color:var(--border); }.method .section-copy { color:var(--border); }
.method-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:end; }
.method-steps { margin:74px 0 0; }.method-step { border-top:1px solid var(--muted); display:grid; grid-template-columns:60px 1fr; gap:20px; padding:20px 0; }.method-step:last-child { border-bottom:1px solid var(--muted); }.method-step span { color:var(--accent); font-size:12px; letter-spacing:.1em; }.method-step strong { font-size:20px; font-weight:500; letter-spacing:-.02em; }.method-step p { color:var(--border); font-size:15px; grid-column:2; margin:5px 0 0; }
.field { aspect-ratio:1; border:1px solid var(--muted); position:relative; }
.field::before,.field::after { content:""; position:absolute; border:1px solid var(--muted); border-radius:50%; }.field::before { inset:16%; }.field::after { inset:32%; }
.field-line { background:var(--accent); height:1px; left:0; position:absolute; top:50%; transform:rotate(-32deg); transform-origin:left; width:130%; }.field-dot { background:var(--accent); border-radius:50%; height:14px; left:48%; position:absolute; top:47%; width:14px; }
.contact { min-height:78vh; display:flex; align-items:center; }
.contact-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:80px; width:100%; }
.contact-title { font-family:var(--display); font-size:clamp(52px,7.5vw,108px); font-weight:500; letter-spacing:-.07em; line-height:.86; margin:18px 0 0; }
.contact-title span { color:var(--accent); }.contact-form { border-top:1px solid var(--border); padding-top:20px; }.contact-form label { color:var(--muted); display:block; font-size:12px; letter-spacing:.1em; margin-top:17px; text-transform:uppercase; }.contact-form input,.contact-form textarea { background:transparent; border:0; border-bottom:1px solid var(--border); border-radius:0; color:var(--fg); outline:0; padding:11px 0; resize:vertical; width:100%; }.contact-form textarea { min-height:86px; }.contact-form input:focus,.contact-form textarea:focus { border-color:var(--accent); }
.submit-row { align-items:center; display:flex; justify-content:space-between; margin-top:28px; }.button { background:var(--fg); border:1px solid var(--fg); border-radius:var(--radius); color:var(--bg); cursor:pointer; min-height:46px; padding:0 18px; transition:background .2s ease,color .2s ease,transform .2s ease; }.button:hover { background:var(--accent); border-color:var(--accent); color:var(--fg); transform:translateY(-2px); }.button:focus-visible,a:focus-visible,button:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }.form-status { color:var(--muted); font-size:13px; max-width:220px; text-align:right; }
footer { border-top:1px solid var(--border); padding:24px 0 28px; }.footer-row { align-items:center; display:flex; gap:24px; justify-content:space-between; color:var(--muted); font-size:12px; }.footer-links { display:flex; gap:16px; }.footer-links a:hover { color:var(--fg); }
@media (max-width:760px) { .shell { width:min(100% - 32px,1248px); }.nav-links { background:var(--bg); border-bottom:1px solid var(--border); display:none; flex-direction:column; gap:0; inset:72px 0 auto; padding:10px 16px 18px; position:absolute; align-items:stretch; }.nav-links.open { display:flex; }.nav-links a { padding:13px 0; }.menu-toggle { display:block; }.hero { min-height:760px; }.hero-photo { inset:72px 0 auto; height:405px; }.hero-panel { bottom:0; max-width:none; padding:32px 16px 30px; right:0; }.hero-bottom { align-items:start; flex-direction:column; gap:24px; margin-top:28px; }.hero-intro { font-size:17px; }.thesis-grid,.founder-grid,.method-grid,.contact-grid { grid-template-columns:1fr; gap:32px; }.thesis-rail { border-bottom:1px solid var(--border); border-right:0; min-height:auto; padding:72px 0 28px; }.thesis-body { padding:56px 0 72px; }.thesis-points { grid-template-columns:1fr; gap:20px; }.thesis-points div+div { border-left:0; padding-left:0; }.founder-copy { padding:0; }.founder-portrait,.founder-portrait img { min-height:0; }.founder-portrait img { aspect-ratio:16/10; }.founder-caption { bottom:16px; left:16px; }.services-header { align-items:start; flex-direction:column; }.service { grid-template-columns:44px 1fr auto; gap:14px; }.service p { grid-column:2/4; }.service-symbol { grid-column:3; grid-row:1; }.field { max-width:420px; width:100%; }.contact { min-height:auto; }.contact-grid { padding:28px 0; }.section { padding:80px 0; }.footer-row { align-items:start; flex-direction:column; gap:10px; }.submit-row { align-items:flex-start; flex-direction:column; gap:12px; }.form-status { max-width:100%; text-align:left; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; } .reveal { opacity:1; transform:none; } }
.hp { position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }
.form-status a:focus-visible { outline:3px solid var(--accent); }
.brand img { display:block; height:38px; width:auto; }
.footer-brand { align-items:center; display:flex; gap:16px; flex-wrap:wrap; }
.footer-brand img { height:22px; width:auto; }
