:root{--bg:#140909;--bg-soft:#210100;--surface:#210100cc;--surface-strong:#2b0902;--text:#fce79b;--muted:#e6a341;--border:#b14a364d;--accent:#b14a36;--accent-soft:#b14a3629;--accent-2:#fce79b;--accent-deep:#210100;--cloud-tint:#e6a341;--forest-deep:#8c0902;--forest-soft:#8c09022e;--max-width:1180px;--shadow:0 30px 80px #00000073}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--text);background:radial-gradient(circle at 18% 18%,#e6a3411f,#0000 22%),radial-gradient(circle at 14% 76%,#b14a3614,#0000 20%),radial-gradient(circle at 78% 18%,#fce79b0d,#0000 16%),radial-gradient(circle at 72% 62%,#8c09020d,#0000 18%),linear-gradient(#0f0505 0%,#140909 35%,#1a0b08 100%);min-height:100vh;margin:0;font-family:Segoe UI,Helvetica Neue,sans-serif;overflow-x:hidden}body:before{content:"";pointer-events:none;opacity:.42;background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px);background-size:72px 72px;animation:22s linear infinite grid-drift;position:fixed;inset:0;mask-image:linear-gradient(#0000005c,#0000 75%)}body:after{content:"";pointer-events:none;filter:blur(34px);opacity:.9;background:radial-gradient(circle at 22% 20%,#e6a34114,#0000 18%),radial-gradient(circle at 30% 72%,#b14a360e,#0000 16%),radial-gradient(circle at 78% 18%,#fce79b08,#0000 14%),radial-gradient(circle at 62% 64%,#8c090208,#0000 16%);animation:16s ease-in-out infinite alternate ambient-shift;position:fixed;inset:-10%}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.page-shell{position:relative}.container{width:min(var(--max-width), calc(100% - 2rem));margin:0 auto}.topbar{z-index:10;backdrop-filter:blur(14px);background:#140909c7;border-bottom:1px solid #ffffff0d;position:sticky;top:0}.topbar-inner{justify-content:space-between;align-items:center;gap:1rem;min-height:72px;display:flex}.brand{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);align-items:center;gap:.8rem;font-size:.94rem;display:flex}.brand-mark{aspect-ratio:1;border:1px solid var(--border);width:2.5rem;color:var(--accent-2);background:linear-gradient(135deg,#210100f5,#b14a368a);border-radius:.9rem;place-items:center;display:grid}.nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:1.25rem;display:flex}.nav a{color:var(--muted);font-size:.95rem;transition:color .18s;position:relative}.nav a:after{content:"";background:linear-gradient(90deg, var(--accent), var(--accent-2));transform-origin:0;width:100%;height:1px;transition:transform .18s;position:absolute;bottom:-.35rem;left:0;transform:scaleX(0)}.nav a:hover,.nav a:focus-visible,.nav a.is-active{color:var(--text)}.nav a.is-active:after,.nav a:hover:after,.nav a:focus-visible:after{transform:scaleX(1)}.hero{padding:6rem 0 3.5rem}.hero-grid{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:end;gap:2rem;display:grid}.hero-grid>:first-child{animation:.7s both fade-up}.hero-grid>:last-child{animation:.85s both fade-up}.eyebrow{color:var(--accent-2);letter-spacing:.08em;text-transform:uppercase;background:#ffffff0b;border:1px solid #8f3a223d;border-radius:999px;align-items:center;gap:.65rem;padding:.5rem .8rem;font-size:.82rem;display:inline-flex}.hero h1{letter-spacing:-.05em;max-width:14ch;margin:1.25rem 0 1rem;font-size:clamp(3rem,8vw,6.2rem);line-height:.95}.hero p{margin:0}.lead{color:#f3dab0;max-width:62ch;font-size:1.1rem;line-height:1.8}.hero-actions,.socials{flex-wrap:wrap;gap:.9rem;display:flex}.hero-actions{margin-top:2rem}.button{border:1px solid var(--border);min-height:3.15rem;color:var(--text);isolation:isolate;background:#ffffff08;border-radius:999px;justify-content:center;align-items:center;padding:0 1.2rem;font-weight:600;transition:transform .18s,border-color .18s,background .18s,box-shadow .18s;display:inline-flex;position:relative;overflow:hidden}.button:hover,.button:focus-visible{border-color:#d7c4a438;transform:translateY(-2px);box-shadow:0 14px 28px #00000038}.button-primary{color:#1e0d05;background:0 0;border-color:#0000}.button-primary:hover,.button-primary:focus-visible{background:0 0}.button-primary:before{content:"";border-radius:inherit;z-index:-1;background:#fce79b;outline:1px solid #0000;position:absolute;inset:0;transform:translateZ(0)}.button-primary:hover:before,.button-primary:focus-visible:before{background:#f7d775}.hero-panel,.section-card,.project-card,.contact-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);backdrop-filter:blur(10px)}.section-card,.focus-card,.project-card,.contact-card{opacity:0;animation:.7s forwards reveal-card;transform:translateY(22px)}.hero-panel{transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));background:radial-gradient(circle at 20% 20%,#e6a3411f,#0000 28%),radial-gradient(circle at 84% 24%,#b14a3614,#0000 18%),linear-gradient(#210100e0,#210100c7);border-radius:1.8rem;padding:1.2rem;transition:transform .18s,border-color .18s;position:relative;overflow:hidden}.hero-panel:before{content:"";filter:blur(30px);opacity:.7;pointer-events:none;background:radial-gradient(circle,#e6a34124,#0000 60%);height:60%;position:absolute;inset:auto -20% -35% 20%}.hero-panel:after{content:"";pointer-events:none;background:radial-gradient(circle at 78% 28%,#1b241d24,#0000 22%);position:absolute;inset:0}.hero-panel:hover,.hero-panel:focus-within{border-color:#fce79b33}.hero-panel-grid{gap:.85rem;display:grid}.metric{background:radial-gradient(circle at 18% 20%,#e6a34114,#0000 26%),linear-gradient(#ffffff07,#ffffff03);border:1px solid #ffffff0f;border-radius:1.2rem;padding:1rem 1.05rem;transition:transform .22s,border-color .22s,background .22s;transform:translateY(0)}.metric:first-child{animation:.7s .1s both fade-up}.metric:nth-child(2){animation:.7s .18s both fade-up}.metric:nth-child(3){animation:.7s .26s both fade-up}.metric:hover,.metric:focus-within{background:linear-gradient(#ffffff0b,#ffffff05);border-color:#fce79b29;transform:translateY(-3px)}.metric span{display:block}.metric-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.8rem}.metric-value{margin-top:.35rem;font-size:1.05rem;line-height:1.45}.socials{margin-top:1.4rem}.socials a{color:var(--muted)}.socials a:hover,.socials a:focus-visible{color:var(--text)}.section{padding:1.5rem 0 4rem;scroll-margin-top:6.5rem}.section-heading{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.8rem;display:flex}.section-heading h2{letter-spacing:-.04em;opacity:0;margin:0;font-size:clamp(2rem,5vw,3.25rem);animation:.65s forwards reveal-card;transform:translateY(18px)}@supports (animation-timeline:view()){.section-card,.focus-card,.project-card,.contact-card{animation-timeline:view();animation-range:entry 10% cover 28%}.section-heading h2{animation-timeline:view();animation-range:entry cover 22%}}.section-heading p{max-width:36rem;color:var(--muted);margin:0;line-height:1.8}.about-grid,.focus-grid{gap:1rem;display:grid}.about-grid{grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr)}.section-card{background:radial-gradient(circle at 85% 18%, #1b241d1f, transparent 20%), var(--surface);border-radius:1.6rem;padding:1.5rem}.section-card p{color:#f0d8b4;margin:0;line-height:1.85}.section-card p+p{margin-top:1rem}.stack-list{gap:.75rem;display:grid}.section-card h3+.stack-list{margin-top:1rem}.stack-item{border-bottom:1px solid #d7c4a414;justify-content:space-between;gap:1rem;padding-bottom:.75rem;display:flex}.stack-item:last-child{border-bottom:0;padding-bottom:0}.stack-label{color:var(--muted)}.stack-value{color:var(--text);text-align:right;max-width:17rem}.focus-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.focus-card{background:radial-gradient(circle at 15% 15%,#e6a34114,#0000 24%),linear-gradient(#ffffff07,#ffffff03);border:1px solid #ffffff14;border-radius:1.4rem;padding:1.5rem;transition:transform .22s,border-color .22s,background .22s}.focus-card:hover,.focus-card:focus-within{background:radial-gradient(circle at 15% 15%,#e6a3411a,#0000 24%),linear-gradient(#ffffff0a,#ffffff05);border-color:#fce79b29;transform:translateY(-4px)}.focus-card h3,.project-card h3,.section-card h3,.contact-card h2,.contact-card h3{letter-spacing:-.03em;margin:0}.focus-card p,.project-card p,.project-card li,.contact-card p{color:#f0d8b4;line-height:1.8}.focus-card p{margin:.85rem 0 0}.projects{gap:1.2rem;display:grid}.project-card{background:radial-gradient(circle at 82% 20%, #e6a34114, transparent 18%), radial-gradient(circle at 14% 88%, #b14a360d, transparent 18%), var(--surface);border-radius:1.8rem;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:1.5rem;padding:1rem;transition:transform .24s,border-color .24s,background .24s;display:grid;position:relative;overflow:hidden}.project-card:hover,.project-card:focus-within{border-color:#fce79b24;transform:translateY(-5px)}.project-card:before{content:"";filter:blur(24px);opacity:0;pointer-events:none;background:radial-gradient(circle,#e6a3411f,#0000 68%);width:14rem;height:14rem;transition:opacity .24s,transform .24s;position:absolute;inset:auto auto -25% -10%;transform:translateY(10px)}.project-card:after{content:"";background:radial-gradient(circle at var(--spot-x,50%) var(--spot-y,50%), #fce79b17, transparent 24%);opacity:0;pointer-events:none;transition:opacity .22s;position:absolute;inset:0}.project-card:hover:before,.project-card:focus-within:before{opacity:1;transform:translateY(0)}.project-card:hover:after,.project-card:focus-within:after{opacity:1}.project-media{background:#1a0908;border:1px solid #fce79b14;border-radius:1.25rem;min-height:280px;position:relative;overflow:hidden}.project-media img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.project-card:hover .project-media img,.project-card:focus-within .project-media img{transform:scale(1.025)}.project-copy{align-content:start;gap:1rem;padding:.55rem .4rem .4rem .1rem;display:grid}.project-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.project-head a{color:var(--accent-2);transition:color .18s,transform .18s}.project-head a:hover,.project-head a:focus-visible{color:var(--text);transform:translate(2px)}.tag-row{flex-wrap:wrap;gap:.5rem;display:flex}.tag{color:var(--muted);background:radial-gradient(circle at 18% 20%,#e6a34114,#0000 28%),#ffffff0b;border:1px solid #fce79b14;border-radius:999px;padding:.42rem .7rem;font-size:.84rem;transition:transform .18s,border-color .18s,color .18s}.project-card:hover .tag,.project-card:focus-within .tag{border-color:#fce79b24}.tag:hover,.tag:focus-visible{color:var(--text);transform:translateY(-2px)}.project-card ul{margin:0;padding-left:1.1rem}.section-card ul{color:#f0d8b4;margin:1rem 0 0;padding-left:1.1rem;line-height:1.75}.section-card li+li,.project-card li+li{margin-top:.45rem}.contact-card{border-radius:1.8rem;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1.5rem;margin-bottom:4rem;padding:1.7rem;display:grid}.contact-copy p{margin:.8rem 0 0}.footer{padding:0 0 2rem}.footer-inner{color:var(--muted);border-top:1px solid #d7c4a414;justify-content:space-between;align-items:center;gap:1rem;padding-top:1rem;font-size:.95rem;display:flex}@keyframes fade-up{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes reveal-card{to{opacity:1;transform:translateY(0)}}@keyframes grid-drift{0%{transform:translateY(0)}to{transform:translateY(24px)}}@keyframes ambient-shift{0%{transform:translate(-1%)scale(1)}to{transform:translate(1.5%,-1%)scale(1.04)}}@media (width<=980px){.hero-grid,.about-grid,.project-card,.contact-card{grid-template-columns:1fr}.focus-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading,.footer-inner{flex-direction:column;align-items:start}.contact-card{align-items:start}}@media (width<=720px){.topbar-inner{flex-direction:column;align-items:flex-start;min-height:auto;padding:.9rem 0}.nav{justify-content:flex-start;gap:.6rem 1rem;width:100%}.nav a{font-size:.92rem}.brand{letter-spacing:.1em;font-size:.88rem}.brand-mark{width:2.2rem}.hero{padding-top:4.4rem}.lead{font-size:1rem}.focus-grid{grid-template-columns:1fr}.project-media{min-height:220px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-grid>:first-child,.hero-grid>:last-child,.section-card,.focus-card,.project-card,.contact-card,.section-heading h2{opacity:1;animation:none;transform:none}.button,.focus-card,.project-card,.project-media img,.metric,.nav a,.project-head a,.tag,.hero-panel{transition:none}body:before,body:after{animation:none}}
