@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght,SOFT,WONK@9..144,500,20,1;9..144,600,20,1&display=swap');

:root{--ink:#193633;--muted:#536b68;--paper:#f8f7f1;--teal:#123b39;--lime:#d7eea3;--line:#dbe4dc;--serif:Fraunces,Georgia,serif;--sans:'DM Sans',system-ui,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 var(--sans)}
a{color:inherit}
img{max-width:100%;display:block}
:focus-visible{outline:3px solid #7cad41;outline-offset:4px}
.shell{width:min(100% - 56px,1240px);margin-inline:auto}
.site-header{position:relative;z-index:5;background:var(--paper);border-bottom:1px solid var(--line)}
.nav{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.wordmark{display:inline-flex;align-items:center;gap:11px;text-decoration:none;font-size:18px;font-weight:700;letter-spacing:-.03em}
.mark{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--teal);color:var(--lime);font:600 24px var(--serif)}
.nav nav{display:flex;align-items:center;gap:34px}
.nav nav a{font-size:14px;font-weight:700;text-decoration:none}
.nav nav a:hover,.text-link:hover,.footer-inner a:hover{text-decoration:underline;text-underline-offset:5px}
.hero{display:grid;grid-template-columns:minmax(0,1.13fr) minmax(300px,.87fr);align-items:center;gap:clamp(40px,6vw,100px);padding-block:95px 112px}
.hero-copy{padding-block:24px}
.eyebrow{margin:0 0 26px;color:#4b746e;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.dot{display:inline-block;width:9px;height:9px;margin-right:9px;border-radius:50%;background:#7cac42}
h1,h2,h3,p{margin-top:0}
.hero h1{max-width:720px;margin:0 0 28px;font:600 clamp(3.6rem,6.2vw,6.6rem)/.98 var(--serif);letter-spacing:-.055em}
em{font-style:normal;color:#558264}
.lead{max-width:540px;margin-bottom:32px;color:#3e5652;font-size:clamp(19px,2vw,23px);line-height:1.5}
.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:54px;padding:14px 19px;border-radius:7px;font-size:14px;font-weight:700;text-decoration:none;transition:transform .2s,background .2s}
.button:hover{transform:translateY(-2px)}
.button.primary{background:var(--teal);color:white}
.button.primary:hover{background:#1e5550}
.text-link{font-size:14px;font-weight:700;text-decoration:none}
.hero-note{display:flex;gap:16px;align-items:start;max-width:460px;margin-top:76px;color:#6d7c73;font-size:13px;line-height:1.45}
.small-line{flex:none;width:31px;height:1px;margin-top:9px;background:#8ca99a}
.portrait-wrap{position:relative}
.portrait-frame{padding:18px;background:#e5e8d8;border-radius:46% 46% 5px 5px;overflow:hidden}
.portrait-frame img{width:100%;aspect-ratio:540/535;object-fit:cover;object-position:center;border-radius:46% 46% 3px 3px;filter:saturate(.85)}
.portrait-caption{display:flex;justify-content:space-around;gap:4px;margin-top:17px;color:#607672;font:500 13px var(--serif);font-style:italic}
.spaces-section{background:#e9f0e7;padding-block:96px 114px}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:34px}
.section-heading .eyebrow{margin-bottom:10px}
.section-heading h2,.about-copy h2,.contact-inner h2{margin:0;font:600 clamp(2.7rem,4.5vw,4.5rem)/1.05 var(--serif);letter-spacing:-.045em}
.section-heading>p{max-width:390px;margin-bottom:7px;color:#516963;font-size:17px}
.space-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.space-card{display:flex;flex-direction:column;min-height:385px;padding:30px;border:1px solid rgba(20,55,50,.1);border-radius:10px;text-decoration:none;transition:transform .22s,box-shadow .22s;box-shadow:0 8px 24px rgba(28,54,45,.045)}
.space-card:hover{transform:translateY(-6px);box-shadow:0 18px 34px rgba(28,54,45,.12)}
.space-card.biology{background:#f9f9f2}
.space-card.emmett{background:#e6eeec}
.space-card.chinese{background:#f7efe7}
.space-number{font-size:11px;font-weight:700;letter-spacing:.13em;color:#59716e}
.space-icon{display:grid;place-items:center;width:55px;height:55px;margin-top:42px;border-radius:50%;background:#dae8d3;color:#2d6251;font:600 27px var(--serif)}
.emmett .space-icon{background:#cce4df}
.chinese .space-icon{background:#ebdec8}
.space-card h3{margin:20px 0 9px;font:600 30px/1.1 var(--serif);letter-spacing:-.025em}
.space-card p{max-width:320px;margin-bottom:24px;color:#556a65;font-size:15px}
.card-action{display:flex;justify-content:space-between;gap:16px;margin-top:auto;padding-top:15px;border-top:1px solid #cddbd0;font-size:13px;font-weight:700}
.about-section{display:grid;grid-template-columns:1fr 2fr;gap:40px;padding-block:115px 125px}
.about-label{display:flex;flex-direction:column;justify-content:space-between}
.about-symbol{color:#bdd6aa;font:500 160px/1 var(--serif)}
.about-copy h2{margin-bottom:31px}
.about-copy p{max-width:690px;color:#4e645f;font-size:19px;line-height:1.7}
.contact-section{padding-block:76px 85px;background:var(--teal);color:white}
.contact-inner{display:flex;align-items:end;justify-content:space-between;gap:30px}
.contact-inner .eyebrow{margin-bottom:14px;color:#b7d89b}
.contact-inner h2{margin-bottom:13px}
.contact-inner p:last-child{margin:0;color:#c9d9d4}
.button.light{flex:none;background:var(--lime);color:var(--teal)}
.site-footer{background:#0b2d2b;color:#b7ceca}
.footer-inner{display:flex;justify-content:space-between;gap:20px;padding-block:25px;font-size:13px}
.footer-inner a{text-decoration:none}
.simple-page{min-height:75vh;padding-block:70px 110px}
.back-link{display:inline-block;margin-bottom:70px;color:#4d7566;font-size:14px;font-weight:700;text-decoration:none}
.simple-page .eyebrow{margin-bottom:13px}
.simple-page h1{margin-bottom:24px;font:600 clamp(4rem,8vw,7rem)/1 var(--serif);letter-spacing:-.05em}
.simple-lead{max-width:650px;margin-bottom:56px;color:#4b655d;font-size:21px}
.next-card{display:flex;align-items:center;gap:25px;max-width:750px;margin-bottom:45px;padding:30px;background:#e9f0e7;border-radius:10px}
.next-card>span{font:500 52px var(--serif);color:#367261}
.next-card h2{margin-bottom:4px;font:600 25px var(--serif)}
.next-card p{margin:0;color:#526a63}
@media(max-width:850px){.hero{grid-template-columns:1fr;padding-block:60px 80px}.hero-copy{padding:0}.hero-note{margin-top:40px}.portrait-wrap{max-width:520px}.space-grid{grid-template-columns:1fr 1fr}.about-section{grid-template-columns:1fr 2fr}.about-symbol{font-size:110px}}
@media(max-width:620px){.shell{width:min(100% - 36px,1240px)}.nav{min-height:70px}.nav nav{gap:14px}.nav nav a{font-size:12px}.nav nav a[href="/#contact"]{display:none}.hero{gap:35px;padding-block:49px 70px}.hero h1{font-size:clamp(3.5rem,12vw,5.1rem)}.lead{font-size:18px}.hero-actions{gap:21px}.portrait-wrap{max-width:460px}.spaces-section{padding-block:70px 85px}.section-heading{display:block}.section-heading>p{margin-top:16px}.space-grid{grid-template-columns:1fr}.space-card{min-height:335px}.space-icon{margin-top:26px}.about-section{display:block;padding-block:85px}.about-symbol{display:none}.about-copy h2{margin-bottom:20px}.about-copy p{font-size:17px}.contact-inner{display:block}.contact-inner .button{margin-top:27px}.footer-inner{display:block}.footer-inner a{display:block;margin-top:8px}.simple-page{padding-block:45px 70px}.back-link{margin-bottom:60px}.next-card{align-items:start;padding:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.space-card{transition:none}}
