@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:200 900;font-display:swap;src:url(/_next/static/media/e33b76030b52b394-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:200 900;font-display:swap;src:url(/_next/static/media/817bd1ecaefe3e13-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:200 900;font-display:swap;src:url(/_next/static/media/2487be7ea50658e3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:200 900;font-display:swap;src:url(/_next/static/media/5d38802c4f19cf85-s.woff2) format("woff2");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:"Source Serif 4";font-style:italic;font-weight:200 900;font-display:swap;src:url(/_next/static/media/27a7efe705e7867f-s.woff2) format("woff2");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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:200 900;font-display:swap;src:url(/_next/static/media/85ef47686bd56cf6-s.p.woff2) format("woff2");unicode-range:u+00??,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:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/f11ffaf03a80bc19-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/b818b0ea116ed117-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/ed89fb4fc238c6bf-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/e115bc1b6e48400d-s.woff2) format("woff2");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:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/fc9d3723ce3bfccb-s.woff2) format("woff2");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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/597b6a5d799c44de-s.p.woff2) format("woff2");unicode-range:u+00??,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:"Source Serif 4 Fallback";src:local("Times New Roman");ascent-override:87.87%;descent-override:28.41%;line-gap-override:0.00%;size-adjust:117.91%}.__className_5155d9{font-family:"Source Serif 4","Source Serif 4 Fallback"}.__variable_5155d9{--font-serif:"Source Serif 4","Source Serif 4 Fallback"}@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ae822095a172cc5c-s.woff2) format("woff2");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:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/3c70c5716f1730b3-s.woff2) format("woff2");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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/fc727f226c737876-s.p.woff2) format("woff2");unicode-range:u+00??,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:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/77fb5eec12c66d49-s.woff2) format("woff2");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:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/281dae1e814de8c6-s.woff2) format("woff2");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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/806de4d605d3ad01-s.p.woff2) format("woff2");unicode-range:u+00??,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:Space Mono Fallback;src:local("Arial");ascent-override:81.58%;descent-override:26.30%;line-gap-override:0.00%;size-adjust:137.28%}.__className_353f1a{font-family:Space Mono,Space Mono Fallback;font-style:normal}.__variable_353f1a{--font-mono:"Space Mono","Space Mono Fallback"}:root{color-scheme:light;--bg-primary:#faf9f7;--bg-secondary:#ffffff;--bg-elevated:#f0eeeb;--border:#e2ded8;--text-primary:#1a1815;--text-secondary:#4a4640;--text-muted:#6b665e;--accent:#a84a12;--accent-hover:#8a3c0e;--accent-fill:#e8713a;--accent-fill-hover:#f08c4f;--on-accent:#1a1815;--accent-glow:rgba(232,113,58,0.14);--code-bg:#f5f3f0;--code-border:#e5e2dd;--status-live:#15803d;--status-progress:#a16207;--status-experiment:#1d4ed8;--header-bg:rgba(250,249,247,0.9);--shadow:0 10px 30px rgba(26,24,21,0.08);--space-xs:0.5rem;--space-sm:1rem;--space-md:2rem;--space-lg:4rem;--space-xl:8rem;--serif:var(--font-serif),Georgia,"Times New Roman",serif;--mono:var(--font-mono),ui-monospace,Menlo,Consolas,monospace;--wide:72rem;--prose:44rem;--transition-fast:150ms ease;--transition-smooth:300ms cubic-bezier(0.4,0,0.2,1)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg-primary:#0d0d0d;--bg-secondary:#1a1a1a;--bg-elevated:#242424;--border:#2e2e2e;--text-primary:#f5f2eb;--text-secondary:#a8a49c;--text-muted:#8f8a82;--accent:#e8713a;--accent-hover:#f08c4f;--on-accent:#0d0d0d;--code-bg:#161616;--code-border:#2a2a2a;--status-live:#4ade80;--status-progress:#fbbf24;--status-experiment:#93c5fd;--header-bg:rgba(13,13,13,0.9);--shadow:0 10px 30px rgba(0,0,0,0.45)}}:root[data-theme=dark]{color-scheme:dark;--bg-primary:#0d0d0d;--bg-secondary:#1a1a1a;--bg-elevated:#242424;--border:#2e2e2e;--text-primary:#f5f2eb;--text-secondary:#a8a49c;--text-muted:#8f8a82;--accent:#e8713a;--accent-hover:#f08c4f;--on-accent:#0d0d0d;--code-bg:#161616;--code-border:#2a2a2a;--status-live:#4ade80;--status-progress:#fbbf24;--status-experiment:#93c5fd;--header-bg:rgba(13,13,13,0.9);--shadow:0 10px 30px rgba(0,0,0,0.45)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:18px;scroll-behavior:smooth}body,html{background:var(--bg-primary)}body{font-family:var(--serif);color:var(--text-primary);line-height:1.7;min-height:100vh;display:flex;flex-direction:column;transition:background-color var(--transition-smooth),color var(--transition-smooth)}main{flex:1 1}main:focus{outline:none}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}ul{list-style:none}.mono,code,kbd,pre,samp{font-family:var(--mono)}.accent{color:var(--accent)}.muted{color:var(--text-muted)}:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:3px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;left:var(--space-sm);top:-100px;z-index:200;background:var(--accent-fill);color:var(--on-accent);padding:.5rem 1rem;border-radius:6px;font-weight:600}.skip-link:focus{top:var(--space-sm)}.dev-placeholder{display:inline-block;font-family:var(--mono);font-size:.7rem;line-height:1.4;color:var(--text-secondary);background:repeating-linear-gradient(45deg,var(--bg-elevated) 0 8px,transparent 8px 16px);border:1px dashed var(--text-muted);border-radius:4px;padding:.2rem .45rem}.dev-placeholder.block{display:flex;align-items:center;justify-content:center;min-height:100%;width:100%;text-align:center;padding:var(--space-sm)}.container{max-width:var(--wide)}.container,.site-wrapper{margin:0 auto;padding:0 var(--space-md)}.site-wrapper{max-width:var(--prose)}.section{padding:var(--space-lg) 0 0}.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-sm);flex-wrap:wrap;margin-bottom:var(--space-md)}.section-head h2,.section-title{font-size:1.5rem;font-weight:600;line-height:1.3}.section-head a{color:var(--accent);font-size:.9rem}.section-head a:hover{color:var(--accent-hover);text-decoration:underline}.divider{height:1px;background:var(--border);margin:var(--space-lg) 0}.section-label{font-size:.78rem;font-weight:600;color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:var(--space-md)}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:100;border-bottom:1px solid var(--border);background:var(--header-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:.75rem var(--space-md);transition:background-color var(--transition-smooth)}.site-header nav{max-width:var(--wide);margin:0 auto;justify-content:space-between;gap:var(--space-sm)}.logo,.site-header nav{display:flex;align-items:center}.logo{gap:var(--space-xs)}.logo-mark{font-size:1.1rem;color:var(--bg-primary);background:var(--accent-fill);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background var(--transition-smooth),color var(--transition-smooth)}.logo-mark,.logo-text{font-family:var(--mono);font-weight:700}.logo-text{font-size:.85rem;color:var(--text-primary)}.nav-right{display:flex;align-items:center;gap:var(--space-sm)}.nav-links{display:flex;gap:.25rem}.nav-links a{display:block;padding:.35rem .6rem;border-radius:6px;font-size:.9rem;color:var(--text-secondary);transition:color var(--transition-fast),background var(--transition-fast)}.nav-links a:hover{color:var(--accent);background:var(--accent-glow)}.nav-links a[aria-current=page]{color:var(--accent);font-weight:600}.menu-toggle{display:none}.theme-toggle{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border);border-radius:50%;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.theme-toggle:hover{color:var(--accent);border-color:var(--accent)}.theme-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.icon-sun,:root[data-theme=dark] .icon-moon{display:none}:root[data-theme=dark] .icon-sun{display:block}.btn{font-family:var(--serif);font-size:1rem;font-weight:600;padding:.7rem 1.35rem;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1px solid transparent;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.btn-primary{background:var(--accent-fill);color:var(--on-accent)}.btn-primary:hover{background:var(--accent-fill-hover)}.btn-secondary{background:transparent;color:var(--text-primary);border-color:var(--border)}.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}.hero{padding:var(--space-lg) 0 var(--space-sm);max-width:48rem}.hero-tag{font-size:.8rem;color:var(--accent);letter-spacing:.08em;text-transform:uppercase}.hero h1,.hero-tag{font-weight:600;margin-bottom:var(--space-sm)}.hero h1{font-size:clamp(2rem,4.5vw,3rem);line-height:1.15;letter-spacing:-.015em}.hero-sub{font-size:1.1rem;color:var(--text-secondary);line-height:1.7;max-width:40rem;margin-bottom:var(--space-md)}.hero-cta{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.hero-compact{padding:var(--space-lg) 0 var(--space-md)}.hero-compact h1{font-size:clamp(1.8rem,4vw,2.4rem);font-weight:600;line-height:1.2;letter-spacing:-.01em}.hero-compact p{font-size:1.1rem;color:var(--text-secondary);line-height:1.7;margin-top:var(--space-xs);max-width:40rem}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,26rem),1fr));grid-gap:var(--space-md);gap:var(--space-md)}.project-card{display:flex;flex-direction:column;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.project-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--accent-glow)}.project-shot{aspect-ratio:16/10;background:var(--bg-elevated);border-bottom:1px solid var(--border)}.project-shot:empty{display:none}.project-shot img{width:100%;height:100%;object-fit:cover}.project-body{padding:var(--space-md);flex-direction:column;flex:1 1}.project-body,.project-head{display:flex;gap:var(--space-sm)}.project-head{justify-content:space-between;align-items:center}.project-head h2,.project-head h3{font-size:1.35rem;font-weight:600;line-height:1.25}.project-purpose{color:var(--text-secondary)}.project-links{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;margin-top:auto;padding-top:var(--space-xs)}.project-links a{color:var(--accent);font-weight:600;font-size:.92rem;border-bottom:1px solid transparent;transition:border-color var(--transition-fast),color var(--transition-fast)}.project-links a:hover{color:var(--accent-hover);border-color:currentColor}.status-badge{font-size:.75rem;font-weight:600;padding:.15rem .6rem;border-radius:999px;border:1px solid;white-space:nowrap}.status-badge.live{color:var(--status-live)}.status-badge.in-progress,.status-badge.wip{color:var(--status-progress)}.status-badge.experiment{color:var(--status-experiment)}.stack-list{display:flex;flex-wrap:wrap;gap:.45rem}.stack-tag{padding:.2rem .65rem;background:var(--bg-elevated);border:1px solid var(--code-border);border-radius:6px;font-size:.8rem;color:var(--text-secondary)}.now{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:var(--space-md)}.now-updated{font-size:.85rem;color:var(--text-muted)}.now-list{display:grid;grid-gap:.75rem;gap:.75rem}.now-list li{position:relative;padding-left:1.25rem;color:var(--text-secondary)}.now-list li:before{content:"";position:absolute;left:0;top:.7em;width:.45rem;height:.45rem;border-radius:50%;background:var(--accent-fill)}.post-card{padding:var(--space-md) 0;border-bottom:1px solid var(--border)}.post-card:first-of-type{border-top:1px solid var(--border)}.post-card .post-date,.post-meta{font-size:.85rem;color:var(--text-muted);margin-bottom:.35rem}.post-category{color:var(--accent);font-weight:600}.post-card h2,.post-card h3{font-size:1.25rem;font-weight:600;line-height:1.35;margin-bottom:.35rem}.post-card h2 a,.post-card h3 a{transition:color var(--transition-fast)}.post-card h2 a:hover,.post-card h3 a:hover{color:var(--accent)}.post-card p{color:var(--text-secondary)}.post-card p.post-meta{color:var(--text-muted)}.cta-section{background:var(--bg-elevated);border-radius:12px;padding:var(--space-lg) var(--space-md);text-align:center;margin:var(--space-lg) 0}.cta-section h2{font-size:1.6rem;font-weight:600;margin-bottom:var(--space-xs)}.cta-section p{color:var(--text-secondary);margin:0 auto var(--space-md);max-width:34rem}.prose{max-width:var(--prose)}.prose h2{font-size:1.4rem;font-weight:600;margin:var(--space-md) 0 var(--space-xs)}.prose p,.prose ul{color:var(--text-secondary);margin-bottom:var(--space-sm)}.prose ul.bullets{list-style:disc;padding-left:1.25rem}.prose a{color:var(--accent);border-bottom:1px solid}.prose a:hover{color:var(--accent-hover)}.link-list{display:grid;grid-gap:.5rem;gap:.5rem}.page-bottom{padding-bottom:var(--space-lg)}.resource-group{margin-bottom:var(--space-lg)}.resource-list{display:flex;flex-direction:column;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:8px;overflow:hidden}.resource-row{background:var(--bg-primary);padding:.85rem var(--space-md);display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm);transition:background var(--transition-fast)}.resource-row:hover{background:var(--bg-secondary)}.resource-row h3{font-size:1rem;font-weight:600}.resource-row p{font-size:.9rem;color:var(--text-secondary);margin-top:.15rem}.price{font-size:.8rem;color:var(--text-muted);white-space:nowrap}.price.free{color:var(--status-live)}.resume-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-sm);margin-bottom:var(--space-lg)}.resume-header h1{font-size:1.8rem;font-weight:600}.resume-header p{color:var(--text-secondary);margin-top:.25rem}.resume-section{margin-bottom:var(--space-lg)}.resume-section h2{font-size:.8rem;font-weight:600;color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:var(--space-sm);padding-bottom:var(--space-xs);border-bottom:1px solid var(--border)}.resume-entry{margin-bottom:var(--space-md)}.resume-entry-header{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-sm);margin-bottom:.25rem}.resume-entry h3{font-size:1.05rem;font-weight:600}.resume-entry .date{font-size:.85rem;color:var(--text-muted);white-space:nowrap}.resume-entry .company{color:var(--accent);margin-bottom:.35rem}.resume-entry ul{list-style:disc;padding-left:1.25rem;margin-top:.35rem}.resume-entry li{color:var(--text-secondary);line-height:1.6;margin-bottom:.25rem}.resume-contact{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-xs)}.resume-contact a{font-size:.9rem;color:var(--text-secondary);border-bottom:1px solid var(--border);padding-bottom:1px;transition:color var(--transition-fast),border-color var(--transition-fast)}.resume-contact a:hover{color:var(--accent);border-color:var(--accent)}.site-footer{margin-top:var(--space-lg);padding:var(--space-md) 0;border-top:1px solid var(--border)}.footer-inner{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);text-align:center}.contact-row{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-xs) var(--space-md);margin-bottom:var(--space-xs)}.contact-row a{color:var(--text-secondary);border-bottom:1px solid var(--border);padding-bottom:2px;transition:color var(--transition-fast),border-color var(--transition-fast)}.contact-row a:hover{color:var(--accent);border-color:var(--accent)}.tagline{font-style:italic;color:var(--text-secondary)}.site-footer .muted{font-size:.85rem}@media (max-width:760px){html{font-size:16px}.container,.site-wrapper{padding:0 var(--space-sm)}.site-header{padding:.6rem var(--space-sm)}.menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--text-primary);cursor:pointer}.menu-icon{display:grid;grid-gap:4px;gap:4px}.menu-icon span{display:block;width:18px;height:2px;background:currentColor;border-radius:2px;transition:transform var(--transition-fast),opacity var(--transition-fast)}.menu-toggle[aria-expanded=true] .menu-icon span:first-child{transform:translateY(6px) rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-icon span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] .menu-icon span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.nav-links{position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:var(--bg-primary);border-bottom:1px solid var(--border);padding:var(--space-xs) var(--space-sm) var(--space-sm);visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity var(--transition-fast),transform var(--transition-fast),visibility 0s linear .15s}.nav-links.open{visibility:visible;opacity:1;transform:none;transition:opacity var(--transition-fast),transform var(--transition-fast),visibility 0s}.nav-links a{padding:.7rem .5rem;font-size:1.05rem}.hero,.hero-compact{padding-top:var(--space-md)}.hero-cta .btn{flex:1 1 100%}.project-body{padding:var(--space-sm)}.resume-entry-header{gap:.15rem}.resume-entry-header,.resume-header{flex-direction:column}.resource-row{padding:.85rem var(--space-sm)}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition:none!important;animation:none!important;scroll-behavior:auto!important}.project-card:hover{transform:none}}