:root{--paper:#f8f5ed;--ink:#253124;--serif:"Iowan Old Style",Baskerville,"Times New Roman",serif;--sans:Inter,-apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif;--gutter:clamp(1.25rem,4vw,5rem);color-scheme:light}
*{box-sizing:border-box}
body{margin:0;font-family:var(--sans);background:#496347;color:var(--paper)}
.home{position:relative;isolation:isolate;min-height:100svh;display:grid;align-items:end;justify-items:start;overflow:hidden}
.landscape{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;z-index:-1}
nav{position:absolute;top:0;right:0;left:0;padding:2rem var(--gutter);display:flex;justify-content:flex-end;gap:clamp(1.5rem,3vw,3rem)}
nav a{color:var(--paper);text-decoration:none;font-size:.875rem;letter-spacing:.1em;text-transform:uppercase;line-height:1.6;padding:.5rem 0;border-bottom:1px solid transparent;text-shadow:0 1px 5px #152716,0 0 15px #152716}
nav a:hover{border-color:currentColor}
h1{font:400 clamp(4.5rem,12vw,17rem)/1 var(--serif);letter-spacing:-.06em;margin:0;padding:0 var(--gutter) clamp(5rem,10vh,8rem);text-shadow:0 2px 16px #18331c99}
a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:6px}
dialog{border:0;background:var(--paper);color:var(--ink);padding:clamp(1.5rem,4vw,4rem);width:min(720px,calc(100% - 2rem));max-height:calc(100svh - 3rem);overflow:auto;box-shadow:0 16px 70px #25312433}
dialog::backdrop{background:#d8e1d133;backdrop-filter:blur(7px)}
dialog form{display:flex;justify-content:flex-end;margin:0 0 2rem}
.close{font:400 .875rem var(--sans);color:inherit;background:none;border:0;border-bottom:1px solid currentColor;padding:.25rem 0;cursor:pointer}
h2{font:400 clamp(2.8rem,5vw,4.5rem)/1.05 var(--serif);letter-spacing:-.04em;margin:0 0 1.7rem}
dialog p{font:400 clamp(1.3rem,2vw,1.7rem)/1.5 var(--serif);margin:0 0 2rem}
dialog a{color:inherit}
.read-link{font-size:.875rem;text-transform:uppercase;letter-spacing:.1em;text-decoration:none;border-bottom:1px solid;padding-bottom:.5rem;display:inline-block}
.article-list{list-style:none;margin:0;padding:0}
.article-list li{border-top:1px solid #25312433}
.article-list a{display:block;text-decoration:none;padding:1rem 0;font:400 clamp(1.2rem,2vw,1.5rem)/1.3 var(--serif)}
.article-list a:hover{text-decoration:underline}
@media(max-width:600px){nav{justify-content:center;gap:1.4rem;padding:1.4rem 1rem}nav a{font-size:.75rem;letter-spacing:.055em}h1{font-size:17vw;padding-inline:1rem}.landscape{object-position:51% center}}
@media(max-height:450px){nav{padding-top:.6rem}h1{font-size:14vw}}


html{scroll-behavior:smooth;scroll-padding-top:2rem}
a{color:inherit}
.scroll-cue{position:absolute;bottom:2rem;right:var(--gutter);color:var(--paper);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid;padding-bottom:.5rem;text-shadow:0 1px 6px #253124}
.projects{background:var(--paper);color:var(--ink);padding:clamp(3rem,7vw,7rem) var(--gutter)}
.project{display:grid;grid-template-columns:.3fr 1fr 1.4fr;gap:clamp(1.5rem,4vw,4rem);padding:clamp(3rem,6vw,6rem) 0;border-top:1px solid #25312433;scroll-margin-top:2rem}
.project:first-child{border-top:0;padding-top:0}
.eyebrow{margin:0;font-size:.75rem;letter-spacing:.1em;padding-top:1rem}
.project h2{font-size:clamp(2.7rem,4.5vw,5rem)}
.project-body p{font:400 clamp(1.35rem,2.2vw,2rem)/1.45 var(--serif);margin:0 0 2rem;max-width:32ch}
footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1.5rem;background:var(--paper);color:var(--ink);border-top:1px solid #25312433;padding:2rem var(--gutter);font-size:.875rem}
footer a{text-decoration:none}
footer a:hover{text-decoration:underline}
.about-page{background:var(--paper);color:var(--ink)}
.about-nav{position:static;color:var(--ink);border-bottom:1px solid #25312433;justify-content:space-between}
.about-nav a{color:var(--ink);text-shadow:none}
.about-main{padding:clamp(3rem,7vw,7rem) var(--gutter);max-width:1500px;margin:auto}
.about-main h1{padding:0;text-shadow:none;font-size:clamp(4rem,10vw,10rem);transform:none}
.about-lead{font:400 clamp(2rem,4vw,4rem)/1.15 var(--serif);letter-spacing:-.025em;max-width:23ch;margin:2rem 0 4rem}
.about-copy{max-width:750px;margin-left:auto}
.about-copy p{font:400 clamp(1.2rem,1.65vw,1.5rem)/1.6 var(--serif);margin:0 0 2.5rem}
.about-copy p::first-line{font-weight:500}
@media(max-width:800px){.project{grid-template-columns:1fr;gap:1rem}.project h2{margin:0 0 .8rem}.project-body p{max-width:none}.about-copy{margin:0}}
@media(max-width:600px){nav{gap:.75rem;flex-wrap:wrap}nav a{font-size:.7rem}.home h1{font-size:16vw;padding:0 1.25rem 6rem}.scroll-cue{bottom:2rem;left:1.25rem;right:auto}.about-nav{justify-content:space-between}}
.home h1 .typing-letter{opacity:0}
.home h1 .typing-letter.visible{opacity:1}
.project-body .publication-credit{font:400 .8rem/1.5 var(--sans);margin:1.5rem 0 0;opacity:.75}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.mission{background:var(--paper);color:var(--ink);padding:clamp(4rem,8vw,8rem) calc(var(--gutter) * .6) clamp(2rem,4vw,4rem)}
.mission p{font:400 clamp(1.8rem,3.5vw,3.4rem)/1.25 var(--serif);letter-spacing:-.02em;max-width:calc(40vw + 21.6ch);margin:0 auto}
.earthbound-main{padding:clamp(3rem,6vw,6rem) var(--gutter);max-width:1500px;margin:auto}
.earthbound-intro h1{padding:0;text-shadow:none;font-size:clamp(3.6rem,10vw,10rem)}
.earthbound-lead{font:400 clamp(2rem,3.5vw,3.6rem)/1.2 var(--serif);letter-spacing:-.025em;max-width:25ch;margin:2rem 0 3rem}
.earthbound-description{max-width:640px;margin:0 0 4rem auto}
.earthbound-description p{font:400 clamp(1.2rem,1.6vw,1.5rem)/1.5 var(--serif);margin:0 0 1.5rem}
.earthbound-description .publication-note{font:400 .85rem/1.6 var(--sans);max-width:45ch}
.essay{display:grid;grid-template-columns:.2fr 1fr 1.2fr;gap:clamp(1.5rem,4vw,4rem);padding:clamp(2.5rem,5vw,5rem) 0;border-top:1px solid #25312433}
.essay h2{font-size:clamp(2.2rem,3.4vw,3.7rem);margin:0}
.essay>div>p{font:400 clamp(1.2rem,1.7vw,1.55rem)/1.5 var(--serif);margin:0 0 1.8rem}
@media(max-width:800px){.essay{grid-template-columns:1fr;gap:1rem}.earthbound-description{margin-left:0}.mission p{max-width:none}}
