/* ==========================================================================
   /contact/ — "Production office / dispatch desk"
   Hero: handheld dispatch radio · Lines: rack modules + shooting schedule ·
   Desk: call-sheet form + stripboard booking · FAQ: radio sign-off ·
   Location: scout sheet + night-vision map.
   Everything is scoped to .cinema-page--page-contact and ct-* classes.
   Form/JS hooks (data-*, names, .id-fa-field) are styled, never renamed.
   ========================================================================== */
.cinema-page--page-contact {
  --ct-amber: #f3c27a;
  --ct-lcd: #1c1309;
  --ct-steel: #1b1612;
  --ct-steel-2: #110d0b;
  --ct-ok: #5fc27a;
  --ct-err: #ff7a6e;
}
.cinema-page--page-contact [hidden] { display: none !important; }

/* ---------- Hero atmosphere ---------- */
.cinema-page--page-contact .cx-hero__bg { position: absolute; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(38% 48% at 26% 52%, rgba(90, 167, 178, .13), transparent 70%), radial-gradient(46% 56% at 82% 28%, rgba(210, 106, 78, .1), transparent 72%); }
.cinema-page--page-contact .cx-hero__bg::before { content: ""; position: absolute; inset: auto 0 0; height: 38%; background: repeating-linear-gradient(0deg, rgba(90, 167, 178, .06) 0 1px, transparent 1px 14px); -webkit-mask-image: radial-gradient(60% 100% at 26% 100%, #000, transparent 75%); mask-image: radial-gradient(60% 100% at 26% 100%, #000, transparent 75%); }
.cinema-page--page-contact .cx-hero .chip .ico { color: var(--teal); }

/* ---------- Hero visual: dispatch radio ---------- */
.ct-radio { position: relative; width: 100%; aspect-ratio: 52 / 60; container-type: inline-size; }
.ct-radio__unit { position: absolute; left: 50%; top: 24cqi; width: 54cqi; margin-left: -27cqi; rotate: -5deg; filter: drop-shadow(0 40px 50px rgba(0, 0, 0, .75)); }
.js .ct-radio__unit { opacity: 0; translate: 0 6cqi; }
.is-ready .ct-radio__unit { opacity: 1; translate: none; transition: opacity 1.2s var(--ease-out) .2s, translate 1.6s var(--ease-out) .2s; }

.ct-radio__antenna { position: absolute; bottom: calc(100% - 1.5cqi); right: 8cqi; width: 5.6cqi; height: 23cqi; border-radius: 3cqi 3cqi 1cqi 1cqi; background: linear-gradient(90deg, #0b0807, #322720 45%, #0b0807); border: 1px solid rgba(255, 236, 214, .1); }
.ct-radio__antenna::before { content: ""; position: absolute; left: 18%; right: 18%; top: 30%; bottom: 8%; background: repeating-linear-gradient(0deg, rgba(0, 0, 0, .55) 0 2px, transparent 2px 6px); border-radius: 2px; }
.ct-radio__antenna > i { position: absolute; top: -2.6cqi; left: 50%; width: 3.6cqi; height: 3.6cqi; margin-left: -1.8cqi; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #ffd9a0, var(--gold) 55%, #8a5a2c); box-shadow: 0 0 2.4cqi rgba(243, 194, 122, .9); animation: ct-tip 2.2s ease-in-out infinite; }
.ct-radio__field { position: absolute; top: -.8cqi; left: 50%; width: 0; height: 0; }
.ct-radio__field i { position: absolute; left: -26cqi; top: -26cqi; width: 52cqi; height: 52cqi; border-radius: 50%; border: 1px solid rgba(243, 194, 122, .55); opacity: 0; transform: scale(.08); animation: ct-ring 3.6s cubic-bezier(.2, .6, .3, 1) infinite; }
.ct-radio__field i:nth-child(2) { animation-delay: -1.2s; border-color: rgba(90, 167, 178, .55); }
.ct-radio__field i:nth-child(3) { animation-delay: -2.4s; }
.ct-radio__knob { position: absolute; bottom: calc(100% - 1cqi); height: 6cqi; border-radius: 1.4cqi 1.4cqi .6cqi .6cqi; background: repeating-linear-gradient(90deg, #2c231d 0 .7cqi, #120e0b .7cqi 1.4cqi); border: 1px solid rgba(255, 236, 214, .1); }
.ct-radio__knob--a { left: 9cqi; width: 10cqi; }
.ct-radio__knob--b { left: 22cqi; width: 7cqi; height: 4.6cqi; }
.ct-radio__knob--a::after { content: ""; position: absolute; top: -1.4cqi; left: 50%; width: 1px; height: 1.4cqi; background: var(--gold); }

.ct-radio__body { position: relative; display: flex; flex-direction: column; gap: 3.4cqi; height: 84cqi; padding: 5.2cqi 4.6cqi 4.8cqi; border-radius: 8cqi 8cqi 11cqi 11cqi; background: radial-gradient(120% 60% at 30% 0%, rgba(255, 236, 214, .07), transparent 60%), linear-gradient(160deg, #2b221c, #16110e 55%, #0e0b09); border: 1px solid rgba(255, 236, 214, .14); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), inset 0 -2cqi 5cqi rgba(0, 0, 0, .55), 0 6cqi 18cqi -6cqi rgba(210, 106, 78, .45); }
.ct-radio__ptt { position: absolute; right: -1.7cqi; top: 22cqi; width: 2.2cqi; height: 17cqi; border-radius: 1cqi; background: linear-gradient(90deg, #3a2e26, #16110e); border: 1px solid rgba(255, 236, 214, .1); }
.ct-radio__clip { position: absolute; left: -1px; top: 30%; width: 3px; height: 28%; border-radius: 3px; background: var(--grad-fire); box-shadow: 0 0 2cqi rgba(224, 122, 92, .6); }
.ct-radio__brand { display: flex; align-items: center; gap: 1.6cqi; color: var(--muted); font-size: max(8px, 2.1cqi); }
.ct-radio__mark { width: 4.6cqi; height: 4.6cqi; flex: none; }
.ct-radio__tx { margin-inline-start: auto; display: inline-flex; align-items: center; gap: 1cqi; color: var(--rec); }
.ct-radio__tx .rec-dot { width: 1.4cqi; height: 1.4cqi; }

.ct-radio__lcd { position: relative; overflow: hidden; padding: 2.4cqi 3cqi 1.6cqi; border-radius: 3cqi; background: linear-gradient(180deg, #2a1c0b, var(--ct-lcd)); color: var(--ct-amber); text-shadow: 0 0 1.4cqi rgba(243, 194, 122, .55); box-shadow: inset 0 0 0 1px rgba(243, 194, 122, .24), inset 0 2cqi 5cqi rgba(0, 0, 0, .55), 0 0 6cqi -1cqi rgba(243, 194, 122, .28); }
.ct-radio__lcd::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: repeating-linear-gradient(0deg, rgba(0, 0, 0, .22) 0 1px, transparent 1px 3px); }
.ct-radio__lcd-top { display: flex; justify-content: space-between; align-items: center; font-size: max(7.5px, 1.9cqi); opacity: .8; }
.ct-radio__bars { display: inline-flex; align-items: flex-end; gap: .5cqi; height: 2.2cqi; }
.ct-radio__bars i { width: .8cqi; background: currentColor; }
.ct-radio__bars i:nth-child(1) { height: 30%; } .ct-radio__bars i:nth-child(2) { height: 55%; } .ct-radio__bars i:nth-child(3) { height: 80%; } .ct-radio__bars i:nth-child(4) { height: 100%; animation: blink 1.6s steps(2, jump-none) infinite; }
.ct-radio__ticker { height: 12cqi; overflow: hidden; margin-top: 1cqi; }
.ct-radio__ticker ol { animation: ct-scan 13.2s cubic-bezier(.7, 0, .3, 1) infinite; }
.ct-radio__ticker li { height: 12cqi; display: flex; flex-direction: column; justify-content: center; gap: .6cqi; direction: ltr; text-align: left; }
.ct-radio__ch { display: flex; align-items: baseline; gap: 2cqi; font-family: var(--mono); letter-spacing: .06em; }
.ct-radio__ch b { font-size: max(11px, 4.6cqi); font-weight: 800; }
.ct-radio__ch span { font-size: max(8px, 2.4cqi); opacity: .85; }
.ct-radio__ticker em { font: 600 max(8px, 2.5cqi)/1.2 var(--mono); letter-spacing: .04em; font-style: normal; opacity: .9; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ct-radio__scope { display: block; width: 100%; height: 6cqi; margin-top: .6cqi; overflow: hidden; }
.ct-radio__scope path { fill: none; stroke: var(--ct-amber); stroke-width: 1.2; vector-effect: non-scaling-stroke; animation: ct-wave 2.6s linear infinite; }

.ct-radio__grille { flex: 1; min-height: 10cqi; border-radius: 3.4cqi; background: radial-gradient(circle, #050403 0 .75cqi, transparent .9cqi) 0 0 / 3cqi 3cqi, linear-gradient(180deg, #1f1814, #110d0b); box-shadow: inset 0 .6cqi 2cqi rgba(0, 0, 0, .65), 0 1px 0 rgba(255, 236, 214, .06); }
.ct-radio__keys { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.6cqi; }
.ct-radio__keys li { display: flex; align-items: center; justify-content: center; gap: 1.2cqi; height: 6.4cqi; border-radius: 1.6cqi; background: linear-gradient(180deg, #2a211b, #15100d); border: 1px solid rgba(255, 236, 214, .1); box-shadow: 0 .6cqi 0 #090706; font: 700 max(7px, 1.9cqi)/1 var(--mono); letter-spacing: .1em; color: var(--muted); direction: ltr; animation: ct-key 13.2s infinite; animation-delay: calc(var(--i) * 2.2s - 13.2s); }
.ct-radio__keys i { width: 1.3cqi; height: 1.3cqi; border-radius: 50%; background: #3a2e26; animation: ct-led 13.2s infinite; animation-delay: inherit; }
.ct-radio__tag { position: absolute; display: inline-flex; align-items: center; gap: 8px; padding: 7px 12px; border-radius: 999px; font: 600 max(9px, 2cqi)/1 var(--mono); letter-spacing: .12em; color: var(--text-2); direction: ltr; white-space: nowrap; background: rgba(16, 12, 10, .66); border: 1px solid var(--line-2); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); animation: bob 7s ease-in-out infinite; }
.ct-radio__tag i { width: 6px; height: 6px; border-radius: 50%; background: var(--c, var(--gold)); box-shadow: 0 0 10px var(--c, var(--gold)); }
.ct-radio__tag--1 { top: 30%; left: 0; --c: var(--ct-ok); }
.ct-radio__tag--2 { top: 56%; right: -2%; --c: var(--gold); animation-delay: -2.4s; }
.ct-radio__tag--3 { bottom: 3%; left: 8%; --c: var(--teal); animation-delay: -4.6s; }

/* ---------- Section atmospheres ---------- */
/* Lines: a radio tuner band runs across the top, a needle scans it */
.cinema-page--page-contact .set--ct-band::before { top: clamp(18px, 2.6vw, 34px); inset-inline: 0; height: 46px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1600' height='46'%3E%3Cpath d='M0.5 46V30' stroke='%23fff3e4' stroke-opacity='.3'/%3E%3Ctext x='5' y='26' fill='%23fff3e4' fill-opacity='.22' font-family='monospace' font-size='10'%3E88.00%3C/text%3E%3Cpath d='M100.5 46V30' stroke='%23fff3e4' stroke-opacity='.3'/%3E%3Ctext x='105' y='26' fill='%23fff3e4' fill-opacity='.22' font-family='monospace' font-size='10'%3E89.25%3C/text%3E%3Cpath d='M200.5 46V30' stroke='%23fff3e4' stroke-opacity='.3'/%3E%3Ctext x='205' y='26' fill='%23fff3e4' fill-opacity='.22' font-family='monospace' font-size='10'%3E90.50%3C/text%3E%3Cpath d='M300.5 46V30' stroke='%23fff3e4' stroke-opacity='.3'/%3E%3Ctext x='305' y='26' fill='%23fff3e4' fill-opacity='.22' font-family='monospace' font-size='10'%3E91.75%3C/text%3E%3Cpath d='M400.5 46V30' stroke='%23fff3e4' stroke-opacity='.3'/%3E%3Ctext x='405' y='26' fill='%23fff3e4' fill-opacity='.22' font-family='monospace' font-size='10'%3E93.00%3C/text%3E%3Cpath d='M500.5 46V30' stroke='%23fff3e4' stroke-opacity='.3'/%3E%3Ctext x='505' y='26' fill='%23fff3e4' fill-opacity='.22' font-family='monospace' font-size='10'%3E94.25%3C/text%3E%3Cpath d='M600.5 46V30' stroke='%23fff3e4' stroke-opacity='.3'/%3E%3Ctext x='605' y='26' fill='%23fff3e4' fill-opacity='.22' font-family='monospace' font-size='10'%3E95.50%3C/text%3E%3Cpath d='M700.5 46V30' stroke='%23fff3e4' stroke-opacity='.3'/%3E%3Ctext x='705' y='26' fill='%23fff3e4' fill-opacity='.22' font-family='monospace' font-size='10'%3E96.75%3C/text%3E%3Cpath d='M800.5 46V30' stroke='%23fff3e4' stroke-opacity='.3'/%3E%3Ctext x='805' y='26' fill='%23fff3e4' fill-opacity='.22' font-family='monospace' font-size='10'%3E98.00%3C/text%3E%3Cpath d='M900.5 46V30' stroke='%23fff3e4' stroke-opacity='.3'/%3E%3Ctext x='905' y='26' fill='%23fff3e4' fill-opacity='.22' font-family='monospace' font-size='10'%3E99.25%3C/text%3E%3Cpath d='M1000.5 46V30' stroke='%23fff3e4' stroke-opacity='.3'/%3E%3Ctext x='1005' y='26' fill='%23fff3e4' fill-opacity='.22' font-family='monospace' font-size='10'%3E100.50%3C/text%3E%3Cpath d='M1100.5 46V30' stroke='%23fff3e4' stroke-opacity='.3'/%3E%3Ctext x='1105' y='26' fill='%23fff3e4' fill-opacity='.22' font-family='monospace' font-size='10'%3E101.75%3C/text%3E%3Cpath d='M1200.5 46V30' stroke='%23fff3e4' stroke-opacity='.3'/%3E%3Ctext x='1205' y='26' fill='%23fff3e4' fill-opacity='.22' font-family='monospace' font-size='10'%3E103.00%3C/text%3E%3Cpath d='M1300.5 46V30' stroke='%23fff3e4' stroke-opacity='.3'/%3E%3Ctext x='1305' y='26' fill='%23fff3e4' fill-opacity='.22' font-family='monospace' font-size='10'%3E104.25%3C/text%3E%3Cpath d='M1400.5 46V30' stroke='%23fff3e4' stroke-opacity='.3'/%3E%3Ctext x='1405' y='26' fill='%23fff3e4' fill-opacity='.22' font-family='monospace' font-size='10'%3E105.50%3C/text%3E%3Cpath d='M1500.5 46V30' stroke='%23fff3e4' stroke-opacity='.3'/%3E%3Ctext x='1505' y='26' fill='%23fff3e4' fill-opacity='.22' font-family='monospace' font-size='10'%3E106.75%3C/text%3E%3C/svg%3E") repeat-x 0 0 / 1600px 46px, repeating-linear-gradient(90deg, rgba(255, 243, 228, .2) 0 1px, transparent 1px 50px) 0 100% / 100% 10px no-repeat, repeating-linear-gradient(90deg, rgba(255, 243, 228, .11) 0 1px, transparent 1px 10px) 0 100% / 100% 6px no-repeat; -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); direction: ltr; }
.cinema-page--page-contact .set--ct-band::after { top: clamp(10px, 2vw, 26px); left: 0; width: 2px; height: 64px; background: linear-gradient(var(--terra-l), rgba(224, 122, 92, 0)); box-shadow: 0 0 14px rgba(224, 122, 92, .8); animation: ct-tune 18s ease-in-out infinite alternate; }
.cinema-page--page-contact .set--ct-band { background: radial-gradient(50% 40% at 70% 100%, rgba(90, 167, 178, .05), transparent 70%); }
/* Desk: lamp cone, warm pool, a coffee ring on the desk */
.cinema-page--page-contact .set--ct-lamp::before { inset: -12% 8% 35% 30%; background: conic-gradient(from 200deg at 78% 0%, transparent 0deg, rgba(255, 214, 160, .085) 16deg, rgba(255, 214, 160, .05) 34deg, transparent 50deg), radial-gradient(closest-side at 60% 70%, rgba(243, 194, 122, .09), transparent); filter: blur(8px); }
.cinema-page--page-contact .set--ct-lamp::after { bottom: 9%; left: 4%; width: clamp(120px, 14vw, 190px); aspect-ratio: 1; border-radius: 50%; border: 5px solid rgba(150, 96, 56, .07); box-shadow: inset 0 0 0 9px rgba(150, 96, 56, .025), 0 0 0 2px rgba(150, 96, 56, .03); transform: rotate(-14deg) scaleX(.94); }
/* Location: topographic contours + moonlight */
.cinema-page--page-contact .set--ct-night { background: radial-gradient(60% 60% at 20% 10%, rgba(90, 167, 178, .07), transparent 70%); }
.cinema-page--page-contact .set--ct-night::before { inset: 0; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='900' height='600'%3E%3Cg fill='none' stroke='%235aa7b2' stroke-opacity='.16' stroke-width='1'%3E%3Cpath d='M337 272Q349 280 342 292Q334 303 320 305Q306 307 291 310Q276 314 268 303Q260 292 262 281Q264 269 271 260Q279 251 294 246Q309 241 316 252Q324 264 337 272Z'/%3E%3Cpath d='M376 261Q395 280 382 303Q368 326 340 329Q311 331 279 343Q246 355 238 328Q230 300 227 279Q225 258 239 236Q253 214 284 214Q315 213 336 228Q357 242 376 261Z'/%3E%3Cpath d='M419 246Q437 280 416 312Q395 344 357 355Q319 367 270 378Q221 389 210 349Q198 310 193 278Q188 247 205 210Q222 172 270 186Q318 199 360 205Q401 212 419 246Z'/%3E%3Cpath d='M464 230Q481 280 446 317Q411 354 371 388Q331 422 270 415Q208 407 183 364Q157 322 152 278Q146 235 171 186Q196 136 259 159Q321 183 385 182Q448 181 464 230Z'/%3E%3Cpath d='M506 218Q526 280 475 322Q425 364 385 425Q345 486 273 451Q202 416 158 375Q114 334 102 276Q89 219 137 169Q185 120 257 133Q330 146 407 151Q485 156 506 218Z'/%3E%3Cpath d='M537 208Q560 280 508 333Q457 385 406 460Q356 534 273 483Q191 431 134 388Q76 345 47 271Q17 198 102 161Q187 124 265 105Q343 86 428 111Q513 137 537 208Z'/%3E%3Cpath d='M557 198Q570 280 545 354Q520 428 440 489Q360 551 265 506Q170 461 104 408Q38 356 -5 268Q-47 179 71 153Q189 126 273 74Q357 22 450 69Q543 117 557 198Z'/%3E%3Cpath d='M574 186Q569 280 586 382Q603 484 481 515Q359 546 251 521Q144 496 62 435Q-21 373 -46 273Q-72 172 50 137Q172 103 270 38Q367 -26 473 33Q579 93 574 186Z'/%3E%3Cpath d='M753 420Q760 430 752 440Q744 450 732 455Q720 461 706 456Q693 452 689 441Q685 430 688 419Q691 407 706 404Q720 401 733 405Q746 409 753 420Z'/%3E%3Cpath d='M789 407Q800 430 782 447Q764 465 742 483Q720 501 696 485Q672 469 661 449Q650 430 654 405Q658 380 689 381Q720 381 749 383Q778 384 789 407Z'/%3E%3Cpath d='M825 394Q840 430 810 454Q781 479 750 511Q720 544 686 514Q652 484 633 457Q615 430 618 391Q622 351 671 358Q720 364 766 361Q811 357 825 394Z'/%3E%3Cpath d='M859 382Q877 430 841 464Q804 497 762 538Q720 579 674 541Q628 503 603 467Q577 430 585 379Q592 328 656 333Q720 339 780 336Q840 334 859 382Z'/%3E%3Cpath d='M885 372Q905 430 874 479Q842 528 781 563Q720 599 660 562Q600 526 565 478Q530 430 554 373Q577 315 648 307Q720 299 793 306Q865 314 885 372Z'/%3E%3C/g%3E%3C/svg%3E") center / 900px 600px; -webkit-mask-image: radial-gradient(75% 70% at 50% 55%, #000, transparent); mask-image: radial-gradient(75% 70% at 50% 55%, #000, transparent); }
.cinema-page--page-contact .set--ct-night::after { top: 8%; left: 8%; width: 220px; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 40% 40%, rgba(220, 240, 242, .1), rgba(90, 167, 178, .04) 45%, transparent 70%); filter: blur(4px); }

/* ---------- SC·02 Lines: rack modules ---------- */
.ct-switch { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: clamp(14px, 1.6vw, 22px); align-items: stretch; }
.ct-switch__rack { display: grid; gap: 12px; align-content: start; }
.ct-switch__rail { display: flex; justify-content: space-between; align-items: center; padding-inline: 4px; font-size: 10.5px; color: var(--muted); direction: ltr; }
.ct-switch__rail span:first-child { display: inline-flex; align-items: center; gap: 8px; color: var(--gold-l); }
.ct-switch__rail i { width: 7px; height: 7px; border-radius: 50%; background: var(--ct-ok); box-shadow: 0 0 10px var(--ct-ok); animation: blink 2.4s steps(2, jump-none) infinite; }
.ct-lines { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(12px, 1.4vw, 18px); }
.ct-line { min-width: 0; }
.ct-line--xl { grid-column: span 2; }
.ct-line__link { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "top top" "jack label" "value value" "foot foot"; align-items: center; column-gap: 14px; row-gap: 14px; height: 100%; padding: 16px 36px 16px; border-radius: 14px; border: 1px solid var(--line-2); background: radial-gradient(120% 90% at 100% 0%, color-mix(in srgb, var(--c) 9%, transparent), transparent 55%), linear-gradient(180deg, var(--ct-steel), var(--ct-steel-2)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04), 0 26px 50px -32px rgba(0, 0, 0, .85); transition: transform .5s var(--ease-out), border-color .4s, box-shadow .5s var(--ease-out); }
.ct-line__link:hover, .ct-line__link:focus-visible { transform: translateY(-4px); border-color: color-mix(in srgb, var(--c) 60%, transparent); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05), 0 34px 60px -34px color-mix(in srgb, var(--c) 70%, transparent); }
.ct-line__link:focus-visible { outline: 2px solid var(--gold-l); outline-offset: 4px; border-radius: 14px; }
.ct-line__ear { position: absolute; top: 0; bottom: 0; inset-inline-start: 0; width: 24px; display: flex; flex-direction: column; justify-content: space-between; align-items: center; padding: 14px 0; border-inline-end: 1px solid var(--line); background: linear-gradient(180deg, rgba(255, 236, 214, .035), rgba(255, 236, 214, .01)); border-radius: 14px 0 0 14px; }
.ct-line__ear--end { inset-inline-start: auto; inset-inline-end: 0; border-inline-end: 0; border-inline-start: 1px solid var(--line); }
.ct-line__ear i { position: relative; width: 10px; height: 10px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #5d4c40, #17110e 72%); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .6), 0 1px 0 rgba(255, 236, 214, .06); }
.ct-line__ear i::after { content: ""; position: absolute; left: 2px; right: 2px; top: 50%; height: 1.4px; margin-top: -.7px; background: rgba(0, 0, 0, .7); transform: rotate(35deg); }
.ct-line__top { grid-area: top; display: flex; align-items: center; gap: 10px; font-size: 10.5px; color: var(--muted); direction: ltr; justify-content: flex-start; }
.ct-line__top > span:first-child { color: var(--c); font-weight: 700; }
.ct-line__band { padding: 2px 7px; border-radius: 5px; border: 1px solid var(--line-2); font-size: 9.5px; }
.ct-line__led { margin-left: auto; width: 8px; height: 8px; border-radius: 50%; background: #3a2e26; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .5); transition: background-color .3s, box-shadow .3s; }
.ct-line__link:hover .ct-line__led, .ct-line__link:focus-visible .ct-line__led { background: var(--c); box-shadow: 0 0 10px var(--c); }
.ct-line__jack { grid-area: jack; position: relative; display: grid; place-items: center; width: 50px; height: 50px; border-radius: 50%; color: var(--c); background: radial-gradient(circle, #050403 0 38%, #2c231d 40% 56%, #15100d 58%); border: 1px solid rgba(255, 236, 214, .12); box-shadow: 0 6px 16px -6px rgba(0, 0, 0, .9), inset 0 1px 0 rgba(255, 255, 255, .06); transition: box-shadow .4s, transform .5s var(--ease-out); }
.ct-line__jack .ico { width: 20px; height: 20px; }
.ct-line__jack::after { content: ""; position: absolute; inset: -5px; border-radius: 50%; border: 1px dashed color-mix(in srgb, var(--c) 45%, transparent); opacity: 0; transition: opacity .4s; }
.ct-line__link:hover .ct-line__jack, .ct-line__link:focus-visible .ct-line__jack { box-shadow: 0 0 0 4px color-mix(in srgb, var(--c) 16%, transparent), 0 0 26px -2px color-mix(in srgb, var(--c) 60%, transparent); transform: rotate(-10deg); }
.ct-line__link:hover .ct-line__jack::after, .ct-line__link:focus-visible .ct-line__jack::after { opacity: 1; animation: spin 9s linear infinite; }
.ct-line__txt { display: contents; }
.ct-line__label { grid-area: label; font-size: 16px; font-weight: 900; line-height: 1.6; color: var(--text); }
.ct-line__value { grid-area: value; display: block; min-width: 0; font: 600 11.5px/1.5 var(--mono); letter-spacing: .02em; color: var(--text-2); text-align: left; overflow-wrap: anywhere; }
.ct-line--xl .ct-line__link { row-gap: 16px; padding-block: 20px; }
.ct-line--xl .ct-line__jack { width: 62px; height: 62px; }
.ct-line--xl .ct-line__jack .ico { width: 24px; height: 24px; }
.ct-line--xl .ct-line__label { font-size: 17px; color: var(--text-2); }
.ct-line--xl .ct-line__value { font: 900 clamp(1.35rem, .95rem + 1.1vw, 2.05rem)/1.3 var(--font); letter-spacing: 0; color: var(--text); text-align: right; }
.ct-line--xl.ct-line:nth-child(2) .ct-line__value { font-family: var(--mono); font-weight: 700; font-size: clamp(1rem, .78rem + .7vw, 1.4rem); letter-spacing: .01em; }
.ct-line__foot { grid-area: foot; display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; padding-top: 12px; border-top: 1px dashed var(--line-2); }
.ct-line__sig { display: inline-flex; align-items: flex-end; gap: 3px; height: 16px; }
.ct-line__sig i { width: 4px; border-radius: 1px; background: rgba(255, 236, 214, .14); transition: background-color .3s; }
.ct-line__sig i:nth-child(1) { height: 20%; } .ct-line__sig i:nth-child(2) { height: 40%; } .ct-line__sig i:nth-child(3) { height: 60%; } .ct-line__sig i:nth-child(4) { height: 80%; } .ct-line__sig i:nth-child(5) { height: 100%; }
.ct-line__link:hover .ct-line__sig i, .ct-line__link:focus-visible .ct-line__sig i { background: var(--c); animation: ct-sig 1.2s ease-in-out infinite; }
.ct-line__sig i:nth-child(2) { animation-delay: .1s !important; } .ct-line__sig i:nth-child(3) { animation-delay: .2s !important; } .ct-line__sig i:nth-child(4) { animation-delay: .3s !important; } .ct-line__sig i:nth-child(5) { animation-delay: .4s !important; }
.ct-line__go { display: inline-flex; align-items: center; gap: 6px; font-size: 10.5px; color: var(--muted); direction: ltr; transition: color .3s, gap .4s var(--ease-out); }
.ct-line__go .ico { width: 14px; height: 14px; }
.ct-line__link:hover .ct-line__go, .ct-line__link:focus-visible .ct-line__go { color: var(--c); gap: 10px; }

/* Shooting schedule (hours + native Tehran clock) */
.ct-shift { display: flex; flex-direction: column; gap: 18px; padding: 18px 20px 20px; border-radius: 22px; border: 1px solid var(--line-2); background: radial-gradient(110% 70% at 50% 0%, rgba(90, 167, 178, .11), transparent 60%), linear-gradient(180deg, #17120f, #0e0b09); box-shadow: 0 40px 80px -50px rgba(0, 0, 0, .9); }
.ct-shift__bar { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding-bottom: 12px; border-bottom: 1px solid var(--line); font-size: 10.5px; color: var(--muted); direction: ltr; }
.ct-shift__bar span:first-child { display: inline-flex; align-items: center; gap: 8px; color: var(--teal); }
.ct-shift__main { display: flex; flex-direction: column; align-items: center; gap: 16px; text-align: center; }
.ct-shift__txt { display: grid; gap: 2px; }
.ct-shift__label { color: var(--teal); font-weight: 800; font-size: 14px; }
.ct-shift__value { font-size: clamp(1.15rem, 1rem + .55vw, 1.45rem); font-weight: 900; line-height: 1.6; color: var(--text); }

.ct-clockwrap { display: grid; justify-items: center; gap: 2px; }
.ct-clock { display: grid; justify-items: center; gap: 8px; }
.ct-clock__face { position: relative; width: 140px; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 50% 38%, #251d18, #0c0907 72%); border: 1px solid rgba(255, 236, 214, .16); box-shadow: 0 0 0 7px #120e0b, 0 0 0 8px rgba(255, 236, 214, .09), 0 24px 44px -18px rgba(0, 0, 0, .95), inset 0 0 22px rgba(0, 0, 0, .7); }
.ct-clock__face::before { content: ""; position: absolute; inset: 0; border-radius: 50%; background: linear-gradient(140deg, rgba(255, 255, 255, .08), transparent 40%); pointer-events: none; z-index: 3; }
.ct-clock__tick, .ct-clock__min { position: absolute; left: 50%; top: 50%; border-radius: 1px; }
.ct-clock__tick { width: 2px; height: 9px; margin: -4.5px 0 0 -1px; background: rgba(255, 236, 214, .55); transform: rotate(var(--a)) translateY(-56px); }
.ct-clock__tick--q { width: 3px; height: 13px; margin: -6.5px 0 0 -1.5px; background: var(--gold); box-shadow: 0 0 6px rgba(224, 169, 95, .6); transform: rotate(var(--a)) translateY(-54px); }
.ct-clock__min { width: 1px; height: 3px; margin: -1.5px 0 0 -.5px; background: rgba(255, 236, 214, .22); transform: rotate(var(--a)) translateY(-59px); }
.ct-clock__brand { position: absolute; top: 64%; left: 0; right: 0; text-align: center; font-size: 7.5px; color: var(--muted); letter-spacing: .3em; }
.ct-clock__hand { position: absolute; inset: 0; z-index: 2; }
.ct-clock__hand i { position: absolute; left: 50%; bottom: 50%; border-radius: 3px; transform-origin: 50% 100%; }
.ct-clock__hand--h i { width: 4px; height: 25%; margin-left: -2px; background: var(--gold-l); box-shadow: 0 0 6px rgba(243, 194, 122, .5); }
.ct-clock__hand--m i { width: 3px; height: 35%; margin-left: -1.5px; background: var(--text); }
.ct-clock__hand--s i { width: 1.5px; height: calc(40% + 12px); bottom: calc(50% - 12px); margin-left: -.75px; background: var(--terra-l); box-shadow: 0 0 6px rgba(224, 122, 92, .7); }
.ct-clock__pin { position: absolute; left: 50%; top: 50%; z-index: 2; width: 10px; height: 10px; margin: -5px 0 0 -5px; border-radius: 50%; background: var(--terra-l); box-shadow: 0 0 0 2px #120e0b; }
.ct-clock__digital { font-size: 16px; font-weight: 900; line-height: 1.4; color: var(--gold-l); font-variant-numeric: tabular-nums; }
.ct-clock__tz { font-size: 12.5px; font-weight: 700; color: var(--muted); }

.ct-week { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.ct-week li { display: grid; justify-items: center; align-content: center; gap: 6px; min-height: 52px; padding: 8px 0; border-radius: 10px; border: 1px solid var(--line); background: rgba(255, 236, 214, .025); font-size: 14px; font-weight: 900; color: var(--text); }
.ct-week .is-on i { width: 64%; height: 4px; border-radius: 2px; background: var(--grad-fire); box-shadow: 0 0 8px rgba(224, 122, 92, .45); }
.ct-week .is-off { color: var(--muted); background: repeating-linear-gradient(-45deg, rgba(255, 236, 214, .045) 0 5px, transparent 5px 10px); }
.ct-week small { font-size: 8.5px; color: #e0605a; line-height: 1; }
.ct-day__ruler { position: relative; display: flex; justify-content: space-between; align-items: flex-end; height: 44px; padding-inline: 0; border-radius: 9px; border: 1px solid var(--line); background: rgba(255, 236, 214, .02); overflow: hidden; }
.ct-day__ruler > i { width: 1px; height: 6px; background: rgba(255, 236, 214, .2); }
.ct-day__ruler > i:nth-child(6n + 1) { height: 13px; background: rgba(255, 236, 214, .34); }
.ct-day__win { position: absolute; top: 0; bottom: 0; left: calc(var(--from) / 24 * 100%); right: calc((24 - var(--to)) / 24 * 100%); display: flex; flex-direction: column; justify-content: space-between; padding: 4px 6px; background: linear-gradient(180deg, rgba(224, 169, 95, .3), rgba(210, 106, 78, .1)); border-inline: 1px solid var(--gold); }
.ct-day__win b { font-size: 8.5px; font-weight: 700; color: var(--gold-l); white-space: nowrap; }
.ct-day__win b + b { align-self: flex-end; }
.ct-day__axis { display: flex; justify-content: space-between; margin-top: 6px; font-size: 9.5px; color: var(--muted); }

/* ---------- SC·03 Desk: call sheet + booking ---------- */
.ct-desk { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: clamp(18px, 2.4vw, 34px); align-items: start; }
.ct-sheet { position: relative; padding: clamp(20px, 2.4vw, 34px); padding-inline-start: clamp(40px, 4.2vw, 60px); border-radius: 8px 22px 22px 8px; border: 1px solid var(--line-2); background: radial-gradient(80% 50% at 70% 0%, rgba(243, 194, 122, .06), transparent 70%), linear-gradient(180deg, #17120e, #0f0c0a); box-shadow: 0 60px 100px -60px rgba(0, 0, 0, .95), 0 30px 80px -60px rgba(210, 106, 78, .45); scroll-margin-top: calc(var(--header-h) + 20px); }
.ct-sheet::before { content: ""; position: absolute; top: 0; bottom: 0; inset-inline-start: clamp(22px, 2.4vw, 34px); width: 1px; background: repeating-linear-gradient(180deg, rgba(224, 122, 92, .35) 0 6px, transparent 6px 12px); }
.ct-sheet__punch { position: absolute; top: 0; bottom: 0; inset-inline-start: 0; width: clamp(22px, 2.4vw, 34px); display: flex; flex-direction: column; justify-content: space-around; align-items: center; padding-block: 60px; }
.ct-sheet__punch i { width: 12px; height: 12px; border-radius: 50%; background: var(--bg); box-shadow: inset 0 2px 3px rgba(0, 0, 0, .8), 0 1px 0 rgba(255, 236, 214, .07); }
.ct-sheet__bar { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-bottom: 14px; border-bottom: 3px double var(--line-2); font-size: 10.5px; color: var(--muted); direction: ltr; }
.ct-sheet__brand { display: inline-flex; align-items: center; gap: 10px; color: var(--gold-l); }
.ct-sheet__brand svg { width: 22px; height: 22px; }
.ct-sheet__intro { display: flex; gap: 14px; align-items: flex-start; margin-block: 20px 22px; }
.ct-sheet__ico { flex: none; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; color: var(--gold-l); background: rgba(224, 169, 95, .08); border: 1px solid rgba(224, 169, 95, .28); }
.ct-sheet__title { font-size: clamp(1.2rem, 1rem + .6vw, 1.5rem); font-weight: 900; line-height: 1.5; }
.ct-sheet__intro p { margin-top: 4px; color: var(--text-2); font-size: 14.5px; line-height: 1.95; }

.ct-form { display: grid; gap: 18px; }
.ct-group { margin: 0; padding: 0; border: 0; min-width: 0; }
.ct-group__legend { display: inline-flex; align-items: center; gap: 10px; padding: 0; font-weight: 900; font-size: 15px; color: var(--text); }
.ct-group__legend .mono { padding: 2px 7px; border-radius: 6px; font-size: 10.5px; color: var(--gold-l); border: 1px solid rgba(224, 169, 95, .35); background: rgba(224, 169, 95, .06); }
.ct-group__hint { margin: 4px 0 12px; color: var(--muted); font-size: 13.5px; }
.ct-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--line-2); border-radius: 14px; overflow: hidden; background: rgba(255, 236, 214, .015); }
.ct-grid > .ct-field { border-bottom: 1px solid var(--line); }
.ct-grid > .ct-field:nth-child(odd):not(.ct-field--full) { border-inline-end: 1px solid var(--line); }
.ct-grid > .ct-field:last-child { border-bottom: 0; }
.ct-field { position: relative; display: flex; flex-direction: column; min-width: 0; padding: 10px 14px 8px; transition: background-color .3s, box-shadow .3s; }
.ct-field--full { grid-column: 1 / -1; }
.ct-field__label { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 13px; font-weight: 800; color: var(--text-2); cursor: pointer; }
.ct-field__code { order: 2; font-size: 9.5px; font-weight: 600; color: rgba(224, 169, 95, .55); direction: ltr; }
.ct-field input, .ct-field textarea { width: 100%; min-width: 0; margin-top: 2px; padding: 6px 0; border: 0; border-radius: 0; outline: 0; background: transparent; color: var(--text); font: 600 16px/1.7 var(--font); caret-color: var(--gold-l); }
.ct-field input[dir="ltr"] { text-align: right; }
.ct-field :is(input, textarea)::placeholder { color: transparent; }
.ct-field textarea { min-height: 150px; resize: vertical; padding-top: 4px; line-height: 32px; background: repeating-linear-gradient(180deg, transparent 0 31px, rgba(255, 236, 214, .07) 31px 32px) 0 4px / 100% 32px local; }
.ct-field:focus-within { background: rgba(224, 169, 95, .05); box-shadow: inset 0 -2px 0 var(--gold); }
.ct-field:focus-within .ct-field__label { color: var(--gold-l); }
.ct-field :is(input, textarea):focus-visible { outline: 0; }
.ct-field input:-webkit-autofill { -webkit-text-fill-color: var(--text); box-shadow: 0 0 0 100px #19130f inset; transition: background-color 9999s; }
.ct-form > .ct-field--full { border: 1px solid var(--line-2); border-radius: 14px; background: rgba(255, 236, 214, .015); }
.ct-form > .ct-field--full:focus-within { border-color: rgba(224, 169, 95, .5); }
/* Validation hooks (feature-form-validation.js) */
.ct-field.has-fa-error { background: rgba(255, 122, 110, .06); box-shadow: inset 0 -2px 0 var(--ct-err); }
.ct-field.has-fa-error .ct-field__label { color: var(--ct-err); }
.cinema-page--page-contact .id-fa-field-error { margin: 2px 0 4px; font-size: 12.5px; font-weight: 700; line-height: 1.8; color: var(--ct-err); }
.ct-field [aria-invalid="true"] { caret-color: var(--ct-err); }

/* Captcha → crew access pass */
.ct-pass { position: relative; display: grid; gap: 10px; padding: 18px 20px 18px; padding-inline-end: 64px; border-radius: 16px; border: 1px solid rgba(90, 167, 178, .35); background: radial-gradient(90% 120% at 0% 0%, rgba(90, 167, 178, .1), transparent 60%), #0f0d0b; overflow: hidden; }
.ct-pass::before { content: ""; position: absolute; top: 0; bottom: 0; inset-inline-end: 50px; width: 0; border-inline-start: 1px dashed rgba(90, 167, 178, .35); }
.ct-pass__hole { position: absolute; top: 50%; inset-inline-end: -9px; width: 18px; height: 18px; margin-top: -9px; border-radius: 50%; background: #120e0b; border: 1px solid rgba(90, 167, 178, .35); }
.ct-pass__code { position: absolute; top: 50%; inset-inline-end: 25px; translate: 50% -50%; rotate: 90deg; font-size: 9.5px; color: var(--teal); white-space: nowrap; }
.ct-pass__bars { position: absolute; top: 14px; bottom: 14px; inset-inline-end: 10px; width: 10px; background: repeating-linear-gradient(180deg, rgba(90, 167, 178, .55) 0 2px, transparent 2px 4px, rgba(90, 167, 178, .4) 4px 5px, transparent 5px 8px, rgba(90, 167, 178, .6) 8px 11px, transparent 11px 13px); opacity: .5; }
.ct-pass__code { inset-inline-end: 34px; }
.ct-pass__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.ct-pass__title { display: inline-flex; align-items: center; gap: 10px; font-size: 14.5px; font-weight: 900; color: var(--text); }
.ct-pass__title .ico { color: var(--teal); }
.ct-pass__refresh { padding: 6px 14px; border-radius: 999px; border: 1px solid var(--line-2); font-size: 13px; font-weight: 800; color: var(--text-2); transition: border-color .3s, color .3s, background-color .3s; }
.ct-pass__refresh:hover:not(:disabled) { border-color: var(--teal); color: var(--text); background: rgba(90, 167, 178, .1); }
.ct-pass__refresh:disabled { opacity: .45; cursor: wait; }
.ct-pass__q { font-size: clamp(1rem, .95rem + .3vw, 1.15rem); font-weight: 900; line-height: 1.8; color: var(--gold-l); }
.ct-pass__err { font-size: 12.5px; font-weight: 700; line-height: 1.8; color: var(--ct-err); }
.ct-pass__answer { padding: 8px 14px 6px; border-radius: 12px; border: 1px solid var(--line-2); background: rgba(255, 236, 214, .02); }
.ct-pass__answer:focus-within { border-color: rgba(224, 169, 95, .5); }
.ct-pass__answer input { direction: ltr; text-align: right; font-variant-numeric: tabular-nums; }
.ct-pass__answer input:disabled { cursor: not-allowed; opacity: .55; }

.ct-form__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 22px; padding-top: 18px; border-top: 1px dashed var(--line-2); }
.ct-form__foot p { flex: 1 1 260px; max-width: 46ch; color: var(--muted); font-size: 13.5px; line-height: 1.9; }
.ct-submit { flex: none; gap: 14px; }
.ct-submit::after { content: ""; width: 20px; height: 20px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m22 2-7 20-4-9-9-4Z'/%3E%3Cpath d='M22 2 11 13'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m22 2-7 20-4-9-9-4Z'/%3E%3Cpath d='M22 2 11 13'/%3E%3C/svg%3E") center / contain no-repeat; transform: scaleX(-1); }
.ct-submit:disabled { opacity: .5; cursor: not-allowed; transform: none; box-shadow: none; }
.ct-submit:disabled::before { display: none; }
/* Runtime feedback box (public-runtime.js appends p[data-form-feedback]) */
.ct-form [data-form-feedback] { margin: 0; padding: 12px 16px; border-radius: 12px; border: 1px solid; font-size: 14px; font-weight: 800; line-height: 1.9; }
.ct-form [data-form-feedback][role="status"] { color: var(--ct-ok); border-color: rgba(95, 194, 122, .4); background: rgba(95, 194, 122, .08); }
.ct-form [data-form-feedback][role="alert"] { color: var(--ct-err); border-color: rgba(255, 122, 110, .4); background: rgba(255, 122, 110, .07); }

/* Booking → stripboard (feature-consultation.js renders inside) */
.ct-booking { position: sticky; top: calc(var(--header-h) + 20px); border-radius: 22px; border: 1px solid var(--line-2); background: radial-gradient(100% 50% at 50% 0%, rgba(90, 167, 178, .08), transparent 70%), linear-gradient(180deg, #16110e, #0e0b09); box-shadow: 0 50px 90px -60px rgba(0, 0, 0, .95); overflow: hidden; }
.ct-booking__bar { display: flex; justify-content: space-between; align-items: center; padding: 12px 20px; border-bottom: 1px solid var(--line); font-size: 10.5px; color: var(--muted); direction: ltr; }
.ct-booking__bar span:first-child { display: inline-flex; align-items: center; gap: 8px; color: var(--gold-l); }
.ct-booking__strips { display: grid; gap: 4px; padding: 14px 20px 0; }
.ct-booking__strips i { display: block; height: 6px; border-radius: 2px; background: linear-gradient(90deg, var(--c), color-mix(in srgb, var(--c) 30%, transparent)); opacity: .55; }
.ct-booking__strips i:nth-child(1) { width: 92%; } .ct-booking__strips i:nth-child(2) { width: 64%; } .ct-booking__strips i:nth-child(3) { width: 80%; } .ct-booking__strips i:nth-child(4) { width: 48%; } .ct-booking__strips i:nth-child(5) { width: 72%; }
.ct-booking__root { display: grid; gap: 16px; padding: 18px 20px 22px; }
.ct-booking__head { display: flex; gap: 14px; align-items: flex-start; }
.ct-booking__ico { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; color: var(--teal); background: rgba(90, 167, 178, .1); border: 1px solid rgba(90, 167, 178, .3); }
.ct-booking__head h3 { font-size: clamp(1.1rem, 1rem + .4vw, 1.3rem); font-weight: 900; line-height: 1.6; }
.ct-booking__head p { color: var(--muted); font-size: 13.5px; font-weight: 700; }
.ct-booking__loading, .ct-booking [data-consultation-calendar] > div { padding: 16px; border-radius: 14px; border: 1px dashed var(--line-2); background: rgba(255, 236, 214, .02); color: var(--text-2); font-size: 14px; font-weight: 800; }
.ct-booking__loading::before, .ct-booking [data-consultation-calendar] > div::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-inline-end: 10px; border-radius: 50%; background: var(--teal); box-shadow: 0 0 10px var(--teal); vertical-align: middle; animation: blink 1.4s steps(2, jump-none) infinite; }
.ct-booking [data-consultation-booking-form] { display: grid; gap: 14px; }
.ct-booking [data-consultation-booking-form] > div:has(> [data-consultation-date]) { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.ct-booking [data-consultation-date] { position: relative; display: grid; gap: 2px; padding: 10px 8px 9px; padding-inline-start: 14px; border-radius: 10px; border: 1px solid var(--line-2); background: rgba(255, 236, 214, .025); text-align: start; color: var(--text-2); transition: border-color .3s, background-color .3s, color .3s; }
.ct-booking [data-consultation-date]::before { content: ""; position: absolute; top: 8px; bottom: 8px; inset-inline-start: 5px; width: 3px; border-radius: 2px; background: var(--teal); opacity: .5; }
.ct-booking [data-consultation-date] span:first-child { font-size: 12px; font-weight: 900; color: var(--text); }
.ct-booking [data-consultation-date] span + span { font-size: 11.5px; font-weight: 700; }
.ct-booking [data-consultation-date]:hover { border-color: rgba(224, 169, 95, .45); }
.ct-booking [data-consultation-date][aria-pressed="true"] { border-color: var(--gold); background: rgba(224, 169, 95, .1); color: var(--gold-l); }
.ct-booking [data-consultation-date][aria-pressed="true"]::before { background: var(--grad-fire); opacity: 1; }
.ct-booking [data-consultation-booking-form] > div:has(> [data-consultation-slot]) { display: flex; flex-wrap: wrap; gap: 8px; }
.ct-booking [data-consultation-slot] { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border-radius: 999px; border: 1px solid rgba(90, 167, 178, .35); background: rgba(90, 167, 178, .05); color: var(--text); font-size: 12.5px; font-weight: 800; font-variant-numeric: tabular-nums; transition: border-color .3s, background-color .3s, color .3s; }
.ct-booking [data-consultation-slot]:hover:not(:disabled) { border-color: var(--teal); background: rgba(90, 167, 178, .14); }
.ct-booking [data-consultation-slot][aria-pressed="true"] { border-color: transparent; background: var(--grad-fire); color: #1a0d08; }
.ct-booking [data-consultation-slot]:disabled { opacity: .45; cursor: not-allowed; text-decoration: line-through; text-decoration-color: rgba(255, 122, 110, .6); }
.ct-booking [data-consultation-booking-form] > div:has([name="consultationName"]) { display: grid; gap: 8px; }
.ct-booking [data-consultation-booking-form] div:has(> [data-consultation-field="email"]) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.ct-booking [data-consultation-booking-form] :is(input, textarea) { width: 100%; min-width: 0; height: 46px; padding: 0 14px; border-radius: 12px; border: 1px solid var(--line-2); outline: 0; background: rgba(255, 236, 214, .03); color: var(--text); font: 600 15px/1.6 var(--font); transition: border-color .3s, box-shadow .3s; }
.ct-booking [data-consultation-booking-form] textarea { height: auto; min-height: 80px; padding-block: 10px; resize: vertical; }
.ct-booking [data-consultation-booking-form] :is(input, textarea)::placeholder { color: var(--muted); opacity: 1; }
.ct-booking [data-consultation-booking-form] :is(input, textarea):focus-visible { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(224, 169, 95, .18); }
.ct-booking [data-consultation-booking-form] [aria-invalid="true"] { border-color: var(--ct-err); }
.ct-booking [data-consultation-booking-form] > button[type="submit"] { justify-self: start; display: inline-flex; align-items: center; justify-content: center; height: 48px; padding-inline: 26px; border-radius: 999px; color: #1a0d08; background: var(--grad-fire); font-size: 14.5px; font-weight: 900; box-shadow: 0 12px 30px -12px rgba(210, 106, 78, .75), inset 0 1px 0 rgba(255, 255, 255, .35); transition: transform .35s var(--ease-out), box-shadow .35s; }
.ct-booking [data-consultation-booking-form] > button[type="submit"]:hover:not(:disabled) { transform: translateY(-2px); }
.ct-booking [data-consultation-booking-form] > button[type="submit"]:disabled { opacity: .5; cursor: not-allowed; box-shadow: none; }
.ct-booking [data-consultation-booking-form] p { margin-top: 6px; font-size: 12.5px; font-weight: 700; line-height: 1.8; color: var(--ct-err); }
.ct-booking [data-consultation-feedback] { margin-top: 14px; padding: 12px 14px; border-radius: 12px; border: 1px solid; font-size: 13px; font-weight: 800; line-height: 1.9; }
.ct-booking [data-consultation-feedback="success"] { color: var(--ct-ok); border-color: rgba(95, 194, 122, .4); background: rgba(95, 194, 122, .08); }
.ct-booking [data-consultation-feedback="error"] { color: var(--ct-err); border-color: rgba(255, 122, 110, .35); background: rgba(255, 122, 110, .06); }

/* ---------- FAQ: radio sign-off ---------- */
.cinema-page--page-contact .faq { isolation: isolate; overflow: clip; }
.cinema-page--page-contact .faq::before { content: "OVER"; position: absolute; z-index: -1; bottom: 3%; left: 2%; font: 700 clamp(90px, 15vw, 220px)/1 var(--mono); letter-spacing: .04em; color: transparent; -webkit-text-stroke: 1px rgba(255, 236, 214, .06); direction: ltr; pointer-events: none; }
.cinema-page--page-contact .faq::after { content: ""; position: absolute; z-index: -1; top: 12%; right: -8%; width: min(60vw, 620px); aspect-ratio: 1; border-radius: 50%; background: repeating-radial-gradient(circle, rgba(243, 194, 122, .05) 0 1px, transparent 1px 34px); -webkit-mask-image: radial-gradient(closest-side, #000 30%, transparent); mask-image: radial-gradient(closest-side, #000 30%, transparent); pointer-events: none; }
.cinema-page--page-contact .qa[open] .qa__num::after { content: " · RX"; color: var(--teal); }

/* ---------- SC·05 Location scout ---------- */
.ct-scout__head { margin-bottom: clamp(28px, 3.6vw, 48px); }
.ct-scout__grid { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: clamp(18px, 2.4vw, 32px); align-items: stretch; }
.ct-scout__sheet { position: relative; display: flex; flex-direction: column; gap: 16px; padding-bottom: 24px; border-radius: 20px; border: 1px solid var(--line-2); background: radial-gradient(90% 60% at 100% 0%, rgba(224, 169, 95, .07), transparent 60%), linear-gradient(180deg, #17120f, #0f0c0a); font-style: normal; overflow: hidden; }
.ct-scout__bar { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 12px 22px; border-bottom: 1px dashed var(--line-2); font-size: 10.5px; color: var(--muted); direction: ltr; }
.ct-scout__bar span:first-child { color: var(--gold-l); }
.ct-scout__stamp { position: absolute; top: 58px; inset-inline-end: 22px; padding: 5px 12px; border: 2px solid rgba(224, 96, 90, .7); border-radius: 8px; color: #e8726b; font-size: 13px; font-weight: 900; line-height: 1.6; transform: rotate(-7deg); opacity: .85; box-shadow: inset 0 0 0 1px rgba(224, 96, 90, .25); }
.ct-scout__pin { display: flex; align-items: flex-start; gap: 12px; padding: 22px 22px 0; padding-inline-end: 150px; font-size: clamp(1.2rem, 1rem + .8vw, 1.65rem); font-weight: 900; line-height: 1.65; color: var(--text); }
.ct-scout__pin .ico { flex: none; margin-top: .35em; color: var(--terra-l); width: 1.1em; height: 1.1em; }
.ct-scout__rows { display: grid; margin: 0 22px; border-top: 1px solid var(--line); }
.ct-scout__rows > div { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 12px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--line); }
.ct-scout__rows dt { display: flex; flex-direction: column; color: var(--muted); font-size: 13.5px; font-weight: 700; line-height: 1.6; }
.ct-scout__rows dt .mono { font-size: 9px; color: rgba(224, 169, 95, .6); }
.ct-scout__rows dd { margin: 0; min-width: 0; font-weight: 800; color: var(--text); overflow-wrap: anywhere; }
.ct-scout__rows dd a { color: var(--gold-l); border-bottom: 1px solid rgba(224, 169, 95, .35); transition: color .3s, border-color .3s; }
.ct-scout__rows dd a:hover { color: var(--text); border-color: var(--gold); }
.ct-scout__rows dd a[dir="ltr"] { display: inline-block; }
.ct-scout__geo { margin: 0 22px; font-size: 11px; color: var(--teal); text-align: left; }
.ct-scout__open { align-self: flex-start; margin: 4px 22px 0; }
.ct-scout__map { position: relative; display: flex; flex-direction: column; margin: 0; border-radius: 20px; border: 1px solid rgba(90, 167, 178, .35); background: #060909; overflow: hidden; box-shadow: 0 60px 110px -60px rgba(90, 167, 178, .5); }
.ct-scout__hud, .ct-scout__map figcaption { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 11px 18px; font-size: 10.5px; color: var(--teal); direction: ltr; }
.ct-scout__hud { border-bottom: 1px solid rgba(90, 167, 178, .22); }
.ct-scout__hud span:first-child { display: inline-flex; align-items: center; gap: 8px; }
.ct-scout__map figcaption { border-top: 1px solid rgba(90, 167, 178, .22); color: rgba(90, 167, 178, .8); }
.ct-scout__frame { position: relative; flex: 1; min-height: clamp(320px, 34vw, 480px); background: #0b1213; }
.ct-scout__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: invert(.9) hue-rotate(180deg) saturate(.5) brightness(.92) contrast(.92); }
.ct-scout__frame::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: repeating-linear-gradient(0deg, rgba(0, 0, 0, .12) 0 1px, transparent 1px 3px), radial-gradient(75% 75% at 50% 50%, transparent 55%, rgba(3, 8, 9, .7)), linear-gradient(rgba(90, 167, 178, .08), rgba(90, 167, 178, .08)); }
.ct-scout__cross { position: absolute; z-index: 2; left: 50%; top: 50%; width: 74px; height: 74px; margin: -37px 0 0 -37px; border-radius: 50%; border: 1px solid rgba(224, 122, 92, .8); box-shadow: 0 0 0 10px rgba(224, 122, 92, .06), 0 0 30px rgba(224, 122, 92, .35); pointer-events: none; animation: ct-lock 3.2s ease-in-out infinite; }
.ct-scout__cross::before, .ct-scout__cross::after { content: ""; position: absolute; background: rgba(224, 122, 92, .85); }
.ct-scout__cross::before { left: 50%; top: -18px; bottom: -18px; width: 1px; -webkit-mask: linear-gradient(#000 0 22px, transparent 22px calc(100% - 22px), #000 calc(100% - 22px)); mask: linear-gradient(#000 0 22px, transparent 22px calc(100% - 22px), #000 calc(100% - 22px)); }
.ct-scout__cross::after { top: 50%; left: -18px; right: -18px; height: 1px; -webkit-mask: linear-gradient(90deg, #000 0 22px, transparent 22px calc(100% - 22px), #000 calc(100% - 22px)); mask: linear-gradient(90deg, #000 0 22px, transparent 22px calc(100% - 22px), #000 calc(100% - 22px)); }
.ct-scout__frame .frame-corners { z-index: 2; --cc: rgba(90, 167, 178, .8); opacity: .7; }

/* ---------- Keyframes ---------- */
@keyframes ct-scan {
  0%, 14% { transform: translateY(0); }
  16.667%, 30.667% { transform: translateY(-14.2857%); }
  33.333%, 47.333% { transform: translateY(-28.5714%); }
  50%, 64% { transform: translateY(-42.8571%); }
  66.667%, 80.667% { transform: translateY(-57.1429%); }
  83.333%, 97.333% { transform: translateY(-71.4286%); }
  100% { transform: translateY(-85.7143%); }
}
@keyframes ct-led { 0%, 15.5% { background: var(--ct-amber); box-shadow: 0 0 8px var(--ct-amber); } 16.667%, 100% { background: #3a2e26; box-shadow: none; } }
@keyframes ct-key { 0%, 15.5% { color: var(--ct-amber); border-color: rgba(243, 194, 122, .4); } 16.667%, 100% { color: var(--muted); border-color: rgba(255, 236, 214, .1); } }
@keyframes ct-ring { 0% { opacity: 0; transform: scale(.08); } 12% { opacity: .9; } 100% { opacity: 0; transform: scale(1); } }
@keyframes ct-tip { 50% { box-shadow: 0 0 .6cqi rgba(243, 194, 122, .4); } }
@keyframes ct-wave { to { transform: translateX(-240px); } }
@keyframes ct-tune { 0% { transform: translateX(14vw); } 40% { transform: translateX(52vw); } 46% { transform: translateX(49vw); } 100% { transform: translateX(84vw); } }
@keyframes ct-sig { 50% { opacity: .35; } }
@keyframes ct-lock { 50% { transform: scale(.88); } }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
  .cinema-page--page-contact .cx-hero__visual--radio { position: relative; top: auto; left: auto; z-index: 1; width: min(100%, 420px); margin: 30px auto 0; opacity: 1; pointer-events: none; }
  .ct-switch { grid-template-columns: 1fr; }
  .ct-shift { display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "bar bar" "main week" "main day"; column-gap: 24px; row-gap: 14px; align-items: center; }
  .ct-shift__bar { grid-area: bar; }
  .ct-shift__main { grid-area: main; }
  .ct-week { grid-area: week; }
  .ct-day { grid-area: day; }
  .ct-desk { grid-template-columns: 1fr; }
  .ct-booking { position: relative; top: auto; }
  .ct-scout__grid { grid-template-columns: 1fr; }
}
@media (max-width: 860px) {
  .ct-lines { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ct-line--xl { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .cinema-page--page-contact .cx-hero__visual--radio { width: min(100%, 330px); margin-top: 22px; }
  .ct-radio__tag--2 { right: -4%; }
  .cinema-page--page-contact .set--ct-band::before { opacity: .7; }
  .ct-line__link { padding: 14px 28px; column-gap: 12px; row-gap: 12px; }
  .ct-line__ear { width: 18px; padding-block: 12px; }
  .ct-line__ear i { width: 8px; height: 8px; }
  .ct-line__jack { width: 42px; height: 42px; }
  .ct-line__jack .ico { width: 18px; height: 18px; }
  .ct-line__label { font-size: 14.5px; }
  .ct-line__value { font-size: 10.5px; }
  .ct-line__band { display: none; }
  .ct-line--xl .ct-line__jack { width: 52px; height: 52px; }
  .ct-shift { display: flex; padding: 16px; }
  .ct-sheet { padding: 18px 16px 20px; padding-inline-start: 38px; }
  .ct-sheet__bar > span:last-child { display: none; }
  .ct-sheet__intro { margin-block: 16px 18px; }
  .ct-sheet__ico { width: 40px; height: 40px; }
  .ct-grid { grid-template-columns: 1fr; }
  .ct-grid > .ct-field:nth-child(odd):not(.ct-field--full) { border-inline-end: 0; }
  .ct-pass { padding: 16px; padding-inline-end: 56px; }
  .ct-pass::before { inset-inline-end: 44px; }
  .ct-pass__code { inset-inline-end: 29px; }
  .ct-form__foot .ct-submit { flex: 1 1 100%; }
  .ct-booking__root { padding: 16px; }
  .ct-booking__bar, .ct-booking__strips { padding-inline: 16px; }
  .ct-booking [data-consultation-booking-form] div:has(> [data-consultation-field="email"]) { grid-template-columns: 1fr; }
  .ct-booking [data-consultation-booking-form] > button[type="submit"] { justify-self: stretch; }
  .ct-scout__stamp { position: static; align-self: flex-start; margin: 0 18px -4px; transform: rotate(-3deg); }
  .ct-scout__pin { padding: 0 18px; }
  .ct-scout__bar { padding-inline: 18px; }
  .ct-scout__rows, .ct-scout__geo { margin-inline: 18px; }
  .ct-scout__open { margin-inline: 18px; align-self: stretch; }
  .ct-scout__rows > div { grid-template-columns: 104px minmax(0, 1fr); }
  .ct-scout__frame { min-height: 300px; }
  .ct-scout__map figcaption span:last-child { display: none; }
  .cinema-page--page-contact .faq::after { display: none; }
}
@media (max-width: 380px) {
  .ct-lines { grid-template-columns: 1fr; }
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  .ct-radio__ticker ol, .ct-radio__keys li, .ct-radio__keys i, .ct-radio__field i, .ct-radio__antenna > i, .ct-radio__scope path, .ct-radio__bars i, .ct-radio__tag,
  .cinema-page--page-contact .set--ct-band::after, .ct-switch__rail i, .ct-line__sig i, .ct-line__jack::after, .ct-scout__cross, .ct-booking__loading::before, .ct-booking [data-consultation-calendar] > div::before { animation: none !important; }
  .ct-radio__keys li:first-child { color: var(--ct-amber); border-color: rgba(243, 194, 122, .4); }
  .ct-radio__keys li:first-child i { background: var(--ct-amber); box-shadow: 0 0 8px var(--ct-amber); }
  .ct-radio__field i:first-child { opacity: .35; transform: scale(.5); }
  .cinema-page--page-contact .set--ct-band::after { transform: translateX(52vw); }
  .ct-line__link, .ct-line__jack { transition: none; }
  .ct-line__link:hover, .ct-line__link:focus-visible { transform: none; }
}
