:root{--bg:#0a0908;--bg-2:#0d0c0a;--bg-3:#100e0b;--panel:#14120f;--panel-2:#1a1712;--panel-3:#201c16;--gold:#e4cb86;--gold-bright:#f2dda3;--gold-2:#c9ac6a;--gold-deep:#a8895170;--gold-soft:#e4cb861a;--gold-line:#e4cb863d;--text:#f5f1e8;--muted:#a49f92;--muted-2:#8b857a;--line:#ffffff14;--line-strong:#ffffff24;--serif:"Cinzel", "Times New Roman", serif;--sans:"Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--script:"Dancing Script", "Cinzel", cursive;--maxw:1200px;--pad:clamp(1.25rem, 5vw, 4rem);--radius:16px;--radius-sm:12px;--shadow:0 30px 60px -30px #000c;--glow:0 0 0 1px var(--gold-line), 0 24px 50px -24px #e4cb8647;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:90px}body{font-family:var(--sans);background:var(--bg);color:var(--text);letter-spacing:.01em;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-weight:300;line-height:1.7;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}::selection{background:var(--gold);color:#000}a:focus-visible,button:focus-visible,.btn:focus-visible,.chip:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold-bright);outline-offset:3px}.skip-link{z-index:1000;color:var(--gold-bright);border:1px solid var(--gold);font:600 .82rem/1 var(--sans);letter-spacing:.08em;background:#0c0b0a;border-radius:8px;padding:.7rem 1.1rem;transition:transform .2s;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.bg-fx{z-index:-1;pointer-events:none;background:radial-gradient(1100px 700px at 78% -8%, #e4cb861a, transparent 60%), radial-gradient(900px 600px at 8% 12%, #e4cb860d, transparent 55%), radial-gradient(1200px 900px at 50% 120%, #c8a05a0f, transparent 60%), var(--bg);position:fixed;inset:0}.bg-fx:after{content:"";opacity:.035;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.scroll-progress{transform-origin:0;background:linear-gradient(90deg, var(--gold-2), var(--gold), var(--gold-bright));z-index:200;height:2px;position:fixed;top:0;left:0;right:0}.container{width:100%;max-width:var(--maxw);padding-inline:var(--pad);margin:0 auto}.section{padding-block:clamp(5rem,10vw,9rem);position:relative}.section--alt{background:linear-gradient(180deg, transparent, #00000059 12%, #00000059 88%, transparent), linear-gradient(180deg, var(--bg-2), var(--bg-3))}.section--alt:before,.section--alt:after{content:"";background:linear-gradient(90deg, transparent, var(--gold-line), transparent);height:1px;position:absolute;left:0;right:0}.section--alt:before{top:0}.section--alt:after{bottom:0}.eyebrow{font-family:var(--sans);letter-spacing:.42em;text-transform:uppercase;color:var(--gold);align-items:center;gap:.85rem;font-size:.72rem;font-weight:600;display:inline-flex}.eyebrow:before{content:"";background:linear-gradient(90deg, var(--gold), transparent);width:38px;height:1px}.section-title{font-family:var(--serif);letter-spacing:.015em;margin-top:1.1rem;font-size:clamp(2rem,4.6vw,3.15rem);font-weight:600;line-height:1.12}.section-head{max-width:760px;margin-bottom:clamp(2.75rem,5vw,4.25rem)}.section-head--center{text-align:center;margin-inline:auto}.section-head--center .eyebrow{justify-content:center}.section-head .lead{color:var(--muted);max-width:640px;margin-top:1.15rem;font-size:1.06rem}.section-head--center .lead{margin-inline:auto}.btn{--bh:3.25rem;height:var(--bh);font-family:var(--sans);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;border:1px solid var(--gold);transition:transform .3s var(--ease,ease), background .3s, color .3s, box-shadow .3s;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:.6rem;padding-inline:1.75rem;font-size:.76rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn svg{width:17px;height:17px}.btn--gold{background:linear-gradient(180deg, var(--gold-bright), var(--gold));color:#12100c;box-shadow:0 10px 30px -12px #e4cb8680}.btn--gold:hover{transform:translateY(-3px);box-shadow:0 18px 40px -14px #e4cb8699}.btn--ghost{color:var(--gold);border-color:var(--gold-line);background:0 0}.btn--ghost:hover{border-color:var(--gold);background:var(--gold-soft);color:var(--gold-bright);transform:translateY(-3px)}.header{z-index:100;border-bottom:1px solid #0000;transition:background .35s,border-color .35s,-webkit-backdrop-filter .35s,backdrop-filter .35s;position:fixed;inset:0 0 auto}.header.scrolled{-webkit-backdrop-filter:blur(14px)saturate(1.2);backdrop-filter:blur(14px)saturate(1.2);border-bottom-color:var(--line);background:#0a0908b8}.header__inner{justify-content:space-between;align-items:center;height:80px;display:flex}.brand{align-items:center;gap:.7rem;display:flex}.brand__mark{border:1px solid var(--gold-line);width:40px;height:40px;font-family:var(--serif);color:var(--gold);letter-spacing:.02em;background:radial-gradient(circle at 30% 25%,#e4cb8629,#0000 70%);border-radius:50%;place-items:center;font-size:.95rem;font-weight:700;transition:box-shadow .35s,border-color .35s;display:grid}.brand:hover .brand__mark{border-color:var(--gold);box-shadow:0 0 22px -6px var(--gold-deep)}.brand__name{font-family:var(--serif);letter-spacing:.2em;text-transform:uppercase;font-size:.92rem;font-weight:600}.nav{align-items:center;gap:2.1rem;display:flex}.nav a{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:.35rem 0;font-size:.76rem;font-weight:500;transition:color .25s;position:relative}.nav a:after{content:"";background:var(--gold);width:0;height:1px;transition:width .35s var(--ease,ease);position:absolute;bottom:-2px;left:0}.nav a:hover,.nav a.active{color:var(--text)}.nav a:hover:after,.nav a.active:after{width:100%}.header__cta{display:inline-flex}.header__cta .btn{--bh:2.7rem;padding-inline:1.25rem;font-size:.68rem}.burger{cursor:pointer;width:44px;height:44px;color:var(--text);background:0 0;border:none;justify-content:center;align-items:center;display:none}.burger svg{width:24px;height:24px}@media (width<=900px){.nav,.header__cta{display:none}.burger{display:inline-flex}.mobile-nav{z-index:99;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#080706fa;flex-direction:column;justify-content:center;align-items:center;gap:1.7rem;display:flex;position:fixed;inset:0}.mobile-nav a{font-family:var(--serif);letter-spacing:.06em;color:var(--text);font-size:1.6rem}.mobile-nav a:hover{color:var(--gold)}.mobile-nav .btn{margin-top:1rem}}.rail{z-index:90;flex-direction:column;align-items:center;gap:1.1rem;display:flex;position:fixed;bottom:0;left:clamp(1rem,2.5vw,2.2rem)}.rail:after{content:"";background:linear-gradient(180deg, var(--gold-line), transparent);width:1px;height:90px;margin-top:.4rem}.rail a{color:var(--muted-2);transition:color .25s,transform .25s}.rail a:hover{color:var(--gold);transform:translateY(-3px)}.rail a svg{width:19px;height:19px}@media (width<=1100px){.rail{display:none}}.hero{align-items:center;min-height:100svh;display:flex;position:relative;overflow:hidden}.hero__bgwrap{will-change:transform;position:absolute;inset:-14% 0}.hero__bg{background-image:url(/assets/hero.jpg);background-position:50% 28%;background-size:cover;animation:22s ease-out both heroZoom;position:absolute;inset:0}@keyframes heroZoom{0%{transform:scale(1.16)}to{transform:scale(1.02)}}@media (prefers-reduced-motion:reduce){.hero__bg{animation:none;transform:scale(1.02)}}.hero__overlay{background:linear-gradient(100deg,#060504f0 0%,#060504c7 38%,#0605044d 100%),linear-gradient(#06050480 0%,#0000 30%,#0a0908fa 100%);position:absolute;inset:0}.hero__grid{opacity:.5;background-image:linear-gradient(#e4cb860d 1px,#0000 1px),linear-gradient(90deg,#e4cb860d 1px,#0000 1px);background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 30%,#000 0%,#0000 70%);mask-image:radial-gradient(circle at 30%,#000 0%,#0000 70%)}.hero__inner{z-index:2;max-width:820px;padding-top:96px;padding-bottom:72px;position:relative}.hero__tag{margin-bottom:1.7rem}.hero h1{font-family:var(--serif);letter-spacing:.015em;text-transform:uppercase;font-size:clamp(2.7rem,8.4vw,5.6rem);font-weight:700;line-height:1}.hero h1 .given{letter-spacing:.4em;color:var(--gold);margin-bottom:1rem;font-size:.34em;font-weight:500;display:block;overflow:hidden}.hero h1 .word{background:linear-gradient(#fff,#d9d2c2);color:#0000;-webkit-background-clip:text;background-clip:text;display:inline-block}.hero__role{color:var(--muted);letter-spacing:.05em;max-width:560px;margin-top:1.7rem;font-size:clamp(1rem,2.2vw,1.22rem);font-weight:300}.hero__role b{color:var(--text);font-weight:500}.hero__actions{flex-wrap:wrap;align-items:center;gap:1rem;margin-top:2.7rem;display:flex}.hero__scroll{z-index:2;color:var(--muted);letter-spacing:.3em;text-transform:uppercase;flex-direction:column;align-items:center;gap:.65rem;font-size:.6rem;display:flex;position:absolute;bottom:1.8rem;left:50%;transform:translate(-50%)}.hero__scroll .mouse{border:1px solid var(--gold);border-radius:12px;width:22px;height:36px;position:relative}.hero__scroll .mouse:after{content:"";background:var(--gold);border-radius:3px;width:3px;height:7px;animation:1.7s ease-in-out infinite scrollDot;position:absolute;top:6px;left:50%;transform:translate(-50%)}@keyframes scrollDot{0%{opacity:0;transform:translate(-50%)}40%{opacity:1}80%{opacity:0;transform:translate(-50%,11px)}to{opacity:0}}@media (width<=680px){.hero__scroll{display:none}}.stats{border-block:1px solid var(--line);background:linear-gradient(180deg, var(--bg-2), var(--bg))}.stats-grid{grid-template-columns:repeat(4,1fr);gap:1rem;padding-block:clamp(2.4rem,5vw,3.6rem);display:grid}.stat{text-align:center;padding:.5rem 1rem;position:relative}.stat+.stat:before{content:"";background:var(--line);width:1px;position:absolute;top:20%;bottom:20%;left:0}.stat-num{font-family:var(--serif);color:var(--gold);align-items:baseline;font-size:clamp(2.1rem,5vw,3rem);font-weight:700;line-height:1;display:inline-flex}.stat-label{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:.7rem;font-size:.68rem}@media (width<=900px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:1.8rem .5rem}.stat:nth-child(3):before{display:none}}.focus-grid{grid-template-columns:repeat(4,1fr);gap:1.4rem;display:grid}@media (width<=1140px){.focus-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.focus-grid{grid-template-columns:1fr}}.focus-cta{justify-content:center;margin-top:3rem;display:flex}.focus-card{background:linear-gradient(180deg, var(--panel), var(--bg-2));border:1px solid var(--line);border-radius:var(--radius);transition:transform .4s var(--ease,ease), border-color .4s, box-shadow .4s;padding:2.3rem 1.9rem;position:relative;overflow:hidden}.focus-card:before{content:"";background:linear-gradient(90deg, var(--gold), transparent);transform-origin:0;height:2px;transition:transform .5s var(--ease,ease);position:absolute;inset:0 0 auto;transform:scaleX(0)}.focus-card:hover{border-color:var(--gold-line);box-shadow:var(--shadow);transform:translateY(-8px)}.focus-card:hover:before{transform:scaleX(1)}.focus-card__top{justify-content:space-between;align-items:center;margin-bottom:1.4rem;display:flex}.focus-icon{width:52px;height:52px;color:var(--gold);background:var(--gold-soft);border:1px solid var(--gold-line);transition:transform .4s var(--ease,ease);border-radius:13px;place-items:center;display:grid}.focus-icon svg{width:24px;height:24px}.focus-card:hover .focus-icon{transform:scale(1.08)rotate(-4deg)}.focus-card .num{font-family:var(--serif);color:var(--muted-2);letter-spacing:.05em;font-size:1.3rem}.focus-card h3{font-family:var(--sans);letter-spacing:.01em;margin-bottom:.75rem;font-size:1.14rem;font-weight:600}.focus-card p{color:var(--muted);font-size:.94rem}.timeline{margin-top:1rem;position:relative}.tl-line{transform-origin:top;background:linear-gradient(180deg, var(--gold), var(--gold-2) 60%, var(--line));border-radius:2px;width:2px;position:absolute;top:8px;bottom:8px;left:8px}.tl-item{padding-bottom:2.9rem;padding-left:3.2rem;position:relative}.tl-item:last-child{padding-bottom:0}.tl-dot{background:var(--bg);border:2px solid var(--gold);border-radius:50%;place-items:center;width:18px;height:18px;display:grid;position:absolute;top:5px;left:0;box-shadow:0 0 0 5px #e4cb8612}.tl-dot:after{content:"";background:var(--gold);border-radius:50%;width:6px;height:6px}.tl-period{font-family:var(--serif);color:var(--gold);letter-spacing:.08em;font-size:.92rem}.tl-item h3{margin-top:.4rem;font-size:1.16rem;font-weight:600}.tl-meta{flex-wrap:wrap;align-items:baseline;gap:.4rem .8rem;margin-top:.25rem;display:flex}.tl-role{color:var(--gold-2);letter-spacing:.06em;text-transform:uppercase;font-size:.78rem}.tl-place{color:var(--muted-2);letter-spacing:.04em;font-size:.78rem}.tl-place:before{content:"•";color:var(--muted-2);margin-right:.55rem}.tl-item p{color:var(--muted);max-width:660px;margin-top:.75rem;font-size:.95rem}.about-top{grid-template-columns:.82fr 1.18fr;align-items:center;gap:clamp(2.2rem,5vw,4.5rem);display:grid}.about-frame{position:relative}.about-frame:before{content:"";border:1px solid var(--gold-line);border-radius:var(--radius);z-index:0;position:absolute;inset:16px -16px -16px 16px}.about-photo{z-index:1;border-radius:var(--radius);border:1px solid var(--line-strong);box-shadow:var(--shadow);position:relative;overflow:hidden}.about-photo img{object-fit:cover;aspect-ratio:4/5;width:100%;height:100%;transition:transform .8s var(--ease,ease)}.about-frame:hover .about-photo img{transform:scale(1.04)}.about-photo:after{content:"";background:linear-gradient(#0000 55%,#0a09088c);position:absolute;inset:0}.about-sign{z-index:2;font-family:var(--script);color:var(--gold-bright);text-shadow:0 2px 14px #0009;font-size:2.1rem;font-weight:700;position:absolute;bottom:.7rem;left:1.1rem;transform:rotate(-4deg)}.about-lead{color:var(--text);font-size:clamp(1.1rem,2vw,1.28rem);font-weight:300;line-height:1.75}.about-lead:first-letter{font-family:var(--serif);float:left;color:var(--gold);padding:.08em .14em 0 0;font-size:3.1em;font-weight:700;line-height:.72}.about-meta{border-top:1px solid var(--line);flex-wrap:wrap;gap:1.4rem 2.6rem;margin-top:2rem;padding-top:1.8rem;display:flex}.about-meta div span{letter-spacing:.2em;text-transform:uppercase;color:var(--muted-2);margin-bottom:.35rem;font-size:.66rem;display:block}.about-meta div strong{font-size:.98rem;font-weight:500}.about-meta div strong.gold{color:var(--gold);font-family:var(--serif)}.about-block{margin-top:clamp(3rem,6vw,5rem)}.about-block__head{letter-spacing:.28em;text-transform:uppercase;color:var(--gold);align-items:center;gap:.85rem;margin-bottom:1.8rem;font-size:.72rem;display:flex}.about-block__head:after{content:"";background:linear-gradient(90deg, var(--gold-line), transparent);flex:1;height:1px}.skill-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.1rem;display:grid}.skill-cat{background:linear-gradient(180deg, var(--panel), var(--bg-2));border:1px solid var(--line);border-radius:var(--radius-sm);padding:1.5rem 1.5rem 1.65rem;transition:border-color .35s,transform .35s}.skill-cat:hover{border-color:var(--gold-line);transform:translateY(-4px)}.skill-cat .cat-name{color:var(--text);align-items:center;gap:.6rem;margin-bottom:1rem;font-size:.82rem;font-weight:600;display:flex}.skill-cat .cat-name .dot{background:var(--gold);border-radius:50%;flex:none;width:6px;height:6px}.chips{flex-wrap:wrap;gap:.5rem;display:flex}.chip{letter-spacing:.02em;border:1px solid var(--line);color:var(--muted);background:#ffffff05;border-radius:999px;padding:.42rem .85rem;font-size:.75rem;transition:border-color .25s,color .25s,background .25s}.chip:hover{border-color:var(--gold);color:var(--text);background:var(--gold-soft)}.about-split{grid-template-columns:1fr 1.1fr;align-items:start;gap:clamp(2rem,5vw,4rem);margin-top:clamp(3rem,6vw,5rem);display:grid}.langs{gap:1.35rem;display:grid}.lang-row{gap:.5rem;display:grid}.lang-top{justify-content:space-between;align-items:baseline;font-size:.9rem;display:flex}.lang-top strong{font-weight:500}.lang-top em{color:var(--muted-2);letter-spacing:.05em;font-size:.72rem;font-style:normal}.lang-bar{background:var(--line);border-radius:5px;height:5px;overflow:hidden}.lang-bar span{background:linear-gradient(90deg, var(--gold-2), var(--gold-bright));height:100%;box-shadow:0 0 12px -2px var(--gold-deep);border-radius:5px;display:block}.tag-cloud{flex-wrap:wrap;gap:.55rem;display:flex}.tag-cloud+.about-block__head,.langs+.about-block__head{margin-top:2.4rem}.cert-list{gap:.75rem;list-style:none;display:grid}.cert-list li{color:var(--muted);padding-left:1.15rem;font-size:.85rem;line-height:1.5;position:relative}.cert-list li:before{content:"";background:var(--gold);border-radius:50%;width:5px;height:5px;position:absolute;top:.62em;left:0}@media (width<=860px){.about-top{grid-template-columns:1fr;gap:2.6rem}.about-frame{max-width:380px}.about-split{grid-template-columns:1fr}}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.2rem;display:grid}.project-card{background:linear-gradient(180deg, var(--panel), var(--bg-2));border:1px solid var(--line);border-radius:var(--radius);transition:transform .35s var(--ease,ease), border-color .35s, box-shadow .35s;justify-content:space-between;align-items:center;gap:1rem;padding:1.6rem 1.7rem;display:flex;position:relative;overflow:hidden}.project-card:after{content:"";background:radial-gradient(circle, var(--gold-soft), transparent 65%);opacity:0;width:60%;height:120%;transition:opacity .4s;position:absolute;inset:auto -40% -60% auto}.project-card:hover{border-color:var(--gold-line);box-shadow:var(--shadow);transform:translateY(-6px)}.project-card:hover:after{opacity:1}.project-card__num{font-family:var(--serif);color:var(--muted-2);font-size:.72rem;position:absolute;top:.9rem;right:1.1rem}.p-domain{font-family:var(--serif);letter-spacing:.01em;color:var(--text);font-size:1.1rem}.p-place{letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);margin-top:.4rem;font-size:.7rem}.p-arrow{color:var(--muted-2);transition:transform .35s var(--ease,ease), color .35s;flex:none}.project-card:hover .p-arrow{color:var(--gold);transform:translate(4px,-4px)}.contact{text-align:center}.contact-mail{font-family:var(--serif);color:var(--gold);letter-spacing:.01em;background-image:linear-gradient(90deg, var(--gold), var(--gold));transition:background-size .4s var(--ease,ease);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px;margin:.5rem 0 2.6rem;padding-bottom:.2rem;font-size:clamp(1.5rem,5.4vw,3rem);display:inline-block}.contact-mail:hover{background-size:100% 1px}.socials{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.social-btn{border:1px solid var(--line);color:var(--muted);letter-spacing:.12em;text-transform:uppercase;border-radius:999px;align-items:center;gap:.6rem;padding:.9rem 1.5rem;font-size:.76rem;transition:transform .3s,border-color .3s,color .3s,background .3s;display:inline-flex}.social-btn svg{width:18px;height:18px}.social-btn:hover{border-color:var(--gold);color:var(--text);background:var(--gold-soft);transform:translateY(-3px)}.contact-extra{color:var(--muted-2);letter-spacing:.05em;margin-top:2.4rem;font-size:.9rem}.contact-extra a{color:var(--muted);transition:color .25s}.contact-extra a:hover{color:var(--gold)}.footer{border-top:1px solid var(--line);padding-block:2.6rem}.footer__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.2rem;display:flex}.footer .brand__name{font-size:.82rem}.footer p{color:var(--muted-2);letter-spacing:.04em;font-size:.78rem}.footer p .sig{font-family:var(--script);color:var(--gold);font-size:1.15rem}.footer .to-top{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:.5rem;font-size:.7rem;transition:color .25s;display:inline-flex}.footer .to-top:hover{color:var(--gold)}.footer .to-top svg{width:14px;height:14px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero__scroll .mouse:after{animation:none}*{scroll-behavior:auto!important}}
