:root{--ink:#091529;--muted:#62718a;--soft:#8d9ab0;--line:#8b9ab23d;--line-strong:#6f819e4d;--blue:#3276df;--blue-soft:#7aa7ef;--panel:#ffffffc2;--panel-inner:#ffffff8f;--panel-solid:#fff;--shadow:0 26px 55px #22314c1c;--body-bg-a:#fffffff2;--body-bg-b:#f5f8fdad;--body-bg-c:#f5f8fdf0;--body-bg-start:#fbfcfe;--body-bg-end:#f6f9fd;--heading:#081327;--nav:#111e34;--copy:#536176;--serif:"Cormorant Garamond", Georgia, serif;--sans:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}:root[data-theme=dark]{--ink:#eef4ff;--muted:#aebbd1;--soft:#8796af;--line:#a1b8db33;--line-strong:#b1c5e54d;--blue:#78aaff;--blue-soft:#9fc0fb;--panel:#0e1625c7;--panel-inner:#0f1a2cb8;--panel-solid:#0f1a2c;--shadow:0 28px 70px #0000005c;--body-bg-a:#0f1727fa;--body-bg-b:#09101de6;--body-bg-c:#050a13fa;--body-bg-start:#0d1727;--body-bg-end:#050a13;--heading:#f6f9ff;--nav:#f1f6ff;--copy:#b8c5d8;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{background:var(--body-bg-end);min-height:100%}body{min-height:100%;font-family:var(--sans);color:var(--ink);background:radial-gradient(circle at 47% 19%, var(--body-bg-a), var(--body-bg-b) 38%, var(--body-bg-c) 100%), linear-gradient(180deg, var(--body-bg-start) 0%, var(--body-bg-end) 100%);margin:0;transition:background-color .18s,color .18s;overflow-x:hidden}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}noscript{color:var(--ink);padding:24px;display:block}#network-bg{z-index:0;opacity:0;pointer-events:none;width:100vw;height:100vh;animation:.9s .12s forwards ambient-fade-in;position:fixed;inset:0}.site-shell{z-index:1;opacity:0;transform-origin:50% 34%;flex-direction:column;min-height:100svh;padding:38px clamp(22px,4.7vw,62px) 24px;animation:.76s cubic-bezier(.22,1,.36,1) 80ms forwards shell-faint-fade-in;display:flex;position:relative;transform:scale(1.012)}@keyframes ambient-fade-in{to{opacity:1}}@keyframes shell-faint-fade-in{to{opacity:1;transform:scale(1)}}.site-header{justify-content:space-between;align-items:center;gap:24px;width:min(100%,1400px);margin:0 auto;display:flex}.brand-mark{font-family:var(--serif);letter-spacing:0;color:var(--heading);align-items:baseline;gap:3px;font-size:clamp(1.95rem,2.65vw,2.35rem);font-weight:700;line-height:1;text-decoration:none;display:inline-flex}.brand-dot{background:var(--blue);border-radius:999px;width:6px;height:6px;margin-bottom:8px;box-shadow:0 0 18px #3276dfa6}.site-nav{color:var(--nav);letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:clamp(24px,3.7vw,50px);font-size:.78rem;font-weight:800;display:flex}.site-nav a{text-decoration:none;position:relative}.site-nav a:after{content:"";transform-origin:50%;background:var(--blue);height:1px;transition:transform .18s;position:absolute;bottom:-9px;left:0;right:.18em;transform:scaleX(0)}.site-nav a:hover:after,.site-nav a[aria-current=page]:after{transform:scaleX(1)}.page-main{flex:1;width:min(100%,1400px);margin:0 auto}.home-page{flex-direction:column;justify-content:flex-start;padding-top:clamp(70px,8.2vh,84px);display:flex}.hero{text-align:center;margin-inline:auto}.hero-title{font-family:var(--serif);letter-spacing:.23em;color:var(--heading);text-transform:uppercase;text-rendering:geometricprecision;margin:0;font-size:clamp(3.55rem,5.45vw,4.95rem);font-weight:600;line-height:.86}.hero-kicker{color:var(--blue);letter-spacing:.58em;text-transform:uppercase;margin:31px 0 0;font-size:clamp(.74rem,1.05vw,.98rem);font-weight:700}.hero-divider{width:68px;height:17px;margin:31px auto 0;position:relative}.hero-divider:before,.hero-divider:after{content:"";background:#3276dfa3;width:27px;height:1px;position:absolute;top:8px}.hero-divider:before{left:0}.hero-divider:after{right:0}.hero-divider span{background:var(--blue);border-radius:999px;width:8px;height:8px;position:absolute;top:5px;left:50%;transform:translate(-50%);box-shadow:0 0 18px #3276df73}.hero-copy{width:min(100%,440px);color:var(--copy);letter-spacing:.01em;min-height:3.2em;margin:22px auto 0;font-size:clamp(.96rem,1.25vw,1.12rem);font-weight:500;line-height:1.58}.hero-copy.is-typing:after{content:"";background:var(--copy);width:1px;height:1.05em;margin-left:4px;animation:1.3s steps(2,start) infinite type-cursor;display:inline-block;transform:translateY(.14em)}@keyframes type-cursor{50%{opacity:0}}.home-cards{grid-template-columns:minmax(0,.96fr) minmax(0,1.1fr) minmax(0,.96fr);gap:24px;width:min(100%,1256px);margin:clamp(4px,.7vh,8px) auto 0;display:grid}.home-card{border:1px solid var(--line);background:var(--panel);min-height:476px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:13px;padding:25px 19px 23px}.click-card{color:inherit;flex-direction:column;text-decoration:none;transition:transform .22s,border-color .22s,box-shadow .22s,background .22s;display:flex}.click-card:hover{background:color-mix(in srgb, var(--panel) 74%, var(--panel-solid));border-color:#3276df70;transform:translateY(-5px);box-shadow:0 30px 70px #20375c29}.card-heading{align-items:center;gap:20px;margin-bottom:21px;display:flex}.card-icon{width:26px;height:26px;color:var(--ink);stroke-width:1.8px}.card-icon svg{width:100%;height:100%;display:block}.card-title{letter-spacing:.2em;text-transform:uppercase;margin:0;font-size:.86rem;font-weight:800}.portfolio-preview,.cv-preview,.contact-panel{border:1px solid var(--line);background:var(--panel-inner);border-radius:10px}.portfolio-preview{padding:18px 17px}.portfolio-item{grid-template-columns:92px 1fr 16px;align-items:center;gap:14px;min-height:70px;display:grid}.portfolio-item+.portfolio-item{border-top:1px solid #8494ad26;margin-top:13px;padding-top:13px}.portfolio-thumb{object-fit:cover;background:#08101f;border-radius:4px;width:92px;height:70px;display:block;box-shadow:inset 0 0 0 1px #ffffff1f}.portfolio-name{color:var(--ink);letter-spacing:.14em;text-transform:uppercase;margin:0 0 8px;font-size:.69rem;font-weight:800}.portfolio-text,.timeline-text,.contact-text{color:var(--muted);margin:0;font-size:.75rem;font-weight:500;line-height:1.43}.row-arrow,.card-cta svg{flex:none}.row-arrow{color:var(--ink)}.card-cta{color:var(--blue);letter-spacing:.13em;text-transform:uppercase;align-items:center;gap:15px;margin:auto 0 0 10px;padding-top:18px;font-size:.78rem;font-weight:800;display:inline-flex}.cv-preview{flex:1;position:relative}.cv-snapshot{background:0 0;border:0;border-radius:0;flex-direction:column;align-items:flex-start;min-height:248px;padding:24px 21px 0;display:flex}.cv-snapshot-eyebrow{color:var(--blue);letter-spacing:-.01em;margin:0 0 14px;font-size:.69rem;font-weight:800}.cv-snapshot-title{max-width:260px;color:var(--heading);font-family:var(--serif);letter-spacing:-.025em;margin:0;font-size:clamp(2.04rem,3.1vw,2.28rem);font-weight:600;line-height:1.02}.cv-snapshot-rule{background:color-mix(in srgb, var(--blue) 42%, transparent);width:17px;height:1px;margin:15px 0 14px;display:block}.cv-snapshot-copy{max-width:320px;color:var(--muted);margin:0;font-size:.88rem;font-weight:600;line-height:1.58}.cv-snapshot-tags{flex-wrap:wrap;gap:10px 11px;margin-top:23px;display:flex}.cv-snapshot-tags span{border:1px solid color-mix(in srgb, var(--blue) 43%, transparent);min-height:27px;color:var(--blue);background:color-mix(in srgb, var(--panel-solid) 18%, transparent);border-radius:5px;align-items:center;padding:4px 12px;font-size:.68rem;font-weight:700;display:inline-flex}.cv-card .card-cta{margin-left:21px}.timeline{padding-left:22px;position:relative}.timeline:before{content:"";background:color-mix(in srgb, var(--blue) 34%, transparent);width:1px;position:absolute;top:8px;bottom:8px;left:1px}.timeline-item{min-height:92px;padding-bottom:7px;position:relative}.timeline-item:before{content:"";background:var(--blue);border-radius:999px;width:9px;height:9px;position:absolute;top:3px;left:-26px;box-shadow:0 0 0 5px #3276df1a}.timeline-item:nth-child(2):before{background:#9ab8ea}.timeline-item:nth-child(3):before{background:#b7c9e8}.timeline-title{color:var(--ink);margin:0 0 4px;font-size:.91rem;font-weight:800}.timeline-date{color:var(--blue);margin-bottom:8px;font-size:.76rem;font-weight:800;display:block}.contact-card{flex-direction:column;display:flex}.contact-panel{flex:1;padding:27px 25px}.contact-lead{color:var(--ink);margin:0 0 24px;font-size:.95rem;font-weight:800;line-height:1.55}.contact-panel .contact-text{margin-bottom:29px}.contact-links{border-top:1px solid var(--line);gap:20px;padding-top:27px;display:grid}.contact-row{color:var(--muted);grid-template-columns:22px 1fr;align-items:center;gap:14px;font-size:.92rem;font-weight:500;text-decoration:none;display:grid}.contact-row:hover{color:var(--blue)}.contact-row svg{width:21px;height:21px;color:var(--ink);stroke-width:1.9px}.contact-email-row{align-items:center;gap:6px;display:flex}.contact-email-row .contact-row{flex:0 auto;min-width:0}.contact-copy{border:1px solid var(--line);width:30px;height:30px;color:var(--muted);cursor:pointer;opacity:0;background:0 0;border-radius:8px;flex:none;justify-content:center;align-items:center;padding:0;transition:opacity .18s,color .18s,border-color .18s,background .18s;display:inline-flex}.contact-email-row:hover .contact-copy,.contact-email-row:focus-within .contact-copy,.contact-copy.is-copied{opacity:1}.contact-copy:hover,.contact-copy.is-copied{color:var(--blue);border-color:var(--blue)}.contact-copy svg{stroke-width:2px;width:15px;height:15px}@media (hover:none){.contact-copy{opacity:1}}.site-footer{width:min(100%,1400px);color:var(--soft);grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;margin:40px auto 0;font-size:.78rem;font-weight:600;display:grid}.footer-copy{text-align:center;grid-column:2;margin:0}body[data-route=\/portfolio] .site-footer{display:none}.theme-toggle{width:34px;height:34px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:999px;justify-self:end;place-items:center;transition:color .18s,background .18s,transform .18s;display:inline-grid}.theme-toggle:hover{color:var(--blue);background:color-mix(in srgb, var(--panel-solid) 58%, transparent);transform:translateY(-1px)}.theme-toggle:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.theme-toggle svg{width:25px;height:25px;display:block}.route-page{padding-top:clamp(58px,7vh,86px)}.route-head{text-align:center;width:min(100%,820px);margin:0 auto 44px}.route-eyebrow{color:var(--blue);letter-spacing:.34em;text-transform:uppercase;margin:0 0 18px;font-size:.78rem;font-weight:800}.route-title{font-family:var(--serif);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:clamp(3rem,6vw,5rem);font-weight:600;line-height:1}.route-copy{max-width:620px;color:var(--muted);margin:22px auto 0;font-size:1rem;line-height:1.7}.portfolio-head{text-align:center;width:min(100%,820px);margin:0 auto clamp(18px,3vh,30px)}.portfolio-title{font-family:var(--serif);color:var(--heading);letter-spacing:0;margin:0;font-size:clamp(3rem,5.8vw,4.9rem);font-weight:600;line-height:.96}.portfolio-divider{width:78px;height:14px;margin:18px auto 0;position:relative}.portfolio-divider:before,.portfolio-divider:after{content:"";background:var(--blue-soft);width:31px;height:1px;position:absolute;top:7px}.portfolio-divider:before{left:0}.portfolio-divider:after{right:0}.portfolio-divider span{background:var(--blue);border-radius:999px;width:8px;height:8px;position:absolute;top:3px;left:50%;transform:translate(-50%);box-shadow:0 0 18px #3276df73}.portfolio-showcase{grid-template-columns:minmax(0,1fr) 86px;align-items:center;gap:clamp(18px,4vw,52px);width:min(100%,1080px);margin:0 auto;display:grid}.portfolio-track{height:clamp(610px,65vh,720px);position:relative;overflow:hidden}.portfolio-case-card{z-index:0;border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 78%, var(--panel-solid));opacity:0;filter:blur(1px);pointer-events:none;border-radius:16px;grid-template-columns:minmax(300px,.98fr) minmax(0,1fr);align-items:center;gap:clamp(24px,3.4vw,38px);width:min(100%,920px);min-height:300px;padding:clamp(20px,2.6vw,26px);transition:opacity .34s,transform .34s cubic-bezier(.22,1,.36,1),filter .34s,box-shadow .34s;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.72);box-shadow:0 10px 28px #23375a0b}.portfolio-case-card.is-active{z-index:3;opacity:1;filter:none;pointer-events:auto;transform:translate(-50%,-50%)scale(1);box-shadow:0 16px 40px #26395a13}.portfolio-case-card.is-before,.portfolio-case-card.is-after{z-index:1;opacity:.3;filter:blur(.35px)}.portfolio-case-card.is-before{transform:translate(-50%,-50%)translateY(-304px)scale(.75)}.portfolio-case-card.is-after{transform:translate(-50%,-50%)translateY(304px)scale(.75)}.portfolio-case-card.is-hidden{opacity:0;transform:translate(-50%,-50%)translateY(390px)scale(.7)}.portfolio-case-card.is-hidden-above{transform:translate(-50%,-50%)translateY(-390px)scale(.7)}.portfolio-case-card.is-hidden-below{transform:translate(-50%,-50%)translateY(390px)scale(.7)}.portfolio-case-media{background:color-mix(in srgb, #07111f 86%, var(--panel-solid));aspect-ratio:1.58;border-radius:11px;position:relative;overflow:hidden}.portfolio-case-shot{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.portfolio-case-media.has-collage .is-primary{filter:saturate(1.05)contrast(1.02)}.portfolio-case-media.has-collage .is-secondary{object-fit:cover;border-radius:8px;width:45%;height:37%;position:absolute;box-shadow:0 18px 42px #08112047}.portfolio-case-media.has-collage .secondary-1{bottom:12px;right:12px;transform:rotate(1.5deg)}.portfolio-case-media.has-collage .secondary-2{bottom:18px;left:12px;transform:rotate(-2deg)}.portfolio-case-body{min-width:0}.portfolio-case-meta{color:var(--blue);letter-spacing:.22em;text-transform:uppercase;justify-content:space-between;margin-bottom:12px;font-size:.66rem;font-weight:800;display:flex}.portfolio-case-title{font-family:var(--serif);color:var(--heading);letter-spacing:0;margin:0;font-size:clamp(2.05rem,3.7vw,2.85rem);font-weight:600;line-height:1.02}.portfolio-case-text{color:var(--muted);margin:16px 0 0;font-size:.94rem;line-height:1.68}.portfolio-case-metrics,.portfolio-case-tags{gap:10px}.portfolio-case-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px;display:grid}.portfolio-case-tags{flex-wrap:wrap;margin-top:13px;display:flex}.portfolio-case-tags span{min-height:26px;color:var(--blue);background:color-mix(in srgb, var(--blue) 9%, transparent);border-radius:5px;align-items:center;padding:5px 10px;font-size:.74rem;font-weight:800;display:inline-flex}.portfolio-case-metric{min-width:0}.portfolio-case-metric:not(:last-child){border-right:1px solid var(--line)}.portfolio-case-metric strong,.portfolio-case-metric span{display:block}.portfolio-case-metric strong{color:var(--blue);font-size:clamp(1.02rem,1.5vw,1.25rem);font-weight:800;line-height:1.15}.portfolio-case-metric span{color:var(--muted);margin-top:6px;font-size:.72rem;font-weight:700;line-height:1.25}.portfolio-case-action{box-sizing:border-box;color:#fff;background:var(--blue);cursor:pointer;border:0;border-radius:7px;justify-content:center;align-items:center;gap:16px;min-width:138px;min-height:42px;margin-top:22px;padding:0 18px;font-size:.95rem;font-weight:800;text-decoration:none;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex;box-shadow:0 14px 26px #3276df38}.portfolio-case-action:hover{transform:translateY(-2px);box-shadow:0 18px 34px #3276df4d}.portfolio-case-action svg{width:18px;height:18px}.portfolio-case-card:not(.is-active) .portfolio-case-action{opacity:0;visibility:hidden}.portfolio-progress{--portfolio-progress:0%;grid-template-columns:auto auto;justify-content:center;align-items:center;gap:22px;display:grid}.portfolio-progress-rail{flex-direction:column;justify-content:space-between;align-items:center;width:18px;height:158px;display:flex;position:relative}.portfolio-progress-rail:before,.portfolio-progress-rail:after{content:"";border-radius:999px;width:3px;height:100%;position:absolute;top:0;left:50%;transform:translate(-50%)}.portfolio-progress-rail:before{background:color-mix(in srgb, var(--soft) 32%, transparent)}.portfolio-progress-rail:after{height:var(--portfolio-progress);background:var(--blue);transition:height .18s}.portfolio-progress-dot{z-index:1;background:color-mix(in srgb, var(--soft) 46%, var(--panel-solid));cursor:pointer;border:0;border-radius:999px;width:10px;height:10px;transition:background .18s,transform .18s,box-shadow .18s;position:relative}.portfolio-progress-dot.is-active{background:var(--blue);box-shadow:0 0 0 5px color-mix(in srgb, var(--blue) 12%, transparent);transform:scale(1.15)}.portfolio-progress-count{color:var(--ink);font-size:.92rem;font-weight:800}@media (width>=761px){body[data-route=\/portfolio]{height:100svh;overflow:hidden}body[data-route=\/portfolio] .site-shell{height:100svh;min-height:0;padding-top:clamp(28px,3.5vh,38px);padding-bottom:18px;overflow:hidden}body[data-route=\/portfolio] .page-main{flex-direction:column;flex:1;min-height:0;display:flex}body[data-route=\/portfolio] .portfolio-route{flex-direction:column;flex:1;min-height:0;padding-top:clamp(8px,1.6vh,18px);display:flex}body[data-route=\/portfolio] .portfolio-showcase{flex:1;min-height:0}body[data-route=\/portfolio] .portfolio-track{height:100%;min-height:0}}.cv-route{width:min(100%,900px);margin:0 auto}.cv-document{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 80%, var(--panel-solid));box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:14px;padding:clamp(30px,5vw,54px)}.cv-doc-header{border-bottom:1px solid var(--line);padding-bottom:26px}.cv-name{font-family:var(--serif);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:clamp(2.9rem,6vw,4.4rem);font-weight:600;line-height:.96}.cv-role{color:var(--blue);letter-spacing:.22em;text-transform:uppercase;margin:14px 0 0;font-size:.78rem;font-weight:800}.cv-contact-line{color:var(--muted);flex-wrap:wrap;gap:10px 18px;margin-top:19px;font-size:.9rem;display:flex}.cv-contact-line a{color:inherit;text-decoration:none}.cv-contact-line a:hover{color:var(--blue)}.cv-actions{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.cv-pdf-action{color:#fff;background:var(--blue);border-radius:7px;justify-content:center;align-items:center;gap:12px;min-height:42px;padding:0 18px;font-size:.86rem;font-weight:800;text-decoration:none;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex;box-shadow:0 14px 26px #3276df2e}.cv-pdf-action:hover{transform:translateY(-2px);box-shadow:0 18px 34px #3276df42}.cv-pdf-action svg{width:17px;height:17px}.cv-language-toggle{border:1px solid var(--line-strong);min-height:42px;color:var(--blue);background:var(--panel-inner);cursor:pointer;border-radius:7px;padding:0 18px;font-size:.86rem;font-weight:800;transition:border-color .18s,color .18s,transform .18s,background .18s}.cv-language-toggle:hover{border-color:color-mix(in srgb, var(--blue) 58%, var(--line-strong));color:var(--ink);background:var(--panel-solid);transform:translateY(-2px)}.cv-summary{color:var(--muted);margin:25px 0 0;font-size:1rem;line-height:1.75}.cv-section{padding-top:33px}.cv-section-title{color:var(--blue);letter-spacing:.24em;text-transform:uppercase;margin:0 0 18px;font-size:.82rem;font-weight:800}.cv-list{gap:22px;display:grid}.cv-entry{border-bottom:1px solid var(--line);grid-template-columns:minmax(170px,.34fr) 1fr;gap:24px;padding-bottom:22px;display:grid}.cv-entry:last-child{border-bottom:0;padding-bottom:0}.cv-entry-title{color:var(--ink);margin:0 0 3px;font-size:1rem;font-weight:800}.cv-entry-meta{color:var(--blue);margin:0;font-size:.82rem;font-weight:800}.cv-entry-text{color:var(--muted);margin:0;font-size:.94rem;line-height:1.65}.cv-cert-entry{grid-template-columns:minmax(96px,.18fr) 1fr;align-items:center;gap:10px}.cv-cert-entry.no-badge{grid-template-columns:1fr}.cv-cert-empty{width:0}.cv-cert-badges{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.cv-cert-badge-frame{border-radius:6px;flex:none;justify-content:center;align-items:center;width:86px;height:86px;display:inline-flex;overflow:hidden}.cv-cert-badge{object-fit:contain;border-radius:6px;width:100%;height:100%;display:block}.cv-cert-badge-frame--aws{overflow:hidden}.cv-cert-badge--aws{width:136px;max-width:none;height:136px;max-height:none}.cv-cert-links{flex-wrap:wrap;gap:10px 14px;margin-top:10px;display:flex}.cv-cert-links a{color:var(--blue);font-size:.82rem;font-weight:800;text-decoration:none}.cv-cert-links a:hover{text-decoration:underline}.cv-skills{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.cv-skill-group{border:1px solid var(--line);background:var(--panel-inner);border-radius:10px;padding:17px}.cv-skill-title{color:var(--ink);margin:0 0 8px;font-size:.86rem;font-weight:800}.cv-skill-text{color:var(--muted);margin:0;font-size:.9rem;line-height:1.6}@media (width<=1100px){.home-cards{grid-template-columns:1fr;width:min(100%,560px);margin-top:clamp(48px,7vh,62px)}.portfolio-showcase{grid-template-columns:minmax(0,1fr) 70px;gap:20px;width:min(100%,920px)}.portfolio-case-card{grid-template-columns:minmax(220px,.88fr) minmax(0,1fr)}.home-card{min-height:0}}@media (width<=760px){.site-shell{padding:28px 18px 24px}.site-header{align-items:flex-start}.site-nav{letter-spacing:.14em;gap:17px;padding-top:10px;font-size:.68rem}.home-page{padding-top:72px}.hero-title{letter-spacing:.12em;font-size:clamp(3.2rem,16vw,4.6rem)}.hero-kicker{letter-spacing:.28em;line-height:1.8}.home-cards{gap:22px;margin-top:58px}.portfolio-route{padding-top:58px}.portfolio-showcase{grid-template-columns:1fr}.portfolio-track{scroll-snap-type:none;gap:22px;height:auto;max-height:none;padding:20px 0 6px;display:grid;overflow:visible}.portfolio-case-card,.portfolio-case-card.is-active,.portfolio-case-card.is-before,.portfolio-case-card.is-after,.portfolio-case-card.is-hidden{opacity:1;filter:none;pointer-events:auto;grid-template-columns:1fr;gap:22px;width:100%;min-height:0;position:relative;top:auto;left:auto;transform:none}.portfolio-case-media{aspect-ratio:1.35}.portfolio-case-title{font-size:clamp(2rem,10vw,2.7rem)}.portfolio-progress{display:none}.home-card{padding:22px 18px}.portfolio-item{grid-template-columns:78px 1fr 16px;gap:14px}.portfolio-thumb{width:78px;height:62px}.site-footer{grid-template-columns:1fr auto}.footer-copy{text-align:left;grid-column:1}.cv-entry,.cv-skills{grid-template-columns:1fr}.cv-snapshot{min-height:226px}.cv-snapshot-copy{font-size:.96rem}}@media print{@page{size:A4;margin:12mm}:root,:root[data-theme=dark]{--ink:#091529;--muted:#536176;--soft:#62718a;--line:#8b9ab259;--line-strong:#6f819e61;--blue:#3276df;--panel:#fff;--panel-inner:#fff;--panel-solid:#fff;--shadow:none;--heading:#081327;--copy:#536176;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html,body{color:#091529;min-height:0;background:#fff!important;overflow:visible!important}#network-bg,.site-header,.site-footer,.cv-actions{display:none!important}.site-shell{opacity:1;min-height:0;padding:0;animation:none;display:block;transform:none}.page-main,.cv-route{width:100%;max-width:none;margin:0}.route-page{padding-top:0}.cv-document{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border:0;border-radius:0;padding:0}.cv-name{font-size:31pt}.cv-role,.cv-section-title{color:#1f64c8}.cv-summary,.cv-entry-text,.cv-skill-text{color:#38455a}.cv-section,.cv-entry,.cv-skill-group,.cv-cert-entry{break-inside:avoid}.cv-skill-group{background:#fff}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}#network-bg,.site-shell{opacity:1;animation:none;transform:none}}
