:root{--bg:#f4f6f9;--tile:#ffffffe6;--tile-strong:#fff;--line:#dfe5ec;--line-strong:#cbd5e1;--accent:tomato;--accent-dark:#d94a32;--accent-soft:#fff0ed;--success:#18794e;--text:#101827;--text-soft:#4c596b;--text-faint:#718096;--radius:1.75rem;--shadow:0 18px 48px #0f172a12;--font-main:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100%;color:var(--text);background:radial-gradient(circle at 8% -2%,#ff634721,transparent 31rem),radial-gradient(circle at 95% 65%,#ff63471a,transparent 28rem),linear-gradient(180deg,#fafbfc 0%,var(--bg)100%);font-family:var(--font-main);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.55}body:has(dialog[open]){overflow:hidden}img,svg{display:block}a{color:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid color-mix(in srgb,var(--accent)72%,white);outline-offset:3px}.skip-link{z-index:100;color:#fff;background:var(--accent-dark);border-radius:.75rem;padding:.65rem .9rem;font-weight:700;position:fixed;top:.75rem;left:.75rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:10;width:min(1200px,100% - 2rem);margin:1rem auto 0;position:relative}.site-header-inner{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffc;border:1px solid #dfe5ece6;border-radius:1.25rem;justify-content:space-between;align-items:center;gap:1rem;min-height:3.75rem;padding:.55rem .7rem .55rem 1rem;display:flex;box-shadow:0 8px 26px #0f172a0d}.wordmark{letter-spacing:-.04em;align-items:baseline;font-size:1.05rem;font-weight:850;text-decoration:none;display:inline-flex}.wordmark span{color:var(--accent)}.site-header ul{align-items:center;gap:.2rem;margin:0;padding:0;list-style:none;display:flex}.header-actions{align-items:center;gap:.45rem;min-width:0;display:flex}.language-switch{border-left:1px solid var(--line);color:var(--text-faint);flex:none;align-items:center;gap:.25rem;padding-left:.45rem;display:flex}.site-header .language-switch a{min-height:2.25rem;padding:.35rem;position:relative}.site-header .language-switch a[aria-current=page]{box-shadow:none;background:0 0}.site-header .language-switch a[aria-current=page]:after{background:var(--accent);content:"";border-radius:999px;height:2px;position:absolute;bottom:.12rem;left:.35rem;right:.35rem}.language-switch-flag{object-fit:cover;border:1px solid #0f172a24;border-radius:.18rem;width:1.65rem;height:1.05rem;display:block;box-shadow:0 1px 3px #0f172a1f}.site-header nav a{min-height:2.5rem;color:var(--text-soft);border-radius:.75rem;align-items:center;padding:.45rem .78rem;font-size:.88rem;font-weight:700;text-decoration:none;display:inline-flex}.site-header nav a:hover{color:var(--text);background:var(--accent-soft)}.page{width:min(1200px,100% - 2rem);margin:1rem auto 3.5rem}.bento-grid{grid-template-columns:repeat(12,minmax(0,1fr));grid-template-areas:"hero hero hero hero hero hero hero hero impact impact impact impact""experience experience experience experience experience experience experience experience leadership leadership leadership leadership""experience experience experience experience experience experience experience experience expertise expertise expertise expertise""projects projects projects projects projects projects projects projects projects projects projects projects""education education education education languages languages languages contact contact contact contact contact""github github github github github github github github github github github github";align-items:stretch;gap:1rem;display:grid}.tile{border:1px solid var(--line);border-radius:var(--radius);background:var(--tile);min-width:0;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:1.45rem;animation:.45s both rise}.tile h1,.tile h2,.tile h3,.detail-page h1,.cv-page h1,.cv-page h2,.cv-page h3{color:var(--text);letter-spacing:-.03em;margin-top:0;line-height:1.1}.tile h2{margin-bottom:1rem;font-size:clamp(1.25rem,2vw,1.55rem)}.tile h3{margin-bottom:.3rem;font-size:1.05rem}.tile p{color:var(--text-soft);margin:.55rem 0}.eyebrow,.section-kicker{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:700;line-height:1.3;color:var(--accent)!important;margin:0 0 .45rem!important}.tile-hero{background:radial-gradient(circle at 90% 8%,#ff63471f,#0000 17rem),linear-gradient(145deg,#fff 0%,#fff8f6 100%);grid-area:hero}.hero-layout{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:1.2rem;display:grid}.profile-avatar{object-fit:cover;width:112px;height:112px;box-shadow:0 0 0 1px var(--line),0 12px 28px #0f172a26;border:3px solid #fff;border-radius:50%}.tile-hero h1{letter-spacing:-.055em;margin-bottom:.25rem;font-size:clamp(2.2rem,5vw,4.6rem)}.hero-subtitle{font-family:var(--font-mono);font-size:.83rem;font-weight:600;color:var(--text)!important;margin:.15rem 0 .65rem!important}.hero-summary{max-width:48rem;font-size:1.05rem}.hero-facts{color:var(--text-soft);flex-direction:column;gap:.65rem 1.1rem;margin-top:.9rem;font-size:.86rem;font-weight:650;display:flex}.hero-facts span{align-items:center;gap:.35rem;display:inline-flex}.hero-facts svg{width:1rem;height:1rem;color:var(--accent);flex:0 0 1rem}.availability i{flex:0 0 1rem;width:1rem;height:1rem;position:relative}.availability i:before{content:"";background:#26a269;border-radius:50%;width:.55rem;height:.55rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 4px #26a2691f}.button-row,.contact-actions{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:1.15rem;display:flex}.button{border:1px solid var(--line-strong);min-height:2.75rem;color:var(--text);cursor:pointer;background:#fff;border-radius:.85rem;justify-content:center;align-items:center;gap:.4rem;padding:.55rem .95rem;font-family:inherit;font-size:.88rem;font-weight:750;text-decoration:none;transition:transform .15s,border-color .15s,background .15s;display:inline-flex}.button:hover{border-color:color-mix(in srgb,var(--accent)45%,var(--line));background:var(--accent-soft);transform:translateY(-1px)}.button:disabled{cursor:wait;opacity:.7;transform:none}.button-primary{border-color:var(--accent);color:#fff;background:var(--accent)}.button-primary:hover{border-color:var(--accent-dark);color:#fff;background:var(--accent-dark)}.profile-links{flex-wrap:wrap;gap:.9rem;margin-top:1rem;display:flex}.profile-links a,.text-link{color:var(--text-soft);align-items:center;gap:.35rem;font-size:.85rem;font-weight:700;text-decoration:none;display:inline-flex}.profile-links a:hover,.text-link:hover{color:var(--accent)}.profile-links svg,.text-link svg{width:1rem;height:1rem}.tile-impact{color:#fff;background:linear-gradient(145deg,#111b2d 0%,#1a2a45 100%);border-color:#263853;grid-area:impact}.tile-impact h2,.tile-impact .section-kicker{color:#fff!important}.impact-list,.compact-list,.detail-list{margin:0;padding:0;list-style:none}.impact-list{gap:.9rem;display:grid}.impact-list li{color:#ecf2ff;border-bottom:1px solid #ffffff26;padding:0 0 .9rem;font-size:.92rem;font-weight:650;line-height:1.45}.impact-list li:last-child{border-bottom:0;padding-bottom:0}.tile-experience{grid-area:experience}.section-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.section-heading h2{margin-bottom:0}.experience-list{margin-top:1.1rem}.experience-item{border-top:1px solid var(--line);padding:1rem 0}.experience-item:first-child{border-top:0;padding-top:0}.experience-head{align-items:center;gap:.8rem;display:flex}.experience-logo{border:1px solid var(--line);object-fit:contain;background:#fff;border-radius:.85rem;flex:0 0 56px;width:56px;height:56px}.experience-head-text h3{margin:0;font-size:1.06rem;line-height:1.2}.experience-head-text h3 a{text-decoration:none}.experience-head-text h3 a:hover{color:var(--accent)}.meta{font-size:.8rem;font-weight:600;color:var(--text-faint)!important;margin:.15rem 0 0!important}.experience-summary{font-size:.9rem;margin:.65rem 0!important}.experience-modal-trigger{min-height:2.5rem;color:var(--accent-dark);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;font-size:.82rem;font-weight:750}.experience-modal-trigger:hover{color:var(--accent);text-underline-offset:.22rem;text-decoration:underline}.experience-dialog{border:1px solid var(--line);width:min(760px,100% - 2rem);max-height:min(84vh,760px);color:var(--text);background:var(--tile-strong);border-radius:1.5rem;margin:auto;padding:0;overflow:visible;box-shadow:0 28px 80px #0f172a47}.experience-dialog::backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#0a121f94}.experience-dialog-panel{overscroll-behavior:contain;max-height:min(84vh,760px);padding:1.35rem;overflow-y:auto}.experience-dialog-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:1rem;display:flex}.experience-dialog-header h2{letter-spacing:-.035em;margin:0;font-size:clamp(1.35rem,4vw,1.85rem);line-height:1.15}.experience-dialog-close{border:1px solid var(--line);width:2.75rem;height:2.75rem;color:var(--text);cursor:pointer;background:#f8fafc;border-radius:50%;flex:0 0 2.75rem;place-items:center;padding:0;display:inline-grid}.experience-dialog-close:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent)40%,var(--line));background:var(--accent-soft)}.experience-dialog-close svg{width:1.25rem;height:1.25rem}.experience-dialog-intro{color:var(--text-soft);margin:1rem 0!important}.experience-dialog-list{margin:1rem 0}.experience-company-link{margin-top:1rem}.detail-list{gap:.52rem;margin:.35rem 0 .8rem;display:grid}.detail-list li,.compact-list li{color:var(--text-soft);padding-left:1rem;font-size:.88rem;line-height:1.5;position:relative}.detail-list li:before,.compact-list li:before{background:var(--accent);content:"";border-radius:50%;width:.34rem;height:.34rem;position:absolute;top:.65em;left:0}.tag-list{flex-wrap:wrap;gap:.38rem;display:flex}.tag-list span{border:1px solid var(--line);min-height:1.8rem;color:var(--text-soft);background:#f8fafc;border-radius:999px;align-items:center;padding:.25rem .55rem;font-size:.7rem;font-weight:700;display:inline-flex}.tile-leadership{background:radial-gradient(circle at 100% 0%,#ff63471a,transparent 12rem),var(--tile);grid-area:leadership}.tile-leadership .compact-list{counter-reset:leadership-item}.tile-leadership .compact-list li{counter-increment:leadership-item;padding-left:2.15rem}.tile-leadership .compact-list li:before{width:auto;height:auto;color:var(--accent);font-family:var(--font-mono);letter-spacing:.06em;content:counter(leadership-item,decimal-leading-zero);background:0 0;border-radius:0;font-size:.68rem;font-weight:750;top:50%;transform:translateY(-50%)}.compact-list{gap:.7rem;display:grid}.tile-expertise{grid-area:expertise}.expertise-groups{gap:.75rem;display:grid}.expertise-groups section{border-top:1px solid var(--line);padding-top:.75rem}.expertise-groups section:first-child{border-top:0;padding-top:0}.expertise-groups h3{color:var(--text);letter-spacing:-.01em;margin:0;font-size:.84rem}.expertise-groups p{margin:.2rem 0 0;font-size:.78rem;line-height:1.55}.technology-index{border-top:1px solid var(--line);margin-top:.9rem;padding-top:.8rem}.tile .technology-index-label{color:var(--text-faint);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .55rem;font-size:.62rem;font-weight:750}.technology-icon-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.42rem;display:grid}.technology-icon{aspect-ratio:1;border:1px solid var(--line);min-width:0;color:var(--text-soft);background:linear-gradient(145deg,#fff,#f5f8fc);border-radius:.72rem;place-items:center;transition:all .16s;display:grid;box-shadow:0 3px 8px #0f172a0d}.technology-icon:hover{z-index:1;color:var(--accent-dark);border-color:color-mix(in srgb,var(--accent)35%,var(--line));background:var(--accent-soft);transform:translateY(-2px)}.technology-icon img,.technology-icon svg{object-fit:contain;width:1.3rem;height:1.3rem}@media (min-width:1001px){.tile-leadership,.tile-expertise{flex-direction:column;display:flex}.tile-leadership .compact-list{flex:1;grid-template-rows:repeat(5,minmax(0,1fr));gap:0;display:grid}.tile-leadership .compact-list li{border-top:1px solid var(--line);align-items:center;padding-top:.75rem;padding-bottom:.75rem;display:flex}.tile-leadership .compact-list li:first-child{border-top:0}.tile-expertise .expertise-groups{flex:1;grid-template-rows:repeat(6,minmax(0,1fr));gap:0}.tile-expertise .expertise-groups section{flex-direction:column;justify-content:center;display:flex}}.project-section{grid-area:projects;padding-top:.9rem;scroll-margin-top:1rem}.section-heading-wide{margin:0 0 .85rem .25rem}.section-heading-wide h2{letter-spacing:-.04em;margin:0;font-size:clamp(1.5rem,3vw,2.15rem)}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.project-card{flex-direction:column;display:flex}.project-card-header{grid-template-columns:88px minmax(0,1fr);align-items:center;gap:1rem;display:grid}.project-card-header>img{object-fit:contain;width:88px;height:88px}.project-card-header h3{margin:0;font-size:1.45rem}.project-tagline{font-size:.83rem;font-weight:650;margin:.2rem 0 0!important}.project-differentiators{margin:.35rem 0 .85rem}.project-card .text-link{margin-top:1rem}.tile-education{grid-area:education}.education-item h3{margin-bottom:.4rem;line-height:1.3}.education-item p{font-size:.88rem}.tile-languages{grid-area:languages}.language-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.language-list li{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.language-name{align-items:center;gap:.45rem;font-size:.88rem;font-weight:700;display:inline-flex}.language-flag{border:1px solid var(--line);object-fit:cover;border-radius:2px;width:20px;height:13px}.language-level{color:var(--text-soft);font-size:.8rem}.tile-contact{background:radial-gradient(circle at 100% 0,#ff63471a,#0000 13rem),linear-gradient(145deg,#fff 0%,#fff9f7 100%);grid-area:contact}.tile-contact>p:not(.section-kicker){max-width:39rem}.tile-github{grid-area:github;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;display:grid}.tile-github h2,.tile-github p{margin:0}.tile-icon{width:2rem;height:2rem;color:var(--accent)}.site-footer{border-top:1px solid var(--line);width:min(1200px,100% - 2rem);color:var(--text-faint);justify-content:space-between;align-items:center;gap:1rem;margin:0 auto 2rem;padding:1rem .2rem;font-size:.8rem;display:flex}.site-footer p{margin:0}.site-footer nav{flex-wrap:wrap;gap:1rem;display:flex}.site-footer a{color:var(--text-soft);font-weight:700;text-decoration:none}.site-footer a:hover{color:var(--accent)}.detail-page{margin-top:1.25rem}.breadcrumbs{color:var(--text-faint);flex-wrap:wrap;align-items:center;gap:.45rem;margin:0 0 1rem .25rem;font-size:.78rem;font-weight:650;display:flex}.breadcrumbs a{color:var(--text-soft);align-items:center;gap:.3rem;text-decoration:none;display:inline-flex}.breadcrumbs a:hover{color:var(--accent)}.detail-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem;display:grid}.detail-hero{background:radial-gradient(circle at 95% 5%,#ff634721,#0000 18rem),linear-gradient(145deg,#fff 0%,#fff8f6 100%);grid-column:span 8}.project-detail-title{align-items:center;gap:1.1rem;display:flex}.project-detail-title>img{object-fit:contain;width:112px;height:112px}.detail-hero h1,.contact-hero h1{letter-spacing:-.055em;margin:0;font-size:clamp(2.4rem,6vw,4.7rem)}.detail-lead{font-size:clamp(1rem,2vw,1.25rem);font-weight:650;color:var(--text)!important}.detail-facts{background:#111b2d;grid-column:span 4}.detail-facts h2,.detail-facts .section-kicker,.detail-facts dt{color:#fff!important}.detail-facts dl{gap:.75rem;margin:0;display:grid}.detail-facts dl div{border-top:1px solid #ffffff24;padding-top:.75rem}.detail-facts dt{text-transform:uppercase;font-size:.72rem;font-weight:750}.detail-facts dd{color:#dce8fb;margin:.2rem 0 0;font-size:.9rem}.detail-purpose,.detail-features{grid-column:span 6}.detail-architecture{grid-column:span 7}.detail-stack{grid-column:span 5}.tag-list-large span{min-height:2.2rem;padding:.35rem .7rem;font-size:.78rem}.next-project{justify-content:flex-end;margin:1rem .25rem 0;display:flex}.contact-hero{background:radial-gradient(circle at 95% 5%,#ff634726,#0000 17rem),linear-gradient(145deg,#fff 0%,#fff7f5 100%);grid-column:span 7}.contact-hero .button{margin-top:1rem}.contact-fit{grid-column:span 5}.contact-location{color:#fff;background:radial-gradient(circle at 100% 0,#ff634747,#0000 16rem),linear-gradient(155deg,#111b2d 0%,#2a1d20 100%);border-color:#263853;flex-direction:column;grid-column:span 4;display:flex}.contact-location .tile-icon{color:#ff9b89;margin-bottom:1rem}.contact-location h2{color:#fff}.contact-location .section-kicker{color:#ffad9e!important}.location-status{color:#dce8fb;align-items:flex-start;gap:.55rem;margin-top:.15rem;font-size:.84rem;font-weight:650;display:flex}.location-status i{background:#3ddc97;border-radius:50%;flex:0 0 .55rem;width:.55rem;height:.55rem;margin-top:.35rem;box-shadow:0 0 0 4px #3ddc9721}.location-focus{border-top:1px solid #ffffff24;gap:.2rem;margin-top:1.35rem;padding-top:1.15rem;display:grid}.location-focus p,.location-profile-links>p{color:#ffad9e;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .35rem;font-size:.67rem;font-weight:750}.location-focus strong{color:#fff;font-size:.87rem}.location-focus span{color:#b9c9df;font-size:.76rem}.location-profile-links{gap:.5rem;margin-top:auto;padding-top:1.35rem;display:grid}.location-profile-links a{color:#fff;background:#ffffff0e;border:1px solid #ffffff24;border-radius:.9rem;align-items:center;gap:.65rem;min-height:3.45rem;padding:.65rem .7rem;font-size:.8rem;font-weight:750;text-decoration:none;display:flex}.location-profile-links a:hover{background:#ff63471f;border-color:#ffad9ea6}.location-profile-links svg{color:#ffad9e;flex:none;width:1.25rem;height:1.25rem}.location-profile-links a>span{flex-direction:column;display:flex}.location-profile-links small{color:#aebfd5;margin-top:.08rem;font-size:.64rem;font-weight:600}.contact-form-card{grid-column:span 8}.contact-form-card h2{margin-bottom:1.1rem}.contact-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.contact-form-grid label{color:var(--text);gap:.4rem;font-size:.78rem;font-weight:750;display:grid}.contact-form-grid label small{color:var(--text-faint);font-weight:600}.contact-form-grid input,.contact-form-grid textarea{border:1px solid var(--line-strong);width:100%;color:var(--text);font:inherit;background:#fbfcfe;border-radius:.85rem;font-size:.92rem;font-weight:500}.contact-form-grid input{min-height:3rem;padding:.65rem .75rem}.contact-form-grid textarea{resize:vertical;min-height:9rem;padding:.75rem}.contact-form-grid input:hover,.contact-form-grid textarea:hover{border-color:color-mix(in srgb,var(--accent)30%,var(--line-strong))}.contact-form-full{grid-column:1/-1}.contact-honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.contact-form-footer{align-items:center;gap:.8rem 1rem;margin-top:1rem;display:flex}.contact-form-footer p{max-width:22rem;color:var(--text-faint);margin:0;font-size:.72rem}.contact-form-footer p[data-status=success]{color:var(--success);font-weight:700}.contact-form-footer p[data-status=error]{color:#b42318;font-weight:700}.cv-page{--cv-green:#155e3b}.cv-header{border-bottom:4px solid var(--cv-green);grid-template-columns:auto 1fr auto;align-items:center;gap:1.1rem;display:grid}.cv-header>img{object-fit:cover;border-radius:1rem;width:104px;height:104px}.cv-heading h1{margin:0;font-size:clamp(2.2rem,5vw,3.7rem)}.cv-heading p{margin:.3rem 0 0}.cv-actions{flex-direction:column;align-items:flex-end;gap:.45rem;display:flex}.cv-actions span{max-width:15rem;color:var(--text-faint);text-align:right;font-size:.67rem}.cv-layout{grid-template-columns:minmax(230px,.32fr) minmax(0,1fr);gap:1rem;margin-top:1rem;display:grid}.cv-sidebar,.cv-main{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#ffffffeb}.cv-sidebar{background:#eef4f0;padding:1.4rem}.cv-sidebar section+section{margin-top:1.6rem}.cv-sidebar h2,.cv-section>h2{border-bottom:2px solid var(--cv-green);color:var(--cv-green);margin:0 0 .8rem;padding-bottom:.35rem;font-size:1.25rem}.cv-sidebar h3{letter-spacing:-.01em;margin:0 0 .2rem;font-size:.82rem}.cv-sidebar p{color:var(--text-soft);margin:0;font-size:.76rem;line-height:1.5}.icon-list,.cv-language-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.icon-list li{align-items:flex-start;gap:.4rem;min-width:0;font-size:.74rem;display:flex}.icon-list svg{width:1rem;height:1rem;color:var(--cv-green);flex:none;margin-top:.1rem}.icon-list a{overflow-wrap:anywhere}.cv-skill-group+.cv-skill-group{margin-top:.8rem}.cv-language-list li{justify-content:space-between;gap:.5rem;font-size:.76rem;display:flex}.cv-main{padding:1.6rem}.cv-section+.cv-section{margin-top:1.6rem}.cv-summary p{color:var(--text-soft);margin:0}.cv-experience{border-bottom:1px solid var(--line);padding:1rem 0}.cv-experience:last-child{border-bottom:0}.cv-experience header{justify-content:space-between;gap:1rem;display:flex}.cv-experience h3,.cv-project h3{margin:0;font-size:1rem}.cv-experience header p{color:var(--text-soft);flex-direction:column;align-items:flex-end;margin:.15rem 0 0;font-size:.75rem;display:flex}.cv-experience header>div p{align-items:flex-start;font-weight:650}.cv-experience ul{color:var(--text-soft);margin:.65rem 0;padding-left:1.15rem}.cv-experience li{margin:.3rem 0;font-size:.8rem;line-height:1.45}.cv-experience li::marker{color:var(--cv-green)}.cv-tech{color:var(--text-soft);margin:0;font-size:.73rem}.cv-project+.cv-project{border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem}.cv-project p{color:var(--text-soft);margin:.35rem 0;font-size:.82rem}.cv-project a{color:var(--cv-green);font-size:.78rem;font-weight:750}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1000px){.bento-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:none}.bento-grid>*{grid-area:auto}.tile-hero,.tile-impact,.tile-experience,.project-section,.tile-contact,.tile-github,.project-detail-grid .detail-hero,.project-detail-grid .detail-facts,.contact-hero,.contact-fit,.contact-location,.contact-form-card{grid-column:1/-1}.detail-purpose,.detail-features,.detail-architecture,.detail-stack{grid-column:span 6}}@media (max-width:720px){.site-header,.page,.site-footer{width:min(100% - 1rem,42rem)}.site-header{margin-top:.5rem}.site-header-inner{align-items:flex-start;padding:.65rem}.site-header nav{scrollbar-width:none;max-width:calc(100vw - 5rem);overflow-x:auto}.header-actions{flex-direction:column-reverse;align-items:flex-end}.language-switch{border-left:0;padding-left:0}.site-header nav a{white-space:nowrap;min-height:2.75rem}.page{margin-top:.5rem}.bento-grid,.project-grid,.detail-grid{grid-template-columns:minmax(0,1fr)}.bento-grid>*,.project-grid>*,.detail-grid>*{grid-column:1/-1!important}.tile{border-radius:1.45rem;padding:1.2rem}.hero-layout{grid-template-columns:1fr}.profile-avatar{width:90px;height:90px}.tile-hero h1{font-size:clamp(2.35rem,15vw,3.4rem)}.button-row .button{flex:auto}.section-heading{align-items:flex-end}.project-card-header,.project-detail-title{align-items:flex-start}.project-card-header{grid-template-columns:72px minmax(0,1fr)}.project-card-header>img{width:72px;height:72px}.project-detail-title>img{width:82px;height:82px}.detail-hero h1,.contact-hero h1{font-size:clamp(2.2rem,13vw,3.5rem)}.tile-github{grid-template-columns:auto 1fr}.tile-github .text-link{grid-column:1/-1}.contact-form-grid{grid-template-columns:1fr}.contact-form-full{grid-column:auto}.contact-form-footer{flex-direction:column;align-items:flex-start}.cv-header{grid-template-columns:auto 1fr}.cv-actions{grid-column:1/-1;align-items:flex-start}.cv-actions span{text-align:left}.cv-layout{grid-template-columns:1fr}.cv-experience header{flex-direction:column;gap:.25rem}.cv-experience header p{align-items:flex-start}.site-footer{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{@page{size:A4;margin:12mm}:root{--text:#111;--text-soft:#2f2f2f;--line:#c7d0ca}body{print-color-adjust:exact;-webkit-print-color-adjust:exact;background:#fff;font-size:9.5pt}.site-header,.site-footer,.no-print,.skip-link{display:none!important}.page.cv-page{width:100%;margin:0}.cv-header,.cv-sidebar,.cv-main{box-shadow:none;border-radius:0}.cv-header{border:0;border-bottom:2pt solid var(--cv-green);grid-template-columns:22mm 1fr;padding:0 0 4mm}.cv-header>img{width:20mm;height:20mm}.cv-heading h1{font-size:25pt}.cv-heading .detail-lead{font-size:10pt}.cv-layout{grid-template-columns:52mm 1fr;gap:5mm;margin-top:5mm}.cv-sidebar,.cv-main{padding:5mm}.cv-sidebar{background:#eef4f0!important}.cv-sidebar section+section,.cv-section+.cv-section{margin-top:4mm}.cv-sidebar h2,.cv-section>h2{margin-bottom:2.5mm;font-size:12pt}.cv-experience{break-inside:avoid;padding:3mm 0}.cv-experience li,.cv-experience header p,.cv-tech,.cv-sidebar p,.icon-list li,.cv-language-list li{font-size:7.7pt}.cv-project{break-inside:avoid}a{color:inherit;text-decoration:none}}
