@import "tailwindcss";

:root { --ink:#11130f; --paper:#f1eee5; --acid:#c8ff45; --muted:#6e7169; --line:rgba(17,19,15,.18); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--font-geist-sans),Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
::selection { background:var(--acid); color:var(--ink); }
.site-header { height:88px; padding:0 clamp(24px,5vw,80px); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; border-bottom:1px solid var(--line); position:absolute; inset:0 0 auto; z-index:10; }
.mark { font-weight:900; font-size:26px; letter-spacing:-.08em; }.mark span { color:#6a8d10; }
nav { display:flex; gap:42px; font-size:13px; font-weight:650; } nav a,.text-link,.header-cta,footer a { transition:opacity .2s; } nav a:hover,.text-link:hover,.header-cta:hover,footer a:hover { opacity:.55; }
.header-cta { justify-self:end; border-bottom:1px solid; padding-bottom:4px; font-size:13px; font-weight:700; display:flex; gap:10px; }
.hero { min-height:780px; height:100svh; padding:140px clamp(24px,8vw,140px) 70px; display:grid; grid-template-columns:1.12fr .88fr; align-items:center; position:relative; overflow:hidden; }
.hero::before { content:""; position:absolute; width:44vw; height:44vw; border:1px solid rgba(17,19,15,.09); border-radius:50%; right:-18vw; top:-18vw; }
.eyebrow,.section-label { font:600 11px/1 var(--font-geist-mono),monospace; letter-spacing:.14em; text-transform:uppercase; }.eyebrow { display:flex; align-items:center; gap:10px; margin-bottom:26px; }.eyebrow i { width:7px;height:7px;background:#6e920e;border-radius:50%;box-shadow:0 0 0 5px rgba(110,146,14,.14); }
h1,h2,h3,p { margin-top:0; }.hero h1 { font-size:clamp(64px,8.8vw,142px); line-height:.82; letter-spacing:-.075em; margin-bottom:28px; font-weight:750; }.hero h1 em,.intro h2 em,.experience-section h2 em,.skills-section h2 em,.contact-section h2 em { font-family:Georgia,serif; font-weight:400; }
.identity-line{max-width:590px;margin:0 0 28px;padding:11px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;font:600 10px/1.3 var(--font-geist-mono),monospace;letter-spacing:.1em;color:#4f534a}.identity-line span:last-child{font-family:var(--font-geist-sans),Arial,sans-serif;font-size:13px;letter-spacing:0;color:var(--ink)}
.hero-lead { max-width:590px; font-size:clamp(17px,1.45vw,23px); line-height:1.55; color:#4f534a; }
.hero-actions { display:flex; align-items:center; gap:30px; margin-top:44px; }.button { display:inline-flex; gap:32px; align-items:center; padding:18px 22px; font-size:13px; font-weight:700; }.button-dark { background:var(--ink); color:white; }.text-link { font-size:13px; font-weight:700; border-bottom:1px solid; padding-bottom:4px; display:flex; gap:10px; }
.portrait-wrap { position:relative; width:min(36vw,470px); justify-self:end; }.portrait-frame { position:relative; z-index:2; background:var(--acid); padding:13px; transform:rotate(1.7deg); box-shadow:22px 26px 0 rgba(17,19,15,.08); }.portrait-frame img { width:100%; height:auto; display:block; filter:saturate(.92) contrast(1.02); }.portrait-caption { position:absolute; left:13px;right:13px;bottom:13px;background:rgba(17,19,15,.88);color:white;padding:13px 16px;display:flex;justify-content:flex-end;font:550 10px var(--font-geist-mono);text-transform:uppercase;letter-spacing:.08em;backdrop-filter:blur(8px); }
.orbit { position:absolute;border:1px solid rgba(17,19,15,.18);border-radius:50%;z-index:1; }.orbit-one{width:130%;height:130%;inset:-15%;}.orbit-two{width:160%;height:80%;left:-30%;top:10%;transform:rotate(-28deg);}.code-note{position:absolute;right:-78px;bottom:40px;z-index:3;font:500 9px/1.9 var(--font-geist-mono);letter-spacing:.12em}.code-note b{font-size:11px;background:var(--acid);padding:2px 5px}.scroll-note{position:absolute;bottom:30px;left:clamp(24px,5vw,80px);font:500 10px var(--font-geist-mono);text-transform:uppercase;letter-spacing:.12em}.scroll-note span{margin-left:10px}
.intro,.work-section,.experience-section,.education-section,.skills-section,.contact-section { padding:clamp(80px,11vw,160px) clamp(24px,8vw,140px); }
.intro { border-top:1px solid var(--line); display:grid;grid-template-columns:1fr 3fr;gap:40px; }.intro h2,.skills-section h2 { font-size:clamp(46px,6vw,92px);line-height:.94;letter-spacing:-.065em;margin-bottom:70px;}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,90px);max-width:900px}.intro-grid p{font-size:18px;line-height:1.7;color:#4c5048}
.field-section{padding:0 clamp(24px,8vw,140px) clamp(80px,11vw,160px);display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.7fr);gap:clamp(32px,6vw,90px);align-items:stretch}.field-media{position:relative;min-height:440px;background:var(--ink);overflow:hidden}.field-media video{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.84) contrast(1.04)}.field-media::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(17,19,15,.45),transparent 42%);pointer-events:none}.field-media>span{position:absolute;z-index:2;left:22px;bottom:20px;color:white;font:600 10px var(--font-geist-mono);letter-spacing:.12em}.field-copy{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:34px 0;display:flex;flex-direction:column;justify-content:space-between}.field-copy h2{font-size:clamp(48px,5.4vw,82px);line-height:.88;letter-spacing:-.065em;margin:55px 0}.field-copy h2 em{font-family:Georgia,serif;font-weight:400}.field-copy>p:last-child{font-size:16px;line-height:1.7;color:#54584f;max-width:440px}
.work-section { background:#d6ff68; }.section-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:60px}.section-head>p:last-child{font-size:16px;line-height:1.55}.project{display:grid;grid-template-columns:80px 1fr 270px 40px;gap:28px;align-items:center;border-top:1px solid rgba(17,19,15,.35);padding:42px 0;transition:padding .25s,background .25s}.project:last-child{border-bottom:1px solid rgba(17,19,15,.35)}.project:hover{padding-left:18px;padding-right:18px;background:rgba(241,238,229,.34)}.project-number{font:500 11px var(--font-geist-mono)}.project-kicker{font:600 10px var(--font-geist-mono);letter-spacing:.14em;margin-bottom:12px}.project h3{font-size:clamp(36px,4vw,64px);letter-spacing:-.05em;margin-bottom:12px}.project-main>p:last-child{max-width:690px;color:#3c4038;line-height:1.65}.project-meta{font:500 11px/1.7 var(--font-geist-mono);color:#4b4e45}.project-arrow{font-size:26px;justify-self:end}
.experience-section { background:var(--ink);color:#f4f1e8; }.section-head.light h2{font-size:clamp(46px,6vw,90px);line-height:.95;letter-spacing:-.06em;text-align:right}.timeline-item{display:grid;grid-template-columns:180px minmax(230px,.75fr) 1.3fr;gap:40px;padding:42px 0;border-top:1px solid rgba(255,255,255,.18)}.timeline-item:last-child{border-bottom:1px solid rgba(255,255,255,.18)}.timeline-period{font:500 10px var(--font-geist-mono);color:#a7aa9f;letter-spacing:.1em}.timeline-role h3{font-size:23px;letter-spacing:-.03em;margin-bottom:8px}.timeline-role p{color:var(--acid);font:500 11px var(--font-geist-mono)}.timeline-detail>p{color:#b9bcb2;line-height:1.65;max-width:650px}.tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}.tags span{border:1px solid rgba(255,255,255,.22);border-radius:99px;padding:7px 10px;font:500 9px var(--font-geist-mono);text-transform:uppercase;letter-spacing:.06em}
.speaking-section{position:relative;height:min(86vw,880px);min-height:620px;background:#141610;color:white;overflow:hidden}.speaking-section video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(1.08)}.speaking-section::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,19,15,.94) 0%,rgba(17,19,15,.73) 32%,rgba(17,19,15,.18) 60%,rgba(17,19,15,.04) 100%),linear-gradient(0deg,rgba(17,19,15,.45),transparent 45%)}.speaking-overlay{position:relative;z-index:2;height:100%;padding:clamp(60px,8vw,130px) clamp(24px,8vw,140px)}.speaking-overlay>div{position:absolute;left:clamp(24px,8vw,140px);bottom:105px;width:min(43vw,590px)}.speaking-overlay h2{font-size:clamp(56px,6.6vw,98px);line-height:.86;letter-spacing:-.07em;margin-bottom:32px}.speaking-overlay h2 em{font-family:Georgia,serif;font-weight:400;color:var(--acid)}.speaking-overlay>div p{max-width:550px;color:#d1d3cb;font-size:17px;line-height:1.65}.video-note{position:absolute;right:clamp(24px,8vw,140px);bottom:38px;font:500 10px var(--font-geist-mono);text-transform:uppercase;letter-spacing:.1em}
.education-section{background:#ddd9ce}.education-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;margin-top:55px}.education-card{padding:40px;border:1px solid rgba(17,19,15,.18);margin-left:-1px}.education-card span{font:600 10px var(--font-geist-mono);letter-spacing:.12em}.education-card h3{font-size:30px;letter-spacing:-.04em;margin:50px 0 8px}.education-card>p:not(.small){font-size:14px}.education-card .small{color:#5b5e56;line-height:1.6;font-size:13px;margin-top:36px;max-width:530px}.primary-card{background:var(--paper)}.education-card .second-lang{margin-top:25px}
.skills-section{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.skills-section h2{font-size:clamp(42px,5vw,76px);margin:40px 0 0}.skills-cloud{display:flex;align-content:center;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px}.skills-cloud span{border:1px solid var(--line);padding:14px 18px;border-radius:99px;font:550 12px var(--font-geist-mono)}.skills-cloud .featured{background:var(--ink);color:white;border-color:var(--ink);font-size:14px;padding:17px 22px}
.contact-section{background:var(--acid);padding-bottom:80px}.contact-top{display:flex;justify-content:space-between}.contact-top>span{font-size:14px}.contact-section h2{font-size:clamp(70px,11vw,175px);line-height:.82;letter-spacing:-.08em;margin:100px 0 80px}.contact-email{font-size:clamp(18px,2.3vw,36px);font-weight:650;border-bottom:2px solid;display:flex;justify-content:space-between;padding-bottom:15px}
footer{padding:26px clamp(24px,5vw,80px);display:grid;grid-template-columns:1fr 1fr 1fr 1fr;align-items:center;background:var(--ink);color:#eeece5;font:500 10px var(--font-geist-mono);text-transform:uppercase;letter-spacing:.08em}footer div{display:flex;gap:25px}footer p:last-child{text-align:right}.footer-mark{font-family:var(--font-geist-sans);font-size:22px}
@media(max-width:900px){.site-header{grid-template-columns:1fr auto}.site-header nav{display:none}.hero{height:auto;min-height:0;padding-top:135px;grid-template-columns:1fr;gap:80px}.portrait-wrap{width:min(72vw,470px);justify-self:center}.code-note{right:-10px}.intro{grid-template-columns:1fr}.field-section{grid-template-columns:1fr}.field-media{min-height:0;aspect-ratio:16/9}.field-copy{min-height:420px}.section-head,.contact-top{gap:35px}.project{grid-template-columns:45px 1fr 32px}.project-meta{display:none}.timeline-item{grid-template-columns:130px 1fr}.timeline-detail{grid-column:2}.speaking-section{height:780px}.speaking-section video{object-position:38% center}.speaking-section::after{background:linear-gradient(0deg,rgba(17,19,15,.94) 0%,rgba(17,19,15,.5) 55%,rgba(17,19,15,.05) 100%)}.speaking-overlay>div{left:clamp(24px,8vw,140px);bottom:95px;width:min(78vw,590px)}.education-grid{grid-template-columns:1fr}.education-card{margin:-1px 0 0}.skills-section{grid-template-columns:1fr}.contact-section h2{margin:80px 0 60px}footer{grid-template-columns:1fr 1fr;gap:22px}footer p:last-child{text-align:left}}
@media(max-width:560px){.site-header{height:74px;padding:0 20px}.hero,.intro,.work-section,.experience-section,.education-section,.skills-section,.contact-section{padding-left:20px;padding-right:20px}.hero h1{font-size:17vw}.identity-line{align-items:flex-start;flex-direction:column;gap:8px}.hero-actions{align-items:flex-start;flex-direction:column}.portrait-caption{font-size:8px}.intro-grid{grid-template-columns:1fr}.field-section{padding-left:20px;padding-right:20px}.field-media{aspect-ratio:4/3}.field-media video{object-position:center}.field-copy{min-height:360px}.field-copy h2{margin:42px 0}.section-head{flex-direction:column}.project{grid-template-columns:35px 1fr;padding:30px 0}.project-arrow{display:none}.project h3{font-size:38px}.section-head.light h2{text-align:left}.timeline-item{grid-template-columns:1fr;gap:12px}.timeline-detail{grid-column:1}.speaking-section{height:680px;min-height:0}.speaking-section video{object-position:38% top}.speaking-overlay{padding-left:20px;padding-right:20px}.speaking-overlay>div{left:20px;bottom:32px;width:calc(100% - 40px)}.speaking-overlay h2{font-size:14vw;margin-bottom:22px}.speaking-overlay>div p{font-size:15px}.video-note{display:none}.education-card{padding:28px}.contact-top{flex-direction:column}.contact-section h2{font-size:19vw}.contact-email{word-break:break-word;gap:20px}footer{grid-template-columns:1fr}footer p{margin:0}.footer-mark{display:none}}

/* Campus video as a full-bleed section background. */
.field-section{position:relative;min-height:clamp(590px,70vw,820px);padding:clamp(38px,5vw,70px) clamp(24px,8vw,140px);display:flex;align-items:stretch;overflow:hidden;background:var(--ink);color:white}
.field-section>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:42% center;display:block;filter:saturate(.78) contrast(1.06)}
.field-section::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,19,15,.91) 0%,rgba(17,19,15,.72) 34%,rgba(17,19,15,.16) 70%,rgba(17,19,15,.4) 100%),linear-gradient(0deg,rgba(17,19,15,.62),transparent 48%);pointer-events:none}
.field-section .field-copy{position:relative;z-index:2;width:min(560px,48vw);min-height:0;border-color:rgba(255,255,255,.38);padding:34px 0}
.field-section .field-copy h2{font-size:clamp(58px,7.2vw,108px)}
.field-section .field-copy>p:last-child{color:rgba(255,255,255,.78)}
.field-note{position:absolute;z-index:2;right:clamp(24px,8vw,140px);bottom:clamp(28px,4vw,52px);color:white;font:600 10px var(--font-geist-mono);letter-spacing:.12em}
@media(max-width:900px){.field-section{min-height:700px}.field-section>video{object-position:54% center}.field-section::after{background:linear-gradient(90deg,rgba(17,19,15,.9),rgba(17,19,15,.38)),linear-gradient(0deg,rgba(17,19,15,.7),transparent 55%)}.field-section .field-copy{width:min(560px,72vw);min-height:0}}
@media(max-width:560px){.field-section{min-height:650px;padding:38px 20px}.field-section>video{object-position:57% center}.field-section::after{background:linear-gradient(0deg,rgba(17,19,15,.94) 0%,rgba(17,19,15,.52) 72%,rgba(17,19,15,.22) 100%)}.field-section .field-copy{width:100%;min-height:0;border-bottom:0;padding-bottom:120px}.field-section .field-copy h2{font-size:16vw;margin:42px 0}.field-note{left:20px;right:auto;bottom:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project{transition:none}.speaking-section video{display:none}}
