@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{color-scheme:light;--bg: #f7f4ee;--bg-strong: #fcfaf7;--surface: rgba(255, 252, 248, .78);--surface-strong: rgba(255, 253, 249, .9);--line: rgba(31, 27, 23, .09);--ink: #11100e;--muted: #6f675f;--accent: #8c684d;--accent-deep: #76543d;--accent-soft: #d3c4b6;--sage: #595149;--sage-soft: #ddd5cd;--shadow: 0 10px 24px rgba(17, 16, 14, .06);--shadow-hover: 0 14px 30px rgba(17, 16, 14, .08);--radius-lg: 26px;--radius-md: 18px;--radius-sm: 16px;--content-width: min(1100px, calc(100% - 3rem) );--space-xs: 8px;--space-sm: 12px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--section-gap: 68px;--card-radius: 12px;--card-padding: 18px;--card-border: rgba(69, 56, 42, .08);--card-bg: rgba(255, 253, 249, .82);--button-radius: 12px;--font-body: "Inter", sans-serif;--font-heading: "Inter", sans-serif}html[data-theme=dark]{color-scheme:dark;--bg: #141311;--bg-strong: #1a1917;--surface: rgba(28, 26, 24, .78);--surface-strong: rgba(30, 28, 26, .9);--line: rgba(244, 235, 224, .1);--ink: #f4ede3;--muted: #b9b0a6;--accent: #b28a6d;--accent-deep: #d4b7a2;--accent-soft: #5c4738;--sage: #cfc3b8;--sage-soft: #25211d;--shadow: 0 12px 26px rgba(0, 0, 0, .2);--shadow-hover: 0 16px 32px rgba(0, 0, 0, .26);--card-border: rgba(239, 229, 211, .08);--card-bg: rgba(30, 28, 26, .84)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:7rem}body{margin:0;min-width:320px;font-family:var(--font-body);line-height:1.65;letter-spacing:-.01em;color:var(--ink);background:linear-gradient(180deg,#faf7f2,#f6f2eb);transition:background .6s ease,color .35s ease}html[data-theme=dark] body{background:linear-gradient(180deg,#141311,#181715)}body:before,body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:-2}body:before{background:radial-gradient(circle at 12% 10%,rgba(140,104,77,.06),transparent 28%);opacity:1}html[data-theme=dark] body:before{background:radial-gradient(circle at 12% 10%,rgba(178,138,109,.08),transparent 28%);opacity:1}body:after{background:radial-gradient(circle at 82% 82%,rgba(140,104,77,.08),transparent 22%);z-index:-1}html[data-theme=dark] body:after{background:radial-gradient(circle at 82% 82%,rgba(178,138,109,.1),transparent 24%)}@keyframes shimmerSweep{0%{transform:translate3d(-180%,0,0) rotate(18deg)}to{transform:translate3d(320%,0,0) rotate(18deg)}}@keyframes pulseGlow{0%,to{opacity:.48;transform:scale(1)}50%{opacity:.78;transform:scale(1.08)}}@keyframes driftGlow{0%,to{transform:translateZ(0)}50%{transform:translate3d(0,-18px,0)}}@keyframes gradientDrift{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(1.2rem,-1rem,0) scale(1.04)}}a{color:inherit;text-decoration:none}img,svg{display:block}button,input,textarea{font:inherit}body,.site-nav,.nav-links,.nav-link,.nav-button,.button-primary,.button-secondary,.theme-toggle,.menu-toggle,.glass-card,.project-card,.feature-card,.skill-pill,.contact-link,.contact-form input,.contact-form textarea,.resume-preview-shell,.contact-icon,.resume-card-action{transition:background-color .35s ease,border-color .35s ease,color .35s ease,box-shadow .35s ease}main{display:grid;gap:var(--section-gap);padding:0 0 var(--section-gap)}.page-shell{position:relative;overflow:clip}.cursor-glow,.cursor-core{position:fixed;top:0;left:0;pointer-events:none;z-index:120;opacity:0;transform:translate(-50%,-50%)}.cursor-glow{width:3.1rem;height:3.1rem;border-radius:999px;background:#d9b8943d;filter:blur(16px)}.cursor-core{width:.75rem;height:.75rem;border-radius:999px;background:#8c684deb;box-shadow:0 0 0 .35rem #8c684d1f}html[data-theme=dark] .cursor-glow{background:#d08a6338}html[data-theme=dark] .cursor-core{background:#f0b58ff2;box-shadow:0 0 0 .35rem #f0b58f1f}.cursor-glow.is-visible,.cursor-core.is-visible{opacity:1}.cursor-glow.is-active{width:4.4rem;height:4.4rem;opacity:.95}.cursor-core.is-active{transform:translate(-50%,-50%) scale(1.25)}.cursor-glow.is-pressed{width:2.5rem;height:2.5rem}.cursor-core.is-pressed{transform:translate(-50%,-50%) scale(.82)}.section{width:var(--content-width);margin:0 auto;padding:0}.site-nav{position:sticky;top:0;z-index:50;padding-top:.75rem;transition:background-color .35s ease,border-color .35s ease,box-shadow .35s ease,backdrop-filter .35s ease}.site-nav.is-scrolled{background:#f6f1e752;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-bottom:1px solid rgba(69,56,42,.06);box-shadow:0 14px 34px #261c120f}.nav-inner{width:var(--content-width);margin:0 auto;padding:0 0 var(--space-sm);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(.75rem,1.8vw,1.35rem)}.brand{display:inline-flex;align-items:center;justify-self:start;gap:0;font-weight:700;letter-spacing:-.03em}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;overflow:hidden;border-radius:999px;border:1.25px solid rgba(69,56,42,.11);background:linear-gradient(180deg,#f6efe7e6,#ece5dcd6);box-shadow:0 14px 26px #11100e14}.brand-mark-image{width:100%;height:100%;object-fit:cover;object-position:center 30%}.brand-name{display:none}.nav-links{position:relative;display:inline-flex;align-items:center;justify-self:center;gap:.24rem;padding:.38rem;border:1px solid rgba(69,56,42,.08);border-radius:999px;background:#fffbf5a8;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 18px 34px #1d160f0f}.nav-actions{position:relative;display:inline-flex;align-items:center;justify-self:end;gap:.65rem}.nav-link{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:2.85rem;padding:.76rem 1rem;border-radius:999px;color:var(--muted);font-size:.88rem;font-weight:600;letter-spacing:-.01em;transition:background-color .25s ease,color .25s ease,transform .25s ease}.nav-link:hover{background:#8c684d0f;color:var(--ink);transform:translateY(-1px)}.nav-link-label{position:relative;z-index:1}.nav-link-indicator{position:absolute;inset:0;border-radius:inherit;background:#fffffff5;box-shadow:0 10px 20px #271d1314}.nav-link.is-active{color:var(--ink)}.nav-socials{display:inline-flex;align-items:center;gap:.38rem;padding:.32rem;border-radius:999px;border:1px solid rgba(69,56,42,.08);background:#fffbf59e;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 16px 30px #1d160f0d}.nav-social-link,.button-primary,.button-secondary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);min-height:2.8rem;padding:.78rem 1rem;border-radius:var(--button-radius);position:relative;overflow:hidden;isolation:isolate;font-size:.92rem;font-weight:700;transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease,color .25s ease,border-color .25s ease,background-position .35s ease}.nav-social-link{width:2.8rem;height:2.8rem;min-height:2.8rem;padding:0;border-radius:999px;border:1px solid transparent;background:transparent;color:var(--muted)}.nav-social-link:hover{color:var(--ink);background:#ffffffe6;box-shadow:0 12px 22px #1d160f14}.button-secondary{border:1px solid rgba(69,56,42,.12);background:#fffbf5bd;color:var(--ink)}.button-secondary{background:transparent;box-shadow:none}.button-primary{border:1px solid transparent;background:var(--accent);color:#fff;box-shadow:0 12px 22px #76543d24}.nav-social-link:after,.button-primary:after,.button-secondary:after,.theme-toggle:after,.menu-toggle:after{content:"";position:absolute;inset:auto;width:11rem;height:11rem;border-radius:999px;background:radial-gradient(circle,rgba(255,255,255,.22),transparent 62%);opacity:0;transform:translateY(60%) scale(.2);transition:opacity .35s ease,transform .45s ease;pointer-events:none}.nav-social-link:hover,.button-primary:hover,.button-secondary:hover{transform:translateY(-2px)}.button-secondary:hover,.nav-social-link:hover{background:#fff;box-shadow:0 12px 20px #2a1f130d}.button-primary:hover{box-shadow:0 16px 24px #76543d2e}.nav-social-link:hover:after,.button-primary:hover:after,.button-secondary:hover:after,.theme-toggle:hover:after,.menu-toggle:hover:after{opacity:1;transform:translateY(20%) scale(1)}.theme-toggle,.menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:2.95rem;height:2.95rem;border:1px solid rgba(69,56,42,.12);border-radius:999px;background:#fffbf5bd;color:var(--ink);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 16px 30px #2a1f1312}.theme-toggle:hover,.menu-toggle:hover{transform:translateY(-2px);background:#fff;box-shadow:0 14px 24px #2a1f1314}.theme-toggle svg,.menu-toggle svg{width:1.1rem;height:1.1rem}.theme-toggle-icon,.theme-toggle-icon>span{display:inline-flex;align-items:center;justify-content:center}.menu-toggle{display:none}.menu-toggle.is-open{background:#fff;box-shadow:0 12px 20px #2a1f130f}.menu-panel{position:absolute;top:calc(100% + .9rem);right:0;z-index:60;width:min(22rem,calc(100vw - 2rem));padding:1rem;border:1px solid rgba(69,56,42,.1);border-radius:1.6rem;background:#fffbf5eb;box-shadow:0 28px 60px #271d1324;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.menu-group+.menu-group{margin-top:1rem}.menu-label{display:block;margin-bottom:.65rem;color:var(--muted);font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.menu-links{display:grid;gap:.55rem}.menu-link,.menu-resume-link{display:flex;align-items:center;justify-content:space-between;gap:.9rem;width:100%;min-height:3rem;padding:.85rem .95rem;border-radius:1rem;border:1px solid rgba(69,56,42,.08);background:#ffffff94;color:var(--ink);text-align:left;box-shadow:0 14px 24px #271d130a;transition:transform .25s ease,border-color .25s ease,background-color .25s ease,box-shadow .25s ease}.menu-link:hover,.menu-resume-link:hover,.menu-link.is-active{transform:translateY(-2px);border-color:#7e463029;background:#fff;box-shadow:0 18px 30px #271d1314}.menu-link svg,.menu-resume-link svg{width:1rem;height:1rem;flex-shrink:0}.menu-link-value{color:var(--muted);font-size:.83rem;font-weight:600;text-align:right}.menu-footer{display:grid;gap:.6rem;margin-top:1rem}.nav-social-link svg,.button-primary svg,.button-secondary svg,.contact-link svg{width:1rem;height:1rem;transition:transform .25s ease}.button-primary:hover svg,.button-secondary:hover svg,.contact-link:hover>svg{transform:translate(3px)}.hero{position:relative;isolation:isolate;display:grid;width:min(1100px,100%);grid-template-columns:minmax(0,1.08fr) minmax(24rem,1fr);gap:clamp(2rem,4vw,3rem);align-items:center;min-height:calc(100svh - 5.6rem);padding-top:clamp(1.25rem,2vw,2rem)}.hero-copy,.hero-visual{position:relative;z-index:1;min-width:0}.hero-copy{max-width:36.5rem}.hero-copy:before{content:"";position:absolute;left:-8%;top:4.2rem;width:22rem;height:22rem;border-radius:999px;background:radial-gradient(circle,rgba(212,111,81,.12) 0%,rgba(142,155,222,.08) 38%,transparent 72%);filter:blur(26px);z-index:-1}.hero-backdrop{position:absolute;inset:-2.5rem -3rem auto;z-index:0;height:calc(100% + 3rem);pointer-events:none}.hero-backdrop:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 28%,rgba(212,111,81,.08),transparent 22%),radial-gradient(circle at 72% 14%,rgba(139,154,220,.08),transparent 18%),radial-gradient(circle at 86% 76%,rgba(140,104,77,.04),transparent 18%)}.hero-gradient,.hero-particle-field{position:absolute;inset:0}.hero-gradient{border-radius:999px;filter:blur(14px);opacity:.4;animation:gradientDrift 18s ease-in-out infinite}.hero-gradient-1{inset:auto auto 10% -4%;width:22rem;height:22rem;background:radial-gradient(circle,rgba(212,111,81,.26),transparent 66%)}.hero-gradient-2{inset:-8% 10% auto auto;width:26rem;height:26rem;background:radial-gradient(circle,rgba(139,154,220,.16),transparent 70%)}.hero-gradient-3{inset:auto 18% 4% auto;width:24rem;height:24rem;background:radial-gradient(circle,rgba(255,246,238,.46),transparent 66%)}html[data-theme=dark] .hero-gradient-1{background:radial-gradient(circle,rgba(212,126,93,.22),transparent 66%)}html[data-theme=dark] .hero-gradient-2{background:radial-gradient(circle,rgba(147,164,235,.18),transparent 70%)}html[data-theme=dark] .hero-gradient-3{background:radial-gradient(circle,rgba(255,255,255,.06),transparent 68%)}html[data-theme=dark] .hero-backdrop:after{background:radial-gradient(circle at 12% 28%,rgba(212,126,93,.08),transparent 24%),radial-gradient(circle at 72% 14%,rgba(147,164,235,.08),transparent 20%),radial-gradient(circle at 86% 76%,rgba(212,183,162,.03),transparent 18%)}.hero-particle{position:absolute;display:block;border-radius:999px;background:radial-gradient(circle,#ffffffe6,#d9b89466);box-shadow:0 0 14px #d9b89417}html[data-theme=dark] .hero-particle{background:radial-gradient(circle,#f5efe2d6,#d08a632e);box-shadow:0 0 18px #d08a6329;opacity:.58}html[data-theme=dark] .hero-avatar-frame{border-color:#efe5d31f;background:linear-gradient(180deg,#2c2723eb,#1f1c19e6);box-shadow:0 16px 28px #0000003d}html[data-theme=dark] .hero-avatar-shell:hover .hero-avatar-frame{border-color:#b28a6d3d;box-shadow:0 20px 34px #0000004d}html[data-theme=dark] .hero-status-badge{border-color:#ffffff14;background:#1c1c1ee6;color:#ece7e2;box-shadow:0 16px 28px #0000003d}html[data-theme=dark] .brand-mark{border-color:#efe5d31f;background:linear-gradient(180deg,#2c2723eb,#1f1c19e6);box-shadow:0 14px 24px #00000038}.eyebrow{display:inline-flex;align-items:center;gap:var(--space-xs);width:fit-content;min-height:2rem;padding:.35rem .68rem;border-radius:10px;background:#ffffff7a;border:1px solid var(--card-border);color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.hero-title,.section-title h2,.hero-panel-copy h2,.glass-card h3{font-family:var(--font-heading);font-weight:700;letter-spacing:-.05em}.hero-title{margin:var(--space-sm) 0 0;max-width:10.5ch;font-size:clamp(3.3rem,6.2vw,5rem);line-height:.93;letter-spacing:-.075em}.hero-profile-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.hero-title-line{display:block}.hero-title-line-accent{position:relative;width:fit-content}.hero-title-line-accent:after{content:"";position:absolute;left:.08em;right:-.08em;bottom:.12em;height:.24em;border-radius:999px;background:linear-gradient(90deg,#d46f5138,#8b9adc29);z-index:-1}html[data-theme=dark] .hero-copy:before{background:radial-gradient(circle,rgba(212,126,93,.08) 0%,rgba(147,164,235,.05) 38%,transparent 72%)}html[data-theme=dark] .hero-copy:after{content:"";position:absolute;inset:-2rem -1.1rem -1.6rem -1.3rem;border-radius:2rem;background:linear-gradient(180deg,#00000080,#00000047);z-index:-2}html[data-theme=dark] .hero-title{color:#f5f5f5}html[data-theme=dark] .hero-title-line-accent:after{background:linear-gradient(90deg,#b28a6d57,#9cb4ff38)}.hero-greeting{margin:0;color:var(--ink);font-size:1rem;font-weight:700;letter-spacing:-.03em}html[data-theme=dark] .hero-greeting{color:#ece7e2}.hero-avatar-shell{flex-shrink:0}.hero-avatar-frame{width:clamp(3.1rem,5vw,3.75rem);aspect-ratio:1;overflow:hidden;border-radius:50%;border:1.5px solid rgba(69,56,42,.11);background:linear-gradient(180deg,#f6efe7e6,#ece5dcd6);box-shadow:var(--shadow);transition:box-shadow .3s ease,border-color .3s ease,transform .3s ease}.hero-avatar-shell:hover .hero-avatar-frame{border-color:#7e46302e;box-shadow:0 14px 22px #11100e17}.hero-avatar-image{width:100%;height:100%;object-fit:cover;object-position:center 20%}.hero-status-badge{display:inline-flex;align-items:center;min-height:2rem;padding:.36rem .78rem;border-radius:10px;border:1px solid rgba(212,111,81,.12);background:linear-gradient(180deg,#fff8f2f0,#f7f0e9c7);color:var(--accent-deep);font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 10px 22px #2c1d120d}.hero-summary,.hero-role,.section-title p,.glass-card p,.project-card p,.contact-link small{color:var(--muted);line-height:1.75}.hero-summary{max-width:31rem;margin:1rem 0 0;font-size:1rem;line-height:1.62;color:var(--muted)}html[data-theme=dark] .hero-summary{color:#b3b3bc;font-weight:500}.hero-role{margin:var(--space-md) 0 0;color:var(--accent-deep);font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}html[data-theme=dark] .hero-role{color:#d4b7a2}.hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-lg)}.hero-actions .button-primary,.hero-actions .button-secondary{min-height:3rem;padding:.84rem 1.08rem;border-radius:var(--button-radius)}.hero-actions .button-primary{background:linear-gradient(135deg,#a4664d,#7e4b3b);box-shadow:0 18px 34px #7a4a3c38}.hero-actions .button-primary:hover{box-shadow:0 22px 38px #7a4a3c47}.hero-actions .button-secondary{border-color:#45382a24;background:#fffbf5c7;box-shadow:0 14px 26px #251c120f}.hero-actions .button-secondary:hover{background:#ffffffeb;box-shadow:0 18px 30px #251c1214}html[data-theme=dark] .hero-actions .button-primary{background:linear-gradient(135deg,#b06d52,#8a503f);color:#fff;box-shadow:0 18px 34px #00000047}html[data-theme=dark] .hero-actions .button-primary:hover{box-shadow:0 22px 40px #00000057}html[data-theme=dark] .hero-actions .button-secondary{border-color:#ffffff1f;background:#1a1a1aeb;color:#f5f5f5;box-shadow:0 16px 28px #0000003d}html[data-theme=dark] .hero-actions .button-secondary:hover{background:#222222f5;box-shadow:0 18px 30px #0000004d}.hero-visual{position:relative;width:100%;max-width:31rem;justify-self:end}.hero-showcase-shell{width:100%;min-width:0}.hero-showcase{position:relative;min-height:36rem}.hero-showcase:before{content:"";position:absolute;inset:2.2rem 1.6rem 1.8rem 1.8rem;border-radius:2.1rem;border:1px solid rgba(69,56,42,.08);background:linear-gradient(155deg,#ffffffb8,#f7efe74d);box-shadow:inset 0 1px #ffffffb3,0 20px 40px #20160f14}html[data-theme=dark] .hero-showcase:before{border-color:#ffffff14;background:linear-gradient(155deg,#1a1a1aeb,#222222b8);box-shadow:inset 0 1px #ffffff0a,0 24px 44px #00000042}.hero-showcase-glow{position:absolute;border-radius:999px;filter:blur(52px);pointer-events:none}.hero-showcase-glow-primary{top:12%;right:10%;width:17rem;height:17rem;background:radial-gradient(circle,rgba(212,111,81,.28),transparent 68%)}.hero-showcase-glow-secondary{left:2%;bottom:14%;width:17rem;height:17rem;background:radial-gradient(circle,rgba(139,154,220,.2),transparent 70%)}html[data-theme=dark] .hero-showcase-glow-primary{background:radial-gradient(circle,rgba(212,126,93,.18),transparent 70%);opacity:.7}html[data-theme=dark] .hero-showcase-glow-secondary{background:radial-gradient(circle,rgba(147,164,235,.12),transparent 72%);opacity:.58}.hero-dot-pattern{position:absolute;width:7.5rem;height:7.5rem;background-image:radial-gradient(rgba(111,103,95,.22) 1.2px,transparent 1.2px);background-size:14px 14px;opacity:.7;pointer-events:none}html[data-theme=dark] .hero-dot-pattern{background-image:radial-gradient(rgba(255,255,255,.14) 1.2px,transparent 1.2px);opacity:.36}.hero-dot-pattern-top{top:4.8rem;right:.4rem}.hero-dot-pattern-bottom{left:.7rem;bottom:1.4rem}.hero-floating-chip{position:absolute;z-index:4;display:inline-flex;align-items:center;min-height:2.1rem;padding:.46rem .8rem;border-radius:999px;border:1px solid rgba(69,56,42,.08);background:#fffcf8db;box-shadow:0 16px 32px #20160f14;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:var(--ink);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}html[data-theme=dark] .hero-floating-chip{border-color:#ffffff14;background:#1a1a1ae6;box-shadow:0 18px 34px #00000042;color:#f4f4f5}.hero-floating-chip-top{top:1rem;left:.2rem}.hero-floating-chip-bottom{right:.8rem;bottom:1.2rem}.hero-portrait-shell{position:absolute;inset:3.2rem 2rem 2.7rem 3.2rem;z-index:2}.hero-portrait-frame{position:relative;width:100%;height:100%;padding:.8rem;border-radius:2.3rem 2.3rem 6.4rem;border:1px solid rgba(255,255,255,.7);background:linear-gradient(145deg,#fffc,#f7e8dc7a);box-shadow:0 30px 56px #17110c29}.hero-portrait-frame:before{content:"";position:absolute;inset:-.85rem 1.25rem 1.2rem -.85rem;border-radius:2.6rem 2.6rem 7rem;border:1px solid rgba(164,102,77,.14);z-index:-1}.hero-portrait-inner{position:relative;height:100%;overflow:hidden;border-radius:1.9rem 1.9rem 5.8rem;background:linear-gradient(180deg,#e9dacdf5,#f3ebe3eb)}.hero-portrait-inner:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#11100e05,#11100e29);pointer-events:none}.hero-portrait-image{width:100%;height:100%;object-fit:cover;object-position:center 16%;transform:scale(1.04)}html[data-theme=dark] .hero-portrait-frame{border-color:#ffffff14;background:linear-gradient(145deg,#202020eb,#181818d6);box-shadow:0 30px 56px #00000047}html[data-theme=dark] .hero-portrait-frame:before{border-color:#b06d522e}html[data-theme=dark] .hero-portrait-inner{background:linear-gradient(180deg,#292725f5,#1c1b19f0)}html[data-theme=dark] .hero-portrait-inner:after{background:linear-gradient(180deg,#0000001f,#00000057)}html[data-theme=dark] .hero-portrait-image{filter:brightness(.88) contrast(1.04) saturate(.96)}.hero-floating-card{position:absolute;z-index:4;max-width:13.2rem;padding:var(--card-padding);border-radius:1.15rem;border:1px solid rgba(69,56,42,.08);background:#fffbf6e0;box-shadow:0 20px 38px #1b140f1a;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}html[data-theme=dark] .hero-floating-card{border-color:#ffffff14;background:#1a1a1ae6;box-shadow:0 20px 38px #00000047}.hero-floating-card-1{top:5.4rem;right:-.2rem}.hero-floating-card-2{left:.2rem;bottom:5rem}.hero-floating-label{display:inline-flex;color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}html[data-theme=dark] .hero-floating-label{color:#c6c6cf}.hero-floating-card p{margin:.55rem 0 0;color:var(--ink);font-size:.92rem;line-height:1.46}html[data-theme=dark] .hero-floating-card p{color:#e4e4e7;font-weight:500}.hero-panel-shell{width:100%;min-width:0;perspective:1400px;transform-style:preserve-3d}.hero-panel{position:relative;padding:var(--card-padding);min-height:auto;border-radius:var(--card-radius);overflow:hidden;border:1px solid var(--card-border);background:var(--card-bg);box-shadow:var(--shadow)}.hero-panel-shell:hover .hero-panel{border-color:#7e463029;box-shadow:var(--shadow-hover)}.hero-panel:before{content:"";position:absolute;right:-2rem;top:32%;width:18rem;height:18rem;border-radius:999px;background:radial-gradient(circle,rgba(255,255,255,.66),transparent 64%);filter:blur(18px);animation:pulseGlow 10s ease-in-out infinite}.hero-panel:after{content:"";position:absolute;inset:.7rem;border-radius:calc(var(--card-radius) - 2px);border:1px solid rgba(255,255,255,.34);pointer-events:none}.hero-panel-glow{position:absolute;width:14rem;height:14rem;border-radius:999px;filter:blur(10px);opacity:.24}.hero-panel-glow-left{top:-3rem;left:-2rem;background:radial-gradient(circle,rgba(211,196,182,.72),transparent 62%);animation:driftGlow 11s ease-in-out infinite}.hero-panel-glow-right{right:-2rem;bottom:-2rem;background:radial-gradient(circle,rgba(140,104,77,.12),transparent 62%);animation:driftGlow 14s ease-in-out infinite reverse}.hero-panel-header,.resume-preview-top{display:flex;align-items:center;justify-content:space-between;gap:.7rem}.panel-chip{position:relative;z-index:1;display:inline-flex;align-items:center;gap:.45rem;min-height:1.9rem;padding:.3rem .62rem;border-radius:10px;background:#ffffff7a;border:1px solid var(--card-border);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.panel-chip.muted{color:var(--muted);font-weight:600}.hero-panel-copy{position:relative;z-index:1;margin-top:var(--space-md);max-width:20.5rem}.panel-lead{margin:0;color:var(--muted);font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.hero-panel-copy h2{margin:var(--space-xs) 0 0;max-width:16ch;font-size:clamp(1.25rem,2.2vw,1.7rem);line-height:1.18}.hero-feature-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm);margin-top:var(--space-md)}.feature-card{padding:var(--space-md);border-radius:var(--card-radius);background:#ffffff70;border:1px solid var(--card-border);box-shadow:var(--shadow);transition:border-color .3s ease,box-shadow .3s ease,background-color .3s ease}.feature-card-1{grid-column:span 2}.feature-card span,.card-kicker{display:inline-flex;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.feature-card p{margin:var(--space-xs) 0 0;color:var(--muted);font-size:.84rem;line-height:1.5}.section-title{max-width:36rem;margin-bottom:var(--space-lg)}.section-title h2{margin:var(--space-sm) 0 0;font-size:clamp(1.75rem,2.8vw,2rem);line-height:1.16}.section-title p{margin:0;max-width:34rem;font-size:.95rem;line-height:1.6}.glass-card{border:1px solid var(--card-border);border-radius:var(--card-radius);background:var(--card-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow);transition:border-color .3s ease,box-shadow .3s ease,background-color .3s ease}.project-card{border:1px solid var(--line);border-radius:var(--card-radius);background:#fffdf9cc;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow);transition:border-color .3s ease,box-shadow .3s ease,background-color .3s ease}.glass-card,.project-card,.feature-card,.skill-pill,.contact-link{position:relative;overflow:hidden;isolation:isolate}.glass-card:before,.project-card:before,.feature-card:before,.skill-pill:before,.contact-link:before{content:"";position:absolute;top:-40%;left:-24%;width:38%;height:180%;background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.04) 30%,rgba(255,255,255,.72) 50%,rgba(255,255,255,.08) 68%,transparent 100%);transform:translate3d(-180%,0,0) rotate(18deg);opacity:.7;pointer-events:none}.glass-card:hover,.project-card:hover,.feature-card:hover,.skill-pill:hover{border-color:#7e463029;box-shadow:var(--shadow-hover)}.project-card:after{content:"";position:absolute;inset:0;padding:1px;border-radius:inherit;background:linear-gradient(135deg,#8c684dcc,#d3c4b6b8,#ffffff7a);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .35s ease;pointer-events:none}.project-card:hover:after{opacity:1}.glass-card:hover:before,.project-card:hover:before,.feature-card:hover:before,.skill-pill:hover:before,.contact-link:hover:before{animation:shimmerSweep .9s ease}.resume-layout,.contact-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;align-items:stretch}.about-layout{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,.95fr);gap:var(--space-lg);align-items:stretch}.about-copy,.resume-card,.resume-preview,.contact-card,.form-card{min-width:0;padding:1.6rem}.resume-card{padding:0}.resume-preview{padding:.9rem}.about-copy{display:flex;flex-direction:column;justify-content:flex-start;height:100%;padding:var(--card-padding);border-radius:var(--card-radius);background:var(--card-bg);border:1px solid var(--card-border);box-shadow:var(--shadow);transition:border-color .3s ease,box-shadow .3s ease,background-color .3s ease}.about-heading{margin:var(--space-sm) 0 0;max-width:21ch;font-family:var(--font-heading);font-size:clamp(1.75rem,2.45vw,1.875rem);line-height:1.12;letter-spacing:-.045em}.about-intro{max-width:39rem;margin:var(--space-sm) 0 0;color:var(--muted);font-size:.94rem;line-height:1.5}.about-copy p{margin:0}.about-points{display:grid;gap:10px;margin:var(--space-md) 0 0;padding:0;list-style:none}.about-point{display:grid;grid-template-columns:auto 1fr;gap:.65rem;align-items:start;color:var(--ink);font-size:.94rem;line-height:1.46}.about-point-dot{width:.55rem;height:.55rem;margin-top:.38rem;border-radius:999px;background:var(--accent);box-shadow:0 0 0 .28rem #8c684d14}.about-skill-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:var(--space-sm);height:100%;min-width:0;align-content:stretch}.about-skill-card{display:flex;flex-direction:column;justify-content:flex-start;min-height:100%;padding:var(--card-padding);border-radius:var(--card-radius);border:1px solid var(--card-border);background:var(--card-bg);box-shadow:var(--shadow);transition:border-color .3s ease,box-shadow .3s ease,background-color .3s ease}.about-skill-label{display:inline-flex;color:var(--ink);font-size:.92rem;font-weight:700;letter-spacing:-.01em;text-transform:none}.about-skill-text{margin:.5rem 0 0;color:var(--muted);font-size:.92rem;line-height:1.48}.about-copy:hover,.about-skill-card:hover{border-color:#7e463029;box-shadow:var(--shadow-hover)}.skill-cloud{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.skill-cloud.compact{margin-top:0}.skill-pill{display:inline-flex;align-items:center;min-height:2.15rem;padding:.45rem .8rem;border-radius:999px;background:#ffffff9e;border:1px solid rgba(69,56,42,.1);color:var(--ink);font-size:.9rem;transition:border-color .3s ease,box-shadow .3s ease,background-color .3s ease}.resume-card h3,.resume-preview h3,.contact-card h3{margin:.65rem 0 .7rem;font-size:1.45rem;line-height:1.12}.resume-card p,.resume-preview p,.contact-card p{margin:0}.projects-section{position:relative;isolation:isolate}.projects-section:before{content:"";position:absolute;inset:0 -1rem;z-index:-1;border-radius:2rem;background:linear-gradient(180deg,#faf7f1fa,#f5f0e8d1)}.projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;align-items:stretch}.project-card{display:flex;flex-direction:column;overflow:hidden;min-height:100%;min-width:0;background:#fffdf9eb;box-shadow:0 16px 30px #20160f14,0 1px #ffffffb3 inset}.project-card-featured{border-color:#8c684d2e;background:linear-gradient(180deg,#fffdf9f5,#faf5eeeb);box-shadow:0 24px 46px #271d131f,0 1px #fffc inset}.project-media{aspect-ratio:16 / 10.6;position:relative;overflow:hidden;padding:.95rem;border-bottom:1px solid rgba(69,56,42,.08);background:radial-gradient(circle at 14% 12%,rgba(170,113,86,.14),transparent 24%),radial-gradient(circle at 84% 18%,rgba(114,137,206,.14),transparent 24%),linear-gradient(180deg,#faf6f0f5,#f2ede5eb)}.project-card-featured .project-media{aspect-ratio:16 / 11}.project-media-glow{position:absolute;inset:14% 12% auto;height:58%;border-radius:999px;background:radial-gradient(circle,rgba(140,104,77,.22),transparent 68%);filter:blur(26px);opacity:.48;transition:transform .45s ease,opacity .45s ease;pointer-events:none}.project-media-gradient{position:absolute;inset:auto 0 0;height:42%;background:linear-gradient(180deg,transparent,rgba(17,16,14,.22));opacity:.24;transition:opacity .35s ease;pointer-events:none}.project-card:hover .project-media-gradient{opacity:.46}.project-card:hover .project-media-glow{opacity:.72;transform:scale(1.14)}.project-body{display:flex;flex:1;flex-direction:column;gap:.85rem;padding:var(--card-padding)}.project-featured-badge{display:inline-flex;width:fit-content;align-items:center;min-height:1.72rem;padding:.28rem .62rem;border-radius:999px;background:#8c684d14;border:1px solid rgba(140,104,77,.16);color:var(--accent-deep);font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.project-topline{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem}.project-meta{display:flex;flex-wrap:wrap;gap:.45rem}.project-copy{display:grid;gap:.45rem}.project-description{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:2.9rem}.project-meta span{color:var(--muted);font-size:.78rem;font-weight:700;letter-spacing:-.01em}.project-body h3{margin:0;font-size:1.34rem;font-weight:700;letter-spacing:-.045em;line-height:1.05}.project-body p{margin:0}.project-metrics{display:flex;flex-wrap:wrap;gap:.5rem}.project-metric{display:inline-flex;align-items:center;min-height:1.85rem;padding:.34rem .6rem;border-radius:999px;border:1px solid rgba(69,56,42,.1);background:#fff9;color:var(--ink);font-size:.74rem;font-weight:700;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.project-stack-line{color:var(--muted);font-size:.78rem;line-height:1.5;letter-spacing:-.01em}.project-ui{position:relative;z-index:1;display:flex;height:100%;flex-direction:column;overflow:hidden;border-radius:1rem;border:1px solid rgba(69,56,42,.08);background:#ffffffd1;box-shadow:0 20px 36px #1c150f14,inset 0 1px #ffffffbf;transition:transform .75s ease,box-shadow .4s ease,filter .4s ease}.project-card:hover .project-ui{transform:scale(1.05);box-shadow:0 26px 44px #1c150f24,inset 0 1px #ffffffd1}.project-ui-toolbar{display:flex;align-items:center;gap:.6rem;padding:.72rem .82rem;border-bottom:1px solid rgba(69,56,42,.06);background:#ffffffad}.project-ui-dots{display:inline-flex;gap:.28rem}.project-ui-dots span{width:.42rem;height:.42rem;border-radius:999px;background:#6f675f5c}.project-ui-dots span:first-child{background:#af6e54bf}.project-ui-dots span:nth-child(2){background:#d8b779c7}.project-ui-dots span:nth-child(3){background:#709d81b8}.project-ui-label{color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.project-ui-body{display:grid;flex:1;min-height:0;padding:.9rem;gap:.78rem}.project-ui-body-policy{grid-template-columns:6.5rem minmax(0,1fr)}.project-policy-sidebar,.project-policy-main,.project-finance-stats,.project-ui-body-commerce{display:grid;gap:.7rem}.project-mini-stat,.project-doc-card,.project-risk-card,.project-finance-stat,.project-chart-card,.project-balance-card,.project-commerce-hero,.project-order-card{border-radius:.9rem;border:1px solid rgba(69,56,42,.08);background:#ffffffd1;box-shadow:0 10px 18px #20160f0d}.project-mini-stat{display:grid;gap:.2rem;padding:.75rem}.project-mini-stat strong,.project-finance-stat strong,.project-order-card strong{font-size:.98rem;line-height:1}.project-mini-stat span,.project-finance-stat span,.project-order-card span,.project-balance-card span,.project-chart-label{color:var(--muted);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.project-doc-card{display:grid;gap:.7rem;padding:.8rem}.project-chip{display:inline-flex;width:fit-content;align-items:center;min-height:1.58rem;padding:.2rem .52rem;border-radius:999px;background:#8c684d14;color:var(--accent-deep);font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.project-doc-lines{display:grid;gap:.42rem}.project-doc-lines span,.project-risk-card strong,.project-commerce-hero strong,.project-balance-card small{display:block}.project-doc-lines span{height:.42rem;border-radius:999px;background:linear-gradient(90deg,#45382a2e,#45382a14)}.project-doc-lines span:nth-child(2){width:88%}.project-doc-lines span:nth-child(3){width:72%}.project-doc-lines span:nth-child(4){width:60%}.project-risk-grid{display:grid;gap:.55rem}.project-risk-card{display:grid;gap:.24rem;padding:.72rem}.project-risk-card span{color:var(--muted);font-size:.64rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.project-risk-card strong,.project-commerce-hero strong{font-size:.78rem;line-height:1.25}.project-risk-card.is-critical{background:linear-gradient(180deg,#ffefe8e6,#fff7f4db)}.project-risk-card.is-warning{background:linear-gradient(180deg,#fff6e7eb,#fffaf2e0)}.project-ui-body-finance{grid-template-rows:auto auto 1fr}.project-balance-card{display:grid;gap:.35rem;padding:.92rem;background:linear-gradient(135deg,#3a5099eb,#805748eb);color:#fff}.project-balance-card span,.project-balance-card small{color:#ffffffd6}.project-balance-card strong{font-size:1.38rem;line-height:1;letter-spacing:-.04em}.project-finance-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.project-finance-stat,.project-chart-card,.project-order-card{display:grid;gap:.24rem;padding:.72rem}.project-finance-stat strong{font-size:.88rem}.project-chart-card{align-content:end}.project-chart-bars{display:flex;align-items:end;gap:.35rem;min-height:4.4rem}.project-chart-bars span{flex:1;border-radius:999px 999px .4rem .4rem;background:linear-gradient(180deg,#526ab9e6,#b47152e6)}.project-chart-bars span:first-child{height:42%}.project-chart-bars span:nth-child(2){height:64%}.project-chart-bars span:nth-child(3){height:58%}.project-chart-bars span:nth-child(4){height:82%}.project-chart-bars span:nth-child(5){height:72%}.project-chart-bars span:nth-child(6){height:92%}.project-ui-body-commerce{grid-template-rows:minmax(0,1fr);padding:.72rem}.project-commerce-shot{position:relative;height:100%;max-height:100%;min-height:0;overflow:hidden;border-radius:.92rem;border:1px solid rgba(69,56,42,.08);background:linear-gradient(180deg,#fbf6effa,#f2ebe1f5);box-shadow:0 16px 28px #20160f14,inset 0 1px #ffffffc2}.project-commerce-shot:after{content:"";position:absolute;inset:auto 0 0;height:24%;background:linear-gradient(180deg,transparent,rgba(17,16,14,.12));pointer-events:none}.project-commerce-shot-image{width:100%;height:100%;max-width:100%;max-height:100%;display:block;object-fit:contain;object-position:center top}.project-media-overlay{position:absolute;inset:auto 0 0;z-index:3;display:flex;align-items:center;justify-content:center;gap:.65rem;padding:1rem;opacity:0;transform:translateY(16px);transition:opacity .28s ease,transform .28s ease}.project-card:hover .project-media-overlay,.project-card:focus-within .project-media-overlay{opacity:1;transform:translateY(0)}.project-overlay-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.6rem;padding:.72rem .96rem;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:#11100ee0;color:#fff;box-shadow:0 20px 32px #0003;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);font-size:.84rem;font-weight:700;cursor:pointer;transition:transform .25s ease,background-color .25s ease,box-shadow .25s ease,border-color .25s ease}.project-overlay-button:hover{transform:translateY(-2px);background:#11100ef5;box-shadow:0 22px 36px #0000003d}.project-overlay-button svg{width:.95rem;height:.95rem}.project-overlay-button-secondary{background:#ffffffe0;color:var(--ink)}.project-overlay-button-secondary:hover{background:#fffffff5}.project-overlay-button-tertiary{background:#ffffffb8;color:var(--ink)}.project-overlay-button-tertiary:hover{background:#ffffffe6}.project-modal-backdrop{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:1rem;background:#11100e80;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.project-modal{width:min(1080px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);overflow:auto;overscroll-behavior:contain;padding:1rem;border-radius:1.5rem;border:1px solid rgba(69,56,42,.12);background:#fffbf5f5;box-shadow:0 32px 72px #11100e38}.project-modal-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.project-modal-copy{display:grid;gap:.45rem;max-width:38rem}.project-modal-meta{color:var(--muted);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.project-modal-copy h3{margin:0;font-size:clamp(1.8rem,3vw,2.4rem);line-height:1.02;letter-spacing:-.05em}.project-modal-copy p{margin:0;color:var(--muted);font-size:.98rem;line-height:1.6}.project-modal-close{min-height:2.5rem;padding:.7rem .95rem;border:1px solid rgba(69,56,42,.1);border-radius:999px;background:#fffc;color:var(--ink);font-weight:700;cursor:pointer;transition:transform .25s ease,background-color .25s ease,box-shadow .25s ease}.project-modal-close:hover{transform:translateY(-2px);background:#fff;box-shadow:0 14px 24px #271d1314}.project-modal-preview{overflow:hidden;min-height:28rem;padding:1rem;border-radius:1.2rem;border:1px solid rgba(69,56,42,.08);background:radial-gradient(circle at 12% 12%,rgba(170,113,86,.12),transparent 24%),radial-gradient(circle at 84% 18%,rgba(114,137,206,.12),transparent 24%),linear-gradient(180deg,#f8f4eefa,#f1ede5f0)}.project-modal-preview .project-ui{height:100%;min-height:0}.project-modal-preview .project-ui-body-commerce{min-height:0}.project-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem}.project-modal-metrics{display:flex;flex-wrap:wrap;gap:.5rem}.project-modal-actions{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:.65rem}.project-modal-code{flex-shrink:0}.contact-link{display:inline-flex;align-items:center;gap:.65rem;min-height:2.75rem;padding:.75rem .95rem;border-radius:999px;border:1px solid rgba(69,56,42,.1);background:#ffffffa3;transition:transform .25s ease,background-color .25s ease,box-shadow .25s ease,border-color .25s ease}.contact-link:hover{transform:translateY(-2px);border-color:#7e46302e;box-shadow:0 18px 28px #271d1314}.contact-link:hover{background:#fff}.contact-icon svg,.contact-link>svg{width:1rem;height:1rem}.resume-download-card{display:flex;flex-direction:column;justify-content:space-between;min-height:100%;min-height:24rem;padding:1.6rem}.resume-download-card h3{margin:.8rem 0 0;font-size:clamp(1.9rem,4vw,2.8rem);line-height:1}.resume-download-card p{margin:.85rem 0 0;max-width:16rem}.resume-card-action{display:inline-flex;align-items:center;gap:.7rem;width:fit-content;margin-top:2rem;padding:.95rem 1.15rem;border-radius:999px;background:linear-gradient(135deg,var(--accent-deep) 0%,var(--accent) 100%);color:#fff;box-shadow:0 20px 34px #7e46302e;transition:transform .25s ease,box-shadow .25s ease,background-position .35s ease}.resume-download-card:hover .resume-card-action{transform:translateY(-2px);box-shadow:0 22px 38px #7e46303d}.resume-preview{display:flex;flex-direction:column;justify-content:space-between}.resume-preview-top{margin-bottom:.9rem}.resume-expand-button,.resume-modal-close{min-height:2.45rem;padding:.65rem .9rem;font-size:.88rem}.resume-preview-shell{overflow:hidden;border-radius:1.5rem;border:1px solid rgba(69,56,42,.08);background:#fff;min-height:38rem;box-shadow:inset 0 1px #fff9}.resume-preview-frame{display:block;width:100%;height:100%;min-height:38rem;border:0;background:#fff}.resume-preview-fallback{display:flex;min-height:38rem;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;text-align:center}.resume-modal-backdrop{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:1rem;background:#11100e7a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.resume-modal{width:min(1120px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);padding:1rem;border-radius:1.6rem;border:1px solid rgba(69,56,42,.12);background:#fffbf5f0;box-shadow:0 32px 72px #11100e33}.resume-modal-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.9rem}.resume-modal-top h3{margin:.45rem 0 0;font-size:1.5rem;line-height:1.08}.resume-modal-frame-shell{overflow:hidden;border-radius:1.25rem;border:1px solid rgba(69,56,42,.08);background:#fff;min-height:min(78vh,62rem)}.resume-modal-frame{display:block;width:100%;height:min(78vh,62rem);border:0;background:#fff}.contact-link-list{display:flex;flex:1;flex-direction:column;gap:var(--space-sm);min-height:0;margin-top:1.5rem}.contact-link{flex:1 1 0;justify-content:space-between;min-height:0;min-width:0;padding:var(--space-md);border-radius:var(--card-radius)}.contact-card,.form-card{height:100%}.contact-card,.form-card{display:flex;flex-direction:column}.contact-copy{display:grid;min-width:0;gap:.18rem;flex:1}.contact-link strong{display:block}.contact-link small{display:block;font-size:.85rem;line-height:1.4;overflow-wrap:anywhere}.contact-icon{display:inline-flex;align-items:center;justify-content:center;width:2.6rem;height:2.6rem;flex-shrink:0;border-radius:999px;background:#8c684d14;color:var(--accent-deep);transition:transform .25s ease,background-color .25s ease,color .25s ease}.contact-link:hover .contact-icon{transform:scale(1.08) rotate(-6deg);background:#8c684d1f}.contact-form{display:grid;gap:1rem}.form-honeypot{position:absolute;left:-9999px;opacity:0;pointer-events:none}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.contact-form label{display:grid;gap:.5rem}.contact-form label span{font-weight:700;font-size:.95rem}.contact-form input,.contact-form textarea{width:100%;padding:.9rem 1rem;border-radius:1rem;border:1px solid rgba(69,56,42,.12);background:#ffffffb8;color:var(--ink);transition:border-color .25s ease,box-shadow .25s ease,background-color .25s ease}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:#8c684d57;box-shadow:0 0 0 4px #8c684d14;background:#fff}.contact-form textarea{resize:vertical;min-height:9rem}.contact-form input[type=file]{padding:.75rem .85rem;cursor:pointer}.contact-form input[type=file]::file-selector-button{margin-right:.9rem;padding:.7rem 1rem;border:0;border-radius:999px;background:#8c684d1a;color:var(--accent-deep);font:inherit;font-weight:700;cursor:pointer;transition:background-color .25s ease,transform .25s ease}.contact-form input[type=file]::file-selector-button:hover{background:#8c684d29;transform:translateY(-1px)}.form-helper,.selected-file{margin:-.15rem 0 0;color:var(--muted);font-size:.9rem;line-height:1.7}.selected-file{color:var(--accent-deep);font-weight:600}.submit-button{border:none;cursor:pointer}.submit-button:disabled{cursor:wait;opacity:.82;transform:none}.form-status{margin:0;padding:.9rem 1rem;border-radius:1rem;border:1px solid rgba(69,56,42,.1);font-size:.95rem;line-height:1.6}.form-status-success{background:#8c684d1a;color:var(--accent-deep)}.form-status-error{background:#bb6c461a;color:var(--accent-deep)}.site-footer{padding:0 0 2rem}.footer-inner{width:var(--content-width);margin:0 auto;padding:1.5rem 0 0;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid rgba(69,56,42,.08);color:var(--muted)}.footer-inner p{margin:0}.footer-inner a{color:var(--sage);font-weight:700}html[data-theme=dark] .site-nav.is-scrolled{background:#14131166;border-bottom:1px solid rgba(239,229,211,.08);box-shadow:0 14px 34px #0003}html[data-theme=dark] .nav-links,html[data-theme=dark] .nav-socials,html[data-theme=dark] .button-secondary,html[data-theme=dark] .theme-toggle,html[data-theme=dark] .menu-toggle,html[data-theme=dark] .feature-card,html[data-theme=dark] .panel-chip,html[data-theme=dark] .contact-link,html[data-theme=dark] .contact-form input,html[data-theme=dark] .contact-form textarea,html[data-theme=dark] .resume-preview-shell{background:#1e1c1ad1}html[data-theme=dark] .nav-links,html[data-theme=dark] .nav-socials,html[data-theme=dark] .theme-toggle,html[data-theme=dark] .menu-toggle{border-color:#efe5d314;box-shadow:0 18px 34px #0003}html[data-theme=dark] .nav-link{color:#c8c0b5}html[data-theme=dark] .nav-link:hover,html[data-theme=dark] .nav-link.is-active{color:#f4ede3}html[data-theme=dark] .nav-link:hover{background:#ffffff0a}html[data-theme=dark] .nav-link-indicator{background:#ffffff14;box-shadow:0 12px 20px #00000038}html[data-theme=dark] .nav-social-link{color:#c8c0b5}html[data-theme=dark] .nav-social-link:hover{background:#26231ff5;color:#f4ede3;box-shadow:0 14px 24px #0000003d}html[data-theme=dark] .about-skill-card{background:#1e1c1ab8;border-color:#efe5d314;box-shadow:0 12px 24px #00000029}html[data-theme=dark] .about-copy,html[data-theme=dark] .glass-card{background:#1e1c1ad6;border-color:#efe5d314}html[data-theme=dark] .projects-section:before{background:linear-gradient(180deg,#1c1a18e0,#15141299)}html[data-theme=dark] .project-card{background:#1e1c1ad6}html[data-theme=dark] .project-card-featured{border-color:#b28a6d38;background:linear-gradient(180deg,#26231feb,#1c1a18e0);box-shadow:0 28px 56px #00000038}html[data-theme=dark] .project-featured-badge{background:#b28a6d29;border-color:#b28a6d38;color:var(--accent-deep)}html[data-theme=dark] .project-media-glow{background:radial-gradient(circle,rgba(178,138,109,.22),transparent 68%)}html[data-theme=dark] .project-media{background:radial-gradient(circle at 14% 12%,rgba(178,138,109,.14),transparent 24%),radial-gradient(circle at 84% 18%,rgba(123,139,213,.14),transparent 24%),linear-gradient(180deg,#1e1c1af5,#181614f0)}html[data-theme=dark] .project-media-gradient{background:linear-gradient(180deg,transparent,rgba(0,0,0,.34))}html[data-theme=dark] .project-metric{border-color:#efe5d314;background:#26231fd1;color:#f4ede3}html[data-theme=dark] .project-ui,html[data-theme=dark] .project-mini-stat,html[data-theme=dark] .project-doc-card,html[data-theme=dark] .project-risk-card,html[data-theme=dark] .project-finance-stat,html[data-theme=dark] .project-chart-card,html[data-theme=dark] .project-balance-card,html[data-theme=dark] .project-commerce-hero,html[data-theme=dark] .project-order-card{border-color:#efe5d314;background:#22201eeb;box-shadow:0 18px 30px #0000002e,inset 0 1px #ffffff08}html[data-theme=dark] .project-ui-toolbar{border-color:#efe5d30f;background:#26231fe0}html[data-theme=dark] .project-ui-label,html[data-theme=dark] .project-mini-stat span,html[data-theme=dark] .project-finance-stat span,html[data-theme=dark] .project-order-card span,html[data-theme=dark] .project-balance-card span,html[data-theme=dark] .project-chart-label,html[data-theme=dark] .project-risk-card span{color:#b7aea4}html[data-theme=dark] .project-doc-lines span{background:linear-gradient(90deg,#f4ede32e,#f4ede314)}html[data-theme=dark] .project-risk-card.is-critical{background:linear-gradient(180deg,#572e27f0,#36211eeb)}html[data-theme=dark] .project-risk-card.is-warning{background:linear-gradient(180deg,#523c1ef0,#332818eb)}html[data-theme=dark] .project-risk-card strong,html[data-theme=dark] .project-commerce-hero strong,html[data-theme=dark] .project-finance-stat strong,html[data-theme=dark] .project-mini-stat strong,html[data-theme=dark] .project-order-card strong{color:#f4ede3}html[data-theme=dark] .project-balance-card{background:linear-gradient(135deg,#4860aef0,#855040f0)}html[data-theme=dark] .project-commerce-shot{border-color:#efe5d314;background:linear-gradient(180deg,#22201ef5,#1c1a18f5);box-shadow:0 18px 30px #0000002e,inset 0 1px #ffffff08}html[data-theme=dark] .project-commerce-grid span{border-color:#efe5d314;background:linear-gradient(180deg,#302c29d1,#24211ef0),linear-gradient(135deg,#b28a6d14,#7b8bd514)}html[data-theme=dark] .project-overlay-button{border-color:#ffffff14;background:#121212eb;color:#fff;box-shadow:0 24px 36px #00000047}html[data-theme=dark] .project-overlay-button:hover{background:#0a0a0af5}html[data-theme=dark] .project-overlay-button-secondary{background:#26231ff0;color:#f4ede3}html[data-theme=dark] .project-overlay-button-secondary:hover{background:#2e2a26fa}html[data-theme=dark] .project-overlay-button-tertiary{background:#342f2be0;color:#f4ede3}html[data-theme=dark] .project-overlay-button-tertiary:hover{background:#3e3833f5}html[data-theme=dark] .project-modal{border-color:#efe5d314;background:#181614f5;box-shadow:0 32px 72px #00000057}html[data-theme=dark] .project-modal-meta,html[data-theme=dark] .project-modal-copy p{color:#b7aea4}html[data-theme=dark] .project-modal-copy h3{color:#f4ede3}html[data-theme=dark] .project-modal-close{border-color:#efe5d314;background:#26231fe6;color:#f4ede3}html[data-theme=dark] .project-modal-close:hover{background:#2e2a26f5}html[data-theme=dark] .project-modal-preview{border-color:#efe5d314;background:radial-gradient(circle at 12% 12%,rgba(178,138,109,.12),transparent 24%),radial-gradient(circle at 84% 18%,rgba(123,139,213,.12),transparent 24%),linear-gradient(180deg,#1e1c1afa,#181614f0)}html[data-theme=dark] .button-secondary:hover,html[data-theme=dark] .nav-social-link:hover,html[data-theme=dark] .theme-toggle:hover,html[data-theme=dark] .menu-toggle:hover,html[data-theme=dark] .contact-link:hover,html[data-theme=dark] .contact-form input:focus,html[data-theme=dark] .contact-form textarea:focus{background:#26231ff5}html[data-theme=dark] .hero-panel{background:linear-gradient(180deg,#1e1c1ae6,#161412f5)}html[data-theme=dark] .hero-panel:after,html[data-theme=dark] .resume-preview-shell,html[data-theme=dark] .project-media,html[data-theme=dark] .contact-form input,html[data-theme=dark] .contact-form textarea{border-color:#efe5d314}html[data-theme=dark] .hero-panel:before{background:radial-gradient(circle,rgba(255,255,255,.12),transparent 64%)}html[data-theme=dark] .contact-icon{background:#b28a6d29}html[data-theme=dark] .menu-panel{border-color:#efe5d314;background:#1e1c1af0;box-shadow:0 28px 60px #0000003d}html[data-theme=dark] .menu-link,html[data-theme=dark] .menu-resume-link{border-color:#efe5d314;background:#26231feb}html[data-theme=dark] .menu-link:hover,html[data-theme=dark] .menu-resume-link:hover,html[data-theme=dark] .menu-link.is-active{background:#2f2b27fa}html[data-theme=dark] .resume-preview-shell,html[data-theme=dark] .resume-preview-frame,html[data-theme=dark] .resume-preview-fallback,html[data-theme=dark] .resume-modal-frame-shell,html[data-theme=dark] .resume-modal-frame{background:#101211}html[data-theme=dark] .resume-modal{border-color:#efe5d314;background:#1e1c1af0;box-shadow:0 32px 72px #00000057}html[data-theme=dark] .resume-modal-backdrop{background:#0a09089e}html[data-theme=dark] .project-card:after{background:linear-gradient(135deg,#d4b7a2bd,#b28a6d7a,#ffffff3d)}@media(pointer:fine){body,a,button,input,textarea,label{cursor:none}}@media(pointer:coarse){.cursor-glow,.cursor-core{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-gradient,.hero-panel:before,.hero-panel-glow-left,.hero-panel-glow-right{animation:none}.glass-card:before,.project-card:before,.feature-card:before,.skill-pill:before,.contact-link:before{display:none}.cursor-glow,.cursor-core{display:none}}@media(max-width:1080px){.hero,.about-layout,.resume-layout,.contact-layout{grid-template-columns:1fr}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{min-height:auto;gap:var(--space-lg);padding-top:var(--space-lg)}.hero-backdrop{inset:-1.5rem -1rem auto}.hero-copy,.hero-visual,.about-layout,.section-title{max-width:100%}.hero-visual{max-width:100%;justify-self:stretch}.hero-panel{min-height:auto}.about-layout{max-width:100%}}@media(max-width:980px){.nav-links{display:none}.menu-toggle{display:inline-flex}}@media(max-width:780px){:root{--content-width: min(1100px, calc(100% - 3rem) )}.nav-inner{grid-template-columns:auto 1fr auto;gap:var(--space-sm)}.brand{width:auto;justify-content:flex-start}.nav-actions{gap:.55rem}.nav-socials{display:none}.theme-toggle,.menu-toggle{width:2.75rem;height:2.75rem}.hero-title{max-width:11ch;font-size:clamp(2.2rem,8vw,2.6rem);line-height:1.08}.hero-avatar-frame{width:clamp(3rem,7vw,3.45rem)}.hero-role{margin-top:.72rem}.hero-summary{max-width:32rem}.hero-showcase{min-height:32rem}.hero-showcase:before{inset:1.7rem 1rem 1.1rem 1.1rem}.hero-portrait-shell{inset:2.6rem 1.3rem 2rem 2rem}.hero-floating-card{max-width:11rem;padding:.85rem}.hero-floating-card p{font-size:.84rem}.about-layout{gap:var(--space-md)}.projects-grid,.form-row{grid-template-columns:1fr}.project-modal{width:calc(100vw - 1.5rem)}.project-modal-preview{min-height:22rem}.project-modal-top,.project-modal-footer{flex-direction:column;align-items:stretch}.project-modal-actions{width:100%;justify-content:stretch}.project-modal-code{flex:1 1 0;justify-content:center}.hero-feature-grid{grid-template-columns:1fr}.feature-card-1{grid-column:span 1}.footer-inner{flex-direction:column;align-items:flex-start}}@media(max-width:540px){.site-nav{padding-top:.55rem}.nav-inner{padding-bottom:.55rem}.site-nav.is-scrolled{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.hero{gap:var(--space-md)}.hero-backdrop{inset:1rem -.35rem auto}.hero-greeting{font-size:.98rem}.hero-profile-row{gap:.55rem}.hero-avatar-frame{width:2.85rem}.hero-status-badge{min-height:1.75rem;padding:.28rem .55rem;font-size:.64rem}.hero-title{font-size:clamp(2rem,10vw,2.3rem)}.hero-showcase{min-height:28rem}.hero-showcase:before{inset:1.25rem .7rem .85rem .8rem}.hero-portrait-shell{inset:2.1rem .95rem 1.55rem 1.45rem}.hero-floating-chip{max-width:calc(100% - 1.1rem);padding:.38rem .62rem;font-size:.62rem;letter-spacing:.06em}.hero-floating-chip-top{top:.6rem;left:0}.hero-floating-chip-bottom{right:.2rem;bottom:.6rem}.hero-floating-card{max-width:9.8rem;padding:.75rem}.hero-floating-card-1{top:3.6rem;right:-.1rem}.hero-floating-card-2{left:0;bottom:3.4rem}.hero-floating-card p{font-size:.78rem;line-height:1.38}.section-title h2{font-size:clamp(1.75rem,8vw,1.95rem)}.hero-panel-copy h2{font-size:clamp(1.3rem,7vw,1.55rem)}.project-body,.about-copy,.resume-card,.resume-preview,.contact-card,.form-card,.hero-panel{padding:var(--space-md)}.project-media{padding:.8rem}.project-ui-body-policy{grid-template-columns:1fr}.project-policy-sidebar,.project-finance-stats,.project-commerce-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-media-overlay{position:static;opacity:1;transform:none;justify-content:flex-start;padding:.85rem 0 0}.project-overlay-button{min-height:2.5rem;padding:.68rem .88rem}.project-modal-actions{flex-direction:column}.project-modal{width:calc(100vw - 1rem);padding:.85rem}.project-modal-preview{min-height:18rem;padding:.8rem}.about-skill-card{min-height:auto;padding:var(--space-md)}.about-skill-grid{grid-template-columns:1fr;min-height:auto}.contact-link{width:100%;justify-content:center}.resume-preview-top,.resume-modal-top{flex-direction:column;align-items:stretch}.resume-expand-button,.resume-modal-close{width:100%;justify-content:center}.resume-modal{width:calc(100vw - 1rem);max-height:calc(100vh - 1rem);padding:.85rem;border-radius:1.2rem}.resume-modal-frame-shell,.resume-modal-frame{min-height:72vh;height:72vh}.resume-preview-shell,.resume-preview-frame,.resume-preview-fallback{min-height:30rem}}
