@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Outfit:wght@400;500;600;700&display=swap');

:root{--bg:#10151e;--panel:#18212d;--ink:#f2f4f7;--muted:#aab6c7;--line:rgba(220,229,240,.16);--accent:#4169b2;--display:"Outfit",Arial,sans-serif;--mono:"IBM Plex Mono","Courier New",monospace}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--display);overflow-x:hidden}
a{color:inherit}
.site-header{position:absolute;z-index:10;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:1.1rem clamp(1.1rem,4.4vw,4.5rem);border-bottom:1px solid rgba(220,229,240,.11)}
.brand{display:inline-flex;align-items:center;gap:.7rem;color:var(--ink);text-decoration:none;font-size:.84rem;font-weight:500;letter-spacing:.16em;white-space:nowrap}
.brand img{display:block;object-fit:contain}.brand b{color:#9eafd0}
.site-header nav{display:flex;align-items:center;gap:clamp(1rem,2.5vw,2.4rem);font: .72rem var(--mono);letter-spacing:.04em}
.site-header nav a{text-decoration:none;color:#d6deea;transition:color .2s}
.site-header nav a:hover{color:white}
.nav-cta{display:inline-flex;align-items:center;gap:1rem;padding:.8rem 1rem;border:1px solid rgba(220,229,240,.38);clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%)}
.nav-cta span{color:#9eb6e8;font-size:1rem}
.hero{position:relative;isolation:isolate;min-height:100svh;display:flex;align-items:center;padding:8rem clamp(1.25rem,8vw,8rem) 6rem;overflow:hidden;background:#10151e}
.hero-art,.hero-glow,.hero-grain{position:absolute;inset:0;z-index:-2}
.hero-art{overflow:hidden}
.hero-glow{inset:-10%;background:radial-gradient(ellipse at 67% 40%,rgba(65,105,178,.3),transparent 55%);animation:glow-drift 12s ease-in-out infinite alternate}
.chair-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.95;transform:scale(1.025);animation:camera-push 18s cubic-bezier(.2,.7,.2,1) infinite alternate}
.hero-grain{background:linear-gradient(90deg,rgba(16,21,30,.94) 0%,rgba(16,21,30,.78) 32%,rgba(16,21,30,.08) 76%),linear-gradient(0deg,rgba(16,21,30,.55),transparent 38%);z-index:0;pointer-events:none}
.hero-copy{position:relative;z-index:1;width:min(45rem,58vw);animation:rise-in .9s both}
.eyebrow{margin:0 0 1.5rem;color:#91aee2;font:500 .7rem var(--mono);letter-spacing:.17em;text-transform:uppercase}
h1,h2,h3,p{margin-top:0}
.hero h1{max-width:9ch;margin:0;font-size:clamp(3.7rem,8.6vw,8.6rem);line-height:.86;letter-spacing:-.065em;font-weight:600}
h1 em,h2 em{font-style:normal;color:#9eafd0}
.hero-intro{max-width:34rem;margin:1.7rem 0 0;color:#c4cfdd;font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.6}
.ticket-link{display:inline-flex;align-items:center;justify-content:space-between;gap:2.5rem;min-width:12rem;margin-top:2rem;padding:1rem 1.15rem;background:var(--accent);color:white;text-decoration:none;font:.75rem var(--mono);clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%);transition:transform .2s,background .2s}
.ticket-link span{font-size:1rem}.ticket-link:hover{transform:translateY(-3px);background:#527cc7}
.hero-rail{position:absolute;z-index:2;right:2rem;bottom:3rem;display:flex;align-items:center;gap:.8rem;color:rgba(242,244,247,.65);font:.6rem var(--mono);letter-spacing:.18em;writing-mode:vertical-rl}
.hero-rail i{display:block;height:3.2rem;width:1px;background:var(--accent)}
.hero-bottom{position:absolute;left:clamp(1.25rem,8vw,8rem);right:clamp(1.25rem,8vw,8rem);bottom:1.7rem;display:flex;justify-content:space-between;color:#9aa9bc;font:.6rem var(--mono);letter-spacing:.14em}
.section{padding:clamp(5rem,10vw,10rem) clamp(1.25rem,8vw,8rem)}
.services{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr);gap:clamp(3rem,9vw,10rem);border-top:1px solid var(--line)}
.section-intro{align-self:start;position:sticky;top:7rem}
.section h2{margin:0;font-size:clamp(3rem,6.4vw,6.5rem);line-height:.9;letter-spacing:-.06em;font-weight:600}
.section-intro>p:last-child{max-width:27rem;margin:1.8rem 0 0;color:var(--muted);font-size:1.05rem;line-height:1.7}
.service-list{border-top:1px solid var(--line)}
.service-row{display:grid;grid-template-columns:2.8rem minmax(0,1fr) 2rem;align-items:start;gap:1rem;padding:1.75rem 0;border-bottom:1px solid var(--line)}
.service-number{padding-top:.4rem;color:#8fa0b6;font:.7rem var(--mono)}
.service-row h3{margin:0;font-size:clamp(1.45rem,2.4vw,2.1rem);letter-spacing:-.04em;font-weight:500}
.service-row p{max-width:34rem;margin:.65rem 0 0;color:var(--muted);line-height:1.65}
.service-arrow{color:#91aee2;font-size:1.4rem;transition:transform .2s}
.service-row:hover .service-arrow{transform:translate(3px,-3px)}
.approach{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);align-items:center;gap:clamp(3rem,8vw,9rem);background:#151d28}
.approach-art{position:relative;min-height:29rem;overflow:hidden;border:1px solid var(--line);background:#141c27}
.approach-art img{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;transition:transform .8s}
.approach-art:hover img{transform:scale(1.045)}
.art-stamp{position:absolute;right:1rem;bottom:1rem;padding:.7rem .9rem;border:1px solid rgba(242,244,247,.4);background:rgba(16,21,30,.72);font:.65rem var(--mono);letter-spacing:.12em}
.approach-copy>p:not(.eyebrow){max-width:32rem;margin:1.8rem 0 0;color:var(--muted);line-height:1.8}
.text-link{display:inline-flex;gap:2.5rem;align-items:center;margin-top:2rem;padding-bottom:.7rem;border-bottom:1px solid #91aee2;color:var(--ink);font:.78rem var(--mono);text-decoration:none}
.text-link span{color:#91aee2;transition:transform .2s}.text-link:hover span{transform:translate(3px,-3px)}
.booking{position:relative;isolation:isolate;overflow:hidden;background:var(--accent)}
.booking:after{position:absolute;z-index:-1;right:-4rem;bottom:-12rem;width:min(58vw,48rem);aspect-ratio:1;border:1px solid rgba(255,255,255,.15);border-radius:50%;box-shadow:0 0 0 4rem rgba(255,255,255,.035),0 0 0 8rem rgba(255,255,255,.025);content:""}
.booking-top{display:flex;justify-content:space-between;align-items:start;gap:2rem}.booking-top .eyebrow{color:#dbe5f6}
.booking-top>span{font:.65rem var(--mono);letter-spacing:.1em;color:#dbe5f6}
.booking h2{max-width:9ch;font-size:clamp(4rem,9vw,9rem)}.booking h2 em{color:#dbe5f6}
.booking>p:not(.eyebrow){max-width:32rem;margin:1.7rem 0 0;line-height:1.7;color:#e2e8f2}
.booking-link{display:inline-flex;align-items:center;justify-content:space-between;gap:3rem;min-width:16rem;margin-top:2.2rem;padding:1.1rem 1.2rem;background:var(--ink);color:var(--bg);font:.75rem var(--mono);text-decoration:none;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%);transition:transform .2s}
.booking-link:hover{transform:translateY(-3px)}
.site-footer{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:1.5rem;padding:2.2rem clamp(1.25rem,4.4vw,4.5rem);border-top:1px solid var(--line)}
.site-footer>p{color:var(--muted);font-size:.9rem}.back-top{color:#d7e0ed;font:.7rem var(--mono);text-decoration:none}
.site-footer small{grid-column:1/-1;padding-top:1.2rem;border-top:1px solid var(--line);color:#8997a9;font:.65rem var(--mono)}
@keyframes camera-push{from{transform:scale(1.025) translate3d(0,0,0)}to{transform:scale(1.12) translate3d(-1.4%,-.7%,0)}}
@keyframes glow-drift{from{transform:translate3d(-1%,0,0) scale(1)}to{transform:translate3d(2%,1%,0) scale(1.08)}}
@keyframes rise-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:860px){
 .site-header{padding:.8rem 1rem}.brand{gap:.45rem;font-size:.68rem;letter-spacing:.1em}.brand img{width:30px;height:30px}
 .site-header nav{gap:.85rem;font-size:.61rem}.site-header nav a:nth-child(2){display:none}.nav-cta{gap:.45rem;padding:.65rem .7rem}
 .hero{min-height:94svh;padding:7.5rem 1.35rem 5.2rem}.hero-copy{width:min(32rem,88vw)}.hero h1{max-width:8ch;font-size:clamp(3.5rem,16vw,6rem)}
 .chair-art{object-position:58% center;object-fit:cover;transform:scale(1.18);animation-duration:22s}
 .hero-grain{background:linear-gradient(90deg,rgba(16,21,30,.92),rgba(16,21,30,.68) 48%,rgba(16,21,30,.24)),linear-gradient(0deg,rgba(16,21,30,.55),transparent 45%)}
 .hero-rail{display:none}.hero-bottom{left:1.35rem;right:1.35rem;font-size:.52rem}
 .services,.approach{grid-template-columns:1fr;gap:3rem}.section-intro{position:static}.section{padding:5rem 1.35rem}
 .section h2{font-size:clamp(3.3rem,14vw,5.4rem)}.approach-art{min-height:21rem}.booking-top>span{font-size:.55rem;text-align:right}.booking h2{font-size:clamp(4rem,18vw,6.6rem)}
 .site-footer{grid-template-columns:1fr auto;gap:.7rem;padding:1.6rem 1.25rem}.site-footer>p{grid-column:1/-1;margin:0}.site-footer small{margin-top:.7rem}
}
@media(max-width:420px){.site-header nav{gap:.5rem}.nav-cta{font-size:.57rem}.service-row{grid-template-columns:1.7rem minmax(0,1fr) 1.2rem;gap:.7rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
