@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#f5f4ef;--surface:#fffefa;--ink:#162a37;--muted:#68747a;--line:#dcded8;--accent:#b65532;--soft:#edece5;--deep:#173c3b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--ink);font:16px 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}::selection{background:#d5e6d4;color:#173c3b}.skip{position:fixed;top:-100px;z-index:10;padding:16px;background:var(--ink);color:var(--surface)}.skip:focus{top:10px}aside{width:246px;position:fixed;inset:0 auto 0 0;padding:26px 25px 20px;border-right:1px solid var(--line);display:flex;flex-direction:column;overflow-y:auto}.brand{font:800 27px Manrope;letter-spacing:-2px}.brand>span{color:var(--accent);margin-left:5px}.brand small{display:block;font:10px 'DM Sans';letter-spacing:1.8px;margin-top:4px;color:var(--muted)}.profile{text-align:center;padding:28px 0 23px}.avatar{width:91px;height:91px;border-radius:50%;overflow:hidden;margin:0 auto 15px;border:4px solid var(--surface);box-shadow:0 4px 20px #122e3417}.avatar img{width:100%;height:100%;object-fit:cover;transform:scale(2.2);transform-origin:54% 67%}.profile h2{font:800 18px Manrope;margin:0 0 5px}.profile p{font-size:13px;color:var(--muted);margin:0}.location{display:block;font-size:11px;color:var(--muted);margin-top:10px}nav{display:grid;gap:3px}nav a{padding:10px 12px;border-radius:9px;display:flex;gap:14px;font-size:14px;align-items:center;color:var(--muted);transition:background .2s}nav a>span{font-size:19px;width:19px;text-align:center}nav a.active,nav a:hover{color:var(--ink);background:var(--soft)}nav a.active>span{color:var(--accent)}.aside-bottom{margin-top:auto;padding-top:24px}.resume-small{display:flex;justify-content:space-between;border:1px solid var(--line);border-radius:10px;padding:12px;font-size:12px;font-weight:700}.resume-small:hover{border-color:var(--accent)}.utility{display:flex;align-items:center;gap:9px;margin-top:17px}.utility button,.utility>a{background:none;border:1px solid var(--line);border-radius:50%;width:30px;height:30px;display:grid;place-content:center;color:var(--ink);font-size:16px}.utility>span{margin-left:auto;font-size:11px;color:var(--muted)}main{margin-left:246px;padding:0 5%;max-width:1680px}header{padding:26px 0;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}header>span{font-size:10px;letter-spacing:1.8px;color:var(--muted)}header a{font-size:13px;font-weight:700}header a span{color:var(--accent);margin-left:10px}section{padding:65px 0;border-bottom:1px solid var(--line)}.intro-section{padding-top:37px}.eyebrow{font-size:11px;letter-spacing:1.5px;line-height:1.7;font-weight:600;color:var(--accent)}.eyebrow>span{margin:0 7px;color:var(--muted)}.intro-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;margin-top:27px;align-items:center}h1{font:800 clamp(40px,4.5vw,68px)/1.06 Manrope;letter-spacing:-3px;margin:0 0 24px}em{font-family:Georgia,serif;font-weight:400;color:var(--accent)}.lead{font-size:16px;color:var(--muted);line-height:1.8;max-width:415px}.hero-actions{display:flex;align-items:center;gap:23px;flex-wrap:wrap;margin-top:27px}.button{display:inline-flex;gap:23px;align-items:center;border-radius:8px;background:var(--deep);padding:15px 21px;color:#fff;font-size:13px;font-weight:600;transition:transform .2s,background .2s}.button:hover{background:var(--accent);transform:translateY(-2px)}.text-link{font-size:13px;font-weight:600}.text-link:hover{color:var(--accent)}.intro-meta{display:flex;gap:24px;font-size:10px;letter-spacing:1px;color:var(--muted);margin-top:35px}.portrait-card{height:435px;position:relative;border-radius:130px 130px 18px 18px;overflow:hidden;background:#101710;box-shadow:12px 15px 0 var(--soft)}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:53% 65%;transform:scale(1.13)}.portrait-card:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 45%,#07150dd9)}.portrait-caption{position:absolute;bottom:25px;left:25px;z-index:1;color:white}.portrait-caption>span{font-size:9px;letter-spacing:2px}.portrait-caption strong{display:block;font:italic 43px Georgia;margin:5px 0}.portrait-caption small{font-size:10px;color:#d7dfd5}.portrait-corner{position:absolute;right:22px;top:33px;color:#ecefe8;z-index:1;font-size:10px;letter-spacing:1px}.highlight-strip{display:grid;grid-template-columns:1.1fr 1fr .8fr;border:1px solid var(--line);border-radius:14px;background:var(--surface);margin-top:42px;padding:22px 0}.highlight-strip>div{padding:0 22px;border-right:1px solid var(--line)}.highlight-strip>div:last-child{border:0}.highlight-strip span{font-size:9px;letter-spacing:1px;color:var(--muted);display:block;margin-bottom:9px}.highlight-strip strong{font:700 14px Manrope;display:block;margin-bottom:6px}.highlight-strip small,.highlight-strip a{font-size:11px;color:var(--muted);line-height:1.5}.highlight-strip a{text-decoration:underline}.section-head{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:32px}h2{font:700 clamp(25px,2.5vw,36px)/1.25 Manrope;letter-spacing:-1.2px;margin:10px 0 0}.section-label{font-size:9px;letter-spacing:1.3px;color:var(--muted);white-space:nowrap;margin-bottom:4px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px}.statement{font:500 24px/1.6 Manrope;letter-spacing:-.5px;margin:0}.about-copy p{font-size:15px;line-height:1.8;color:var(--muted);margin:0 0 16px}.language-row{display:flex;gap:8px;flex-wrap:wrap}.language-row span{font-size:11px;border:1px solid var(--line);padding:7px 10px;border-radius:5px}.education-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:32px}.degree-card{border-radius:17px;background:var(--deep);color:#f1f2e9;padding:27px}.degree-card .eyebrow{color:#c9d8c0}.degree-symbol{font:800 72px/1.1 Manrope;letter-spacing:-5px;margin:30px 0 22px;color:#d7e5bb;display:flex;justify-content:space-between}.degree-symbol>span{font-size:55px;font-weight:400}h3{font:700 17px/1.5 Manrope;margin:0}.degree-card p{font-size:13px;color:#bfd0cb;line-height:1.6;margin-bottom:0}.timeline article{display:grid;grid-template-columns:88px 1fr;gap:15px;padding:23px 0;border-bottom:1px solid var(--line)}.timeline article:first-child{padding-top:8px}.timeline article:last-child{border:0}.timeline article>span{color:var(--accent);font-size:12px;padding-top:4px}.timeline h3{font-size:15px}.timeline p{font-size:13px;color:var(--muted);margin:8px 0 0}.achievement-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:30px}.award-card{background:#e9eddf;color:#273b30;padding:27px;border-radius:18px;display:flex;flex-direction:column}.award-top{display:flex;align-items:center;gap:15px}.award-icon{font-size:47px}.award-top>span:last-child{font-size:9px;letter-spacing:1px}.award-card h3{font-size:30px;letter-spacing:-1px;margin-top:30px}.award-card>p{font-size:16px;line-height:1.7}.card-foot{margin-top:auto;padding-top:28px;border-top:1px solid #cbd2c1;font-size:12px;line-height:1.8}.events article{padding:20px 0;border-bottom:1px solid var(--line)}.events article:first-child{padding-top:0}.events article:last-child{border:0;padding-bottom:0}.events article>span{font-size:10px;letter-spacing:1px;color:var(--accent)}.events h3{font-size:15px;margin:7px 0}.events p{font-size:13px;color:var(--muted);line-height:1.7;margin:0}.certificate-row{display:flex;align-items:center;gap:17px;margin-top:22px;padding:20px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.certificate-icon{font:800 23px Manrope;background:var(--soft);padding:10px;border-radius:9px}.certificate-row strong{font-size:14px}.certificate-row p{font-size:12px;color:var(--muted);margin:6px 0 0}.certificate-row>span:last-child{margin-left:auto;font-size:12px;color:var(--accent)}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.skills-grid article{border:1px solid var(--line);background:var(--surface);padding:24px;border-radius:13px;transition:transform .2s,border-color .2s}.skills-grid article:hover{transform:translateY(-4px);border-color:var(--accent)}.skills-grid article>span{font-size:11px;color:var(--accent)}.skills-grid h3{margin-top:26px;font-size:16px}.skills-grid p{font-size:14px;line-height:1.7;color:var(--muted);margin:9px 0 0}.project{display:grid;grid-template-columns:1fr 1fr;gap:38px;border:1px solid var(--line);border-radius:18px;padding:20px;background:var(--surface);align-items:center}.project-art{background:#203b40;color:#f4f3e5;border-radius:10px;padding:27px}.project-art>span,.project-art small{font-size:9px;letter-spacing:1.5px}.project-art strong{display:block;font:500 45px/1.1 Georgia;margin:30px 0}.project-art em{color:#dce7bd}.project-copy h3{font-size:26px;letter-spacing:-1px;margin:14px 0}.project-copy p{font-size:14px;line-height:1.8;color:var(--muted);padding-right:10px}.project-copy .text-link{display:block;margin-top:25px}.toolbox{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;margin-top:22px;padding:20px;border:1px solid var(--line);border-radius:10px}.toolbox>span{font-size:10px;letter-spacing:1px;color:var(--muted);align-self:center}.toolbox a{font-size:13px}.interest-row{display:flex;flex-wrap:wrap;gap:15px}.interest-row span{border:1px solid var(--line);border-radius:50px;padding:15px 22px;font-size:14px}.steps details{border-bottom:1px solid var(--line);padding:18px 0}.steps summary{list-style:none;display:flex;align-items:center;gap:25px;cursor:pointer;font-size:12px;color:var(--accent)}.steps summary::-webkit-details-marker{display:none}.steps strong{font-size:15px;color:var(--ink)}.steps summary>span{margin-left:auto;font-size:22px}.steps details[open] summary>span{transform:rotate(45deg)}.steps p{font-size:14px;color:var(--muted);line-height:1.7;margin-left:40px}.testimonials-panel{display:flex;gap:23px;align-items:center}.quote{font:90px Georgia;color:var(--accent)}.testimonials-panel h2{font-size:25px}.testimonials-panel p{font-size:14px;color:var(--muted);line-height:1.7}.coming{margin-left:auto;font-size:9px;letter-spacing:1px;border:1px solid var(--line);padding:9px;border-radius:5px;white-space:nowrap}#contact{border:0}.contact-panel{border-radius:20px;padding:38px;background:var(--deep);color:#f3f3e9}.contact-panel .eyebrow{color:#c9d8ba}.contact-panel h2{font-size:clamp(28px,3vw,42px);margin:19px 0 25px}.contact-panel em{color:#d8e4ba}.contact-email{font-size:clamp(15px,2vw,23px);border-bottom:1px solid #829c8b;padding-bottom:6px;overflow-wrap:anywhere}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin:35px 0}.contact-grid>div:last-child{grid-column:span 2}.contact-grid span{display:block;font-size:9px;letter-spacing:1.5px;color:#b7cabe;margin-bottom:8px}.contact-grid a,.contact-grid p{font-size:14px;line-height:1.7;margin:0}.button.light{background:#e6edda;color:#21382c}footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:25px 0;font-size:11px;color:var(--muted)}#toast{display:none;position:fixed;left:50%;bottom:24px;transform:translateX(-50%);padding:14px 22px;border-radius:8px;background:var(--ink);color:var(--surface);z-index:20;font-size:14px}body.dark{--bg:#111c21;--surface:#19272c;--ink:#ecf0e7;--muted:#a5b3b4;--line:#344347;--accent:#e6a17a;--soft:#233339;--deep:#204845}@media(min-width:1500px){main{padding:0 6%}.portrait-card{height:500px}}@media(max-width:1150px){aside{width:215px;padding:25px 18px}main{margin-left:215px;padding:0 4%}.intro-grid{gap:25px}.portrait-card{height:385px}h1{font-size:48px}.hero-actions{gap:16px}.section-label{display:none}.highlight-strip>div{padding:0 15px}.about-grid{gap:28px}.skills-grid article{padding:20px}.education-grid,.achievement-grid{gap:22px}.project{gap:25px}.project-art strong{font-size:38px}}@media(max-width:850px){aside{position:static;width:auto;border:0;border-bottom:1px solid var(--line);padding:18px 22px;display:grid;grid-template-columns:1fr auto;gap:14px;overflow:visible}.brand{display:none}.profile{display:grid;grid-template-columns:48px 1fr;text-align:left;gap:0 12px;padding:0}.avatar{width:45px;height:45px;grid-row:span 2;margin:0;border-width:2px}.profile h2{font-size:16px}.profile p{font-size:12px}.location{display:none}.aside-bottom{padding:0;margin:0;grid-column:2;grid-row:1}.resume-small{display:none}.utility{margin:4px 0}.utility>span{display:none}nav{grid-column:span 2;display:flex;overflow-x:auto;gap:4px}nav a{white-space:nowrap;font-size:12px;padding:8px 10px}nav a>span{display:none}main{margin:0;padding:0 25px}.intro-grid{grid-template-columns:1.2fr 1fr}h1{font-size:49px}.portrait-card{height:360px}.highlight-strip{margin-top:32px}section{padding:45px 0}.intro-section{padding-top:28px}.skills-grid{grid-template-columns:repeat(2,1fr)}.education-grid{grid-template-columns:1fr 1.1fr}.degree-symbol{font-size:60px}.statement{font-size:21px}.project-copy h3{font-size:23px}}@media(max-width:590px){main{padding:0 20px}header>span{font-size:8px;letter-spacing:1px}header a{font-size:12px}.intro-section>.eyebrow{font-size:9px}.intro-grid{grid-template-columns:1fr;gap:30px}h1{font-size:53px;letter-spacing:-2.5px}.lead{font-size:15px}.portrait-card{height:380px;max-width:360px;width:100%;margin:0 auto;border-radius:130px 130px 16px 16px}.hero-photo{object-position:50% 65%;transform:scale(1.2)}.highlight-strip{grid-template-columns:1fr;padding:0}.highlight-strip>div{padding:19px 22px;border:0;border-bottom:1px solid var(--line)}.highlight-strip strong{font-size:16px}.highlight-strip small,.highlight-strip a{font-size:12px}.about-grid,.education-grid,.achievement-grid,.project{grid-template-columns:1fr}.statement{font-size:23px}.section-head{margin-bottom:25px}h2{font-size:28px}.timeline article{grid-template-columns:80px 1fr}.degree-symbol{margin:25px 0}.award-card{min-height:300px}.certificate-row{flex-wrap:wrap;padding:16px}.certificate-row>span:last-child{margin-left:64px}.skills-grid{gap:10px}.skills-grid article{padding:17px}.skills-grid h3{font-size:14px}.skills-grid p{font-size:13px}.project{padding:15px}.project-copy{padding:8px}.project-art strong{font-size:48px}.testimonials-panel{gap:15px;flex-wrap:wrap}.quote{display:none}.coming{margin:0}.contact-panel{padding:27px 22px}.contact-grid{grid-template-columns:1fr}.contact-grid>div:last-child{grid-column:auto}.contact-email{font-size:16px}.toolbox{gap:16px}.toolbox>span{width:100%}footer{font-size:10px}footer>span>span{display:none}}
@keyframes enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.intro-grid{animation:enter .6s ease-out}.portrait-card{animation:enter .8s ease-out}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Premium motion and glass surfaces */
:root{--glass:rgba(255,255,252,.65);--glass-border:rgba(255,255,255,.9);--glow:rgba(129,180,158,.2)}body{background-image:radial-gradient(ellipse at 85% 5%,#dae7df80,transparent 40%),radial-gradient(ellipse at 30% 45%,#e4dbc540,transparent 50%);background-attachment:fixed}.brand{font:800 27px/1.2 Manrope;letter-spacing:-1.3px;display:inline-block;align-self:flex-start}.brand .brand-dot{margin-left:1px;color:var(--accent)}aside{background:var(--glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:3}header{position:relative}.cinematic-intro{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 60%,#214a46,#10272b 70%);color:#f6f5ec;pointer-events:none;animation:intro-exit .48s cubic-bezier(.76,0,.24,1) .85s forwards}.intro-brand{font:800 clamp(40px,8vw,88px)/1 Manrope;letter-spacing:-3px;animation:brand-arrive .65s cubic-bezier(.22,1,.36,1) both}.intro-brand span{color:#d8e4ba}.intro-rule{height:1px;width:95px;background:linear-gradient(90deg,transparent,#d9e7bf,transparent);margin-top:26px;transform-origin:center;animation:rule-arrive .7s ease-out both}.intro-grid{animation:hero-arrive .85s cubic-bezier(.22,1,.36,1) .85s both}.portrait-card{animation:hero-arrive 1s cubic-bezier(.22,1,.36,1) 1s both;box-shadow:12px 15px 0 #dce3d566,0 24px 60px -25px #163a3d70;border:1px solid #ffffff60}.headline-line{display:block;overflow:hidden;line-height:1.14}.headline-line>span{display:inline-block;animation:word-arrive .7s cubic-bezier(.22,1,.36,1) both;animation-delay:1s}.headline-line:first-child>span:nth-child(2){animation-delay:1.06s}.headline-line:first-child>span:nth-child(3){animation-delay:1.12s}.headline-line:nth-child(2)>span:first-child{animation-delay:1.18s}.headline-line:nth-child(2)>span:nth-child(2){animation-delay:1.24s}.headline-line:nth-child(3)>span:first-child{animation-delay:1.3s}.headline-line:nth-child(3)>span:nth-child(2){animation-delay:1.36s}.highlight-strip,.skills-grid article,.certificate-row,.project,.toolbox,.resume-small{background:var(--glass);border:1px solid var(--glass-border);box-shadow:0 7px 28px -18px #143d4040,inset 0 1px 0 #ffffff55;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.highlight-strip{border-radius:20px}.skills-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.skills-grid article{position:relative;overflow:hidden;min-height:195px;border-radius:20px;transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s,border-color .3s}.skills-grid article:first-child,.skills-grid article:last-child{grid-column:span 2}.skills-grid article:first-child{background:linear-gradient(130deg,#e0ebe6aa,#fffefa88)}.skills-grid article:last-child{background:linear-gradient(130deg,#eeeadcbb,#fffefa88)}.skills-grid article:before{content:'';position:absolute;inset:0;pointer-events:none;opacity:0;background:radial-gradient(350px circle at var(--pointer-x,50%) var(--pointer-y,50%),var(--glow),transparent 70%);transition:opacity .3s}.skills-grid article:hover:before{opacity:1}.skills-grid article:hover{transform:translateY(-6px);box-shadow:0 24px 45px -24px #17464366;border-color:#b5cabb}.skills-grid h3{font-size:17px}.skills-grid article:first-child h3,.skills-grid article:last-child h3{font-size:23px}.skills-grid p{max-width:320px}.button{position:relative;overflow:hidden;box-shadow:0 5px 15px #183b3b20;transition:transform .25s,background .25s,box-shadow .25s}.button:before{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 20%,#ffffff30 50%,transparent 80%);transform:translateX(-120%);transition:transform .6s}.button:hover:before{transform:translateX(120%)}.button:hover{transform:translateY(-3px);box-shadow:0 10px 28px -6px #578e7870}.button:active{transform:translateY(1px) scale(.97);box-shadow:0 2px 8px #183b3b20}.utility button,.utility>a,.resume-small{transition:transform .2s,box-shadow .2s}.utility button:hover,.utility>a:hover,.resume-small:hover{transform:translateY(-2px);box-shadow:0 5px 18px #456f4c20}.utility button:active,.utility>a:active,.resume-small:active{transform:scale(.95)}.degree-card,.award-card,.contact-panel{box-shadow:0 16px 45px -30px #173c3b88;border:1px solid #ffffff30}.degree-card,.contact-panel{background:radial-gradient(ellipse at 90% 0%,#355e50,var(--deep) 70%)}.project-art{background:radial-gradient(ellipse at 100% 0%,#537365,#203b40 65%)}.contact-panel{position:relative;overflow:hidden}.contact-panel:after{content:'';position:absolute;width:260px;height:260px;right:-160px;top:-90px;border:1px solid #d7e6c833;border-radius:50%;box-shadow:0 0 0 50px #d7e6c80a,0 0 0 100px #d7e6c805;pointer-events:none}.project{transition:transform .3s,box-shadow .3s}.project:hover{transform:translateY(-4px);box-shadow:0 22px 45px -24px #234e4a55}.motion-ready{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0ms)}.motion-ready.in-view{opacity:1;transform:translateY(0)}body.dark{--glass:rgba(29,46,50,.68);--glass-border:rgba(152,188,175,.17);--glow:rgba(141,196,167,.15);background-image:radial-gradient(ellipse at 85% 5%,#254d4540,transparent 50%)}body.dark .skills-grid article:first-child,body.dark .skills-grid article:last-child{background:linear-gradient(135deg,#29443d99,#19272caa)}body.dark .award-card{background:linear-gradient(135deg,#344b3e,#24392f);color:#e6edda}.scroll-progress{position:fixed;top:0;left:0;height:3px;width:100%;background:linear-gradient(90deg,#b65532,#8db292);transform:scaleX(0);transform-origin:left;z-index:30;pointer-events:none}@keyframes brand-arrive{from{opacity:0;transform:scale(.9) translateY(8px);filter:blur(5px)}to{opacity:1;transform:scale(1) translateY(0);filter:blur(0)}}@keyframes rule-arrive{from{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@keyframes intro-exit{to{opacity:0;visibility:hidden;transform:translateY(-12px)}}@keyframes hero-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes word-arrive{from{opacity:0;transform:translateY(105%)}to{opacity:1;transform:translateY(0)}}@media(max-width:850px){aside{grid-template-columns:1fr auto}.brand{display:block;grid-column:span 2;font-size:24px}.aside-bottom{grid-row:2}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skills-grid article:first-child,.skills-grid article:last-child{grid-column:span 1}.skills-grid article:first-child h3,.skills-grid article:last-child h3{font-size:17px}}@media(max-width:590px){.skills-grid{gap:12px}.skills-grid article{min-height:180px}.skills-grid article:first-child,.skills-grid article:last-child{grid-column:span 2}.skills-grid article:first-child h3,.skills-grid article:last-child h3{font-size:21px}.skills-grid h3{font-size:15px}.headline-line{line-height:1.15}}@media(prefers-reduced-motion:reduce){.cinematic-intro{display:none}.motion-ready{opacity:1;transform:none}.headline-line>span,.intro-grid,.portrait-card{opacity:1;transform:none}.skills-grid article:hover,.button:hover,.project:hover{transform:none}}
/* Quiet, structured navigation */
aside{width:252px;padding:30px 22px 22px;background:var(--bg);backdrop-filter:none;-webkit-backdrop-filter:none;border-right:1px solid var(--line);scrollbar-width:thin}main{margin-left:252px}.brand{font-size:25px;letter-spacing:-1px;margin-left:10px}.profile{padding:29px 0 28px}.profile h2{font-size:17px}.avatar{box-shadow:none;border-width:3px}.nav-caption{display:block;font-size:10px;letter-spacing:1.6px;color:var(--muted);padding:0 13px 12px}.navigation-content nav{display:flex;flex-direction:column;gap:6px;overflow:visible}.nav-link,.nav-disclosure{display:flex;align-items:center;gap:12px;width:100%;padding:12px 13px;border:0;border-radius:10px;background:transparent;color:var(--muted);text-align:left;font:500 14px 'DM Sans',sans-serif;line-height:1.35;cursor:pointer;transition:background .2s,color .2s}.navigation-content nav .nav-link>span{font:inherit;width:auto;text-align:left}.nav-link>svg,.nav-disclosure>svg{width:19px;height:19px;flex-shrink:0}.nav-disclosure>span:not(.chevron){flex:1}.chevron{display:flex;margin-left:auto;color:var(--muted);transition:transform .3s cubic-bezier(.22,1,.36,1)}.chevron svg{height:15px;width:15px}.nav-disclosure[aria-expanded="true"] .chevron{transform:rotate(180deg)}.nav-link:hover,.nav-disclosure:hover{background:var(--soft);color:var(--ink)}.navigation-content nav a.active,.nav-group.contains-active>.nav-disclosure{background:#e2eae4;color:#365f4a}.navigation-content nav a.active{font-weight:700}.nav-group.contains-active>.nav-disclosure .chevron{color:inherit}.submenu{display:grid;grid-template-rows:1fr;opacity:1;transition:grid-template-rows .3s cubic-bezier(.22,1,.36,1),opacity .25s ease}.navigation-enhanced .nav-group:not(.is-open)>.submenu{grid-template-rows:0fr;opacity:0}.submenu-clip{min-height:0;overflow:hidden}.submenu-links{padding:6px 0 5px 32px;display:grid;gap:3px}.navigation-content nav .submenu a{display:flex;align-items:center;position:relative;padding:10px 13px;font-size:13px;font-weight:400;line-height:1.4;border-radius:8px;color:var(--muted);white-space:normal}.navigation-content nav .submenu a:before{content:'';width:4px;height:4px;background:currentColor;opacity:.4;border-radius:50%;margin-right:11px;flex-shrink:0}.navigation-content nav .submenu a.active{font-weight:600;color:#365f4a}.navigation-content nav .submenu a.active:before{opacity:1}.aside-bottom{padding:22px 9px 0}.resume-small{background:transparent;box-shadow:none;backdrop-filter:none;border:0;border-top:1px solid var(--line);border-radius:0;padding:18px 0 6px;font-size:12px}.resume-small:hover{box-shadow:none;transform:none;color:var(--accent);border-color:var(--line)}.utility button,.utility>a{border:0;background:var(--soft)}.utility button:hover,.utility>a:hover{box-shadow:none;transform:none;color:var(--accent)}.mobile-nav-toggle{display:none}.cinematic-intro{background:radial-gradient(ellipse at 50% 45%,#24463f,#122b2d 75%);animation-delay:1.1s;animation-duration:.45s}.intro-brand{font-size:clamp(42px,7vw,76px);letter-spacing:-2.5px}.intro-progress{width:clamp(210px,30vw,320px);margin-top:33px}.intro-progress-track{height:2px;background:#d4e4d526;overflow:hidden}.intro-progress-track>span{display:block;height:100%;width:100%;background:linear-gradient(90deg,#9eb4a5,#e6ecd7);transform-origin:left;animation:intro-progress-fill 1.05s cubic-bezier(.22,.7,.3,1) both}.intro-progress-caption{display:flex;justify-content:space-between;gap:15px;margin-top:13px;font-size:9px;letter-spacing:1.3px;color:#b9ccc3;animation:brand-arrive .6s ease .15s both}.intro-grid{animation-delay:1.15s}.portrait-card{animation-delay:1.25s}.headline-line>span{animation-delay:1.2s}.headline-line:first-child>span:nth-child(2){animation-delay:1.25s}.headline-line:first-child>span:nth-child(3){animation-delay:1.3s}.headline-line:nth-child(2)>span:first-child{animation-delay:1.35s}.headline-line:nth-child(2)>span:nth-child(2){animation-delay:1.4s}.headline-line:nth-child(3)>span:first-child{animation-delay:1.45s}.headline-line:nth-child(3)>span:nth-child(2){animation-delay:1.5s}.scroll-progress{height:2px;background:#769887}body.dark .navigation-content nav a.active,body.dark .nav-group.contains-active>.nav-disclosure{background:#293e36;color:#c3d9c8}body.dark .navigation-content nav .submenu a.active{color:#c3d9c8}@keyframes intro-progress-fill{0%{transform:scaleX(0);opacity:.5}65%{transform:scaleX(.8);opacity:1}100%{transform:scaleX(1)}}@media(max-width:1150px){aside{width:230px;padding:26px 17px}main{margin-left:230px}}@media(max-width:850px){html{scroll-padding-top:170px}aside{position:sticky;top:0;width:100%;max-height:85dvh;overflow-y:auto;border-right:0;border-bottom:1px solid var(--line);padding:16px 20px;display:grid;grid-template-columns:1fr auto;gap:12px;z-index:10}.brand{margin:0;grid-column:1;grid-row:1;font-size:23px}.mobile-nav-toggle{display:flex;align-items:center;justify-content:center;gap:10px;grid-column:2;grid-row:1;border:0;background:var(--soft);color:var(--ink);padding:10px 13px;border-radius:8px;font:500 12px 'DM Sans';min-height:40px}.mobile-nav-toggle svg{width:16px;height:16px;transition:transform .3s}.mobile-nav-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}.profile{padding:0;grid-column:1;grid-row:2;grid-template-columns:38px 1fr;align-items:center;gap:0 10px}.avatar{width:36px;height:36px;margin:0}.profile h2{font-size:13px}.profile p{font-size:11px}.aside-bottom{grid-column:2;grid-row:2;padding:0}.utility{gap:6px}.utility button,.utility>a{height:28px;width:28px;font-size:14px}.navigation-shell{grid-column:span 2;display:grid;grid-template-rows:1fr;opacity:1;transition:grid-template-rows .32s cubic-bezier(.22,1,.36,1),opacity .25s}.navigation-enhanced .navigation-shell:not(.mobile-open){grid-template-rows:0fr;opacity:0;pointer-events:none}.navigation-content{min-height:0;overflow:hidden}.nav-caption{padding-top:8px}.navigation-content nav{display:flex;flex-direction:column;gap:4px;padding-bottom:4px}.navigation-content nav a{flex:none}.nav-link,.nav-disclosure{min-height:44px;font-size:14px;padding:12px 14px}.navigation-content nav .nav-link>span{display:block}.nav-link>svg,.nav-disclosure>svg{display:block;width:19px;height:19px}.navigation-content nav .submenu a{min-height:42px;font-size:13px}.submenu-links{padding-left:33px}main{margin-left:0}.resume-small{display:none}}@media(prefers-reduced-motion:reduce){.cinematic-intro{display:none}.submenu,.navigation-shell,.chevron,.mobile-nav-toggle svg{transition:none}.intro-grid,.portrait-card,.headline-line>span{animation:none;opacity:1;transform:none}}
/* Portrait motion: independent transform layers preserve the opening reveal. */
.portrait-card{--portrait-rx:0deg;--portrait-ry:0deg;--portrait-px:0px;--portrait-py:0px;transform-style:preserve-3d;animation:portrait-float 7s ease-in-out 2.3s infinite;transition:rotate .5s ease,box-shadow .5s;will-change:translate;isolation:isolate}.portrait-card .hero-photo{transform:scale(1.16) translate(var(--portrait-px),var(--portrait-py));transition:transform .7s cubic-bezier(.22,1,.36,1);animation:portrait-breathe 11s ease-in-out 2.3s infinite}.portrait-card:before{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;background:radial-gradient(ellipse at var(--portrait-light-x,50%) var(--portrait-light-y,35%),#fffde62b,transparent 62%);transition:opacity .45s}.portrait-card .portrait-caption{transition:translate .5s ease;text-shadow:0 2px 15px #0005}.portrait-card .portrait-corner{transition:translate .5s ease}.portrait-card.portrait-interacting{animation-play-state:paused;box-shadow:12px 15px 0 #dce3d566,0 30px 65px -23px #163a3d85}.portrait-card.portrait-interacting:before{opacity:1}.portrait-card.portrait-interacting .portrait-caption{translate:0 -4px}.portrait-card.portrait-interacting .portrait-corner{translate:0 3px}@keyframes portrait-float{0%,100%{translate:0 0;rotate:-.65deg}50%{translate:0 -9px;rotate:.65deg}}@keyframes portrait-breathe{0%,100%{scale:1}50%{scale:1.035}}@media(hover:hover) and (pointer:fine){.portrait-card.portrait-interacting{transform:perspective(1100px) rotateX(var(--portrait-tilt-x,0deg)) rotateY(var(--portrait-tilt-y,0deg));animation-play-state:paused;transition:transform .22s ease-out,box-shadow .5s}.portrait-card{transition:transform .6s cubic-bezier(.22,1,.36,1),box-shadow .5s}}@media(max-width:590px){.portrait-card .hero-photo{transform:scale(1.2)}}@media(prefers-reduced-motion:reduce){.portrait-card,.portrait-card.portrait-interacting,.portrait-card .hero-photo{animation:none!important;translate:none;rotate:none;scale:1;will-change:auto}.portrait-card.portrait-interacting{transform:none}.portrait-card .hero-photo{transform:scale(1.16);transition:none}.portrait-card:before{display:none}.portrait-card.portrait-interacting .portrait-caption,.portrait-card.portrait-interacting .portrait-corner{translate:none}}
.crm-project{margin-bottom:25px;padding:28px;border:1px solid var(--glass-border);border-radius:20px;background:var(--glass);box-shadow:0 12px 35px -25px #163a3d55;overflow:hidden}.crm-heading{display:flex;align-items:center;justify-content:space-between;gap:22px}.crm-heading h3{font:700 clamp(24px,2.5vw,32px)/1.3 Manrope;letter-spacing:-1px;margin-top:9px}.crm-heading .button{flex-shrink:0}.crm-description{font-size:15px;line-height:1.8;color:var(--muted);max-width:740px;margin:20px 0}.crm-gallery{margin-top:25px}.crm-gallery figure{margin:0}.crm-image-window{position:relative;width:100%;aspect-ratio:1366/580;overflow:hidden;border:1px solid var(--line);border-radius:13px;background:#f7f8fa}.crm-image-window img{display:block;width:100%;height:auto;position:absolute;top:-14%;left:0;transition:opacity .18s ease}.crm-gallery figcaption{font-size:12px;line-height:1.6;color:var(--muted);padding:13px 0;min-height:44px}.crm-views{display:flex;gap:8px;flex-wrap:wrap}.crm-view{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--muted);padding:11px 14px;font:500 13px 'DM Sans';transition:background .2s,color .2s,border-color .2s}.crm-view>span{font-size:10px;opacity:.7}.crm-view:hover{background:var(--soft);color:var(--ink)}.crm-view.selected{background:var(--deep);color:#f7f8f0;border-color:var(--deep)}.crm-features{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:25px;padding-top:24px;border-top:1px solid var(--line)}.crm-features span{font-size:10px;letter-spacing:1.4px;color:var(--accent)}.crm-features p{font-size:13px;line-height:1.7;color:var(--muted);margin:8px 0 0}.crm-announcement{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(max-width:590px){.crm-project{padding:18px}.crm-heading{flex-direction:column;align-items:flex-start;gap:15px}.crm-heading h3{font-size:26px}.crm-features{grid-template-columns:1fr;gap:15px}.crm-view{font-size:12px;padding:10px}.crm-description{font-size:14px}}@media(prefers-reduced-motion:reduce){.crm-image-window img{transition:none}}
.project-overline{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:24px;font-size:10px;letter-spacing:1.5px;color:var(--muted)}.crm-project{padding:32px;margin-bottom:32px;border-color:var(--line);box-shadow:0 12px 35px -27px #163a3d40;transition:border-color .3s,box-shadow .3s,opacity .65s,transform .65s}.crm-project:hover{border-color:#afc4b7;box-shadow:0 20px 40px -30px #163a3d60}.crm-project.excel-project{background:linear-gradient(130deg,var(--surface),var(--glass))}.crm-project .crm-image-window{border-radius:12px;box-shadow:0 8px 25px -20px #15273f70}.crm-project .crm-views{padding:5px;background:var(--soft);border-radius:12px;display:inline-flex;gap:4px;max-width:100%}.crm-project .crm-view{border-color:transparent;border-radius:8px;min-height:43px;padding:11px 15px;transition:background .25s,color .25s,box-shadow .25s,transform .2s}.crm-project .crm-view.selected{background:var(--surface);color:var(--ink);box-shadow:0 2px 6px #15273f0d}.crm-project .crm-view:active{transform:scale(.97)}.crm-project .crm-view.selected>span{color:var(--accent);opacity:1}.crm-project .crm-heading h3{font-weight:800}.crm-project .crm-features{gap:20px}.crm-project .crm-features>div{padding-right:16px;border-right:1px solid var(--line)}.crm-project .crm-features>div:last-child{border:0}.crm-project .language-row span{background:var(--surface);font-size:12px}.crm-gallery figcaption{font-size:13px;padding:15px 0;min-height:50px}@media(max-width:590px){.crm-project{padding:18px}.project-overline{font-size:9px;letter-spacing:1px;margin-bottom:20px}.crm-project .crm-views{display:flex;width:100%;flex-wrap:wrap}.crm-project .crm-view{font-size:12px;padding:10px 11px;flex:1;justify-content:center;white-space:nowrap}.crm-project .crm-features>div{border-right:0;padding-right:0}.crm-gallery figcaption{font-size:12px}}@media(prefers-reduced-motion:reduce){.crm-project,.crm-project .crm-view{transition:none}}
/* Three compact project cards, with detail on demand. */
.project-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;align-items:start;margin-bottom:25px}.project-card-grid .crm-project{min-width:0;padding:17px;margin:0;border-radius:16px;display:flex;flex-direction:column;box-shadow:0 8px 25px -22px #163a3d40}.project-card-grid .project-overline{font-size:9px;letter-spacing:.7px;padding-bottom:12px;margin-bottom:14px;gap:8px}.project-card-grid .crm-gallery{margin:0 0 19px}.project-card-grid .crm-image-window{border-radius:8px}.project-card-grid .crm-gallery figcaption{font-size:11px;line-height:1.5;padding:10px 0;min-height:50px}.project-card-grid .crm-views{display:flex;padding:3px;gap:2px;width:100%;flex-wrap:nowrap}.project-card-grid .crm-view{min-width:0;min-height:36px;justify-content:center;padding:7px 5px;flex:1;font-size:11px;white-space:normal;line-height:1.4}.project-card-grid .crm-heading{display:block}.project-card-grid .crm-heading .eyebrow{font-size:9px;letter-spacing:1px}.project-card-grid .crm-heading h3{font-size:21px;line-height:1.3;letter-spacing:-.6px;min-height:55px;margin:7px 0 0}.project-card-grid .crm-description{font-size:14px;line-height:1.65;margin:12px 0 15px;min-height:93px}.project-card-grid .language-row{gap:5px;min-height:54px;align-content:start}.project-card-grid .language-row span{padding:5px 7px;font-size:10px;line-height:1.4}.project-details{margin-top:15px;border-top:1px solid var(--line);padding-top:12px}.project-details summary{display:flex;justify-content:space-between;align-items:center;gap:10px;cursor:pointer;font-size:12px;font-weight:500;list-style:none;color:var(--muted);min-height:32px}.project-details summary::-webkit-details-marker{display:none}.project-details summary span{font-size:19px;transition:transform .25s}.project-details[open] summary span{transform:rotate(45deg)}.project-card-grid .crm-features{display:grid;grid-template-columns:1fr;padding:10px 0 0;margin:0;border:0;gap:12px;animation:enter .25s ease}.project-card-grid .crm-features>div{padding:0;border:0}.project-card-grid .crm-features span{font-size:9px}.project-card-grid .crm-features p{font-size:12px;margin-top:4px}.project-card-grid .crm-project>.button{margin-top:15px;justify-content:space-between;width:100%;font-size:12px;padding:12px 14px;min-height:43px}.portfolio-secondary{padding:18px;grid-template-columns:140px 1fr;gap:22px}.portfolio-secondary .project-art{padding:16px}.portfolio-secondary .project-art strong{font-size:22px;margin:13px 0}.portfolio-secondary .project-art>span,.portfolio-secondary .project-art small{font-size:7px;letter-spacing:.5px}.portfolio-secondary .project-copy h3{font-size:20px;margin:6px 0}.portfolio-secondary .project-copy p{margin:7px 0;font-size:13px}.portfolio-secondary .project-copy .text-link{margin-top:10px}.portfolio-secondary .language-row{display:none}@media(max-width:1100px) and (min-width:851px){.project-card-grid{gap:10px}.project-card-grid .crm-project{padding:12px}.project-card-grid .project-overline{flex-direction:column;gap:4px}.project-card-grid .crm-heading h3{font-size:19px;min-height:75px}.project-card-grid .crm-view{font-size:10px}.project-card-grid .crm-description{min-height:145px}}@media(max-width:850px){.project-card-grid{gap:12px}.project-card-grid .crm-project{padding:14px}.project-card-grid .project-overline{flex-direction:column;gap:4px}}@media(max-width:680px){.project-card-grid{grid-template-columns:1fr}.project-card-grid .crm-project{padding:20px}.project-card-grid .project-overline{flex-direction:row}.project-card-grid .crm-heading h3{font-size:24px;min-height:0}.project-card-grid .crm-description{min-height:0;font-size:14px}.project-card-grid .language-row{min-height:0}.project-card-grid .crm-view{font-size:12px;min-height:42px}.project-card-grid .crm-gallery figcaption{min-height:0;font-size:12px}.portfolio-secondary{grid-template-columns:1fr}.portfolio-secondary .project-art{display:none}}@media(prefers-reduced-motion:reduce){.project-card-grid .crm-features{animation:none}}
/* Consistent utility icons and a restrained download interaction. */
.utility{gap:8px}.utility button,.utility>a{width:34px;height:34px;padding:8px;border-radius:10px;background:transparent;color:var(--muted);display:grid;place-items:center;position:relative;transition:background .2s,color .2s,transform .2s}.utility svg{display:block;width:18px;height:18px}.utility button:hover,.utility>a:hover{background:var(--soft);color:var(--ink);transform:translateY(-2px)}.utility button:active,.utility>a:active{transform:scale(.94)}#theme .icon-sun{display:none}body.dark #theme .icon-sun{display:block}body.dark #theme .icon-moon{display:none}#theme:hover svg{rotate:12deg;transition:rotate .3s}.resume-small{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px;padding:13px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);position:relative;overflow:hidden;transition:background .25s,border-color .25s,transform .25s}.resume-small>span{position:relative;z-index:1}.resume-small .download-icon{width:18px;height:18px;flex-shrink:0;position:relative;z-index:1}.resume-small:before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,#b4cfbc40 50%,transparent 80%);transform:translateX(-120%);transition:transform .65s}.resume-small:hover,.resume-small:focus-visible{background:var(--surface);border-color:#9fbaa9;transform:translateY(-2px);color:var(--ink)}.resume-small:hover:before,.resume-small:focus-visible:before{transform:translateX(120%)}.resume-small:hover .download-icon,.resume-small:focus-visible .download-icon{animation:download-nudge .75s ease-in-out 2}.resume-small:active{transform:translateY(0) scale(.98)}@keyframes download-nudge{0%,100%{translate:0 0}45%{translate:0 3px}}@media(max-width:850px){.resume-small{display:none}.utility button,.utility>a{width:32px;height:32px;padding:7px}}@media(prefers-reduced-motion:reduce){.resume-small,.resume-small:before,.utility button,.utility>a,#theme svg{transition:none}.resume-small:hover,.resume-small:focus-visible,.utility button:hover,.utility>a:hover{transform:none}.resume-small .download-icon{animation:none!important}}
.feedback-panel{display:grid;grid-template-columns:1.35fr 1fr;gap:40px;align-items:center;padding:32px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(125deg,var(--surface),var(--glass));box-shadow:none}.feedback-panel h2{font-size:clamp(25px,2.7vw,35px);line-height:1.25;margin:12px 0 14px}.feedback-panel .feedback-intro>p{font-size:15px;line-height:1.8;max-width:400px;margin:0 0 23px}.feedback-panel .button svg{width:17px;height:17px;transition:translate .25s}.feedback-panel .button:hover svg{translate:2px -2px}.feedback-note{border-left:1px solid var(--line);padding-left:32px}.feedback-note>svg{width:34px;height:34px;color:var(--accent);margin-bottom:18px}.feedback-note h3{font-size:17px}.feedback-note p{font-size:14px;line-height:1.8;margin:10px 0 18px}.feedback-note>span{font-size:11px;color:var(--muted)}@media(max-width:680px){.feedback-panel{grid-template-columns:1fr;gap:25px;padding:23px}.feedback-note{border-left:0;border-top:1px solid var(--line);padding:22px 0 0}.feedback-panel h2{font-size:28px}}@media(prefers-reduced-motion:reduce){.feedback-panel .button svg{transition:none;translate:none!important}}
#open-feedback{border:0;font-family:inherit;cursor:pointer}#feedback-dialog{width:min(560px,calc(100% - 32px));max-height:85dvh;overflow:auto;padding:28px;border:1px solid var(--line);border-radius:20px;background:var(--surface);color:var(--ink);box-shadow:0 24px 80px #0003}#feedback-dialog::backdrop{background:#10292b99;backdrop-filter:blur(5px)}#feedback-dialog[open]{animation:enter .25s ease}.feedback-dialog-top{display:flex;gap:20px;align-items:start;justify-content:space-between}.feedback-dialog-top h2{font-size:28px;letter-spacing:-1px;margin:10px 0}#close-feedback{width:36px;height:36px;flex-shrink:0;border:0;border-radius:50%;background:var(--soft);color:var(--ink);font-size:24px;cursor:pointer}.feedback-help{color:var(--muted);font-size:14px;line-height:1.7}#feedback-form label{display:block;font-size:14px;font-weight:600;margin:20px 0 8px}#feedback-form input,#feedback-form textarea{box-sizing:border-box;width:100%;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--ink);font:16px/1.6 'DM Sans',sans-serif;padding:11px 13px}#feedback-form textarea{resize:vertical}#feedback-form input:focus,#feedback-form textarea:focus{outline:2px solid var(--accent);outline-offset:2px}.feedback-recipient{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.feedback-form-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.feedback-form-actions .button{border:0;font-family:inherit}#copy-feedback{padding:12px 17px;background:var(--soft);border:1px solid var(--line);border-radius:8px;color:var(--ink);font-size:13px}#feedback-status{font-size:13px;line-height:1.6;color:var(--muted);margin:15px 0 0}body:has(#feedback-dialog[open]){overflow:hidden}@media(max-width:590px){#feedback-dialog{padding:22px}.feedback-dialog-top h2{font-size:24px}}@media(prefers-reduced-motion:reduce){#feedback-dialog[open]{animation:none}}
/* Integrated navigation and scrollable surfaces without native white tracks. */
aside,#feedback-dialog,.navigation-content nav,.submenu-clip{scrollbar-width:none;-ms-overflow-style:none}aside::-webkit-scrollbar,#feedback-dialog::-webkit-scrollbar,.navigation-content nav::-webkit-scrollbar,.submenu-clip::-webkit-scrollbar{display:none;width:0;height:0}aside,#feedback-dialog{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}aside{background:linear-gradient(180deg,var(--bg),var(--surface));border-right:1px solid color-mix(in srgb,var(--line) 65%,transparent);padding:30px 20px 24px;box-shadow:none}.brand{margin-left:12px}.profile{padding:29px 5px 27px}.profile h2{font-weight:700;letter-spacing:-.3px}.profile p{line-height:1.6}.location{margin-top:9px}.navigation-content nav{gap:5px}.nav-caption{font-size:10px;letter-spacing:1.6px;padding:0 14px 13px}.navigation-content nav .nav-link,.nav-disclosure{padding:12px 14px;border-radius:11px;gap:12px;font-size:14px;line-height:1.45;font-weight:500;transition:background .2s,color .2s}.nav-link>svg,.nav-disclosure>svg{width:18px;height:18px}.navigation-content nav .nav-link:hover,.nav-disclosure:hover{background:color-mix(in srgb,var(--soft) 75%,transparent);color:var(--ink)}.navigation-content nav a.active,.nav-group.contains-active>.nav-disclosure{background:#e4ece6;color:#355b48}.navigation-content nav .submenu a{padding:10px 12px;border-radius:9px;font-size:13px;line-height:1.5}.submenu-links{padding:6px 2px 6px 32px;gap:4px}.navigation-content nav .submenu a.active{background:#e4ece6;color:#355b48}.navigation-content nav .submenu a:before{width:3px;height:3px}.nav-disclosure .chevron{opacity:.7}.aside-bottom{padding:23px 10px 0}.utility{padding-top:2px}.utility button,.utility>a{border-radius:9px}.resume-small{border-color:color-mix(in srgb,var(--line) 75%,transparent);background:color-mix(in srgb,var(--surface) 80%,transparent)}#feedback-dialog{border:1px solid color-mix(in srgb,var(--line) 80%,transparent);border-radius:22px;padding:30px;max-height:calc(100dvh - 48px);overflow-y:auto;box-shadow:0 24px 80px #0003;background:var(--surface);color-scheme:light}#feedback-form textarea{scrollbar-width:thin;scrollbar-color:#82938b transparent}#feedback-form textarea::-webkit-scrollbar{width:5px}#feedback-form textarea::-webkit-scrollbar-track{background:transparent}#feedback-form textarea::-webkit-scrollbar-thumb{background:#82938b;border-radius:9px}#feedback-form textarea::-webkit-scrollbar-corner{background:transparent}#feedback-form textarea::-webkit-scrollbar-button{display:none}#feedback-form input,#feedback-form textarea{border-radius:11px}.feedback-dialog-top{gap:20px}#close-feedback{transition:background .2s,color .2s}#close-feedback:hover{background:var(--line);color:var(--ink)}body.dark aside{background:linear-gradient(180deg,#142329,#17282d);border-right-color:#2b3d4180}body.dark .navigation-content nav a.active,body.dark .nav-group.contains-active>.nav-disclosure,body.dark .navigation-content nav .submenu a.active{background:#294039;color:#c9ded1}body.dark #feedback-dialog{color-scheme:dark;background:#1a2b30;border-color:#34474c}body.dark #feedback-form textarea{scrollbar-color:#526b64 transparent}body.dark #feedback-form textarea::-webkit-scrollbar-thumb{background:#526b64}@media(max-width:850px){aside{padding:16px 20px;max-height:85dvh;border-right:0;border-bottom:1px solid var(--line)}.brand{margin-left:0}.profile{padding:0}.profile h2{font-size:13px}.profile p{font-size:11px}.aside-bottom{padding:0}.nav-caption{padding-top:9px}.navigation-content nav .nav-link,.nav-disclosure{min-height:44px}.navigation-content nav .submenu a{min-height:42px}body.dark aside{border-right:0;border-bottom-color:#2b3d4180}}@media(max-width:590px){#feedback-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:23px;border-radius:18px}}@media(prefers-reduced-motion:reduce){.navigation-content nav .nav-link,.nav-disclosure,#close-feedback{transition:none}}
/* Slim sidebar scrollbar; the modal retains its hidden track. */
aside{--sidebar-thumb:#91a39a;--sidebar-thumb-hover:#657f71;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--sidebar-thumb) transparent;-ms-overflow-style:auto}aside::-webkit-scrollbar{display:block;width:6px;height:6px}aside::-webkit-scrollbar-track{background:transparent;border-radius:20px;margin-block:14px}aside::-webkit-scrollbar-thumb{background:var(--sidebar-thumb);border-radius:20px;border:1px solid transparent;background-clip:padding-box;min-height:44px}aside::-webkit-scrollbar-thumb:hover{background:var(--sidebar-thumb-hover);background-clip:padding-box}aside::-webkit-scrollbar-button{display:none;width:0;height:0}aside::-webkit-scrollbar-corner{background:transparent}body.dark aside{--sidebar-thumb:#415c53;--sidebar-thumb-hover:#6b8d7d;color-scheme:dark}
