:root {
  --bg: #07110f;
  --bg-soft: #0c1a17;
  --panel: rgba(13, 29, 25, .76);
  --text: #f1f1e8;
  --muted: #c2ccc5;
  --line: rgba(226, 241, 231, .14);
  --accent: #bfe86f;
  --accent-2: #70d8c2;
  --shadow: 0 30px 80px rgba(0, 0, 0, .34);
  --serif: "Playfair Display", Georgia, serif;
  --sans: "Manrope", sans-serif;
  --mono: "DM Mono", monospace;
}

[data-theme="day"] {
  --bg: #e9eadb;
  --bg-soft: #f5f3e9;
  --panel: rgba(255, 255, 246, .75);
  --text: #17231e;
  --muted: #405149;
  --line: rgba(24, 48, 39, .16);
  --accent: #4c7f41;
  --accent-2: #268d78;
  --shadow: 0 30px 80px rgba(42, 62, 49, .15);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body { margin: 0; color: var(--text); background: var(--bg); font-family: var(--sans); transition: background .8s, color .8s; overflow-x: hidden; }
body::before { content: ""; position: fixed; inset: 0; z-index: -4; background: radial-gradient(circle at 68% 20%, #163b40 0, transparent 25%), linear-gradient(145deg, #071412, #06100f 48%, #0d1c18); transition: background 1.4s ease; }
[data-theme="day"] body::before { background: radial-gradient(circle at 72% 18%, #fff5bd 0, transparent 22%), linear-gradient(155deg, #dce9d6, #b9d7cf 55%, #e9e4c9); }
body::after { content: ""; position: fixed; inset: 0; z-index: -1; background: linear-gradient(to bottom, transparent 45%, var(--bg) 98%); pointer-events: none; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
.noise { position: fixed; inset: 0; opacity: .035; z-index: 20; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E"); }
.world { position: fixed; inset: 0; z-index: -2; overflow: hidden; pointer-events: none; perspective: 900px; }
.celestial { position: absolute; width: 90px; height: 90px; right: 15%; top: 13%; border-radius: 50%; background: #edf0d8; box-shadow: 0 0 40px #e5f4d188, 0 0 120px #c9e9d13f; opacity: .72; transition: 1.3s cubic-bezier(.2,.8,.2,1); }
[data-theme="day"] .celestial { width: 72px; height: 72px; background: #f4c75c; box-shadow: 0 0 45px #ffd875aa, 0 0 140px #fff3b176; transform: translate(-3vw, -2vh); opacity: 1; }
.aurora { position: absolute; inset: -20% -10% 42%; opacity: .2; filter: blur(45px); transform: rotate(-8deg); background: conic-gradient(from 210deg at 60% 50%, transparent, #4ccbad, transparent 20%, #7799e6, transparent 42%); animation: breathe 10s ease-in-out infinite; transition: opacity 1s; }
[data-theme="day"] .aurora { opacity: .05; }
.stars { position: absolute; inset: 0 0 48%; opacity: .7; background-image: radial-gradient(#fff 1px,transparent 1px),radial-gradient(#c7ead7 .8px,transparent .8px),radial-gradient(#fff 1px,transparent 1px); background-size: 113px 127px, 173px 191px, 241px 223px; background-position: 23px 9px,71px 39px,137px 21px; transition: opacity 1s; }
[data-theme="day"] .stars { opacity: 0; }
.mountains { position: absolute; left: -8%; width: 116%; transition: background 1s, opacity 1s; }
.mountains-far { bottom: 27%; height: 34%; opacity: .55; background: #162f2d; clip-path: polygon(0 100%,0 64%,9% 44%,15% 59%,26% 20%,35% 61%,45% 34%,52% 64%,62% 25%,70% 59%,81% 16%,91% 53%,100% 39%,100% 100%); filter: blur(1px); }
.mountains-near { bottom: 17%; height: 35%; background: #0b211d; clip-path: polygon(0 100%,0 69%,13% 30%,23% 68%,34% 42%,42% 75%,57% 29%,68% 67%,78% 38%,90% 72%,100% 45%,100% 100%); }
[data-theme="day"] .mountains-far { background:#8fae9f;opacity:.7 } [data-theme="day"] .mountains-near { background:#587d6c;opacity:.72 }
.lake { position: absolute; inset: 64% 0 0; background: linear-gradient(170deg, rgba(57,119,111,.2), rgba(5,19,17,.75)), repeating-linear-gradient(176deg, transparent 0 14px, rgba(188,232,213,.07) 15px 16px); transform: perspective(400px) rotateX(64deg) scale(1.6); transform-origin: top; transition: background 1s; }
[data-theme="day"] .lake { background:linear-gradient(170deg,rgba(137,198,184,.55),rgba(83,125,113,.45)),repeating-linear-gradient(176deg,transparent 0 14px,rgba(255,255,225,.18) 15px 16px) }
.forest { position:absolute; left:-2%; width:104%; bottom:10%; height:40%; background-repeat:repeat-x; transition:opacity 1s; }
.forest-back { opacity:.55; background-size:115px 100%; background-image:linear-gradient(63deg,transparent 48%,#102a24 49% 53%,transparent 54%),linear-gradient(-63deg,transparent 48%,#102a24 49% 53%,transparent 54%); }
.forest-front { opacity:.9; bottom:-2%; height:35%; background-size:170px 100%; background-image:linear-gradient(68deg,transparent 44%,#071612 45% 52%,transparent 53%),linear-gradient(-68deg,transparent 44%,#071612 45% 52%,transparent 53%); }
[data-theme="day"] .forest-back{opacity:.11}[data-theme="day"] .forest-front{opacity:.2}
.ground { position:absolute;inset:auto 0 0;height:13%;background:linear-gradient(180deg,transparent,#06100d 45%); }
.reed { position:absolute;bottom:2%;width:3px;height:80px;background:#17372b;transform-origin:bottom;animation:reed 5s ease-in-out infinite; }.reed::after{content:"";position:absolute;width:20px;height:7px;border-radius:100%;background:#244f3d;left:-8px;top:12px;transform:rotate(-35deg)}
.r1{left:8%}.r2{right:12%;height:110px;animation-delay:-2s}.r3{right:8%;height:65px;animation-delay:-3s}
.frog { position:absolute;right:6.5%;bottom:5.5%;width:38px;height:17px;border-radius:50% 50% 35% 35%;background:#294f36;filter:drop-shadow(0 0 8px #9cda6f44);animation:frogBreath 3s ease-in-out infinite; }.frog::before,.frog::after{content:"";position:absolute;top:-7px;width:10px;height:10px;border-radius:50%;background:#315f40;box-shadow:inset 0 0 0 3px #101b14}.frog::before{left:5px}.frog::after{right:5px}.frog i{position:absolute;width:19px;height:8px;border-bottom:2px solid #a2cc67;border-radius:50%;left:10px;top:4px}
.firefly { width: 5px; height: 5px; background: var(--accent); box-shadow: 0 0 15px var(--accent); animation: drift 8s ease-in-out infinite; }
.firefly { position:absolute;border-radius:50% }.f1 { left: 8%; top: 42%; }.f2 { left: 73%; top: 51%; animation-delay: -4s; }.f3 { left: 88%; top: 67%; animation-delay: -2s; }.f4{left:48%;top:56%;animation-delay:-6s}
.topbar { height: 88px; padding: 0 5vw; display: flex; align-items: center; justify-content: space-between; position: fixed; inset: 0 0 auto; z-index: 10; backdrop-filter: blur(15px); border-bottom: 1px solid transparent; transition: .3s; }
.topbar.scrolled { height: 70px; background: color-mix(in srgb, var(--bg) 76%, transparent); border-color: var(--line); }
.brand { display: inline-flex; align-items: center; gap: 12px; }
.brand span { width: 35px; height: 35px; border: 1px solid var(--line); display: grid; place-items: center; border-radius: 50%; font: 500 12px var(--mono); }
.brand b { font-size: 14px; letter-spacing: -.02em; }
nav { display: flex; gap: clamp(16px, 1.8vw, 30px); font-size: 12px; }
nav a { color: var(--muted); transition: color .2s; } nav a:hover { color: var(--text); }
.theme-toggle { border: 0; background: none; color: var(--text); display: flex; gap: 10px; align-items: center; cursor: pointer; font: 11px var(--mono); text-transform: uppercase; letter-spacing: .08em; }
.toggle-track { width: 42px; height: 23px; padding: 3px; border-radius: 20px; border: 1px solid var(--line); background: var(--panel); }
.toggle-track i { display: block; width: 15px; height: 15px; border-radius: 50%; background: var(--accent); transform: translateX(18px); transition: .5s cubic-bezier(.2,.8,.2,1); }
[data-theme="day"] .toggle-track i { transform: translateX(0); }
.hero { min-height: 100vh; padding: 150px 7vw 80px; display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; position: relative; }
.eyebrow, .kicker { font: 10px var(--mono); letter-spacing: .15em; text-transform: uppercase; color: var(--accent); }
.eyebrow { display: flex; align-items: center; gap: 10px; }.eyebrow span { width: 22px; height: 1px; background: var(--accent); }
h1 { font-size: clamp(58px, 7.5vw, 112px); line-height: .88; letter-spacing: -.07em; margin: 30px 0; font-weight: 500; max-width: 1000px; }
h1 em, h2 em { font-family: var(--serif); font-weight: 600; color: var(--accent); }
.lede { color: var(--text); line-height: 1.8; max-width: 580px; font-size: 16px; font-weight:500; opacity:.9; text-shadow:0 2px 18px color-mix(in srgb,var(--bg) 72%,transparent); }
.hero-actions { display: flex; align-items: center; gap: 30px; margin-top: 42px; }
.primary, .send-button { display: inline-flex; justify-content: space-between; align-items: center; min-width: 200px; padding: 17px 20px; border-radius: 4px; background: var(--accent); color: #102016; font-weight: 700; font-size: 13px; border: 0; cursor: pointer; }
.text-link { font-size: 13px; border-bottom: 1px solid var(--line); padding-bottom: 5px; }.text-link span { color: var(--accent); margin-left: 8px; }
.orbit-stage { height: 560px; position: relative; display: grid; place-items: center; perspective: 1000px; overflow: hidden; }
.orbit { position: absolute; border: 1px solid var(--line); border-radius: 50%; transform: rotateX(65deg) rotateZ(-15deg); animation: spin 18s linear infinite; }
.orbit-one { width: 430px; height: 430px; }.orbit-two { width: 300px; height: 300px; animation-direction: reverse; animation-duration: 13s; }
.core-card { width: 270px; min-height: 190px; padding: 30px; background: var(--panel); backdrop-filter: blur(22px); border: 1px solid var(--line); box-shadow: var(--shadow); display: flex; flex-direction: column; justify-content: center; transform-style: preserve-3d; }
.core-card small { color: var(--accent); font: 9px var(--mono); letter-spacing: .12em; }.core-card strong { margin: 16px 0 6px; font-size: 22px; }.core-card p { color: var(--muted); font-size: 12px; margin: 0; }
.core-status { position: absolute; width: 7px; height: 7px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 14px var(--accent); right: 20px; top: 20px; }
.tech-pill { position: absolute; padding: 9px 13px; background: color-mix(in srgb, var(--panel) 85%, transparent); border: 1px solid var(--line); backdrop-filter: blur(10px); font: 10px var(--mono); box-shadow: var(--shadow); animation: float 5s ease-in-out infinite; }
.p1 { top: 18%; left: 10%; }.p2 { top: 25%; right: 4%; animation-delay: -1s; }.p3 { bottom: 20%; left: 2%; animation-delay: -2s; }.p4 { bottom: 12%; right: 15%; animation-delay: -3s; }
.scroll-cue { position: absolute; bottom: 30px; left: 7vw; color: var(--muted); font: 9px var(--mono); text-transform: uppercase; letter-spacing: .12em; display: flex; gap: 10px; align-items: center; }.scroll-cue span { height: 38px; width: 1px; background: linear-gradient(var(--accent), transparent); }
.section-shell { width: min(1180px, 86vw); margin-inline: auto; }
.stats { margin-top: 20px; display: grid; grid-template-columns: repeat(4,1fr); border-block: 1px solid var(--line); padding: 35px 0; }
.stats div { display: flex; flex-direction: column; border-right: 1px solid var(--line); padding-left: 28px; }.stats div:first-child { padding-left: 0; }.stats div:last-child { border: 0; }
.stats b { font: 36px var(--serif); }.stats span { color: var(--muted); font-size: 11px; margin-top: 6px; }
.work, .publications, .certifications, .about, .contact { padding-top: 150px; }
.section-heading { display: grid; grid-template-columns: 1fr 360px; gap: 80px; align-items: end; margin-bottom: 65px; }
h2 { margin: 12px 0 0; font-size: clamp(48px, 6vw, 80px); letter-spacing: -.055em; line-height: .95; font-weight: 500; }
.section-heading > p, .contact-intro > p { color: var(--muted); font-size: 14px; line-height: 1.8; }
.project-grid { display: grid; grid-template-columns: repeat(12,1fr); gap: 22px; }
.project-card { grid-column: span 6; min-height: 450px; padding: 34px; position: relative; overflow: hidden; background: var(--panel); border: 1px solid var(--line); box-shadow: var(--shadow); transform-style: preserve-3d; transition: border-color .3s; }
.project-card:nth-child(3n) { grid-column: span 12; min-height: 390px; }
.project-card::after { content: ""; position: absolute; inset: auto -20% -48% 10%; height: 78%; background: radial-gradient(circle, var(--glow), transparent 65%); opacity: .5; }
.project-no { color: var(--muted); font: 10px var(--mono); }.project-card h3 { font-size: 31px; margin: 95px 0 14px; letter-spacing: -.04em; }.project-card p { color: var(--muted); max-width: 460px; line-height: 1.7; font-size: 13px; }
.tag-row { display: flex; flex-wrap: wrap; gap: 8px; position: absolute; left: 34px; bottom: 32px; z-index: 1; }.tag-row span { padding: 7px 10px; border: 1px solid var(--line); font: 9px var(--mono); text-transform: uppercase; }
.project-arrow { position: absolute; right: 28px; top: 28px; width: 45px; height: 45px; border-radius: 50%; border: 1px solid var(--line); display: grid; place-items: center; transition: .3s; }.project-card:hover .project-arrow { background: var(--accent); color: #102016; transform: rotate(45deg); }
.skill-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: 100px; }
.big-quote { font: italic 27px/1.5 var(--serif); margin: 0 0 40px; }
.skill-group { border-top: 1px solid var(--line); padding: 25px 0; display: grid; grid-template-columns: minmax(120px,160px) minmax(0,1fr); }
.skill-group h3 { margin: 0; font: 12px var(--mono); color: var(--accent); text-transform: uppercase; }
.skills { min-width:0;display: flex; flex-wrap: wrap; gap: 10px; }.skills span { max-width:100%;padding: 10px 13px; background: var(--panel); border: 1px solid var(--line); font-size: 12px; overflow-wrap:anywhere;box-shadow: 0 8px 25px rgba(0,0,0,.08); transition: transform .25s; }.skills span:hover { transform: translateY(-5px) rotate(-1deg); }
.contact { min-height: 900px; display: grid; grid-template-columns: .85fr 1.15fr; gap: 100px; align-items: center; padding-bottom: 130px; }
.contact-intro h2 { margin-bottom: 30px; }.contact-meta { margin-top: 45px; display: grid; gap: 12px; color: var(--muted); font: 10px var(--mono); }
.message-wrap { position: relative; min-height: 580px; perspective: 1200px; }
.message-card { background: color-mix(in srgb, var(--panel) 92%, transparent); border: 1px solid var(--line); backdrop-filter: blur(25px); padding: 34px; box-shadow: var(--shadow); transition: transform .3s; transform-style: preserve-3d; }
.form-head { display: flex; justify-content: space-between; margin-bottom: 30px; font: 10px var(--mono); text-transform: uppercase; letter-spacing: .12em; }.form-head i { width: 7px; height: 7px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 12px var(--accent); }
label { display: block; color: var(--muted); font: 9px var(--mono); text-transform: uppercase; letter-spacing: .1em; margin-top: 20px; }
input, textarea { display: block; width: 100%; padding: 13px 0; color: var(--text); background: transparent; border: 0; border-bottom: 1px solid var(--line); outline: 0; resize: none; font: 14px var(--sans); text-transform: none; letter-spacing: 0; transition: border-color .2s; }
input:focus, textarea:focus { border-color: var(--accent); }.send-button { width: 100%; margin-top: 27px; }.form-note { color: var(--muted); text-align: center; font-size: 9px; margin: 13px 0 0; }
footer { min-height: 180px; border-top: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; color: var(--muted); font-size: 11px; }
footer > div { display: flex; gap: 25px; } footer a:hover { color: var(--accent); }
.reveal { opacity: 0; transform: translateY(35px); transition: opacity .8s, transform .8s; }.reveal.visible { opacity: 1; transform: none; }
@keyframes blink { to { opacity: .2; transform: scale(.6); } }
@keyframes drift { 50% { transform: translate(35px,-50px); opacity: .35; } }
@keyframes spin { to { transform: rotateX(65deg) rotateZ(345deg); } }
@keyframes float { 50% { transform: translateY(-13px) rotate(2deg); } }
@keyframes foldAway { 0% { transform: rotateX(0) scale(1); opacity:1 } 45% { transform: rotateX(75deg) scale(.75,.45); } 100% { transform: rotateX(110deg) scale(.14,.05); opacity:0 } }
@keyframes launch { 0% { transform: translate(0,0) rotate(-15deg) scale(.5); opacity:0 } 12% { opacity:1 } 100% { transform: translate(520px,-520px) rotate(-40deg) scale(.2); opacity:0 } }
@keyframes smoke { 0% { opacity:.6; transform:scale(.4) } 100% { opacity:0; transform:translate(-90px,70px) scale(4) } }
@keyframes appear { from { opacity:0; transform:translateY(10px) } }
@media (max-width: 900px) {
  nav { display:none; }.hero { grid-template-columns:1fr; padding-top:130px }.orbit-stage { height:420px }.section-heading, .contact, .skill-layout { grid-template-columns:1fr; gap:45px }.project-card, .project-card:nth-child(3n) { grid-column:span 12 }.stats { grid-template-columns:repeat(2,1fr); gap:25px }.stats div:nth-child(2) { border:0 }.contact { padding-top:120px }.skill-group { grid-template-columns:1fr; gap:20px }
}
@media (max-width: 560px) {
  .topbar { padding:0 6vw }.brand b, .theme-word { display:none }.hero { padding-inline:6vw } h1 { font-size:52px }.hero-actions { align-items:flex-start; flex-direction:column }.orbit-stage { height:350px }.orbit-one { width:320px;height:320px }.orbit-two { width:230px;height:230px }.section-shell { width:88vw }.stats b { font-size:27px }.stats div { padding-left:12px }.project-card { min-height:410px;padding:25px }.section-heading { margin-bottom:40px }.contact { gap:55px }.message-card { padding:24px } footer { flex-direction:column;justify-content:center;gap:25px;text-align:center }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration:.01ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; transition-duration:.01ms!important; } }

/* Premium interaction layer */
.resume-nav { color: var(--accent); }
.hero-copy { position: relative; z-index: 2; }
.hero-actions { flex-wrap: wrap; }
.resume-button { display: inline-flex; align-items: center; gap: 13px; padding: 8px 12px 8px 9px; border: 1px solid var(--line); background: color-mix(in srgb, var(--panel) 70%, transparent); backdrop-filter: blur(12px); border-radius: 4px; box-shadow: 0 12px 35px rgba(0,0,0,.15); transition: transform .3s, border-color .3s, background .3s; }
.resume-button:hover { transform: translateY(-4px); border-color: var(--accent); background: var(--panel); }
.resume-button .resume-icon { width: 37px; height: 42px; display:grid; place-items:center; color:#172019; background:#ecf0df; box-shadow:5px 5px 0 color-mix(in srgb,var(--accent) 55%,transparent); font-size:17px; transform:rotate(-3deg); }
.resume-button > span:nth-child(2) { display:grid; gap:2px; font-size:12px; font-weight:700; }
.resume-button small { color:var(--muted); font:8px var(--mono); letter-spacing:.1em; }
.resume-button b { color:var(--accent); margin-left:8px; }

.project-grid { perspective: 1500px; gap: 48px 32px; }
.project-card, .project-card:nth-child(3n) { --rx:0deg; --ry:0deg; grid-column:span 6; min-width:0;max-width:100%;min-height:0; padding:0; overflow:hidden; background:transparent; border:1px solid var(--line);border-radius:18px; box-shadow:0 28px 70px rgba(0,0,0,.22); cursor:pointer; display:grid;grid-template-rows:clamp(260px,25vw,340px) minmax(0,auto);align-self:stretch;transform:perspective(1200px) rotateX(var(--rx)) rotateY(var(--ry)); transform-style:preserve-3d; transition:transform .22s ease-out,border-color .3s,box-shadow .3s; }
.project-card:nth-child(even) { margin-top:80px; }
.project-card::before { content:""; position:absolute; inset:8% -2% -3% 5%; z-index:-2; border-radius:20px; background:color-mix(in srgb,var(--glow) 25%,#06100d); filter:blur(22px); opacity:.45; transform:translateZ(-80px); transition:.4s; }
.project-card::after { content:""; position:absolute; inset:0; z-index:4; border-radius:18px; pointer-events:none; background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.13),transparent 32%); opacity:0; transition:.3s; }
.project-card:hover::after { opacity:1; }.project-card:hover::before { opacity:.8; filter:blur(30px); }
.project-depth { display:none; }
.project-visual { position:relative;min-width:0;width:100%;height:100%!important;min-height:260px;overflow:hidden;display:grid;place-items:center;border-radius:17px 17px 0 0; background:linear-gradient(135deg,color-mix(in srgb,var(--glow) 25%,#0b1a16),#07110f); border:0;border-bottom:1px solid var(--line); transform:none; }
.project-visual img { width:100%;height:100%;object-fit:contain;object-position:center;display:block;padding:clamp(8px,1.2vw,18px);background:color-mix(in srgb,#fff 94%,var(--glow));filter:none;transition:filter .5s; }
.project-visual img.fit-contain { object-fit:contain }
.project-card:hover .project-visual img { filter:saturate(1.03) contrast(1.02) }
.project-art { position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 60% 40%,color-mix(in srgb,var(--glow) 35%,transparent),transparent 34%),linear-gradient(145deg,#101f1b,#07100e); }
.project-art::before { content:"";position:absolute;width:55%;aspect-ratio:1;border:1px solid color-mix(in srgb,var(--glow) 60%,transparent);border-radius:28%;transform:rotate(45deg);box-shadow:0 0 60px color-mix(in srgb,var(--glow) 25%,transparent),inset 0 0 55px color-mix(in srgb,var(--glow) 13%,transparent);animation:artTurn 16s linear infinite }
.project-art i { position:absolute;border:1px solid color-mix(in srgb,var(--glow) 35%,transparent);border-radius:50%;animation:artPulse 5s ease-in-out infinite }.project-art i:nth-child(1){width:70%;height:42%;transform:rotate(22deg)}.project-art i:nth-child(2){width:45%;height:68%;transform:rotate(-35deg);animation-delay:-2s}.project-art i:nth-child(3){width:22%;height:22%;background:color-mix(in srgb,var(--glow) 20%,transparent);animation-delay:-4s}
.project-art span { z-index:2;font:72px var(--serif);color:color-mix(in srgb,var(--glow) 70%,white);text-shadow:0 12px 35px #000; }
.project-content { position:relative;min-width:0;padding:32px 35px 30px;background:color-mix(in srgb,var(--panel) 94%,transparent); border:0; border-radius:0 0 17px 17px; backdrop-filter:blur(24px); transform:none; box-shadow:none;display:flex;flex-direction:column;align-items:flex-start; }
.project-card h3 { margin:28px 58px 11px 0;font-size:clamp(25px,2.25vw,31px);line-height:1.08;overflow-wrap:anywhere;hyphens:auto }.project-card h3.title-long{font-size:clamp(23px,2vw,28px)}.project-card h3.title-compact{font-size:clamp(21px,1.8vw,25px)}.project-card p { margin:0;max-width:none;line-height:1.75;overflow-wrap:anywhere }.tag-row { position:static;left:auto;bottom:auto;width:100%;margin-top:25px;padding-top:20px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px }.tag-row span{max-width:100%;overflow-wrap:anywhere}.project-arrow { transform:translateZ(28px) }.project-card:hover .project-arrow { transform:translateZ(28px) rotate(45deg); }

.project-dialog { width:min(1080px,92vw);max-height:90vh;padding:0;border:1px solid var(--line);border-radius:18px;color:var(--text);background:color-mix(in srgb,var(--bg) 94%,transparent);box-shadow:0 40px 120px rgba(0,0,0,.65);overflow:auto; }
.project-dialog::backdrop { background:rgba(2,8,6,.82);backdrop-filter:blur(14px) }
.dialog-close { position:fixed;right:max(5vw,30px);top:max(5vh,25px);z-index:4;width:45px;height:45px;border-radius:50%;border:1px solid var(--line);background:var(--panel);color:var(--text);font-size:25px }
.dialog-visual { width:100%;height:auto;aspect-ratio:var(--media-ratio,16/9);max-height:72vh;overflow:hidden;display:grid;place-items:center;background:radial-gradient(circle,var(--dialog-glow),#091310 67%); }.dialog-visual img{width:100%;height:100%;object-fit:contain;object-position:center;padding:clamp(10px,2vw,28px);background:#f8f8f4}.dialog-visual img.fit-contain{object-fit:contain}
.dialog-art{position:relative;width:100%;height:100%;display:grid;place-items:center;overflow:hidden}.dialog-art::before,.dialog-art::after{content:"";position:absolute;width:45%;aspect-ratio:1;border:1px solid color-mix(in srgb,var(--dialog-glow) 70%,white);transform:rotate(45deg);border-radius:20%;box-shadow:0 0 100px color-mix(in srgb,var(--dialog-glow) 35%,transparent)}.dialog-art::after{width:27%;transform:rotate(-20deg)}.dialog-art i{position:absolute;width:60%;height:35%;border:1px solid #ffffff26;border-radius:50%;transform:rotate(18deg)}.dialog-art i:nth-child(2){transform:rotate(70deg)}.dialog-art strong{z-index:2;font:110px var(--serif);color:#ffffffd4}
.dialog-copy{padding:55px max(5vw,40px) 70px}.dialog-copy h2{margin:15px 0 28px;font-size:clamp(36px,5vw,68px)}.dialog-copy>p:not(.kicker){max-width:780px;color:var(--muted);line-height:1.9;font-size:15px}.dialog-link{margin-top:30px;min-width:190px}.dialog-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:35px}.dialog-tags span{padding:9px 12px;border:1px solid var(--line);font:9px var(--mono)}

.launch-cinema { position:fixed;inset:0;z-index:100;background:#06110f;display:grid;place-items:center;visibility:hidden;opacity:0;overflow:hidden;perspective:1500px;transition:opacity .45s,visibility .45s; }
.launch-cinema.active { visibility:visible;opacity:1 }.cinema-open{overflow:hidden}
.launch-sky { position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,#173a35,transparent 35%),linear-gradient(#071513,#091b18); }
.launch-sky::before { content:"";position:absolute;inset:0;background-image:radial-gradient(#d8ffce 1px,transparent 1px);background-size:83px 79px;opacity:.23;animation:starRush 3.5s 2.1s ease-in forwards }
.launch-copy { position:absolute;top:10%;left:0;right:0;display:grid;text-align:center;gap:8px;z-index:5;color:#f7f8f1;text-shadow:0 3px 24px #000 }.launch-copy small{font:9px var(--mono);letter-spacing:.2em;color:#cbed84}.launch-copy strong{font:22px var(--serif);font-style:italic;color:#fff}
.fold-stage { width:min(580px,84vw);aspect-ratio:1.42;position:relative;transform-style:preserve-3d; }
.letter-paper { position:absolute;inset:0;background:#f1f0e7;box-shadow:0 45px 100px #0009;color:#19211c;transform-style:preserve-3d;animation:paperBase 4.6s .2s cubic-bezier(.65,.05,.25,1) forwards }
.letter-content{position:absolute;inset:12% 10%;z-index:1;overflow:hidden;animation:letterInk 2.65s .15s ease forwards}.letter-content small{display:block;color:#526158;font:9px var(--mono);letter-spacing:.12em}.letter-content small b{color:#1b2b22;font-weight:500}.letter-content p{margin:22px 0 0;max-height:62%;overflow:hidden;font:italic clamp(14px,2vw,23px)/1.5 var(--serif);white-space:pre-wrap}
.fold { position:absolute;backface-visibility:hidden;transform-origin:center;opacity:0 }
.fold-left{inset:0 50% 0 0;z-index:2;background:linear-gradient(100deg,#e1e1d8,#f5f4ec);clip-path:polygon(0 0,100% 50%,0 100%);transform-origin:left;animation:foldLeft 1.2s 1.45s ease-in-out forwards}.fold-right{inset:0 0 0 50%;z-index:2;background:linear-gradient(260deg,#d9d9d1,#f4f3eb);clip-path:polygon(100% 0,0 50%,100% 100%);transform-origin:right;animation:foldRight 1.2s 2.05s ease-in-out forwards}.fold-bottom{inset:50% 0 0;z-index:3;background:linear-gradient(#eeede4,#d8d8cf);clip-path:polygon(0 100%,50% 0,100% 100%);transform-origin:bottom;animation:foldBottom 1.15s 2.65s ease-in-out forwards}
.hero-plane { position:absolute;inset:25% 10%;opacity:0;filter:drop-shadow(0 25px 22px #0008);animation:planeReveal 3.7s 3.15s cubic-bezier(.2,.8,.3,1) forwards;transform-style:preserve-3d }.hero-plane::before{content:"";position:absolute;z-index:2;inset:0;clip-path:polygon(0 42%,100% 0,66% 100%,48% 62%);background:linear-gradient(150deg,#f5f4ea,#cfd4c9 58%,#f7f6ee)}.hero-plane::after{content:"";position:absolute;z-index:2;inset:42% 34% 0 0;clip-path:polygon(0 0,100% 18%,75% 100%);background:#bbc4b8}
.rocket-smoke{position:absolute;z-index:1;left:-7%;top:54%;width:38%;height:32%;transform:rotate(9deg);pointer-events:none}.rocket-smoke span{position:absolute;right:0;top:45%;width:26px;height:26px;border-radius:50%;background:rgba(216,235,227,.72);filter:blur(4px);opacity:0;animation:smokePuff 1.1s ease-out infinite}.rocket-smoke span:nth-child(2){animation-delay:.16s}.rocket-smoke span:nth-child(3){animation-delay:.32s}.rocket-smoke span:nth-child(4){animation-delay:.48s}.rocket-smoke span:nth-child(5){animation-delay:.64s}.rocket-smoke span:nth-child(6){animation-delay:.8s}
.fog-bank { position:absolute;inset:0;pointer-events:none }.fog-bank i{position:absolute;width:34vw;height:15vw;min-height:130px;border-radius:50%;background:#b8d1c722;filter:blur(32px);bottom:-8%;left:-10%;opacity:0;animation:fogRoll 3.6s 1.7s ease-out forwards}.fog-bank i:nth-child(2){left:13%;bottom:-12%;animation-delay:1.85s}.fog-bank i:nth-child(3){left:37%;animation-delay:2s}.fog-bank i:nth-child(4){left:61%;bottom:-13%;animation-delay:2.1s}.fog-bank i:nth-child(5){left:79%;animation-delay:2.2s}.fog-bank i:nth-child(6){left:25%;bottom:12%;animation-delay:2.35s}.fog-bank i:nth-child(7){left:55%;bottom:18%;animation-delay:2.5s}
.launch-success { position:absolute;z-index:10;display:grid;place-items:center;text-align:center;gap:11px;opacity:0;transform:translateY(20px);pointer-events:none;color:#f7f8f1;text-shadow:0 3px 24px #000 }.launch-success span{width:55px;height:55px;border:1px solid #cbed84;border-radius:50%;display:grid;place-items:center;color:#cbed84;font-size:24px}.launch-success strong{font:30px var(--serif);color:#fff}.launch-success small{color:#dce4de}
.launch-cinema.complete .fold-stage,.launch-cinema.complete .launch-copy{opacity:0;transition:.5s}.launch-cinema.complete .launch-success{animation:successIn .7s .45s forwards}

.page-transition { position:fixed;inset:0;z-index:120;background:#091512;display:grid;place-items:center;visibility:hidden;transform:translateY(100%);transition:transform .85s cubic-bezier(.8,0,.2,1),visibility .85s;overflow:hidden }.page-transition span{z-index:2;color:#eef1e7;font:italic clamp(22px,4vw,50px) var(--serif);opacity:0;transform:translateY(20px)}.page-transition i{position:absolute;width:140%;height:33%;left:-20%;background:#0d211c;transform:skewY(-4deg)}.page-transition i:nth-child(2){top:0}.page-transition i:nth-child(3){top:34%;background:#102a23}.page-transition i:nth-child(4){top:68%;background:#14352b}
.leaving-for-resume .page-transition{visibility:visible;transform:translateY(0)}.leaving-for-resume .page-transition span{animation:transitionText .5s .55s forwards}

@keyframes breathe{50%{transform:rotate(-3deg) scale(1.12);opacity:.32}}
@keyframes reed{50%{transform:rotate(5deg)}}
@keyframes frogBreath{50%{transform:scaleY(1.08) translateY(-1px)}}
@keyframes artTurn{to{transform:rotate(405deg)}}@keyframes artPulse{50%{transform:rotate(35deg) scale(1.08);opacity:.5}}
@keyframes paperBase{0%,55%{transform:rotateX(0) scale(1)}78%{transform:rotateX(12deg) scale(.72,.5)}100%{transform:rotateX(25deg) scale(.2,.12);opacity:0}}
@keyframes letterInk{0%,62%{opacity:1;transform:none}100%{opacity:0;transform:scale(.94)}}
@keyframes foldLeft{from{opacity:1;transform:rotateY(0)}to{opacity:1;transform:rotateY(178deg)}}@keyframes foldRight{from{opacity:1;transform:rotateY(0)}to{opacity:1;transform:rotateY(-178deg)}}@keyframes foldBottom{from{opacity:1;transform:rotateX(0)}to{opacity:1;transform:rotateX(-178deg)}}
@keyframes planeReveal{0%{opacity:0;transform:scale(.15) rotate(-8deg)}15%{opacity:1;transform:scale(.55) rotate(-8deg)}42%{opacity:1;transform:translate(0,0) scale(.7) rotate(-10deg)}100%{opacity:0;transform:translate(75vw,-60vh) scale(.25) rotate(-24deg)}}
@keyframes smokePuff{0%{opacity:.8;transform:translate(0,0) scale(.35)}65%{opacity:.38}100%{opacity:0;transform:translate(-115px,45px) scale(1.7)}}
@keyframes fogRoll{0%{opacity:0;transform:translateX(-15%) scale(.6)}40%{opacity:.75}100%{opacity:0;transform:translateX(40%) scale(1.8)}}
@keyframes starRush{to{background-size:83px 20px;transform:translateY(70px);opacity:0}}
@keyframes successIn{to{opacity:1;transform:none}}@keyframes transitionText{to{opacity:1;transform:none}}

@media(max-width:900px){.project-card,.project-card:nth-child(3n){grid-column:span 12;max-width:620px;width:100%;margin:0 auto;grid-template-rows:clamp(250px,58vw,340px) auto}.project-card:nth-child(even){margin-top:0}.project-grid{gap:55px}.dialog-visual{height:340px}}
@media(max-width:560px){.resume-button{width:100%;justify-content:flex-start}.resume-button b{margin-left:auto}.project-card,.project-card:nth-child(3n){min-height:0;grid-template-rows:230px auto}.project-content{padding:27px 26px 25px}.project-content h3{font-size:24px;margin-right:48px}.project-content h3.title-long{font-size:22px}.project-content h3.title-compact{font-size:20px}.tag-row{margin-top:22px;padding-top:18px}.dialog-visual{height:260px}.dialog-copy{padding:38px 25px 50px}.launch-copy{top:8%}.launch-success strong{font-size:23px}}

/* Illustrated anime landscape: individual code-built objects, no image asset */
body::after { background: linear-gradient(to bottom, transparent 45vh, color-mix(in srgb, var(--bg) 18%, transparent) 78vh, var(--bg) 115vh); }
.world { height: 100vh; opacity: 1; transform-origin: center bottom; transition: opacity 1s, filter 1s, transform 1s; }
.hero::before{content:"";position:absolute;inset:0 38% 0 0;z-index:0;background:linear-gradient(90deg,color-mix(in srgb,var(--bg) 54%,transparent),transparent);pointer-events:none}
[data-theme="day"] .hero::before{background:linear-gradient(90deg,rgba(239,243,225,.88),rgba(239,243,225,.46),transparent)}
[data-theme="day"] .hero .lede,[data-theme="day"] .section-heading>p,[data-theme="day"] .contact-intro>p{color:#263d33;text-shadow:0 1px 14px rgba(244,247,234,.9)}
.past-hero .world { opacity: .12; filter: blur(5px) saturate(.65); transform: scale(1.025); }
.anime-sky { position:absolute; inset:0; overflow:hidden; background:linear-gradient(180deg,#07161f 0%,#15333c 48%,#4a6c61 100%); transition:background 1.2s; }
[data-theme="day"] .anime-sky { background:linear-gradient(180deg,#91c7dd 0%,#c7e3df 48%,#f1e7bd 100%); }
.anime-sky::after { content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 52% 100%,rgba(161,216,184,.25),transparent 45%); }
.cloud { position:absolute;width:150px;height:26px;border-radius:50%;background:rgba(220,239,234,.12);filter:blur(1px);box-shadow:38px -11px 0 5px rgba(220,239,234,.1),78px 0 0 rgba(220,239,234,.09);animation:cloudWalk 32s linear infinite;transition:opacity 1s; }
.cloud-one{top:18%;left:-12%;}.cloud-two{top:29%;left:42%;transform:scale(.7);animation-duration:42s;animation-delay:-17s}.cloud-three{top:10%;left:72%;transform:scale(.45);animation-duration:48s;animation-delay:-8s}
[data-theme="day"] .cloud{background:rgba(255,255,247,.6);box-shadow:38px -11px 0 5px rgba(255,255,247,.55),78px 0 0 rgba(255,255,247,.45)}
.anime-mountain { position:absolute;bottom:23%;clip-path:polygon(50% 0,100% 100%,0 100%);filter:drop-shadow(0 -1px 0 rgba(255,255,255,.08));transition:background 1s,opacity 1s; }
.mountain-one{width:42vw;height:43vh;left:-8%;background:linear-gradient(132deg,#294a4c 0 45%,#173236 46%);opacity:.72}
.mountain-two{width:55vw;height:54vh;left:23%;background:linear-gradient(128deg,#35575a 0 42%,#1b383b 43%);opacity:.82}
.mountain-three{width:44vw;height:42vh;right:-10%;background:linear-gradient(132deg,#294d4b 0 48%,#17332f 49%);opacity:.7}
.anime-mountain::after{content:"";position:absolute;left:31%;top:0;width:38%;height:25%;background:#dce8df33;clip-path:polygon(50% 0,100% 100%,65% 78%,48% 100%,29% 68%,0 100%);}
[data-theme="day"] .mountain-one{background:linear-gradient(132deg,#7fa79a 0 45%,#557f75 46%)}[data-theme="day"] .mountain-two{background:linear-gradient(128deg,#8db1a5 0 42%,#628b80 43%)}[data-theme="day"] .mountain-three{background:linear-gradient(132deg,#779e8d 0 48%,#4e796a 49%)}
[data-theme="day"] .anime-mountain::after{background:#eef2dfaa}
.anime-hill { position:absolute;bottom:0;width:78vw;height:39vh;border-radius:50% 50% 0 0;transition:background 1s; }
.hill-left{left:-25%;background:linear-gradient(155deg,#173b31,#071b17);transform:rotate(4deg)}.hill-right{right:-31%;background:linear-gradient(205deg,#21483a,#091e19);transform:rotate(-5deg)}
[data-theme="day"] .hill-left{background:linear-gradient(155deg,#7fae78,#47765d)}[data-theme="day"] .hill-right{background:linear-gradient(205deg,#91bb7f,#537b5f)}
.pond { position:absolute;left:25%;right:15%;bottom:-7%;height:27%;border-radius:50% 50% 0 0;background:linear-gradient(180deg,rgba(88,160,158,.48),rgba(7,37,37,.85));transform:perspective(450px) rotateX(58deg);box-shadow:inset 0 10px 35px #c4f3dc18;overflow:hidden;transition:background 1s; }
.pond::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(176deg,transparent 0 18px,rgba(229,255,241,.1) 19px 20px);animation:waterMove 8s linear infinite}.pond i{position:absolute;width:25%;height:5px;border:1px solid rgba(217,255,238,.24);border-radius:50%;top:25%;left:25%}.pond i:nth-child(2){top:47%;left:55%;width:32%}.pond i:nth-child(3){top:68%;left:12%;width:18%}
[data-theme="day"] .pond{background:linear-gradient(180deg,rgba(148,211,205,.75),rgba(68,139,132,.72))}
.anime-tree { position:absolute;bottom:4%;z-index:2;filter:drop-shadow(0 24px 18px rgba(0,0,0,.22));transform-origin:bottom;animation:treeSway 9s ease-in-out infinite; }
.anime-tree b{position:absolute;left:44%;bottom:0;width:13%;height:64%;border-radius:45% 55% 10% 10%;background:linear-gradient(90deg,#3b2d22,#74533a 50%,#35271f);transform:rotate(2deg)}
.anime-tree i{position:absolute;border-radius:52% 48% 45% 55%;background:linear-gradient(145deg,#294e3a,#102d27);box-shadow:inset 8px 10px 0 rgba(255,255,255,.035),inset -8px -10px 0 rgba(0,0,0,.11);transition:background 1s}
.tree-large{left:-3%;width:310px;height:430px}.tree-medium{right:-3%;width:250px;height:350px;animation-delay:-4s}.tree-small{right:20%;bottom:17%;width:135px;height:195px;opacity:.72;animation-delay:-6s}
.anime-tree i:nth-of-type(1){width:58%;height:38%;left:0;top:18%}.anime-tree i:nth-of-type(2){width:62%;height:43%;right:0;top:9%}.anime-tree i:nth-of-type(3){width:61%;height:42%;left:20%;top:0}.anime-tree i:nth-of-type(4){width:52%;height:34%;left:26%;top:30%}
[data-theme="day"] .anime-tree i{background:linear-gradient(145deg,#5f9a5d,#2f694c)}[data-theme="day"] .anime-tree i:nth-of-type(2){background:linear-gradient(145deg,#74aa64,#407753)}
.bush{position:absolute;bottom:0;z-index:3;width:230px;height:100px}.bush-one{left:10%}.bush-two{right:8%;transform:scale(.8)}.bush i{position:absolute;bottom:0;width:48%;height:78%;border-radius:60% 60% 20% 20%;background:#15382d;box-shadow:inset 8px 8px 0 #ffffff08}.bush i:nth-child(2){left:28%;height:100%;background:#1d4634}.bush i:nth-child(3){right:0;height:68%}[data-theme="day"] .bush i{background:#4f8457}[data-theme="day"] .bush i:nth-child(2){background:#65975d}
.plant{position:absolute;bottom:1%;z-index:4;width:90px;height:120px}.plant-one{left:21%}.plant-two{right:23%;transform:scale(.75)}.plant::before{content:"";position:absolute;left:44px;bottom:0;width:3px;height:90px;background:#45684a}.plant i{position:absolute;width:34px;height:16px;border-radius:100% 0 100% 0;background:#315f42;left:12px;bottom:45px;transform:rotate(25deg)}.plant i:nth-child(2){left:43px;bottom:69px;transform:scaleX(-1) rotate(28deg)}.plant i:nth-child(3){left:18px;bottom:87px;transform:rotate(40deg)}[data-theme="day"] .plant i{background:#5d945c}
.wildflowers{position:absolute;bottom:3%;left:37%;z-index:4;width:210px;height:70px}.wildflowers i{position:absolute;bottom:0;width:2px;height:48px;background:#4f7652}.wildflowers i::after{content:"";position:absolute;left:-4px;top:-4px;width:10px;height:10px;border-radius:50%;background:#d6b36f;box-shadow:0 0 0 3px #f0df9d33}.wildflowers i:nth-child(2){left:43px;height:32px}.wildflowers i:nth-child(3){left:88px;height:55px}.wildflowers i:nth-child(4){left:136px;height:38px}.wildflowers i:nth-child(5){left:184px;height:61px}
.frog{z-index:6;right:12%;bottom:3%;width:54px;height:24px;background:#3c7248}.frog::before,.frog::after{width:14px;height:14px;top:-10px;background:#4d8856}.frog i{width:26px;left:14px;top:6px}
.scene-fog{position:absolute;z-index:5;bottom:3%;width:48vw;height:12vh;border-radius:50%;background:rgba(191,225,208,.11);filter:blur(25px);animation:sceneFog 13s ease-in-out infinite}.fog-a{left:-12%}.fog-b{right:-15%;animation-delay:-7s}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.honey-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

.profile,.journey,.research{padding-top:150px}.profile-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px}.identity-card{min-height:490px;padding:24px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel) 90%,transparent);backdrop-filter:blur(20px);display:flex;flex-direction:column;gap:28px;justify-content:space-between;box-shadow:var(--shadow)}.identity-portrait{aspect-ratio:var(--media-ratio,4/5);height:auto;margin:0;position:relative;overflow:hidden;border-radius:12px;background:linear-gradient(145deg,var(--bg-soft),color-mix(in srgb,var(--accent) 8%,var(--panel)));box-shadow:0 24px 55px rgba(0,0,0,.24)}.identity-portrait::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 76%,rgba(6,17,14,.3));pointer-events:none}.identity-portrait img{width:100%;height:100%;object-fit:contain;object-position:center;display:block;filter:saturate(.92) contrast(1.02)}.identity-portrait span{position:absolute;right:16px;bottom:15px;z-index:1;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#102016;font:13px var(--mono);box-shadow:0 12px 28px rgba(0,0,0,.28)}.identity-card>div{padding:0 14px 14px}.identity-card small{font:9px var(--mono);letter-spacing:.15em;color:var(--accent)}.identity-card h3{font-size:29px;margin:12px 0}.identity-card p,.profile-facts p{color:var(--muted);font-size:12px;line-height:1.7}.profile-facts{border-top:1px solid var(--line)}.profile-facts article{display:grid;grid-template-columns:58px 1fr;gap:22px;padding:31px 10px;border-bottom:1px solid var(--line)}.profile-facts span{font:11px var(--mono);color:var(--accent)}.profile-facts b{font-size:18px}.profile-facts p{margin:8px 0 0;max-width:570px}
.publication-grid{display:grid;gap:18px}.publication-card{display:grid;grid-template-columns:90px 1fr;gap:30px;padding:38px 42px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel) 91%,transparent);backdrop-filter:blur(20px);box-shadow:var(--shadow);position:relative;overflow:hidden}.publication-card::after{content:"";position:absolute;right:-8%;top:-45%;width:280px;aspect-ratio:1;border-radius:50%;background:color-mix(in srgb,var(--accent-2) 12%,transparent);filter:blur(12px)}.record-index{font:34px var(--serif);color:var(--accent);position:relative;z-index:1}.record-copy{position:relative;z-index:1}.record-meta{margin:0 0 16px!important;display:flex;justify-content:space-between;gap:20px;color:var(--accent)!important;font:10px var(--mono)!important;text-transform:uppercase;letter-spacing:.08em}.publication-card h3{font-size:clamp(24px,3vw,38px);line-height:1.18;letter-spacing:-.035em;margin:0;max-width:900px}.publication-card small{display:block;color:var(--muted);font-size:11px;margin-top:12px}.publication-card .record-copy>p:not(.record-meta){color:var(--muted);font-size:13px;line-height:1.8;max-width:800px;margin:20px 0}.publication-card a,.certification-card a{display:inline-flex;color:var(--accent);font:10px var(--mono);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--line);padding-bottom:5px}
.certification-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.certification-card{min-width:0;padding:30px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel) 91%,transparent);box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:flex-start;min-height:330px;overflow-wrap:anywhere}.certificate-mark{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);color:var(--accent);font:11px var(--mono);box-shadow:inset 0 0 0 7px color-mix(in srgb,var(--accent) 7%,transparent)}.certification-card>p{margin:35px 0 8px;color:var(--accent);font:9px var(--mono);text-transform:uppercase;letter-spacing:.1em}.certification-card h3{font-size:22px;line-height:1.25;margin:0}.certification-card small{color:var(--muted);font:9px var(--mono);margin-top:10px}.certification-card>div{color:var(--muted);font-size:12px;line-height:1.7;margin:20px 0;flex:1}.record-empty{grid-column:1/-1;min-height:220px;border:1px dashed var(--line);background:color-mix(in srgb,var(--panel) 75%,transparent);display:grid;place-items:center;align-content:center;text-align:center;padding:35px}.record-empty span{color:var(--accent);font:10px var(--mono);letter-spacing:.14em}.record-empty p{color:var(--muted);font-size:13px;max-width:520px;line-height:1.7}
.timeline{border-top:1px solid var(--line)}.timeline-item{display:grid;grid-template-columns:210px 1fr;gap:45px;padding:40px 0;border-bottom:1px solid var(--line)}.timeline-item time,.timeline-item small{font:9px var(--mono);letter-spacing:.1em;color:var(--accent)}.timeline-item h3{font-size:25px;margin:10px 0}.timeline-item p{color:var(--muted);font-size:13px;line-height:1.7;max-width:650px;margin:0}
.research-card{min-height:500px;padding:65px;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;border:1px solid var(--line);background:radial-gradient(circle at 80% 20%,color-mix(in srgb,var(--accent) 13%,transparent),transparent 32%),color-mix(in srgb,var(--panel) 94%,transparent);box-shadow:var(--shadow);position:relative;overflow:hidden}.research-card::before{content:"H₂";position:absolute;right:3%;bottom:-18%;font:270px var(--serif);color:color-mix(in srgb,var(--accent) 7%,transparent)}.research-card>div{position:relative;z-index:1}.research-card p{color:var(--muted);line-height:1.9;font-size:14px}.research-card strong{color:var(--text)}

.ai-chat{position:fixed;right:24px;bottom:22px;z-index:50;width:350px;pointer-events:none}.ai-chat-toggle,.ai-chat-panel{pointer-events:auto}.ai-chat-toggle{margin-left:auto;border:1px solid var(--line);background:color-mix(in srgb,var(--panel) 92%,transparent);color:var(--text);backdrop-filter:blur(20px);border-radius:30px;padding:8px 13px 8px 8px;display:flex;align-items:center;gap:10px;box-shadow:0 18px 45px rgba(0,0,0,.25);cursor:pointer}.ai-chat-toggle>span:nth-child(2){font-size:11px;font-weight:700}.ai-chat-toggle>i{font-style:normal;color:var(--accent);font-size:18px;transition:transform .3s}.ai-chat.open .ai-chat-toggle>i{transform:rotate(45deg)}.ai-orb{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#eaffc0,var(--accent) 45%,#4c7f66);color:#102018;font:9px var(--mono);box-shadow:0 0 20px color-mix(in srgb,var(--accent) 35%,transparent)}
.ai-chat-panel{position:absolute;right:0;bottom:58px;width:350px;height:490px;display:flex;flex-direction:column;background:color-mix(in srgb,var(--bg) 94%,transparent);border:1px solid var(--line);border-radius:18px;box-shadow:0 35px 90px rgba(0,0,0,.45);backdrop-filter:blur(25px);opacity:0;visibility:hidden;transform:translateY(15px) scale(.97);transform-origin:bottom right;transition:.3s}.ai-chat.open .ai-chat-panel{opacity:1;visibility:visible;transform:none}.ai-chat-panel header{padding:17px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.ai-chat-panel header>div{display:flex;gap:10px;align-items:center}.ai-chat-panel header>div>div{display:grid}.ai-chat-panel header b{font-size:11px}.ai-chat-panel header small{font-size:8px;color:var(--muted);margin-top:3px}.ai-chat-panel header small i{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--accent);margin-right:4px}.ai-chat-panel header button{border:0;background:transparent;color:var(--muted);font-size:22px}.chat-messages{flex:1;overflow:auto;padding:18px;display:flex;flex-direction:column;gap:10px}.chat-message{max-width:87%;padding:11px 13px;border-radius:13px;margin:0;font-size:11px;line-height:1.6}.chat-message.assistant{align-self:flex-start;background:color-mix(in srgb,var(--panel) 96%,transparent);border:1px solid var(--line);border-bottom-left-radius:3px}.chat-message.user{align-self:flex-end;background:var(--accent);color:#102016;border-bottom-right-radius:3px}.chat-message.typing{color:var(--muted)}.ai-chat-panel form{display:flex;margin:0 13px 8px;border:1px solid var(--line);border-radius:24px;background:var(--panel);padding:4px}.ai-chat-panel form input{border:0;padding:9px 11px;font-size:11px}.ai-chat-panel form button{width:34px;height:34px;border:0;border-radius:50%;background:var(--accent);color:#102016}.chat-disclaimer{text-align:center;color:var(--muted);font-size:7px;padding-bottom:10px}

@keyframes cloudWalk{to{transform:translateX(125vw)}}@keyframes waterMove{50%{transform:translateY(7px)}}@keyframes treeSway{50%{transform:rotate(.8deg)}}@keyframes sceneFog{50%{transform:translateX(18vw) scale(1.15);opacity:.5}}
@media(max-width:900px){.tree-large{left:-13%}.tree-medium{right:-12%}.tree-mid{display:none}.profile-grid,.research-card{grid-template-columns:1fr}.research-card{padding:45px}.timeline-item{grid-template-columns:150px 1fr}.certification-grid{grid-template-columns:1fr 1fr}.ai-chat{right:14px;bottom:14px}.profile,.journey,.research{padding-top:120px}}
@media(max-width:600px){.anime-mountain{bottom:30%}.mountain-one{width:80vw;left:-30%}.mountain-two{width:105vw;left:5%}.mountain-three{width:85vw;right:-40%}.tree-large{width:190px;height:280px;left:-28%}.tree-medium{width:165px;height:235px;right:-25%}.pond{left:5%;right:0}.bush-one{left:-15%;transform:scale(.7)}.plant-one{left:7%;transform:scale(.7)}.plant-two{right:4%;transform:scale(.55)}.profile-facts article{grid-template-columns:40px 1fr}.identity-card{min-height:0;padding:18px}.identity-portrait{aspect-ratio:4/5}.identity-card>div{padding:0 10px 12px}.timeline-item{grid-template-columns:1fr;gap:12px;padding:30px 0}.publication-card{grid-template-columns:1fr;padding:28px 24px}.record-meta{display:grid}.certification-grid{grid-template-columns:1fr}.research-card{padding:35px 25px;min-height:560px}.ai-chat{width:calc(100vw - 24px);right:12px}.ai-chat-panel{width:100%;height:min(490px,70vh)}}

.mini-plane{display:inline-block;transform:rotate(-24deg);font-size:18px;transition:transform .3s}.send-button:hover .mini-plane{transform:translate(5px,-5px) rotate(-24deg)}
.launch-cinema{display:none;visibility:visible;opacity:1}.launch-cinema.active{display:grid;animation:cinemaIn .45s both}.launch-cinema.active .letter-paper,.launch-cinema.active .letter-content,.launch-cinema.active .fold-left,.launch-cinema.active .fold-right,.launch-cinema.active .fold-bottom,.launch-cinema.active .hero-plane,.launch-cinema.active .rocket-smoke span,.launch-cinema.active .fog-bank i{animation-play-state:running}
@keyframes cinemaIn{from{opacity:0}to{opacity:1}}

/* Version 7: Admin-driven sections and distinct information architecture */
.education,.internships,.assistant-story{padding-top:150px}
.topbar nav{gap:clamp(11px,1.25vw,22px)}
.topbar nav a{white-space:nowrap}
.eyebrow b{font:inherit}
.profile-facts article{min-width:0}
.profile-facts b,.profile-facts p{overflow-wrap:anywhere}

.education-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;perspective:1200px}
.education-card{position:relative;min-width:0;min-height:340px;padding:34px 36px 38px;border:1px solid var(--line);border-radius:22px;background:
  linear-gradient(145deg,color-mix(in srgb,var(--panel) 94%,transparent),color-mix(in srgb,var(--accent-2) 7%,var(--panel)));
  box-shadow:0 34px 80px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.05);display:grid;grid-template-columns:70px 1fr;grid-template-rows:auto 1fr;gap:30px;overflow:hidden}
.education-card::before{content:"";position:absolute;right:-70px;bottom:-90px;width:230px;aspect-ratio:1;border-radius:50%;border:1px solid color-mix(in srgb,var(--accent-2) 24%,transparent);box-shadow:0 0 80px color-mix(in srgb,var(--accent-2) 12%,transparent)}
.education-card::after{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(var(--accent-2),transparent)}
.education-number{grid-row:1/3;font:48px var(--serif);color:color-mix(in srgb,var(--accent-2) 80%,var(--text));line-height:1}
.education-card time{justify-self:end;color:var(--accent);font:9px var(--mono);letter-spacing:.08em;text-transform:uppercase}
.education-card>div:last-child{grid-column:2;align-self:end;position:relative;z-index:1}
.education-card small{color:var(--accent-2);font:9px var(--mono);letter-spacing:.08em;text-transform:uppercase;line-height:1.7}
.education-card h3{font-size:clamp(24px,2.7vw,38px);line-height:1.12;letter-spacing:-.04em;margin:14px 0;overflow-wrap:anywhere}
.education-card p{color:var(--muted);font-size:13px;line-height:1.8;margin:0;overflow-wrap:anywhere}

.experience-track{position:relative;display:grid;gap:20px;padding-left:42px}
.experience-track::before{content:"";position:absolute;left:12px;top:24px;bottom:24px;width:1px;background:linear-gradient(var(--accent),var(--accent-2),transparent)}
.experience-card{position:relative;min-width:0;display:grid;grid-template-columns:180px minmax(0,1fr) 58px;gap:35px;align-items:start;padding:32px 34px;border:1px solid var(--line);border-radius:6px 28px 6px 28px;background:color-mix(in srgb,var(--panel) 91%,transparent);backdrop-filter:blur(22px);box-shadow:0 24px 60px rgba(0,0,0,.18)}
.experience-card:nth-child(even){margin-left:7%;background:linear-gradient(120deg,color-mix(in srgb,var(--accent-2) 8%,var(--panel)),var(--panel))}
.experience-dot{position:absolute;left:-36px;top:38px;width:13px;height:13px;border:3px solid var(--bg);border-radius:50%;background:var(--accent);box-shadow:0 0 0 1px var(--accent),0 0 22px color-mix(in srgb,var(--accent) 55%,transparent)}
.experience-period{color:var(--accent);font:9px/1.7 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.experience-copy{min-width:0}
.experience-copy small{color:var(--accent-2);font:9px var(--mono);letter-spacing:.08em;text-transform:uppercase}
.experience-copy h3{font-size:clamp(23px,2.4vw,34px);line-height:1.12;margin:12px 0;letter-spacing:-.035em;overflow-wrap:anywhere}
.experience-copy p{color:var(--muted);font-size:13px;line-height:1.8;margin:0;overflow-wrap:anywhere}
.experience-card .tag-row{position:static;margin-top:20px;padding-top:15px}
.experience-index{font:37px var(--serif);color:color-mix(in srgb,var(--text) 15%,transparent);justify-self:end}

.certification-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.certification-card{position:relative;min-width:0;min-height:340px;padding:24px;border-radius:22px;overflow:hidden;display:grid;grid-template-columns:minmax(145px,.8fr) minmax(0,1.2fr);gap:25px;align-items:center}
.certification-card::after{content:"";position:absolute;right:-70px;bottom:-90px;width:230px;aspect-ratio:1;border-radius:50%;border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);box-shadow:0 0 80px color-mix(in srgb,var(--accent) 10%,transparent);pointer-events:none}
.certificate-image{position:relative;z-index:1;width:100%;height:auto!important;min-height:150px;aspect-ratio:var(--media-ratio,4/3);max-height:260px;margin:0!important;display:grid;place-items:center;border:1px solid var(--line);border-radius:14px;background:#f8f8f4;overflow:hidden;flex:none!important}
.certificate-image img{width:100%;height:100%;object-fit:contain;object-position:center;padding:8px;background:#f8f8f4}
.certificate-image span{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);color:var(--accent);font:18px var(--mono);box-shadow:inset 0 0 0 11px color-mix(in srgb,var(--accent) 8%,transparent)}
.certificate-copy{position:relative;z-index:1;width:100%;min-width:0;padding:8px 8px 8px 0!important;margin:0!important;display:flex;flex:1!important;flex-direction:column;align-items:flex-start}
.certificate-copy>p{margin:0 0 9px;color:var(--accent);font:9px var(--mono);text-transform:uppercase;letter-spacing:.1em}
.certificate-copy h3{font-size:clamp(20px,2vw,27px);line-height:1.2;margin:0;overflow-wrap:anywhere}
.certificate-copy small{color:var(--muted);font:9px var(--mono);margin-top:10px;overflow-wrap:anywhere}
.certificate-copy>div{color:var(--muted);font-size:11px;line-height:1.65;margin:15px 0;flex:1;overflow-wrap:anywhere}

.assistant-explainer{display:grid;grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr);gap:75px;align-items:center;min-height:480px;padding:62px;border:1px solid var(--line);border-radius:30px;background:
  radial-gradient(circle at 15% 50%,color-mix(in srgb,var(--accent-2) 16%,transparent),transparent 34%),
  color-mix(in srgb,var(--panel) 93%,transparent);box-shadow:var(--shadow);overflow:hidden}
.assistant-orbit{position:relative;width:min(310px,65vw);aspect-ratio:1;margin:auto;display:grid;place-items:center;border-radius:50%;border:1px solid color-mix(in srgb,var(--accent-2) 40%,var(--line));box-shadow:inset 0 0 80px color-mix(in srgb,var(--accent-2) 8%,transparent)}
.assistant-orbit::before,.assistant-orbit::after{content:"";position:absolute;inset:13%;border:1px solid var(--line);border-radius:50%;transform:rotateX(65deg);animation:spin 14s linear infinite}
.assistant-orbit::after{inset:27%;animation-direction:reverse;animation-duration:9s}
.assistant-orbit span{position:relative;z-index:2;width:94px;height:94px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 32% 27%,#ebffd2,var(--accent) 42%,#367f68);color:#102016;font:19px var(--mono);box-shadow:0 0 60px color-mix(in srgb,var(--accent) 42%,transparent)}
.assistant-orbit i{position:absolute;width:12px;height:12px;border-radius:50%;background:var(--accent-2);box-shadow:0 0 17px var(--accent-2)}
.assistant-orbit i:nth-of-type(1){top:14%;left:28%}.assistant-orbit i:nth-of-type(2){right:9%;bottom:32%}.assistant-orbit i:nth-of-type(3){left:18%;bottom:12%}
.assistant-explainer small{color:var(--accent);font:9px var(--mono);letter-spacing:.12em}
.assistant-explainer h3{font-size:clamp(31px,4vw,53px);letter-spacing:-.05em;margin:16px 0}
.assistant-explainer p{color:var(--muted);font-size:14px;line-height:1.85;max-width:650px}
.assistant-explainer ul{display:grid;gap:12px;padding:0;margin:27px 0 33px;list-style:none;color:var(--text);font-size:12px}
.assistant-explainer li::before{content:"✓";color:var(--accent);margin-right:10px}

.social-links,.footer-socials{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.social-link{display:inline-flex;align-items:center;gap:10px;min-width:145px;padding:11px 15px;border:1px solid var(--line);border-radius:40px;background:color-mix(in srgb,var(--panel) 90%,transparent);color:var(--text);font-size:11px;font-weight:700;box-shadow:0 12px 30px rgba(0,0,0,.12);transition:transform .25s,border-color .25s,background .25s}
.social-link:hover{transform:translateY(-4px);border-color:var(--accent);background:var(--panel)}
.social-link svg{width:22px;height:22px;fill:currentColor;flex:none}
.social-link.compact{min-width:0;padding:8px 11px}
.footer-socials{margin-top:0}

[data-theme="day"] .education-card,[data-theme="day"] .experience-card,[data-theme="day"] .assistant-explainer,[data-theme="day"] .certification-card{background-color:rgba(252,253,244,.84)}
[data-theme="day"] .education-card p,[data-theme="day"] .experience-copy p,[data-theme="day"] .certificate-copy>div,[data-theme="day"] .assistant-explainer p,[data-theme="day"] .profile-facts p{color:#30443b}
[data-theme="day"] .launch-copy strong,[data-theme="day"] .launch-success strong{color:#fff}
.rocket-smoke span:nth-child(7){animation-delay:.96s}.rocket-smoke span:nth-child(8){animation-delay:1.12s}

@media(max-width:1100px){
  .topbar nav a:nth-child(3),.topbar nav a:nth-child(4){display:none}
  .education-card{grid-template-columns:55px 1fr}
  .experience-card{grid-template-columns:145px minmax(0,1fr) 45px}
}
@media(max-width:900px){
  .education,.internships,.assistant-story{padding-top:120px}
  .education-grid{grid-template-columns:1fr}
  .certification-grid{grid-template-columns:1fr}
  .experience-card,.experience-card:nth-child(even){grid-template-columns:1fr 45px;margin-left:0;gap:12px 25px}
  .experience-period{grid-column:1}
  .experience-copy{grid-column:1}
  .experience-index{grid-column:2;grid-row:1/3}
  .assistant-explainer{grid-template-columns:1fr;padding:45px;gap:45px}
  .footer-socials{justify-content:center}
}
@media(max-width:600px){
  .education-card{grid-template-columns:1fr;padding:28px;min-height:0}
  .education-number{grid-row:auto;font-size:35px}.education-card time{position:absolute;right:25px;top:31px}.education-card>div:last-child{grid-column:1}
  .experience-track{padding-left:26px}.experience-track::before{left:5px}.experience-dot{left:-27px}
  .experience-card,.experience-card:nth-child(even){padding:26px 23px;grid-template-columns:1fr}
  .experience-index{display:none}
  .assistant-explainer{padding:32px 23px;border-radius:20px}.assistant-orbit{width:230px}
  .social-links{display:grid;grid-template-columns:1fr 1fr}.social-link{min-width:0;justify-content:center}
  .footer-socials{display:flex}.social-link.compact span{display:none}
  .certification-card{min-height:0;padding:20px;grid-template-columns:1fr;gap:18px}
  .certificate-image{height:auto!important;min-height:180px;max-height:240px}
  .certificate-copy{padding:4px!important}
}

@media(max-width:600px){
  .work{min-width:0;overflow:hidden}
  .work .section-heading{width:100%;min-width:0;gap:24px}
  .work .section-heading h2{font-size:clamp(38px,12vw,54px);line-height:.94;overflow-wrap:anywhere}
  .work .section-heading>p{max-width:100%;font-size:13px;line-height:1.7}
  .project-grid{
    width:100%;
    min-width:0;
    grid-template-columns:minmax(0,1fr);
    column-gap:0;
    row-gap:38px;
    perspective:none;
  }
  .project-card,
  .project-card:nth-child(3n){
    grid-column:1;
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto auto;
    width:100%;
    max-width:100%;
    min-width:0;
    margin:0;
    overflow:hidden;
    border-radius:16px;
    transform:none!important;
  }
  .project-card::before,
  .project-card::after,
  .project-depth{display:none}
  .project-visual{
    width:100%;
    min-width:0;
    height:auto!important;
    aspect-ratio:var(--media-ratio,16/10);
    border-radius:16px 16px 0 0;
    transform:none;
  }
  .project-content{
    width:100%;
    max-width:100%;
    min-width:0;
    padding:24px 20px 22px;
    overflow:hidden;
    border-radius:0 0 16px 16px;
    transform:none;
  }
  .project-content h3,
  .project-content h3.title-long,
  .project-content h3.title-compact{
    width:auto;
    max-width:calc(100% - 44px);
    margin:24px 0 10px;
    font-size:clamp(20px,6.2vw,25px);
    line-height:1.15;
    overflow-wrap:anywhere;
    word-break:break-word;
    hyphens:auto;
  }
  .project-content p{
    width:100%;
    max-width:100%;
    font-size:12px;
    line-height:1.7;
    overflow-wrap:anywhere;
  }
  .project-arrow{top:18px;right:18px;transform:none}
  .tag-row{width:100%;min-width:0;margin-top:20px;padding-top:17px;gap:7px}
  .tag-row span{min-width:0;max-width:100%;overflow-wrap:anywhere}
}
