@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/438aa629764e75f3-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:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/875ae681bfde4580-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/51251f8b9793cdb3-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:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/e857b654a2caa584-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:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/cc978ac5ee68c2b6-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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/4c9affa5bc8f420e-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:Manrope Fallback;src:local("Arial");ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.00%;size-adjust:103.19%}.__className_73ee6c{font-family:Manrope,Manrope Fallback;font-style:normal}.__variable_73ee6c{--font-sans:"Manrope","Manrope Fallback"}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(/_next/static/media/47f136985ef5b5cb-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(/_next/static/media/4ead58c4dcc3f285-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:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(/_next/static/media/28a2004cf8372660-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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(/_next/static/media/eaead17c7dbfcd5d-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:Playfair Display Fallback;src:local("Times New Roman");ascent-override:97.25%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:111.26%}.__className_0a80b4{font-family:Playfair Display,Playfair Display Fallback;font-style:normal}.__variable_0a80b4{--font-serif:"Playfair Display","Playfair Display Fallback"}:root{--bg-start:#0d1016;--bg-mid:#131924;--bg-end:#090b10;--paper:#f4efe6;--muted:#b8b2a8;--accent:#d29f6f;--line:rgba(244,239,230,0.18);--panel:rgba(255,255,255,0.04);--panel-strong:rgba(255,255,255,0.08);--header-bg:rgba(12,15,21,0.76);--shadow:0 20px 60px rgba(0,0,0,0.34);--max-width:1120px}html[data-theme=dark]{color-scheme:dark}html[data-theme=light]{--bg-start:#f0ece4;--bg-mid:#ebe4d6;--bg-end:#f7f3ea;--paper:#1a1b1f;--muted:#4e4f55;--accent:#8f4e2b;--line:rgba(28,31,38,0.18);--panel:rgba(255,255,255,0.56);--panel-strong:rgba(255,255,255,0.8);--header-bg:rgba(245,240,232,0.72);--shadow:0 16px 45px rgba(79,70,56,0.15);color-scheme:light}*{box-sizing:border-box}body,html{margin:0;padding:0}html{scroll-behavior:smooth}body{min-height:100vh;font-family:var(--font-sans),sans-serif;color:var(--paper);line-height:1.5;background:radial-gradient(circle at 15% 10%,rgba(34,88,150,.18),transparent 34%),radial-gradient(circle at 85% 2%,rgba(178,101,61,.2),transparent 24%),linear-gradient(160deg,var(--bg-start) 0,var(--bg-mid) 52%,var(--bg-end) 100%)}a{color:inherit}section[id]{scroll-margin-top:5.5rem}.ambient-bg,.cursor-glow,.grain{position:fixed;inset:0;pointer-events:none}.ambient-bg{z-index:0;overflow:hidden}.orb{position:absolute;border-radius:50%;filter:blur(70px);opacity:.72}.orb-a{width:38vw;height:38vw;min-width:280px;min-height:280px;left:-10vw;top:-8vw;background:radial-gradient(circle,rgba(79,149,224,.36),rgba(79,149,224,0))}.orb-b{width:42vw;height:42vw;min-width:320px;min-height:320px;right:-16vw;top:-10vw;background:radial-gradient(circle,rgba(226,133,86,.4),rgba(226,133,86,0))}.orb-c{width:32vw;height:32vw;min-width:240px;min-height:240px;left:40%;bottom:-20vw;background:radial-gradient(circle,rgba(157,112,217,.22),rgba(157,112,217,0))}html[data-theme=light] .orb-a{background:radial-gradient(circle,rgba(112,184,255,.25),rgba(112,184,255,0))}html[data-theme=light] .orb-b{background:radial-gradient(circle,rgba(238,154,98,.24),rgba(238,154,98,0))}html[data-theme=light] .orb-c{background:radial-gradient(circle,rgba(193,162,240,.14),rgba(193,162,240,0))}.grain{z-index:1;opacity:.06;background-image:radial-gradient(circle at 20% 30%,#ffffff .5px,transparent 0),radial-gradient(circle at 75% 60%,#ffffff .5px,transparent 0);background-size:3px 3px,2px 2px}html[data-theme=light] .grain{opacity:.04}.cursor-glow{z-index:1;width:360px;height:360px;top:-180px;left:-180px;border-radius:50%;background:radial-gradient(circle,rgba(210,159,111,.32),transparent 62%);filter:blur(10px);transform:translateZ(0)}html[data-theme=light] .cursor-glow{background:radial-gradient(circle,rgba(143,78,43,.2),transparent 62%)}.site-footer,.site-header,main{position:relative;z-index:2}.site-header{position:-webkit-sticky;position:sticky;top:0;display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:1rem;gap:1rem;padding:.95rem 1.1rem;border-bottom:1px solid var(--line);background:var(--header-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand{text-decoration:none;font-weight:800;letter-spacing:.02em}.header-nav{display:flex;justify-content:center;gap:1.15rem}.header-nav a{text-decoration:none;font-size:.93rem;opacity:.9}.header-nav a.nav-active{opacity:1;text-decoration:underline;text-underline-offset:.24rem}.theme-switcher{display:inline-flex;gap:.2rem;padding:.2rem;border:1px solid var(--line);border-radius:999px;background:var(--panel)}.theme-switcher button{border:0;background:transparent;color:var(--paper);font-family:inherit;font-size:.75rem;padding:.35rem .58rem;border-radius:999px;cursor:pointer}.theme-switcher button[aria-pressed=true]{background:var(--panel-strong);box-shadow:var(--shadow)}main{width:min(var(--max-width),92vw);margin:0 auto;padding:3.3rem 0 5.2rem}.page-main>.section-page{margin-top:0}.page-main>.projects.section-page{padding-top:0}.hero{min-height:74vh;display:grid;align-content:center;grid-gap:1rem;gap:1rem}.hero-kicker{margin:0;color:var(--accent);text-transform:uppercase;letter-spacing:.11em;font-size:.72rem}h1,h2,h3{margin:0;line-height:1.05;font-family:var(--font-serif),serif;letter-spacing:-.01em}h1{font-size:clamp(2.4rem,9vw,6.4rem);max-width:12.5ch}h1 span{color:var(--accent)}.hero-copy{margin:.35rem 0 0;color:var(--muted);max-width:58ch;font-size:clamp(1rem,2.2vw,1.2rem)}.hero-actions{margin-top:1.2rem;display:flex;flex-wrap:wrap;gap:.75rem}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:999px;padding:.74rem 1.2rem;font-size:.9rem;border:1px solid transparent;transition:transform .25s ease,background-color .25s ease,color .25s ease}.btn:hover{transform:translateY(-2px)}.btn-solid{color:#1e1206;background:var(--accent);border-color:var(--accent)}.btn-ghost{background:var(--panel);border-color:var(--line)}.projects{padding-top:3rem}.about-label,.background-label,.contact p,.section-head p{margin:0;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent)}.section-head h2{margin-top:.6rem;font-size:clamp(1.55rem,4vw,2.55rem);max-width:22ch}.project-card{margin-top:1rem;display:grid;grid-template-columns:auto 1.7fr auto;grid-gap:1rem 1.4rem;gap:1rem 1.4rem;align-items:center;padding:1.15rem 1.22rem;border:1px solid var(--line);border-radius:1rem;background:linear-gradient(140deg,var(--panel-strong),var(--panel));transition:transform .25s ease,border-color .25s ease}.project-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 58%,transparent)}.project-card p{margin:0}.project-card h3{font-size:clamp(1.24rem,2vw,1.72rem)}.project-link{color:inherit;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb,var(--accent) 62%,transparent);text-decoration-color:color-mix(in srgb,var(--accent) 62%,transparent);text-underline-offset:.2rem}.project-link:hover{color:var(--accent)}.project-index,.project-tags{color:var(--muted)}.project-tags{text-align:right;font-size:.86rem}.background-section{margin-top:5rem;display:grid;grid-gap:.8rem;gap:.8rem;padding:1.3rem 1.2rem;border:1px solid var(--line);border-radius:1rem;background:linear-gradient(140deg,var(--panel-strong),var(--panel))}.background-section h2{max-width:20ch;font-size:clamp(1.62rem,4.5vw,3rem)}.experience-list{display:grid;grid-gap:.75rem;gap:.75rem}.experience-item{border:1px solid var(--line);border-radius:.8rem;padding:.9rem;background:color-mix(in srgb,var(--panel-strong) 72%,transparent)}.experience-head{display:flex;align-items:baseline;justify-content:space-between;gap:.8rem;flex-wrap:wrap}.experience-head h3{font-size:clamp(1.08rem,2.2vw,1.35rem);font-family:var(--font-serif),serif}.experience-head p{margin:0;color:var(--muted);font-size:.84rem}.experience-title{margin:.28rem 0 0;color:color-mix(in srgb,var(--paper) 86%,var(--muted));font-weight:600;font-size:.95rem}.experience-description{margin:.44rem 0 0;max-width:64ch;color:var(--muted)}.experience-description a{color:var(--accent);text-underline-offset:.2rem}.about{margin-top:5rem;display:grid;grid-gap:.8rem;gap:.8rem}.about h2{max-width:18ch;font-size:clamp(1.62rem,4.5vw,3.2rem)}.about p{margin:0;max-width:62ch;color:var(--muted)}.contact{margin-top:5rem;padding:2rem 1.2rem;border:1px solid var(--line);border-radius:1rem;background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 20%,transparent),var(--panel))}.contact h2{margin:.4rem 0 1.2rem;font-size:clamp(1.8rem,5vw,3rem)}.site-footer{width:min(var(--max-width),92vw);margin:0 auto 2rem;padding-top:2rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem;color:var(--muted);font-size:.86rem}.admin-shell{position:relative;z-index:2;width:min(1100px,94vw);margin:2rem auto 3rem}.admin-panel{border:1px solid var(--line);border-radius:1rem;background:linear-gradient(140deg,var(--panel-strong),var(--panel));padding:1.2rem}.admin-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap}.admin-kicker{margin:0;font-size:.75rem;text-transform:uppercase;letter-spacing:.11em;color:var(--accent)}.admin-header h1{margin:.35rem 0 0;font-size:clamp(1.6rem,4vw,2.4rem)}.admin-copy{margin:.5rem 0 0;color:var(--muted)}.admin-header-actions{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}.admin-notice{margin:1rem 0 0;padding:.72rem .8rem;border-radius:.7rem;border:1px solid var(--line)}.admin-notice.success{background:color-mix(in srgb,var(--accent) 20%,transparent)}.admin-notice.error{background:color-mix(in srgb,#cc4a36 18%,transparent)}.admin-toast{position:fixed;right:1rem;bottom:1rem;z-index:60;margin:0;padding:.74rem .86rem;border-radius:.7rem;border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);max-width:min(420px,92vw)}.admin-toast.success{background:color-mix(in srgb,var(--accent) 24%,var(--bg-start))}.admin-toast.error{background:color-mix(in srgb,#cc4a36 24%,var(--bg-start))}.admin-card{margin-top:1rem;border:1px solid var(--line);border-radius:.85rem;background:var(--panel);padding:.95rem}.admin-card h2{font-size:1.15rem}.admin-card h3{font-size:1rem}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.admin-stack{display:grid;grid-gap:.85rem;gap:.85rem}.project-editor{border:1px solid var(--line);border-radius:.7rem;padding:.8rem;background:color-mix(in srgb,var(--panel-strong) 72%,transparent)}.field-grid{margin-top:.8rem;display:grid;grid-gap:.7rem;gap:.7rem;grid-template-columns:repeat(2,minmax(0,1fr))}.field{display:grid;grid-gap:.32rem;gap:.32rem}.field span{font-size:.76rem;color:var(--muted);letter-spacing:.02em}.field input,.field textarea{width:100%;border:1px solid var(--line);background:var(--panel-strong);color:var(--paper);border-radius:.6rem;padding:.62rem .68rem;font:inherit}.field textarea{resize:vertical}.field-wide{grid-column:1/-1}.admin-inline-actions{display:flex;flex-wrap:wrap;gap:.5rem}.admin-json{margin:.8rem 0;padding:.7rem;border-radius:.6rem;border:1px solid var(--line);background:var(--panel-strong);overflow-x:auto;max-height:220px;font-size:.8rem}.admin-footer-actions{margin-top:1rem;display:flex;justify-content:flex-end;gap:.6rem}.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}.js .reveal.in-view{opacity:1;transform:translateY(0)}@media (max-width:920px){.site-header{grid-template-columns:auto auto}.header-nav{grid-column:1/-1;justify-content:flex-start;order:3;overflow-x:auto;white-space:nowrap;padding-bottom:.2rem}.theme-switcher{justify-self:end}.project-card{grid-template-columns:1fr;gap:.66rem}.project-tags{text-align:left}.field-grid{grid-template-columns:1fr}.admin-footer-actions{justify-content:stretch}.admin-footer-actions .btn{flex:1 1}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cursor-glow{display:none}.js .reveal,.js .reveal.in-view{opacity:1;transform:none;transition:none}}