/* =========================================================================
   TFIS — neutral reference system (Shield AI / Palantir restraint,
   Linear greys + grid, Raycast light used only as subtle neutral depth).
   Colour rule: black / white / grey. Gold = primary CTA button only.
   ========================================================================= */
:root{
  --bg:#08090a; --bg-2:#0c0d0e; --panel:#0f1011;
  --line:rgba(255,255,255,.08); --line-2:rgba(255,255,255,.12); --line-3:rgba(255,255,255,.16);
  --t1:#f7f8f8; --t2:#d0d6e0; --t3:#8a8f98; --t4:#8a8f98;
  --gold:#ddb656; --gold-hi:#e8c56c;
  --surface:rgba(255,255,255,.03); --surface-2:rgba(255,255,255,.05);
  --r-s:6px; --r:11px;
  --sans:"Inter Tight",Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --wrap:1240px; --gut:clamp(20px,4vw,40px);
  --ease:cubic-bezier(.2,.7,.2,1);
  --text-2:var(--t2);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--bg);color:var(--t2);font-family:var(--sans);font-size:16px;line-height:1.6;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden}
img,video,svg,canvas{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{margin:0;color:var(--t1);font-weight:500;letter-spacing:-.02em;line-height:1.1}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
address{font-style:normal}
button,input,select,textarea{font:inherit;color:inherit}
::selection{background:rgba(255,255,255,.18);color:#fff}
:focus-visible{outline:1px solid var(--t1);outline-offset:3px;border-radius:2px}
.wrap{width:100%;max-width:calc(var(--wrap) + var(--gut)*2);margin:0 auto;padding:0 var(--gut)}
.skip{position:absolute;left:12px;top:-60px;z-index:200;background:var(--t1);color:#000;padding:10px 14px;border-radius:var(--r-s)}
.skip:focus{top:12px}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.mono{font-family:var(--mono);letter-spacing:0}
.muted,.muted-line{color:var(--t3)}
.fx-grain{position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ---------- type primitives ---------- */
.kicker{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12px;line-height:1.4;letter-spacing:.12em;text-transform:uppercase;color:var(--t3);margin-bottom:22px}
.kicker b{font-weight:400;color:var(--t4)}
.mono-label{display:block;font-family:var(--mono);font-size:11px;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--t3);margin:0 0 12px}
.h2{font-size:clamp(32px,4.4vw,52px);font-weight:500;line-height:1.06;letter-spacing:-.024em}
.lead{font-size:clamp(16px,1.35vw,18px);line-height:1.6;color:var(--t3);max-width:60ch}
.lead strong{color:var(--t1);font-weight:500}
.link-arrow{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--t1);border-bottom:1px solid var(--line-3);padding-bottom:3px;transition:border-color .2s}
.link-arrow::after{content:"→";color:var(--t3);transition:transform .25s var(--ease)}
.link-arrow:hover{border-color:var(--t1)}
.link-arrow:hover::after{transform:translateX(3px)}
.caption{margin-top:14px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--t4)}

/* ---------- buttons ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 18px;border-radius:var(--r-s);
  font-size:14px;font-weight:500;letter-spacing:-.005em;white-space:nowrap;border:1px solid transparent;cursor:pointer;
  transition:background-color .2s,border-color .2s,color .2s,transform .2s var(--ease)}
.btn--lg{height:50px;padding:0 24px;font-size:15px}
.btn--sm{height:34px;padding:0 14px;font-size:13px}
.btn--gold{background:var(--gold);color:#0a0a0a;box-shadow:inset 0 1px 0 rgba(255,255,255,.35)}
.btn--gold:hover{background:var(--gold-hi)}
.btn--ghost,.btn--red{background:transparent;color:var(--t1);border-color:var(--line-3)}
.btn--ghost:hover,.btn--red:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.28)}
/* Shield AI ghost button with corner brackets */
.btn--bracket{background:rgba(8,9,10,.25);color:var(--t1);border-radius:0;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;
  --c:rgba(255,255,255,.7);
  background-image:linear-gradient(var(--c),var(--c)),linear-gradient(var(--c),var(--c)),linear-gradient(var(--c),var(--c)),linear-gradient(var(--c),var(--c)),
    linear-gradient(var(--c),var(--c)),linear-gradient(var(--c),var(--c)),linear-gradient(var(--c),var(--c)),linear-gradient(var(--c),var(--c));
  background-repeat:no-repeat;
  background-size:10px 1px,1px 10px,10px 1px,1px 10px,10px 1px,1px 10px,10px 1px,1px 10px;
  background-position:0 0,0 0,100% 0,100% 0,0 100%,0 100%,100% 100%,100% 100%;
  border:1px solid rgba(255,255,255,.1)}
.btn--bracket:hover{background-color:rgba(255,255,255,.06);--c:#fff}

/* ---------- reveal ---------- */
.js [data-reveal]{opacity:0;transform:translateY(14px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--d,0s)}
.js [data-reveal].in{opacity:1;transform:none}
.js [data-rise]{opacity:0;transform:translateY(16px)}
.js.is-ready [data-rise]{opacity:1;transform:none;transition:opacity 1s var(--ease),transform 1s var(--ease);transition-delay:var(--d,0s)}
@media (prefers-reduced-motion:reduce){.js [data-reveal],.js [data-rise]{opacity:1!important;transform:none!important;transition:none!important}html{scroll-behavior:auto}}

/* ---------- header: Raycast floating bar + mono nav ---------- */
.site-header{position:fixed;top:0;left:0;right:0;z-index:100;padding:12px var(--gut) 0;transition:padding .3s var(--ease)}
.nav-bar{max-width:var(--wrap);margin:0 auto;height:56px;display:flex;align-items:center;gap:24px;padding:0 10px 0 16px;border-radius:12px;
  border:1px solid transparent;transition:background-color .3s,border-color .3s,box-shadow .3s}
.site-header.is-scrolled .nav-bar,.site-header.is-open .nav-bar{background:rgba(12,13,14,.78);border-color:rgba(255,255,255,.1);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 10px 30px -10px rgba(0,0,0,.6);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%)}
.brand{display:flex;align-items:center;gap:10px;flex:none}
.brand__mark{width:21px;height:26px;opacity:.92}
.brand__text{font-size:15px;font-weight:600;letter-spacing:.16em;color:var(--t1)}
.nav{flex:1;display:flex;justify-content:center}
.nav__list{display:flex;align-items:center;gap:2px}
.nav__list a{display:block;padding:8px 12px;font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--t3);border-radius:6px;transition:color .2s,background-color .2s}
.nav__list a:hover{color:var(--t1)}
.nav__list a[aria-current="page"]{color:var(--t1)}
.nav__minor{margin-left:10px;padding-left:10px;border-left:1px solid var(--line)}
.nav__mobile-only{display:none}
.nav-actions{display:flex;align-items:center;gap:14px;flex:none}
.nav-phone{font-family:var(--mono);font-size:12px;color:var(--t3);letter-spacing:.02em}
.nav-phone:hover{color:var(--t1)}
.menu-btn{display:none;width:40px;height:40px;border:1px solid var(--line-2);border-radius:8px;background:transparent;cursor:pointer;position:relative}
.menu-btn i{position:absolute;left:12px;right:12px;height:1px;background:var(--t1);transition:transform .3s var(--ease),top .3s var(--ease)}
.menu-btn i:first-of-type{top:16px}.menu-btn i:last-of-type{top:23px}
.is-open .menu-btn i:first-of-type{top:19.5px;transform:rotate(45deg)}
.is-open .menu-btn i:last-of-type{top:19.5px;transform:rotate(-45deg)}
@media (max-width:1180px){.hide-md{display:none!important}}
@media (max-width:960px){
  .menu-btn{display:block}
  .nav{position:fixed;left:var(--gut);right:var(--gut);top:76px;display:block;visibility:hidden;opacity:0;transform:translateY(-6px);
    transition:opacity .25s,transform .25s var(--ease),visibility 0s .25s;background:#0b0c0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:10px;box-shadow:0 20px 50px -12px rgba(0,0,0,.75);
    max-height:calc(100svh - 96px);overflow:auto;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
  .is-open .nav{visibility:visible;opacity:1;transform:none;transition:opacity .25s,transform .25s var(--ease)}
  .nav__list{flex-direction:column;align-items:stretch;gap:0}
  .nav__list a{font-size:13px;padding:14px 12px;border-bottom:1px solid var(--line);border-radius:0}
  .nav__minor{margin:0;padding:0;border:0}
  .nav__mobile-only{display:block}
  .nav__mobile-cta{display:grid;gap:10px;padding:14px 2px 4px}
  .nav__mobile-cta a.btn{display:flex!important;align-items:center;justify-content:center;width:100%;height:48px;border-bottom:1px solid transparent;font-family:var(--sans);font-size:15px;letter-spacing:0;text-transform:none;padding:0 20px;border-radius:var(--r-s);line-height:1}
  .nav__mobile-cta a.btn--ghost{border-color:var(--line-3);color:var(--t1)}
  .nav__mobile-cta a.btn--gold{color:#0a0a0a}
}
@media (max-width:560px){.hide-sm{display:none!important}}

/* ---------- atmosphere field ---------- */
.field{position:absolute;inset:0;z-index:0;overflow:hidden;background:radial-gradient(120% 80% at 50% -10%,rgba(255,255,255,.06),transparent 60%),var(--bg)}
.field canvas{width:100%;height:100%}

/* ---------- home hero ---------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;isolation:isolate;padding:120px 0 96px}
.hero::after{content:"";position:absolute;inset:auto 0 0;height:160px;background:linear-gradient(to bottom,transparent,var(--bg));z-index:1;pointer-events:none}
.hero__inner{position:relative;z-index:2;text-align:center;display:flex;flex-direction:column;align-items:center}
.hero__eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--t3);margin-bottom:34px}
.hero__title{font-size:clamp(52px,9.4vw,128px);font-weight:400;line-height:.98;letter-spacing:-.045em;color:var(--t1)}
.hero__title span{display:block}
.hero__title .l2{color:var(--t3)}
.hero__lead{margin-top:34px;max-width:620px;font-size:clamp(17px,1.5vw,20px);line-height:1.55;color:var(--t2)}
.hero__ctas{margin-top:40px;display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.hero__micro{margin-top:22px;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;font-size:12px;color:var(--t4)}
.hero__micro a{color:var(--t3);transition:color .2s}
.hero__micro a:hover{color:var(--t1)}
.hero__micro .sep{color:var(--t4)}
.status{display:inline-flex;align-items:center;gap:8px}
.status .dot{width:6px;height:6px;border-radius:50%;background:var(--t4)}
.status.is-open-now .dot{background:var(--t1);box-shadow:0 0 0 3px rgba(255,255,255,.08)}
.rec{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.1em}
.rec::before{content:"";width:6px;height:6px;border-radius:50%;background:#e5484d;animation:rec 1.6s steps(1) infinite}
@keyframes rec{50%{opacity:.25}}
@media (prefers-reduced-motion:reduce){.rec::before{animation:none}}

/* ---------- sections ---------- */
.section{padding:clamp(88px,10vw,128px) 0;position:relative}
.section--tight{padding:clamp(48px,6vw,72px) 0;position:relative}
.section--flush-top{padding-top:0}
.section-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px 64px;align-items:end;margin-bottom:56px}
.section-head .lead{justify-self:end}
.section-head > .link-arrow{justify-self:end}
.section-head--stack{grid-template-columns:1fr}
@media (max-width:860px){.section-head{grid-template-columns:1fr;gap:20px}.section-head .lead,.section-head > .link-arrow{justify-self:start}}

/* statement (Linear two-tone) */
.statement{padding-bottom:clamp(64px,8vw,104px)}
.statement__text{font-size:clamp(26px,3.3vw,42px);line-height:1.22;letter-spacing:-.022em;color:var(--t1);max-width:30ch;font-weight:500}

/* services (Palantir typographic list) */
.svc-list{border-top:1px solid var(--line-2);counter-reset:s}
.svc-list li{border-bottom:1px solid var(--line-2)}
.svc-list a{display:grid;grid-template-columns:56px minmax(0,1.25fr) minmax(0,1fr) 160px 24px;align-items:center;gap:24px;padding:34px 0;transition:background-color .3s}
.svc-list__idx{font-family:var(--mono);font-size:12px;color:var(--t4);letter-spacing:.08em}
.svc-list__name{font-size:clamp(30px,3.8vw,52px);font-weight:400;letter-spacing:-.03em;line-height:1.02;color:var(--t1);transition:transform .4s var(--ease)}
.svc-list__desc{font-size:14.5px;line-height:1.55;color:var(--t3)}
.svc-list__price{font-family:var(--mono);font-size:12px;color:var(--t4);letter-spacing:.04em;text-align:right}
.svc-list__arr{color:var(--t4);transition:transform .3s var(--ease),color .3s}
.svc-list a:hover .svc-list__name{transform:translateX(8px)}
.svc-list a:hover .svc-list__arr{color:var(--t1);transform:translateX(4px)}
.svc-list a:hover .svc-list__price{color:var(--t3)}
@media (max-width:960px){
  .svc-list a{grid-template-columns:40px 1fr 20px;gap:8px 16px;padding:26px 0}
  .svc-list__desc{grid-column:2/3}
  .svc-list__price{grid-column:2/3;text-align:left}
  .svc-list__arr{grid-row:1;grid-column:3}
}

/* image band (Shield AI full-bleed) */
.band{position:relative;min-height:clamp(520px,78vh,820px);display:flex;align-items:center;overflow:hidden;isolation:isolate}
.band__media{position:absolute;inset:0;z-index:-1}
.band__media img{width:100%;height:100%;object-fit:cover;object-position:50% 60%}
.band::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(to bottom,var(--bg) 0%,rgba(8,9,10,.25) 22%,rgba(8,9,10,.15) 55%,rgba(8,9,10,.6) 82%,var(--bg) 100%),
             radial-gradient(70% 60% at 50% 50%,rgba(8,9,10,.45),transparent 70%)}
.band__inner{position:relative;z-index:1;text-align:center;display:flex;flex-direction:column;align-items:center}
.band__inner .kicker{justify-content:center}
.band__title{font-size:clamp(44px,7.4vw,104px);font-weight:400;letter-spacing:-.04em;line-height:1}
.band__lead{margin-top:24px;max-width:46ch;color:var(--t2);font-size:clamp(15px,1.3vw,18px)}
.band__credit{position:absolute;right:var(--gut);bottom:22px;z-index:1;font-size:10.5px;letter-spacing:.06em;color:var(--t4)}

/* standard (Linear 1px grid) */
.std-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.std{background:var(--bg);padding:32px 30px 36px;min-height:210px}
.std__n{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--t4);margin-bottom:44px}
.std h3{font-size:18px;letter-spacing:-.012em;margin-bottom:10px}
.std p{font-size:14.5px;line-height:1.6;color:var(--t3)}
@media (max-width:900px){.std-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.std-grid{grid-template-columns:1fr}.std{min-height:0}.std__n{margin-bottom:22px}}

/* surfaces (Raycast) */
.glass{position:relative;background:var(--surface);border:1px solid rgba(255,255,255,.07);border-radius:var(--r);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.glass:not(.glass--static)::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .4s;
  background:radial-gradient(360px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.045),transparent 60%)}
.glass:not(.glass--static):hover::before{opacity:1}
.card-pad{padding:28px 28px 30px}
.card-pad h3,.royal h3{font-size:18px;letter-spacing:-.012em;margin:4px 0 10px}
.card-pad p,.royal p{font-size:14.5px;line-height:1.6;color:var(--t3)}
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width:900px){.cards-3{grid-template-columns:1fr}}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.step{padding:26px 24px 30px}
.step__n{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--t4);margin-bottom:36px}
.step h3{font-size:18px;letter-spacing:-.012em;margin-bottom:10px}
.step p{font-size:14.5px;line-height:1.6;color:var(--t3)}
@media (max-width:980px){.steps{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.steps{grid-template-columns:1fr}.step__n{margin-bottom:18px}}
.royal{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.royal > div{padding:28px}
.sub{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--t4);margin-bottom:22px}
@media (max-width:900px){.royal{grid-template-columns:1fr}}
.chip{display:inline-flex;font-family:var(--mono);font-size:11px;color:var(--t3);border:1px solid var(--line);border-radius:4px;padding:3px 8px}

/* facility (Shield AI full-bleed real footage) */
.facility{position:relative;min-height:clamp(560px,88vh,900px);display:flex;align-items:center;overflow:hidden;isolation:isolate;margin-top:clamp(40px,6vw,80px)}
.facility__media{position:absolute;inset:0;z-index:-1;background:#000}
.facility__media img,.facility__media video,.cinema-bg img,.cinema-bg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.12) brightness(.82)}
.facility__media video,.cinema-bg video{opacity:0;transition:opacity 1.2s}
.facility__media.is-playing video,.cinema-bg.is-playing video{opacity:1}
.facility::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(to bottom,var(--bg) 0%,rgba(8,9,10,.35) 20%,rgba(8,9,10,.35) 70%,var(--bg) 100%),radial-gradient(60% 55% at 50% 50%,rgba(8,9,10,.55),transparent 75%)}
.facility__inner{position:relative;z-index:1;text-align:center;display:flex;flex-direction:column;align-items:center}
.facility__inner .kicker{justify-content:center}
.facility__title{font-size:clamp(44px,7.4vw,104px);font-weight:400;letter-spacing:-.04em;line-height:1}
.facility__lead{margin:24px 0 36px;max-width:52ch;color:var(--t2);font-size:clamp(15px,1.3vw,18px)}
.facility__tag{position:absolute;left:var(--gut);bottom:24px;z-index:1;font-size:10.5px;letter-spacing:.06em;color:var(--t4);display:flex;gap:14px;align-items:center}
.facility .cinema__toggle{right:var(--gut);bottom:18px;top:auto}

/* cinema (inline video panels) */
.cinema{position:relative;overflow:hidden;border-radius:var(--r);border:1px solid var(--line);background:#000;aspect-ratio:16/9}
.cinema--wide{aspect-ratio:12/5}
.cinema video,.cinema .cinema__poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.1) brightness(.9)}
.cinema video{opacity:0;transition:opacity 1s}
.cinema.is-playing video{opacity:1}
.cinema__hud{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:16px 18px;pointer-events:none;
  font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.7);
  background:linear-gradient(to bottom,rgba(0,0,0,.45),transparent 30%,transparent 70%,rgba(0,0,0,.5))}
.cinema__hud-top,.cinema__hud-bot{display:flex;justify-content:space-between;gap:16px}
.cinema__toggle{position:absolute;right:14px;bottom:14px;z-index:3;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;cursor:pointer;
  background:rgba(8,9,10,.55);border:1px solid rgba(255,255,255,.18);color:var(--t1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.cinema__toggle svg{width:12px;height:12px}
.cinema__toggle .i-play{display:none}
.is-paused .cinema__toggle .i-play,.no-video .cinema__toggle .i-play{display:block}
.is-paused .cinema__toggle .i-pause,.no-video .cinema__toggle .i-pause{display:none}
.no-video .cinema__toggle{display:none}

/* founder (Palantir stark type) */
.founder{display:grid;grid-template-columns:minmax(0,.32fr) minmax(0,1fr);gap:40px 64px;border-top:1px solid var(--line-2);padding-top:40px}
.founder__title{font-size:clamp(32px,4.2vw,56px);font-weight:400;line-height:1.08;letter-spacing:-.03em;max-width:20ch;margin-bottom:28px}
.founder .lead{margin-bottom:44px}
.values{border-top:1px solid var(--line)}
.values li{display:flex;align-items:baseline;gap:24px;padding:16px 0;border-bottom:1px solid var(--line);font-size:clamp(20px,2vw,26px);letter-spacing:-.02em;color:var(--t1)}
.values li span{font-family:var(--mono);font-size:11px;color:var(--t4);letter-spacing:.08em;width:28px}
.sig{margin-top:32px;font-size:14px}
.sig b{display:block;color:var(--t1);font-weight:500}
.sig span{color:var(--t3)}
@media (max-width:860px){.founder{grid-template-columns:1fr}}

/* CTA (Raycast neutral glow + rings, Linear centred) */
.cta-band{position:relative;overflow:hidden;text-align:center;padding:clamp(64px,8vw,104px) clamp(20px,5vw,64px);border-radius:16px;
  background:radial-gradient(80% 90% at 50% 0%,rgba(255,255,255,.06),transparent 60%),var(--bg-2);
  box-shadow:0 0 0 1px rgba(255,255,255,.08),inset 0 1px 0 rgba(255,255,255,.07),0 0 0 6px rgba(255,255,255,.015),0 30px 80px -30px rgba(0,0,0,.8)}
.cta-band::before{content:"";position:absolute;left:50%;top:0;width:min(560px,70%);height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent)}
.cta-band .kicker{justify-content:center}
.cta-band .h2{max-width:18ch;margin:0 auto}
.cta-band .lead{margin:22px auto 0}
.cta-band__actions{margin-top:36px;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.cta-band__meta{margin-top:26px;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 22px;font-size:12px;color:var(--t4)}
.cta-band__meta a{color:var(--t3)}
.cta-band__meta a:hover{color:var(--t1)}
.cta-section{padding-top:clamp(40px,5vw,64px)}

/* ---------- inner page hero ---------- */
.page-hero{position:relative;overflow:hidden;isolation:isolate;padding:clamp(140px,16vw,200px) 0 clamp(56px,7vw,88px);border-bottom:1px solid var(--line)}
.page-hero > .field{z-index:-1}
.page-hero__media{position:absolute;inset:0;z-index:-1;background:#000}
.page-hero__media img{width:100%;height:100%;object-fit:cover;opacity:.62}
.page-hero--photo::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(90deg,rgba(8,9,10,.94) 0%,rgba(8,9,10,.78) 38%,rgba(8,9,10,.3) 75%,rgba(8,9,10,.2) 100%),
             linear-gradient(to bottom,rgba(8,9,10,.7) 0%,transparent 30%,transparent 65%,var(--bg) 100%)}
.page-hero h1{font-size:clamp(40px,6vw,76px);font-weight:500;line-height:1.02;letter-spacing:-.034em;max-width:16ch;margin-bottom:22px}
.page-hero .lead{color:var(--t2);max-width:56ch}
.page-hero__grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:48px 72px;align-items:end}
.page-hero__grid--single{grid-template-columns:minmax(0,1fr)}
.page-hero__ctas{margin-top:34px;display:flex;flex-wrap:wrap;gap:12px}
.page-hero--plain{padding-bottom:48px}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--t4);margin-bottom:28px}
.crumbs a:hover{color:var(--t1)}
.crumbs [aria-current]{color:var(--t3)}
@media (max-width:960px){.page-hero__grid{grid-template-columns:1fr}.page-hero--photo::before{background:linear-gradient(to bottom,rgba(8,9,10,.75) 0%,rgba(8,9,10,.7) 45%,var(--bg) 100%)}}

/* spec panel (prices in white mono) */
.spec{padding:6px 22px 18px;background:rgba(12,13,14,.72);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-color:var(--line-2)}
.spec__head{display:flex;justify-content:space-between;gap:12px;padding:14px 0;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--t4)}
.spec__head b{font-weight:400;color:var(--t3)}
.spec__row{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding:16px 0;border-top:1px solid var(--line)}
.spec__row > span{color:var(--t1);font-size:15px}
.spec__row small{display:block;margin-top:3px;font-size:13px;line-height:1.45;color:var(--t4)}
.spec__row b{font-family:var(--mono);font-weight:400;font-size:20px;color:var(--t1);white-space:nowrap;letter-spacing:-.01em}
.spec__row b small,.spec__row b em{display:inline;font-style:normal;font-size:12px;color:var(--t3)}
.spec__row b a{color:var(--t1);border-bottom:1px solid var(--line-3)}
.spec__foot{margin-top:6px;padding-top:14px;border-top:1px solid var(--line);font-size:12.5px;line-height:1.55;color:var(--t4)}
.menu-board{display:grid;grid-template-columns:1fr 1.3fr;gap:14px;align-items:start}
@media (max-width:860px){.menu-board{grid-template-columns:1fr}}

/* split + prose + terms */
.split{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:40px 80px;align-items:start}
.split__aside{position:sticky;top:110px}
.split .h2{font-size:clamp(30px,3.6vw,46px)}
@media (max-width:900px){.split{grid-template-columns:1fr}.split__aside{position:static}}
.prose p{font-size:16.5px;line-height:1.7;color:var(--t2);margin-bottom:20px;max-width:66ch}
.prose strong{color:var(--t1);font-weight:500}
.statute{font-family:var(--mono);font-size:13px;color:var(--t1);border:1px solid var(--line-2);border-radius:4px;padding:1px 6px;white-space:nowrap}
.quote{font-size:clamp(20px,2vw,26px)!important;line-height:1.35!important;color:var(--t1)!important;letter-spacing:-.015em;border-left:1px solid var(--line-3);padding-left:22px}
.terms{border-top:1px solid var(--line)}
.terms:last-of-type{border-bottom:1px solid var(--line)}
.terms summary{display:flex;align-items:center;gap:18px;padding:20px 0;cursor:pointer;list-style:none;font-size:17px;color:var(--t1)}
.terms summary::-webkit-details-marker{display:none}
.terms summary::after{content:"+";margin-left:auto;font-family:var(--mono);color:var(--t4);transition:transform .25s}
.terms[open] summary::after{transform:rotate(45deg)}
.terms summary i{font-style:normal;font-family:var(--mono);font-size:11px;color:var(--t4);width:22px}
.terms p{padding:0 0 22px 40px;color:var(--t3);font-size:15px;max-width:62ch}
.list-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}
.list-grid li{display:flex;gap:18px;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--line);color:var(--t1);font-size:16.5px;padding-right:20px}
.list-grid li i{font-style:normal;font-family:var(--mono);font-size:11px;color:var(--t4)}
.list-grid small{color:var(--t4);font-size:13px}
@media (max-width:700px){.list-grid{grid-template-columns:1fr}}
.notes{display:grid;gap:10px}
.note{font-size:14px;line-height:1.6;color:var(--t3);border-left:1px solid var(--line-3);padding:2px 0 2px 16px;max-width:72ch}
.note b{color:var(--t1);font-weight:500}

/* CQC */
.cqc-hero{padding:140px 0 110px}
.cinema-bg{position:absolute;inset:0;z-index:-1;background:#000}
.cqc-hero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(to bottom,rgba(8,9,10,.7) 0%,rgba(8,9,10,.35) 30%,rgba(8,9,10,.45) 70%,var(--bg) 100%),radial-gradient(60% 55% at 50% 50%,rgba(8,9,10,.5),transparent 75%)}
.cqc-hero .hero__title{font-size:clamp(48px,8.4vw,116px)}
.cqc-hero .hero__micro{color:var(--t3)}
.schedule{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.schedule > div{background:var(--bg);padding:26px 26px 30px}
.schedule small{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--t4);margin-bottom:22px}
.schedule b{font-size:clamp(22px,2.4vw,30px);font-weight:400;letter-spacing:-.02em;color:var(--t3)}
.schedule .open b{color:var(--t1)}
@media (max-width:760px){.schedule{grid-template-columns:1fr}}
.art-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:14px}
.art-grid figure{margin:0;border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}
.art-grid img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05)}
@media (max-width:760px){.art-grid{grid-template-columns:1fr}}

/* contact + forms */
.contact-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:14px;align-items:start}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}
.form{padding:clamp(24px,3.4vw,40px)}
.form h2{font-size:clamp(24px,2.4vw,30px);letter-spacing:-.02em;margin-bottom:10px}
.form > p{color:var(--t3);font-size:15px;margin-bottom:28px}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field-full{grid-column:1/-1}
@media (max-width:560px){.fields{grid-template-columns:1fr}}
.f label{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--t3);margin-bottom:8px}
.f input,.f select,.f textarea{width:100%;height:46px;padding:0 14px;background:rgba(0,0,0,.35);border:1px solid var(--line-2);border-radius:var(--r-s);color:var(--t1);font-size:15px;transition:border-color .2s,background-color .2s}
.f textarea{height:140px;padding:12px 14px;resize:vertical}
.f select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--t3) 50%),linear-gradient(135deg,var(--t3) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat}
.f input:focus,.f select:focus,.f textarea:focus{outline:none;border-color:rgba(255,255,255,.4);background-color:rgba(0,0,0,.5)}
.f ::placeholder{color:var(--t4)}
.check{display:flex;gap:12px;align-items:flex-start;font-size:13px;line-height:1.55;color:var(--t3)}
.check input{margin-top:3px;accent-color:#d0d6e0;width:16px;height:16px;flex:none}
.check a{color:var(--t1);border-bottom:1px solid var(--line-3)}
.form-actions{margin-top:26px;display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.form-note{font-size:13px;color:var(--t4)}
.form-note a{color:var(--t2)!important}
.form-status{margin-top:14px;font-size:14px;color:var(--t2)}
.info-stack{display:grid;gap:14px}
.info{padding:22px 24px}
.info .big{display:block;font-size:clamp(22px,2.2vw,28px);letter-spacing:-.02em;color:var(--t1)}
.info address{color:var(--t1);line-height:1.5}
.hours{width:100%;border-collapse:collapse;font-size:14px;margin-top:6px}
.hours td{padding:9px 0;border-top:1px solid var(--line);color:var(--t3)}
.hours td:last-child{text-align:right;font-family:var(--mono);font-size:12.5px}
.hours tr.today td{color:var(--t1)}

/* legal */
.legal{max-width:820px}
.legal h2{font-size:22px;letter-spacing:-.015em;margin:44px 0 14px}
.legal h2:first-child{margin-top:0}
.legal p,.legal li{color:var(--t3);font-size:15.5px;line-height:1.7;margin-bottom:14px}
.legal a{color:var(--t1);border-bottom:1px solid var(--line-3)}
.credits{width:100%;border-collapse:collapse;font-size:14px;margin-bottom:28px}
.credits th{text-align:left;font-family:var(--mono);font-weight:400;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--t4);padding:0 12px 12px 0}
.credits td{padding:14px 12px 14px 0;border-top:1px solid var(--line);color:var(--t2);vertical-align:top}
@media (max-width:640px){.credits th:nth-child(3),.credits td:nth-child(3){display:none}}

/* 404 */
.nf{text-align:center}

/* ---------- footer: Shield AI giant wordmark ---------- */
.site-footer{position:relative;margin-top:clamp(64px,8vw,104px);border-top:1px solid var(--line);padding-top:72px;overflow:hidden}
.footer-top{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);gap:48px}
.footer-brand img{width:34px;height:auto;opacity:.85;margin-bottom:22px}
.footer-motto{font-size:20px;letter-spacing:-.015em;color:var(--t1);margin-bottom:12px}
.footer-sub{font-size:13px;line-height:1.6;color:var(--t4)}
.footer-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.footer-cols ul{display:grid;gap:10px}
.footer-cols a,.footer-cols address,.footer-cols li{font-size:14px;color:var(--t3);line-height:1.5}
.footer-cols a:hover{color:var(--t1)}
.footer-cols .muted{color:var(--t4)}
.footer-mark{margin:64px 0 0;font-size:clamp(120px,29vw,440px);font-weight:600;line-height:.76;letter-spacing:-.06em;text-align:center;color:rgba(255,255,255,.055);user-select:none;transform:translateY(4%)}
.footer-bottom{position:relative;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;padding:22px var(--gut) 28px;border-top:1px solid var(--line);font-size:11.5px;color:var(--t4)}
.footer-bottom a{color:var(--t3);border-bottom:1px solid var(--line-2)}
@media (max-width:900px){.footer-top{grid-template-columns:1fr}}
@media (max-width:640px){.footer-cols{grid-template-columns:1fr 1fr}.footer-cols > div:last-child{grid-column:1/-1}}

/* mobile type tune */
@media (max-width:560px){
  .hero{padding:110px 0 72px}
  .hero__eyebrow{font-size:10.5px;line-height:1.7;max-width:30ch;margin-bottom:26px}
  .hero__ctas .btn,.page-hero__ctas .btn,.cta-band__actions .btn{width:100%}
  .band__credit,.facility__tag{font-size:9.5px}
}

/* home hero: full-bleed B&W Oklahoma City backdrop (Shield AI) */
.hero__media{position:absolute;inset:0;z-index:-1;background:#000}
.hero__media img{width:100%;height:100%;object-fit:cover;object-position:60% 40%;opacity:.9;transform:scale(1.03);animation:heroSettle 2.4s var(--ease) forwards}
@keyframes heroSettle{to{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.hero__media img{animation:none;transform:none}}
.hero--photo::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(to bottom,rgba(8,9,10,.82) 0%,rgba(8,9,10,.45) 30%,rgba(8,9,10,.55) 62%,var(--bg) 100%),
             radial-gradient(70% 60% at 50% 52%,rgba(8,9,10,.6),rgba(8,9,10,.15) 75%)}
.hero--photo .hero__eyebrow{color:var(--t2)}
.hero--photo .hero__micro{color:var(--t3)}
.hero__credit{position:absolute;right:var(--gut);bottom:22px;z-index:2;font-size:10.5px;letter-spacing:.06em;color:var(--t4)}
@media (max-width:560px){.hero__credit{font-size:9.5px;left:var(--gut);text-align:right}}

/* review pass 1 */
.nav-actions{margin-left:auto}
.band::before{background:linear-gradient(to bottom,var(--bg) 0%,rgba(8,9,10,.3) 22%,rgba(8,9,10,.25) 55%,rgba(8,9,10,.65) 82%,var(--bg) 100%),
  radial-gradient(55% 45% at 50% 50%,rgba(8,9,10,.72),rgba(8,9,10,.2) 70%,transparent 100%)}
.facility__media img,.facility__media video,.cinema-bg img,.cinema-bg video{filter:grayscale(1) contrast(1.25) brightness(1.35)}
.facility::before{background:linear-gradient(to bottom,var(--bg) 0%,rgba(8,9,10,.2) 18%,rgba(8,9,10,.2) 72%,var(--bg) 100%),radial-gradient(55% 50% at 50% 50%,rgba(8,9,10,.55),transparent 80%)}
.cinema video,.cinema .cinema__poster{filter:grayscale(1) contrast(1.2) brightness(1.25)}
.eb-place{white-space:nowrap}
@media (max-width:560px){.eb-place{display:none}}
.hero__media--capitol img{object-position:42% 30%}
/* capitol hero: let the dome read a little more */
.hero--photo::before{background:linear-gradient(to bottom,rgba(8,9,10,.72) 0%,rgba(8,9,10,.32) 30%,rgba(8,9,10,.45) 64%,var(--bg) 100%),
  radial-gradient(52% 50% at 50% 54%,rgba(8,9,10,.55),rgba(8,9,10,.08) 78%)}
.hero__media--capitol img{object-position:38% 28%;opacity:1}
/* review pass 2: legibility over photos */
.page-hero--photo .btn--ghost,.hero--photo .btn--ghost{background:rgba(8,9,10,.45);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
@media (max-width:960px){
  .page-hero__media img{opacity:.42}
  .page-hero--photo::before{background:linear-gradient(to bottom,rgba(8,9,10,.8) 0%,rgba(8,9,10,.72) 50%,var(--bg) 100%)}
}
/* review pass 3: nav + crumbs legibility on photo heroes (desktop) */
@media (min-width:961px){
  .page-hero__media img{opacity:.5}
  .page-hero--photo::before{background:
    linear-gradient(90deg,rgba(8,9,10,.94) 0%,rgba(8,9,10,.8) 40%,rgba(8,9,10,.35) 78%,rgba(8,9,10,.25) 100%),
    linear-gradient(to bottom,rgba(8,9,10,.9) 0%,rgba(8,9,10,.2) 32%,transparent 62%,var(--bg) 100%)}
}
.page-hero--photo .crumbs{color:var(--t3)}
.page-hero--photo .crumbs [aria-current]{color:var(--t2)}
/* fix: overlay must sit above the photo layer */
.page-hero--photo::before{z-index:0}
.page-hero--photo > .wrap{position:relative;z-index:1}
/* balance after stacking fix */
.page-hero__media img{opacity:.78}
.page-hero--photo::before{background:
  linear-gradient(90deg,rgba(8,9,10,.9) 0%,rgba(8,9,10,.66) 42%,rgba(8,9,10,.12) 80%,rgba(8,9,10,.05) 100%),
  linear-gradient(to bottom,rgba(8,9,10,.85) 0%,rgba(8,9,10,.1) 30%,transparent 62%,var(--bg) 100%)}
@media (max-width:960px){
  .page-hero__media img{opacity:.6}
  .page-hero--photo::before{background:linear-gradient(to bottom,rgba(8,9,10,.78) 0%,rgba(8,9,10,.55) 40%,rgba(8,9,10,.7) 75%,var(--bg) 100%)}
}

/* revision 4: brighter body-cam treatment (matches the CQC body-cam panel), lighter overlays */
.facility__media img,.facility__media video,.cinema-bg img,.cinema-bg video{filter:grayscale(1) contrast(1.2) brightness(1.25);object-position:50% 40%}
.facility::before{background:linear-gradient(to bottom,var(--bg) 0%,rgba(8,9,10,.06) 16%,rgba(8,9,10,.06) 78%,var(--bg) 100%),radial-gradient(46% 40% at 50% 50%,rgba(8,9,10,.42),transparent 80%)}
.cqc-hero::before{background:linear-gradient(to bottom,rgba(8,9,10,.5) 0%,rgba(8,9,10,.1) 26%,rgba(8,9,10,.16) 72%,var(--bg) 100%),radial-gradient(50% 46% at 50% 50%,rgba(8,9,10,.42),transparent 78%)}
.facility__title,.cqc-hero .hero__title{text-shadow:0 2px 30px rgba(0,0,0,.45)}
.facility__lead,.cqc-hero .hero__lead{color:var(--t1);text-shadow:0 1px 16px rgba(0,0,0,.6)}
/* night-mode facility panel (grade baked into the file: red-channel mono, lifted shadows) */
.night-run{display:grid;grid-template-columns:1fr 1.7fr;gap:clamp(24px,4vw,56px);align-items:center;margin-top:clamp(56px,7vw,96px)}
.night-run .h3{font-size:clamp(24px,2.6vw,34px);font-weight:400;letter-spacing:-.02em;margin:10px 0 12px}
.night-run .lead{max-width:36ch}
.cinema--night video,.cinema--night .cinema__poster{filter:contrast(1.05) brightness(1.05)}
@media (max-width:820px){.night-run{grid-template-columns:1fr}}
.facility .kicker,.cqc-hero .hero__eyebrow,.facility__tag,.cqc-hero .hero__micro{text-shadow:0 1px 10px rgba(0,0,0,.7)}
.facility .kicker,.cqc-hero .hero__eyebrow{color:var(--t2)}
.facility::before{background:linear-gradient(to bottom,var(--bg) 0%,rgba(8,9,10,.1) 16%,rgba(8,9,10,.1) 78%,var(--bg) 100%),radial-gradient(48% 42% at 50% 50%,rgba(8,9,10,.5),transparent 80%)}
.cqc-hero::before{background:linear-gradient(to bottom,rgba(8,9,10,.6) 0%,rgba(8,9,10,.2) 26%,rgba(8,9,10,.16) 72%,var(--bg) 100%),radial-gradient(52% 48% at 50% 48%,rgba(8,9,10,.48),transparent 78%)}
/* revision 5: home Facility uses the night-mode corridor clip (grade baked into file) */
.facility__media--baked img,.facility__media--baked video{filter:contrast(1.05) brightness(1.08);object-position:50% 50%}
.cinema--doorway video,.cinema--doorway .cinema__poster{object-position:68% 50%}
/* revision 6: band backdrop = real TFIS building (graded B&W) */
.band__media img{object-position:50% 50%}
.band::before{background:linear-gradient(to bottom,var(--bg) 0%,rgba(8,9,10,.38) 20%,rgba(8,9,10,.34) 55%,rgba(8,9,10,.7) 84%,var(--bg) 100%),
  radial-gradient(52% 44% at 50% 50%,rgba(8,9,10,.74),rgba(8,9,10,.28) 70%,transparent 100%)}
.band__lead{color:var(--t1);text-shadow:0 1px 14px rgba(0,0,0,.6)}
@media (orientation:portrait){.band__media img{object-position:40% 50%}}
@media (orientation:portrait) and (max-width:700px){.band{min-height:540px}.band__media img{object-position:31% 50%}}

/* ========== revision 7: audit fixes ========== */
:root{--t4:#8a8f98} /* was #62666d (3.45:1); now ~5.9:1 on --bg */
.h3like{font-size:clamp(18px,1.5vw,22px);font-weight:500;letter-spacing:-.015em;line-height:1.25;margin:0 0 8px;color:var(--t1)}
.step .h3like,.card-pad .h3like{margin-top:0}
a.statute{color:var(--t2);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(255,255,255,.28)}
a.statute:hover{color:var(--t1);text-decoration-color:rgba(255,255,255,.55)}

/* menu: opaque panel + CTA align live in the 960px block above */

/* form focus: clear :focus-visible ring */
.f input:focus,.f select:focus,.f textarea:focus{outline:none;border-color:rgba(255,255,255,.4);background-color:rgba(0,0,0,.5)}
.f input:focus-visible,.f select:focus-visible,.f textarea:focus-visible,
.check input:focus-visible{outline:2px solid var(--t1);outline-offset:2px;border-color:rgba(255,255,255,.55)}
:focus-visible{outline:2px solid var(--t1);outline-offset:3px}

/* CQC hero pause control */
.cinema__toggle--hero{right:var(--gut);bottom:22px;z-index:3}
.cqc-hero .cinema-bg{z-index:0}
.cqc-hero .wrap{position:relative;z-index:1}

/* microcopy readability */
.hero__credit,.band__credit,.facility__tag,.hero__eyebrow,.hero__micro,.caption,.crumbs{font-size:12px}
@media (max-width:560px){
  .hero__credit,.band__credit,.facility__tag{font-size:11px}
  .hero__micro{font-size:11.5px}
}
.svc-list__idx,.svc-list__price,.std__n,.step__n,.spec__head,.mono-label{color:var(--t4)}

/* contact hours header stack on narrow */
@media (max-width:420px){
  .hours-head, .info .hours-top, .hours > .hours__head, .hours thead, .card-hours__head{display:block}
}
.hours-card__top, .info.hours .head, .hours-wrap > .head{
  display:flex;flex-wrap:wrap;gap:8px 16px;align-items:baseline;justify-content:space-between
}
@media (max-width:420px){
  .hours-card__top, .info.hours .head, .hours-wrap > .head{flex-direction:column;align-items:flex-start;gap:6px}
}

/* tap targets */
.brand{min-height:44px;padding:8px 4px 8px 0}
.nav-phone{padding:12px 0;min-height:44px;display:inline-flex;align-items:center}
.btn--sm{height:40px;padding:0 16px}
.cinema__toggle{width:40px;height:40px}
.site-footer a{padding:6px 0;min-height:32px;display:inline-flex;align-items:center}
.check{display:flex;gap:12px;align-items:flex-start}
.check input{width:18px;height:18px;margin-top:3px;flex:none}

/* above-the-fold: don't delay LCP text with rise animation on small screens */
@media (max-width:900px){
  .js .hero [data-rise],.js .cqc-hero [data-rise],.js .page-hero [data-rise]{opacity:1;transform:none;transition:none}
}

/* band responsive sizes already set in HTML; ensure object-fit */
.band__media img{width:100%;height:100%;object-fit:cover}

/* CQC closure notice (fix2) — rendered only when the CQC page header sets "notice" */
.closure-notice{position:relative;z-index:2;display:inline-flex;align-items:center;gap:12px;margin:0 0 30px;padding:12px 22px 12px 14px;border-radius:999px;background:#c4262c;color:#fff;font-family:var(--sans);font-weight:700;font-size:clamp(16px,1.7vw,20px);letter-spacing:.01em;line-height:1.25;box-shadow:0 0 0 1px rgba(255,255,255,.18),0 10px 40px rgba(0,0,0,.55)}
.closure-notice__icon{display:inline-grid;place-items:center;flex:none;width:26px;height:26px;border-radius:50%;background:#fff;color:#c4262c;font-weight:800;font-size:16px;line-height:1}
.sched-flag{display:flex;align-items:center;gap:8px;margin-top:12px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#ff8a8f}
.sched-flag::before{content:"";width:7px;height:7px;border-radius:50%;background:#e5484d;flex:none}
@media (max-width:600px){.closure-notice{font-size:16px;padding:10px 16px 10px 10px;margin-bottom:22px}}
