/* Toltec R9. One responsive layout, not a chain of previous layout patches.
   Original logo and artwork; no remote fonts or dependencies. */
:root {
 --bg:#111217; --panel:#17191e; --text:#f4f2ed; --muted:#bfc0c6;
 --quiet:#bfc0c6; --gold:#d2bc66; --deep-gold:#b49e48; --orange:#e8611a;
 --line:rgba(210,188,102,.24); --gutter:clamp(22px,4vw,72px);
 --max:1560px; --header:80px; --header-block-size:80px;
 --font:Arial,Helvetica,sans-serif; --logo-width:220px;
}
* { box-sizing:border-box; }
html { background:var(--bg); color-scheme:dark; scroll-behavior:smooth; scroll-padding-top:calc(var(--header-block-size) + 20px); }
body { margin:0; background:var(--bg); color:var(--text); font-family:var(--font); font-size:16px; line-height:1.65; -webkit-font-smoothing:antialiased; }
h1,h2,h3,h4,p,figure { margin:0; }
h1,h2,h3,h4 { font-weight:400; line-height:1.13; text-wrap:balance; }
h1,h2 { letter-spacing:-.043em; } h3 { letter-spacing:-.02em; }
h1 { font-size:clamp(38px,3.65vw,64px); } h2 { font-size:clamp(30px,2.6vw,44px); } h3 { font-size:22px; }
p { text-wrap:pretty; } a { color:inherit; text-decoration:none; }
a,button,input,textarea { touch-action:manipulation; -webkit-tap-highlight-color:transparent; }
a:hover { color:var(--gold); } button,input,textarea,select { font:inherit; }
button { color:inherit; cursor:pointer; border:0; } button:disabled { opacity:.55; cursor:default; }
img,svg { display:block; max-width:100%; } img { height:auto; } svg { flex-shrink:0; }
[hidden] { display:none!important; } ::selection { background:var(--gold); color:var(--bg); }
:focus-visible { outline:2px solid var(--gold); outline-offset:5px; }
main:focus,h1[tabindex="-1"]:focus { outline:none; }
.wrap { width:min(var(--max),calc(100% - var(--gutter)*2)); margin-inline:auto; }
.gold { color:var(--gold); } .muted { color:var(--muted); }
.mono,.micro,.index { font-family:"Courier New",monospace; }
.eyebrow { display:flex; align-items:center; gap:14px; margin-bottom:20px; color:var(--muted); font-family:var(--font); font-weight:600; font-size:12px; line-height:1.6; letter-spacing:.10em; text-transform:uppercase; }
.eyebrow::before { content:""; flex:0 0 28px; height:1px; background:var(--gold); }
.micro { font-size:12px; line-height:1.7; letter-spacing:.04em; color:var(--muted); }
.arrow { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.5; }
.icon { width:32px; height:32px; fill:none; stroke:currentColor; stroke-width:1.4; }
.icon,.arrow { stroke-linecap:round; stroke-linejoin:round; }
.icon *, .arrow * { vector-effect:non-scaling-stroke; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.skip-link { position:fixed; z-index:500; top:-100px; left:24px; padding:12px 20px; background:var(--gold); color:var(--bg); }
.skip-link:focus { top:16px; }
/* Navigation shares the same edges as the headline and the sections. */
.site-header { position:sticky; top:0; z-index:100; background:rgba(17,18,23,.97); border-bottom:1px solid var(--line); }
.header-inner { min-height:var(--header); display:flex; align-items:center; justify-content:space-between; gap:28px; }
.brand { display:block; flex-shrink:0; }
.logo-viewport { display:block; position:relative; overflow:hidden; width:var(--logo-width); aspect-ratio:614/244; }
.logo-viewport img { position:absolute; max-width:none; width:156.3518%; height:auto; left:-1.9544%; top:-4.9180%; }
.header-inner>.brand,.footer-brand>.brand { margin-inline-start:calc(var(--logo-width)*-.1); }
.desktop-nav { display:flex; align-items:center; justify-content:center; gap:clamp(17px,1.6vw,28px); font-size:13px; }
.desktop-nav a { display:flex; align-items:center; position:relative; min-height:48px; white-space:nowrap; }
.desktop-nav a[aria-current=page],.desktop-nav a.is-section { color:var(--gold); }
.desktop-nav a[aria-current=page]::after { content:""; position:absolute; inset:auto 0 6px; height:1px; background:var(--gold); }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:22px; min-height:46px; padding:12px 18px; border:1px solid var(--gold); border-radius:5px; color:var(--bg); background:var(--gold); font-size:14px; font-weight:600; line-height:1.35; transition:background .18s,border-color .18s; }
.button:hover { color:var(--bg); background:#e4ce7a; border-color:#e4ce7a; }
.button.secondary { background:var(--bg); color:var(--text); border-color:var(--line); }
.button.secondary:hover { color:var(--gold); border-color:var(--gold); }
.button.outline { color:var(--gold); background:transparent; }
.button.outline:hover { color:var(--bg); background:var(--gold); }
.button.small { min-height:42px; padding:10px 16px; font-size:13px; gap:20px; }
.text-link { display:inline-flex; align-items:center; gap:13px; min-height:44px; color:var(--gold); font-size:14px; line-height:1.4; text-underline-offset:6px; }
.text-link:hover { text-decoration:underline; }
.actions { display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
.menu-toggle { display:none; align-items:center; gap:12px; min-height:44px; padding:10px 14px; border:1px solid var(--line); border-radius:5px; background:transparent; font-size:15px; }
.menu-toggle svg { width:20px; height:20px; }
#site-menu { position:fixed; inset:0; width:100%; height:100dvh; max-width:none; max-height:none; margin:0; padding:0; border:0; overflow:auto; background:var(--bg); color:var(--text); }
#site-menu::backdrop { background:#000b; }
.menu-shell { max-width:850px; margin:auto; padding:0 var(--gutter) 36px; }
.menu-top { position:sticky; top:0; z-index:2; background:var(--bg); display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line); }
.menu-close { min-width:48px; min-height:48px; padding:12px; background:transparent; font-size:16px; }
.menu-links { padding-top:14px; }
.menu-links>a { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:19px 0; border-bottom:1px solid var(--line); font-size:clamp(26px,5vw,42px); line-height:1.2; }
.menu-secondary { display:flex; gap:4px 25px; flex-wrap:wrap; padding-top:22px; font-size:16px; }
.menu-secondary a { min-height:44px; display:flex; align-items:center; }
.menu-open { overflow:hidden; }
/* Shared spacing and tracks. Text stays in readable measures on large displays. */
.section { padding:clamp(48px,4.5vw,72px) 0; border-top:1px solid var(--line); position:relative; }
.section-head { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:clamp(28px,4vw,64px); align-items:start; margin-bottom:32px; }
.section-head .eyebrow { margin-bottom:18px; }
.section-head>p,.section-head>div>p { color:var(--muted); max-width:54ch; font-size:17px; line-height:1.7; }
.section-head h2 span { color:var(--gold); }
.section-head.compact { display:block; max-width:880px; }
.section-head.compact>p { max-width:62ch; margin-top:22px; }
.capability-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.capability-card { display:flex; flex-direction:column; min-width:0; padding:24px; border:1px solid var(--line); border-radius:8px; background:linear-gradient(140deg,rgba(210,188,102,.045),transparent); transition:border-color .18s,background .18s; }
.capability-card:hover { color:var(--text); border-color:var(--gold); background:rgba(210,188,102,.05); }
.card-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:24px; }
.icon-box { width:42px; height:42px; display:grid; place-items:center; color:var(--gold); border:1px solid var(--line); border-radius:7px; }
.round-arrow { display:grid; place-items:center; width:32px; height:32px; border:1px solid var(--line); border-radius:50%; color:var(--gold); }
.round-arrow .arrow { width:16px; height:16px; }
.capability-card h3 { font-size:20px; line-height:1.27; min-height:2.54em; margin-bottom:16px; text-wrap:pretty; }
.capability-card p { color:var(--muted); font-size:15px; line-height:1.7; }
.section-foot { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px 28px; margin-top:28px; font-size:15px; color:var(--muted); }
.principles-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; }
.principle { border-left:1px solid var(--line); padding-left:26px; min-width:0; }
.principle .icon { color:var(--gold); margin-bottom:24px; }
.principle h3 { font-size:21px; line-height:1.35; min-height:2.7em; margin-bottom:18px; text-wrap:pretty; }
.principle p { color:var(--muted); font-size:16px; line-height:1.7; max-width:42ch; }
.lab-link { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:40px; padding-top:26px; border-top:1px solid var(--line); }
.lab-link p { color:var(--muted); font-size:17px; }
.era-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); margin-top:44px; }
.era-link { position:relative; min-width:0; padding-right:26px; }
.era-link::before { content:""; position:absolute; top:85px; left:0; right:0; border-top:1px dashed rgba(210,188,102,.4); }
.era-link:last-child::before { right:60%; }
.era-icon { display:grid; place-items:center; width:56px; height:56px; border:1px solid var(--deep-gold); border-radius:50%; color:var(--gold); background:var(--bg); margin-bottom:42px; }
.era-icon::after { content:""; position:absolute; top:81px; left:24px; width:9px; height:9px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 5px var(--bg),0 0 0 6px var(--line); }
.era-year { font-family:"Courier New",monospace; font-size:13px; line-height:1.6; color:var(--gold); margin-bottom:12px; }
.era-link h3 { font-size:clamp(18px,1vw,24px); line-height:1.4; min-height:2.8em; text-wrap:pretty; }
.era-link p { font-size:clamp(15px,.85vw,19px); color:var(--muted); margin-top:12px; line-height:1.7; }
.heritage-foot { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-top:36px; padding-top:26px; border-top:1px solid var(--line); }
.heritage-foot p { color:var(--muted); font-size:16px; }
.discipline-row { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid var(--line); border-radius:7px; overflow:hidden; }
.discipline-row>a { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:28px; border-right:1px solid var(--line); font-size:clamp(19px,1.2vw,28px); }
.discipline-row>a:last-child { border:0; }
.discipline-row>a:hover { background:rgba(210,188,102,.05); }
/* Secondary pages: same visual frame, shorter line lengths. */
.breadcrumb { display:flex; align-items:center; gap:12px; flex-wrap:wrap; color:var(--muted); font-size:14px; margin-bottom:34px; }
.breadcrumb a { min-height:36px; display:flex; align-items:center; }
.page-hero { padding:24px 0 44px; background:radial-gradient(ellipse at 80% 50%,rgba(210,188,102,.045),transparent 55%); }
.page-hero-grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.85fr); gap:clamp(28px,4.5vw,68px); align-items:center; }
.page-hero h1 { font-size:clamp(38px,3.6vw,62px); max-width:17ch; }
.page-hero h1 span { display:block; color:var(--gold); }
.page-hero h1 br { display:none; }
.page-hero .lead { color:#d0d0d5; font-size:18px; line-height:1.65; max-width:52ch; margin:22px 0; }
.schematic { width:100%; max-width:500px; justify-self:end; border:1px solid var(--line); border-radius:9px; padding:24px; background:rgba(210,188,102,.025); min-width:0; }
.schematic-head { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:24px; }
.schematic-head .icon { color:var(--gold); }
.scheme-step { position:relative; display:flex; gap:20px; align-items:center; min-height:52px; padding:13px 15px; border:1px solid var(--line); border-radius:5px; background:var(--bg); font-size:15px; }
.scheme-step+.scheme-step { margin-top:12px; }
.scheme-step+.scheme-step::before { content:""; position:absolute; top:-13px; left:25px; width:1px; height:12px; background:var(--deep-gold); }
.scheme-step .index { color:var(--gold); font-size:12px; }
.scheme-step>span:last-child { min-width:0; overflow-wrap:break-word; }
.schematic .micro:last-child { margin-top:22px; letter-spacing:0; font-size:13px; }
.section-copy { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(28px,4vw,64px); align-items:start; margin-bottom:32px; }
.section-copy>p { color:var(--muted); font-size:17px; line-height:1.75; max-width:64ch; }
.build-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.build-card { min-width:0; padding:24px; border:1px solid var(--line); border-radius:8px; background:rgba(210,188,102,.023); }
.build-card .index { display:block; color:var(--gold); font-size:13px; margin-bottom:28px; }
.build-card h3 { font-size:22px; line-height:1.3; min-height:2.6em; margin-bottom:18px; }
.build-card p { font-size:16px; color:var(--muted); line-height:1.75; max-width:56ch; }
.example-strip { display:grid; grid-template-columns:1fr 2fr; gap:40px; margin-top:32px; border-left:2px solid var(--gold); padding:28px 32px; background:rgba(210,188,102,.04); }
.example-strip .micro { display:block; margin-top:8px; font-family:var(--font); font-size:13px; letter-spacing:0; }
.example-strip p { color:var(--muted); font-size:18px; line-height:1.7; max-width:72ch; }
.consideration { display:flex; align-items:flex-start; gap:18px; padding-top:30px; max-width:1100px; }
.consideration .icon { width:24px; height:24px; margin-top:4px; color:var(--gold); }
.consideration p { color:var(--muted); font-size:16px; line-height:1.75; }
.faq-wrap { display:grid; grid-template-columns:.72fr 1.28fr; gap:clamp(28px,4.5vw,68px); }
.faq-list { border-top:1px solid var(--line); }
.faq-list details { border-bottom:1px solid var(--line); }
.faq-list summary { list-style:none; position:relative; padding:24px 46px 24px 0; min-height:66px; font-size:18px; line-height:1.4; cursor:pointer; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::before,.faq-list summary::after { content:""; position:absolute; top:50%; right:8px; background:var(--gold); transform:translateY(-50%); }
.faq-list summary::before { width:16px; height:1.5px; }
.faq-list summary::after { width:1.5px; height:16px; right:15.25px; }
.faq-list details[open] summary::after { height:0; }
.faq-list details p { color:var(--muted); font-size:16px; max-width:74ch; padding:0 40px 26px 0; line-height:1.75; }
.reference { color:var(--muted); font-size:14px; line-height:1.7; margin-top:28px; }
.reference a { color:var(--gold); text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
.related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.related-link { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:90px; padding:24px 0; border-bottom:1px solid var(--line); font-size:20px; line-height:1.35; }
.related-link .arrow { color:var(--gold); }
.core-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 54px; }
.core-item { display:grid; grid-template-columns:40px minmax(0,1fr) 22px; gap:18px; padding:30px 0; align-items:start; border-bottom:1px solid var(--line); }
.core-item>.icon,.core-item>.arrow { color:var(--gold); margin-top:3px; }
.core-item h3 { font-size:22px; margin-bottom:12px; }
.core-item p { color:var(--muted); font-size:16px; max-width:65ch; }
.history-item { display:grid; grid-template-columns:160px 1.2fr .8fr; gap:clamp(26px,3vw,48px); padding:50px 0; border-bottom:1px solid var(--line); }
.history-item .era-icon { margin:0 0 18px; }
.history-item .era-icon::after { display:none; }
.history-item h2 { font-size:clamp(28px,2.3vw,36px); line-height:1.2; margin-bottom:20px; }
.history-item p { color:var(--muted); line-height:1.8; font-size:16px; max-width:63ch; }
.history-lesson { align-self:center; padding-left:28px; border-left:1px solid var(--line); }
.history-lesson h3 { color:var(--gold); font-size:23px; line-height:1.4; margin-top:16px; }
.statement { max-width:1200px; margin-inline:auto; font-size:clamp(26px,2.6vw,40px); line-height:1.35; letter-spacing:-.03em; text-align:center; text-wrap:balance; }
.statement span { color:var(--gold); }
.process-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; }
.process-card { display:flex; flex-direction:column; padding:26px 0; border-top:1px solid var(--gold); }
.process-card .index { color:var(--gold); margin-bottom:30px; font-size:13px; }
.process-card h3 { font-size:23px; margin-bottom:20px; }
.process-card p { color:var(--muted); font-size:16px; }
.process-card .output { color:var(--gold); font-size:14px; margin-top:auto; padding-top:24px; }
/* Scripted engineering demonstration. No live systems or model calls. */
.lab { padding:clamp(22px,2vw,32px); border:1px solid var(--line); border-radius:9px; background:rgba(210,188,102,.02); }
.lab-header { display:flex; justify-content:space-between; align-items:start; gap:40px; padding-bottom:26px; border-bottom:1px solid var(--line); }
.lab-header h2 { font-size:clamp(26px,2.2vw,34px); line-height:1.25; max-width:30ch; }
.lab-header .micro { font-family:var(--font); font-size:14px; letter-spacing:0; max-width:37ch; }
.scenario-controls { display:flex; flex-wrap:wrap; gap:12px; padding:26px 0; }
.scenario-controls button { padding:11px 16px; min-height:46px; border:1px solid var(--line); border-radius:5px; background:transparent; font-size:15px; }
.scenario-controls button[aria-pressed=true] { background:var(--gold); border-color:var(--gold); color:var(--bg); }
.lab-steps { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); list-style:none; padding:0; margin:0; border:1px solid var(--line); border-radius:6px; overflow:hidden; }
.lab-steps li { min-width:0; padding:20px 17px; border-right:1px solid var(--line); font-size:16px; color:var(--muted); }
.lab-steps li:last-child { border:0; }
.lab-steps .index { display:block; font-size:12px; margin-bottom:8px; }
.lab-steps li.active { color:var(--gold); background:rgba(210,188,102,.1); }
.lab-steps li.done { color:var(--text); }
.lab-state { display:grid; grid-template-columns:1fr 1fr; gap:50px; min-height:205px; padding:34px 0; }
.lab-state h3 { color:var(--gold); font-size:27px; margin:9px 0 14px; }
.lab-state p { color:var(--muted); font-size:18px; }
.lab-state .policy { align-self:start; padding:24px; border:1px solid var(--line); border-radius:5px; font-size:16px; color:var(--muted); }
.lab-state .policy strong { display:block; color:var(--text); margin-bottom:10px; font-weight:400; }
.lab-controls { display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.lab-controls .micro { font-size:13px; }
.trace { margin-top:28px; padding-top:16px; border-top:1px solid var(--line); }
.trace summary { list-style:none; color:var(--gold); position:relative; min-height:48px; padding:12px 32px 12px 0; font-size:15px; cursor:pointer; }
.trace summary::-webkit-details-marker { display:none; }
.trace summary::after { content:""; position:absolute; right:9px; top:18px; width:8px; height:8px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); }
.trace[open] summary::after { transform:rotate(225deg); top:22px; }
.trace pre { white-space:pre-wrap; overflow-wrap:anywhere; font-size:14px; line-height:1.8; padding:22px; border:1px solid var(--line); border-radius:5px; background:#0b0d12; color:#c8c9cc; max-height:300px; overflow:auto; }
.lab-nojs { display:none; } .no-js .lab-interactive { display:none; } .no-js .lab-nojs { display:block; color:var(--muted); }
/* Contact remains available without dominating the technology pages. */
.contact-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(28px,4vw,64px); }
.contact-details { padding:34px; border:1px solid var(--line); border-radius:8px; }
.contact-details .phone { display:block; color:var(--gold); font-size:clamp(25px,2.5vw,36px); letter-spacing:-.025em; margin:18px 0 24px; }
.contact-details address { font-style:normal; color:var(--muted); font-size:17px; line-height:1.9; }
.contact-prompts h3 { font-size:24px; margin-bottom:18px; }
.contact-prompts>p { color:var(--muted); font-size:18px; margin-bottom:26px; }
.question-row { padding:18px 0; border-top:1px solid var(--line); font-size:17px; }
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
label,legend { color:var(--muted); font-size:15px; margin-bottom:9px; } label { display:block; }
input,textarea { width:100%; min-height:50px; padding:13px; border:1px solid #777469; border-radius:4px; background:#15171d; color:var(--text); font-size:17px; }
textarea { min-height:165px; resize:vertical; line-height:1.6; }
fieldset { border:0; padding:0; margin:25px 0; } legend { margin-bottom:13px; }
.radio-pills { display:flex; flex-wrap:wrap; gap:11px; }
.radio-pills label { display:flex; align-items:center; gap:8px; margin:0; padding:10px 14px; min-height:46px; border:1px solid var(--line); border-radius:5px; color:var(--text); }
.radio-pills input { appearance:auto; width:16px; height:16px; min-height:0; padding:0; accent-color:var(--gold); }
.form-row { margin-top:24px; } .form-note { color:var(--muted); font-size:14px; margin:16px 0 24px; }
.form-note a { color:var(--gold); text-decoration:underline; }
.form-status { color:var(--gold); font-size:16px; margin-top:22px; overflow-wrap:anywhere; }
.form-output { white-space:pre-wrap; overflow-wrap:anywhere; padding:22px; border:1px solid var(--line); font-size:14px; }
.honey { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.contact-email { display:block; overflow-wrap:anywhere; color:var(--gold); font-size:19px; margin-bottom:22px; }
main ul:not([class]),main ol:not([class]) { margin:1em 0; padding-inline-start:1.4em; }
main ul:not([class]) li,main ol:not([class]) li { padding-inline-start:.25em; margin:.65em 0; line-height:1.75; }
main li::marker { color:var(--gold); }
/* Footer uses the same alignment as the opening. */
.site-footer { padding:24px 0 26px; border-top:1px solid var(--line); }
.footer-top { display:grid; grid-template-columns:1.25fr 1fr 1fr; gap:60px; padding-bottom:38px; }
.footer-brand p { color:var(--muted); font-size:14px; line-height:1.8; max-width:35ch; }
.footer-links { display:flex; flex-direction:column; align-items:start; padding-top:20px; font-size:14px; }
.footer-links h3 { color:var(--gold); text-transform:uppercase; letter-spacing:.12em; font-size:12px; margin-bottom:14px; }
.footer-links>a { display:flex; align-items:center; min-height:44px; }
.footer-base { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-top:24px; border-top:1px solid var(--line); color:var(--muted); font-size:13px; }
.footer-base a { text-decoration:underline; text-underline-offset:4px; }
@supports(grid-template-rows:subgrid) {
 .capability-card,.principle,.build-card { display:grid; grid-template-rows:subgrid; grid-row:span 3; row-gap:19px; }
 .capability-card .card-top,.capability-card h3,.principle .icon,.principle h3,.build-card .index,.build-card h3 { margin:0; min-height:0; }
}
/* Large monitors scale the interface as well as the illustration. */

/* A short desktop may scroll. Text is never clipped to force it into a slide. */


@media(max-width:1240px) {
 .capability-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .era-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px 0; }
 .era-link:nth-child(3)::before { right:60%; }
 .principles-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:35px; }
 .process-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:35px; }
}
@media(max-width:1100px) {
 :root { --header:76px; --logo-width:190px; --gutter:clamp(24px,4.5vw,48px); }
 .desktop-nav,.header-cta { display:none; }
 .menu-toggle { display:flex; }
 .no-js .menu-toggle { display:none; }
 .no-js .desktop-nav { display:flex; flex-wrap:wrap; justify-content:flex-start; gap:5px 20px; }
 .no-js .header-inner { flex-wrap:wrap; padding-bottom:14px; }

 .page-hero-grid { gap:38px; grid-template-columns:1.1fr .9fr; }
 .page-hero h1 { font-size:clamp(38px,4.2vw,50px); }
 .section-copy,.faq-wrap { gap:36px; }
 .history-item { grid-template-columns:100px 1fr; gap:32px; }
 .history-lesson { grid-column:2; }
 .related-link { font-size:21px; }
 .footer-top { gap:40px; }
}
@media(max-width:760px) {
 body { font-size:16px; }
 .section { padding:46px 0; }

 .section-head,.section-copy,.faq-wrap { grid-template-columns:1fr; gap:24px; margin-bottom:30px; }
 .section-head>p,.section-copy>p { font-size:16px; }
 .section-head h2 { font-size:clamp(30px,5vw,38px); }
 .section-foot,.heritage-foot,.lab-link { flex-direction:column; align-items:flex-start; gap:14px; }
 .capability-grid { gap:16px; }
 .capability-card { padding:23px; }
 .capability-card h3 { font-size:22px; }
 .principles-grid { gap:30px; }
 .principle { padding-left:22px; }
 .era-link { padding-right:19px; }
 .era-year { font-size:12px; }
 .era-link h3 { font-size:18px; }
 .era-link p { font-size:15px; }
 .discipline-row { grid-template-columns:1fr 1fr; }
 .discipline-row>a { padding:22px; border-bottom:1px solid var(--line); font-size:19px; }
 .discipline-row>a:nth-child(2) { border-right:0; }
 .discipline-row>a:nth-child(3) { border-bottom:0; }
 .page-hero { padding:24px 0 44px; }
 .breadcrumb { margin-bottom:26px; font-size:13px; }
 .page-hero-grid { grid-template-columns:1fr; gap:30px; }
 .page-hero h1 { font-size:clamp(36px,5.8vw,48px); max-width:20ch; }
 .page-hero .lead { font-size:17px; margin:20px 0; }
 .schematic { max-width:none; padding:25px; }
 .build-grid { grid-template-columns:1fr; gap:18px; }
 .build-card { padding:26px; }
 .build-card h3 { min-height:0; font-size:23px; }
 .build-card p { font-size:17px; }
 .example-strip { grid-template-columns:1fr; gap:18px; padding:24px; }
 .example-strip p { font-size:17px; }
 .faq-list summary { font-size:18px; padding-block:20px; }
 .faq-list details p { font-size:17px; padding-right:12px; }
 .related-grid,.core-grid { grid-template-columns:1fr; }
 .related-grid { gap:0; }
 .related-link { min-height:78px; }
 .core-item h3 { font-size:23px; }
 .history-item { grid-template-columns:85px 1fr; gap:25px; padding:36px 0; }
 .history-item h2 { font-size:31px; }
 .history-item p { font-size:17px; }
 .history-lesson h3 { font-size:22px; }
 .lab-header { flex-direction:column; gap:18px; }
 .lab-header .micro { max-width:none; }
 .lab-steps { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .lab-steps li { border-bottom:1px solid var(--line); padding:15px; font-size:14px; }
 .lab-steps li:nth-child(3) { border-right:0; }
 .lab-steps li:nth-child(n/**/+4) { border-bottom:0; }
 .lab-state { grid-template-columns:1fr; gap:24px; min-height:0; }
 .lab-state h3 { font-size:28px; }
 .lab-state p { font-size:17px; }
 .lab-controls { align-items:flex-start; flex-direction:column; gap:18px; }
 .contact-grid { grid-template-columns:1fr; gap:34px; }
 .contact-details { padding:28px; }
 .footer-top { grid-template-columns:1fr 1fr; gap:12px 36px; }
 .footer-brand { grid-column:1/-1; }
 .footer-links { padding-top:22px; }
 .footer-base { align-items:flex-start; flex-wrap:wrap; gap:12px; }
}
@media(max-width:520px) {
 :root { --gutter:22px; --header:72px; --logo-width:180px; }

 .capability-grid,.principles-grid,.process-grid { grid-template-columns:1fr; }
 .principle h3 { min-height:0; font-size:23px; }
 .principle p { font-size:17px; }
 .capability-card { padding:25px; }
 .capability-card h3 { min-height:0; font-size:21px; }
 .capability-card p { font-size:16px; }
 .section-head h2 { font-size:31px; }
 .era-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 18px; }
 .era-link { padding-right:0; }
 .era-link::before,.era-link:nth-child(3)::before { right:-18px; }
 .era-link:nth-child(even)::before { right:60%; }
 .discipline-row>a { padding:19px; font-size:17px; gap:10px; }
 .page-hero h1 { font-size:38px; }
 .history-item { grid-template-columns:1fr; gap:20px; }
 .history-date { display:flex; align-items:center; gap:18px; }
 .history-item .era-icon { margin:0; width:46px; height:46px; }
 .history-lesson { grid-column:1; padding-left:22px; }
 .field-grid { grid-template-columns:1fr; }
 .lab { padding:21px; }
 .scenario-controls { gap:8px; }
 .scenario-controls button { font-size:13px; padding:10px 12px; }
 .lab-steps li { font-size:13px; padding:13px 10px; }
 .lab-controls .actions { gap:10px; }
 .lab .button { font-size:14px; padding:13px 16px; }
 .lab-state .policy { padding:19px; font-size:15px; }
 .footer-top { gap:12px 25px; }
 .footer-links { font-size:15px; }
}
@media(max-width:350px) {
 :root { --gutter:18px; --logo-width:185px; }
 .header-inner { gap:12px; }
 .menu-toggle { font-size:13px; padding:10px; gap:8px; }

 .page-hero h1 { font-size:34px; }
 .discipline-row { grid-template-columns:1fr; }
 .discipline-row>a { border-right:0; border-bottom:1px solid var(--line)!important; }
 .discipline-row>a:last-child { border:0!important; }
 .footer-top { gap:14px; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto!important; }
 *,*::before,*::after { transition:none!important; animation:none!important; }
}
@media(forced-colors:active) {

 .button,.capability-card,.icon-box,.round-arrow { border:1px solid ButtonText; }
 .faq-list summary::before,.faq-list summary::after { background:ButtonText; }
}
@media print {
 
 body { background:#fff; color:#111; }
 .wrap { width:100%; max-width:none; }

 a { color:#111; text-decoration:underline; }
 .gold,h1 span,h2 span { color:#66581a!important; }
 
 .section { padding:25px 0; }
 .capability-card,.build-card,.history-item { break-inside:avoid; }
}

/* R9: one content grid; height changes never select a different composition. */
:root{--gutter:clamp(22px,4vw,72px);--max:1560px;--header:80px;--logo-width:220px}
.header-inner{min-height:var(--header)}
.header-inner>.brand,.footer-brand>.brand{margin-inline-start:calc(var(--logo-width)*-.1)}
.desktop-nav a.is-section{color:var(--gold)}
.desktop-nav a.is-section::after{content:"";position:absolute;inset:auto 0 6px;height:1px;background:var(--gold)}
.button{border-radius:5px;min-height:46px}
.button.small{min-height:44px}
.release-version{font:11px/1.6 var(--font);color:var(--quiet);white-space:nowrap}
.footer-base a,.footer-brand p>a{display:inline-flex;align-items:center;min-height:44px}
.company-disclosure{max-width:none;border-top:1px solid var(--line);padding-top:18px;margin-top:16px;color:var(--muted);font-size:12px;line-height:1.8}
.page-hero-grid>div{min-width:0}
.page-hero-grid.without-diagram{grid-template-columns:minmax(0,850px)}
.page-hero h1{overflow-wrap:break-word}
.schematic{padding:20px;max-width:460px}
.schematic-head{margin-bottom:18px}
.scheme-step{min-height:46px;padding:10px 13px}
.scheme-step>span:last-child{overflow-wrap:anywhere}
.section-copy h2{max-width:25ch}
.principle p,.build-card p,.capability-card p{overflow-wrap:break-word}
.about-history p{color:var(--muted);font-size:17px;max-width:62ch}
.about-history .text-link{margin-top:18px}
.capability-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px}
.directory-item{display:grid;grid-template-columns:42px minmax(0,1fr) 20px;gap:18px;align-items:start;padding:24px 0;border-top:1px solid var(--line)}
.directory-item h3{font-size:21px;line-height:1.3;margin:0 0 10px;text-wrap:pretty}
.directory-item p{font-size:16px;color:var(--muted);line-height:1.7;max-width:57ch}
.directory-item>.arrow{margin-top:10px;color:var(--gold)}
.directory-item:hover h3{color:var(--gold)}
.core-item{grid-template-columns:38px minmax(0,1fr) 22px;padding:24px 0}
.core-item h3{line-height:1.35;min-height:2.7em}
@supports(grid-template-rows:subgrid){
 .core-item{grid-row:span 2;grid-template-rows:subgrid;row-gap:10px}
 .core-item>div{display:grid;grid-template-rows:subgrid;grid-row:span 2}
 .core-item h3{margin:0;min-height:0}.core-item p{margin:0}
 .directory-item{grid-row:span 2;grid-template-rows:subgrid;row-gap:10px}
 .directory-item>div{display:grid;grid-template-rows:subgrid;grid-row:span 2}
 .directory-item h3,.directory-item p{margin:0}
}
/* Full-width atmosphere is independent of the protected rocket geometry. */
.cinematic-hero{--scene-width:min(100vw,2100px,max(1000px,calc((100svh - var(--header-block-size) - 41px) * 2.2)));position:relative;isolation:isolate;background:#090d11;overflow:hidden}
.cinematic-hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(ellipse at 82% 78%,rgba(210,188,102,.10),transparent 54%),radial-gradient(circle at 30% 24%,rgba(236,239,255,.28) 0 .7px,transparent 1.4px),radial-gradient(circle at 67% 40%,rgba(210,188,102,.24) 0 .7px,transparent 1.3px),linear-gradient(rgba(210,188,102,.032) 1px,transparent 1px),linear-gradient(90deg,rgba(210,188,102,.028) 1px,transparent 1px);background-size:auto,211px 251px,307px 197px,104px 104px,104px 104px}
.flight-plane{position:relative;min-height:calc(var(--scene-width) / 2.2)}
.flight-copy-grid{position:relative;z-index:2;pointer-events:none;padding-block:clamp(30px,min(4.7vw,7svh),72px) 24px}
.flight-copy{width:36%;max-width:465px;min-width:0;pointer-events:auto}
.flight-copy .eyebrow{font-size:12px;letter-spacing:.11em;color:var(--gold);margin-bottom:20px}
.flight-copy h1{font-size:clamp(44px,4.3vw,74px);font-weight:400;line-height:1.07;letter-spacing:-.043em;margin:0 0 24px;text-wrap:initial}
.flight-copy h1 span{display:block;color:var(--gold)}
.flight-lead{max-width:40ch;color:#dedee1;font-size:clamp(16px,1.1vw,18px);line-height:1.65;margin:0 0 23px}
.flight-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px}
.flight-primary,.flight-secondary{min-height:46px;font-size:13px;line-height:1.4;gap:13px}
.flight-primary{padding:12px 17px}
.flight-secondary{color:var(--text)}
.flight-primary .arrow,.flight-secondary .arrow{width:17px;height:17px}
.flight-stats{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-top:26px}
.flight-stat{display:flex;align-items:center;gap:10px;padding-right:22px;border-right:1px solid var(--line)}
.flight-stat:last-child{padding-right:0;border:0}
.flight-stat strong{font-size:31px;line-height:1;font-weight:400;color:var(--gold);font-variant-numeric:tabular-nums}
.flight-stat span{font-size:12px;line-height:1.45;color:#c7c7cb}
.flight-art{position:absolute;width:var(--scene-width);max-width:100%;left:0;right:0;top:0;margin-inline:auto;z-index:1;min-width:0}
.flight-image-frame{position:relative;aspect-ratio:1672/760}
.flight-photo{position:absolute;inset:0;display:block;z-index:0}
.flight-photo img{width:100%;height:100%;display:block;object-fit:fill}
.flight-image-frame::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(9,13,17,.9) 12%,rgba(9,13,17,.68) 27%,transparent 43%)}
.flight-scene{position:absolute;inset:0;z-index:2;width:100%;height:100%;overflow:visible}
.flight-leader{fill:none;stroke:var(--gold);stroke-width:1;stroke-opacity:.86;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}
.flight-callout{text-decoration:none}
.flight-label{font-family:var(--font);font-size:var(--callout-title-size,20px);font-weight:500;letter-spacing:1.1px;fill:#f4f2ed;paint-order:stroke;stroke:#0a0d10;stroke-width:2.7px;stroke-linejoin:round}
.flight-detail{font-family:var(--font);font-size:var(--callout-detail-size,15px);font-weight:400;letter-spacing:.8px;fill:#d2cdbc;paint-order:stroke;stroke:#0a0d10;stroke-width:2.6px;stroke-linejoin:round}
.callout-focus{fill:transparent;stroke:none}
.flight-callout:hover .flight-label,.flight-callout:focus-visible .flight-label{fill:var(--gold)}
.flight-callout:focus-visible{outline:none}.flight-callout:focus-visible .callout-focus{stroke:var(--gold);stroke-width:1.5}
.compact-callouts{display:none}.compact-marker circle{fill:#0a0d10;stroke:var(--gold);stroke-width:3}.compact-marker text{font:48px var(--font);text-anchor:middle;fill:#f4f2ed}
.flight-key{display:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px;position:relative;z-index:3}
.flight-key a{display:flex;align-items:center;gap:10px;min-height:46px;min-width:0;padding:11px 0;border-top:1px solid var(--line);font-size:14px;line-height:1.4}
.flight-key a>span{color:var(--gold);font:12px 'Courier New',monospace;flex-shrink:0}.flight-key .arrow{margin-left:auto;width:15px;height:15px;color:var(--gold)}
.flight-footer{position:relative;z-index:3;padding:5px 0 18px;display:flex;justify-content:flex-end}
.flight-footer p{font-size:11px;color:var(--quiet);line-height:1.6;text-align:right}
.art-error{padding:25px;border:1px solid var(--line);font-size:16px;color:var(--muted)}
.art-failed .flight-image-frame{display:none}.art-failed .flight-key{display:grid}.art-failed .flight-art{top:auto;bottom:20px}
/* Width breakpoints only. No window-height or aspect-ratio switch. */
@media(min-width:1000px) and (max-width:1199px){
 .flight-copy{width:37%;max-width:405px}.flight-copy-grid{padding-top:32px}.flight-copy h1{font-size:46px}.flight-lead{font-size:16px}
 .flight-detail{display:none}.flight-label{font-size:var(--callout-title-size,23px)}.flight-primary,.flight-secondary{font-size:12px}
}
@media(max-width:999px){
 .flight-plane{min-height:0;display:flex;flex-direction:column}
 .flight-copy-grid{order:0;padding-block:30px 0;pointer-events:auto}
 .flight-copy{width:100%;max-width:690px}.flight-copy h1{font-size:clamp(39px,6.2vw,60px);max-width:16ch;margin-bottom:18px}
 .flight-lead{font-size:17px;max-width:54ch;margin-bottom:20px}
 .flight-art{position:relative;order:1;top:auto;left:auto;transform:none;width:100%;margin-top:15px}
 .flight-plane .desktop-callouts{display:none}.compact-callouts{display:block}.flight-key{display:grid;margin-top:0}
 .flight-footer{padding-top:12px}.flight-image-frame::after{display:none}
 .art-failed .flight-art{bottom:auto}
}
/* User text enlargement can use this identical flow treatment without clipping. */
.cinematic-hero.flight-reflow .flight-plane{min-height:0;display:flex;flex-direction:column}
.cinematic-hero.flight-reflow .flight-copy-grid{order:0;padding-block:32px 0}
.cinematic-hero.flight-reflow .flight-copy{width:100%;max-width:780px}
.cinematic-hero.flight-reflow .flight-art{position:relative;order:1;top:auto;left:auto;transform:none;margin-top:20px;width:100%;max-width:1800px;margin-inline:auto}
.cinematic-hero.flight-reflow .desktop-callouts{display:none}.cinematic-hero.flight-reflow .compact-callouts{display:block}.cinematic-hero.flight-reflow .flight-key{display:grid}
@media(max-width:760px){
 .page-hero{padding-bottom:30px}.page-hero-grid{gap:22px}.schematic{padding:16px 18px}
 .schematic-head{margin-bottom:12px}.scheme-step{padding:8px 12px;min-height:42px;font-size:14px}.scheme-step+.scheme-step{margin-top:9px}
 .scheme-step+.scheme-step::before{height:9px;top:-10px}
 .section{padding:34px 0}.section-head,.section-copy,.faq-wrap{margin-bottom:24px;gap:19px}
 .capability-card h3{font-size:20px}.principle h3{font-size:21px}.core-item h3{font-size:21px;min-height:0}
 .core-item{padding:22px 0}.build-card{padding:19px 20px}.build-card .index{margin-bottom:14px}.build-card h3{font-size:21px;margin-bottom:13px}
 .build-card p{font-size:16px}.example-strip{padding:20px 22px;gap:10px;margin-top:22px}.consideration{padding-top:22px}
 .related-link{min-height:60px;padding:16px 0;font-size:19px}
 .capability-directory{grid-template-columns:1fr;gap:0}.directory-item{padding:20px 0;gap:12px}
 .lab-state{padding:24px 0}.lab-state h3{font-size:24px}.lab-header{padding-bottom:20px}.scenario-controls{padding:20px 0}
 .company-disclosure{font-size:12px;padding-top:15px}.footer-top{padding-bottom:22px}.footer-base{padding-top:16px}
}
@media(max-width:520px){
 :root{--header:76px;--logo-width:205px;--gutter:22px}
 .flight-copy-grid{padding-top:24px}.flight-copy .eyebrow{font-size:11px;margin-bottom:15px}
 .flight-copy h1{font-size:clamp(37px,9.7vw,50px);margin-bottom:18px;max-width:none}
 .flight-lead{font-size:16px;line-height:1.6}.flight-actions{gap:6px 15px}.flight-primary,.flight-secondary{font-size:12px;min-height:44px}
 .flight-primary{padding:11px 14px}.flight-stats{margin-top:18px;gap:18px}.flight-stat{padding-right:18px}.flight-stat strong{font-size:27px}.flight-stat span{font-size:11px}
 .flight-art{margin-top:13px}.flight-key{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.flight-key a{font-size:13px;padding:10px 0}
 .flight-footer{justify-content:flex-start}.flight-footer p{text-align:left;font-size:10px}
 .capability-grid{display:block}.capability-card{display:grid;grid-template-columns:36px minmax(0,1fr);grid-template-rows:auto auto;gap:9px 15px;padding:19px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none}
 .capability-card:first-child{border-top:1px solid var(--line)}
 .capability-card .card-top{display:block;grid-column:1;grid-row:1;margin:0}.capability-card .icon-box{width:36px;height:36px;border:0}.capability-card .round-arrow{display:none}
 .capability-card h3{grid-column:2;grid-row:1;align-self:center;font-size:19px;min-height:0;margin:0;line-height:1.35}
 .capability-card p{grid-column:2;grid-row:2;font-size:16px;margin:0;line-height:1.65}
 .capability-card:hover{background:none}.principles-grid{gap:24px}.principle{padding-left:18px}.principle .icon{margin-bottom:14px}.principle h3{font-size:21px;margin-bottom:12px}.principle p{font-size:16px}
 .era-grid{gap:25px 18px;margin-top:30px}.era-link h3{font-size:17px;min-height:0}.era-link p{font-size:14px;line-height:1.6}.era-icon{margin-bottom:29px;width:48px;height:48px}.era-link::before{top:65px}.era-icon::after{top:61px;left:20px}
 .history-item{padding:28px 0}.history-item h2{font-size:28px}.history-item p{font-size:16px;line-height:1.75}
 .process-card{padding:20px 0}.process-card .index{margin-bottom:14px}.process-card h3{margin-bottom:14px}
 .footer-links{font-size:14px}.footer-brand p{font-size:14px}
}
@media(max-width:350px){:root{--gutter:18px;--logo-width:175px}.flight-copy h1{font-size:36px}.flight-primary,.flight-secondary{font-size:12px}.header-inner{gap:12px}}
@media(forced-colors:active){.flight-image-frame{forced-color-adjust:none}.flight-key{display:grid}.flight-primary{color:LinkText;border-color:LinkText}.flight-scene{forced-color-adjust:none}}
@media print{.site-header,#site-menu,.flight-art,.flight-key,.flight-footer,.site-footer{display:none!important}.flight-plane{min-height:0}.flight-copy{width:100%;max-width:none}.flight-copy-grid{padding:0}.cinematic-hero{background:white}.cinematic-hero::before{display:none}.flight-lead{color:#111}}

.art-failed .flight-plane{min-height:0}.art-failed .flight-copy{width:100%;max-width:720px}.art-failed .flight-art{position:relative;top:auto;bottom:auto;left:auto;right:auto;transform:none;width:min(var(--max),calc(100% - 2 * var(--gutter)));margin:0 auto 20px}

/* Non-service introductions balance the title with its explanation, not a fake diagram. */
.page-hero-grid.without-diagram{grid-template-columns:1fr}
.page-hero-grid.without-diagram>div{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:0 clamp(28px,4.5vw,68px);align-items:start}
.page-hero-grid.without-diagram .eyebrow{grid-column:1/-1;margin-bottom:22px}
.page-hero-grid.without-diagram h1{grid-column:1;grid-row:2/span 3;max-width:17ch}
.page-hero-grid.without-diagram .lead{grid-column:2;grid-row:2;margin-top:0}
.page-hero-grid.without-diagram .actions{grid-column:2;grid-row:3}
@media(max-width:760px){.page-hero-grid.without-diagram>div{display:block}.page-hero-grid.without-diagram .lead{margin-top:20px}.page-hero-grid.without-diagram h1{max-width:20ch}}
