:root{--profile-bg:#080a0c;--profile-panel:#0d1013;--profile-panel-soft:#111519;--profile-text:#f4f4ef;--profile-muted:#f4f4efa3;--profile-soft:#f4f4efad;--profile-line:#f4f4ef26;--profile-line-strong:#f4f4ef47;--profile-accent:#9cbcff;--profile-ease:cubic-bezier(.22, 1, .36, 1)}html:has(.profile-page){scroll-behavior:smooth;background:var(--profile-bg);scroll-padding-top:64px}body.profile-page{background:var(--profile-bg);min-width:0;color:var(--profile-text);overflow-x:hidden}.profile-page ::selection{background:var(--profile-accent);color:#050608}.profile-page :focus-visible{outline:2px solid var(--profile-accent);outline-offset:4px}.profile-header{z-index:50;border-bottom:1px solid var(--profile-line);backdrop-filter:blur(18px);background:#080a0ce0;grid-template-columns:minmax(190px,.8fr) minmax(470px,1.4fr) minmax(150px,.8fr);align-items:center;min-height:72px;padding:0 clamp(22px,3vw,52px);display:grid;position:sticky;top:0}.profile-brand{align-content:center;gap:3px;width:fit-content;min-height:44px;display:grid}.profile-brand strong{letter-spacing:-.02em;font-size:.94rem;font-weight:680}.profile-brand span{color:var(--profile-muted);letter-spacing:.11em;text-transform:uppercase;font-size:.6rem;font-weight:570}.profile-nav{justify-content:center;gap:clamp(18px,2.3vw,38px);display:flex}.profile-nav a,.header-email{color:#f4f4efb3;align-items:center;min-height:44px;font-size:.75rem;font-weight:580;transition:color .18s;display:inline-flex;position:relative}.profile-nav a:after{background:var(--profile-accent);content:"";transform-origin:0;height:1px;transition:transform .24s var(--profile-ease);position:absolute;bottom:6px;left:0;right:0;transform:scaleX(0)}.profile-nav a:hover,.header-email:hover{color:var(--profile-text)}.profile-nav a:hover:after{transform:scaleX(1)}.header-email{color:var(--profile-text);justify-self:end;gap:9px}.header-email span{color:var(--profile-accent);transition:transform .22s var(--profile-ease)}.header-email:hover span{transform:translate(3px,-3px)}.profile-hero{grid-template-columns:minmax(0,56fr) minmax(400px,44fr);align-items:center;gap:clamp(34px,5vw,84px);width:min(100%,1500px);min-height:calc(100svh - 72px);margin:0 auto;padding:clamp(54px,7vw,112px) clamp(24px,5.6vw,96px);display:grid}.section-index{color:var(--profile-muted);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:12px;margin:0 0 28px;font-size:.66rem;font-weight:650;display:flex}.section-index span{color:var(--profile-accent);font-size:.56rem}.hero-role{color:var(--profile-accent);letter-spacing:.12em;text-transform:uppercase;margin:0 0 14px;font-size:clamp(.72rem,1vw,.86rem);font-weight:650}.hero-copy h1{letter-spacing:-.06em;text-wrap:balance;max-width:650px;margin:0;font-size:clamp(2.8rem,5vw,4.8rem);font-weight:480;line-height:.96}.hero-story{color:#f4f4efc7;max-width:630px;margin:clamp(26px,3vw,40px) 0 0;font-size:clamp(1rem,1.25vw,1.17rem);line-height:1.62}.hero-actions{flex-wrap:wrap;align-items:center;gap:18px;margin-top:34px;display:flex}.profile-button{min-height:48px;transition:color .18s ease, background .18s ease, border-color .18s ease, transform .22s var(--profile-ease);justify-content:space-between;align-items:center;gap:30px;padding:0 18px;font-size:.75rem;font-weight:650;display:inline-flex}.profile-button:hover{transform:translateY(-2px)}.profile-button--light{background:var(--profile-text);min-width:205px;color:var(--profile-bg)}.profile-button--quiet{border-bottom:1px solid var(--profile-line-strong);color:var(--profile-text)}.profile-button--quiet:hover{border-color:var(--profile-accent);color:var(--profile-accent)}.hero-facts{border-top:1px solid var(--profile-line);border-bottom:1px solid var(--profile-line);grid-template-columns:repeat(3,1fr);max-width:670px;margin:clamp(42px,5vw,72px) 0 0;display:grid}.hero-facts div{min-width:0;padding:16px 14px 16px 0}.hero-facts div+div{border-left:1px solid var(--profile-line);padding-left:18px}.hero-facts dt{color:var(--profile-soft);letter-spacing:.12em;text-transform:uppercase;margin-bottom:7px;font-size:.54rem;font-weight:650}.hero-facts dd{color:#f4f4efc7;margin:0;font-size:.72rem}.hero-portrait{aspect-ratio:4/5;background:var(--profile-panel);justify-self:end;width:min(100%,560px);margin:0;position:relative;overflow:hidden}.hero-portrait:after{z-index:4;content:"";pointer-events:none;border:1px solid #ffffff1f;position:absolute;inset:0}.hero-portrait picture,.hero-portrait img,.portrait-light{width:100%;height:100%;position:absolute;inset:0}.hero-portrait img{object-fit:cover;object-position:68% center;filter:contrast(1.05)brightness(.92);max-width:none;transition:filter .65s ease, transform .9s var(--profile-ease);transform:scale(1.012)}.portrait-light{z-index:2;opacity:.3;pointer-events:none;background:radial-gradient(circle at 68% 38%,#ffffff12,#0000 22%),linear-gradient(90deg,#080a0c42,#0000 48%);transition:opacity .5s}@media (hover:hover) and (pointer:fine){.hero-portrait:hover img{filter:contrast(1.09)brightness(.98);transform:scale(1.035)}.hero-portrait:hover .portrait-light{opacity:.8}}.profile-section{border-top:1px solid var(--profile-line);padding:clamp(82px,10vw,156px) clamp(24px,5.6vw,96px)}.profile-section>*{width:min(100%,1320px);margin-left:auto;margin-right:auto}.section-heading{grid-template-columns:minmax(180px,.3fr) minmax(0,.7fr);align-items:start;gap:clamp(28px,5vw,84px);display:grid}.section-heading .section-index{margin:8px 0 0}.section-heading>div{max-width:820px}.section-heading h2,.contact-section h2{letter-spacing:-.055em;text-wrap:balance;margin:0;font-size:clamp(2.25rem,4.2vw,4.6rem);font-weight:480;line-height:1}.section-heading>div>p{max-width:690px;color:var(--profile-muted);margin:25px 0 0;font-size:clamp(.96rem,1.2vw,1.1rem);line-height:1.66}.selected-work{background:#0a0d10}.flagship-grid{background:var(--profile-line);border:1px solid var(--profile-line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:clamp(48px,6vw,86px);display:grid}.project-card{background:var(--profile-panel);flex-direction:column;min-height:490px;padding:clamp(26px,3.5vw,52px);transition:background .24s;display:flex}.project-card:hover{background:#12171c}.project-card-meta{justify-content:space-between;align-items:center;gap:20px;display:flex}.project-card-meta span{color:var(--profile-accent);font-size:.6rem;font-weight:700}.project-card-meta p{color:var(--profile-muted);letter-spacing:.06em;text-align:right;text-transform:uppercase;margin:0;font-size:.62rem}.project-card h3{letter-spacing:-.05em;max-width:520px;margin:clamp(55px,6vw,88px) 0 0;font-size:clamp(2rem,3.4vw,3.55rem);font-weight:500;line-height:1}.project-card>p{max-width:580px;color:var(--profile-muted);margin:24px 0 0;font-size:.94rem;line-height:1.58}.project-card>strong{color:#f4f4efd1;max-width:560px;margin:25px 0 0;font-size:.77rem;font-weight:570;line-height:1.55}.project-card>a{width:fit-content;min-height:44px;color:var(--profile-text);align-items:center;gap:18px;margin-top:auto;padding-top:34px;font-size:.74rem;font-weight:650;display:flex}.project-card>a span{color:var(--profile-accent);transition:transform .22s var(--profile-ease)}.project-card>a:hover span{transform:translate(3px,-3px)}.supporting-row{border-right:1px solid var(--profile-line);border-bottom:1px solid var(--profile-line);border-left:1px solid var(--profile-line);grid-template-columns:minmax(150px,.3fr) repeat(2,minmax(0,.35fr));display:grid}.supporting-row>p,.supporting-row>a{min-height:88px;margin:0;padding:0 clamp(20px,2.4vw,34px)}.supporting-row>p{color:var(--profile-soft);letter-spacing:.1em;text-transform:uppercase;align-items:center;font-size:.61rem;font-weight:650;display:flex}.supporting-row>a{border-left:1px solid var(--profile-line);grid-template-columns:auto 1fr auto;align-items:center;gap:15px;transition:background .18s;display:grid}.supporting-row>a:hover{background:var(--profile-panel)}.supporting-row>a span{color:var(--profile-accent);font-size:.55rem}.supporting-row>a strong{font-size:.76rem;font-weight:590}.supporting-row>a i{color:var(--profile-accent);font-style:normal}.experience-section{background:var(--profile-bg)}.experience-list{border-top:1px solid var(--profile-line);margin-top:clamp(48px,6vw,88px)}.experience-list article{border-bottom:1px solid var(--profile-line);grid-template-columns:minmax(240px,.28fr) minmax(180px,.2fr) minmax(0,.52fr);gap:clamp(20px,4vw,70px);padding:30px 0;display:grid}.experience-title h3{margin:0;font-size:1.08rem;font-weight:590}.experience-title p,.experience-period,.experience-list article>p{color:var(--profile-muted);margin:7px 0 0;font-size:.78rem;line-height:1.55}.experience-period{margin-top:0}.experience-list article>p{max-width:620px;margin-top:0;font-size:.88rem}.education-strip{border:1px solid var(--profile-line);grid-template-columns:minmax(150px,.28fr) repeat(2,minmax(0,.36fr));margin-top:48px;display:grid}.education-strip>p,.education-strip>div{min-height:102px;margin:0;padding:22px 26px}.education-strip>p{color:var(--profile-soft);letter-spacing:.1em;text-transform:uppercase;font-size:.61rem;font-weight:650}.education-strip>div{border-left:1px solid var(--profile-line);align-content:center;gap:7px;display:grid}.education-strip strong{font-size:.83rem;font-weight:590}.education-strip span{color:var(--profile-muted);font-size:.7rem}.skills-section{background:#0a0d10}.skills-grid{border-top:1px solid var(--profile-line);border-left:1px solid var(--profile-line);grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(48px,6vw,86px);display:grid}.skills-grid article{border-right:1px solid var(--profile-line);border-bottom:1px solid var(--profile-line);min-height:260px;padding:26px}.skills-grid article>span{color:var(--profile-accent);font-size:.56rem;font-weight:680}.skills-grid h3{letter-spacing:-.025em;margin:55px 0 0;font-size:1.12rem;font-weight:580}.skills-grid p{color:var(--profile-muted);margin:16px 0 0;font-size:.78rem;line-height:1.58}.credential-row{border:1px solid var(--profile-line);grid-template-columns:repeat(4,minmax(0,1fr));margin-top:24px;display:grid}.credential-row>div{min-height:130px;padding:24px}.credential-row>div+div{border-left:1px solid var(--profile-line)}.credential-row strong,.credential-row span{display:block}.credential-row strong{font-size:.84rem;font-weight:620}.credential-row span{color:var(--profile-muted);margin-top:12px;font-size:.7rem;line-height:1.48}.contact-section{border-top:1px solid var(--profile-line);grid-template-columns:minmax(280px,.82fr) minmax(520px,1.18fr);gap:clamp(48px,7vw,112px);width:min(100%,1512px);margin:0 auto;padding:clamp(88px,10vw,156px) clamp(24px,5.6vw,96px) 38px;display:grid}.contact-section .section-index{grid-column:1/-1;margin:0 0 clamp(8px,1.5vw,22px)}.contact-intro{flex-direction:column;min-width:0;display:flex}.contact-copy{max-width:560px}.contact-copy p{max-width:48ch;color:var(--profile-muted);margin:22px 0 0;font-size:.94rem;line-height:1.62}.contact-recipient{margin-top:clamp(46px,6vw,82px)}.contact-recipient>p,.contact-form-heading p{color:var(--profile-soft);margin:0 0 12px;font-size:.75rem;font-weight:600}.contact-actions{border:1px solid var(--profile-line-strong);background:#ffffff04;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;display:grid;position:relative;overflow:hidden}.contact-email{align-content:center;gap:7px;min-width:0;min-height:90px;padding:16px 18px;transition:background .18s;display:grid}.contact-email:hover{background:#ffffff09}.contact-email span{color:var(--profile-soft);font-size:.75rem;font-weight:500}.contact-email strong{text-overflow:ellipsis;white-space:nowrap;font-size:clamp(.94rem,1.35vw,1.1rem);font-weight:600;overflow:hidden}.copy-email{border:0;border-left:1px solid var(--profile-line-strong);background:var(--profile-text);min-width:82px;color:var(--profile-bg);cursor:pointer;font:inherit;font-size:.78rem;font-weight:650;transition:background .18s,color .18s}.copy-email:hover{background:var(--profile-accent)}.copy-status{min-height:1.4em;color:var(--profile-muted);margin-top:8px;font-size:.65rem;display:block}.contact-links{flex-wrap:wrap;gap:22px;margin-top:40px;display:flex}.contact-links a{min-height:44px;color:var(--profile-muted);align-items:center;gap:9px;font-size:.72rem;display:inline-flex}.contact-links a:hover{color:var(--profile-text)}.contact-form{border-top:1px solid var(--profile-line-strong);align-self:start;padding-top:18px}.contact-honey{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.contact-form-heading{justify-content:space-between;align-items:baseline;gap:18px;min-height:34px;display:flex}.contact-form-heading p{color:var(--profile-text);margin:0}.contact-form-heading span{color:var(--profile-soft);font-size:.75rem}.contact-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px;margin-top:18px;display:grid}.contact-field{gap:9px;min-width:0;display:grid}.contact-field--full{grid-column:1/-1}.contact-field>span{color:var(--profile-text);justify-content:space-between;align-items:baseline;gap:12px;font-size:.78rem;font-weight:560;display:flex}.contact-field>span i{color:var(--profile-soft);font-size:.75rem;font-style:normal;font-weight:450}.contact-field input,.contact-field textarea{border:1px solid var(--profile-line-strong);width:100%;min-width:0;color:var(--profile-text);font:inherit;background:#ffffff05;border-radius:8px;font-size:.9rem;line-height:1.5;transition:border-color .18s,background .18s}.contact-field input{min-height:48px;padding:0 14px}.contact-field textarea{resize:vertical;min-height:154px;padding:13px 14px}.contact-field input:hover,.contact-field textarea:hover{background:#ffffff08}.contact-field input:focus,.contact-field textarea:focus{border-color:var(--profile-accent);background:#9cbcff09;outline:none}.contact-field input:focus-visible,.contact-field textarea:focus-visible{outline:2px solid var(--profile-accent);outline-offset:2px}.contact-field input[aria-invalid=true],.contact-field textarea[aria-invalid=true]{border-color:#ffb19edb}.contact-field small{min-height:1.35em;color:var(--profile-soft);font-size:.75rem;line-height:1.45}.contact-field textarea+small{justify-self:end}.contact-file input{min-height:54px;color:var(--profile-muted);padding:8px 9px}.contact-file input::file-selector-button{min-height:36px;color:var(--profile-text);cursor:pointer;font:inherit;background:#f4f4ef1f;border:0;border-radius:5px;margin-right:12px;padding:0 13px;font-size:.75rem;font-weight:600}.contact-form-footer{border-top:1px solid var(--profile-line);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;margin-top:28px;padding-top:24px;display:grid}.contact-privacy{max-width:56ch;color:var(--profile-soft);margin:0;font-size:.75rem;line-height:1.55}.contact-privacy a{width:fit-content;min-height:44px;color:var(--profile-text);text-underline-offset:3px;align-items:center;margin-top:4px;text-decoration:underline #f4f4ef5c;display:flex}.contact-submit{border:1px solid var(--profile-text);background:var(--profile-text);min-width:148px;min-height:48px;color:var(--profile-bg);cursor:pointer;font:inherit;border-radius:999px;justify-content:space-between;align-items:center;gap:24px;padding:0 18px;font-size:.78rem;font-weight:650;transition:background .18s,border-color .18s,color .18s;display:inline-flex}.contact-submit:hover{border-color:var(--profile-accent);background:var(--profile-accent)}.contact-submit:disabled{cursor:wait;opacity:.62}.contact-submit i{font-style:normal}.contact-form-status{min-height:1.5em;color:var(--profile-muted);margin:12px 0 0;font-size:.78rem;line-height:1.5}.contact-form-fallback{min-height:44px;color:var(--profile-text);text-underline-offset:3px;align-items:center;gap:8px;margin-top:4px;font-size:.78rem;text-decoration:underline #f4f4ef5c;display:inline-flex}.contact-form-fallback[hidden]{display:none}.contact-fallback-note{color:var(--profile-soft);margin:2px 0 0;font-size:.75rem;line-height:1.5}.contact-fallback-note[hidden]{display:none}.contact-signoff{border-top:1px solid var(--profile-line);color:var(--profile-soft);letter-spacing:.05em;grid-column:1/-1;margin:clamp(64px,8vw,112px) 0 0;padding-top:24px;font-size:.62rem}.message-sent-main{place-items:center;min-height:calc(100svh - 64px);padding:clamp(64px,8vw,112px) 24px;display:grid}.message-sent-main>div{width:min(100%,720px)}.message-sent-main h1{letter-spacing:-.045em;max-width:11ch;margin:0;font-size:clamp(2.7rem,6vw,5.4rem);font-weight:600;line-height:.98}.message-sent-main>div>p:not(.hero-role){max-width:48ch;color:var(--profile-muted);margin:26px 0 0;font-size:1rem;line-height:1.6}@media (width<=1000px){.contact-section{grid-template-columns:1fr;gap:48px}.contact-intro{max-width:720px}}@media (width<=1080px){html:has(.profile-page){scroll-padding-top:100px}.profile-header{grid-template-columns:1fr auto}.profile-nav{border-top:1px solid var(--profile-line);order:3;grid-column:1/-1;min-height:44px}.profile-header{padding-top:8px}.profile-hero{grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr);min-height:auto;padding-top:76px;padding-bottom:76px}.hero-copy h1{font-size:clamp(3rem,6.2vw,4.6rem)}.skills-grid,.credential-row{grid-template-columns:repeat(2,minmax(0,1fr))}.credential-row>div:nth-child(3){border-top:1px solid var(--profile-line);border-left:0}.credential-row>div:nth-child(4){border-top:1px solid var(--profile-line)}}@media (width<=760px){html:has(.profile-page){scroll-padding-top:112px}.profile-header{backdrop-filter:none;grid-template-columns:1fr auto;min-height:108px;padding:8px 16px 0;display:grid}.profile-brand span{display:none}.profile-brand strong{font-size:.88rem}.header-email{padding-inline:6px;font-size:.69rem}.profile-nav{scrollbar-width:none;justify-content:flex-start;gap:0;width:calc(100% + 32px);min-height:48px;margin-left:-16px;padding-inline:9px;overflow-x:auto}.profile-nav::-webkit-scrollbar{display:none}.profile-nav a{min-width:max-content;padding:0 10px;font-size:.65rem}.profile-nav a:after{display:none}.profile-hero{flex-direction:column;gap:0;min-height:0;padding:0 18px 68px;display:flex}.hero-portrait{aspect-ratio:auto;order:-1;width:calc(100% + 36px);max-width:none;height:clamp(220px,36svh,340px);margin:0 -18px 42px}.hero-portrait img{object-position:center 31%}.portrait-light{background:linear-gradient(0deg, var(--profile-bg), transparent 42%), linear-gradient(90deg, #080a0c3d, transparent 50%)}.section-index{margin-bottom:18px}.hero-role{font-size:.66rem}.hero-copy h1{font-size:clamp(2.25rem,10.5vw,3.2rem)}.hero-story{margin-top:22px;font-size:.92rem;line-height:1.57}.hero-actions{align-items:stretch;margin-top:27px}.profile-button{flex:170px;min-height:46px}.hero-facts{grid-template-columns:repeat(2,1fr);margin-top:38px}.hero-facts div:last-child{border-top:1px solid var(--profile-line);border-left:0;grid-column:1/-1;padding-left:0;display:block}.profile-section{padding:72px 18px}.section-heading{display:block}.section-heading .section-index{margin:0 0 26px}.section-heading h2,.contact-section h2{font-size:clamp(2.25rem,10vw,3.35rem)}.section-heading>div>p{margin-top:22px;font-size:.91rem}.flagship-grid{grid-template-columns:1fr;margin-top:42px}.project-card{min-height:420px;padding:24px 20px}.project-card h3{margin-top:50px;font-size:clamp(2rem,9vw,2.75rem)}.supporting-row{grid-template-columns:1fr}.supporting-row>p,.supporting-row>a{min-height:70px}.supporting-row>a{border-top:1px solid var(--profile-line);border-left:0}.experience-list{margin-top:42px}.experience-list article{grid-template-columns:1fr;gap:15px;padding:25px 0}.experience-period{order:3}.education-strip{grid-template-columns:1fr;margin-top:34px}.education-strip>p,.education-strip>div{min-height:82px}.education-strip>div{border-top:1px solid var(--profile-line);border-left:0}.skills-grid,.credential-row{grid-template-columns:1fr;margin-top:42px}.skills-grid article{min-height:215px}.skills-grid h3{margin-top:38px}.credential-row>div,.credential-row>div:nth-child(3),.credential-row>div:nth-child(4){border-top:1px solid var(--profile-line);border-left:0;min-height:108px}.credential-row>div:first-child{border-top:0}.contact-section{grid-template-columns:1fr;min-height:0;padding:72px 18px 28px}.contact-section .section-index{margin-bottom:6px}.contact-intro,.contact-copy{max-width:none}.contact-copy p{font-size:.9rem;line-height:1.6}.contact-recipient{margin-top:36px}.contact-email{min-height:84px}.copy-email{min-width:76px}.contact-links{justify-content:flex-start;margin-top:30px}.contact-form{margin-top:10px}.contact-signoff{text-align:left;margin-top:58px}}@media (width<=380px){.profile-nav a{padding-inline:8px}.hero-portrait{height:clamp(205px,34svh,270px)}.hero-facts dd{font-size:.66rem}.project-card-meta{display:block}.project-card-meta p{text-align:left;margin-top:8px}.contact-email strong{font-size:.88rem}}@media (prefers-reduced-motion:reduce){html:has(.profile-page){scroll-behavior:auto}.profile-page *,.profile-page :before,.profile-page :after{scroll-behavior:auto!important;transition:none!important}.hero-portrait img,.hero-portrait:hover img{transform:none}}.profile-header{min-height:64px}.profile-brand strong,.profile-nav a,.header-email,.hero-role,.section-index,.profile-button,.hero-facts dt,.hero-facts dd{letter-spacing:0}.profile-brand strong{font-size:.9375rem;font-weight:600}.profile-nav a,.header-email{font-size:.8125rem;font-weight:500}.profile-hero{grid-template-columns:minmax(0,64fr) minmax(320px,36fr);gap:clamp(44px,6vw,96px);min-height:calc(100svh - 64px);padding-top:clamp(64px,7vw,104px);padding-bottom:clamp(64px,7vw,104px)}.hero-copy{max-width:740px}.hero-role,.section-index{color:var(--profile-muted);text-transform:none;font-size:.8125rem;font-weight:600;line-height:1.4}.hero-role{color:var(--profile-accent);margin-bottom:18px}.section-index{margin-bottom:24px}.hero-copy h1{letter-spacing:-.03em;max-width:720px;font-size:clamp(2.5rem,3.9vw,3.375rem);font-weight:600;line-height:1.07}.hero-story{letter-spacing:-.01em;max-width:660px;margin-top:24px;font-size:1rem;line-height:1.6}.hero-story--work{margin-top:12px}.hero-actions{margin-top:28px}.profile-button{gap:24px;min-height:44px;font-size:.8125rem;font-weight:600}.profile-button--light{min-width:176px}.hero-facts{max-width:660px;margin-top:clamp(34px,4vw,54px)}.hero-facts dt{text-transform:none;margin-bottom:5px;font-size:.75rem;font-weight:600}.hero-facts dd{font-size:.8125rem;line-height:1.45}.hero-portrait{--portrait-rotate-x:0deg;--portrait-rotate-y:0deg;--portrait-light-x:50%;--portrait-light-y:42%;aspect-ratio:2/3;width:min(30vw,420px);transform:perspective(900px) rotateX(var(--portrait-rotate-x)) rotateY(var(--portrait-rotate-y));transform-style:preserve-3d;transition:transform .42s var(--profile-ease), filter .3s ease;will-change:transform;overflow:visible}.hero-portrait:after{border-color:#ffffff21;transition:border-color .26s,box-shadow .26s;box-shadow:0 22px 55px #0000003d}.hero-portrait img{object-fit:contain;object-position:center;filter:contrast(1.035)brightness(.94);transition:filter .3s;transform:translateZ(16px)}.portrait-light{background:radial-gradient(circle at var(--portrait-light-x) var(--portrait-light-y), #ffffff26, transparent 24%), linear-gradient(135deg, #9cbcff12, transparent 45%);opacity:.42}.section-heading h2,.contact-section h2{letter-spacing:-.02em;font-size:clamp(1.875rem,2.8vw,2.5rem);font-weight:600;line-height:1.14}.section-heading>div>p{margin-top:18px;font-size:1rem;line-height:1.6}.project-card-meta p,.experience-period,.education-strip>p,.skills-grid article>span,.supporting-row>p,.contact-email span{letter-spacing:0;text-transform:none}.supporting-row>p,.contact-email span{font-size:.75rem}.project-card{min-height:420px}.project-card h3{letter-spacing:-.02em;margin-top:clamp(42px,5vw,64px);font-size:clamp(1.625rem,2.35vw,2rem);font-weight:600;line-height:1.18}.experience-title h3,.skills-grid h3{letter-spacing:-.02em;font-size:clamp(1.125rem,1.6vw,1.375rem);font-weight:600;line-height:1.25}@media (hover:hover) and (pointer:fine){.hero-portrait:hover{filter:saturate(1.02)}.hero-portrait:hover:after{border-color:#9cbcff5c;box-shadow:0 28px 70px #00000057}.hero-portrait:hover img{filter:contrast(1.07)brightness(.98);transform:translateZ(16px)scale(1.015)}}@media (width<=900px){html:has(.profile-page){scroll-padding-top:100px}.profile-hero{grid-template-columns:minmax(0,1fr);gap:44px;min-height:auto;padding-top:56px}.hero-copy{max-width:680px}.hero-portrait{width:min(48vw,360px);margin-inline:auto}}@media (width<=760px){html:has(.profile-page){scroll-padding-top:92px}.profile-header{background:var(--profile-bg);min-height:88px;padding:0 16px}.profile-nav{min-height:44px;overflow:auto hidden}.profile-nav a{min-height:44px;padding-inline:9px;font-size:.75rem}.header-email{font-size:.75rem}.profile-hero{gap:0;padding:20px 18px 64px}.hero-portrait{aspect-ratio:2/3;order:-1;width:min(42vw,153px);height:auto;margin:0 auto 28px}.hero-portrait img{object-position:center}.portrait-light{background:radial-gradient(circle at 52% 36%,#ffffff17,#0000 25%),linear-gradient(135deg,#9cbcff0d,#0000 45%)}.hero-role{margin-bottom:14px;font-size:.8125rem}.hero-copy h1{max-width:12ch;font-size:clamp(2.25rem,9.5vw,2.8rem);line-height:1.05}.hero-story{margin-top:20px;font-size:1rem;line-height:1.6}.hero-story--work{margin-top:12px}.hero-actions{flex-direction:row;align-items:center;gap:12px;margin-top:24px}.hero-actions .profile-button{flex:150px;min-width:0}.profile-section{padding:64px 18px}.section-heading .section-index{margin-bottom:20px}.section-heading h2,.contact-section h2{font-size:clamp(1.75rem,8vw,2.25rem);line-height:1.14}.project-card{min-height:360px}.project-card h3{margin-top:38px;font-size:1.75rem}.contact-section{padding-top:64px}.contact-form-grid{grid-template-columns:1fr;gap:20px}.contact-field--full{grid-column:auto}.contact-form-heading{gap:5px;display:grid}.contact-field input,.contact-field textarea{font-size:1rem}.contact-form-footer{grid-template-columns:1fr;align-items:start;gap:22px}.contact-submit{width:100%}.message-sent-main{align-items:start;padding:82px 18px 64px}}@media (width<=380px){.hero-portrait{width:min(42vw,133px);height:auto}.hero-copy h1{font-size:clamp(2.125rem,9.3vw,2.45rem)}.contact-actions{grid-template-columns:minmax(0,1fr) 72px}.contact-email{padding-inline:13px}.contact-email strong{font-size:.86rem}}@media (prefers-reduced-motion:reduce){.hero-portrait,.hero-portrait:hover,.hero-portrait img,.hero-portrait:hover img{transform:none!important}}@media (pointer:coarse),(prefers-reduced-motion:reduce){.hero-portrait{will-change:auto;transform:none!important}}
