@font-face{font-family:Inter;src:url('./assets/inter-latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{color-scheme:dark;--canvas:#08090a;--text:#f7f8f8;--secondary:#a4a7ae;--line:#2d2e31;--gutter:clamp(24px,4.3vw,64px)}
*{box-sizing:border-box}
html{background:var(--canvas);-webkit-text-size-adjust:100%}
body{margin:0;color:var(--text);font:400 16px/1.55 Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:2px solid var(--text);outline-offset:7px}
::selection{background:#d0d6e0;color:var(--canvas)}
.page{max-width:1720px;margin:auto;min-height:100svh;padding:0 var(--gutter);display:flex;flex-direction:column}
.header{min-height:clamp(64px,9svh,94px);display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}
.brand{display:inline-flex;gap:22px;align-items:center;font-size:26px;line-height:1.2;font-weight:500;letter-spacing:-1px;min-height:48px}
.monogram{width:46px;height:30px}
.status{display:flex;gap:10px;align-items:center;color:#bec1c7;font-size:16px;white-space:nowrap}
.status>span:first-child{width:8px;height:8px;border-radius:50%;background:#5eea9b;box-shadow:0 0 0 0 rgba(94,234,155,.6);animation:pulse 2.4s infinite}
.status-long{color:#8d9098}
.hero{position:relative;flex:1;display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:0;padding:clamp(18px,4svh,48px) 0}
.content{position:relative;z-index:1}
h1{margin:0;font-size:clamp(48px,min(7.65vw,11.5svh),112px);line-height:.99;font-weight:500;letter-spacing:-.065em}
.intro{margin-top:clamp(16px,3.5svh,36px)}
p{margin:0}
.discipline{font-size:22px;line-height:1.4;letter-spacing:-.025em;font-weight:500}
.description{margin-top:5px;font-size:17px;color:#b0b3bb;max-width:510px;line-height:1.55;text-wrap:pretty}
.contact{margin-top:clamp(18px,3.5svh,36px)}
.coming{font-size:21px;letter-spacing:-.025em;font-weight:500}
.contact-actions{display:flex;align-items:center;gap:12px 28px;margin-top:clamp(14px,2.5svh,26px);flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:12px 25px;background:var(--text);color:var(--canvas);border:1px solid var(--text);border-radius:999px;font-size:16px;letter-spacing:-.02em;font-weight:500;transition:background .2s,transform .2s}
.button svg{width:18px;height:18px;transition:transform .2s}
.button:hover{background:#d8dbe0;transform:translateY(-2px)}
.button:hover svg{transform:translate(2px,-2px)}
.email{color:#b7bbc4;font-size:16px;padding:12px 0;text-underline-offset:5px}
.email:hover{text-decoration:underline;color:var(--text)}
.eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:clamp(14px,3svh,28px);font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:#a4a7ae}
.eyebrow::before{content:"";width:30px;height:1px;background:linear-gradient(90deg,#7c83ff,transparent)}
h1 em{font-style:normal;background:linear-gradient(100deg,#fff 0%,#c9cbff 35%,#7c83ff 62%,#b48cff 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.description strong{color:var(--text);font-weight:500}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin:clamp(12px,2.4svh,22px) 0 0;padding:0;list-style:none}
.tags li{font-size:13px;color:#c8cad2;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.02)}
.art{position:absolute;right:0;top:50%;transform:translateY(-50%);width:min(50%,calc(100svh - 220px));aspect-ratio:1;pointer-events:none}
.art-static,.art-live{position:absolute;inset:0;width:100%;height:100%;display:block}
.art-static{mix-blend-mode:lighten;animation:float 14s ease-in-out infinite}
.art-live{opacity:0;transition:opacity .8s ease}
.art.is-live .art-static{opacity:0;animation:none}
.art.is-live .art-live{opacity:1}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes pulse{70%{box-shadow:0 0 0 8px rgba(94,234,155,0)}100%{box-shadow:0 0 0 0 rgba(94,234,155,0)}}
.footer{min-height:clamp(54px,8svh,86px);padding:16px 0;display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);font-size:14px;color:#b0b3bb}
.skip-link{position:fixed;top:12px;left:24px;z-index:10;background:var(--text);color:var(--canvas);padding:10px 16px;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
@media(max-height:820px){.tags{display:none}}
@media(max-width:1100px){.contact-actions{gap:8px 14px}.discipline{font-size:19px}.description{font-size:16px;max-width:390px}.email{font-size:14px}}
@media(max-width:760px){.header{min-height:64px}.brand{font-size:21px;gap:13px}.monogram{width:35px;height:25px}.status{font-size:13px;gap:7px}.status>span{width:6px;height:6px}.hero{display:flex;flex-direction:column;justify-content:center;align-items:stretch;padding:16px 0;gap:8px}h1{font-size:clamp(40px,min(12.7vw,7.6svh),90px);letter-spacing:-.06em}.intro{margin-top:clamp(12px,2.5svh,24px)}.discipline{font-size:19px}.description{font-size:15px;max-width:410px}.contact{margin-top:clamp(16px,3svh,24px)}.coming{font-size:18px}.contact-actions{margin-top:14px;gap:0 22px}.button{min-height:46px;padding:10px 22px}.email{font-size:15px;min-height:44px}.art{position:relative;right:auto;top:auto;transform:none;width:min(100%,max(0px,calc(100svh - 700px)),280px);margin:0 auto;order:-1}.tags,.status-long{display:none}.eyebrow{font-size:11px;margin-bottom:12px}.footer{min-height:60px;padding:10px 0;font-size:12px;align-items:flex-start;flex-direction:column;justify-content:center;gap:2px}}
@media(max-width:760px) and (max-height:700px){.header{min-height:56px}.hero{padding:8px 0}.art{display:none}h1{font-size:clamp(40px,min(12.7vw,7svh),58px)}.intro{margin-top:10px}.discipline{font-size:17px;line-height:1.4}.description{font-size:14px;line-height:1.4}.contact{margin-top:14px}.coming{font-size:17px;line-height:1.4}.contact-actions{margin-top:8px}.button{min-height:44px}.footer{min-height:52px}}
@media(max-width:360px){.brand{font-size:18px;gap:10px}.status{font-size:12px}.discipline{font-size:17px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
