@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/manrope-latin-400-normal-PaqtzbVb.woff2) format("woff2"),url(/assets/manrope-latin-400-normal-8tf8FM3T.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/manrope-latin-500-normal-BYYD-dBL.woff2) format("woff2"),url(/assets/manrope-latin-500-normal-DMZssgOp.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/manrope-latin-600-normal-4f0koTD-.woff2) format("woff2"),url(/assets/manrope-latin-600-normal-BqgrALkZ.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/manrope-latin-700-normal-BZp_XxE4.woff2) format("woff2"),url(/assets/manrope-latin-700-normal-DGRFkw-m.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/manrope-latin-800-normal-BfWYOv1c.woff2) format("woff2"),url(/assets/manrope-latin-800-normal-uHUdIJgA.woff) format("woff")}:root{font-family:Manrope,Arial,sans-serif;color:#252b2b;background:#f5f2eb;font-synthesis:none;--paper: #f5f2eb;--ink: #252b2b;--red: #ad392b;--muted: #61645e;--line: #d8d6cd}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--red);outline-offset:5px}html{scroll-behavior:smooth;scroll-padding-top:100px}button{border:0;background:none}header{height:88px;padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;background:#f5f2ebf5;border-bottom:1px solid #3332;position:absolute;inset:0 0 auto;z-index:20}.brand{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:800;letter-spacing:-.4px}.footer-name span{color:var(--red)}.brand-sub{display:block;font-size:8px;letter-spacing:2px;margin-top:5px;font-weight:500}.desktop-nav,.header-actions{display:flex;align-items:center;gap:28px}.desktop-nav a{font-size:12px;font-weight:600;transition:color .2s}.desktop-nav a:hover{color:var(--red)}.header-actions{gap:25px}.language{display:flex;align-items:center;gap:5px;font-size:11px}.language button{padding:12px 3px;color:#73736b}.language button[aria-pressed=true]{font-weight:800;color:var(--red)}.language span{color:#a9a69d}.cv-link{font-size:12px;font-weight:700;display:inline-flex;align-items:center;gap:15px;border-bottom:1px solid var(--ink);padding:10px 0}.hero{padding-top:88px;--progress: 0}.hero-stage{height:calc(100svh - 88px);min-height:610px;max-height:980px;position:relative;overflow:hidden;background:#e8e6dd}.hero-image,.hero-wash{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-wash{background:linear-gradient(90deg,#f8f3e6bd 0%,#f8f3e659 31%,transparent 60%)}.hero-content{position:relative;padding:85px 0 0 7.6%;max-width:650px;opacity:calc(1 - var(--progress) * 4)}.hero-eyebrow{font-size:10px;font-weight:700;letter-spacing:1.1px;display:flex;align-items:center;gap:12px}.red-line{height:1px;width:27px;background:var(--red);flex-shrink:0}h1{font-size:clamp(54px,5.6vw,86px);line-height:1.08;letter-spacing:-5px;white-space:pre-line;font-weight:500;margin:28px 0 24px}.hero-content p{max-width:340px;font-size:14px;line-height:1.9;margin-bottom:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:16px 23px;font-size:12px;font-weight:700;white-space:nowrap;transition:background .2s,transform .2s}.primary{background:var(--red);color:#fff}.primary:hover{background:#8b2e22;transform:translateY(-2px)}.primary:active{transform:translateY(0)}.hero-bottom{position:absolute;bottom:26px;left:4.5%;right:4.5%;min-height:44px;display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:1.4px}.hero-bottom a{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);margin:0;display:flex;gap:12px;align-items:center;font-size:10px;letter-spacing:.3px;background:#f5f2ebe8;padding:9px 12px}.hero-name{background:#f5f2ebda;padding:9px}.hero-name span{color:var(--red);padding:0 10px}.hero-coordinate{color:var(--ink);background:#f5f2ebda;padding:9px}.cinematic{height:500svh}.cinematic .hero-stage{position:sticky;top:0;height:100svh;max-height:none}.progress-track{position:absolute;bottom:0;left:0;width:100%;height:3px;background:#fff3}.progress-track span{display:block;height:100%;width:calc(var(--progress) * 100%);background:var(--red)}.identity-strip{padding:24px 7.6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:10px}.identity-strip>span{display:flex;align-items:center;gap:10px}.status-dot{height:5px;width:5px;border-radius:50%;background:var(--red)}.slash{color:#a9a59c;padding:0 7px}.socials{display:flex;gap:18px}.socials a{display:flex;padding:4px}.section{padding:106px 7.6%;max-width:1600px;margin:auto}.section-heading{margin-bottom:48px}.section-number{font-size:11px;color:var(--red);display:block;margin-bottom:24px;font-weight:600}h2{font-size:clamp(36px,3.65vw,57px);white-space:pre-line;font-weight:500;line-height:1.18;letter-spacing:-2.7px;margin:0 0 24px}.section-heading>p{font-size:13px;line-height:1.9;color:var(--muted);max-width:510px}h3{font-weight:600;letter-spacing:-.7px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px 28px}.project.featured{grid-column:1 / -1}.project-open{width:100%;padding:0;text-align:left;display:block}.featured .project-open{display:grid;grid-template-columns:1.15fr 1fr;align-items:stretch;background:#eeece4}.project-art{height:285px;position:relative;overflow:hidden;background:#dbe0d7}.featured .project-art{height:370px}.project-pos .project-art{background:#e9ded2}.art-index{position:absolute;top:22px;left:24px;font:11px monospace;color:#55605a}.art-caption{position:absolute;bottom:23px;left:25px;font-size:25px;font-weight:600;letter-spacing:-1px}.art-caption small{display:block;font-size:10px;letter-spacing:0;margin-top:5px;font-weight:400}.art-arrow{position:absolute;right:22px;bottom:23px;display:grid;place-items:center;border:1px solid #5e6a5b55;width:42px;height:42px}.project-copy{padding:26px 0 0}.featured .project-copy{padding:46px 40px;display:flex;flex-direction:column;justify-content:center}.project-category{font-size:11px;letter-spacing:1.2px;font-weight:600;color:#656961}.project-copy h3{font-size:28px;margin:15px 0}.project-copy p{font-size:13px;line-height:1.9;color:var(--muted);margin:0 0 21px;max-width:440px}.tags{display:flex;gap:7px;flex-wrap:wrap}.tags span{font-size:11px;padding:6px 9px;border:1px solid #c6cbc3;color:#525e52}.project-cta{font-size:11px;display:flex;align-items:center;gap:13px;margin-top:24px;font-weight:700}.experience{border-top:1px solid var(--line)}.experience-row{display:grid;grid-template-columns:1fr 1.75fr;padding:37px 0;border-top:1px solid var(--line);gap:65px}.experience-meta>span{font-size:10px;letter-spacing:.7px;color:var(--muted)}.experience-meta h3{font-size:29px;margin:18px 0 9px}.red-dot{color:var(--red)}.experience-meta small{font-size:11px;color:var(--muted)}.experience-detail p,.experience-detail li{font-size:13px;line-height:1.9;color:#545b56}.experience-detail p{margin-top:0}.experience-detail ul{padding-left:18px;margin:18px 0 24px}.experience-detail li{padding-left:6px;margin:9px 0}.text-link{font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:12px;padding:8px 0}.skills{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.6fr;gap:60px}.skills h2{font-size:40px}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-top:12px}.skill-symbol{font:25px monospace;color:var(--red);display:block;height:50px}.skill-group h3{font-size:12px;letter-spacing:0;min-height:36px;margin:5px 0 15px}.skill-group p{font-size:11px;line-height:1.7;color:#62655e;margin:10px 0}.skill-level{font-size:10px;font-weight:700;letter-spacing:1.1px;text-transform:uppercase;color:var(--muted);margin:0 0 4px}.skill-level-more{margin-top:16px}.skill-group p.skill-more{color:#8b8e87}.education{border-top:1px solid var(--line)}.education-grid{display:grid;grid-template-columns:3fr 1fr;gap:24px}.degree-card{background:#e9e8df;display:flex;gap:27px;padding:37px;position:relative}.degree-card>svg{color:var(--red);flex-shrink:0}.degree-date{font-size:10px;color:var(--red);font-weight:700}.degree-card h3{font-size:23px;max-width:400px;margin:15px 0}.degree-card p{font-size:13px;margin:0 0 10px}.degree-card small{font-size:11px;color:var(--muted)}.uai{margin-left:auto;align-self:flex-end;font-size:38px;letter-spacing:-3px;color:#777d72}.uai span{display:block;text-align:right;font:10px monospace;letter-spacing:2px;margin-top:5px}.language-card{border:1px solid var(--line);padding:30px}.language-card>svg{color:var(--red)}.language-card h3{font-size:23px;margin:20px 0 7px}.language-card p{font-size:12px;color:var(--muted)}.language-card>span{display:block;margin-top:27px;font-size:11px;letter-spacing:5px}.certificates{margin-top:33px}.certificates h3{font-size:14px}.certificate-note{font-size:12px;color:var(--muted);line-height:1.7}.certificate-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.certificate-grid img{width:100%}.certificate-grid button{text-align:left}.certificate-grid span{display:flex;align-items:center;justify-content:space-between}.contact{background:#eae6dc;border-top:1px solid #d5d0c4;padding:85px 7.6%}.contact-inner{max-width:1355px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact h2{font-size:clamp(40px,4.6vw,68px)}.contact-copy>p{font-size:13px;line-height:1.9;max-width:360px;color:var(--muted)}.email-link{display:inline-flex;align-items:center;gap:15px;border-bottom:1px solid #a9a99b;font-size:16px;padding:15px 0}.contact-socials{display:flex;gap:24px;margin:22px 0}.contact-socials a{display:flex;align-items:center;gap:8px;font-size:11px}.contact-socials svg{width:17px}.contact-socials a svg:last-child{width:12px}.contact form{padding-top:44px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}label{display:block;font-size:11px;font-weight:600;margin-bottom:25px}input,textarea{display:block;width:100%;margin-top:12px;border:0;border-bottom:1px solid #999b90;border-radius:0;background:#f5f2eb66;padding:12px;color:var(--ink);resize:vertical}input{height:44px}textarea{min-height:115px}.form-note,.form-result{font-size:10px;line-height:1.8;color:#606358;max-width:365px;margin-top:16px}.form-result{border-left:2px solid var(--red);padding-left:10px}.form-result p{margin:0}.form-result a{text-decoration:underline}.copy-email{display:inline-flex;align-items:center;margin-top:10px;padding:8px 0;font-size:11px;font-weight:700;letter-spacing:.8px;border-bottom:1px solid var(--ink)}footer{display:flex;justify-content:space-between;align-items:center;padding:30px 7.6%;font-size:10px;color:var(--muted);gap:20px}.footer-name{font-size:15px;font-weight:800;letter-spacing:-.6px;color:var(--ink)}.skip-link{position:fixed;top:-80px;left:20px;z-index:100;background:var(--paper);padding:15px}.skip-link:focus{top:10px}dialog{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:0;max-height:88svh;overscroll-behavior:contain}dialog::backdrop{background:#152323aa;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.detail-dialog{width:min(760px,92vw)}.detail-content{padding:52px}.detail-content h2{font-size:39px;margin-top:16px}.dialog-close{position:absolute;top:12px;right:12px;z-index:2}.icon-btn{width:44px;height:44px;display:grid;place-items:center}.menu-toggle{display:none}.detail-subtitle{font-size:17px;color:var(--muted)}.detail-flow{display:flex;align-items:center;gap:15px;margin:28px 0;background:#e7e8df;padding:22px;justify-content:space-between}.detail-flow span{font:11px monospace}.detail-flow svg{flex-shrink:0;color:var(--red)}.detail-block{border-top:1px solid var(--line);padding:14px 0}.detail-block h3{font-size:15px;letter-spacing:0}.detail-block p{font-size:13px;line-height:1.9;color:#575e56}.cert-preview{max-width:100%;display:block;margin:25px 0}.mobile-dialog{width:100%;height:100svh;max-height:none;margin:0;max-width:none}.mobile-dialog nav{padding:100px 30px;display:flex;flex-direction:column;gap:30px}.mobile-dialog nav>a{display:flex;align-items:center;justify-content:space-between;font-size:25px}.mobile-dialog .cv-link{font-size:16px}.mobile-dialog nav>a:last-child{margin-top:25px}.visible{animation:reveal .65s both}@keyframes reveal{0%{opacity:.4;transform:translateY(18px)}to{opacity:1;transform:none}}@media(min-width:1600px){.hero-content{padding-top:100px}}@media(max-width:1100px){.desktop-nav{gap:18px}.header-actions{gap:16px}.hero-content{padding-top:65px}.hero-stage{min-height:570px}.skills{grid-template-columns:1fr;gap:5px}.skills-grid{gap:35px}.skills h2{font-size:45px}.contact-inner{gap:45px}.degree-card{padding:28px;gap:18px}.uai{display:none}.featured .project-copy{padding:30px}.hero-coordinate{display:none}}@media(max-width:767px){header{height:72px;padding:0 6%;position:fixed}.desktop-nav,.desktop-cv{display:none}.menu-toggle{display:grid}.brand{font-size:12px;gap:8px}.brand-sub{font-size:7px}.header-actions{gap:12px}.hero{padding-top:72px}.hero-stage{height:calc(100svh - 72px);min-height:570px;max-height:900px}.hero-image{object-position:60% center}.hero-wash{background:linear-gradient(180deg,#f8f3e6df 0%,#f8f3e68c 37%,transparent 65%)}.hero-content{padding:48px 7% 0;max-width:100%}.hero-eyebrow{font-size:10px;letter-spacing:.3px;gap:8px}.red-line{width:17px}h1{font-size:56px;letter-spacing:-3.5px;margin:26px 0 18px}.hero-content p{font-size:12px;line-height:1.8;max-width:270px;margin-bottom:23px}.button{padding:15px 20px;font-size:11px}.hero-bottom{bottom:20px;left:6%;right:6%}.hero-name{display:none}.hero-bottom a{margin:0}.identity-strip{padding:21px 7%;font-size:10px;gap:15px}.identity-strip>span:nth-child(2){display:none}.socials{gap:8px}.socials svg{width:18px}.section{padding:66px 7%}.section-number{font-size:10px;margin-bottom:20px}h2{font-size:36px;letter-spacing:-1.9px;margin-bottom:20px}.section-heading{margin-bottom:32px}.section-heading>p{font-size:12px}.project-grid{grid-template-columns:1fr;gap:38px}.featured .project-open{display:block;background:none}.project-art,.featured .project-art{height:290px}.featured .project-copy,.project-copy{padding:22px 0 0}.project-copy h3{font-size:25px}.project-copy p{font-size:12px}.project-category{font-size:11px}.project-cta{margin-top:20px}.experience-row{grid-template-columns:1fr;gap:22px;padding:29px 0}.experience-meta h3{margin-top:13px}.experience-detail p,.experience-detail li{font-size:12px}.skills-grid{grid-template-columns:1fr 1fr;gap:30px 22px}.skill-group:last-child{grid-column:1 / -1}.skill-group:last-child p{display:inline-block;width:50%;padding-right:8px}.skill-group:last-child .skill-level{display:block;width:100%;padding-right:0}.skill-group h3{min-height:auto;font-size:12px}.skill-group p{font-size:11px}.skills h2{font-size:36px}.education-grid{grid-template-columns:1fr}.degree-card{padding:28px 22px}.degree-card h3{font-size:21px}.degree-card>svg{width:27px}.language-card{padding:23px;display:grid;grid-template-columns:34px 1fr;column-gap:15px;align-items:center}.language-card h3{margin:0}.language-card p{grid-column:2;margin-bottom:0}.language-card>span{display:none}.certificate-grid{grid-template-columns:1fr}.contact{padding:62px 7%}.contact-inner{grid-template-columns:1fr;gap:25px}.contact h2{font-size:49px}.contact form{padding-top:15px}.contact-copy>p{font-size:12px}.email-link{font-size:15px}.form-row{gap:18px}.form-note{font-size:11px}footer{padding:27px 7%;flex-wrap:wrap;gap:16px}footer>span:nth-child(2){order:3;width:100%}.detail-content{padding:48px 24px 25px}.detail-content h2{font-size:30px}.detail-flow{gap:9px;padding:15px 10px}.detail-flow span{font-size:11px}.detail-flow svg{width:15px}.cinematic{height:370svh}.cinematic .hero-stage{top:72px;height:calc(100svh - 72px)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}@media(max-width:370px){h1{font-size:49px}.hero-eyebrow{font-size:10px}.brand-sub{letter-spacing:1px}.identity-strip{flex-wrap:wrap}.form-row,.skills-grid{grid-template-columns:1fr}.skill-group:last-child p{display:block;width:100%}}.cinematic .hero-wash{opacity:clamp(0,calc(1 - var(--progress) * 4),1)}.hero-content[inert]{visibility:hidden}.hero-image{object-position:85% center}.cinematic .hero-stage{min-height:0}.brand-logo{display:block;width:43px;height:32px;object-fit:contain;flex-shrink:0}@media(max-width:767px){.brand-logo{width:36px;height:28px}}.section.work{max-width:none;background:#fafaf7 url(/assets/projects/background.webp) center top / cover no-repeat}.work>.section-heading,.work>.project-grid{max-width:1357px;margin-left:auto;margin-right:auto}.work .section-heading>p{color:#414940;max-width:480px}.work .project{background:#faf9f4f2;border:1px solid #d5d9ce}.work .featured .project-open{background:transparent}.work .project-art{background:#f4f5eef0;border-bottom:1px solid #d5d9ce}.work .project-pos .project-art{background:#f0f4f5f2}.work .project-nutrifit .project-art{background:#f6eee7f2}.work .project-copy{padding:28px 30px 30px}.work .featured .project-copy{padding:40px}.project-logo-wrap{position:absolute;inset:36px 60px 85px;display:flex;align-items:center;justify-content:center}.project-logo{display:block;max-width:100%;max-height:100%;object-fit:contain;transition:transform .3s}.project-open:hover .project-logo{transform:translateY(-3px)}.project-club .project-logo{width:128px;max-height:168px}.project-pos .project-logo{width:205px}.project-nutrifit .project-logo{width:190px}.work .art-caption{font-size:23px}.detail-logo{display:block;width:100px;height:90px;object-fit:contain;object-position:left center;margin-bottom:24px}.detail-logo-club{width:64px;height:84px}.project-repo-link{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:700;color:var(--red);margin:15px 0 24px}@media(max-width:767px){.section.work{background-position:68% top;background-image:linear-gradient(to bottom,#ffffffbd,transparent 480px),url(/assets/projects/background.webp)}.work .project-copy,.work .featured .project-copy{padding:24px}.project-logo-wrap{inset:30px 50px 86px}.project-club .project-logo{width:112px;max-height:148px}.project-pos .project-logo{width:180px}.project-nutrifit .project-logo{width:175px}.work .art-caption{font-size:20px}}.hero-sequence{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cinematic .hero-sequence{transform:scale(var(--zoom, 1));transform-origin:85% 66%}@media(max-width:767px){.cinematic .hero-sequence{transform-origin:74% 66%}}.contact{color:#f5f2eb;padding:74px 7.6%;border-top:0}.contact-inner{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:60px;max-width:1100px}.contact h2{font-family:Georgia,Times New Roman,serif;font-size:clamp(30px,3vw,44px);font-weight:400;letter-spacing:-.025em;white-space:normal;margin-bottom:16px;text-wrap:balance}.contact-copy>p{color:#e0e6e5;max-width:530px;margin:0;font-size:13px;line-height:1.9}.contact-trigger{background:var(--paper);color:#193746;min-width:175px;border-radius:2px}.contact-trigger:hover{background:#e5dece;transform:translateY(-2px)}.contact-trigger:focus-visible{outline-color:#f5f2eb}body:has(.contact-dialog[open]){overflow:hidden}.contact-dialog{width:min(620px,calc(100vw - 32px));max-height:calc(100svh - 40px);border:0;box-shadow:0 24px 80px #0a1e3440;scrollbar-color:#a69e90 var(--paper)}.contact-dialog[open]{animation:contact-enter .28s cubic-bezier(.16,1,.3,1) both}.contact-dialog[open]::backdrop{animation:contact-backdrop .28s ease-out both}.contact-dialog.is-closing{animation:contact-exit .18s ease-in both}.contact-dialog.is-closing::backdrop{animation:contact-backdrop .18s ease-in reverse both}.contact-dialog-content{padding:46px 42px 26px}.contact-dialog h2{font-family:Georgia,Times New Roman,serif;font-size:40px;letter-spacing:-.025em;margin:0 36px 12px 0}.contact-dialog-intro{font-size:12px;line-height:1.8;color:var(--muted);margin:0 0 28px;max-width:430px}.contact-dialog .form-note,.contact-dialog .form-result{max-width:none}.contact-dialog input,.contact-dialog textarea{background:#eae6dc80;caret-color:var(--red)}.contact-dialog-links{border-top:1px solid var(--line);margin-top:24px;padding-top:12px}.contact-dialog .email-link{font-size:13px;border:0;padding:8px 0;overflow-wrap:anywhere}.contact-dialog .contact-socials{align-items:center;flex-wrap:wrap;margin:8px 0 0;gap:20px}.contact-dialog .contact-socials .cv-link{margin-left:auto}@keyframes contact-enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes contact-exit{to{opacity:0;transform:translateY(8px)}}@keyframes contact-backdrop{0%{opacity:0}to{opacity:1}}@media(max-width:767px){.contact{padding:58px 7%;background-position:70% center}.contact-inner{grid-template-columns:1fr;gap:26px}.contact h2{font-size:34px;max-width:370px}.contact-trigger{justify-self:start}.contact-dialog-content{padding:46px 24px 24px}.contact-dialog .form-row{grid-template-columns:1fr;gap:0}.contact-dialog h2{font-size:34px}.contact-dialog .contact-socials .cv-link{margin-left:0}}@media(prefers-reduced-motion:reduce){.contact-dialog[open],.contact-dialog[open]::backdrop{animation:none}}.education-contact-scene{display:grid;grid-template-rows:730fr 211fr;min-height:max(900px,56.28vw);background:#f4ead9 url(/assets/education-contact.webp) center / auto 100% no-repeat}.education-contact-scene .education{width:100%;max-width:1320px;margin:0 auto;padding:72px 8% 150px;border:0;background:none}.education-contact-scene .education .section-heading{margin-bottom:34px}.education-contact-scene .degree-card{background:#f7f0e2d9}.education-contact-scene .language-card{background:#f7f0e2bd;border-color:#bbb3a2}.education-contact-scene .certificates{max-width:none;margin:32px 0 0}.education-contact-scene .certificate-note{color:#424943}.education-contact-scene .contact{display:flex;align-items:center;background:none;padding:34px 7.6%}.education-contact-scene .contact-inner{width:100%;max-width:840px;gap:40px}.education-contact-scene .certificate-grid{gap:24px}.certificate-grid button{padding:12px;min-width:0;background:#f8f3e8ed;border:1px solid #c8bead}.certificate-image{height:145px;padding:0;overflow:hidden}.certificate-grid .certificate-image img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .25s}.certificate-grid button:hover img{transform:scale(1.035)}.certificate-grid .certificate-title{font-size:12px;font-weight:700;margin-top:13px;gap:10px;line-height:1.5}.certificate-title svg{flex-shrink:0}.certificate-issuer,.certificate-detail{display:block;font-size:10px;line-height:1.7;margin-top:5px;color:#464d48}.certificate-modal-meta{font-size:12px;line-height:1.8;color:var(--muted)}.education-contact-scene .contact-inner{max-width:860px;grid-template-columns:minmax(0,1fr) auto;gap:44px}.education-contact-scene .contact h2{font-family:Manrope,Arial,sans-serif;font-size:clamp(27px,2.5vw,38px);font-weight:500;line-height:1.25;max-width:540px;margin-bottom:14px;letter-spacing:-.7px;white-space:normal}.education-contact-scene .contact-copy>p{font-size:12px;max-width:410px;color:#f0eee4}.contact-actions{display:flex;flex-direction:column;align-items:center;gap:16px}.contact-actions .contact-trigger{min-width:200px;padding:18px 24px}.contact-direct{font-size:10px;color:#eee9dd;text-underline-offset:5px}.contact-direct:hover{text-decoration:underline}@media(max-width:767px){.education-contact-scene{min-height:0}.education-contact-scene .education{padding:60px 7% 160px}.education-contact-scene .education h2{font-size:36px}.education-contact-scene .degree-card{padding:26px 20px}.education-contact-scene .contact{padding:32px 7%}.education-contact-scene .contact-inner{grid-template-columns:1fr;gap:24px}.education-contact-scene .contact h2{font-size:30px}.education-contact-scene .certificate-grid{grid-template-columns:1fr;gap:20px}.certificate-grid button{display:grid;grid-template-columns:105px 1fr;column-gap:14px;align-content:center;text-align:left}.certificate-image{grid-row:1 / 4;height:100px;padding:6px}.certificate-grid .certificate-title{margin-top:0;font-size:12px}.certificate-issuer,.certificate-detail{font-size:10px;margin-top:4px}.contact-actions{align-items:flex-start}}.skills-learning{grid-column:1 / -1;border-top:1px solid var(--line);padding-top:24px}.skills-learning h3{font-size:13px;letter-spacing:0;margin:0 0 10px;color:var(--red)}.skills-learning p{font-size:12px;line-height:1.8;color:var(--muted);max-width:650px;margin:0}@media(max-width:1100px){.skills-learning{margin-top:28px}}.experience{max-width:none;min-height:900px;padding-top:96px;padding-bottom:112px;background:#f8f6ef url(/assets/experience-background.webp) left center / cover no-repeat;border-top:0}.experience>.section-heading,.experience>.experience-row{width:min(880px,65vw);margin-left:clamp(300px,29vw,470px);margin-right:auto}.experience>.section-heading{padding-top:8px;margin-bottom:56px}.experience>.section-heading>p{color:#454b47}.experience-row{grid-template-columns:180px minmax(0,1fr);gap:52px;padding:38px 0;border-color:#b8b9ae;background:transparent}.experience-row:last-child{border-bottom:1px solid #b8b9ae}.experience-detail p,.experience-detail li{color:#3e4541}@media(max-width:1100px){.experience>.section-heading,.experience>.experience-row{width:auto;margin-left:25%;margin-right:0}}@media(max-width:767px){.experience{min-height:0;padding-top:72px;padding-bottom:82px;background-image:linear-gradient(90deg,#f8f6efe6,#f8f6efba),url(/assets/experience-background.webp);background-position:center,24% center;background-size:auto,auto 100%}.experience>.section-heading,.experience>.experience-row{width:auto;margin-left:0;margin-right:0}.experience>.section-heading{padding-top:0;margin-bottom:38px}.experience-row{grid-template-columns:1fr;gap:22px;padding:30px 0;background:transparent}}.leaf-atmosphere{position:fixed;inset:0;z-index:10;pointer-events:none;-webkit-user-select:none;user-select:none;overflow:hidden;contain:strict;opacity:1;transition:opacity .8s ease}.leaf-atmosphere[data-paused=true]{opacity:0}.falling-leaf{position:absolute;top:-48px;display:block;width:var(--leaf-size);height:var(--leaf-size);animation:leaf-descent var(--fall-time) var(--fall-delay) linear infinite both;will-change:transform}.leaf-drift,.leaf-sprite{display:block;width:100%;height:100%}.leaf-drift{animation:leaf-drift var(--sway-time) var(--sway-delay) ease-in-out infinite alternate}.leaf-sprite{background:url(/assets/ambient/leaves-atlas.webp) 0 0 / 200% 200% no-repeat;animation:leaf-tumble calc(var(--sway-time) * 1.65) var(--sway-delay) ease-in-out infinite alternate;transform-origin:50% 65%}@keyframes leaf-descent{0%{transform:translateZ(0);opacity:0}8%{opacity:var(--leaf-opacity)}86%{opacity:var(--leaf-opacity)}to{transform:translate3d(0,calc(100svh + 96px),0);opacity:0}}@keyframes leaf-drift{0%{transform:translate3d(calc(var(--drift) * -.6),0,0)}to{transform:translate3d(var(--drift),0,0)}}@keyframes leaf-tumble{0%{transform:rotate(var(--angle)) rotateY(-25deg) rotateX(15deg)}45%{transform:rotate(calc(var(--angle) + 65deg)) rotateY(65deg) rotateX(-15deg)}to{transform:rotate(calc(var(--angle) + 145deg)) rotateY(-35deg) rotateX(25deg)}}.leaf-atmosphere[data-paused=true] *,body:has(dialog[open]) .leaf-atmosphere *{animation-play-state:paused}body:has(dialog[open]) .leaf-atmosphere{opacity:0}.leaf-motion-toggle{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:6px 0;font-size:10px;color:var(--muted);white-space:nowrap}.leaf-motion-toggle:hover{color:var(--red)}@media(prefers-reduced-motion:reduce){.leaf-atmosphere{display:none}.leaf-atmosphere *{animation:none}}:root{--ease-out: cubic-bezier(.16, 1, .3, 1);scrollbar-color:#8b8d80 var(--paper);scrollbar-width:thin}::selection{background:#ad392b;color:#fff}input,textarea{caret-color:var(--red);font-size:16px}body:has(dialog[open]){overflow:hidden}a,button{text-underline-offset:.3em}.desktop-nav a{position:relative;padding-block:14px}.desktop-nav a:after{content:"";position:absolute;bottom:5px;left:0;right:0;height:1px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease-out)}.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after{transform:scaleX(1)}.language{gap:0}.language button{min-width:36px;min-height:44px}.socials a{min-width:36px;min-height:44px;align-items:center;justify-content:center}.button{min-height:48px;font-size:13px}.button svg,.project-cta svg,.text-link svg{flex-shrink:0;transition:transform .35s var(--ease-out)}.button:hover svg,.project-open:hover .project-cta svg{transform:translate(3px,-3px)}.text-link:hover svg{transform:translate(4px)}h1{letter-spacing:-.05em}.hero-content{max-width:760px}.hero-eyebrow{flex-wrap:wrap;row-gap:10px}.hero-seal{display:inline-grid;place-items:center;width:40px;height:40px;flex-shrink:0;background:var(--red);transform:rotate(-4deg);animation:seal-in .7s var(--ease-out) .9s both}.hero-seal img{display:block;width:26px;height:auto}@keyframes seal-in{0%{opacity:0;transform:rotate(-14deg) scale(.6)}to{opacity:1;transform:rotate(-4deg) scale(1)}}.hero-content p{font-size:16px;max-width:380px;line-height:1.85}.hero-bottom a{min-height:44px;font-size:11px}.identity-strip{font-size:12px;padding-block:16px}h2{letter-spacing:-.04em;text-wrap:balance}.section-heading p,.project-copy p,.work .project-copy p,.experience-detail p,.experience-detail li,.detail-block p,.skills-learning p,.contact-dialog-intro,.education-contact-scene .contact-copy>p{font-size:15px;line-height:1.85}.section-heading p{max-width:510px;color:#50594f}.project-category{line-height:1.65}.tags span{font-size:11px}.work-heading{display:grid;grid-template-columns:1.5fr 1fr;align-items:center;gap:64px}.work-heading h2{max-width:730px}.work-terrain{position:relative;height:240px;color:var(--red)}.terrain-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.terrain-lines path{stroke:currentColor;stroke-width:.8;opacity:.22}.terrain-caption{position:absolute;bottom:0;left:18%;font-size:12px;color:var(--muted)}.terrain-seal{position:absolute;top:40%;left:48%;display:grid;place-items:center;width:44px;height:44px;font-size:13px;font-weight:700;border:1px solid currentColor;background:var(--paper);transform:rotate(-8deg)}.work-heading.visible .terrain-lines path{animation:terrain-trace 1.5s var(--ease-out) both;animation-delay:calc(var(--line-index) * 45ms)}@keyframes terrain-trace{0%{stroke-dasharray:1;stroke-dashoffset:1}to{stroke-dasharray:1;stroke-dashoffset:0}}.work .project{background:#faf9f6;transition:border-color .35s ease-out}.work .project:hover{border-color:#999f90}.work .featured .project-open{grid-template-columns:1.1fr 1fr}.work .project-copy{padding:32px}.work .featured .project-copy{padding:48px}.project-copy h3{font-size:clamp(28px,2.6vw,38px);line-height:1.2;letter-spacing:-.035em}.project-cta{font-size:13px;margin-top:28px}.work .project-art.blueprint,.blueprint-detail{height:354px;display:flex;flex-direction:column;padding:24px 28px 28px;background:#e7ece3;color:#354637;isolation:isolate}.work .featured .project-art.blueprint{height:450px;border-bottom:0;border-right:1px solid #c7cec2}.work .project-pos .blueprint{background:#e8eeec}.work .project-nutrifit .blueprint{background:#f1e8dd}.blueprint .terrain-lines{opacity:.65;z-index:-1;transform:scale(1.25);transition:transform 1s var(--ease-out)}.project-open:hover .terrain-lines{transform:scale(1.05)}.blueprint-topline{display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.blueprint-cross{font-size:24px;font-weight:400}.blueprint-identity{display:flex;flex:1;align-items:center;gap:24px;padding-block:20px}.blueprint .project-logo-wrap{position:static;inset:auto;width:40%;height:140px;flex-shrink:0}.blueprint .project-logo{max-height:120px;max-width:100%;width:140px}.blueprint .project-club .project-logo{width:100px}.blueprint-caption{max-width:210px}.blueprint-caption strong{display:block;font-size:clamp(25px,2.8vw,38px);font-weight:500;letter-spacing:-.045em;line-height:1.2}.blueprint-caption>span{display:block;font-size:12px;margin-top:8px;line-height:1.6}.blueprint-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;position:relative}.blueprint-flow:before{content:"";position:absolute;left:16.66%;right:16.66%;top:22px;height:1px;background:#97a28f;transform-origin:left}.blueprint-node{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;font-size:10px;text-align:center;line-height:1.5}.blueprint-node-icon{display:grid;place-items:center;width:44px;height:44px;border:1px solid #a8b3a0;background:#f6f6ef}.blueprint-node:nth-child(2) .blueprint-node-icon{color:var(--red);border-color:#b77566}.blueprint-open{position:absolute;top:28px;right:28px;opacity:0;transform:translate(-4px,4px);transition:opacity .25s,transform .35s var(--ease-out)}.project-open:hover .blueprint-open{opacity:1;transform:none}.project-open:hover .blueprint-cross{opacity:0}.project.visible .blueprint-flow:before{animation:connection-arrive .9s var(--ease-out) both}@keyframes connection-arrive{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.experience{background:linear-gradient(90deg,#f8f6ef00,#f8f6ef59 30%,#f8f6ef 52%),#f8f6ef url(/assets/experience-background.webp) left center / cover no-repeat}.blueprint-detail .blueprint-cross{display:none}.blueprint-detail .blueprint-topline{padding-right:44px}.experience>.section-heading,.experience>.experience-row{width:65%;margin-left:auto;margin-right:0}.experience-row{grid-template-columns:165px minmax(0,1fr);gap:36px}.experience-detail{background:#f8f6efb3}.experience-meta>span,.experience-meta small{font-size:11px;color:#50594f}.skill-group h3{font-size:14px;line-height:1.5}.skill-group p,.skill-group p.skill-more{font-size:13px;color:#515a50}.skill-group .skill-level{font-size:10px;color:var(--red)}.skills-learning{padding-block:28px 0}.degree-card p,.language-card p{font-size:14px}.degree-card small{font-size:12px}.certificate-grid .certificate-title{font-size:13px}.certificate-issuer,.certificate-detail{font-size:11px}.education-contact-scene .contact-inner{max-width:1050px}.education-contact-scene .contact h2{font-size:clamp(30px,3.1vw,45px);letter-spacing:-.04em}.contact-direct{font-size:12px}.contact-trigger{border-radius:0}.detail-dialog{width:min(940px,92vw)}.detail-dialog[open],.mobile-dialog[open]{animation:sheet-arrive .4s var(--ease-out) both}@keyframes sheet-arrive{0%{opacity:.6;transform:translateY(18px)}to{opacity:1;transform:none}}.detail-content{padding:58px}.detail-content .blueprint{margin:-58px -58px 36px;height:310px;padding:26px 58px}.detail-content .blueprint-identity{max-width:540px;width:100%;margin-inline:auto}.detail-content .blueprint-flow{max-width:600px;width:100%;margin-inline:auto}.detail-content .blueprint .project-logo{max-height:100px}.detail-content .project-category{display:block}.detail-content h2{font-size:clamp(30px,3.3vw,46px)}.detail-block{display:grid;grid-template-columns:150px minmax(0,1fr);gap:28px;padding-block:22px}.detail-block h3{margin-block:4px}.detail-block p{margin:0}.detail-flow{display:none}.detail-dialog .dialog-close{background:var(--paper);position:sticky;float:right;top:10px;margin:10px 10px -54px 0}.contact-dialog-intro,.form-note,.form-result,.contact-dialog label{font-size:13px}.contact-dialog .email-link{font-size:14px}.leaf-atmosphere[data-scene=work],.leaf-atmosphere[data-scene=experience]{opacity:0}.leaf-atmosphere{transition:opacity .6s ease-out}@media(max-width:1100px){.work-heading{gap:24px;grid-template-columns:1.8fr 1fr}.work .featured .project-copy{padding:30px}.work .featured .project-art.blueprint{height:440px}.experience>.section-heading,.experience>.experience-row{width:78%}.experience-row{grid-template-columns:140px minmax(0,1fr);gap:24px}.blueprint-identity{gap:16px}}@media(max-width:767px){.header-actions{gap:4px}.language button{min-width:30px}.hero-content{padding-top:46px}h1{font-size:clamp(43px,12.6vw,76px);letter-spacing:-.05em;line-height:1.08}.hero-content p{font-size:15px;max-width:320px}.hero-eyebrow{font-size:9px;letter-spacing:0}.hero-seal{width:34px;height:34px}.hero-seal img{width:22px}.identity-strip{font-size:11px;gap:8px}.socials{gap:0}.socials a{min-width:30px}.work-heading{display:block}.work-terrain{display:none}.section-heading p{font-size:15px}h2,.skills h2,.education-contact-scene .education h2{font-size:clamp(32px,8.6vw,48px);letter-spacing:-.04em}.work .featured .project-open{display:block}.work .project-art.blueprint,.work .featured .project-art.blueprint{height:330px;padding:20px;border-right:0;border-bottom:1px solid #c7cec2}.work .project-copy,.work .featured .project-copy{padding:26px 24px 30px}.project-copy h3{font-size:29px}.project-category{font-size:10px;letter-spacing:.075em}.blueprint .project-logo-wrap{width:36%}.blueprint .project-logo{max-height:110px}.blueprint-caption strong{font-size:27px}.blueprint-caption>span{font-size:11px}.blueprint-topline,.blueprint-node{font-size:9px}.blueprint-flow{gap:4px}.experience>.section-heading,.experience>.experience-row{width:auto}.experience-row{grid-template-columns:1fr;gap:22px}.experience-detail{background:none}.skill-group h3{font-size:14px}.skill-group p{font-size:13px}.certificate-grid button{grid-template-columns:80px minmax(0,1fr);padding:12px;gap:6px 12px}.certificate-image{height:100px;padding:0}.certificate-grid .certificate-title{font-size:13px;gap:6px}.certificate-grid .certificate-title svg{width:16px}.certificate-issuer,.certificate-detail{font-size:11px}.education-contact-scene .contact h2{font-size:34px}.education-contact-scene .contact{padding-block:46px}.detail-dialog{width:calc(100vw - 20px);max-height:calc(100svh - 24px)}.detail-content{padding:28px 22px}.detail-content .blueprint{margin:-28px -22px 28px;padding:24px 20px;height:320px}.detail-block{grid-template-columns:1fr;gap:10px}.detail-subtitle{font-size:16px;line-height:1.7}.contact-dialog .contact-socials{gap:16px}}@media(prefers-reduced-motion:reduce){.work-heading.visible .terrain-lines path,.project.visible .blueprint-flow:before,.detail-dialog[open],.mobile-dialog[open]{animation:none}.blueprint .terrain-lines,.project-open:hover .terrain-lines{transform:none}.leaf-atmosphere{transition:none}}.social-rail{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:30;display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-right:0}.social-rail a{display:grid;place-items:center;width:46px;height:46px;color:var(--ink);transition:background .25s var(--ease-out),color .25s var(--ease-out)}.social-rail a+a{border-top:1px solid var(--line)}.social-rail a:hover{background:var(--red);color:#fff}@media(max-width:767px){.social-rail a{width:42px;height:42px}}.skills{max-width:none;display:block;background:linear-gradient(100deg,#f5f2ebf5,#f5f2ebe6 42%,#f5f2ebcc 72%,#f5f2ebb8),#f5f2eb url(/assets/projects/skills-background.webp) center / cover no-repeat;border-top:1px solid var(--line)}.skills-inner{display:grid;grid-template-columns:1fr 1.6fr;gap:60px;max-width:1600px;margin:auto}@media(max-width:1100px){.skills-inner{grid-template-columns:1fr;gap:5px}}@media(max-width:767px){.skills{background-position:62% center}}.section.work{background-color:#f5f2eb;background-image:linear-gradient(to bottom,#f5f2eb 0,#f5f2eb00 170px),linear-gradient(to top,#f5f2eb 0,#f5f2eb00 170px),url(/assets/projects/background.webp);background-position:center top,center bottom,center top;background-size:auto,auto,cover;background-repeat:no-repeat}.experience{background-color:#f5f2eb;background-image:linear-gradient(to bottom,#f5f2eb 0,#f5f2eb00 170px),linear-gradient(to top,#f5f2eb 0,#f5f2eb00 170px),linear-gradient(90deg,#f5f2eb00,#f5f2eb59 30%,#f5f2eb 52%),url(/assets/experience-background.webp);background-position:center top,center bottom,left center,left center;background-size:auto,auto,auto,cover;background-repeat:no-repeat}.skills{background-color:#f5f2eb;background-image:linear-gradient(to bottom,#f5f2eb 0,#f5f2eb00 170px),linear-gradient(to top,#f5f2eb 0,#f5f2eb00 170px),linear-gradient(100deg,#f5f2ebf5,#f5f2ebe6 42%,#f5f2ebcc 72%,#f5f2ebb8),url(/assets/projects/skills-background.webp);background-position:center top,center bottom,center,center;background-size:auto,auto,auto,cover;background-repeat:no-repeat;border-top:0}.education-contact-scene{background-color:#f5f2eb;background-image:linear-gradient(to bottom,#f5f2eb 0,#f5f2eb00 170px),linear-gradient(to top,#f5f2eb 0,#f5f2eb00 150px),url(/assets/education-contact.webp);background-position:center top,center bottom,center;background-size:auto,auto,auto 100%;background-repeat:no-repeat}@media(max-width:767px){.section.work{background-image:linear-gradient(to bottom,#f5f2eb 0,#f5f2eb00 130px),linear-gradient(to top,#f5f2eb 0,#f5f2eb00 130px),linear-gradient(to bottom,#ffffffbd,#fff0 480px),url(/assets/projects/background.webp);background-position:center top,center bottom,68% top,68% top;background-size:auto,auto,auto,cover;background-repeat:no-repeat}.experience{background-image:linear-gradient(to bottom,#f5f2eb 0,#f5f2eb00 130px),linear-gradient(to top,#f5f2eb 0,#f5f2eb00 130px),linear-gradient(90deg,#f5f2ebe6,#f5f2ebba),url(/assets/experience-background.webp);background-position:center top,center bottom,center,24% center;background-size:auto,auto,auto,auto 100%;background-repeat:no-repeat}.skills{background-image:linear-gradient(to bottom,#f5f2eb 0,#f5f2eb00 130px),linear-gradient(to top,#f5f2eb 0,#f5f2eb00 130px),linear-gradient(100deg,#f5f2ebf5,#f5f2ebe6 42%,#f5f2ebcc 72%,#f5f2ebb8),url(/assets/projects/skills-background.webp);background-position:center top,center bottom,center,62% center;background-size:auto,auto,auto,cover;background-repeat:no-repeat}.education-contact-scene{background-image:linear-gradient(to bottom,#f5f2eb 0,#f5f2eb00 130px),linear-gradient(to top,#f5f2eb 0,#f5f2eb00 130px),url(/assets/education-contact.webp);background-position:center top,center bottom,center;background-size:auto,auto,auto 100%;background-repeat:no-repeat}}.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}.mask-line{display:block;overflow:hidden}.mask-line>span{display:block;transform:translateY(112%)}.visible .mask-line>span{transform:none;transition:transform 1s var(--ease-out);transition-delay:calc(.12s + var(--line-index, 0) * 90ms)}.project .project-art{clip-path:inset(0 0 100% 0)}.project.visible .project-art{clip-path:inset(0 0 0 0);transition:clip-path 1.1s var(--ease-out) 80ms}@media(prefers-reduced-motion:reduce){.mask-line>span{transform:none}.project .project-art{clip-path:none}}.tilt{transition:transform .25s ease-out}.magnetic{display:inline-block;transition:transform .3s var(--ease-out)}.desktop-nav a.is-active{color:var(--red)}.desktop-nav a.is-active:after{transform:scaleX(1)}.mobile-dialog nav>a.is-active{color:var(--red)}@media(prefers-reduced-motion:reduce){.tilt,.magnetic{transition:none}}.curtain{position:fixed;inset:0;z-index:90;display:grid;place-items:center;background:var(--paper);border-bottom:3px solid var(--red);transition:transform 1s cubic-bezier(.7,0,.2,1) .1s}.curtain[data-lift=true]{transform:translateY(-101%)}.curtain-inner{display:grid;justify-items:center;gap:20px;transition:opacity .35s ease}.curtain-seal{display:grid;place-items:center;width:64px;height:64px;background:var(--red);transform:rotate(-4deg);box-shadow:0 12px 32px #252b2b38;animation:seal-stamp .55s cubic-bezier(.2,1.3,.3,1) .15s both}.curtain-seal img{display:block;width:40px;height:auto}@keyframes seal-stamp{0%{opacity:0;transform:rotate(-4deg) scale(1.7)}60%{opacity:1;transform:rotate(-4deg) scale(.95)}to{opacity:1;transform:rotate(-4deg) scale(1)}}.curtain-name{font-size:12px;font-weight:600;letter-spacing:.34em;text-transform:uppercase;text-indent:.34em;color:var(--ink);animation:curtain-rise .6s var(--ease-out) .55s both}@keyframes curtain-rise{0%{opacity:0;transform:translateY(10px)}}.curtain-bar{width:128px;height:2px;overflow:hidden;background:#252b2b24;animation:curtain-rise .6s var(--ease-out) .65s both}.curtain-bar i{display:block;height:100%;background:var(--red);transform-origin:left center;animation:bar-fill 1.15s cubic-bezier(.3,0,.2,1) .5s both}@keyframes bar-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.curtain[data-lift=true] .curtain-inner{opacity:0}::view-transition-new(project-detail){animation:detail-in .5s var(--ease-out)}@keyframes detail-in{0%{opacity:0;transform:translateY(30px) scale(.985)}}.cinematic .hero-content{transform:translateY(calc(var(--progress) * 130px))}.chapter-ticks{position:absolute;inset:0;pointer-events:none}.chapter-ticks i{position:absolute;top:-2px;bottom:-2px;width:2px;background:#f5f2eb;opacity:.55;transition:background .3s ease,opacity .3s ease}.chapter-ticks i:nth-child(1){left:33.33%}.chapter-ticks i:nth-child(2){left:66.66%}.hero[data-chapter="1"] .chapter-ticks i:nth-child(1),.hero[data-chapter="2"] .chapter-ticks i{background:#fff;opacity:1}.project-gallery{margin-top:28px}.project-gallery h3{margin-bottom:14px}.project-viewer{margin-top:4px}.viewer-main{position:relative;aspect-ratio:16 / 10;overflow:hidden;isolation:isolate;border:1px solid rgb(37 43 43 / .12);border-radius:10px;background:#101414;cursor:zoom-in}.viewer-main>img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center top;-webkit-user-select:none;user-select:none;pointer-events:none;will-change:transform;transition:transform .18s ease}.viewer-main[data-zoomed=true]{cursor:grab;touch-action:none}.viewer-main[data-zoomed=true]>img{transition:none}.viewer-main.is-panning{cursor:grabbing}.viewer-nav{position:absolute;top:50%;translate:0 -50%;width:40px;height:40px;display:grid;place-items:center;color:#f5f2eb;background:#1014148c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgb(245 242 235 / .2);border-radius:50%;cursor:pointer}.viewer-nav:hover{background:#101414cc}.viewer-prev{left:12px}.viewer-next{right:12px}.viewer-count{position:absolute;left:12px;bottom:12px;font-size:12px;letter-spacing:.08em;color:#f5f2eb;background:#10141499;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:4px 10px;border-radius:999px}.viewer-zoombar{position:absolute;right:12px;bottom:12px;display:flex;align-items:center;gap:2px;color:#f5f2eb;background:#10141499;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgb(245 242 235 / .2);border-radius:999px;padding:2px}.viewer-zoom-btn{width:30px;height:30px;display:grid;place-items:center;color:#f5f2eb;background:transparent;border:0;border-radius:50%;cursor:pointer}.viewer-zoom-btn:hover:not(:disabled){background:#f5f2eb26}.viewer-zoom-btn:disabled{opacity:.35;cursor:default}.viewer-zoom-level{min-width:52px;height:30px;padding:0 8px;font-size:12px;letter-spacing:.06em;color:#f5f2eb;background:transparent;border:0;border-radius:999px;cursor:pointer}.viewer-zoom-level:hover{background:#f5f2eb26}.viewer-caption{margin:10px 2px 0;font-size:13px;letter-spacing:.02em;color:#252b2bb8}.viewer-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:10px}.viewer-thumbs button{position:relative;padding:0;aspect-ratio:16 / 10;overflow:hidden;isolation:isolate;border:1px solid rgb(37 43 43 / .14);border-radius:6px;background:#101414;cursor:pointer;opacity:.55;transition:opacity .2s ease,border-color .2s ease}.viewer-thumbs button:hover{opacity:.85}.viewer-thumbs img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center top;pointer-events:none}.viewer-thumbs .is-active{opacity:1;border-color:var(--red)}.viewer-expand{position:absolute;top:12px;right:12px;width:38px;height:38px;display:grid;place-items:center;color:#f5f2eb;background:#1014148c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgb(245 242 235 / .2);border-radius:50%;cursor:pointer;opacity:0;transition:opacity .2s ease,background .2s ease}.viewer-main:hover .viewer-expand,.viewer-main:focus-visible .viewer-expand,.viewer-expand:focus-visible{opacity:1}.viewer-expand:hover{background:#101414cc}@media(hover:none){.viewer-expand{opacity:1}}.lightbox-dialog{width:100vw;max-width:none;height:100svh;max-height:none;margin:0;padding:0;border:0;background:transparent}.lightbox-dialog::backdrop{background:#0a0e0eeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.lightbox{display:flex;flex-direction:column;gap:12px;width:100%;height:100%;padding:clamp(12px,3vh,28px) clamp(12px,4vw,40px);background:#0a0e0ef0;overflow:hidden}.lightbox-topbar{display:flex;align-items:center;gap:12px;color:#f5f2eb}.lightbox-count{flex:none;font-size:12px;letter-spacing:.08em;color:#f5f2eb;background:#f5f2eb1f;border:1px solid rgb(245 242 235 / .2);padding:4px 10px;border-radius:999px}.lightbox-caption{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;letter-spacing:.02em;color:#f5f2ebd9}.lightbox-close{flex:none;color:#f5f2eb}.lightbox-main{position:relative;flex:1;min-height:min(52vh,420px);overflow:hidden;isolation:isolate;border:1px solid rgb(245 242 235 / .16);border-radius:12px;background:#0b0f0f;cursor:zoom-in;touch-action:pan-y}.lightbox-main>img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none;will-change:transform;transition:transform .18s ease}.lightbox-main[data-zoomed=true]{cursor:grab;touch-action:none}.lightbox-main[data-zoomed=true]>img{transition:none}.lightbox-main.is-panning{cursor:grabbing}.lightbox-bottombar{display:flex;flex-direction:column;align-items:center;gap:10px}.lightbox-bottombar .viewer-zoombar{position:static}.lightbox-thumbs{width:100%;max-width:720px;margin-top:0}@media(max-width:700px){.lightbox-main{min-height:40vh}}@media(max-width:700px){.viewer-thumbs{display:flex;overflow-x:auto;padding-bottom:4px;scroll-behavior:smooth}.viewer-thumbs button{flex:0 0 96px}.viewer-nav{width:36px;height:36px}}
