@import"https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,700&family=Space+Grotesk:wght@400;500;600&display=swap";:root{--font-sans: "Space Grotesk", sans-serif;--font-display: "Fraunces", serif;--bg: #020806;--ink: #fffaf0;--text: #fffaf0;--muted: #e6ded0;--paper: #eee2c8;--paper-warm: #f7ecd2;--accent: #45c184;--accent-2: #0b2b1e;--accent-3: #d8b86b;--card: rgba(3, 15, 10, .82);--shadow: 0 30px 96px rgba(0, 0, 0, .48);--radius: 8px;--max-width: 1160px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background:var(--bg)}body{min-height:100vh;overflow-x:hidden;color:var(--ink);font-family:var(--font-sans);background:radial-gradient(900px 620px at 12% 8%,rgba(23,93,58,.3),transparent 62%),radial-gradient(760px 560px at 90% 12%,rgba(196,143,62,.16),transparent 62%),radial-gradient(780px 680px at 20% 82%,rgba(9,58,37,.28),transparent 66%),linear-gradient(180deg,#020806,#07140f 46%,#020806)}a{color:inherit;text-decoration:none}button,select{font:inherit}main{width:100%;overflow:clip}.app-error-state{min-height:100vh;display:grid;place-items:center;padding:2rem}.app-error-card,.inline-error-card{width:min(560px,100%);padding:2rem;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);background:#090d1ad1;box-shadow:var(--shadow)}.inline-error-card{min-height:100%;display:grid;align-content:center;gap:.75rem}.navbar{position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(245,243,238,.1);background:#080d18d6;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.navbar-inner{width:min(var(--max-width),calc(100% - 32px));margin:0 auto;padding:15px 0;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{font-family:var(--font-display);font-size:21px;font-weight:700;letter-spacing:.03em}.nav-links{display:flex;align-items:center;gap:clamp(12px,2vw,22px);color:#f5f3eed1;font-size:13px;letter-spacing:.12em;text-transform:uppercase}.nav-links a{position:relative;white-space:nowrap}.nav-links a:after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;transform:scaleX(0);transform-origin:left;background:var(--paper);transition:transform .22s ease}.nav-links a:hover:after{transform:scaleX(1)}.nav-dropdown{display:none}.nav-dropdown select{min-width:148px;color:var(--ink);border:1px solid rgba(245,243,238,.18);border-radius:999px;padding:9px 14px;background:#080d18eb}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.chapter{position:relative;min-height:360vh;scroll-margin-top:72px}.chapter-stage{position:sticky;top:0;min-height:100svh;display:grid;align-items:center;width:min(var(--max-width),calc(100% - 32px));margin:0 auto;padding:72px 0 48px}.hero{min-height:440vh;overflow:visible}.hero-stage{grid-template-columns:minmax(280px,.82fr) minmax(360px,1.18fr);gap:clamp(32px,7vw,92px)}.paper-sheet,.paper-artifact{position:relative;border:1px solid rgba(80,55,36,.16);border-radius:var(--radius);color:#221a13;background:linear-gradient(135deg,rgba(255,255,255,.72),transparent 38%),repeating-linear-gradient(92deg,rgba(73,49,32,.035) 0 1px,transparent 1px 5px),var(--paper);box-shadow:var(--shadow)}.paper-sheet:before,.paper-artifact:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:linear-gradient(115deg,rgba(94,58,28,.08),transparent 24%),linear-gradient(295deg,rgba(255,255,255,.28),transparent 38%);mix-blend-mode:multiply}.hero-copy{max-width:560px;transform:translateY(calc(var(--progress) * -22px)) rotate(calc(-.35deg + var(--progress) * .55deg));z-index:2}.eyebrow,.section-tag{color:var(--accent-3);font-size:12px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;text-shadow:0 10px 28px rgba(0,0,0,.45)}h1,h2{font-family:var(--font-display);font-weight:700;letter-spacing:0;text-shadow:0 18px 48px rgba(0,0,0,.45)}.hero-copy h1{max-width:11ch;margin:12px 0 18px;color:var(--ink);font-size:clamp(42px,6.4vw,84px);line-height:.94}.hero-copy p,.chapter-copy p,.plain-section p,.project-card p,.skills-card li,.contact-card p{color:var(--muted);font-size:17px;line-height:1.65;text-shadow:0 10px 28px rgba(0,0,0,.36)}.hero-copy .eyebrow,.chapter-copy .section-tag,.plain-section .section-tag{color:var(--accent-3);font-size:12px;line-height:1.2}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border:1px solid transparent;border-radius:999px;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;transition:transform .2s ease,box-shadow .2s ease}.btn.primary{color:#07120e;background:linear-gradient(110deg,#c7a052,#45c184);box-shadow:0 16px 32px #062a1c61}.btn.ghost{color:var(--ink);border-color:#f5f3ee3d}.btn:hover{transform:translateY(-2px)}.paper-face{position:relative;width:min(690px,48vw);justify-self:center;aspect-ratio:.82;display:grid;place-items:center;overflow:hidden;border-radius:8px;background:#020202;transform:translate(calc((1 - var(--progress)) * 2vw)) scale(calc(.92 + var(--progress) * .08));filter:drop-shadow(0 34px 58px rgba(0,0,0,.38))}.paper-face:before,.paper-face:after{content:"";position:absolute;top:0;bottom:0;z-index:1;width:18%;pointer-events:none}.paper-face:before{left:0;background:linear-gradient(90deg,#020202,#02020200)}.paper-face:after{right:0;background:linear-gradient(270deg,#020202,#02020200)}.paper-face-video{width:100%;height:100%;display:block;object-fit:cover;object-position:52% 50%;border-radius:8px;filter:saturate(.9) contrast(.98) brightness(.9)}.paper-progress{position:absolute;left:8%;right:8%;bottom:-22px;height:3px;overflow:hidden;border-radius:999px;background:#f5f3ee29}.paper-progress span{display:block;width:100%;height:100%;transform:scaleX(var(--progress));transform-origin:left;background:linear-gradient(90deg,#c7a052,#45c184)}.plain-section{width:min(var(--max-width),calc(100% - 32px));margin:0 auto;padding:clamp(88px,12vw,150px) 0;scroll-margin-top:88px}.about-grid{display:grid;grid-template-columns:minmax(260px,.86fr) minmax(300px,1fr);gap:clamp(28px,6vw,72px);align-items:start}.section-header{display:grid;gap:12px}.section-header h2,.chapter-copy h2{color:var(--ink);font-size:clamp(34px,5vw,66px);line-height:1;text-wrap:balance}.plain-section .section-header h2{max-width:820px}.section-body{display:grid;gap:16px}.projects-grid,.skills-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:34px}.project-card,.skills-card{display:grid;gap:16px;padding:24px;border:1px solid rgba(245,243,238,.1);border-radius:var(--radius);background:linear-gradient(135deg,rgba(69,193,132,.1),transparent 42%),var(--card);box-shadow:var(--shadow);transform:translateY(0);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.project-card:hover,.skills-card:hover{transform:translateY(-5px);border-color:#c7a05252;box-shadow:0 28px 80px #00000057}.project-card-header{display:flex;align-items:baseline;justify-content:space-between;gap:14px}.project-card h3,.skills-card h3{position:relative;color:var(--ink);font-size:20px}.project-card-header span{color:var(--accent-3);font-size:13px;font-weight:700}.project-tags{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid rgba(245,243,238,.16);border-radius:999px;padding:6px 10px;color:#f5f3eec7;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.skills-card ul{display:grid;gap:10px;list-style:none}.split-stage,.career-stage-inner{display:grid;grid-template-columns:minmax(300px,.88fr) minmax(420px,1.12fr);gap:clamp(28px,7vw,88px);align-items:center}.split-stage.reverse{grid-template-columns:minmax(420px,1.12fr) minmax(300px,.88fr)}.chapter-copy{transform:translateY(calc((1 - var(--progress)) * 22px)) rotate(calc(-.35deg + var(--progress) * .5deg))}.chapter-copy h2{margin:12px 0 16px;color:var(--ink)}.tree-frame,.map-frame,.truck-paper-stage{min-height:clamp(420px,68vh,680px);display:grid;place-items:center;overflow:hidden;transform:translateY(calc((1 - var(--progress)) * 18px))}.tree-frame{padding:clamp(18px,4vw,42px)}.paper-tree{width:min(620px,100%);height:auto;max-height:58vh;overflow:visible}.tree-ground,.tree-branch{fill:none;stroke:#1f2718;stroke-linecap:round}.tree-ground{opacity:.34;stroke-width:2}.tree-branch{opacity:var(--draw);stroke-width:var(--weight);transition:opacity .12s linear}.paper-map{width:min(620px,100%);height:auto}.map-fold{fill:#fff9e5b8;stroke:#1f271875;stroke-width:3}.map-route{fill:none;stroke:#0d5b39;stroke-width:8;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--draw))}.map-pin{fill:#7c4b12;transition:opacity .2s ease}.career-chapter{min-height:380vh}.career-stage-inner{grid-template-columns:1fr;gap:26px}.centered-copy{justify-self:center;max-width:820px;text-align:center}.truck-paper-stage{position:relative;width:min(100%,1040px);min-height:clamp(310px,48vh,500px);justify-self:center;justify-items:start;padding:clamp(28px,4vw,56px) clamp(28px,6vw,76px)}.truck-road{position:absolute;left:8%;right:8%;bottom:30%;height:2px;background:repeating-linear-gradient(90deg,rgba(31,39,24,.58) 0 32px,transparent 32px 48px)}.truck-canvas{position:relative;z-index:2;width:clamp(220px,30vw,360px);height:clamp(132px,18vw,216px);align-self:center;transition:transform .12s linear;filter:drop-shadow(0 10px 12px rgba(31,39,24,.18))}.truck-canvas canvas{width:100%;height:100%;display:block}.truck-markers{position:absolute;left:10%;right:10%;bottom:10%;display:flex;justify-content:space-between;color:#1f2718bd;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.mountain-paper{min-height:100vh;display:grid;align-content:center;gap:32px}.mountain-collage{position:relative;min-height:420px;padding:32px;display:grid;align-items:end;overflow:hidden;color:var(--ink)}.mountain-collage:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius);background:linear-gradient(135deg,rgba(69,193,132,.14),transparent 36%),var(--card);border:1px solid rgba(245,243,238,.1);box-shadow:var(--shadow)}.mountain-collage p{position:relative;max-width:540px;z-index:2}.mountain-piece{position:absolute;bottom:20%;background:#31424c;clip-path:polygon(50% 0,100% 100%,0 100%);filter:drop-shadow(0 20px 24px rgba(20,12,8,.2))}.peak-one{left:12%;width:42%;height:54%;transform:rotate(-5deg);background:#364952}.peak-two{left:38%;width:48%;height:68%;transform:rotate(3deg);background:#21353e}.peak-three{left:64%;width:28%;height:42%;transform:rotate(8deg);background:#52636a}.contact-section{min-height:90vh;display:grid;align-content:center}.contact-card{max-width:620px;margin-top:28px;padding:clamp(24px,4vw,38px);border:1px solid rgba(245,243,238,.1);border-radius:var(--radius);background:linear-gradient(135deg,rgba(199,160,82,.11),transparent 42%),var(--card);box-shadow:var(--shadow)}.contact-list{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.contact-item{border:1px solid rgba(245,243,238,.16);border-radius:999px;padding:10px 14px;color:var(--ink);font-weight:700}.footer{border-top:1px solid rgba(245,243,238,.08);padding:30px 24px 42px}.footer-inner{width:min(var(--max-width),calc(100% - 32px));margin:0 auto;color:#f5f3ee9e;font-size:14px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media (max-width: 980px){.nav-links{display:none}.nav-dropdown{display:block}.chapter,.hero,.career-chapter{min-height:330vh}.chapter-stage,.hero-stage,.split-stage,.split-stage.reverse{grid-template-columns:1fr}.hero-stage{align-content:center;gap:26px}.paper-face{width:min(520px,88vw);order:-1}.hero-copy{max-width:100%}.hero-copy h1{max-width:11ch;font-size:clamp(38px,12vw,64px)}.about-grid,.projects-grid,.skills-grid{grid-template-columns:1fr}.tree-frame,.map-frame,.truck-paper-stage{min-height:420px}.truck-canvas{width:clamp(200px,60vw,320px);height:clamp(120px,36vw,192px)}}@media (max-width: 640px){.navbar-inner,.chapter-stage,.plain-section{width:min(100% - 24px,var(--max-width))}.chapter-stage{padding:62px 0 34px}.hero-copy,.chapter-copy,.surface-card,.contact-card{padding:0}.surface-card,.contact-card{padding:22px}.paper-face{width:min(390px,94vw)}.tree-frame,.map-frame,.truck-paper-stage{min-height:340px}.paper-tree{max-height:310px}.truck-markers{font-size:9px;letter-spacing:.12em}.mountain-collage{min-height:340px;padding:22px}}
