@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/cormorant-garamond-400-italic.woff2)format("woff2")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:500;font-display:swap;src:url(/fonts/cormorant-garamond-500-italic.woff2)format("woff2")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/cormorant-garamond-400-normal.woff2)format("woff2")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/cormorant-garamond-500-normal.woff2)format("woff2")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/cormorant-garamond-600-normal.woff2)format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/space-grotesk-400-normal.woff2)format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/space-grotesk-500-normal.woff2)format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/space-grotesk-600-normal.woff2)format("woff2")}@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/space-mono-400-normal.woff2)format("woff2")}@font-face{font-family:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/space-mono-700-normal.woff2)format("woff2")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{margin:0}#root{min-height:100vh}:root{--bg:42 48% 95%;--surface:43 60% 98%;--fg:24 36% 13%;--card:43 60% 98%;--muted:40 34% 90%;--muted-fg:28 16% 38%;--primary:24 36% 13%;--primary-fg:43 55% 93%;--accent:44 80% 80%;--accent-strong:43 82% 55%;--gold:43 78% 58%;--gold-soft:44 60% 72%;--border:35 22% 78%;--nav-glass:42 50% 99% / .78;--nav-glass-2:40 42% 96% / .66;--nav-glass-panel:42 45% 99%;--nav-line:33 22% 52% / .22;--nav-edge:0 0% 100% / .85;--nav-hover:28 30% 20% / .06;--nav-active:43 85% 62% / .32;--nav-active-line:38 60% 44% / .28;--nav-fg:24 36% 13%;--nav-fg-dim:24 22% 26%;--nav-shadow:24 30% 10%;--nav-pill-fg:24 36% 11%;--contact-bg:24 34% 10%;--contact-fg:43 52% 93%;--cinema-bg:24 33% 8%;--cinema-fg:43 55% 94%;--radius:18px;--radius-sm:10px;--radius-round:999px;--sans:"Space Grotesk", system-ui, sans-serif;--serif:"Cormorant Garamond", Georgia, serif;--mono:"Space Mono", ui-monospace, monospace;--maxw:1320px}:root[data-theme=dark]{--bg:24 28% 7%;--surface:24 24% 11%;--fg:43 55% 93%;--card:24 24% 11%;--muted:24 18% 16%;--muted-fg:38 16% 67%;--primary:43 55% 93%;--primary-fg:24 30% 8%;--accent:38 30% 22%;--accent-strong:43 82% 60%;--gold:43 80% 62%;--gold-soft:44 55% 70%;--border:32 18% 26%;--nav-glass:24 20% 12% / .72;--nav-glass-2:24 24% 8% / .62;--nav-glass-panel:24 22% 10%;--nav-line:43 30% 72% / .2;--nav-edge:43 45% 88% / .18;--nav-hover:43 35% 85% / .08;--nav-active:43 82% 60% / .2;--nav-active-line:43 70% 72% / .3;--nav-fg:43 52% 92%;--nav-fg-dim:43 32% 78%;--nav-shadow:0 0% 0%;--nav-pill-fg:24 36% 10%;--contact-bg:24 32% 6%;--contact-fg:43 52% 92%;--cinema-bg:24 33% 7%;--cinema-fg:43 55% 94%}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:7rem}body{font-family:var(--sans);background:hsl(var(--bg));color:hsl(var(--fg));-webkit-font-smoothing:antialiased;margin:0;line-height:1.6;overflow-x:clip}::selection{background:hsl(var(--accent));color:hsl(var(--fg))}html.theme-switching *,html.theme-switching :before,html.theme-switching :after{transition:none!important;animation-play-state:paused!important}h1,h2,h3,h4{font-family:var(--serif);letter-spacing:-.015em;margin:0;font-weight:500;line-height:1.05}p{margin:0}ul,ol,dl{margin:0;padding:0;list-style:none}img{max-width:100%;display:block}.mono{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;font-size:10px;font-weight:400}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:focus-visible{outline:2px solid hsl(var(--fg));outline-offset:3px}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:hsl(var(--muted))}::-webkit-scrollbar-thumb{background:hsl(var(--fg)/.45);border:2px solid hsl(var(--muted));border-radius:10px}::-webkit-scrollbar-thumb:hover{background:hsl(var(--fg)/.65)}.skip{position:absolute;left:-9999px}.skip:focus{z-index:200;background:hsl(var(--bg));border:1px solid hsl(var(--border));border-radius:10px;padding:10px 16px;top:12px;left:12px}.progress{background:hsl(var(--gold));z-index:120;transform-origin:0;will-change:transform;width:100%;height:3px;transition:transform .1s linear;position:fixed;top:0;left:0;transform:scaleX(0)}.site-header :focus-visible{outline-color:hsl(var(--gold))}.mobile-menu :focus-visible{outline-color:hsl(var(--fg))}.cinema :focus-visible{outline-color:hsl(var(--gold))}.site-header{z-index:100;background:0 0;padding:14px clamp(1rem,3vw,2.5rem);transition:opacity .35s,transform .35s,visibility .35s;position:fixed;top:0;left:0;right:0}.site-header.is-hidden{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-100%)}.site-header.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.nav{max-width:var(--maxw);border:1px solid hsl(var(--nav-line));border-radius:var(--radius-round);background:linear-gradient(180deg,hsl(var(--nav-glass)),hsl(var(--nav-glass-2)));-webkit-backdrop-filter:blur(22px)saturate(135%);backdrop-filter:blur(22px)saturate(135%);box-shadow:0 20px 48px -26px hsl(var(--nav-shadow)/.32), 0 2px 10px -6px hsl(var(--nav-shadow)/.14), inset 0 1px 0 hsl(var(--nav-edge));align-items:center;gap:.9rem;margin:0 auto;padding:.45rem .55rem .45rem 1.35rem;animation:.55s cubic-bezier(.22,1,.36,1) both navIn;display:flex;position:relative}@keyframes navIn{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}.brand{color:hsl(var(--nav-fg));flex:none;align-items:baseline;gap:.55rem;padding-right:.2rem;text-decoration:none;display:flex}.brand .mark{font-family:var(--serif);letter-spacing:-.02em;font-size:1.55rem;font-style:italic;line-height:1}.brand .sub{color:hsl(var(--nav-fg-dim)/.72);white-space:nowrap;font-size:9px}.nav-current{color:hsl(var(--nav-fg-dim)/.85);white-space:nowrap;margin-left:auto;font-size:9px;display:none}.menu{flex:1;justify-content:space-evenly;align-items:center;gap:.15rem;margin-left:.5rem;display:flex}.menu a{border-radius:var(--radius-round);color:hsl(var(--nav-fg-dim));white-space:nowrap;border:1px solid #0000;padding:.52rem clamp(.7rem,1.1vw,1rem);font-size:.86rem;font-weight:500;text-decoration:none;transition:color .25s,background .25s,border-color .25s,box-shadow .25s,transform .25s}.menu a:hover{background:hsl(var(--nav-hover));border-color:hsl(var(--nav-line));color:hsl(var(--nav-fg));transform:translateY(-1px)}.menu a.on{background:hsl(var(--nav-active));border-color:hsl(var(--nav-active-line));color:hsl(var(--nav-fg));box-shadow:inset 0 1px 0 hsl(var(--nav-edge)/.55),0 8px 18px -12px hsl(var(--nav-shadow)/.4)}.nav-actions{align-items:center;gap:.35rem;margin-left:.25rem;display:flex}.icon-btn{border:1px solid hsl(var(--nav-line));background:hsl(var(--nav-fg)/.05);width:2.55rem;height:2.55rem;color:hsl(var(--nav-fg));cursor:pointer;border-radius:50%;flex:none;place-items:center;text-decoration:none;transition:background .25s,color .25s,transform .25s,border-color .25s;display:grid}.icon-btn svg{width:1rem;height:1rem}.icon-btn:hover{background:hsl(var(--nav-active));border-color:hsl(var(--nav-active-line));color:hsl(var(--nav-fg));transform:translateY(-1px)}.icon-btn:active{transform:scale(.96)}.menu-toggle{display:none}.burger{flex-direction:column;gap:4px;width:16px;display:flex}.burger i{background:currentColor;border-radius:2px;height:1.5px;transition:transform .25s,opacity .25s;display:block}.menu-toggle.is-open .burger i:first-child{transform:translateY(5.5px)rotate(45deg)}.menu-toggle.is-open .burger i:nth-child(2){opacity:0}.menu-toggle.is-open .burger i:nth-child(3){transform:translateY(-5.5px)rotate(-45deg)}.mobile-menu{z-index:101;max-width:var(--maxw);border:1px solid hsl(var(--nav-line));border-radius:calc(var(--radius) + 6px);background:linear-gradient(180deg,hsl(var(--nav-glass-panel)/.94),hsl(var(--nav-glass-panel)/.88));-webkit-backdrop-filter:blur(26px)saturate(150%);backdrop-filter:blur(26px)saturate(150%);max-height:calc(100vh - 6rem);box-shadow:0 30px 80px -32px hsl(var(--nav-shadow)/.45), inset 0 1px 0 hsl(var(--nav-edge));gap:.5rem;margin-inline:auto;padding:.85rem;animation:.22s cubic-bezier(.22,1,.36,1) menuIn;display:none;position:absolute;top:calc(100% - 5px);left:clamp(1rem,3vw,2.5rem);right:clamp(1rem,3vw,2.5rem);overflow:auto}@keyframes menuIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.mm-group{gap:.1rem;display:grid}.mm-label{color:hsl(var(--muted-fg));padding:.45rem .85rem;font-size:9px}.mobile-menu a{color:hsl(var(--fg));border:1px solid #0000;border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem .85rem;font-size:1rem;font-weight:500;text-decoration:none;transition:background .2s,color .2s,border-color .2s;display:flex}.mobile-menu a svg{width:.85rem;height:.85rem;color:hsl(var(--muted-fg))}.mobile-menu a:hover{background:hsl(var(--nav-hover));border-color:hsl(var(--nav-line))}.mobile-menu a.on{background:hsl(var(--nav-active));border-color:hsl(var(--nav-active-line));color:hsl(var(--nav-fg))}.mobile-menu a.on svg{color:hsl(var(--nav-fg))}.menu-scrim{z-index:99;-webkit-backdrop-filter:blur(2px);background:#110c0973;animation:.2s fade;position:fixed;inset:0}main{min-height:60vh}.sec{max-width:var(--maxw);margin-inline:auto;padding:clamp(3.5rem,7vw,6rem) clamp(1.25rem,3.5vw,3rem)}.sec:not(.hero):not(.contact){border-top:1px solid hsl(var(--border))}.sec.hero{isolation:isolate;border-top:0;width:100%;max-width:none;margin:0;padding:0;position:relative;overflow:hidden}.hero .keyboard-scene{width:100%;max-width:none;min-height:100dvh;box-shadow:none;border-left:0;border-right:0;border-radius:0;flex-direction:column;margin:0;padding:clamp(1.1rem,2vw,1.6rem) clamp(1.25rem,2.5vw,2.25rem) clamp(1.25rem,2vw,1.75rem);display:flex}.hero .hero-grid{max-width:var(--maxw);margin-inline:auto;padding:clamp(5rem,8vw,7rem) clamp(1.25rem,3.5vw,3rem) 0}.hero .stat-grid{max-width:var(--maxw);margin-inline:auto;padding:clamp(1.5rem,4vw,2.5rem) clamp(1.25rem,3.5vw,3rem) clamp(2rem,4vw,3rem)}.hero .keyboard-scene .kb-viewport--3d{flex:auto;min-height:0;margin-top:clamp(.65rem,1.2vw,1rem);padding:0;display:flex}.hero .keyboard-scene .kb3d{flex:auto;height:100%;min-height:0}.hero .keyboard-scene .kb3d-stage{flex:auto;height:auto;min-height:clamp(330px,46vh,620px)}@media (width>=901px){.hero .keyboard-scene{height:100dvh;min-height:0;overflow:hidden}.hero .keyboard-scene .kb-viewport--3d,.hero .keyboard-scene .kb3d{flex:1 1 0}.hero .keyboard-scene .kb3d-stage{flex:1 1 0;height:auto;min-height:0}.hero .keyboard-scene .kb-project-label--3d{bottom:1.5rem}}.hero:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle,#ebbc4738,#0000 66%);border-radius:50%;width:40rem;height:40rem;position:absolute;top:-18rem;right:-10rem}.cinema{isolation:isolate;min-height:clamp(560px,72vh,720px);color:hsl(var(--cinema-fg));background:radial-gradient(circle at 50% 45%, #a381292e, transparent 34rem), linear-gradient(155deg, #261a13, hsl(var(--cinema-bg)) 58%, #140e0b);border:1px solid hsl(var(--gold)/.25);border-radius:calc(var(--radius) + 14px);flex-direction:column;margin-bottom:clamp(2.5rem,5vw,4rem);padding:clamp(1.5rem,3vw,2.5rem);display:flex;position:relative;overflow:hidden;box-shadow:0 35px 90px #150e0947}.cinema:before{content:"";z-index:-1;background-image:linear-gradient(hsl(var(--gold)/.035) 1px, transparent 1px), linear-gradient(90deg, hsl(var(--gold)/.035) 1px, transparent 1px);pointer-events:none;background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 50% 45%,#000 0%,#0000 72%);mask-image:radial-gradient(circle at 50% 45%,#000 0%,#0000 72%)}.cinema-frame{border:1px solid hsl(var(--gold)/.2);border-radius:calc(var(--radius) + 6px);pointer-events:none;position:absolute;inset:clamp(.6rem,1.4vw,1.2rem)}.cinema-top{z-index:1;color:hsl(var(--gold-soft)/.78);grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;display:grid;position:relative}.cinema-top span:nth-child(2){font-family:var(--serif);letter-spacing:-.02em;color:hsl(var(--cinema-fg));text-transform:none;font-size:1.45rem;font-style:italic;line-height:1}.cinema-top span:last-child{text-align:right}.cinema-stage{z-index:1;flex:1;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:clamp(1rem,3vw,2.5rem);padding:clamp(2rem,4vw,3rem) 0;display:grid;position:relative}.cinema-word{font-family:var(--serif);letter-spacing:-.03em;color:hsl(var(--cinema-fg)/.9);text-align:center;text-wrap:balance;font-size:clamp(3rem,7vw,7rem);line-height:.85}.cinema-word.right{color:hsl(var(--gold-soft));font-style:italic}.cinema-orb{aspect-ratio:1;width:clamp(250px,30vw,360px);color:hsl(var(--cinema-fg));filter:drop-shadow(0 0 40px hsl(var(--gold)/.12));border-radius:50%;place-items:center;display:grid;position:relative}.cinema-orb:before{content:"";background:radial-gradient(circle,hsl(var(--gold)/.18),transparent 68%);filter:blur(12px);border-radius:50%;position:absolute;inset:10%}.orb-ring{border:1px solid hsl(var(--gold)/.22);pointer-events:none;border-radius:50%;position:absolute}.ring-1{inset:0}.ring-2{border-style:dashed;border-color:hsl(var(--gold)/.28);inset:11%}.ring-3{border-color:hsl(var(--gold)/.35);inset:24%}.orb-ticks{background:repeating-conic-gradient(hsl(var(--gold)/.55) 0deg .7deg, transparent .7deg 6deg);border-radius:50%;animation:90s linear infinite orbSpin;position:absolute;inset:-4%;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 10px),#000 calc(100% - 9px));mask:radial-gradient(farthest-side,#0000 calc(100% - 10px),#000 calc(100% - 9px))}.orb-hand{background:linear-gradient(to top,hsl(var(--gold)/.9),hsl(var(--gold)/.15));transform-origin:bottom;width:1px;height:32%;animation:22s linear infinite orbHand;position:absolute;top:18%;left:50%}.orb-hand:after{content:"";background:hsl(var(--gold));width:7px;height:7px;box-shadow:0 0 14px hsl(var(--gold)/.8);border-radius:50%;position:absolute;top:-3px;left:50%;transform:translate(-50%)}.orb-core{z-index:1;aspect-ratio:1;border:1px solid hsl(var(--gold)/.35);width:44%;box-shadow:0 0 50px hsl(var(--gold)/.12), inset 0 0 35px hsl(var(--gold)/.08);background:radial-gradient(circle at 50% 35%,#3c2b20,#18110c);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:.3rem;display:flex;position:relative}.orb-monogram{font-family:var(--serif);letter-spacing:-.04em;color:hsl(var(--gold-soft));font-size:clamp(2.5rem,5vw,4rem);font-style:italic;line-height:.9}.orb-core .mono{color:hsl(var(--cinema-fg)/.55);font-size:8px}.orb-label{z-index:2;font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:hsl(var(--gold-soft)/.8);white-space:nowrap;font-size:9px;position:absolute}.orb-label.top{top:-.2rem;left:50%;transform:translate(-50%)}.orb-label.right{top:50%;right:-1.1rem;transform:translateY(-50%)}.orb-label.bottom{bottom:-.2rem;left:50%;transform:translate(-50%)}.orb-label.left{top:50%;left:-.9rem;transform:translateY(-50%)}@keyframes orbSpin{to{transform:rotate(360deg)}}@keyframes orbHand{to{transform:rotate(360deg)}}.cinema-ready{z-index:1;color:hsl(var(--gold-soft)/.7);text-align:center;flex-direction:column;align-items:center;gap:.55rem;display:flex;position:relative}.cinema-ready-row{flex-wrap:wrap;justify-content:center;gap:.6rem 1.2rem;display:flex}.cinema-line{background:hsl(var(--gold)/.18);width:min(22rem,70%);height:1px;overflow:hidden}.cinema-line i{background:linear-gradient(90deg,transparent,hsl(var(--gold)),transparent);width:40%;height:100%;animation:3.6s ease-in-out infinite cinemaScan;display:block}@keyframes cinemaScan{0%{transform:translate(-120%)}to{transform:translate(320%)}}.cinema-bottom{z-index:1;color:hsl(var(--cinema-fg)/.5);text-align:center;flex-direction:column;align-items:center;gap:.9rem;padding-top:clamp(1.25rem,3vw,2rem);display:flex;position:relative}.cinema-enter{border:1px solid hsl(var(--gold)/.35);border-radius:var(--radius-round);color:hsl(var(--gold-soft));font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;background:0 0;align-items:center;gap:.55rem;padding:.7rem 1.15rem;font-size:10px;text-decoration:none;transition:background .2s,color .2s,border-color .2s,transform .2s;display:inline-flex}.cinema-enter svg{width:.8rem;height:.8rem;transition:transform .2s}.cinema-enter:hover{background:hsl(var(--gold));border-color:hsl(var(--gold));color:hsl(var(--nav-pill-fg));transform:translateY(-1px)}.cinema-enter:hover svg{transform:translate(2px,-2px)}.cinema-side{z-index:1;writing-mode:vertical-rl;color:hsl(var(--gold-soft)/.5);letter-spacing:.3em;border-left:1px solid hsl(var(--gold)/.18);pointer-events:none;padding-left:.7rem;font-size:8px;position:absolute;top:50%;right:1.6rem;transform:translateY(-50%)}.entry-screen{z-index:220;background:radial-gradient(circle at 50% 42%, hsl(var(--gold)/.14), transparent 42rem), hsl(var(--cinema-bg));justify-content:center;align-items:flex-start;padding:clamp(.6rem,2vw,1.5rem);transition:opacity .65s,transform .65s cubic-bezier(.22,1,.36,1),filter .65s;display:flex;position:fixed;inset:0;overflow-y:auto}@media (height>=700px){.entry-screen{align-items:center}}.entry-screen:before{content:"";pointer-events:none;opacity:.28;background-image:radial-gradient(hsl(var(--gold)/.1) 1px, transparent 1px);background-size:28px 28px;position:fixed;inset:0}.entry-screen.is-leaving{opacity:0;filter:blur(5px);pointer-events:none;transform:scale(1.015)}.entry-cinema{border-radius:calc(var(--radius) + 14px);width:100%;max-width:1320px;min-height:calc(100vh - 2*clamp(.6rem,2vw,1.5rem));margin:0}.entry-cinema .cinema-bottom{padding-top:clamp(1.4rem,3vw,2.25rem)}.keyboard-scene{--u:clamp(11px, 2.65vw, 41px);isolation:isolate;color:hsl(var(--gold-soft));background:radial-gradient(circle at 50% 34%, hsl(var(--gold)/.12), transparent 34rem), linear-gradient(160deg,#2c1f16,#18110c);border:1px solid hsl(var(--gold)/.28);border-radius:calc(var(--radius) + 10px);margin-bottom:clamp(2.5rem,5vw,4rem);padding:clamp(1.2rem,2.6vw,2rem) clamp(1rem,2.5vw,2rem) clamp(5.5rem,9vw,7.5rem);position:relative;overflow:hidden;box-shadow:0 32px 80px #0e090659}.keyboard-scene:before{content:"";z-index:-1;opacity:.26;pointer-events:none;background-image:radial-gradient(hsl(var(--gold)/.13) 1px,transparent 1px);background-size:34px 34px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 50% 45%,#000,#0000 76%);mask-image:radial-gradient(circle at 50% 45%,#000,#0000 76%)}.kb-frame{border:1px solid hsl(var(--gold)/.18);border-radius:calc(var(--radius) + 4px);pointer-events:none;position:absolute;inset:clamp(.5rem,1.2vw,1rem)}.keyboard-scene :focus-visible{outline-color:hsl(var(--gold));outline-offset:2px}.kb-top{z-index:4;grid-template-columns:1fr auto 1fr;align-items:start;gap:1rem;display:grid;position:relative}.kb-interactions{color:hsl(var(--gold-soft)/.55);flex-direction:column;gap:.2rem;display:flex}.kb-interactions strong{font-family:var(--serif);color:hsl(var(--gold-soft));font-size:clamp(1.8rem,3.3vw,2.8rem);font-weight:500;line-height:.9}.kb-interactions strong span{color:hsl(var(--gold-soft)/.45);font-size:.45em}.kb-interactions.is-complete strong{color:hsl(var(--gold));text-shadow:0 0 20px hsl(var(--gold)/.5)}.kb-title{text-align:center;flex-direction:column;align-items:center;gap:.12rem;line-height:1;display:flex}.kb-name{font-family:var(--serif);color:hsl(var(--cinema-fg));text-shadow:0 2px 24px hsl(var(--gold)/.12);font-size:clamp(2rem,3.4vw,3rem);font-style:italic;font-weight:500;line-height:.9}.kb-portfolio{font-family:var(--sans);letter-spacing:.28em;color:hsl(var(--gold-soft)/.7);white-space:nowrap;padding-left:.28em;font-size:clamp(.95rem,1.55vw,1.35rem);font-weight:600}.kb-side-tab{z-index:5;writing-mode:vertical-rl;color:hsl(var(--gold-soft)/.6);letter-spacing:.28em;border:1px solid hsl(var(--gold)/.22);background:linear-gradient(#261d17,#140e0b);border-right:0;border-radius:4px 0 0 4px;padding:.8rem .45rem;font-size:8px;position:absolute;top:42%;right:0;box-shadow:0 8px 20px #0006}.kb-props{z-index:3;justify-content:space-between;align-items:center;gap:1rem;margin-top:-.3rem;padding:0 clamp(1rem,3vw,3rem);display:flex;position:relative}.kb-orbs{align-items:flex-end;gap:.55rem;display:flex}.kb-orbs span{width:calc(var(--u)*.72);height:calc(var(--u)*.72);box-shadow:0 calc(var(--u)*.08) calc(var(--u)*.16) #00000080,inset -2px -3px 6px #34241980;background:radial-gradient(circle at 35% 28%,#cdb689,#674b32);border-radius:50%}.kb-orbs span:last-child{width:calc(var(--u)*.46);height:calc(var(--u)*.46)}.kb-contact-card{min-width:calc(var(--u)*5.2);border:1px solid hsl(var(--gold)/.3);color:hsl(var(--gold-soft));cursor:pointer;box-shadow:0 8px 20px #0006,inset 0 1px 0 hsl(var(--gold)/.18);background:linear-gradient(160deg,#392c22,#1b130e);border-radius:4px;flex-direction:column;align-items:center;gap:.45rem;padding:.6rem 1rem .7rem;transition:border-color .2s,transform .2s,box-shadow .2s;display:flex}.kb-contact-card .mono{letter-spacing:.14em;font-size:7px}.kb-card-icons{gap:.5rem;line-height:1;display:flex}.kb-card-icons i{width:calc(var(--u)*.9);height:calc(var(--u)*.65);border:1px solid hsl(var(--gold)/.2);color:hsl(var(--gold-soft)/.8);font-style:normal;font-size:calc(var(--u)*.38);background:linear-gradient(#44362c,#261d17);border-radius:3px;place-items:center;display:grid}.kb-contact-card:hover{border-color:hsl(var(--gold));box-shadow:0 10px 26px #00000080,0 0 20px hsl(var(--gold)/.18);transform:translateY(-2px)}.kb-mouse{width:calc(var(--u)*.9);height:calc(var(--u)*1.35);background:radial-gradient(circle at 40% 25%,#4d453d,#1f1814);border-radius:50% 50% 44% 44%;position:relative;transform:rotate(18deg);box-shadow:0 8px 16px #00000073,inset 0 1px #c6bb9f40}.kb-mouse i{background:hsl(var(--gold)/.5);width:1px;height:32%;position:absolute;top:18%;left:50%;transform:translate(-50%)}.kb-mouse:after{content:"";border:1px solid hsl(var(--gold)/.35);border-radius:50%;width:26%;height:26%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.kb-viewport{z-index:2;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-user-select:none;user-select:none;cursor:grab;width:100%;margin-top:clamp(1rem,2.5vw,2rem);padding:0 .5rem;position:relative;overflow:auto visible}.kb-viewport:active{cursor:grabbing}.kb-viewport::-webkit-scrollbar{display:none}.kb-viewport--3d{cursor:default;padding:0;overflow:visible}.kb3d{flex-direction:column;align-items:center;gap:.9rem;width:100%;display:flex;position:relative}.kb3d-stage{border:1px solid hsl(var(--gold)/.28);border-radius:calc(var(--radius) + 6px);width:100%;height:clamp(330px,46vw,570px);box-shadow:0 30px 70px #0000008c,inset 0 0 0 1px hsl(var(--gold)/.08),inset 0 1px 0 hsl(var(--gold)/.18);cursor:grab;touch-action:none;background:radial-gradient(120% 110% at 50% 16%,#382919 0%,#1b130d 46%,#0e0906 100%);position:relative;overflow:hidden}.kb3d-stage:active{cursor:grabbing}.kb3d-stage>div:first-child{width:100%!important;height:100%!important;position:absolute!important;inset:0!important}.kb3d-stage canvas{display:block;width:100%!important;height:100%!important}.kb3d-hud{z-index:4;pointer-events:none;border:1px solid hsl(var(--gold)/.22);-webkit-backdrop-filter:blur(6px);max-width:min(18rem,70%);color:hsl(var(--gold-soft));background:#140e0b8c;border-radius:4px;flex-direction:column;gap:.16rem;padding:.5rem .7rem;display:flex;position:absolute;top:1rem;left:1rem}.kb3d-hud .mono{letter-spacing:.14em;color:hsl(var(--gold-soft)/.55);font-size:7px}.kb3d-hud strong{font-family:var(--serif);white-space:nowrap;text-overflow:ellipsis;font-size:1rem;font-weight:500;line-height:1.1;overflow:hidden}.kb3d-loading,.kb3d-lazy{z-index:3;color:hsl(var(--gold-soft)/.65);background:radial-gradient(120% 110% at 50% 30%,#291f14,#0e0906);flex-direction:column;justify-content:center;align-items:center;gap:.7rem;transition:opacity .35s;display:flex;position:absolute;inset:0}.kb3d-loading.is-hidden{opacity:0;pointer-events:none}.kb3d-lazy{border:1px solid hsl(var(--gold)/.2);border-radius:calc(var(--radius) + 6px);height:clamp(330px,46vw,570px);position:relative}.kb3d-spinner{border:1px solid hsl(var(--gold)/.2);border-top-color:hsl(var(--gold));border-radius:50%;width:26px;height:26px;animation:.9s linear infinite kb3d-spin}@keyframes kb3d-spin{to{transform:rotate(360deg)}}.kb-board{gap:calc(var(--u)*.55);width:max-content;padding:calc(var(--u)*.35);border:1px solid hsl(var(--gold)/.35);border-radius:calc(var(--u)*.28);box-shadow:0 35px 70px #00000080,inset 0 1px 0 hsl(var(--gold)/.2),inset 0 -4px 12px #0000008c;transform-origin:top;will-change:transform;background:linear-gradient(#463328,#211711);margin-inline:auto;transition:transform .16s ease-out;display:flex;position:relative}.kb-board:before{content:"";inset:calc(var(--u)*.12);border:1px solid hsl(var(--gold)/.14);border-radius:calc(var(--u)*.2);pointer-events:none;position:absolute}.kb-main{gap:calc(var(--u)*.08);flex-direction:column;flex:none;display:flex;position:relative}.kb-frow{gap:calc(var(--u)*.06);margin-bottom:calc(var(--u)*.06);padding:0 calc(var(--u)*.02);display:flex}.kb-row{gap:calc(var(--u)*.07);display:flex}.kb-key{flex:0 0 calc(var(--u)*var(--w,1));height:calc(var(--u)*1.12);border:1px solid hsl(var(--gold)/.18);border-radius:calc(var(--u)*.1);color:#d3c9b1;box-shadow:0 calc(var(--u)*.12) 0 #15110e,0 calc(var(--u)*.2) calc(var(--u)*.32) #00000059,inset 0 1px 0 #c6bb9f40,inset 0 calc(var(--u)*.04) calc(var(--u)*.08) #c6bb9f1a;font-family:var(--sans);font-size:clamp(4px,calc(var(--u)*.26),10px);text-align:center;background:linear-gradient(#534a41,#352d27);justify-content:center;align-items:center;line-height:1;transition:transform .12s,box-shadow .12s,background .2s,color .2s,border-color .2s;display:flex;position:relative;overflow:hidden}.kb-key-label{z-index:2;pointer-events:none;position:relative}.kb-key--f{height:calc(var(--u)*.82);font-size:clamp(3px,calc(var(--u)*.2),8px);flex:1 1 0}.kb-key--orange{color:#f8f0dd;box-shadow:0 calc(var(--u)*.1) 0 #5a1b0b,0 calc(var(--u)*.18) calc(var(--u)*.3) #00000059,inset 0 1px 0 #f4e4be4d;background:linear-gradient(#c25b2c,#8d321a);border-color:#e28a4f66}.kb-key--beige{color:#3a2a1a;cursor:pointer;box-shadow:0 calc(var(--u)*.1) 0 #7d5a33,0 calc(var(--u)*.18) calc(var(--u)*.3) #00000047,inset 0 1px 0 #fff6;background:linear-gradient(#e6cba2,#c9a16a);border-color:#f0d7ab}.kb-key--beige .kb-key-label{font-family:var(--sans);font-size:calc(var(--u)*.3);letter-spacing:.06em;font-weight:500}.kb-key--beige:hover,.kb-key--home:hover{box-shadow:0 calc(var(--u)*.08) 0 #7d5a33,0 0 calc(var(--u)*.8) hsl(var(--gold)/.25);transform:translateY(-2px)}.kb-key--beige:active,.kb-key--home:active{transform:translateY(calc(var(--u)*.08));box-shadow:0 1px #7d5a33}.kb-key--home{color:#3d3320;cursor:pointer;box-shadow:0 calc(var(--u)*.1) 0 #7f714d,0 calc(var(--u)*.18) calc(var(--u)*.3) #00000040,inset 0 1px 0 #fff8;background:linear-gradient(#eadfc1,#cbbd93);border-color:#f0e4c4}.kb-home-art{width:44%;height:34%;margin-bottom:calc(var(--u)*.2);background:#d1bfa9;border-radius:1px;display:block;position:relative;box-shadow:0 1px 2px #452f2159}.kb-home-art:before{content:"";clip-path:polygon(50% 0,100% 100%,0 100%);background:#8b5337;width:120%;height:58%;position:absolute;top:-46%;left:-10%}.kb-home-art i{background:#634636;width:20%;height:42%;position:absolute;bottom:0}.kb-home-art i:first-child{left:18%}.kb-home-art i:last-child{width:18%;height:50%;right:18%}.kb-key--home .kb-key-label{font-size:clamp(3px,calc(var(--u)*.15),6px)}.kb-key--project{cursor:pointer;border-color:hsl(var(--gold)/.32);background:linear-gradient(#534432,#2f251d)}.kb-key--project:hover{border-color:hsl(var(--gold)/.6);box-shadow:0 calc(var(--u)*.08) 0 #15110e,0 0 calc(var(--u)*.7) hsl(var(--gold)/.16);transform:translateY(-2px)}.kb-key--project.is-active,.kb-diorama.is-active{border-color:hsl(var(--gold));z-index:8;box-shadow:0 calc(var(--u)*.08) 0 #15110e,0 0 calc(var(--u)*.9) hsl(var(--gold)/.45);transform:translateY(-2px)scale(1.04)}.kb-art{z-index:1;border-radius:calc(var(--u)*.06);background:linear-gradient(145deg,hsl(var(--art-hue,43) 58% 64%),hsl(calc(var(--art-hue,43) - 14) 42% 31%));color:#211812;font-family:var(--serif);letter-spacing:-.03em;font-weight:600;font-size:calc(var(--u)*.36);place-items:center;line-height:1;display:grid;position:absolute;inset:12% 9% 16%;box-shadow:inset 0 1px #fff4,0 2px 6px #0006}.kb-art svg{opacity:.82;width:62%;height:62%}.kb-key--project .kb-key-label{z-index:2;font-size:clamp(3px,calc(var(--u)*.14),5px);opacity:.55;position:absolute;bottom:2px;right:3px}.kb-key--space{background:linear-gradient(#49423c,#312a26)}.kb-space-dots{opacity:.3;letter-spacing:.6em;font-size:calc(var(--u)*.3)}.kb-side{gap:calc(var(--u)*.12);flex-direction:column;flex:none;display:flex}.kb-knob{height:calc(var(--u)*.8);justify-content:flex-end;align-items:center;display:flex}.kb-knob i{width:calc(var(--u)*.55);height:calc(var(--u)*.55);border:1px solid hsl(var(--gold)/.35);box-shadow:0 calc(var(--u)*.06) calc(var(--u)*.12) #00000080,inset 0 1px 0 #e6d7b34d;background:radial-gradient(circle at 35% 30%,#a69059,#30241d);border-radius:50%}.kb-side-keys{gap:calc(var(--u)*.3);display:flex}.kb-nav,.kb-numpad{gap:calc(var(--u)*.07);grid-auto-rows:calc(var(--u)*1.12);display:grid}.kb-nav{grid-template-columns:repeat(3,calc(var(--u)*1))}.kb-numpad{grid-template-columns:repeat(4,calc(var(--u)*1))}.kb-nav .kb-key,.kb-numpad .kb-key{flex:none;width:auto;height:auto}.kb-key--tall{grid-row:span 2}.kb-key--wide{grid-column:span 2}.kb-diorama{left:50%;top:calc(var(--u)*1.1);z-index:6;width:calc(var(--u)*2.2);height:calc(var(--u)*4.75);border:1px solid hsl(var(--gold)/.45);border-radius:calc(var(--u)*.12);box-shadow:0 0 calc(var(--u)*.8) hsl(var(--gold)/.25),inset 0 0 calc(var(--u)*.6) hsl(var(--gold)/.08);cursor:pointer;background:linear-gradient(#403426,#211812);padding:0;position:absolute;overflow:hidden;transform:translate(-50%)}.kb-diorama:before{content:"";filter:blur(1px);background:linear-gradient(#c7ab6bbf,#78573a26);width:38%;position:absolute;top:8%;bottom:10%;left:50%;transform:translate(-50%)}.kb-diorama-scene{position:absolute;inset:8% 8% 18%}.kb-diorama-scene i{border:1px solid hsl(var(--gold)/.25);background:linear-gradient(160deg,#9c7b54,#3c2b20);display:block;position:absolute;box-shadow:0 2px 6px #00000073}.kb-diorama-scene i:first-child{width:38%;height:22%;top:6%;left:4%}.kb-diorama-scene i:nth-child(2){background:linear-gradient(160deg,#b69754,#423124);width:34%;height:24%;top:22%;right:2%}.kb-diorama-scene i:nth-child(3){width:32%;height:26%;bottom:22%;left:8%}.kb-diorama-scene i:nth-child(4){background:linear-gradient(160deg,#94794c,#34261d);width:44%;height:20%;bottom:4%;right:6%}.kb-diorama-label{left:0;right:0;bottom:calc(var(--u)*.18);z-index:2;text-align:center;font-size:clamp(3px,calc(var(--u)*.14),5px);color:hsl(var(--gold-soft)/.85);position:absolute}.kb-diorama:hover{transform:translate(-50%)translateY(-2px)}.keyboard-scene.is-3d .kb3d-stage{box-shadow:none;background:0 0;border:0;border-radius:0}.kb-project-label{z-index:9;border:1px solid hsl(var(--gold)/.35);background:hsl(var(--cinema-bg)/.96);width:min(23rem,100% - 2rem);color:hsl(var(--cinema-fg));-webkit-backdrop-filter:blur(8px);border-radius:12px;padding:clamp(.9rem,1.6vw,1.2rem);position:absolute;bottom:clamp(1rem,2vw,2rem);left:clamp(1rem,2vw,2rem);box-shadow:0 20px 50px #00000073}.kb-project-label--3d{z-index:7;width:min(23rem,100% - 2.5rem);margin:0;position:absolute;bottom:4.75rem;left:1.25rem}.kb-label-head{align-items:flex-start;gap:.7rem;display:flex}.kb-label-art{color:#211812;width:2.4rem;height:2.4rem;font-family:var(--serif);background:linear-gradient(145deg,#d6b971,#724f31);border-radius:8px;flex:none;place-items:center;font-size:1.1rem;font-weight:600;display:grid}.kb-label-title{flex-direction:column;flex:1;gap:.12rem;min-width:0;display:flex}.kb-label-title strong{font-family:var(--serif);color:hsl(var(--gold-soft));font-size:1.35rem;font-weight:500;line-height:1.05}.kb-label-title .mono{color:hsl(var(--gold-soft)/.55);font-size:8px}.kb-label-close{border:1px solid hsl(var(--gold)/.2);width:1.7rem;height:1.7rem;color:hsl(var(--cinema-fg)/.6);cursor:pointer;background:0 0;border-radius:50%;flex:none}.kb-label-close:hover{background:hsl(var(--gold));border-color:hsl(var(--gold));color:hsl(var(--nav-pill-fg))}.kb-project-label p{color:hsl(var(--cinema-fg)/.66);margin-top:.65rem;font-size:.84rem;line-height:1.55}.kb-label-open{border:1px solid hsl(var(--gold)/.4);border-radius:var(--radius-round);background:hsl(var(--gold));color:hsl(var(--nav-pill-fg));font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;align-items:center;gap:.45rem;margin-top:.75rem;padding:.55rem .9rem;font-size:9px;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.kb-label-open svg{width:.75rem;height:.75rem}.kb-label-open:hover{background:hsl(var(--gold-soft));border-color:hsl(var(--gold-soft))}.kb-info-backdrop{z-index:160;-webkit-backdrop-filter:blur(5px);background:#0d0a07b8;place-items:center;padding:1.5rem;animation:.2s fade;display:grid;position:fixed;inset:0}.kb-info-panel{border:1px solid hsl(var(--gold)/.35);border-radius:calc(var(--radius) + 6px);background:hsl(var(--cinema-bg));width:min(34rem,100%);max-height:86vh;color:hsl(var(--cinema-fg));padding:clamp(1.5rem,4vw,2.5rem);position:relative;overflow:auto;box-shadow:0 30px 80px #00000080}.kb-info-eyebrow{color:hsl(var(--gold-soft)/.6)}.kb-info-panel h2{font-family:var(--serif);color:hsl(var(--gold-soft));margin-top:.65rem;font-size:clamp(1.8rem,3.5vw,2.5rem);font-weight:500;line-height:1.05}.kb-info-panel p{color:hsl(var(--cinema-fg)/.72);margin-top:1rem;font-size:.95rem;line-height:1.7}.kb-info-panel .kb-info-location{color:hsl(var(--gold-soft)/.55);font-size:8px;line-height:1.8}.kb-info-tags{flex-wrap:wrap;gap:.45rem;margin-top:1.1rem;display:flex}.kb-info-tags li{border:1px solid hsl(var(--gold)/.22);border-radius:var(--radius-round);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:hsl(var(--gold-soft)/.75);padding:.35rem .7rem;font-size:8px}.kb-info-close{border:1px solid hsl(var(--gold)/.25);width:2rem;height:2rem;color:hsl(var(--cinema-fg)/.7);cursor:pointer;background:0 0;border-radius:50%;position:absolute;top:1rem;right:1rem}.kb-info-close:hover{background:hsl(var(--gold));border-color:hsl(var(--gold));color:hsl(var(--nav-pill-fg))}.kb-info-mail{border:1px solid hsl(var(--gold)/.35);border-radius:var(--radius-round);color:hsl(var(--gold-soft));font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:.5rem;margin-top:1.1rem;padding:.65rem .9rem;font-size:9px;text-decoration:none;display:inline-flex}.kb-info-mail svg{width:.8rem;height:.8rem}.kb-info-mail:hover{background:hsl(var(--gold));border-color:hsl(var(--gold));color:hsl(var(--nav-pill-fg))}.kb-info-more{border:1px solid hsl(var(--gold));border-radius:var(--radius-round);background:hsl(var(--gold));color:hsl(var(--nav-pill-fg));font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;align-items:center;gap:.45rem;margin-top:1.3rem;padding:.6rem .95rem;font-size:9px;display:inline-flex}.kb-info-more svg{width:.8rem;height:.8rem}.kb-info-more:hover{background:hsl(var(--gold-soft));border-color:hsl(var(--gold-soft))}.rule-line{color:hsl(var(--muted-fg));align-items:center;gap:1rem;display:flex}.rule-line .mono{white-space:nowrap;border:1px solid hsl(var(--border));border-radius:var(--radius-round);background:hsl(var(--surface)/.6);align-items:center;padding:.35rem .7rem;display:inline-flex}.rule-line .rule{background:hsl(var(--border));flex:1;height:1px}.rule-line.light{color:hsl(var(--contact-fg)/.7)}.rule-line.light .mono{background:hsl(var(--contact-fg)/.06);border-color:hsl(var(--contact-fg)/.2)}.rule-line.light .rule{background:hsl(var(--contact-fg)/.2)}.display{text-wrap:balance;margin-top:1.5rem;font-size:clamp(2.2rem,4.6vw,3.8rem)}.display em{font-style:italic;font-weight:400}.display.light{color:hsl(var(--contact-fg))}.body{color:hsl(var(--fg)/.86);max-width:40rem;margin-top:1.2rem;font-size:1.04rem;line-height:1.78}.body.light{color:hsl(var(--contact-fg)/.78)}.btn{border:1px solid hsl(var(--fg));background:hsl(var(--fg));color:hsl(var(--bg));font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;border-radius:var(--radius-round);cursor:pointer;align-items:center;gap:.6rem;padding:.9rem 1.35rem;font-size:10px;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s,color .2s,border-color .2s;display:inline-flex}.btn svg{width:.85rem;height:.85rem;transition:transform .2s}.btn:hover{background:hsl(var(--accent-strong));border-color:hsl(var(--accent-strong));color:hsl(var(--nav-pill-fg));box-shadow:0 10px 26px hsl(var(--gold)/.24);transform:translateY(-2px)}.btn:hover svg{transform:translate(3px)}.btn:active{transform:scale(.985)}.btn.quiet{color:hsl(var(--fg));border-color:hsl(var(--border));background:0 0}.btn.quiet:hover{background:hsl(var(--surface));border-color:hsl(var(--gold));color:hsl(var(--fg));box-shadow:0 8px 20px hsl(var(--fg)/.08)}.btn.light{background:hsl(var(--gold));color:hsl(var(--nav-pill-fg));border-color:hsl(var(--gold))}.btn.light:hover{background:hsl(var(--contact-fg));border-color:hsl(var(--contact-fg));color:hsl(var(--contact-bg));box-shadow:0 10px 24px #00000040}.btn-row{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}.pill{border:1px solid hsl(var(--border));border-radius:var(--radius-round);background:hsl(var(--surface)/.55);color:hsl(var(--muted-fg));align-items:center;gap:.55rem;padding:.45rem .85rem;display:inline-flex}.pulse{background:hsl(var(--gold));width:6px;height:6px;box-shadow:0 0 0 0 hsl(var(--gold)/.55);border-radius:50%;animation:2s infinite pulse}@keyframes pulse{70%{box-shadow:0 0 0 9px hsl(var(--gold)/0)}to{box-shadow:0 0 0 0 hsl(var(--gold)/0)}}.hero-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);align-items:center;gap:clamp(2rem,5vw,5rem);display:grid}.hero-main{min-width:0}.hero-title{letter-spacing:-.02em;max-width:15ch;margin-top:1.5rem;font-size:clamp(2.8rem,6vw,5.4rem);line-height:.98}.hero-copy{color:hsl(var(--fg)/.8);max-width:38rem;margin-top:1.6rem;font-size:1.05rem;line-height:1.75}.hero-copy strong{font-weight:600}.hero-card{border:1px solid hsl(var(--border));border-radius:calc(var(--radius) + 8px);background:linear-gradient(145deg,hsl(var(--surface)/.96),hsl(var(--accent)/.55));box-shadow:0 24px 60px hsl(var(--fg)/.1);padding:1.5rem;position:relative}.hero-card-head{color:hsl(var(--muted-fg));justify-content:space-between;align-items:center;gap:1rem;display:flex}.hero-monogram{font-family:var(--serif);color:hsl(var(--fg)/.16);letter-spacing:-.04em;margin:1rem 0 .35rem;font-size:clamp(4rem,7vw,6rem);font-style:italic;line-height:1;display:block}.hero-loc{color:hsl(var(--fg)/.9);font-size:1.05rem;line-height:1.6}.hero-facts{border-top:1px solid hsl(var(--border));margin-top:1.25rem}.hero-facts li{border-bottom:1px solid hsl(var(--border));justify-content:space-between;align-items:baseline;gap:1rem;padding:.65rem 0;font-size:.9rem;display:flex}.hero-facts .mono{color:hsl(var(--muted-fg));white-space:nowrap;font-size:9px}.hero-facts li span:last-child{text-align:right;color:hsl(var(--fg)/.85)}.clock{border-top:1px solid hsl(var(--border));margin-top:1.35rem;padding-top:1.15rem}.clock .mono{color:hsl(var(--muted-fg))}.clock-grid{grid-template-columns:repeat(4,1fr);gap:.35rem;margin-top:.65rem;display:grid}.clock-grid strong{font-family:var(--serif);font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.1;display:block}.clock-grid span{color:hsl(var(--muted-fg));margin-top:.15rem;display:block}.stat-grid{border:1px solid hsl(var(--border));border-radius:calc(var(--radius) + 4px);background:hsl(var(--surface)/.75);grid-template-columns:repeat(3,1fr);margin-top:clamp(2rem,4vw,3rem);display:grid;overflow:hidden}.stat-grid>div{border-left:1px solid hsl(var(--border));padding:1.4rem 1.6rem}.stat-grid>div:first-child{border-left:0}.stat-grid dt{color:hsl(var(--muted-fg));letter-spacing:.18em;margin:0 0 .55rem;line-height:1.5}.stat-grid .num{font-family:var(--serif);letter-spacing:-.01em;margin:0;font-size:clamp(2.4rem,4vw,3.4rem);line-height:1.05}.marquee{white-space:nowrap;border-block:1px solid hsl(var(--border));background:hsl(var(--accent)/.4);padding:.85rem 0;overflow:hidden}.track{color:hsl(var(--fg)/.82);gap:2rem;animation:32s linear infinite slide;display:inline-flex}.track:hover{animation-play-state:paused}@keyframes slide{to{transform:translate(-50%)}}.filters{border:1px solid hsl(var(--border));border-radius:var(--radius-round);background:hsl(var(--accent)/.45);flex-wrap:wrap;gap:.2rem;margin:2rem 0 1.25rem;padding:.3rem;display:inline-flex}.filters button{color:hsl(var(--muted-fg));font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;border-radius:var(--radius-round);cursor:pointer;background:0 0;border:0;padding:.5rem .9rem;font-size:10px;transition:background .2s,color .2s}.filters button:hover{color:hsl(var(--fg));background:hsl(var(--accent-strong)/.18)}.filters button.on{background:hsl(var(--accent-strong));color:hsl(var(--nav-pill-fg));box-shadow:0 2px 10px hsl(var(--gold)/.22)}.project-shelves{margin-top:.25rem}.project-row{position:relative}.project-row+.project-row{margin-top:clamp(2.5rem,5vw,4rem)}.project-row-head{justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:.7rem;display:flex}.project-row-head h3{letter-spacing:-.015em;font-size:clamp(1.35rem,2.4vw,1.85rem)}.row-count{color:hsl(var(--muted-fg));margin-top:.35rem;display:block}.row-hint{color:hsl(var(--muted-fg));white-space:nowrap;text-align:right}.project-rail-wrap{position:relative}.project-rail-wrap:before,.project-rail-wrap:after{content:"";z-index:2;pointer-events:none;opacity:0;width:56px;transition:opacity .25s;position:absolute;top:0;bottom:0}.project-rail-wrap:before{background:linear-gradient(90deg,hsl(var(--bg)) 4%,transparent);left:0}.project-rail-wrap:after{background:linear-gradient(270deg,hsl(var(--bg)) 4%,transparent);right:0}.project-row.can-left .project-rail-wrap:before,.project-row.can-right .project-rail-wrap:after{opacity:1}.project-rail{scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior-x:contain;-webkit-user-select:none;user-select:none;cursor:grab;align-items:stretch;gap:1rem;padding:12px 2px 22px;display:flex;overflow:auto hidden}.project-rail::-webkit-scrollbar{display:none}.project-row:not(.has-overflow) .project-rail{cursor:default}.project-rail.is-dragging{scroll-snap-type:none;scroll-behavior:auto;cursor:grabbing}.project-rail.is-dragging .project-card{cursor:grabbing}.project-rail:focus-visible{outline:2px solid hsl(var(--fg));outline-offset:4px;border-radius:calc(var(--radius) + 4px)}.project-card{scroll-snap-align:start;border:1px solid hsl(var(--border));border-radius:calc(var(--radius) + 4px);background:hsl(var(--surface));color:hsl(var(--fg));text-align:left;cursor:pointer;flex-direction:column;flex:0 0 clamp(280px,32vw,360px);padding:0;transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s,border-color .3s;display:flex;overflow:hidden}.project-card:hover,.project-card:focus-visible{border-color:hsl(var(--gold)/.55);transform:translateY(-4px);box-shadow:0 22px 50px #1d130c2e}.project-art{aspect-ratio:16/10;background:hsl(var(--muted));display:block;position:relative;overflow:hidden}.project-art-img{filter:sepia(.32)saturate(.72)contrast(1.03);background-position:50%;background-size:cover;transition:filter .55s cubic-bezier(.22,1,.36,1),transform .75s cubic-bezier(.22,1,.36,1);position:absolute;inset:0;transform:scale(1.001)}.project-card:hover .project-art-img,.project-card:focus-visible .project-art-img{filter:sepia(0)saturate(1.05)contrast(1.03);transform:scale(1.055)}@media (hover:none){.project-art-img{filter:sepia(0)saturate(1.02)}}.project-badge,.project-year{z-index:1;border-radius:var(--radius-round);border:1px solid hsl(var(--gold)/.25);color:hsl(var(--gold-soft));-webkit-backdrop-filter:blur(6px);background:#1b130d9e;padding:.3rem .55rem;font-size:9px;position:absolute;top:.75rem}.project-badge{left:.75rem}.project-year{right:.75rem}.project-index{font-family:var(--serif);letter-spacing:-.05em;color:#f7f0de42;pointer-events:none;font-size:clamp(3rem,5vw,4.5rem);font-style:italic;line-height:1;transition:color .3s;position:absolute;bottom:.35rem;left:1rem}.project-card:hover .project-index,.project-card:focus-visible .project-index{color:#f9f1dc6b}.project-body{flex-direction:column;flex:1;gap:.55rem;padding:1.1rem 1.15rem 1.2rem;display:flex}.project-title{font-family:var(--serif);letter-spacing:-.01em;min-height:2.3em;font-size:1.45rem;line-height:1.15}.project-text{-webkit-line-clamp:2;min-height:3.2em;color:hsl(var(--fg)/.7);-webkit-box-orient:vertical;font-size:.92rem;line-height:1.6;display:-webkit-box;overflow:hidden}.project-foot{border-top:1px solid hsl(var(--border)/.75);justify-content:space-between;align-items:flex-end;gap:.75rem;margin-top:auto;padding-top:.7rem;display:flex}.project-tech{color:hsl(var(--muted-fg));font-size:9px;line-height:1.65}.project-cta{color:hsl(var(--fg));white-space:nowrap;align-items:center;gap:.3rem;font-size:9px;display:inline-flex}.project-cta svg{width:.75rem;height:.75rem;color:hsl(var(--gold));transition:transform .2s}.project-card:hover .project-cta svg,.project-card:focus-visible .project-cta svg{transform:translate(2px,-2px)}.rail-arrow{z-index:3;border:1px solid hsl(var(--border));background:hsl(var(--surface)/.94);width:2.8rem;height:2.8rem;color:hsl(var(--fg));cursor:pointer;-webkit-backdrop-filter:blur(6px);border-radius:50%;place-items:center;transition:opacity .2s,transform .2s,background .2s,color .2s;display:grid;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 8px 24px #22181129}.rail-arrow svg{width:1rem;height:1rem}.rail-arrow:hover{background:hsl(var(--accent-strong));border-color:hsl(var(--gold));color:hsl(var(--nav-pill-fg));transform:translateY(-50%)scale(1.06)}.rail-arrow:disabled{opacity:0;pointer-events:none;transform:translateY(-50%)scale(.9)}.project-row.has-overflow .rail-arrow:disabled{opacity:.28}.rail-arrow.left{left:-16px}.rail-arrow.right{right:-16px}.rail-progress{border-radius:var(--radius-round);background:hsl(var(--border)/.55);height:3px;margin-top:.75rem;overflow:hidden}.rail-progress span{border-radius:inherit;background:linear-gradient(90deg,hsl(var(--fg)),hsl(var(--gold)));height:100%;transition:width .15s linear;display:block}.hint{color:hsl(var(--muted-fg));text-align:center;margin-top:1.4rem}@keyframes cardIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.project-card-enter{animation:.55s cubic-bezier(.22,1,.36,1) backwards cardIn}.about-grid{grid-template-columns:minmax(0,4fr) minmax(0,8fr);align-items:start;gap:clamp(1.75rem,4vw,3.5rem);margin-top:2.5rem;display:grid}.portrait{margin:0;position:relative}.portrait img,.portrait .ph{aspect-ratio:3/4;object-fit:cover;background:hsl(var(--muted));border-radius:calc(var(--radius) + 6px);width:100%}.portrait img{border:1px solid hsl(var(--border));filter:grayscale()contrast(1.04);transition:filter .5s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}.portrait:hover img{filter:grayscale(0);transform:scale(1.02)}.portrait .ph{border:1px dashed hsl(var(--border));color:hsl(var(--muted-fg));background:linear-gradient(145deg,hsl(var(--surface)/.8),hsl(var(--accent)/.6));flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.portrait .ph>span:first-child{font-family:var(--serif);color:hsl(var(--fg)/.32);letter-spacing:-.02em;font-size:clamp(3.5rem,9vw,5.5rem);line-height:1}.portrait .ph>span:last-child{text-align:center;padding:0 1rem}.portrait figcaption{color:hsl(var(--muted-fg));justify-content:space-between;gap:1rem;margin-top:.85rem;display:flex}.about-grid .rows{margin-top:2rem}.checks{flex-wrap:wrap;gap:.5rem;margin-top:1.75rem;display:flex}.checks li{border:1px solid hsl(var(--border));border-radius:var(--radius-round);background:hsl(var(--surface)/.55);font-family:var(--mono);letter-spacing:.15em;text-transform:uppercase;padding:.45rem .8rem;font-size:10px}.rows{border-top:1px solid hsl(var(--border))}.rows>li{border-bottom:1px solid hsl(var(--border));border-radius:12px;grid-template-columns:9rem 1fr;gap:1rem;padding:1.15rem .9rem;transition:background .2s;display:grid}.rows>li:hover{background:hsl(var(--muted))}.rows .mono{color:hsl(var(--muted-fg));padding-top:.2rem}.rows.wide{margin-top:2rem}.rows .tl{grid-template-columns:7.5rem minmax(12rem,17rem) 1fr auto;align-items:center;column-gap:1.25rem}.tl-title{font-family:var(--serif);letter-spacing:-.01em;text-wrap:balance;font-size:clamp(1.2rem,1.7vw,1.55rem);line-height:1.25}.tl-desc{color:hsl(var(--fg)/.8);text-wrap:pretty;max-width:44ch;font-size:1rem;line-height:1.65}.rows .tl .idx{border:1px solid hsl(var(--border));border-radius:var(--radius-round);background:hsl(var(--surface)/.7);color:hsl(var(--muted-fg));letter-spacing:.12em;justify-content:center;padding:.3rem .55rem;line-height:1.4;display:inline-flex}.row-arrow{width:1rem;height:1rem;color:hsl(var(--muted-fg));transition:transform .2s,color .2s}.rows .tl:hover .row-arrow{color:hsl(var(--fg));transform:translate(3px,-3px)}.skill-grid{grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:2rem;display:grid}.skill-card{border:1px solid hsl(var(--border));border-radius:calc(var(--radius) + 6px);background:hsl(var(--surface)/.7);padding:1.6rem;transition:transform .25s,box-shadow .25s,border-color .25s}.skill-card:hover{box-shadow:0 18px 40px hsl(var(--fg)/.07);border-color:hsl(var(--fg)/.2);transform:translateY(-3px)}.skill-card h3{font-size:1.5rem}.skill-card .note{color:hsl(var(--muted-fg));margin-top:.35rem}.srow{grid-template-columns:8.5rem 1fr 2rem;align-items:center;gap:.75rem;margin-top:1rem;display:grid}.sname{font-size:.92rem}.bar{background:hsl(var(--muted));border-radius:var(--radius-round);height:6px;overflow:hidden}.bar i{background:linear-gradient(90deg,hsl(var(--fg)),hsl(var(--gold)));border-radius:inherit;transform-origin:0;height:100%;animation:1.1s cubic-bezier(.22,1,.36,1) both grow;display:block}@keyframes grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.sv{color:hsl(var(--muted-fg));text-align:right}.wip-grid{grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:2rem;display:grid}.wip{border:1px solid hsl(var(--border));border-radius:calc(var(--radius) + 6px);background:hsl(var(--surface)/.7);padding:1.5rem;transition:transform .25s,box-shadow .25s,border-color .25s}.wip:hover{box-shadow:0 18px 40px hsl(var(--fg)/.07);border-color:hsl(var(--fg)/.2);transform:translateY(-3px)}.wip-head{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.wip-head h3{font-size:1.4rem}.wip .pct{font-family:var(--serif);color:hsl(var(--fg)/.9);font-size:2.1rem;line-height:1.1}.wip-bar{background:hsl(var(--muted));border-radius:var(--radius-round);height:7px;margin:1rem 0 .85rem;overflow:hidden}.wip-bar i{background:linear-gradient(90deg,hsl(var(--fg)),hsl(var(--gold)));border-radius:inherit;height:100%;animation:1.2s cubic-bezier(.22,1,.36,1) both grow;display:block}.wip .tech{color:hsl(var(--muted-fg))}.wip .next{color:hsl(var(--fg)/.82);margin-top:.6rem;font-size:.95rem}.wip .next strong{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:hsl(var(--muted-fg));margin-right:.4rem;font-size:10px;font-weight:400}.quote-sec .rv{text-align:center;border:1px solid hsl(var(--border));border-radius:calc(var(--radius) + 10px);background:hsl(var(--accent)/.5);max-width:56rem;margin-inline:auto;padding:clamp(2.25rem,5vw,3.5rem)}.quote-figure{margin:0}.dash{background:hsl(var(--fg)/.3);width:4rem;height:1px;margin:0 auto;display:block}.quote-sec blockquote{font-family:var(--serif);letter-spacing:-.015em;margin:2rem 0 1.5rem;font-size:clamp(1.6rem,3.6vw,2.9rem);line-height:1.2}.quote-sec blockquote em{font-style:italic}.quote-sec figcaption{color:hsl(var(--muted-fg));margin-bottom:0}.qnav{justify-content:center;align-items:center;gap:1rem;margin-top:1.75rem;display:flex}.qnav button{border:1px solid hsl(var(--border));background:hsl(var(--surface)/.6);width:2.2rem;height:2.2rem;color:hsl(var(--fg));cursor:pointer;border-radius:50%;transition:background .2s,color .2s,transform .2s}.qnav button:hover{background:hsl(var(--accent-strong));border-color:hsl(var(--gold));color:hsl(var(--nav-pill-fg));transform:translateY(-1px)}.qnav .mono{color:hsl(var(--muted-fg))}.contact{width:calc(100% - 2*clamp(1rem,4vw,2.5rem));max-width:var(--maxw);background:hsl(var(--contact-bg));color:hsl(var(--contact-fg));border:1px solid hsl(var(--gold)/.18);border-radius:calc(var(--radius) + 14px);border-top:1px solid hsl(var(--gold)/.18);margin:0 auto clamp(2rem,5vw,4rem);padding:clamp(2rem,5vw,4rem);position:relative;overflow:hidden}.contact:before{content:"";background:radial-gradient(circle,hsl(var(--gold)/.16),transparent 66%);pointer-events:none;border-radius:50%;width:38rem;height:38rem;position:absolute;bottom:-45%;right:-14%}.contact>.rv{z-index:1;position:relative}.contact-grid{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(2rem,4vw,3.5rem);margin-top:2.5rem;display:grid}.mail{border:1px solid hsl(var(--contact-fg)/.3);border-radius:var(--radius-round);color:hsl(var(--contact-fg));font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:.6rem;padding:.85rem 1.3rem;font-size:10px;text-decoration:none;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.mail svg{width:.85rem;height:.85rem;transition:transform .2s}.mail:hover{background:hsl(var(--gold));color:hsl(var(--nav-pill-fg));border-color:hsl(var(--gold))}.mail:hover svg{transform:translate(3px)}.dim{color:hsl(var(--contact-fg)/.6);margin-top:1.25rem;line-height:2}.form{gap:.7rem;display:grid}.form input,.form textarea{border:1px solid hsl(var(--contact-fg)/.22);border-radius:var(--radius-sm);background:hsl(var(--contact-fg)/.04);width:100%;color:hsl(var(--contact-fg));font-family:var(--sans);padding:.85rem 1rem;font-size:.95rem;transition:border-color .2s,background .2s}.form input::placeholder,.form textarea::placeholder{color:hsl(var(--contact-fg)/.4)}.form input:focus,.form textarea:focus{border-color:hsl(var(--contact-fg)/.7);background:hsl(var(--contact-fg)/.07);outline:none}.form input:focus-visible,.form textarea:focus-visible{outline:2px solid hsl(var(--gold));outline-offset:2px}.contact :focus-visible{outline-color:hsl(var(--gold))}.form .btn{justify-content:center;margin-top:.3rem}.ok{color:hsl(var(--contact-fg)/.8);margin-top:.35rem}.foot{border-top:1px solid hsl(var(--contact-fg)/.16);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.25rem;margin-top:clamp(2.5rem,5vw,4rem);padding-top:1.5rem;display:flex}.foot-meta{flex-wrap:wrap;align-items:center;gap:1.1rem;display:flex}.foot .mono{color:hsl(var(--contact-fg)/.55)}.foot nav{flex-wrap:wrap;gap:1.1rem;display:flex}.foot a{color:hsl(var(--contact-fg)/.6);text-decoration:none;transition:color .2s}.foot a:hover{color:hsl(var(--contact-fg))}.socials{align-items:center;gap:.45rem;display:flex}.socials a{border:1px solid hsl(var(--border));width:2.3rem;height:2.3rem;color:hsl(var(--muted-fg));border-radius:50%;place-items:center;text-decoration:none;transition:background .2s,color .2s,border-color .2s,transform .2s;display:grid}.socials svg{width:.95rem;height:.95rem}.socials a:hover{background:hsl(var(--gold));color:hsl(var(--nav-pill-fg));border-color:hsl(var(--gold));transform:translateY(-1px)}.foot .socials a{border-color:hsl(var(--contact-fg)/.22);color:hsl(var(--contact-fg)/.65)}.foot .socials a:hover{background:hsl(var(--gold));color:hsl(var(--nav-pill-fg));border-color:hsl(var(--gold))}.backdrop{z-index:150;-webkit-backdrop-filter:blur(5px);background:#110c09c2;place-items:center;padding:1.5rem;animation:.2s fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.sheet{background:hsl(var(--bg));border:1px solid hsl(var(--gold)/.25);border-radius:calc(var(--radius) + 6px);width:100%;max-width:36rem;max-height:86vh;padding:clamp(1.5rem,4vw,2.5rem);animation:.3s cubic-bezier(.22,1,.36,1) rise;position:relative;overflow:auto;box-shadow:0 30px 80px #0e090766}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}.sheet .display{margin-top:.75rem;font-size:clamp(1.6rem,4vw,2.2rem)}.sheet .tech{color:hsl(var(--muted-fg));margin-top:.5rem}.sheet h4{margin-top:1.6rem}.sheet h4.mono{color:hsl(var(--muted-fg));display:block}.sheet .body{margin-top:.4rem;font-size:.97rem}.x{border:1px solid hsl(var(--border));background:hsl(var(--surface));width:2.2rem;height:2.2rem;color:hsl(var(--fg));cursor:pointer;border-radius:50%;transition:background .2s,color .2s,transform .2s;position:absolute;top:1rem;right:1rem}.x:hover{background:hsl(var(--gold));border-color:hsl(var(--gold));color:hsl(var(--nav-pill-fg));transform:rotate(90deg)}.rv{opacity:0;transition:opacity .7s,transform .7s cubic-bezier(.22,1,.36,1);transform:translateY(24px)}.rv.in{opacity:1;transform:none}@media (width<=1100px){.menu a{padding-inline:.75rem;font-size:.82rem}.brand .sub{display:none}.project-card{flex-basis:clamp(260px,34vw,330px)}.cinema-word{font-size:clamp(2.8rem,6vw,5.5rem)}.cinema-orb{width:clamp(240px,34vw,330px)}.keyboard-scene{--u:clamp(11px,2.5vw,36px)}.kb-side-tab{display:none}}@media (width<=979px){:root{--maxw:100%}.menu{display:none}.menu-toggle{display:grid}.nav-current{display:block}.nav-actions{margin-left:0}.mobile-menu{display:grid}.site-header{padding-block:10px}.nav{padding:.4rem .4rem .4rem 1.1rem}}@media (width<=900px){.hero-grid{grid-template-columns:1fr;gap:2rem}.hero-card{width:100%;max-width:32rem}.about-grid{grid-template-columns:1fr}.portrait{max-width:22rem}.contact-grid{grid-template-columns:1fr}.rows .tl{grid-template-columns:1fr;gap:.35rem;padding-block:1rem}.rows .tl .row-arrow{display:none}.cinema{min-height:auto;padding:1.5rem}.cinema-stage{grid-template-columns:1fr;gap:1rem;padding:2rem 0}.cinema-word{font-size:clamp(2.3rem,9vw,3.5rem)}.cinema-orb{width:min(68vw,300px);margin-inline:auto}.cinema-side{display:none}.entry-screen{padding:.75rem}.entry-cinema{min-height:auto}.hero .keyboard-scene{--u:24px;height:100dvh;min-height:0;padding:.9rem .75rem 1.25rem;overflow:hidden}.hero .hero-grid{padding:4rem .75rem 0}.hero .stat-grid{padding:1.5rem .75rem 3rem}.hero .keyboard-scene .kb-viewport--3d{flex:1 1 0}.hero .keyboard-scene .kb3d{flex:1 1 0;height:auto}.hero .keyboard-scene .kb3d-stage{flex:1 1 0;height:auto;min-height:clamp(260px,38vh,520px)}.hero .keyboard-scene .kb-project-label.kb-project-label--3d{z-index:7;width:auto;margin:0;position:absolute;bottom:1.5rem;left:.75rem;right:.75rem}.keyboard-scene{--u:24px;padding:1rem .75rem 5rem}.kb-board{min-width:620px}.kb-viewport{touch-action:pan-x pan-y;overflow-x:auto}.kb-viewport--3d{touch-action:auto;overflow:visible}.kb3d-stage{height:auto}.kb3d-hud{display:none}.kb-project-label{width:100%;margin-top:1rem;position:relative;bottom:auto;left:auto}}@media (width<=820px){.skill-grid,.wip-grid{grid-template-columns:1fr}.project-card{flex-basis:clamp(250px,45vw,330px)}.row-hint{display:none}}@media (width<=640px){.site-header{padding:8px .75rem}.nav{gap:.5rem;padding:.35rem .35rem .35rem 1rem}.brand .mark{font-size:1.35rem}.icon-btn{width:2.35rem;height:2.35rem}.hero-title{font-size:clamp(2.5rem,11vw,3.4rem)}.hero-card{padding:1.25rem}.stat-grid{grid-template-columns:1fr}.stat-grid>div{border-left:0;border-top:1px solid hsl(var(--border))}.stat-grid>div:first-child{border-top:0}.about-grid .rows>li{grid-template-columns:1fr;gap:.35rem}.contact{border-radius:calc(var(--radius) + 8px);width:calc(100% - 1.25rem);padding:1.5rem 1.1rem}.foot{flex-direction:column;align-items:flex-start}.project-card{flex-basis:min(82vw,360px)}.project-row-head h3{font-size:1.45rem}.project-body{padding:1rem .95rem 1.05rem}.project-title{font-size:1.35rem}.project-text{min-height:2.9em;font-size:.9rem}.rail-arrow{width:2.35rem;height:2.35rem}.rail-arrow.left{left:-8px}.rail-arrow.right{right:-8px}.project-rail-wrap:before,.project-rail-wrap:after{width:34px}.cinema{border-radius:calc(var(--radius) + 6px);margin-bottom:2.25rem;padding:1.1rem}.cinema-frame{border-radius:12px;inset:.55rem}.cinema-top{gap:.5rem;font-size:8px}.cinema-top span:nth-child(2){font-size:1.2rem}.cinema-stage{gap:.9rem;padding:1.5rem 0}.cinema-word{font-size:clamp(2.2rem,12vw,3rem)}.cinema-orb{width:min(72vw,270px)}.orb-label{font-size:8px}.cinema-ready-row{gap:.3rem .8rem;font-size:8px}.cinema-bottom{gap:.7rem;padding-top:1rem}.cinema-enter{font-size:9px}.entry-screen{padding:.5rem}.entry-cinema{border-radius:14px}.entry-cinema .cinema-bottom{padding-top:1rem}.keyboard-scene{border-radius:calc(var(--radius) + 4px);padding:.9rem .5rem 4.5rem}.kb-top{gap:.5rem}.kb-interactions strong{font-size:1.7rem}.kb-props{justify-content:center;padding:0 .5rem}.kb-orbs,.kb-mouse{display:none}.kb-project-label{margin-top:.8rem;padding:1rem}}@media (width<=560px){.sec{padding:3rem 1.1rem}.filters{border-radius:22px;justify-content:center;width:100%}.project-rail{gap:.8rem;padding:8px 0 18px}.project-row+.project-row{margin-top:2.25rem}.project-row-head{gap:1rem}.project-body{padding:.95rem .9rem 1rem}.project-title{min-height:2.2em;font-size:1.3rem}.project-text{min-height:2.8em}.project-foot{flex-direction:column;align-items:flex-start;gap:.45rem}.project-tech{font-size:8px}.btn{justify-content:center;width:100%}.hero-facts li{font-size:.86rem}.quote-sec blockquote{margin-top:1.5rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rv{opacity:1;transition:none;transform:none}.nav,.mobile-menu,.track,.project-card-enter,.bar i,.wip-bar i,.orb-ticks,.orb-hand,.cinema-line i{animation:none}.project-rail{scroll-behavior:auto}.project-card:hover,.project-card:focus-visible{transform:none}*{transition-duration:.01ms!important}}.pu{border-top:1px solid hsl(var(--border));border-bottom:1px solid hsl(var(--border));background:radial-gradient(120% 80% at 50% -10%, hsl(var(--accent) / .45), transparent 62%), hsl(var(--bg));isolation:isolate;width:100vw;min-height:clamp(700px,88vh,960px);margin-top:1.75rem;margin-left:calc(50% - 50vw);position:relative;overflow:hidden}.pu-grain{z-index:0;pointer-events:none;opacity:.5;background-image:radial-gradient(hsl(var(--fg) / .07) 1px, transparent 1px);background-size:3px 3px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 70%,#000 30%,#0000 100%);mask-image:radial-gradient(80% 70%,#000 30%,#0000 100%)}.pu-stage{z-index:1;position:absolute;inset:0 200px 46px 176px}.pu-card{aspect-ratio:var(--card-ratio,4 / 3);border:1px solid hsl(var(--border));background:hsl(var(--card));box-shadow:0 16px 32px -24px hsl(var(--fg) / .5);cursor:pointer;text-align:left;z-index:var(--card-z,10);will-change:transform;animation:.55s cubic-bezier(.22,1,.36,1) backwards puCardIn;animation-delay:var(--in-delay,0s);border-radius:9px;padding:0;transition:opacity .2s,box-shadow .3s,border-color .3s;display:block;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}@keyframes puCardIn{0%{opacity:0}}.pu-card:hover,.pu-card:focus-visible{border-color:hsl(var(--accent-strong));box-shadow:0 26px 46px -24px hsl(var(--fg) / .55);z-index:75}.pu-card:focus-visible{outline:2px solid hsl(var(--fg));outline-offset:3px}.pu-card-visual{background:hsl(var(--muted));display:block;position:absolute;inset:0;overflow:hidden}.pu-card-visual img{object-fit:cover;filter:saturate(.94)contrast(1.02);width:100%;height:100%;transition:transform .6s cubic-bezier(.22,1,.36,1);display:block}.pu-card:hover .pu-card-visual img,.pu-card:focus-visible .pu-card-visual img{transform:scale(1.06)}.pu-card-body{z-index:2;opacity:0;pointer-events:none;background:linear-gradient(#150e0900 0%,#150e098c 38%,#150e09e6 100%);flex-direction:column;gap:4px;padding:34px 12px 11px;transition:opacity .3s,transform .38s cubic-bezier(.22,1,.36,1);display:flex;position:absolute;bottom:0;left:0;right:0;transform:translateY(8px)}.pu-card:hover .pu-card-body,.pu-card:focus-visible .pu-card-body,.pu-card.is-focused .pu-card-body{opacity:1;transform:translateY(0)}.pu-card-meta{background:hsl(var(--accent-strong));color:hsl(var(--nav-pill-fg));letter-spacing:.12em;text-transform:uppercase;border-radius:999px;align-self:flex-start;padding:2px 7px;font-size:7.5px;line-height:1.6}.pu-card-title{font-family:var(--serif);letter-spacing:-.01em;color:#fbf7ef;text-shadow:0 1px 10px #0e0906a6;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:1.02rem;line-height:1.12;display:-webkit-box;overflow:hidden}.pu-card.is-large .pu-card-title{font-size:1.18rem}.pu-card-tech{letter-spacing:.1em;text-transform:uppercase;color:#f0eadbd1;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:8px;overflow:hidden}.pu-card.is-dim{opacity:.18;z-index:3}.pu-card.is-dim:hover,.pu-card.is-dim:focus-visible{opacity:.52;z-index:74}.pu.has-focus .pu-card:not(.is-focused){opacity:.38}.pu.has-focus .pu-card.is-dim:not(.is-focused){opacity:.12}.pu.has-focus .pu-card:not(.is-focused):hover{opacity:.9}.pu-card.is-focused{opacity:1;z-index:90;border-color:hsl(var(--accent-strong));box-shadow:0 0 0 2px hsl(var(--accent-strong) / .55), 0 32px 64px -30px hsl(var(--fg) / .6)}.pu-cover{background:radial-gradient(120% 90% at 28% 18%, hsl(var(--hue) 62% 48% / .38), transparent 62%), linear-gradient(145deg, hsl(var(--hue) 38% 20%), hsl(var(--hue) 30% 10%));color:#f6f0df;place-content:center;gap:6px;display:grid;position:absolute;inset:0}.pu-cover-grid{opacity:.16;background-image:linear-gradient(#f7f0de8c 1px,#0000 1px),linear-gradient(90deg,#f7f0de8c 1px,#0000 1px);background-size:22px 22px;position:absolute;inset:0}.pu-cover-label{font-family:var(--serif);letter-spacing:.02em;text-align:center;font-size:1.85rem;line-height:1;position:relative}.pu-cover-sub{letter-spacing:.14em;text-transform:uppercase;opacity:.78;text-align:center;font-size:8px;position:relative}.pu-rail{z-index:80;flex-direction:column;gap:2px;transition:opacity .3s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.pu-rail-left{left:clamp(10px,1.8vw,30px)}.pu-rail-right{scrollbar-width:none;max-height:calc(100% - 120px);right:clamp(10px,1.8vw,30px);overflow-y:auto}.pu-rail-right::-webkit-scrollbar{display:none}.pu.has-focus .pu-rail-right{opacity:0;pointer-events:none}.pu-rail-title{letter-spacing:.2em;text-transform:uppercase;color:hsl(var(--muted-fg));opacity:.7;margin:0 0 6px;padding-left:6px;font-size:8px}.pu-chip{cursor:pointer;font-family:var(--sans);color:hsl(var(--muted-fg));text-align:left;background:0 0;border:0;border-radius:8px;align-items:baseline;gap:6px;padding:6px 9px;font-size:12.5px;line-height:1.2;transition:color .2s,background .2s;display:flex}.pu-chip:hover{color:hsl(var(--fg));background:hsl(var(--accent) / .6)}.pu-chip.is-active{color:hsl(var(--nav-pill-fg));background:hsl(var(--accent-strong));font-weight:600}.pu-chip.is-empty{opacity:.5}.pu-chip.is-empty.is-active{opacity:1}.pu-chip-count{opacity:.7;text-align:right;min-width:1ch;font-size:8px}.pu-chip-note{letter-spacing:.1em;text-transform:uppercase;opacity:.7;font-size:7px}.pu-chip:focus-visible{outline:2px solid hsl(var(--fg));outline-offset:2px}.pu-footer{z-index:85;border-top:1px solid hsl(var(--border) / .7);background:linear-gradient(hsl(var(--bg) / 0), hsl(var(--bg) / .92) 40%);letter-spacing:.08em;text-transform:uppercase;color:hsl(var(--muted-fg));pointer-events:none;align-items:center;gap:14px;padding:.7rem clamp(12px,2vw,26px);font-size:9px;display:flex;position:absolute;bottom:0;left:0;right:0}.pu-footer>*{pointer-events:auto}.pu-hint{opacity:.7;margin-left:auto}.pu-reset{border:1px solid hsl(var(--border));background:hsl(var(--card));color:hsl(var(--fg));cursor:pointer;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;border-radius:999px;padding:5px 11px;font-size:9px;transition:background .2s,border-color .2s,color .2s}.pu-reset:hover{background:hsl(var(--accent-strong));border-color:hsl(var(--accent-strong));color:hsl(var(--nav-pill-fg))}.pu-empty{z-index:70;text-align:center;border:1px dashed hsl(var(--border));background:hsl(var(--card) / .92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:16px;flex-direction:column;align-items:center;gap:10px;width:min(340px,80vw);padding:22px 24px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pu-empty p{margin:0}.pu-empty .mono{letter-spacing:.12em;text-transform:uppercase;color:hsl(var(--muted-fg));font-size:9px}.pu-empty .body{color:hsl(var(--fg));font-size:.95rem}.pu-detail{z-index:95;border:1px solid hsl(var(--border));background:hsl(var(--card) / .97);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);width:min(360px,32vw);max-height:calc(100% - 96px);box-shadow:0 36px 80px -36px hsl(var(--fg) / .55);border-radius:16px;padding:22px 22px 18px;animation:.32s cubic-bezier(.22,1,.36,1) both puDetailIn;position:absolute;top:50%;right:clamp(10px,1.8vw,30px);overflow:auto;transform:translateY(-50%)}@keyframes puDetailIn{0%{opacity:0;transform:translateY(-50%)translate(14px)}to{opacity:1;transform:translateY(-50%)translate(0)}}.pu-detail-close{border:1px solid hsl(var(--border));width:26px;height:26px;color:hsl(var(--fg));cursor:pointer;background:0 0;border-radius:50%;font-size:11px;line-height:1;position:absolute;top:10px;right:10px}.pu-detail-close:hover{background:hsl(var(--accent))}.pu-detail-meta{letter-spacing:.14em;text-transform:uppercase;color:hsl(var(--muted-fg));margin:0 0 6px;font-size:8px}.pu-detail h3{font-family:var(--serif);letter-spacing:-.01em;margin:0 0 4px;padding-right:26px;font-size:1.5rem;line-height:1.1}.pu-detail-tech{letter-spacing:.1em;text-transform:uppercase;color:hsl(var(--muted-fg));margin:0 0 10px;font-size:8.5px}.pu-detail-text{color:hsl(var(--fg) / .88);margin:0 0 12px;font-size:.9rem;line-height:1.55}.pu-detail-features{gap:5px;margin:0 0 14px;padding:0;list-style:none;display:grid}.pu-detail-features li{color:hsl(var(--fg) / .8);padding-left:14px;font-size:.82rem;line-height:1.35;position:relative}.pu-detail-features li:before{content:"";background:hsl(var(--gold));border-radius:50%;width:5px;height:5px;position:absolute;top:.45em;left:2px}.pu-detail-foot{border-top:1px solid hsl(var(--border) / .8);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding-top:12px;display:flex}.pu-detail-foot .mono{letter-spacing:.1em;text-transform:uppercase;color:hsl(var(--muted-fg));font-size:8px}.pu-detail-open{cursor:pointer;background:hsl(var(--accent-strong));color:hsl(var(--nav-pill-fg));font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;border:0;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:9px;transition:transform .2s,background .2s;display:inline-flex}.pu-detail-open:hover{background:hsl(var(--gold));transform:translateY(-1px)}.pu-detail-open svg{width:12px;height:12px}@media (width<=1180px){.pu-stage{inset:0 168px 46px 150px}.pu-detail{width:min(330px,36vw)}}@media (width<=900px){.pu{flex-direction:column;margin-top:1.25rem;padding:14px 14px 74px;display:flex;min-height:0!important}.pu-grain{opacity:.35}.pu-stage{order:3;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px 14px;display:grid;position:static;inset:auto;min-height:0!important}.pu-card{left:auto;top:var(--card-shift,0);position:relative;width:auto!important;transform:none!important}.pu-card.is-compact .pu-card-title,.pu-card.is-tiny .pu-card-title{-webkit-line-clamp:3;font-size:1rem}.pu-card.is-compact .pu-card-tech,.pu-card.is-tiny .pu-card-tech{font-size:7.5px}.pu-card.is-compact .pu-card-body,.pu-card.is-tiny .pu-card-body{gap:3px;padding:30px 11px 10px}.pu-card.is-compact .pu-cover-label,.pu-card.is-tiny .pu-cover-label{font-size:1.6rem}.pu-card.is-compact .pu-cover-sub,.pu-card.is-tiny .pu-cover-sub{font-size:8px}.pu-card.is-compact .pu-card-meta,.pu-card.is-tiny .pu-card-meta{padding:2px 6px;font-size:7px}.pu-card.is-dim{opacity:.55}.pu-rail{flex-flow:wrap;gap:5px;max-height:none;position:static;overflow:visible;transform:none}.pu-rail-left{order:1;margin-bottom:6px}.pu-rail-right{order:2;margin:0 0 12px;opacity:1!important;pointer-events:auto!important}.pu-rail-title{display:none}.pu-chip{border:1px solid hsl(var(--border));padding:4px 7px;font-size:11.5px}.pu-detail{z-index:400;width:auto;max-height:64vh;animation:none;position:fixed;inset:auto 12px 12px;transform:none}.pu-footer{background:0 0;border:0;flex-wrap:wrap;order:4;margin-top:12px;padding:0;position:static}.pu-hint{display:none}.pu-empty{width:auto;margin:6px 0;position:static;transform:none}}@media (width>=561px) and (width<=900px){.pu-stage{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=560px){.pu-stage{grid-template-columns:repeat(2,minmax(0,1fr))}.pu-card.is-large .pu-card-title{font-size:1.05rem}}@media (width<=380px){.pu-stage{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px}.pu-card-title{font-size:.82rem;line-height:1.15}.pu-card-body{padding:20px 8px 8px}.pu-card-meta,.pu-card-tech{font-size:6.5px}}@media (hover:none){.pu-card-body{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.pu-card,.pu-card-visual img{transition:none}.pu-card,.pu-detail{animation:none}}.pu-lede{max-width:46ch;color:hsl(var(--muted-fg));margin:.4rem 0 0;font-size:.95rem;line-height:1.6}.sec--work .pu{margin-top:1.9rem}.pu-card-visual img[data-fit=contain]{object-fit:contain;background:hsl(var(--muted));padding:6px}.pu-card-visual img[data-fit=top]{object-fit:cover;object-position:top center}.pu-card.is-compact .pu-card-body{gap:2px;padding:24px 9px 8px}.pu-card.is-compact .pu-card-meta{padding:1px 5px;font-size:6.5px}.pu-card.is-compact .pu-card-title{font-size:.88rem;line-height:1.1}.pu-card.is-compact .pu-card-tech{letter-spacing:.08em;font-size:6.8px}.pu-card.is-compact .pu-cover-label{font-size:1.22rem}.pu-card.is-compact .pu-cover-sub{font-size:7px}.pu-card.is-tiny .pu-card-body{gap:1px;padding:16px 6px 5px}.pu-card.is-tiny .pu-card-meta{letter-spacing:.08em;padding:1px 4px;font-size:5.5px}.pu-card.is-tiny .pu-card-title{-webkit-line-clamp:2;font-size:.75rem;line-height:1.06}.pu-card.is-tiny .pu-card-tech{letter-spacing:.05em;font-size:5.5px}.pu-card.is-tiny .pu-cover-label{font-size:.92rem}.pu-card.is-tiny .pu-cover-sub{letter-spacing:.1em;font-size:6px}.pu-card.is-tiny .pu-cover{gap:3px}.sec--featured{padding-top:clamp(3rem,6vw,5rem)}.fp-lede{max-width:54ch;color:hsl(var(--muted-fg));margin:.75rem 0 0;font-size:.95rem;line-height:1.65}.fp-shell{border:1px solid hsl(var(--border));background:radial-gradient(80% 120% at 18% 0%, hsl(var(--gold) / .18), transparent 56%), radial-gradient(70% 100% at 90% 90%, #51331f8c, transparent 60%), linear-gradient(145deg, #221811, #150e09);box-shadow:0 30px 70px -42px hsl(var(--fg) / .65), inset 0 1px 0 #f5ecd60d;touch-action:pan-y;-webkit-user-select:none;user-select:none;border-radius:28px;outline:none;margin-top:clamp(1.5rem,3vw,2.4rem);padding:clamp(1.25rem,2.6vw,2.2rem) clamp(1rem,2.4vw,2.2rem) 1rem;position:relative;overflow:hidden}.fp-shell:focus-visible{box-shadow:0 0 0 2px hsl(var(--accent-strong) / .55), 0 30px 70px -42px hsl(var(--fg) / .65)}.fp-shell.is-dragging{cursor:grabbing}.fp-aura{pointer-events:none;background:radial-gradient(38% 52% at 50% 48%, hsl(var(--gold) / .16), transparent 72%), repeating-linear-gradient(90deg, #ebd9ad09 0 1px, transparent 1px 92px), repeating-linear-gradient(0deg, #ebd9ad09 0 1px, transparent 1px 92px);position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 80%,#000 20%,#0000 92%);mask-image:radial-gradient(80% 80%,#000 20%,#0000 92%)}.fp-shell:after{content:"";background:linear-gradient(90deg, transparent, hsl(var(--gold) / .5), transparent);height:1px;position:absolute;bottom:0;left:12%;right:12%}.fp-stage{perspective:1800px;height:clamp(500px,37vw,552px);transform-style:preserve-3d;transition:transform .25s cubic-bezier(.22,1,.36,1);position:relative}.fp-shell.is-dragging .fp-stage{transition:none}.fp-card{cursor:pointer;text-align:left;color:#f8f3e7;width:clamp(310px,44vw,620px);height:clamp(470px,34vw,512px);transform:translate(-50%, -50%) translateX(calc(var(--offset) * 66%)) scale(calc(1 - var(--depth) * .17)) rotateY(calc(var(--offset) * -7deg));opacity:calc(1 - var(--depth) * .52);z-index:calc(8 - var(--depth));filter:saturate(.72)brightness(.68);will-change:transform, opacity;background:#281d15;border:1px solid #d5c19033;border-radius:22px;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr;padding:0;transition:transform .72s cubic-bezier(.22,1,.36,1),opacity .5s,filter .5s;display:grid;position:absolute;top:50%;left:50%;overflow:hidden;box-shadow:0 28px 60px -36px #000c}.fp-card.is-active{filter:none;border-color:hsl(var(--gold) / .5);box-shadow:0 0 0 1px hsl(var(--gold) / .16), 0 44px 90px -44px #000000e6, 0 0 60px -20px hsl(var(--gold) / .22);z-index:10}.fp-card:not(.is-active){cursor:pointer}.fp-card:not(.is-active):after{content:"";z-index:6;pointer-events:none;background:linear-gradient(calc(90deg * var(--side)), #18110bfc 0%, #18110bfc 24%, transparent 55%);position:absolute;inset:0}.fp-card.is-before:after{background:linear-gradient(270deg,#18110bfc 0% 24%,#0000 55%),linear-gradient(90deg,#18110bfc 0%,#18110b99 8%,#0000 17%)}.fp-card.is-active:hover{border-color:hsl(var(--gold) / .8);box-shadow:0 0 0 1px hsl(var(--gold) / .3), 0 48px 96px -44px #000000f2, 0 0 80px -16px hsl(var(--gold) / .3)}.fp-card-line{z-index:4;background:linear-gradient(90deg, transparent, hsl(var(--gold) / .75), transparent);height:1px;position:absolute;top:0;left:0;right:0}.fp-media{z-index:0;background:radial-gradient(70% 70% at 50% 35%,#423324,#18110c);grid-area:1/1;position:relative;inset:auto;overflow:hidden}.fp-media-link{z-index:1;border-radius:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;display:block;position:absolute;inset:0}.fp-media-link:focus-visible{outline:2px solid hsl(var(--gold));outline-offset:-3px}.fp-media img{object-fit:cover;width:100%;height:100%;transition:transform .9s cubic-bezier(.22,1,.36,1),filter .5s;display:block}.fp-card:hover .fp-media img{transform:scale(1.035)}.fp-card .fp-media-link:hover img{transform:scale(1.07)}.fp-media-fade{z-index:2;pointer-events:none;background:linear-gradient(90deg,#150e09f9 0%,#150e09f5 38%,#150e09e6 55%,#150e099e 70%,#150e092e 86%,#0000 96%),linear-gradient(#0000 42%,#150e09bd);position:absolute;inset:0}.fp-visit{z-index:3;-webkit-backdrop-filter:blur(9px);color:#faf7ef;font-family:var(--mono);letter-spacing:.11em;text-transform:uppercase;pointer-events:none;background:#18100c94;border:1px solid #f0e7d152;border-radius:999px;align-items:center;gap:.38rem;padding:.44rem .7rem;font-size:7.5px;line-height:1;transition:background .25s,border-color .25s,color .25s,translate .25s;display:inline-flex;position:absolute;bottom:13px;left:13px;box-shadow:0 10px 22px -14px #000000e6}.fp-visit svg{width:11px;height:11px}.fp-media:hover .fp-visit{background:hsl(var(--gold));border-color:hsl(var(--gold));color:#24170f;translate:0 -1px}.fp-card.is-portrait .fp-visit{left:50%;translate:-50%}.fp-card.is-portrait .fp-media:hover .fp-visit{translate:-50% -1px}.fp-copy{z-index:2;width:min(68%,390px);height:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;appearance:none;background:linear-gradient(90deg,#150e09f2 0%,#150e09ed 70%,#150e09b8 88%,#0000);border:0;flex-direction:column;align-items:flex-start;gap:.55rem;padding:clamp(1.2rem,2.3vw,2rem);display:flex;position:relative}.fp-copy:focus-visible{outline:2px solid hsl(var(--gold));outline-offset:-3px}.fp-copy>*{flex:none}.fp-kicker{color:hsl(var(--gold-soft) / .8);letter-spacing:.18em;font-size:8px}.fp-title{-webkit-line-clamp:2;font-family:var(--serif);letter-spacing:-.015em;color:#fbf7ef;-webkit-box-orient:vertical;font-size:clamp(1.5rem,2.6vw,2.3rem);line-height:1.02;display:-webkit-box;overflow:hidden}.fp-text{-webkit-line-clamp:3;color:#e9e4d8cc;-webkit-box-orient:vertical;max-width:36ch;font-size:clamp(.78rem,1.15vw,.9rem);line-height:1.55;display:-webkit-box;overflow:hidden}.fp-tech{flex-wrap:wrap;gap:.3rem;margin-top:.15rem;display:flex}.fp-tech span{color:#eee6d3c7;letter-spacing:.08em;background:#e6d7b30d;border:1px solid #dccca32e;border-radius:999px;padding:.28rem .5rem;font-size:7px;line-height:1}.fp-features{background:linear-gradient(#1e16108c,#18110ccc);border-top:1px solid #e0d5b824;grid-area:2/1/auto/-1;padding:.75rem clamp(.9rem,1.6vw,1.25rem) .9rem;display:block}.fp-feat-head{align-items:center;gap:.5rem;margin-bottom:.55rem;display:flex}.fp-feat-head .mono{color:#e7e0d08c;letter-spacing:.16em;white-space:nowrap;font-size:7px}.fp-feat-rule{background:#e0d5b821;flex:1;height:1px}.fp-feat-count{color:hsl(var(--gold-soft) / .75)}.fp-feat-list{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.4rem .95rem;display:grid}.fp-feat{color:#eae4d7bf;grid-template-columns:13px minmax(0,1fr);align-items:start;gap:.42rem;font-size:clamp(.68rem,.8vw,.73rem);line-height:1.42;display:grid}.fp-feat-icon{width:13px;height:13px;color:hsl(var(--gold-soft) / .85);margin-top:.1rem}.fp-feat-text b{color:#f9f5ec;font-weight:600}.fp-meta{border-top:1px solid #e0d5b824;align-items:center;gap:.8rem;width:100%;margin-top:auto;padding-top:.75rem;display:flex}.fp-meta>.mono{color:#e2dac58f;letter-spacing:.1em;white-space:nowrap;font-size:7.5px}.fp-open{color:hsl(var(--gold-soft));font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:.35rem;margin-left:auto;font-size:7.5px;display:inline-flex}.fp-open svg{width:11px;height:11px;transition:transform .25s}.fp-card:hover .fp-open svg{transform:translate(2px,-2px)}.fp-card.is-wide{background:linear-gradient(158deg,#32251b,#1b130d 58%,#150e0a);grid-template-columns:52% 48%}.fp-card.is-wide .fp-copy{background:0 0;grid-area:1/1;justify-content:flex-start;width:100%;padding:clamp(1.15rem,1.9vw,1.7rem)}.fp-card.is-wide .fp-title{-webkit-line-clamp:3;font-size:clamp(1.35rem,1.9vw,1.78rem);line-height:1.06}.fp-card.is-wide .fp-meta{flex-direction:column;align-items:flex-start;gap:.4rem}.fp-card.is-wide .fp-open{margin-left:0}.fp-card.is-wide .fp-media{border-left:1px solid #dccca329;grid-area:1/2;box-shadow:-26px 0 46px -30px #000000e6}.fp-card.is-wide .fp-media img{object-fit:cover;object-position:44% center}.fp-card.is-wide .fp-media-fade{background:linear-gradient(90deg,#18110be6 0%,#18110b47 7%,#0000 15%),linear-gradient(#0000 78%,#150e0a9e),linear-gradient(#150e0a80,#0000 18%)}.fp-card.is-portrait{grid-template-columns:1.08fr .92fr}.fp-card.is-portrait .fp-copy{background:linear-gradient(90deg,#19100bfa,#1c130de0);grid-area:1/1;width:100%}.fp-card.is-portrait .fp-media{background:radial-gradient(80% 70% at 50% 22%,#e6d7b31f,#0000 62%),linear-gradient(#2c231b,#1b130e);border-left:1px solid #dccca31f;grid-area:1/2;position:relative;inset:auto}.fp-card.is-portrait .fp-media img{object-fit:contain;padding:18px 12px 0}.fp-card.is-portrait .fp-media-fade{background:linear-gradient(#0000 55%,#150e098c)}.fp-controls{z-index:20;border-top:1px solid #e0d5b81f;align-items:center;gap:.8rem;margin-top:.7rem;padding-top:.8rem;display:flex;position:relative}.fp-control{color:#f6efdf;cursor:pointer;background:#f0eadb0a;border:1px solid #dccca33d;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;transition:background .2s,border-color .2s,color .2s,transform .2s;display:inline-flex}.fp-control:hover:not(:disabled){background:hsl(var(--gold));border-color:hsl(var(--gold));color:#221811;transform:translateY(-1px)}.fp-control:disabled{opacity:.28;cursor:default}.fp-count{color:#e8dfc9a6;letter-spacing:.12em;font-size:8px}.fp-dots{align-items:center;gap:.28rem;display:flex}.fp-dots span{background:#e8dfc933;border-radius:2px;width:18px;height:2px;transition:width .3s,background .3s}.fp-dots span.is-on{background:hsl(var(--gold));width:34px}.fp-hint{color:#e2dcca6b;letter-spacing:.12em;margin-left:auto;font-size:7px}@media (width<=1100px){.fp-shell{border-radius:22px;padding:1rem .7rem .7rem}.fp-stage{height:660px}.fp-card{width:min(86vw,520px);height:620px;transform:translate(-50%, -50%) translateX(calc(var(--offset) * 74%)) scale(calc(1 - var(--depth) * .14));opacity:calc(1 - var(--depth) * .48);grid-template-rows:200px minmax(0,1fr) auto;grid-template-columns:1fr}.fp-copy{width:72%;padding:1.15rem}.fp-features{grid-area:3/1}.fp-card.is-wide{grid-template-rows:200px minmax(0,1fr) auto;grid-template-columns:1fr}.fp-card.is-wide .fp-copy{background:linear-gradient(#1c130df7,#18110b);grid-area:2/1;width:100%;padding:1rem 1.15rem}.fp-card.is-wide .fp-title{-webkit-line-clamp:2;font-size:1.45rem}.fp-card.is-wide .fp-text{-webkit-line-clamp:3}.fp-card.is-wide .fp-media{box-shadow:none;border-bottom:1px solid #dccca324;border-left:0;grid-area:1/1}.fp-card.is-wide .fp-media img{object-position:50% 24%}.fp-card.is-wide .fp-media-fade{background:linear-gradient(#0000 62%,#150e0ad9)}.fp-card.is-wide .fp-meta{flex-direction:row;align-items:center;gap:.6rem}.fp-card.is-wide .fp-open{margin-left:auto}.fp-card.is-portrait{grid-template-rows:200px minmax(0,1fr) auto;grid-template-columns:1fr}.fp-card.is-portrait .fp-copy{background:linear-gradient(#19100bf5,#1c130dfa);grid-area:2/1;width:100%;padding:1rem 1.15rem}.fp-card.is-portrait .fp-media{border-bottom:1px solid #dccca31f;border-left:0;grid-area:1/1}.fp-card.is-portrait .fp-media img{object-fit:cover;object-position:50% 0%;padding:0}.fp-card.is-portrait .fp-media-fade{background:linear-gradient(#0000 48%,#150e098c 72%,#150e09eb)}.fp-title{font-size:clamp(1.45rem,5vw,2rem)}.fp-text{-webkit-line-clamp:3}.fp-hint{display:none}}@media (width<=560px){.sec--featured{padding-top:2.5rem}.fp-shell{border-radius:18px;padding:.8rem .55rem .55rem}.fp-stage{height:680px}.fp-card{border-radius:16px;grid-template-rows:170px minmax(0,1fr) auto;width:88vw;height:640px}.fp-copy{width:82%;padding:1rem}.fp-card.is-portrait{grid-template-rows:200px minmax(0,1fr) auto}.fp-card.is-wide{grid-template-rows:170px minmax(0,1fr) auto}.fp-title{font-size:1.4rem}.fp-text{-webkit-line-clamp:2;font-size:.78rem}.fp-card.is-wide .fp-text{-webkit-line-clamp:2}.fp-tech span{padding:.25rem .4rem;font-size:6.5px}.fp-features{padding:.65rem .8rem .8rem}.fp-feat{gap:.3rem;font-size:.64rem;line-height:1.4}.fp-feat-icon{width:12px;height:12px}.fp-feat-list{grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:.32rem .7rem}.fp-visit{padding:.4rem .6rem;font-size:7px;bottom:10px;left:10px}.fp-meta{flex-wrap:wrap;gap:.4rem}.fp-open{font-size:6.5px}.fp-controls{gap:.5rem}.fp-count,.fp-hint{font-size:7px}}@media (prefers-reduced-motion:reduce){.fp-card,.fp-stage,.fp-media img,.fp-open svg,.fp-dots span{transition:none}}
