:root{--paper:#f6f7f2;--paper-deep:#e7eee5;--sage:#d9e6da;--ink:#1d2a22;--muted:#667469;--line:#1d2a2224;--accent:#4f7d5d;--night:#263b2e;--night-muted:#bac8bd}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{background:var(--paper);color:var(--ink);font-family:var(--font-geist-sans), Arial, Helvetica, sans-serif;-webkit-font-smoothing:antialiased;margin:0}body::selection{background:var(--accent);color:#fff}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.site-header{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f6f7f2db;border-bottom:1px solid #1d2a2217;grid-template-columns:1fr auto 1fr;align-items:center;width:100%;height:84px;padding:0 clamp(24px,4vw,68px);display:grid;position:fixed;top:0;left:0}.wordmark{letter-spacing:-.05em;width:max-content;font-size:1.05rem;font-weight:700}.wordmark-dot,.contact-section h2 span{color:var(--accent)}.site-nav{color:#3f5146;align-items:center;gap:clamp(22px,3vw,44px);font-size:.78rem;font-weight:550;display:flex}.site-nav a,.social-links a,.site-footer>a{position:relative}.site-nav a:after,.social-links a:after,.site-footer>a:after{content:"";transform-origin:100%;background:currentColor;height:1px;transition:transform .22s;position:absolute;bottom:-5px;left:0;right:0;transform:scaleX(0)}.site-nav a:hover:after,.social-links a:hover:after,.site-footer>a:hover:after{transform-origin:0;transform:scaleX(1)}.site-nav a:focus-visible:after{transform-origin:0;transform:scaleX(1)}.social-links a:focus-visible:after{transform-origin:0;transform:scaleX(1)}.site-footer>a:focus-visible:after{transform-origin:0;transform:scaleX(1)}.status{width:max-content;color:var(--muted);font-family:var(--font-geist-mono), monospace;letter-spacing:.06em;text-transform:uppercase;justify-self:end;align-items:center;gap:9px;font-size:.68rem;display:flex}.status-dot{background:#6d9b79;border-radius:999px;width:7px;height:7px;box-shadow:0 0 0 4px #6d9b7924}.hero{isolation:isolate;flex-direction:column;justify-content:space-between;min-height:100svh;padding:116px clamp(24px,6vw,104px) 46px;display:flex;position:relative;overflow:hidden}.hero:before{z-index:-2;background-image:linear-gradient(to right, transparent 49.9%, var(--line) 50%, transparent 50.1%);content:"";opacity:.38;pointer-events:none;background-size:25% 100%;position:absolute;inset:84px 0 0}.hero-kicker,.hero-footer{color:var(--muted);font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;font-size:.68rem;display:flex}.hero-copy{width:min(1120px,100%);margin:auto 0;padding:clamp(56px,11vh,120px) 0}.eyebrow{color:var(--accent);font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;text-transform:uppercase;margin:0 0 22px;font-size:clamp(.72rem,1vw,.84rem);font-weight:600}.hero h1{letter-spacing:-.078em;max-width:1100px;margin:0;font-size:clamp(4rem,10.5vw,9.6rem);font-weight:520;line-height:.86}.hero h1 span{color:var(--accent);display:inline-block}.hero-intro{color:#536158;letter-spacing:-.02em;width:min(540px,80%);margin:clamp(32px,6vh,64px) 0 0 auto;font-size:clamp(1rem,1.45vw,1.25rem);font-weight:420;line-height:1.55}.hero-footer{border-top:1px solid var(--line);padding-top:22px}.primary-link,.email-link{color:var(--ink);font-family:var(--font-geist-sans), sans-serif;letter-spacing:-.01em;text-transform:none;align-items:center;gap:12px;font-size:.86rem;font-weight:620;display:inline-flex}.primary-link span,.email-link span{background:var(--ink);width:30px;height:30px;color:var(--paper);border-radius:50%;place-items:center;transition:transform .22s,background .22s;display:grid}:is(.primary-link:hover span,.primary-link:focus-visible span,.email-link:hover span,.email-link:focus-visible span){background:var(--accent);transform:translate(2px,-2px)}.scroll-cue{align-items:center;gap:14px;display:flex}.scroll-cue span{font-size:1rem}.orb{z-index:-1;filter:blur(2px);pointer-events:none;border-radius:50%;position:absolute}.orb-one{background:#4f7d5d1a;width:clamp(180px,25vw,390px);height:clamp(180px,25vw,390px);top:20%;right:-8vw}.orb-two{border:1px solid #4f7d5d40;width:clamp(120px,16vw,260px);height:clamp(120px,16vw,260px);bottom:14%;left:-8vw}.section{padding:clamp(92px,13vw,180px) clamp(24px,6vw,104px)}.section-heading{margin-bottom:clamp(64px,8vw,116px)}.section-index{color:var(--muted);font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;text-transform:uppercase;margin:0 0 18px;font-size:.68rem}.section-index.light{color:var(--night-muted)}.section h2,.contact-section h2{letter-spacing:-.065em;margin:0;font-size:clamp(2.8rem,6.5vw,6.5rem);font-weight:500;line-height:.95}.about-section{border-top:1px solid var(--line);background:var(--paper-deep)}.about-grid{grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:clamp(60px,10vw,170px);display:grid}.about-lead{letter-spacing:-.055em;max-width:720px;margin:0;font-size:clamp(2rem,4.2vw,4.6rem);font-weight:470;line-height:1.02}.about-copy{align-self:end}.about-copy>p{color:#526056;margin:0 0 22px;font-size:1rem;line-height:1.75}.facts{border-top:1px solid var(--line);margin:50px 0 0}.facts div{border-bottom:1px solid var(--line);grid-template-columns:120px 1fr;gap:20px;padding:17px 0;font-size:.78rem;display:grid}.facts dt{color:var(--muted)}.facts dd{margin:0}.projects-section{background:var(--sage);color:var(--ink)}.section-heading-row{justify-content:space-between;align-items:flex-end;gap:40px;display:flex}.section-note{max-width:260px;color:var(--muted);margin:0 0 8px;font-size:.85rem;line-height:1.5}.projects-section .section-note,.projects-section .section-index{color:var(--muted)}.project-list{border-top:1px solid var(--line)}.project-card{border-bottom:1px solid var(--line);grid-template-columns:90px 1fr auto;align-items:start;gap:clamp(28px,5vw,80px);min-height:250px;padding:38px 0 44px;transition:padding .26s,background .26s;display:grid}.project-card:hover{background:#ffffff3d;padding-left:18px;padding-right:18px}.project-number{color:var(--muted);font-family:var(--font-geist-mono), monospace;padding-top:8px;font-size:.7rem}.project-body h3,.note-row h3{letter-spacing:-.045em;margin:0;font-size:clamp(1.8rem,3vw,3rem);font-weight:480}.project-body>p{color:#536158;max-width:620px;margin:18px 0 30px;font-size:.94rem;line-height:1.65}.tag-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tag-list li{color:#536158;font-family:var(--font-geist-mono), monospace;text-transform:uppercase;border:1px solid #1d2a2230;border-radius:999px;padding:7px 11px;font-size:.62rem}.project-link{border:1px solid #1d2a223d;border-radius:50%;place-items:center;width:52px;height:52px;font-size:1.1rem;transition:color .22s,background .22s,transform .22s;display:grid}:is(.project-link:not(.project-link-disabled):hover,.project-link:not(.project-link-disabled):focus-visible){background:var(--accent);border-color:var(--accent);color:#fff;transform:rotate(8deg)}.project-link-disabled{cursor:default;opacity:.42}.notes-section{background:var(--paper)}.notes-list{border-top:1px solid var(--line)}.note-row{border-bottom:1px solid var(--line);grid-template-columns:170px 1fr auto;align-items:start;gap:40px;padding:34px 0 38px;display:grid}.note-date{color:var(--muted);font-family:var(--font-geist-mono), monospace;letter-spacing:.04em;text-transform:uppercase;margin:8px 0 0;font-size:.66rem}.note-row h3{font-size:clamp(1.45rem,2.4vw,2.4rem)}.note-row div>p{color:var(--muted);margin:12px 0 0;font-size:.9rem;line-height:1.55}.note-arrow{margin-top:7px;font-size:1.1rem;display:block}.contact-section{background:var(--night);color:#f4f7f2;padding:clamp(100px,14vw,190px) clamp(24px,6vw,104px) 0}.contact-grid{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);align-items:end;gap:clamp(60px,10vw,160px);padding:24px 0 clamp(90px,13vw,170px);display:grid}.contact-copy{padding-bottom:8px}.contact-copy>p{max-width:420px;color:var(--night-muted);margin:0 0 38px;font-size:1rem;line-height:1.65}.email-link{color:#f4f7f2}.email-link span{color:var(--night);background:#f4f7f2}.site-footer{background:var(--night);color:var(--night-muted);font-family:var(--font-geist-mono), monospace;text-transform:uppercase;border-top:1px solid #ffffff2b;grid-template-columns:1fr auto 1fr;align-items:center;padding:30px clamp(24px,6vw,104px) 36px;font-size:.66rem;display:grid}.site-footer>p{margin:0}.site-footer>a{justify-self:end}.social-links{gap:30px;display:flex}.reveal{animation:.7s cubic-bezier(.2,.7,.2,1) both reveal}.reveal-two{animation-delay:80ms}.reveal-three{animation-delay:.15s}.reveal-four{animation-delay:.23s}.reveal-five{animation-delay:.3s}@keyframes reveal{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (max-width:760px){html{scroll-padding-top:72px}.site-header{grid-template-columns:auto 1fr;height:70px;padding:0 20px}.site-nav{justify-self:end;gap:clamp(10px,3.2vw,15px);font-size:.64rem}.status{display:none}.hero{min-height:100svh;padding:98px 20px 28px}.hero:before{background-size:50% 100%;inset:70px 0 0}.hero-kicker span:last-child{display:none}.hero-copy{padding:clamp(54px,10vh,90px) 0 clamp(64px,12vh,100px)}.hero h1{max-width:600px;font-size:clamp(4rem,22vw,7.8rem);line-height:.88}.hero h1 span{display:block}.hero-intro{width:min(92%,450px);margin-top:40px;font-size:1rem}.scroll-cue{display:none}.section{padding:96px 20px}.section-heading{margin-bottom:64px}.section-heading-row,.about-grid,.contact-grid{display:block}.section-note{margin-top:22px}.about-lead{margin-bottom:54px}.facts{margin-top:40px}.project-card{grid-template-columns:40px minmax(0,1fr) auto;gap:12px;min-height:0;padding:30px 0 34px}.project-card:hover{padding-left:0;padding-right:0}.project-body>p{margin-bottom:24px}.project-link-disabled{display:none}.note-row{grid-template-columns:1fr auto;gap:16px;padding:28px 0 30px}.note-date{grid-column:1/-1;margin:0 0 2px}.note-arrow{margin-top:3px}.contact-section{padding:96px 20px 0}.contact-grid{padding:24px 0 96px}.contact-copy{margin-top:56px}.site-footer{grid-template-columns:1fr auto;gap:24px 16px;padding:26px 20px}.social-links{grid-area:1/1/auto/-1;justify-content:space-between;gap:16px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
