/* Source-derived composition studies. Scoped to the Aeroflot case. */
@font-face{font-family:"AF Golos";src:url("assets/aeroflot/fonts/golos-text_vf.ttf") format("truetype");font-weight:400 900;font-display:swap}
.af-case .af-lab{--lab-ink:#001e4e;--lab-paper:#fff;--lab-line:#ffffff40;--lab-accent:#91e4ed;background:var(--lab-ink);color:var(--lab-paper);padding:clamp(18px,3vw,44px);font-family:Manrope,"AF Golos",Arial,sans-serif}
.af-case .af-lab [hidden]{display:none!important}
.af-case .af-lab-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.af-case .af-lab button{font:inherit;cursor:pointer;min-height:44px;border:1px solid var(--lab-line);border-radius:0;background:transparent;color:inherit;padding:10px 15px;line-height:1.35;font-size:13px;transition:background .18s,color .18s,border-color .18s}
.af-case .af-lab button:hover{border-color:var(--lab-accent);background:#ffffff12}
.af-case .af-lab button[aria-pressed="true"]{background:var(--lab-paper);border-color:var(--lab-paper);color:var(--lab-ink)}
.af-case .af-lab button:focus-visible{outline:3px solid var(--lab-accent);outline-offset:4px;position:relative;z-index:2}
.af-case .af-lab-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:22px;border-bottom:1px solid var(--lab-line)}
.af-case .af-lab-kicker{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#b6c8de}
.af-case .af-lab-switch,.af-case .af-lab-controls{display:flex;flex-wrap:wrap;gap:8px}
.af-case .af-lab-switch{gap:0}
.af-case .af-lab-switch button+button{margin-left:-1px}
.af-case .af-lab-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(235px,290px);gap:clamp(22px,3vw,44px);padding-top:28px;align-items:start}
.af-case .af-lab-stage{height:540px;min-width:0;display:grid;place-items:center;background:#ffffff08;border:1px solid #ffffff18;padding:20px}
.af-case .af-lab-stage{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
.af-case .af-lab-stage svg{display:block;width:100%;height:100%;min-width:0;min-height:0;max-height:100%;overflow:visible}
.af-case .af-lab-stage.af-lab-frame-stage{height:610px;margin-top:24px}
.af-case .af-lab-side{display:flex;flex-direction:column;gap:22px;min-width:0}
.af-case .af-lab-side h3,.af-case .af-lab-readout h3{font-size:clamp(24px,2.4vw,36px);font-weight:500;letter-spacing:-.045em;line-height:1.15}
.af-case .af-lab p{font-size:14px;line-height:1.7;color:#d8e4f2}
.af-case .af-lab-stat{display:block;font-size:clamp(32px,3.1vw,48px);font-weight:500;letter-spacing:-.045em;line-height:1.1;margin-top:7px}
.af-case .af-lab-measure{border-top:1px solid var(--lab-line);padding-top:17px}
.af-case .af-lab-small{font-size:11px!important;line-height:1.65!important;color:#b6c8de!important}
.af-case .af-lab-aside-label{display:block;margin-bottom:10px;font-size:11px;letter-spacing:.03em;color:#b6c8de}
.af-case .af-lab-controls[data-lab-formats]{display:grid;grid-template-columns:1fr 1fr}
.af-case .af-lab-controls[data-lab-formats] button:last-child{grid-column:1/-1}
.af-case .af-lab-note{padding-top:22px;margin-top:28px;border-top:1px solid var(--lab-line);max-width:780px}
.af-case .af-lab-overlay{fill:#ff243f26;stroke:#f7193b;stroke-width:3;vector-effect:non-scaling-stroke;stroke-linejoin:round;pointer-events:none}
.af-case .af-lab-overlay.af-lab-outline{fill:none}
.af-case .af-lab-overlay.af-lab-space{fill:#ff243f45;stroke:#f7193b;stroke-width:1}
.af-case .af-lab-guide{fill:none;stroke:#f7193b;stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-dasharray:5 5;pointer-events:none}
.af-case .af-lab-readout{display:grid;grid-template-columns:1fr 1.6fr;gap:40px;padding-top:26px;min-height:140px}
.af-case .af-lab-frame-controls{margin-top:24px}
.af-case .af-lab-frame-controls button{flex:1 1 auto}
.af-case .af-lab-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;border-top:1px solid var(--lab-line);padding-top:25px;margin-top:24px}
.af-case .af-lab-principles h4{font-weight:500;font-size:17px;letter-spacing:-.02em;margin:0 0 12px}
.af-case .af-lab-principles p{font-size:12px}
.af-case .af-frame-related{margin-top:42px;display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,64px);align-items:start}
.af-case .af-frame-related h3{font-size:clamp(26px,3vw,42px);line-height:1.15;margin:12px 0 18px}
.af-case .af-frame-related p{font-size:14px;color:var(--af-muted);max-width:550px}
.af-case .af-frame-related figure{margin-top:22px}
.af-case .af-frame-related img{display:block;width:100%;height:auto;object-fit:contain}
.af-case .af-banner-study{grid-column:1/-1;border-top:1px solid var(--af-line);padding-top:30px;display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.7fr);gap:40px;align-items:center}
.af-case .af-banner-stage{background:#edf1f6;padding:clamp(10px,2vw,25px);min-width:0}
.af-case .af-banner-controls{display:flex;gap:7px;margin-top:16px}
.af-case .af-banner-controls button{min-height:44px;min-width:44px;border:1px solid var(--af-line);background:white;color:var(--af-blue);font:inherit;font-size:12px;cursor:pointer;padding:9px 13px}
.af-case .af-banner-controls button[aria-pressed="true"]{background:var(--af-blue);color:white;border-color:var(--af-blue)}
.af-case .af-banner-controls button:focus-visible{outline:3px solid var(--af-orange);outline-offset:3px}
.af-case .af-banner-study .af-lab-small{color:var(--af-muted)!important;margin-top:12px}
@media(min-width:1600px){.af-case .af-lab-stage{height:620px}.af-case .af-lab-stage.af-lab-frame-stage{height:690px}}
@media(max-width:1000px){.af-case .af-lab-layout{grid-template-columns:minmax(0,1fr) 235px;gap:22px}.af-case .af-lab-stage{height:470px;padding:12px}.af-case .af-lab-stage.af-lab-frame-stage{height:510px}.af-case .af-lab-principles{gap:16px}}
@media(max-width:700px){
 .af-case .af-lab{padding:18px}.af-case .af-lab-bar{align-items:flex-start;flex-direction:column;gap:14px}
 .af-case .af-lab-layout,.af-case .af-lab-readout,.af-case .af-lab-principles,.af-case .af-frame-related,.af-case .af-banner-study{grid-template-columns:minmax(0,1fr);gap:24px}
 .af-case .af-lab-layout{padding-top:22px}.af-case .af-lab-side{gap:20px}
 .af-case .af-lab-stage{height:420px;padding:9px}.af-case .af-lab-stage.af-lab-frame-stage{height:auto;aspect-ratio:16/10;padding:7px}
 .af-case .af-lab-readout{min-height:0;padding-top:22px;gap:15px}.af-case .af-lab-note{margin-top:22px}
 .af-case .af-lab-principles{margin-top:22px}.af-case .af-lab-frame-controls button{flex:1 1 44%}
 .af-case .af-lab-frame-controls button:last-child{flex-basis:100%}.af-case .af-frame-related{margin-top:30px}
 .af-case .af-banner-study{grid-column:auto;padding-top:24px}.af-case .af-banner-study h3{margin-top:0}
}
@media(prefers-reduced-motion:reduce){.af-case .af-lab *{animation:none!important;transition:none!important}}
