@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-ext-wght-normal.cHuGMAiY.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-wght-normal.DwHjdM4S.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-greek-wght-normal.ece1310W.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-vietnamese-wght-normal.D-yuW59g.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-ext-wght-normal.CxNHBx-q.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-wght-normal.D9elroTD.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-background:#f6f3ec;--color-surface:#fffdf8;--color-text:#17191d;--color-muted:#5a5d60;--color-rule:#d5cec1;--color-rule-strong:#aaa397;--color-accent:#244a91;--color-accent-dark:#18386f;--color-accent-soft:#e8edf7;--color-positive:#285b49;--font-body:"Inter Variable", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-editorial:"Source Serif 4 Variable", Georgia, "Times New Roman", serif;--shell:1180px;--measure:68ch;--section-space:clamp(5.5rem, 10vw, 9rem);--ease:.18s ease}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--color-background);scroll-padding-top:6rem}body{color:var(--color-text);background:var(--color-background);font-family:var(--font-body);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.65;overflow-x:hidden}body:before{z-index:-1;content:"";pointer-events:none;background-image:linear-gradient(90deg,#17191d06 1px,#0000 1px);background-size:min(8.333vw,100px) 100%;position:fixed;inset:0}main{min-height:62vh}h1,h2,h3,p,figure,blockquote,dl,dd{margin-block:0}h1,h2,h3,h4{color:var(--color-text);font-family:var(--font-editorial);text-wrap:balance;font-weight:540;line-height:1.08}a{color:inherit;text-decoration-color:color-mix(in srgb, currentColor 48%, transparent);text-underline-offset:.25em;transition:color var(--ease), text-decoration-color var(--ease), background-color var(--ease), border-color var(--ease);text-decoration-thickness:1px}a:hover{color:var(--color-accent-dark);text-decoration-color:currentColor}a:focus-visible,summary:focus-visible{outline:3px solid var(--color-accent);outline-offset:4px;border-radius:2px}.contact-section :focus-visible,.site-footer :focus-visible{outline-color:#fff}img,picture{max-width:100%;display:block}ul,ol{margin-block:0;padding-inline-start:1.2rem}::selection{color:#fff;background:var(--color-accent)}.shell{width:min(var(--shell), calc(100% - 3rem));margin-inline:auto}.skip-link{z-index:100;color:#fff;background:var(--color-accent-dark);padding:.7rem 1rem;font-size:.875rem;font-weight:700;position:fixed;top:.75rem;left:.75rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:20;border-bottom:1px solid var(--color-rule);background:var(--color-background);position:relative}.header-inner{justify-content:space-between;align-items:center;gap:2rem;min-height:5rem;display:flex}.wordmark{min-height:2.75rem;color:var(--color-text);align-items:center;gap:.85rem;text-decoration:none;display:inline-flex}.wordmark-monogram{border:1px solid var(--color-text);width:2.45rem;height:2.45rem;font-family:var(--font-editorial);letter-spacing:-.04em;place-items:center;font-size:.9rem;font-weight:650;display:grid}.wordmark-name{letter-spacing:.14em;font-size:.76rem;font-weight:730}.desktop-nav ul,.mobile-nav ul{align-items:center;gap:clamp(.85rem,1.5vw,1.5rem);padding:0;list-style:none;display:flex}.desktop-nav a,.mobile-nav a{min-height:2.75rem;color:var(--color-muted);letter-spacing:.055em;align-items:center;font-size:.76rem;font-weight:650;text-decoration:none;display:inline-flex}.desktop-nav a:hover,.desktop-nav a[aria-current=page],.mobile-nav a:hover,.mobile-nav a[aria-current=page]{color:var(--color-accent-dark)}.mobile-nav{display:none}.mobile-nav summary{border:1px solid var(--color-rule-strong);cursor:pointer;justify-content:center;align-items:center;min-width:4.2rem;min-height:2.75rem;font-size:.8rem;font-weight:700;list-style:none;display:inline-flex}.mobile-nav summary::-webkit-details-marker{display:none}.hero{border-bottom:1px solid var(--color-rule);padding-block:clamp(3.75rem,6vw,5.5rem) clamp(4.5rem,7vw,6.5rem)}.hero-grid{grid-template-columns:minmax(0,1.75fr) minmax(250px,.65fr);align-items:start;gap:clamp(3rem,8vw,8rem);display:grid}.hero-kicker,.eyebrow,.project-index,.small-label{color:var(--color-accent-dark);letter-spacing:.13em;text-transform:uppercase;font-size:.73rem;font-weight:720;line-height:1.4}.hero h1{letter-spacing:-.055em;max-width:12ch;margin-top:1.2rem;font-size:clamp(3.8rem,6.4vw,5.9rem)}.hero-tagline{max-width:36ch;font-family:var(--font-editorial);text-wrap:balance;margin-top:clamp(1.25rem,2.4vw,2rem);font-size:clamp(1.35rem,2.6vw,1.95rem);font-weight:480;line-height:1.18}.hero-introduction{color:#33373c;max-width:66ch;margin-top:1.4rem;font-size:clamp(1.02rem,1.4vw,1.15rem);line-height:1.7}.status-line{min-height:2.15rem;color:var(--color-positive);letter-spacing:.02em;background:#edf3ee;border:1px solid #b8c6ba;align-items:center;gap:.6rem;margin-top:1.5rem;padding:.35rem .7rem;font-size:.77rem;font-weight:650;display:inline-flex}.status-dot{background:var(--color-positive);border-radius:50%;width:.48rem;height:.48rem}.hero-actions,.project-actions,.contact-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.action-link{border:1px solid var(--color-rule-strong);min-height:3rem;color:var(--color-text);background:0 0;justify-content:center;align-items:center;padding:.65rem 1rem;font-size:.82rem;font-weight:680;text-decoration:none;display:inline-flex}.action-link:hover{border-color:var(--color-accent);color:var(--color-accent-dark);background:var(--color-surface)}.action-link.primary{border-color:var(--color-accent-dark);color:#fff;background:var(--color-accent-dark)}.action-link.primary:hover{border-color:var(--color-accent);color:#fff;background:var(--color-accent)}.profile-links{color:var(--color-muted);flex-wrap:wrap;gap:.6rem 1.4rem;margin-top:1rem;font-size:.82rem;display:flex}.profile-links a{align-items:center;min-height:2.75rem;display:inline-flex}.portrait-card{border:1px solid var(--color-rule-strong);background:var(--color-surface);padding:.65rem;position:relative}.portrait-card:before{border-top:1px solid var(--color-accent);border-right:1px solid var(--color-accent);content:"";width:2.2rem;height:2.2rem;position:absolute;top:-.6rem;right:-.6rem}.portrait-card img{aspect-ratio:1;object-fit:cover;background:#e4e0d7;width:100%}.portrait-caption{color:var(--color-muted);justify-content:space-between;gap:1rem;padding:.8rem .2rem .15rem;font-size:.7rem;line-height:1.4;display:flex}.section{padding-block:var(--section-space);border-bottom:1px solid var(--color-rule)}.section-heading{grid-template-columns:minmax(120px,.35fr) minmax(0,1.65fr);align-items:start;gap:clamp(2rem,7vw,7rem);margin-bottom:clamp(3rem,6vw,5.5rem);display:grid}.section-heading h2{letter-spacing:-.035em;max-width:18ch;font-size:clamp(2.5rem,5vw,4.6rem)}.section-heading-copy>p{max-width:63ch;color:var(--color-muted);margin-top:1.25rem;font-size:1rem}.about-grid{grid-template-columns:minmax(0,1.2fr) minmax(260px,.65fr);gap:clamp(3rem,8vw,8rem);display:grid}.about-statement{max-width:38ch;font-family:var(--font-editorial);font-size:clamp(1.8rem,3.2vw,2.7rem);line-height:1.26}.about-copy{max-width:var(--measure);color:#373a3e;margin-top:2rem;font-size:1.05rem}.foundation-list{border-top:1px solid var(--color-text);padding:0;list-style:none}.foundation-list li{border-bottom:1px solid var(--color-rule);color:var(--color-muted);grid-template-columns:2.3rem 1fr;gap:.75rem;padding-block:1rem;font-size:.9rem;display:grid}.foundation-list span{color:var(--color-accent);font-family:var(--font-editorial);font-size:1.05rem}.interest-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,3vw,3rem);display:grid}.interest-item{border-top:2px solid var(--color-text);min-height:15rem;padding-top:1.15rem}.interest-item .interest-number{color:var(--color-accent);font-family:var(--font-editorial);font-size:.9rem}.interest-item h3{max-width:11ch;margin-top:3.5rem;font-size:clamp(1.75rem,3vw,2.5rem)}.interest-item p{max-width:34ch;color:var(--color-muted);margin-top:1rem;font-size:.94rem}.related-interests{border-top:1px solid var(--color-rule-strong);grid-template-columns:minmax(120px,.35fr) minmax(0,1.65fr);gap:clamp(2rem,7vw,7rem);margin-top:4.5rem;padding-top:1.25rem;display:grid}.related-interests ul{flex-wrap:wrap;gap:.6rem 1.8rem;padding:0;list-style:none;display:flex}.related-interests li{color:var(--color-muted);font-family:var(--font-editorial);font-size:clamp(1.08rem,1.8vw,1.35rem)}.education-block{border-top:2px solid var(--color-text);border-bottom:1px solid var(--color-rule);grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:clamp(3rem,8vw,8rem);padding-block:1.75rem;display:grid}.education-block h3{font-size:clamp(1.8rem,3.4vw,2.8rem)}.education-degree{color:var(--color-muted);margin-top:.8rem}.education-meta{grid-template-columns:1fr 1fr;gap:1.6rem;display:grid}.education-meta dt,.project-meta dt{color:var(--color-muted);letter-spacing:.1em;text-transform:uppercase;font-size:.68rem;font-weight:700}.education-meta dd,.project-meta dd{font-family:var(--font-editorial);margin-top:.35rem;font-size:1.05rem;line-height:1.35}.distinction-list{border-top:2px solid var(--color-text);padding:0;list-style:none}.distinction-item{border-bottom:1px solid var(--color-rule);grid-template-columns:minmax(120px,.35fr) minmax(0,1.25fr) minmax(100px,.25fr);align-items:baseline;gap:2rem;padding-block:1.55rem;display:grid}.distinction-item h3{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;font-size:.82rem;font-weight:760}.distinction-item p{color:#33373c;max-width:68ch;font-size:.98rem}.distinction-item time,.distinction-evidence{color:var(--color-muted);font-family:var(--font-editorial);justify-self:end;font-size:.9rem}.featured-project{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);align-items:start;gap:clamp(2.5rem,6vw,6rem);display:grid}.project-visual{border:1px solid var(--color-rule-strong);background:var(--color-surface);padding:clamp(.5rem,1vw,.8rem);position:relative;overflow:hidden}.project-visual:after{color:var(--color-text);letter-spacing:.08em;text-transform:uppercase;content:"Live product · fictional data";background:#fffdf8eb;padding:.32rem .55rem;font-size:.63rem;font-weight:700;position:absolute;inset:auto 1.2rem 1.2rem auto}.project-visual img{aspect-ratio:1.2;object-fit:cover;object-position:top center;width:100%;height:auto;transition:transform var(--ease)}.project-visual:hover img{transform:scale(1.008)}.project-copy h3,.project-entry h2{overflow-wrap:anywhere;letter-spacing:-.035em;margin-top:1rem;font-size:clamp(2rem,4.5vw,4rem)}.project-summary{color:#30343a;max-width:48ch;margin-top:1.3rem;font-size:1.04rem}.project-problem{color:#3c4147;max-width:50ch;margin-top:1rem}.project-principle{border-left:2px solid var(--color-accent);color:var(--color-muted);font-family:var(--font-editorial);margin-top:1.5rem;padding-left:1rem;font-size:1.12rem;line-height:1.5}.project-meta{border-top:1px solid var(--color-rule);grid-template-columns:repeat(2,minmax(0,1fr));gap:1.35rem;margin-top:2rem;padding-top:1.2rem;display:grid}.project-meta .wide{grid-column:1/-1}.additional-work{border-top:1px solid var(--color-rule-strong);grid-template-columns:minmax(120px,.35fr) minmax(0,1.65fr);gap:clamp(2rem,7vw,7rem);margin-top:5rem;padding-top:1.4rem;display:grid}.additional-work p{max-width:60ch;color:var(--color-muted)}.additional-work a{color:var(--color-text);font-weight:650}.learning-note{border-left:3px solid var(--color-accent);color:#3c4147;background:var(--color-accent-soft);max-width:68ch;margin-bottom:2.25rem;padding:.9rem 1rem;font-size:.9rem}.learning-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2.5rem,7vw,7rem);display:grid}.learning-column{border-top:2px solid var(--color-text);padding-top:1rem}.learning-column h3{font-family:var(--font-body);letter-spacing:.11em;text-transform:uppercase;font-size:.75rem;font-weight:750}.learning-column ul{margin-top:1rem;padding:0;list-style:none}.learning-column li{border-bottom:1px solid var(--color-rule);font-family:var(--font-editorial);padding-block:1rem;font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.35}.learning-column li span{color:var(--color-muted);font-family:var(--font-body);letter-spacing:.05em;text-transform:uppercase;margin-top:.3rem;font-size:.72rem;font-weight:630;display:block}.contact-section{background:var(--color-accent-dark)}.contact-section .eyebrow,.contact-section h2,.contact-section p,.contact-section a{color:#fff}.contact-section .section-heading{margin-bottom:2rem}.contact-section .section-heading-copy>p{color:#dfe7f6}.contact-section .action-link{border-color:#ffffff7a}.contact-section .action-link:hover,.contact-section .action-link.primary{color:var(--color-accent-dark);background:#fff;border-color:#fff}.site-footer{color:#dfe7f6;background:var(--color-accent-dark);border-top:1px solid #3e5b90;padding-block:3.5rem}.footer-grid{grid-template-columns:1fr 1fr auto;gap:3rem;display:grid}.footer-name{color:#fff;font-family:var(--font-editorial);font-size:1.25rem}.footer-note,.footer-meta{color:#bdc9de;margin-top:.5rem;font-size:.76rem}.footer-links{align-content:start;gap:.55rem;font-size:.8rem;display:grid}.footer-links a{color:#fff;text-underline-offset:.35em}.footer-meta{text-align:right;margin:0}.projects-hero{border-bottom:1px solid var(--color-rule);padding-block:clamp(4rem,7vw,6rem)}.projects-hero-grid{grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);align-items:end;gap:clamp(3rem,8vw,8rem);display:grid}.projects-hero h1,.not-found h1{letter-spacing:-.05em;max-width:11ch;margin-top:1rem;font-size:clamp(3.3rem,7vw,6rem)}.projects-hero-copy{max-width:54ch;color:var(--color-muted);font-size:1.05rem}.projects-list{padding-block:clamp(4rem,8vw,7rem)}.project-entry{border-top:1px solid var(--color-rule-strong);grid-template-columns:minmax(120px,.32fr) minmax(0,1.35fr) minmax(230px,.5fr);gap:clamp(2rem,5vw,5rem);padding-block:clamp(3.5rem,7vw,6rem);display:grid}.project-entry:first-child{border-top:0;padding-top:0}.project-entry.featured{grid-template-columns:minmax(120px,.25fr) minmax(0,1.55fr)}.project-entry.featured .project-entry-body{grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);align-items:start;gap:clamp(2.5rem,5vw,5rem);display:grid}.project-status{border:1px solid var(--color-rule-strong);width:fit-content;min-height:1.8rem;color:var(--color-muted);letter-spacing:.05em;text-transform:uppercase;align-items:center;padding:.2rem .55rem;font-size:.68rem;font-weight:690;display:inline-flex}.project-description{color:#35393e;max-width:64ch;margin-top:1.4rem}.project-caveat{color:var(--color-muted);margin-top:1.25rem;font-size:.86rem}.stack-list{color:var(--color-muted);margin-top:2rem;font-size:.8rem}.stack-list strong{color:var(--color-text);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.4rem;font-size:.66rem;display:block}.project-aside{padding-top:.3rem}.project-aside dl{gap:1.3rem;display:grid}.return-link{align-items:center;min-height:2.75rem;margin-top:3rem;font-size:.82rem;font-weight:670;display:inline-flex}.not-found{align-content:center;min-height:68vh;padding-block:5rem;display:grid}.not-found p:not(.eyebrow){max-width:48ch;color:var(--color-muted);margin-top:1.5rem}@media (width<=1040px){.desktop-nav{display:none}.mobile-nav{display:block;position:relative}.mobile-nav nav{border:1px solid var(--color-rule-strong);background:var(--color-surface);width:min(19rem,100vw - 2rem);padding:.7rem;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 .8rem 2rem #17191d17}.mobile-nav ul{gap:0;display:grid}.mobile-nav a{border-bottom:1px solid var(--color-rule);width:100%;padding-inline:.65rem}.mobile-nav li:last-child a{border-bottom:0}.hero-grid{grid-template-columns:minmax(0,1.45fr) minmax(220px,.55fr);gap:3rem}.featured-project,.education-block,.about-grid{gap:3.5rem}.project-entry{grid-template-columns:7rem minmax(0,1fr)}.project-entry .project-aside{grid-column:2}}@media (width<=760px){:root{--section-space:5rem}body:before{background-size:25vw 100%}.shell{width:min(var(--shell), calc(100% - 2rem))}.wordmark-name{display:none}.hero-grid,.about-grid,.education-block,.featured-project,.projects-hero-grid{grid-template-columns:1fr}.hero-grid{gap:3.5rem}.hero h1{font-size:clamp(3.3rem,17vw,4.6rem)}.portrait-card{max-width:22rem}.section-heading,.related-interests,.additional-work{grid-template-columns:1fr;gap:1.2rem}.section-heading{margin-bottom:3rem}.interest-grid{grid-template-columns:1fr}.interest-item{grid-template-columns:2.5rem 1fr;gap:0 1rem;min-height:0;padding-block:1.2rem 1.5rem;display:grid}.interest-item h3{margin-top:0}.interest-item p{grid-column:2}.education-meta,.learning-grid,.footer-grid{grid-template-columns:1fr}.distinction-item{grid-template-columns:1fr;gap:.6rem}.distinction-item time,.distinction-evidence{justify-self:start}.project-entry,.project-entry.featured,.project-entry.featured .project-entry-body{grid-template-columns:1fr}.project-entry .project-aside{grid-column:auto}.footer-grid{gap:2rem}.footer-meta{text-align:left}}@media (width<=480px){.header-inner{min-height:4.5rem}.hero{padding-top:3.5rem}.hero .hero-actions{grid-template-columns:1fr 1fr;display:grid}.hero .hero-actions .primary{grid-column:1/-1}.project-actions,.contact-actions{grid-template-columns:1fr;display:grid}.action-link{width:100%}.project-meta,.education-meta{grid-template-columns:1fr}.project-visual:after{text-align:center;inset:auto .8rem .8rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}}@media print{.site-header,.site-footer,.hero-actions,.profile-links,.contact-section{display:none}body{background:#fff}body:before{display:none}}
