:root {
  --ink:#171a22; --paper:#f3f0e6; --white:#fffdf7;
  --blue:#1434cb; --orange:#ff552b; --mint:#bdf7dc;
  --line:rgba(23,26,34,.2); --rail:226px; --pad:clamp(24px,4vw,72px);
  --mono:"IBM Plex Mono","Roboto Mono",Consolas,monospace;
  --sans:Inter,"Arial Nova",Arial,sans-serif;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); line-height:1.55; overflow-x:hidden; }
body:before { content:""; position:fixed; inset:0; z-index:-2; background-image:linear-gradient(rgba(20,52,203,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(20,52,203,.055) 1px,transparent 1px); background-size:32px 32px; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
button,input,select,textarea { font:inherit; }
main,main * { min-width:0; }
main h1,main h2,main h3 { overflow-wrap:anywhere; hyphens:auto; }
.ah-skip { position:fixed; top:-100px; left:20px; z-index:999; background:var(--white); padding:12px; }
.ah-skip:focus { top:12px; }
.ah-shell { margin-left:var(--rail); min-height:100vh; }
.ah-rail { position:fixed; inset:0 auto 0 0; width:var(--rail); z-index:90; display:flex; flex-direction:column; background:var(--ink); color:var(--white); border-right:6px solid var(--blue); }
.ah-brand { display:flex; gap:12px; align-items:center; padding:28px 18px 24px; border-bottom:1px solid rgba(255,255,255,.18); }
.ah-brand-mark { position:relative; width:48px; height:48px; display:grid; place-items:center; border:1px solid var(--mint); border-radius:50%; }
.ah-brand-mark i { position:absolute; width:62px; height:1px; background:var(--orange); transform:rotate(-35deg); }
.ah-brand-mark b { font:800 14px var(--mono); }
.ah-brand strong { display:block; font:900 17px var(--mono); letter-spacing:.04em; }
.ah-brand small { font:9px var(--mono); color:var(--mint); }
.ah-menu-button { display:none; }
.ah-nav { display:flex; flex-direction:column; padding:22px 0; }
.ah-nav a { display:grid; grid-template-columns:38px 1fr; align-items:center; padding:14px 18px; border-top:1px solid rgba(255,255,255,.1); font-size:13px; }
.ah-nav a:last-child { border-bottom:1px solid rgba(255,255,255,.1); }
.ah-nav a:hover,.ah-nav a:focus { background:var(--blue); }
.ah-nav em { font:10px var(--mono); font-style:normal; color:var(--mint); }
.ah-home-link { background:rgba(189,247,220,.08); }
.ah-rail-action { margin:auto 16px 18px; padding:14px; border:1px solid var(--orange); font-weight:800; font-size:13px; }
.ah-rail-action span { color:var(--orange); }
.ah-rail-foot { display:flex; align-items:center; gap:7px; padding:0 17px 18px; font:9px var(--mono); color:#b9bbc2; }
.ah-rail-foot i { height:1px; background:#777; flex:1; }
.ah-status-line { height:35px; background:var(--mint); display:flex; justify-content:space-between; align-items:center; padding:0 var(--pad); font:700 9px var(--mono); letter-spacing:.08em; }
.ah-status-line b { background:var(--ink); color:#fff; padding:4px 10px; }
.ah264-index { font:800 10px var(--mono); letter-spacing:.1em; }
.ah264-button { display:inline-flex; align-items:center; justify-content:space-between; gap:22px; padding:15px 20px; border:1px solid currentColor; font-weight:850; }
.ah264-button--hot { background:var(--orange); color:var(--ink); border-color:var(--orange); }
.ah264-button--glass { background:rgba(255,255,255,.08); color:#fff; }
.ah264-section-head { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(240px,.7fr) auto; gap:36px; align-items:end; margin-bottom:36px; }
.ah264-section-head h2 { font-size:clamp(30px,4vw,60px); line-height:.98; max-width:780px; margin:9px 0; }
.ah264-section-head>p { margin:0; }
.ah264-section-head>a { font:800 11px var(--mono); border-bottom:2px solid var(--orange); padding:8px 0; }
.ah264-hero { position:relative; min-height:calc(100vh - 35px); display:grid; grid-template-columns:1fr minmax(230px,27%); align-items:end; color:#fff; background:#0d1020; overflow:hidden; }
.ah264-hero__image,.ah264-hero__scrim { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.ah264-hero__scrim { background:linear-gradient(180deg,rgba(3,6,18,.12),rgba(3,6,18,.9)),linear-gradient(90deg,rgba(20,52,203,.55),transparent 57%); }
.ah264-hero__copy { position:relative; z-index:2; padding:clamp(70px,10vw,145px) var(--pad) 60px; max-width:950px; }
.ah264-eyebrow { font:800 11px var(--mono); text-transform:uppercase; letter-spacing:.09em; }
.ah264-hero h1 { font-size:clamp(54px,8vw,126px); line-height:.79; letter-spacing:-.065em; margin:24px 0 35px; }
.ah264-hero h1 em { color:var(--mint); font-style:normal; }
.ah264-hero__copy>p:last-of-type { font-size:clamp(17px,1.5vw,23px); max-width:700px; }
.ah264-hero__actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:30px; }
.ah264-hero__readout { position:relative; z-index:3; align-self:end; margin:0 var(--pad) 58px 0; padding:24px; background:var(--white); color:var(--ink); border-top:8px solid var(--orange); }
.ah264-hero__readout>span,.ah264-hero__readout>small { display:block; font:9px var(--mono); }
.ah264-hero__readout>strong { font:900 clamp(70px,8vw,110px)/.9 var(--mono); color:var(--blue); }
.ah264-hero__readout>p { font-weight:900; margin:5px 0 22px; }
.ah264-hero__readout>div { display:flex; justify-content:space-between; border-top:1px solid var(--line); padding:10px 0; }
.ah264-hero__coordinate { position:absolute; top:25px; right:var(--pad); z-index:3; font:10px var(--mono); writing-mode:vertical-rl; }
.ah264-calibrator { background:var(--blue); color:#fff; padding:70px var(--pad); }
.ah264-calibrator>header { display:grid; grid-template-columns:180px 1fr 1fr; gap:28px; align-items:end; }
.ah264-calibrator h2 { font-size:clamp(30px,4vw,56px); line-height:1; margin:0; }
.ah264-calibrator header p { max-width:500px; margin:0; }
.ah264-calibrator__controls { display:grid; grid-template-columns:repeat(3,1fr); margin-top:45px; border:1px solid rgba(255,255,255,.4); }
.ah264-calibrator fieldset { border:0; border-right:1px solid rgba(255,255,255,.4); padding:20px; }
.ah264-calibrator fieldset:last-child { border:0; }
.ah264-calibrator legend { font:800 10px var(--mono); background:var(--blue); padding:0 8px; }
.ah264-calibrator button { display:block; width:100%; text-align:left; background:transparent; color:#fff; border:0; border-bottom:1px solid rgba(255,255,255,.2); padding:13px 8px; cursor:pointer; }
.ah264-calibrator button:before { content:"○"; margin-right:10px; color:var(--mint); }
.ah264-calibrator button.is-active { background:var(--mint); color:var(--ink); font-weight:800; }
.ah264-calibrator button.is-active:before { content:"●"; color:var(--orange); }
.ah264-calibrator__result { display:grid; grid-template-columns:170px 180px 1fr; gap:30px; align-items:center; background:var(--white); color:var(--ink); padding:28px; }
.ah264-calibrator__result>span { font:800 10px var(--mono); }
.ah264-dial { width:145px; aspect-ratio:1; border-radius:50%; border:15px solid #dcdcd7; display:grid; place-items:center; position:relative; }
.ah264-dial i { position:absolute; inset:-15px; border-radius:50%; background:conic-gradient(var(--orange) var(--score,82%),transparent 0); mask:radial-gradient(transparent 57%,#000 58%); }
.ah264-dial b { font:900 36px var(--mono); }
.ah264-dial small { font:9px var(--mono); }
.ah264-calibrator__result h3 { font-size:28px; margin:0 0 8px; }
.ah264-calibrator__result a { font-weight:900; color:var(--blue); }
.ah264-ledger,.ah264-protocols,.ah264-method { padding:90px var(--pad); }
.ah264-ledger-row { display:grid; grid-template-columns:55px 55px minmax(230px,.8fr) 1fr 40px; gap:18px; align-items:center; padding:22px 8px; border-top:1px solid var(--ink); transition:.2s; }
.ah264-ledger-row:last-child { border-bottom:1px solid var(--ink); }
.ah264-ledger-row:hover { background:var(--mint); padding-left:20px; }
.ah264-ledger-row>span:first-child { font:800 12px var(--mono); }
.ah264-ledger-row__icon svg,.ah264-directory__icon svg { width:32px; height:32px; stroke:var(--blue); fill:none; stroke-width:1.5; }
.ah264-ledger-row h3 { font-size:23px; line-height:1.1; margin:4px 0; }
.ah264-ledger-row small { font:9px var(--mono); color:var(--blue); }
.ah264-ledger-row p { margin:0; }
.ah264-ledger-row>i { font-style:normal; font-size:23px; }
.ah264-filmstrip { display:grid; grid-template-columns:1.5fr .8fr .8fr 1fr; min-height:530px; background:var(--ink); gap:3px; }
.ah264-filmstrip figure { margin:0; position:relative; overflow:hidden; }
.ah264-filmstrip img { width:100%; height:100%; object-fit:cover; filter:saturate(.86); transition:.5s; }
.ah264-filmstrip figure:hover img { transform:scale(1.035); filter:saturate(1); }
.ah264-filmstrip figcaption { position:absolute; inset:auto 0 0; background:rgba(15,17,25,.82); color:#fff; padding:13px; font:800 9px var(--mono); }
.ah264-filmstrip .is-tall { transform:translateY(36px); }
.ah264-format-lab { display:grid; grid-template-columns:minmax(270px,.55fr) 1fr; gap:60px; padding:120px var(--pad) 90px; }
.ah264-format-lab__intro { position:sticky; top:30px; align-self:start; }
.ah264-format-lab__intro h2 { font-size:clamp(36px,5vw,67px); line-height:.94; margin:18px 0; }
.ah264-format-lab__matrix { border-top:1px solid var(--ink); }
.ah264-format-lab__matrix article { display:grid; grid-template-columns:140px 1fr; gap:25px; padding:28px 0; border-bottom:1px solid var(--ink); }
.ah264-format-lab article header span { font:900 38px var(--mono); color:var(--orange); }
.ah264-format-lab article h3 { margin:0; font-size:23px; }
.ah264-scale { grid-column:2; height:9px; background:#d6d3ca; }
.ah264-scale i { display:block; width:var(--value); height:100%; background:var(--blue); }
.ah264-format-lab dl { grid-column:2; margin:0; }
.ah264-format-lab dl>div { display:grid; grid-template-columns:90px 1fr; }
.ah264-format-lab dt { font:9px var(--mono); }
.ah264-format-lab dd { margin:0; font-weight:800; }
.ah264-format-lab article>a { grid-column:2; font:800 10px var(--mono); color:var(--blue); }
.ah264-city-signal { display:grid; grid-template-columns:1.15fr .85fr; background:var(--white); border-block:1px solid var(--ink); }
.ah264-city-signal__chart { min-height:560px; padding:60px var(--pad); display:flex; flex-direction:column; }
.ah264-city-signal__chart canvas { flex:1; max-height:430px; }
.ah264-city-signal__chart small { font:9px var(--mono); }
.ah264-city-signal__copy { background:var(--ink); color:#fff; padding:70px var(--pad); }
.ah264-city-signal__copy h2 { font-size:clamp(35px,4vw,62px); line-height:.95; margin:20px 0; }
.ah264-city-signal__copy ul { list-style:none; padding:0; margin:35px 0 0; }
.ah264-city-signal__copy li { display:grid; grid-template-columns:60px 1fr; border-top:1px solid rgba(255,255,255,.3); padding:14px 0; }
.ah264-city-signal__copy li span { color:var(--mint); font:800 11px var(--mono); }
.ah264-protocols { background:var(--mint); }
.ah264-protocols ol { padding:0; margin:0; list-style:none; }
.ah264-protocols li a { display:grid; grid-template-columns:70px 1fr 90px; gap:25px; align-items:center; border-top:1px solid var(--ink); padding:22px 0; }
.ah264-protocols li:last-child { border-bottom:1px solid var(--ink); }
.ah264-protocols li>a>span { font:900 28px var(--mono); color:var(--blue); }
.ah264-protocols h3 { font-size:24px; margin:3px 0; }
.ah264-protocols small,.ah264-protocols li>a>b { font:800 9px var(--mono); }
.ah264-protocols p { margin:4px 0; }
.ah264-core-index { display:grid; grid-template-columns:.7fr 1.3fr; gap:70px; padding:100px var(--pad); background:var(--blue); color:#fff; }
.ah264-core-index__sticky { position:sticky; top:40px; align-self:start; }
.ah264-core-index h2 { font-size:clamp(40px,5vw,68px); line-height:.95; }
.ah264-core-index__list>a { display:grid; grid-template-columns:55px 1fr 30px; align-items:center; border-top:1px solid rgba(255,255,255,.4); padding:16px 0; }
.ah264-core-index__list>a:last-child { border-bottom:1px solid rgba(255,255,255,.4); }
.ah264-core-index__list h3 { margin:3px 0; font-size:21px; }
.ah264-core-index small,.ah264-core-index__list>a>span { font:9px var(--mono); color:var(--mint); }
.ah264-method { background:var(--white); }
.ah264-method>div:first-child { display:grid; grid-template-columns:200px 1fr; }
.ah264-method h2 { font-size:clamp(38px,5vw,70px); margin:0; line-height:.95; }
.ah264-method ol { display:grid; grid-template-columns:repeat(4,1fr); padding:60px 0 35px; margin:0; list-style:none; }
.ah264-method li { padding:20px; border-left:1px solid var(--ink); }
.ah264-method li b { font:900 32px var(--mono); color:var(--orange); }
.ah264-method li h3 { font-size:20px; }
.ah264-method__links { display:flex; gap:10px; flex-wrap:wrap; border-top:1px solid var(--ink); padding-top:24px; }
.ah264-method__links a { background:var(--ink); color:#fff; padding:12px 18px; font-weight:800; }
