/* Only hero sizing and original film presentation. No global brand overrides. */
.architecture-help{background:none;border:0;border-bottom:1px solid #61748f;color:#c9d9ef;font:inherit;padding:6px 0;margin-left:12px;cursor:pointer;min-height:32px}
.architecture-help:hover{color:#73d8ff;border-color:currentColor}
.architecture-help:focus-visible,.architecture-info-dialog button:focus-visible,#films .film-play:focus-visible{outline:3px solid #73d8ff;outline-offset:4px}
.architecture-info-dialog{width:min(560px,calc(100vw - 40px));max-height:calc(100svh - 40px);padding:28px;background:#10152a;color:#f7f8ff;border:1px solid #61718e;border-radius:12px;overflow:auto}
.architecture-info-dialog::backdrop{background:#030611c9}
.architecture-info-dialog header{display:flex;justify-content:space-between;gap:16px;align-items:center}
.architecture-info-dialog header span{font:12px/1.6 ui-monospace,monospace;color:#ffbd72}
.architecture-info-dialog button{min-height:44px;padding:8px 14px;border:1px solid #61718e;color:#f7f8ff;background:transparent;border-radius:6px;cursor:pointer;font:inherit}
.architecture-info-dialog h2{margin:24px 0 12px;font-size:24px;line-height:1.5;letter-spacing:0}
.architecture-info-dialog p{font-size:16px;line-height:1.9;color:#c0cce0;margin:0}
.architecture-info-dialog .architecture-info-note{margin-top:24px;padding-top:16px;border-top:1px solid #364361;font-size:13px;line-height:1.8;color:#a9b6cd}
@media(min-width:761px){
  .hero{height:100svh;min-height:0;max-height:none;padding:116px max(4vw,calc((100vw - 1600px)/2)) 36px;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(28px,4vw,80px);overflow:hidden}
  .hero-copy{max-width:680px;width:100%}
  .hero h1{font-size:clamp(42px,min(5.3vw,8.5svh),86px)!important;line-height:1.13!important}
  .hero-description{margin:clamp(18px,3svh,32px) 0;max-width:490px;font-size:clamp(14px,1vw,16px);line-height:1.85}
  .hero .eyebrow{margin-bottom:clamp(16px,2.5svh,24px)}
  .hero .system-readout{display:none}
  .hero .scroll-cue{bottom:16px;left:max(4vw,calc((100vw - 1600px)/2))}
  .architecture-v2{width:100%;max-width:760px;justify-self:end}
  .architecture-v2 .architecture-heading{margin-bottom:12px;gap:4px}
  .architecture-v2 .architecture-heading>b{font-size:clamp(22px,2vw,28px);line-height:1.3}
  .architecture-v2 .architecture-heading>span{font-size:12px}
  .architecture-v2 .architecture-heading>small{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;line-height:1.5}
  .architecture-help{margin:0;white-space:nowrap}
  .arch-band-heading{margin-bottom:6px;font-size:13px;line-height:1.5}
  .arch-life{padding-bottom:10px;margin-bottom:12px}
  .arch-life .arch-node{padding:8px;min-height:44px}
  .arch-node{padding:10px 12px;gap:4px}
  .arch-node>b{font-size:15px;line-height:1.4}
  .arch-node>small{font-size:12px;line-height:1.5}
  .arch-node>span{font-size:11px}
  .arch-logic .arch-node{min-height:82px}
  .arch-devices{margin-top:54px}
  .arch-devices .arch-node{min-height:68px}
  .arch-foundation{margin-top:14px;padding:10px}
  .arch-foundation .arch-node{padding:6px;min-height:50px}
  .arch-legend{margin-top:10px;font-size:12px;gap:12px}
  .architecture-v2 .architecture-detail,.architecture-v2 .architecture-note{display:none}
}
@media(min-width:761px) and (max-height:800px){
  .hero{padding-top:104px;padding-bottom:32px}
  .architecture-v2 .architecture-heading>span{display:none}
  .arch-life .arch-band-heading{display:none}
  .arch-life{padding-bottom:8px;margin-bottom:10px}
  .arch-logic .arch-node{min-height:72px}
  .arch-devices .arch-node{min-height:58px}
  .arch-foundation .arch-node{min-height:44px}
}
@media(min-width:761px) and (max-height:680px){
  .site-header{height:72px}
  .hero{padding-top:88px;padding-bottom:24px}
  .hero .scroll-cue{display:none}
  .architecture-v2 .architecture-heading{margin-bottom:8px}
  .architecture-v2 .architecture-heading>b{font-size:22px}
  .arch-node>small{display:none}
  .arch-logic .arch-node{min-height:56px}
  .arch-devices .arch-node{min-height:48px}
  .arch-foundation{margin-top:10px;padding:8px}
  .arch-foundation .arch-node{min-height:44px}
  .arch-legend{margin-top:8px}
  .hero-description{font-size:14px;margin:18px 0}
}
@media(min-width:1000px) and (min-height:500px) and (max-height:580px){
  .hero{padding-bottom:12px}
  .architecture-v2 .architecture-heading>small{display:none}
  .arch-logic .arch-node{min-height:44px;grid-template-columns:auto 1fr;align-items:center;gap:6px}
  .arch-devices{margin-top:50px}
  .arch-legend{margin-top:6px}
}
/* Tiny landscape viewports prioritise readable content, never crop controls. */
@media(min-width:761px) and (max-height:499px){.hero{height:auto;min-height:100svh;overflow:visible}}
@media(min-width:761px) and (max-width:999px) and (max-height:600px){.hero{height:auto;min-height:100svh;overflow:visible}}
@media(max-width:760px){.architecture-help{margin-left:0}.architecture-v2 .architecture-heading>small{display:flex;align-items:center;justify-content:space-between;gap:8px}}
#films{padding-top:96px;padding-bottom:96px}
#films .film-heading{margin-bottom:40px;gap:32px}
#films .film-heading h2{font-size:clamp(32px,4vw,64px);line-height:1.18;letter-spacing:-.035em}
#films .film-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:920px;margin-inline:auto}
#films .film-stage{height:auto;aspect-ratio:9/16;border:1px solid #34405a;border-radius:8px;isolation:isolate}
#films .film-stage img{object-fit:cover;object-position:center;filter:none;transition:transform 400ms ease}
#films .film-stage:hover img{filter:none;transform:scale(1.025)}
#films .film-shade{background:linear-gradient(0deg,#030611f2,transparent 62%);pointer-events:none}
#films .film-play{inset:0;left:0;top:0;transform:none;width:100%;height:100%;border:0;border-radius:0;background:transparent;backdrop-filter:none;box-shadow:none;display:grid;place-items:center;transition:none}
#films .film-play:hover{background:transparent;transform:none;color:#73d8ff}
#films .film-play span{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;border:1px solid #dceaf0a6;background:#08102073;color:#fff;font-size:18px;transition:background 160ms,border-color 160ms,transform 160ms}
#films .film-play:hover span{background:#10152ac9;border-color:#73d8ff;transform:scale(1.05)}
#films .film-caption{left:24px;right:24px;bottom:24px;pointer-events:none;z-index:2}
#films .film-caption p{font-size:12px;line-height:1.6;color:#c7d7ee}
#films .film-caption h3{font-size:clamp(22px,2vw,30px);line-height:1.4;letter-spacing:0;margin:6px 0 10px}
#films .film-caption span{font-size:13px;line-height:1.6;color:#bbc9dd}
.film-player-dialog{width:fit-content;min-width:min(420px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100svh - 32px);padding:16px;border-radius:10px;overflow:auto}
.film-player-dialog header{margin-bottom:12px;gap:24px}
.film-player-dialog h3{font-size:16px;line-height:1.5}
.film-player-dialog button{min-height:44px;font:inherit;border-radius:6px}
.film-player-dialog video{width:auto;max-width:100%;height:auto;max-height:calc(100svh - 170px);aspect-ratio:9/16;object-fit:contain;margin-inline:auto}
.film-player-dialog>p{max-width:480px;line-height:1.6;margin:12px 0 0}
@media(max-width:1000px){#films .film-grid{gap:16px}#films .film-caption{left:16px;right:16px;bottom:16px}#films .film-caption h3{font-size:20px}}
@media(max-width:760px){#films .film-grid{grid-template-columns:1fr;gap:24px;max-width:420px;margin-inline:auto}#films .film-stage{max-height:none}#films .film-caption h3{font-size:26px}.film-player-dialog{padding:12px}.film-player-dialog video{max-height:calc(100svh - 180px)}}
@media(prefers-reduced-motion:reduce){#films .film-stage img,#films .film-play span{transition:none}#films .film-stage:hover img,#films .film-play:hover span{transform:none}}
