@font-face{font-family:"Instrument Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-ext-400-normal-C2je3j2s.woff2) format("woff2"),url(/assets/instrument-serif-latin-ext-400-normal-CFCUzsTy.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:"Instrument Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-400-normal-DnYpCC2O.woff2) format("woff2"),url(/assets/instrument-serif-latin-400-normal-BVbkICAY.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2) format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root,[data-palette=paper]{--bg: #f7f6f3;--bg-alt: #efeee9;--surface: #ffffff;--text: #1c1917;--text-muted: #57534e;--text-subtle: #6f6a64;--border: #e2e0db;--border-strong: #cfccc5;--accent: #0f766e;--accent-hover: #115e59;--accent-soft: rgba(15, 118, 110, .08);--on-accent: #ffffff;--overlay: rgba(28, 25, 23, .55);--media-bg: #ebe9e4;--shadow: 0 1px 2px rgba(28, 25, 23, .04), 0 12px 32px -12px rgba(28, 25, 23, .14);color-scheme:light}[data-palette=graphite]{--bg: #0c0e12;--bg-alt: #111419;--surface: #15181e;--text: #e8eaef;--text-muted: #9aa1ad;--text-subtle: #808794;--border: #252a32;--border-strong: #353b45;--accent: #f2b33d;--accent-hover: #f5c463;--accent-soft: rgba(242, 179, 61, .1);--on-accent: #1a1406;--overlay: rgba(0, 0, 0, .7);--media-bg: #1b1f26;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 16px 40px -16px rgba(0, 0, 0, .6);color-scheme:dark}:root{--font-display: "Instrument Serif", Georgia, "Times New Roman", serif;--font-body: "Geist Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "Geist Mono Variable", ui-monospace, "SFMono-Regular", Menlo, monospace;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-24: 6rem;--radius-sm: 6px;--radius: 12px;--container: 1120px;--nav-height: 64px;--ease: cubic-bezier(.2, .7, .2, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:var(--nav-height);-webkit-text-size-adjust:100%}body{min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:1rem;line-height:1.65;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{display:block;max-width:100%}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}a{color:inherit}ul{list-style:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius-sm)}::selection{background:var(--accent);color:var(--on-accent)}.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 var(--space-5)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-5);border-radius:var(--radius-sm);border:1px solid transparent;font-size:.9375rem;font-weight:500;text-decoration:none;white-space:nowrap;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s var(--ease)}.btn svg{font-size:.85em}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:transparent;border-color:var(--border-strong);color:var(--text)}.btn-secondary:hover{border-color:var(--text)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-secondary:disabled:hover{border-color:var(--border-strong)}.text-link{display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px;font-size:.875rem;font-weight:500;color:var(--text-muted);text-decoration:none;transition:color .18s ease}.text-link:hover{color:var(--accent)}.text-link.is-disabled{opacity:.45;cursor:not-allowed}.text-link.is-disabled:hover{color:var(--text-muted)}.icon-button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;border-radius:var(--radius-sm);border:1px solid var(--border);color:var(--text-muted);transition:border-color .18s ease,color .18s ease}.icon-button:hover{border-color:var(--text);color:var(--text)}.navbar{position:fixed;inset:0 0 auto;z-index:100;background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid transparent;transition:border-color .2s ease}.navbar.is-scrolled{border-bottom-color:var(--border)}.nav-container{display:flex;align-items:center;justify-content:space-between;height:var(--nav-height);max-width:var(--container);margin:0 auto;padding:0 var(--space-5)}.nav-logo{display:inline-flex;border-radius:9px;transition:transform .25s var(--ease)}.nav-logo:hover{transform:rotate(-4deg)}.nav-menu{position:absolute;top:var(--nav-height);left:0;right:0;display:flex;flex-direction:column;padding:var(--space-2) var(--space-5) var(--space-5);background:var(--bg);border-bottom:1px solid var(--border);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s ease,transform .2s var(--ease),visibility .2s}.nav-menu.is-open{opacity:1;visibility:visible;transform:none}.nav-link{display:block;width:100%;min-height:48px;text-align:left;font-size:1.0625rem;color:var(--text-muted);transition:color .18s ease}.nav-link:hover,.nav-link.is-active{color:var(--text)}.nav-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;margin-right:calc(-1 * var(--space-3));padding:0 var(--space-3)}.bar{display:block;height:1.5px;background:var(--text);border-radius:2px;transition:transform .25s var(--ease)}.nav-toggle.is-open .bar:first-child{transform:translateY(3.75px) rotate(45deg)}.nav-toggle.is-open .bar:last-child{transform:translateY(-3.75px) rotate(-45deg)}@media (min-width: 640px){.nav-toggle{display:none}.nav-menu{position:static;flex-direction:row;gap:var(--space-8);padding:0;background:none;border:none;opacity:1;visibility:visible;transform:none}.nav-link{position:relative;min-height:44px;font-size:.9375rem}.nav-link:after{content:"";position:absolute;left:0;right:0;bottom:8px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}.nav-link.is-active:after{transform:scaleX(1)}}.section{padding:var(--space-16) 0}.section-alt{background:var(--bg-alt)}.section-header{max-width:640px;margin-bottom:var(--space-10)}.section-title{font-family:var(--font-display);font-weight:400;font-size:clamp(2.25rem,5vw,3.25rem);line-height:1.05;letter-spacing:-.015em}.section-subtitle{margin-top:var(--space-4);font-size:1.0625rem;color:var(--text-muted)}@media (min-width: 900px){.section{padding:var(--space-24) 0}.section-header{margin-bottom:var(--space-12)}}.hero{padding:calc(var(--nav-height) + var(--space-10)) 0 var(--space-16)}@media (min-width: 900px){.hero{padding:calc(var(--nav-height) + var(--space-16)) 0 var(--space-24)}}.hero-content{max-width:760px}.hero-name{font-family:var(--font-display);font-weight:400;font-size:clamp(3.25rem,11vw,6.5rem);line-height:.95;letter-spacing:-.025em}.hero-role{margin-top:var(--space-5);font-family:var(--font-mono);font-size:.875rem;letter-spacing:.02em;color:var(--accent)}.hero-description{max-width:62ch;margin-top:var(--space-6);font-size:1.0625rem;line-height:1.7;color:var(--text-muted)}.hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-8)}@media (max-width: 479px){.hero-actions .btn{flex:1 1 100%}}.projects-grid{display:grid;grid-template-columns:1fr;gap:var(--space-5)}@media (min-width: 900px){.projects-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-6)}}.project-card{display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .2s ease,box-shadow .25s ease,transform .25s var(--ease)}.project-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow)}@media (min-width: 640px){.project-card{padding:var(--space-8)}}.project-category{display:inline-block;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}.project-tags{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3)}.project-label{padding:2px var(--space-2);font-size:.75rem;font-weight:700;letter-spacing:.02em;color:var(--accent);background:var(--accent-soft);border-radius:4px}.project-title{margin-top:var(--space-3);font-family:var(--font-display);font-weight:400;font-size:clamp(1.875rem,4vw,2.25rem);line-height:1.05;letter-spacing:-.01em}.project-subtitle{margin-top:var(--space-2);color:var(--text-muted)}.project-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.metric{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4) var(--space-3) var(--space-4) 0}.metric+.metric{padding-left:var(--space-3);border-left:1px solid var(--border)}.metric-value{font-family:var(--font-display);font-size:1.75rem;line-height:1.1}.metric-label{font-size:.8125rem;font-weight:500}.metric-description{font-size:.8125rem;line-height:1.45;color:var(--text-subtle)}@media (max-width: 479px){.metric{padding:var(--space-3) var(--space-2) var(--space-3) 0}.metric+.metric{padding-left:var(--space-2)}.metric-value{font-size:1.375rem}.metric-label{font-size:.75rem;line-height:1.3}.metric-description{display:none}}.project-description{color:var(--text-muted)}.tech-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.tech-tag{padding:var(--space-1) var(--space-3);font-family:var(--font-mono);font-size:.8125rem;color:var(--text-muted);border:1px solid var(--border);border-radius:999px}.project-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-5);margin-top:auto}.project-links{display:flex;flex-wrap:wrap;gap:0 var(--space-5)}@media (max-width: 479px){.project-actions .btn{width:100%}}.modal-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:flex-end;justify-content:center;background:var(--overlay);animation:fade-in .2s ease}.modal{width:100%;height:100%;height:100dvh;background:var(--bg);overflow-y:auto;overscroll-behavior:contain;animation:sheet-in .3s var(--ease)}.modal-footer{position:sticky;bottom:0;background:var(--bg)}@media (max-width: 899px){.modal .modal-header{padding-right:calc(44px + var(--space-8))}.modal-header .icon-button{position:fixed;top:var(--space-3);right:var(--space-3);z-index:1;background:var(--surface);border-radius:50%;box-shadow:var(--shadow)}}@media (min-width: 900px){.modal-overlay{align-items:center;padding:var(--space-8)}.modal{display:flex;flex-direction:column;overflow:hidden;max-width:920px;height:auto;max-height:calc(100vh - 4rem);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);animation:dialog-in .25s var(--ease)}}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-5);border-bottom:1px solid var(--border)}.modal-title{margin-top:var(--space-2);font-family:var(--font-display);font-weight:400;font-size:clamp(1.875rem,5vw,2.5rem);line-height:1.05}.modal-subtitle{margin-top:var(--space-1);color:var(--text-muted)}.modal-body{padding:var(--space-5)}@media (min-width: 900px){.modal-body{flex:1;overflow-y:auto;overscroll-behavior:contain}}.modal-footer{display:flex;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border)}@media (min-width: 640px){.modal-header,.modal-body{padding:var(--space-8)}.modal-footer{padding:var(--space-5) var(--space-8)}}@media (max-width: 479px){.modal-footer{flex-wrap:nowrap;gap:var(--space-2);padding:var(--space-3) var(--space-4)}.modal-footer .btn{flex:1 1 0;min-width:0;padding:var(--space-2) var(--space-3);font-size:.875rem;line-height:1.25;white-space:normal;text-align:center}.modal-title{font-size:1.875rem}}.gallery{margin-bottom:var(--space-8)}.gallery-main{position:relative}.gallery-image-button{position:relative;display:block;width:100%;overflow:hidden;border-radius:var(--radius);border:1px solid var(--border);background:var(--media-bg);cursor:zoom-in}.gallery-image{width:100%;aspect-ratio:16 / 10;padding:var(--space-3);object-fit:contain}.gallery-expand-hint{position:absolute;right:var(--space-3);bottom:var(--space-3);display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);font-size:.75rem;color:#fff;background:#0009;border-radius:999px;opacity:0;transition:opacity .2s ease}.gallery-image-button:hover .gallery-expand-hint,.gallery-image-button:focus-visible .gallery-expand-hint{opacity:1}.gallery-nav{position:absolute;top:50%;display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:50%;transform:translateY(-50%);box-shadow:var(--shadow)}.gallery-prev{left:var(--space-3)}.gallery-next{right:var(--space-3)}.gallery-caption{margin-top:var(--space-3);font-size:.9375rem;color:var(--text-subtle)}.gallery-thumbnails{display:flex;gap:var(--space-2);margin-top:var(--space-4);overflow-x:auto;padding-bottom:var(--space-1)}.thumbnail{flex-shrink:0;width:80px;aspect-ratio:16 / 10;overflow:hidden;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--media-bg);opacity:.55;transition:opacity .18s ease,border-color .18s ease}.thumbnail:hover,.thumbnail.is-active{opacity:1}.thumbnail.is-active{border-color:var(--accent)}.thumbnail img{width:100%;height:100%;padding:2px;object-fit:contain}.modal-sections{display:grid;gap:var(--space-8)}@media (min-width: 900px){.modal-sections{grid-template-columns:repeat(2,1fr)}}.modal-section-title{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);font-family:var(--font-mono);font-size:.75rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-subtle)}.modal-section-title svg{color:var(--accent)}.detail-list li{padding:var(--space-3) 0;font-size:.9375rem;color:var(--text-muted);border-top:1px solid var(--border)}.lightbox{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:#0a0a0af0;animation:fade-in .2s ease}.lightbox-inner{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);max-width:100%}.lightbox-image{max-width:min(1200px,100%);max-height:72vh;object-fit:contain;border-radius:var(--radius-sm);-webkit-user-select:none;user-select:none}.lightbox-caption{max-width:720px;text-align:center;font-size:.875rem;color:#ffffffb3}.lightbox-caption-title{margin-bottom:var(--space-1);font-weight:500;color:#fff}.lightbox-counter{margin-top:var(--space-2);font-family:var(--font-mono);font-size:.75rem}.lightbox-close{position:fixed;top:var(--space-4);right:var(--space-4);color:#fff;border-color:#ffffff40}.lightbox-close:hover{color:#fff;border-color:#fff}.lightbox-nav{position:fixed;top:50%;display:none;align-items:center;justify-content:center;width:48px;height:48px;color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:50%;transform:translateY(-50%);transition:border-color .18s ease}.lightbox-nav:hover{border-color:#fff}.lightbox-prev{left:var(--space-5)}.lightbox-next{right:var(--space-5)}@media (min-width: 900px) and (hover: hover){.lightbox-nav{display:flex}.lightbox-image{max-width:min(1200px,calc(100vw - 10rem))}}.about-layout{display:grid;gap:var(--space-2)}.about-body p{max-width:65ch;font-size:1.0625rem;line-height:1.75;color:var(--text-muted)}.about-highlights{display:grid;gap:var(--space-3);margin-top:var(--space-8)}.about-highlights li{display:flex;align-items:center;gap:var(--space-3);font-size:.9375rem}.about-highlight-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;color:var(--accent);background:var(--accent-soft);border-radius:var(--radius-sm)}@media (min-width: 900px){.about-layout{grid-template-columns:1fr 2fr;gap:var(--space-16)}}.contact-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-8)}@media (max-width: 479px){.contact-actions .btn{flex:1 1 100%}}.contact-grid{display:grid;grid-template-columns:1fr;gap:var(--space-3)}@media (min-width: 640px){.contact-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-4)}}.contact-card{display:flex;align-items:center;gap:var(--space-4);height:100%;padding:var(--space-5);text-decoration:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .2s ease,box-shadow .25s ease}.contact-card.is-link:hover{border-color:var(--border-strong);box-shadow:var(--shadow)}.contact-card-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;font-size:1.125rem;color:var(--accent);background:var(--accent-soft);border-radius:var(--radius-sm)}.contact-card-text{display:flex;flex-direction:column;flex:1;min-width:0}.contact-card-title{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-subtle)}.contact-card-value{font-weight:500;overflow-wrap:anywhere}.contact-card-description{font-size:.8125rem;color:var(--text-subtle)}.contact-card-arrow{flex-shrink:0;color:var(--text-subtle);transition:transform .25s var(--ease),color .2s ease}.contact-card.is-link:hover .contact-card-arrow{color:var(--accent);transform:translate(3px)}.footer{padding:var(--space-8) 0;border-top:1px solid var(--border);background:var(--bg-alt)}.footer p{font-size:.875rem;color:var(--text-subtle)}@keyframes fade-in{0%{opacity:0}}@keyframes sheet-in{0%{transform:translateY(24px);opacity:0}}@keyframes dialog-in{0%{transform:translateY(12px) scale(.985);opacity:0}}@keyframes reveal{0%{opacity:0;transform:translateY(16px)}}@media (prefers-reduced-motion: no-preference){[data-reveal]:not(.is-visible){opacity:0}[data-reveal].is-visible{animation:reveal .6s var(--ease) var(--reveal-delay, 0ms) both}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
