/* ISP art direction pass: restrained, editorial, photography-first. */
:root{--bg:#0b0c0f;--panel:#121419;--ink:#f3f2ef;--muted:#b0b2b8;--line:#30323a;--red:#d91f30;--blue:#3159c9;--max:1180px}
html{scroll-behavior:smooth}
body{background:var(--bg);line-height:1.62;-webkit-font-smoothing:antialiased}
.topline{height:3px;background:var(--red)}
header{background:rgba(11,12,15,.97);backdrop-filter:none;border-bottom-color:#ffffff18}
.nav{min-height:80px}
.brand img{filter:none;drop-shadow:none}
.links{letter-spacing:.055em}
.btn{letter-spacing:.055em;transition:background .16s,border-color .16s,color .16s;box-shadow:none}
.btn:hover{transform:none;background:#b91d2b;border-color:#b91d2b}
.btn:after{display:none}
.btn.ghost{border-color:#555963}
.btn.ghost:hover{background:#fff;color:#101115;border-color:#fff}
.home-hero{background:#0b0c0f}
.home-copy{padding-top:clamp(70px,9vw,128px);padding-bottom:clamp(70px,9vw,128px)}
.home-copy h1{font-weight:820;letter-spacing:-.065em;line-height:.91}
.home-copy h1 span{color:var(--red)}
.home-copy p{max-width:430px;line-height:1.75;color:#c2c3c7}
.home-art{background:#111318;min-height:500px}
.home-art:before{background:none!important}
.home-logo img{filter:none!important}
.home-art-index,.home-art-caption{letter-spacing:.11em;color:#c3c4c8}
.home-art-caption{border-top-color:#ffffff32}
.page-kicker{letter-spacing:.13em;color:#e64a56}
.section{padding:clamp(64px,8vw,100px) 0}
.section.band,.band{background:#101115;border-top:1px solid #ffffff16;border-bottom:1px solid #ffffff16}
.section-head{margin-bottom:34px}
.section-head h2,.home-intro h2,.plain-copy h2,.booking-intro h2{letter-spacing:-.045em;font-weight:760}
.program,.home-rail>a{background:#13151a;border-top:2px solid var(--red);box-shadow:none}
.program:nth-child(2){border-top-color:#6a7181}
.program:before,.program:after{display:none!important}
.program:hover{background:#181a20}
.program h3{letter-spacing:-.035em}
.home-rail{border-top:1px solid #454750}
.home-rail>a{background:transparent;border-top:0;border-bottom:1px solid #454750;padding:24px 16px 24px 0;transition:padding .18s,color .18s}
.home-rail>a:hover{padding-left:8px;background:transparent}
.home-rail>a strong{font-weight:720;letter-spacing:-.035em}
.isp-diff svg{background:#0c0d10;border:1px solid #353740}
.isp-words{gap:0;border-top:1px solid #41434b}
.isp-words li{border:0;border-bottom:1px solid #41434b;padding:10px 12px 10px 0;margin-right:18px;font-weight:600}
.isp-card,.isp-camp-card{background:#13151a;box-shadow:none}
.isp-card{border-top-width:2px;padding:24px}
.isp-tag{letter-spacing:.1em}
.isp-gal{gap:7px}
.isp-gal button{background:#13151a}
.isp-gal img{transition:filter .2s}
.isp-gal button:hover img{transform:none;filter:brightness(1.06)}
.isp-next,.isp-done,.booking-pay,.side-note{background:#13151a;box-shadow:none}
.side-note:after{display:none!important}
.form-panel{background:#111318;border:1px solid #383a42;box-shadow:none;padding:clamp(20px,3vw,32px)}
.field input,.field select,.field textarea{background:#0b0c0f;border-color:#454750;border-radius:0}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#e64a56;box-shadow:0 0 0 1px #e64a5633}
.field label{letter-spacing:.075em}
.notice{background:#14161b}
.facts{border-color:#41434b}
.fact{border-color:#41434b}
.fact small{color:#e64a56}
.gallery-note{padding:24px 0}
.gallery-mark,.founder-mark{border-radius:0;background:#121419;box-shadow:none}
.gallery-mark:before,.gallery-mark:after{display:none!important}
.hero-media{background:#111318;border-left-color:#353740}
.hero-media:before,.hero-media:after{background:none!important;display:none!important}
.hero-wordmark{text-shadow:none}
.hero-seal{border-radius:0;background:#0b0c0f;box-shadow:none;transform:none}
.hero-seal img{transform:none}
.hero-caption,.hero-index{letter-spacing:.1em}
.training-track,.program-row{box-shadow:none}
footer{background:#090a0c}
.foot-bottom{border-top-color:#ffffff20}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #f16b74;outline-offset:3px}
@media(max-width:900px){.home-art{min-height:420px}.section{padding:68px 0}}
@media(max-width:650px){.home-copy{padding:62px 16px 54px}.home-art{min-height:360px}.home-logo{inset:15% 8% 22%}.home-art-index,.home-art-caption{font-size:8px;letter-spacing:.08em}.section{padding:58px 0}.form-panel{padding:19px}.home-rail>a{padding:20px 0}.isp-gal{gap:6px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
