/* Layout: airfield signage. Black location signs and yellow direction signs mark sections; steel-grey ground; one long scroll with anchored sections. */
:root{
  --bg:#F2F3F0; --surface:#FFFFFF; --fg:#15181B; --muted:#596067; --line:#D3D7D1;
  --sign:#F2C200; --sign-ink:#111111; --danger:#B3261E;
  --sky1:#A9C9DD; --sky2:#F4D3A1; --sky3:#F1B577; --sun:#FFF1C9; --sunglow:#FFD27A; --cloud:#FFF4E2; --far:#7C7F72; --field1:#B7A36A; --field2:#8C8452; --tarmac:#4A4E53; --hangar:#E4E7EA; --hangar-line:#9AA1A8; --door:#D7DBDF; --door-shade:#BDC3C9; --trim:#8FB8E0; --interior:#2A2E33; --concrete:#CFCBC0; --joint:#ACA79A; --signblue:#1F4E8C; --oldwall:#A39886; --oldroof:#7E5A43; --oldrust:#9A5530; --olddark:#2E2925; --loc:#141414; --loc-ink:#F2C200;
  --display:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
  --body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --wrap:1160px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#101316; --surface:#171B1F; --fg:#E7E9E5; --muted:#9BA2A9; --line:#2A3036;
  --sign:#EDBE00; --sign-ink:#0E0E0E; --danger:#FF8A80;
  --sky1:#0E1626; --sky2:#3A2E3F; --sky3:#8A4B32; --sun:#F7B26A; --sunglow:#C2562C; --cloud:#5A4656; --far:#1B1E22; --field1:#2E2C23; --field2:#1C1B16; --tarmac:#25282C; --hangar:#4E555C; --hangar-line:#5C646C; --door:#464D54; --door-shade:#383E44; --trim:#7AA3CC; --interior:#0D0F11; --concrete:#3D3E3B; --joint:#2C2D2B; --signblue:#6A9BE0; --oldwall:#4E4840; --oldroof:#4A3528; --oldrust:#6E3B22; --olddark:#141210; --loc:#000000; --loc-ink:#F2C200; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#101316; --surface:#171B1F; --fg:#E7E9E5; --muted:#9BA2A9; --line:#2A3036;
  --sign:#EDBE00; --sign-ink:#0E0E0E; --danger:#FF8A80;
  --sky1:#0E1626; --sky2:#3A2E3F; --sky3:#8A4B32; --sun:#F7B26A; --sunglow:#C2562C; --cloud:#5A4656; --far:#1B1E22; --field1:#2E2C23; --field2:#1C1B16; --tarmac:#25282C; --hangar:#4E555C; --hangar-line:#5C646C; --door:#464D54; --door-shade:#383E44; --trim:#7AA3CC; --interior:#0D0F11; --concrete:#3D3E3B; --joint:#2C2D2B; --signblue:#6A9BE0; --oldwall:#4E4840; --oldroof:#4A3528; --oldrust:#6E3B22; --olddark:#141210; --loc:#000000; --loc-ink:#F2C200; color-scheme:dark}

*{box-sizing:border-box}
[hidden]{display:none !important}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{background:var(--bg);color:var(--fg);font-family:var(--body);font-size:16px;line-height:1.6}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:20px}
a{color:inherit}
a:focus-visible,button:focus-visible{outline:3px solid var(--sign);outline-offset:3px}
h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.02;text-wrap:balance;margin:0;letter-spacing:.005em}
p{margin:0}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}

/* signs */
.sign{display:inline-flex;align-items:center;gap:.45em;font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.2em .55em;line-height:1.15;border-radius:2px;white-space:nowrap}
.sign.dir{background:var(--sign);color:var(--sign-ink)}
.sign.loc{background:var(--loc);color:var(--loc-ink);box-shadow:inset 0 0 0 2px var(--loc-ink),0 0 0 2px var(--loc)}
.sign .arr{font-family:var(--body);font-weight:600}

/* top bar */
.topbar{background:var(--loc);color:#E9E9E4;font-size:14px}
.topbar .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 20px;padding-block:8px}
.topbar a{text-decoration:none}
.topbar a:hover{color:var(--loc-ink)}
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:var(--bg);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:12px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand .wordmark{font-family:var(--display);font-weight:800;font-size:42px;letter-spacing:.02em;line-height:1}
.brand .brandsign{font-size:32px}
nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 18px;font-family:var(--display);font-weight:600;font-size:18px;text-transform:uppercase;letter-spacing:.05em}
nav a{text-decoration:none;color:var(--muted)}
nav a:hover{color:var(--fg)}
@media (max-width:720px){nav ul{font-size:16px;gap:2px 14px}.brand .wordmark{font-size:30px}.brand .brandsign{font-size:23px}}

/* hero */
.hero{padding-block:56px 48px;border-bottom:1px solid var(--line)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:40px;align-items:end}
@media (max-width:860px){.hero-grid{grid-template-columns:1fr}}
.hero .kicker{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px;font-size:20px}
.hero h1{font-size:clamp(46px,8vw,96px);font-weight:800;text-transform:uppercase}
.hero h1 em{font-style:normal;background:linear-gradient(transparent 62%,var(--sign) 62%);padding-inline:.04em}
.hero .lede{margin-top:22px;max-width:56ch;font-size:18px;color:var(--muted)}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.btn{display:inline-flex;align-items:center;gap:.5em;font-family:var(--display);font-weight:700;font-size:19px;text-transform:uppercase;letter-spacing:.05em;padding:.55em 1.1em;text-decoration:none;border:2px solid var(--fg);border-radius:2px;cursor:pointer;background:transparent;color:var(--fg)}
.btn.primary{background:var(--sign);color:var(--sign-ink);border-color:var(--sign)}
.btn:hover{transform:translateY(-1px)}

.datablock{background:var(--surface);border:1px solid var(--line);font-family:var(--mono);font-size:14px}
.datablock .hd{display:flex;justify-content:space-between;gap:8px;padding:10px 14px;border-bottom:1px solid var(--line);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:12px}
.datablock dl{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr)}
.datablock dt,.datablock dd{margin:0;padding:9px 14px;border-bottom:1px solid var(--line)}
.datablock dt{color:var(--muted);text-transform:uppercase;font-size:12px;letter-spacing:.06em;padding-top:11px}
.datablock dd{text-align:right;font-variant-numeric:tabular-nums}
.datablock dl > :nth-last-child(-n+2){border-bottom:0}

/* sections */
section.block{padding-block:72px;border-bottom:1px solid var(--line)}
.sec-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px 24px;margin-bottom:36px}
.sec-head .left{display:flex;flex-direction:column;gap:14px}
.sec-head .sign{font-size:17px;align-self:flex-start}
.sec-head h2{font-size:clamp(34px,5vw,56px);text-transform:uppercase}
.sec-head p{max-width:52ch;color:var(--muted)}

/* services */
.services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:2px solid var(--fg)}
@media (max-width:760px){.services{grid-template-columns:1fr}}
.svc{padding:26px 24px 28px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 18px}
.services .svc:nth-child(odd){border-right:1px solid var(--line)}
.services .svc:nth-child(even){padding-left:24px}
@media (max-width:760px){.services .svc:nth-child(odd){border-right:0}.services .svc:nth-child(even){padding-left:0}}
.svc .code{grid-row:span 3;font-family:var(--mono);font-size:13px;color:var(--muted);padding-top:6px;min-width:3.2em}
.svc h3{font-size:30px;text-transform:uppercase}
.svc p{color:var(--muted);max-width:48ch}
.svc a{font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.05em;font-size:16px;margin-top:8px;text-decoration-color:var(--sign);text-decoration-thickness:3px;text-underline-offset:4px}

/* capabilities */
.cap-wrap{overflow-x:auto;border:1px solid var(--line);background:var(--surface)}
table.cap{width:100%;border-collapse:collapse;min-width:560px;font-size:15px}
table.cap th,table.cap td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--line)}
table.cap thead th{font-family:var(--mono);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);background:var(--bg)}
table.cap tbody tr:last-child td{border-bottom:0}
table.cap td.type{font-family:var(--display);font-weight:700;font-size:21px;text-transform:uppercase;letter-spacing:.02em}
table.cap td.n{font-family:var(--mono);color:var(--muted);width:3.5em}
.pill{display:inline-block;font-family:var(--mono);font-size:12px;padding:2px 8px;border:1px solid var(--line);border-radius:2px;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}
.pill.jet{border-color:var(--fg)}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.filters button{font-family:var(--display);font-weight:600;font-size:16px;text-transform:uppercase;letter-spacing:.05em;padding:6px 14px;border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:2px;cursor:pointer}
.filters button[aria-pressed="true"]{background:var(--loc);color:var(--loc-ink);border-color:var(--loc)}
.cap-note{margin-top:14px;font-size:14px;color:var(--muted)}

/* why */
.why{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px}
@media (max-width:860px){.why{grid-template-columns:1fr}}
.checklist{list-style:none;margin:0;padding:0;border-top:2px solid var(--fg)}
.checklist li{display:grid;grid-template-columns:2.2em minmax(0,1fr);gap:10px;padding:14px 0;border-bottom:1px solid var(--line)}
.checklist .tick{font-family:var(--mono);font-size:13px;color:var(--muted);padding-top:2px}
.arrival p+p{margin-top:14px}
.arrival p{max-width:58ch}
.route{display:flex;flex-wrap:wrap;gap:8px;margin-block:20px 24px;font-size:17px}

/* companies */
.cos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
@media (max-width:1100px){.cos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.cos{grid-template-columns:1fr}}
.co{background:var(--surface);border:1px solid var(--line);padding:22px;display:flex;flex-direction:column;gap:10px}
.co .tag{font-family:var(--mono);font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}
.co h3{font-size:28px;text-transform:uppercase}
.co p{color:var(--muted);flex:1}
.co a{font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.05em;text-decoration-color:var(--sign);text-decoration-thickness:3px;text-underline-offset:4px}

.certs{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.cert{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid var(--line);background:var(--surface)}
.cert strong{font-family:var(--display);font-size:20px;text-transform:uppercase;letter-spacing:.03em}
.cert span{font-size:14px;color:var(--muted)}

/* news */
.news{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:2px solid var(--fg)}
@media (max-width:860px){.news{grid-template-columns:1fr}}
.news article{padding:20px 22px 24px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.news article + article{padding-left:22px;border-left:1px solid var(--line)}
@media (max-width:860px){.news article + article{padding-left:0;border-left:0}}
.news time{font-family:var(--mono);font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}
.news h3{font-size:24px;line-height:1.08}
.news h3 a{text-decoration:none}
.news h3 a:hover{text-decoration:underline;text-decoration-color:var(--sign);text-decoration-thickness:3px}
.news p{color:var(--muted);font-size:15px}

/* careers */
.careers{background:var(--loc);color:#ECECE6}
.careers .sec-head p{color:#B9BBB4}
.careers .sec-head h2{color:#fff}
.careers .btn{border-color:#ECECE6;color:#ECECE6}
.careers .btn.primary{border-color:var(--sign);color:var(--sign-ink)}
.roles{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px;font-size:18px}
.roles .sign.dir{font-size:18px}

/* contact */
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr}}
.cline{display:grid;grid-template-columns:7.5em minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.cline:first-child{border-top:2px solid var(--fg)}
.cline .k{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
.cline .v{font-size:18px;font-weight:500;overflow-wrap:anywhere}
.copy{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.06em;padding:5px 10px;border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:2px;cursor:pointer}
@media (max-width:480px){.cline{grid-template-columns:minmax(0,1fr) auto}.cline .k{grid-column:1 / -1}}
.hours{background:var(--surface);border:1px solid var(--line);padding:24px}
.hours h3{font-size:26px;text-transform:uppercase;margin-bottom:12px}
.hours p{color:var(--muted)}
.hours p+p{margin-top:12px}

footer{padding-block:32px 40px;font-size:14px;color:var(--muted)}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px}
footer ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px}
footer a{text-decoration:none}
footer a:hover{color:var(--fg)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---- aircraft sales view ---- */
.listings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:900px){.listings{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.listings{grid-template-columns:1fr}}
.ac{background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column;min-width:0}
.ac.sold{opacity:.62}
.ac .plate{position:relative;aspect-ratio:16/10;max-width:100%;background:var(--bg);border-bottom:1px solid var(--line);display:grid;place-items:center;overflow:hidden}
.ac .plate svg{width:78%;height:auto;color:var(--muted)}
.ac .plate img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ac .plate .sign{position:absolute;top:12px;left:12px;font-size:15px;z-index:1}
.ac .plate .status{position:absolute;top:12px;right:12px;z-index:1;font-size:15px}
.status.contract{background:var(--surface);color:var(--fg);box-shadow:inset 0 0 0 2px var(--fg)}
.status.sold{background:var(--fg);color:var(--bg)}
.ac .body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:14px;flex:1}
.ac .model{font-family:var(--mono);font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}
.ac h3{font-size:30px;text-transform:uppercase;overflow-wrap:anywhere}
.ac dl{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);border-top:2px solid var(--fg)}
.ac dt,.ac dd{margin:0;padding:8px 0;border-bottom:1px solid var(--line)}
.ac dt{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);padding-top:10px;padding-right:12px}
.ac dd{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.ac dd.req{color:var(--muted);font-family:var(--body);font-size:14px}
.ac .notes{color:var(--muted);font-size:15px;white-space:pre-line}
.ac .actions{margin-top:auto;display:flex;flex-wrap:wrap;gap:8px}
.btn.small{font-size:16px;padding:.4em .85em}
.ac .btn{font-size:16px}
.ac .edit-actions{display:flex;flex-wrap:wrap;gap:8px;padding-top:12px;border-top:1px dashed var(--line)}
.btn.danger{border-color:var(--danger);color:var(--danger)}
.btn.danger.armed{background:var(--danger);color:var(--bg)}
.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none}
.inquiry{display:none;padding:12px 14px;background:var(--bg);border:1px solid var(--line);font-size:14px}
.inquiry.show{display:block}
.inquiry code{font-family:var(--mono);overflow-wrap:anywhere}
.empty{padding:24px;border:1px dashed var(--line);color:var(--muted);grid-column:1 / -1}

.editbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;margin-bottom:20px;background:var(--sign);color:var(--sign-ink)}
.editbar .btn{border-color:var(--sign-ink);color:var(--sign-ink)}
.editbar .btn.primary{background:var(--sign-ink);color:var(--sign);border-color:var(--sign-ink)}
.editbar-actions{display:flex;flex-wrap:wrap;gap:8px}

.acform{background:var(--surface);border:2px solid var(--fg);padding:24px;margin-bottom:28px;display:flex;flex-direction:column;gap:18px}
.acform h3{font-size:30px;text-transform:uppercase}
.fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px}
@media (max-width:620px){.fgrid{grid-template-columns:1fr}}
.fgrid .wide{grid-column:1 / -1}
.fgrid label{display:flex;flex-direction:column;gap:6px;font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.fgrid label.check{flex-direction:row;align-items:center;gap:8px}
.fgrid input[type=text],.fgrid select,.fgrid textarea{font:inherit;font-family:var(--body);font-size:16px;text-transform:none;letter-spacing:0;color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:2px;padding:9px 10px;width:100%}
.fgrid input[type=file]{font-family:var(--body);font-size:14px;text-transform:none;letter-spacing:0;color:var(--fg)}
.fgrid input:focus-visible,.fgrid select:focus-visible,.fgrid textarea:focus-visible{outline:3px solid var(--sign);outline-offset:1px}
.reqmark{color:var(--fg)}
.hint{text-transform:none;letter-spacing:0;font-family:var(--body);font-size:13px}
.formmsg{min-height:1.4em;font-size:15px}
.formmsg.err{color:var(--danger)}

.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:2px solid var(--fg)}
@media (max-width:860px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}
.step{padding:20px 20px 24px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:8px}
.step + .step{padding-left:20px;border-left:1px solid var(--line)}
@media (max-width:860px){.step:nth-child(3){padding-left:0;border-left:0}}
@media (max-width:520px){.step + .step{padding-left:0;border-left:0}}
.step .n{font-family:var(--mono);font-size:13px;color:var(--muted)}
.step h3{font-size:24px;text-transform:uppercase}
.step p{color:var(--muted);font-size:15px}
.sidebyside{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
@media (max-width:860px){.sidebyside{grid-template-columns:1fr}}
.panel{background:var(--surface);border:1px solid var(--line);padding:24px;display:flex;flex-direction:column;gap:12px}
.panel h3{font-size:28px;text-transform:uppercase}
.panel p{color:var(--muted)}
.panel a.more{font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.05em;text-decoration-color:var(--sign);text-decoration-thickness:3px;text-underline-offset:4px}
nav a[aria-current="page"]{color:var(--fg)}

/* ---- engine shop ---- */
.shoplink{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:24px;padding:18px 20px;background:var(--surface);border:1px solid var(--line);text-decoration:none}
.shoplink .sign{font-size:18px}
.shoplink .t{font-family:var(--display);font-weight:700;font-size:24px;text-transform:uppercase;letter-spacing:.02em;flex:1;min-width:0}
.shoplink .arr{font-size:24px}
.shoplink:hover{border-color:var(--fg)}
.quote-list{list-style:none;margin:0;padding:0}
.quote-list li{display:grid;grid-template-columns:6.5em minmax(0,1fr);gap:10px;padding:9px 0;border-bottom:1px solid var(--line);color:var(--muted)}
.quote-list li:last-child{border-bottom:0}
.quote-list .k{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--fg);padding-top:3px}

/* ---- Shawnee prairie landing (stand-in) ---- */
.strip-scene{height:clamp(160px,22vw,260px);background:var(--sky2);border-bottom:1px solid var(--line);overflow:hidden}
.strip-scene svg{display:block;width:100%;height:100%}
.strip-scene .sk1{stop-color:var(--sky1)} .strip-scene .sk2{stop-color:var(--sky2)} .strip-scene .sk3{stop-color:var(--sky3)}
.strip-scene .fd1{stop-color:var(--field1)} .strip-scene .fd2{stop-color:var(--field2)}
.strip-scene .sun{fill:var(--sun)} .strip-scene .glow{fill:var(--sunglow);opacity:.7}
.strip-scene .clouds{fill:var(--cloud);opacity:.7;animation:drift 40s linear infinite alternate}
.strip-scene .town,.strip-scene .far{fill:var(--far)}
.strip-scene .hw{fill:var(--hangar)} .strip-scene .hd{fill:var(--door)}
.strip-scene .hl{stroke:var(--hangar-line);stroke-width:1.2;fill:none}
.strip-scene .hsign{fill:#141414} .strip-scene .htext{fill:var(--signblue);font-family:var(--display);font-weight:800;font-size:12px;letter-spacing:.08em}
.strip-scene .trim{fill:var(--trim)} .strip-scene .hwin{fill:var(--trim);opacity:.55}
.strip-scene .hw{stroke:var(--hangar-line);stroke-width:.4}
.strip-scene .tarmac{fill:var(--tarmac)} .strip-scene .apron{fill:var(--tarmac)}
.strip-scene .rcl{stroke:#F4F4F0;stroke-width:1.1;stroke-dasharray:14 12;opacity:.9}
.strip-scene .rlights{fill:#FFE9A8}
.strip-scene .pole{stroke:var(--far);stroke-width:1.6}
.strip-scene .sk-o{fill:#F06A1D} .strip-scene .sk-w{fill:#FFFFFF}
.strip-scene .sockbag{transform-box:fill-box;transform-origin:0% 50%;animation:flutter 1.6s ease-in-out infinite alternate}
.strip-scene .pb{fill:url(#cvBody);stroke:#39414A;stroke-width:1.4;stroke-linejoin:round}
.strip-scene .nav{fill:#1F3B5A} .strip-scene .yel{fill:#F2C200}
.strip-scene .seam{stroke:#8F99A3;stroke-width:1;fill:none}
.strip-scene .win{fill:#26323D}
.strip-scene .strut{stroke:#6D7680;stroke-width:4;stroke-linecap:round;fill:none}
.strip-scene .exh{fill:#3A3F45}
.strip-scene .tire{fill:#1D2125} .strip-scene .hub{fill:#9AA3AC}
.strip-scene .spin{fill:#2A2F35}
.strip-scene .disc{fill:#6E767E;opacity:.28}
.strip-scene .blade{stroke:#2A2F35;stroke-width:3;stroke-linecap:round;transform-box:fill-box;transform-origin:50% 50%;animation:prop .08s linear infinite}
.strip-scene .cvshadow ellipse{fill:#000}
.strip-scene .cv{transform:translate(800px,197.5px) scale(.1,1);opacity:0;animation:okland 20s 1 both}
.strip-scene .cvshadow{transform:translate(800px,0);opacity:0;animation:okshadow 20s 1 both}
.strip-scene .lamp{opacity:0;animation:lamp 20s 1 both}
.strip-scene .cvr{transform:translate(812px,197.5px) scale(.8);animation:okturn 20s 1 both}
.strip-scene .cvrshadow{fill:#000;opacity:.3}
.strip-scene .beacon{fill:#E5322B;animation:beacon 1.2s steps(1) infinite}
@keyframes okland{
  0%{transform:translate(-180px,40px) rotate(2deg) scale(1,1);opacity:1;animation-timing-function:linear}
  28%{transform:translate(420px,148px) rotate(3deg) scale(1,1);animation-timing-function:ease-out}
  36.4%{transform:translate(600px,191px) rotate(-3deg) scale(1,1);animation-timing-function:ease-in}
  39.2%{transform:translate(650px,197.5px) rotate(-1.5deg) scale(1,1);animation-timing-function:ease-out}
  43.4%{transform:translate(720px,197.5px) rotate(0deg) scale(1,1);animation-timing-function:ease-out}
  58%{transform:translate(770px,197.5px) rotate(0deg) scale(1,1);opacity:1;animation-timing-function:ease-in}
  68%{transform:translate(795px,197.5px) rotate(0deg) scale(.2,1);opacity:1}
  70%,100%{transform:translate(800px,197.5px) rotate(0deg) scale(.1,1);opacity:0}
}
@keyframes okshadow{
  0%{transform:translate(-180px,0) scale(1.6,1);opacity:0;animation-timing-function:linear}
  28%{transform:translate(420px,0) scale(1.3,1);opacity:.12;animation-timing-function:ease-out}
  36.4%{transform:translate(600px,0) scale(1.05,1);opacity:.28;animation-timing-function:ease-in}
  39.2%{transform:translate(650px,0) scale(1,1);opacity:.34;animation-timing-function:ease-out}
  43.4%{transform:translate(720px,0) scale(1,1);opacity:.34;animation-timing-function:ease-out}
  58%{transform:translate(770px,0) scale(1,1);opacity:.32}
  68%{transform:translate(795px,0) scale(.3,1);opacity:.2}
  70%,100%{transform:translate(800px,0) scale(.2,1);opacity:0}
}
@keyframes okturn{
  0%,66%{transform:translate(798px,197.5px) scale(.25,.95);opacity:0}
  69%{transform:translate(800px,197.5px) scale(.6,.95);opacity:1;animation-timing-function:ease-out}
  73%{transform:translate(802px,197.5px) scale(.95,.95);animation-timing-function:ease-in-out}
  95%,100%{transform:translate(812px,197.5px) scale(.8);opacity:1}
}
@keyframes lamp{0%,39%{opacity:.9}43.4%,100%{opacity:0}}
@keyframes beacon{0%{opacity:1}50%{opacity:.15}}
@keyframes prop{0%{transform:scaleY(1)}50%{transform:scaleY(-.15)}100%{transform:scaleY(1)}}
@keyframes flutter{from{transform:skewY(-4deg) scaleX(.94)}to{transform:skewY(3deg) scaleX(1)}}
@keyframes drift{from{transform:translateX(-40px)}to{transform:translateX(40px)}}
@media (prefers-reduced-motion: reduce){
  .strip-scene .cv,.strip-scene .cvshadow,.strip-scene .lamp,.strip-scene .cvr,.strip-scene .sky1,.strip-scene .sky2,.strip-scene .cp,.strip-scene .c182,.strip-scene .car70,.strip-scene .fpsign,.strip-scene .fpman,.strip-scene .tractor,.strip-scene .spin-w,.strip-scene .smoke circle,.strip-scene .tuft,.strip-scene .goat1,.strip-scene .goat2,.strip-scene .legA,.strip-scene .legB,.strip-scene .head,.strip-scene .beacon,.strip-scene .blade,.strip-scene .sockbag,.strip-scene .clouds{animation:none}
}
.strip-scene .abbey{fill:var(--far);opacity:.72}
.strip-scene .abw{fill:var(--sun);opacity:.45}
.strip-scene .hint{fill:var(--interior)} .strip-scene .hfold{fill:var(--door-shade)} .strip-scene .hshadow{fill:#000;opacity:.3}
.strip-scene .hlamp{stroke:#FFF3CF;stroke-width:1.4;opacity:.75}
.strip-scene .roofedge{stroke:var(--trim);stroke-width:3;fill:none;stroke-linejoin:round;stroke-linecap:round}
.strip-scene .rsign rect{fill:#111}
.strip-scene .rsign .rface{fill:#F2C200}
.strip-scene .rtext{fill:#111;font-family:var(--display);font-weight:700;font-size:11.5px;letter-spacing:.06em}
.strip-scene .rarrow{stroke:#111;stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.strip-scene .rpost{stroke:#3A3F45;stroke-width:2.4}
.strip-scene .cbody{stroke:#2B3036;stroke-width:.4}
.strip-scene .cglass{fill:#2E3B47}
.strip-scene .ctire{fill:#15181B}
.strip-scene .clight{fill:#F3F1E6}
.strip-scene .cgrille{fill:#1E2226}
.strip-scene .cbumper{fill:#5E656C}
.strip-scene .cshadow{fill:#000;opacity:.25}
.strip-scene .gb{fill:url(#cvBody);stroke:#39414A;stroke-width:.7;stroke-linejoin:round}
.strip-scene .gn{fill:#1F3B5A}
.strip-scene .gw{fill:#26323D}
.strip-scene .gseam{stroke:#8F99A3;stroke-width:.5;fill:none}
.strip-scene .gstrut{stroke:#6D7680;stroke-width:1.6;stroke-linecap:round;fill:none}
.strip-scene .gint{fill:#1D2125}
.strip-scene .gtire{fill:#1D2125} .strip-scene .ghub{fill:#9AA3AC}
.strip-scene .gshadow{fill:#000;opacity:.3}
.strip-scene .girt{stroke:#D3C9AE;stroke-width:.5}
.strip-scene .floor{fill:#E3DED2}
.strip-scene .fix{fill:#FFFDF2}
.strip-scene .fglow{fill:#FFF3C4;opacity:.9}
.strip-scene .inac{fill:#F7F6F1;stroke:#7D838A;stroke-width:.35;stroke-linejoin:round}
.strip-scene .inwin{fill:#3B4650;stroke:none}
.strip-scene .instrut{stroke:#7D838A;stroke-width:.7;fill:none}
.strip-scene .intire{fill:#2A2E33;stroke:none}
.strip-scene .inprop{stroke:#5A6067;stroke-width:.8;opacity:.6}
.strip-scene .inshadow{fill:#000;opacity:.12;stroke:none}
.strip-scene .spill{fill:#FFF0C0;opacity:.45}
.strip-scene .rampslab{fill:var(--concrete)}
.strip-scene .rampjoint{stroke:var(--joint);stroke-width:.8;fill:none}
.strip-scene .rampedge{stroke:var(--joint);stroke-width:1.2}
.strip-scene .taxi{stroke:#F2C200;stroke-width:2;fill:none;stroke-linecap:round}
.strip-scene .ctail{fill:#C0322B} .strip-scene .chub{fill:#A9B1B9} .strip-scene .cseam{stroke:#2B3036;stroke-width:.35;fill:none;opacity:.6}
.strip-scene .obu{fill:var(--far);opacity:.72}
/* skydivers: drop in after the Caravan turns (about 14s) */
.strip-scene .sdline{stroke:var(--far);stroke-width:.35;fill:none}
.strip-scene .sdman circle{fill:var(--far)}
.strip-scene .sdman path{stroke:var(--far);stroke-width:1;stroke-linecap:round;fill:none}
.strip-scene .sky1{transform:translate(430px,166px);animation:sky1 26s linear 1 both}
.strip-scene .sky2{transform:translate(506px,166px);animation:sky2 26s linear 1 both}
.strip-scene .cp{transform-box:fill-box;transform-origin:50% 100%;transform:translate(8px,6.5px) scale(.8,.22);opacity:.9}
.strip-scene .sky1 .cp{animation:collapse 26s 1 both}
.strip-scene .sky2 .cp{animation:collapse2 26s 1 both}
@keyframes sky1{
  0%,53%{transform:translate(372px,-40px) rotate(-6deg);opacity:0}
  54%{transform:translate(374px,-34px) rotate(-6deg);opacity:1}
  64%{transform:translate(392px,22px) rotate(5deg)}
  74%{transform:translate(406px,78px) rotate(-4deg)}
  84%{transform:translate(420px,132px) rotate(3deg)}
  91%,100%{transform:translate(430px,166px) rotate(0deg);opacity:1}
}
@keyframes sky2{
  0%,57%{transform:translate(462px,-40px) rotate(5deg);opacity:0}
  58%{transform:translate(464px,-34px) rotate(5deg);opacity:1}
  68%{transform:translate(478px,20px) rotate(-5deg)}
  78%{transform:translate(492px,76px) rotate(4deg)}
  88%{transform:translate(500px,130px) rotate(-3deg)}
  95%,100%{transform:translate(506px,166px) rotate(0deg);opacity:1}
}
@keyframes collapse{0%,91%{transform:none;opacity:1}96%,100%{transform:translate(8px,6.5px) scale(.8,.22);opacity:.9}}
@keyframes collapse2{0%,95%{transform:none;opacity:1}99%,100%{transform:translate(8px,6.5px) scale(.8,.22);opacity:.9}}
/* jump plane (Cessna 182) passes overhead after the jumpers land */
.strip-scene .c182red{fill:#C8332B}
.strip-scene .c182{transform:translate(-140px,60px) scale(.55);opacity:0;animation:c182 33s linear 1 both}
@keyframes c182{
  0%,76.9%{transform:translate(1240px,82px) rotate(-1deg) scale(.55);opacity:0}
  77%{transform:translate(1240px,82px) rotate(-1deg) scale(.55);opacity:.85}
  88%{transform:translate(560px,72px) rotate(-1.5deg) scale(.55)}
  99.9%{transform:translate(-120px,62px) rotate(-1.5deg) scale(.55);opacity:.85}
  100%{transform:translate(-140px,60px) scale(.55);opacity:0}
}
/* grass grows by the runway sign, two goats wander up and graze */
.strip-scene .tuft path{fill:none;stroke-width:1.3;stroke-linecap:round}
.strip-scene .g1 path{stroke:#6F8C3A} .strip-scene .g2 path{stroke:#93AE55}
.strip-scene .tuft{transform-box:fill-box;transform-origin:50% 100%;animation:grow 3s ease-out 19s both}
.strip-scene .goat1 path,.strip-scene .goat2 path{stroke-linecap:round}
.strip-scene .legA path,.strip-scene .legB path{stroke-width:1.1}
.strip-scene .gtail{stroke-width:1.2} .strip-scene .horn{stroke-width:.8;fill:none} .strip-scene .ear{stroke-width:.7}
.strip-scene .gtshadow{fill:#000;opacity:.2}
.strip-scene .goat1{transform:translate(588px,226px);animation:goatwalk1 7s ease-out 21.5s both,wander1 95s linear 31s forwards}
@keyframes wander1{0%{transform:translate(262px,232px)}40%{transform:translate(400px,233px)}70%{transform:translate(500px,229px)}100%{transform:translate(588px,226px)}}
.strip-scene .goat2{transform:translate(548px,236px);animation:goatwalk2 8s ease-out 22.3s both,wander2 100s linear 33s forwards}
@keyframes wander2{0%{transform:translate(238px,238px)}45%{transform:translate(372px,238px)}75%{transform:translate(470px,237px)}100%{transform:translate(548px,236px)}}
.strip-scene .legA,.strip-scene .legB{transform-box:fill-box;transform-origin:50% 0%}
.strip-scene .goat1 .legA{animation:leg .45s ease-in-out 21.5s 14 alternate,leg 1.1s ease-in-out 31s 86 alternate}
.strip-scene .goat1 .legB{animation:leg .45s ease-in-out 21.5s 14 alternate-reverse,leg 1.1s ease-in-out 31s 86 alternate-reverse}
.strip-scene .goat2 .legA{animation:leg .45s ease-in-out 22.3s 16 alternate,leg 1.2s ease-in-out 33s 83 alternate}
.strip-scene .goat2 .legB{animation:leg .45s ease-in-out 22.3s 16 alternate-reverse,leg 1.2s ease-in-out 33s 83 alternate-reverse}
.strip-scene .head{transform-origin:6px -9px;transform:rotate(52deg)}
.strip-scene .goat1 .head{animation:headdown .8s ease-in-out 28.3s both,graze 1.6s ease-in-out 29.1s infinite}
.strip-scene .goat2 .head{animation:headdown .8s ease-in-out 30.1s both,graze 1.8s ease-in-out 30.9s infinite}
@keyframes grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes goatwalk1{from{transform:translate(-40px,233px)}to{transform:translate(262px,232px)}}
@keyframes goatwalk2{from{transform:translate(-70px,238px)}to{transform:translate(238px,238px)}}
@keyframes leg{from{transform:rotate(-18deg)}to{transform:rotate(18deg)}}
@keyframes headdown{from{transform:rotate(0deg)}to{transform:rotate(52deg)}}
@keyframes graze{0%,100%{transform:rotate(52deg)}50%{transform:rotate(60deg)}}
.strip-scene .cracks .tuft{animation-delay:19.2s;animation-duration:4s}
.strip-scene .cracks .weed{fill:#5F7F34}
.strip-scene .cracks .dand path{stroke:#6F8C3A;stroke-width:.8;fill:none}
.strip-scene .cracks .dand ellipse{fill:#5F7F34} .strip-scene .cracks .dand circle{fill:#F2C200}
/* old dilapidated hangar */
.strip-scene .ow{fill:var(--oldwall)}
.strip-scene .ocorr{stroke:var(--olddark);stroke-width:.5;opacity:.28;fill:none}
.strip-scene .rust{fill:var(--oldrust)}
.strip-scene .oroof{fill:var(--oldroof)}
.strip-scene .oedge{stroke:var(--olddark);stroke-width:1.4;fill:none;opacity:.6}
.strip-scene .ohole,.strip-scene .odark{fill:var(--olddark)}
.strip-scene .owin path{fill:var(--oldroof)}
.strip-scene .owin .ohole{fill:var(--olddark)}
.strip-scene .odoor{fill:var(--oldroof);opacity:.85}
.strip-scene .orail{stroke:var(--oldrust);stroke-width:2}
.strip-scene .oweeds path{stroke:#6F8C3A;stroke-width:1.1;fill:none;stroke-linecap:round}
/* running crowd with signs, after the 182 passes */
.strip-scene .mob{transform:translate(1320px,212px)}
.strip-scene .mob.halt .mobp,.strip-scene .mob.halt .mlegA,.strip-scene .mob.halt .mlegB{animation-play-state:paused}
.strip-scene .mob path{stroke-linecap:round}
.strip-scene .mlegA path,.strip-scene .mlegB path{stroke:#3A5F8F;stroke-width:2}
.strip-scene .mob .boot{stroke:#3B2A1E;stroke-width:1.6}
.strip-scene .ovr{fill:#3A5F8F} .strip-scene .strap{stroke:#3A5F8F;stroke-width:1.1} .strip-scene .obtn{fill:#E2C26B} .strip-scene .opocket{fill:none;stroke:#2B4A70;stroke-width:.35}
.strip-scene .marm{stroke:#2B2B2B;stroke-width:1.1;fill:none}
.strip-scene .brow{stroke:#111;stroke-width:1.1;stroke-linecap:round}
.strip-scene .blush{fill:#F08080;opacity:.4} .strip-scene .vein{stroke:#C0392B;stroke-width:.5;stroke-linecap:round} .strip-scene .teeth{stroke:#FFFFFF;stroke-width:.6}
.strip-scene .stick{stroke:#8A6A44;stroke-width:1}
.strip-scene .sboard{fill:#FFFFFF;stroke:#1F3B5A;stroke-width:.6}
.strip-scene .stxt{fill:#B22234;font-family:var(--display);font-weight:800;font-size:6.2px;letter-spacing:.05em}
.strip-scene .stxt2{fill:#1F3B5A;font-family:var(--display);font-weight:800;font-size:3.6px}
.strip-scene .mobp{animation:bob 1.04s ease-in-out infinite alternate}
.strip-scene .mlegA,.strip-scene .mlegB{transform-box:fill-box;transform-origin:50% 0%}
.strip-scene .mlegA{animation:leg .8s ease-in-out infinite alternate}
.strip-scene .mlegB{animation:leg .8s ease-in-out infinite alternate-reverse}
.strip-scene .msign{transform-box:fill-box;transform-origin:30% 100%;animation:shake 1.28s ease-in-out infinite alternate}
@keyframes mob{0%,51.8%{transform:translate(1260px,212px);opacity:0}51.9%{opacity:1}99.9%{transform:translate(-470px,212px);opacity:1}100%{transform:translate(-600px,212px);opacity:0}}
@keyframes bob{from{transform:translateY(0)}to{transform:translateY(-1.6px)}}
@keyframes shake{from{transform:rotate(-6deg)}to{transform:rotate(6deg)}}
@media (prefers-reduced-motion: reduce){.strip-scene .mob,.strip-scene .mobp,.strip-scene .mlegA,.strip-scene .mlegB,.strip-scene .msign{animation:none}}
/* tractor rolls out of the old hangar and heads off left */
.strip-scene .tractor{transform:translate(128px,197px) scale(.55);opacity:0;animation:tractor 18s linear 16s 1 both}
.strip-scene .trred{fill:#B5251F;stroke:#5A1410;stroke-width:.4}
.strip-scene .trdark{fill:#26221F}
.strip-scene .trline{stroke:#26221F;stroke-width:.8;fill:none;stroke-linecap:round}
.strip-scene .trtire{fill:#1E1B19}
.strip-scene .trhub{fill:#E2B23A}
.strip-scene .trspoke{stroke:#8A6A1E;stroke-width:1}
.strip-scene .trover{fill:#3A5F8F} .strip-scene .trskin{fill:#E8B98F} .strip-scene .trcap{fill:#2E7D32}
.strip-scene .spin-w{transform-box:fill-box;transform-origin:50% 50%;animation:wheel 1.4s linear infinite}
.strip-scene .smoke circle{fill:#8E8A84;opacity:0;animation:puff 1.6s ease-out infinite}
.strip-scene .smoke circle:nth-child(2){animation-delay:.5s} .strip-scene .smoke circle:nth-child(3){animation-delay:1s}
@keyframes tractor{
  0%{transform:translate(128px,197px) scale(.55);opacity:0}
  4%{opacity:1}
  20%{transform:translate(108px,207px) scale(1);opacity:1}
  99.9%{transform:translate(-110px,207px) scale(1);opacity:1}
  100%{transform:translate(-110px,207px) scale(1);opacity:0}
}
@keyframes wheel{from{transform:rotate(0deg)}to{transform:rotate(-360deg)}}
@keyframes puff{0%{opacity:.7;transform:translate(0,0) scale(.6)}100%{opacity:0;transform:translate(3px,-6px) scale(1.4)}}
/* 1970s cars park by the old hangar, then someone posts a FREE PARKING sign */
.strip-scene .car70{transform:translate(var(--cx),var(--cy)) scale(var(--cs));animation:park70 3.6s ease-out both}
.strip-scene .c70b{stroke:#2B2622;stroke-width:.45}
.strip-scene .c70w{fill:#2E3B47}
.strip-scene .c70v{fill:#3A2E25}
.strip-scene .c70chrome{stroke:#D9DDE1;stroke-width:.7}
.strip-scene .c70bump{fill:#D9DDE1;stroke:#7D838A;stroke-width:.3}
.strip-scene .c70ww{fill:none;stroke:#F4F1EA;stroke-width:.8}
@keyframes park70{from{transform:translate(-70px,var(--cy)) scale(var(--cs))}to{transform:translate(var(--cx),var(--cy)) scale(var(--cs))}}
.strip-scene .fpsign{transform:translate(170px,151px);animation:fpsign 6s ease-in-out 60s both}
.strip-scene .fppost{stroke:#7A5A36;stroke-width:1.6}
.strip-scene .fpboard{fill:#E6D7B0;stroke:#6B4E2E;stroke-width:.7}
.strip-scene .fptext{fill:#B22234;font-family:var(--display);font-weight:800;font-size:10px;letter-spacing:.03em}
.strip-scene .fpman{transform:translate(196px,206px);animation:fpman 7s ease-in-out 60s both,fpflee 3.2s ease-in 133s forwards}
@keyframes fpflee{0%{transform:translate(196px,206px) scale(1)}12%{transform:translate(200px,203px) scale(1)}100%{transform:translate(-80px,206px) scale(1)}}
.strip-scene .fpman.walk .mlegA{animation:leg .45s ease-in-out infinite alternate}
.strip-scene .fpman .mlegA,.strip-scene .fpman .mlegB{transform-box:fill-box;transform-origin:50% 0%}
@keyframes fpsign{0%{transform:translate(132px,190px) scale(.6);opacity:0}6%{opacity:1}60%{transform:translate(180px,182px) scale(.9)}82%,100%{transform:translate(170px,151px) scale(1);opacity:1}}
@keyframes fpman{0%{transform:translate(140px,196px) scale(.7);opacity:0}6%{opacity:1}60%{transform:translate(188px,205px) scale(1)}100%{transform:translate(196px,206px) scale(1);opacity:1}}
.strip-scene .fpman .mlegA{animation:leg .45s ease-in-out 60s 12 alternate,leg .22s ease-in-out 133.3s 14 alternate}
.strip-scene .fpman .mlegB{animation:leg .45s ease-in-out 60s 12 alternate-reverse,leg .22s ease-in-out 133.3s 14 alternate-reverse}
.strip-scene .fpnail{fill:#4A4038}
.strip-scene .rvpark{opacity:.9}
.strip-scene .rvb{fill:#EDEAE2;stroke:#8E877C;stroke-width:.35}
.strip-scene .rvw{fill:#3A4652} .strip-scene .rvd{fill:#C9C2B4}
.strip-scene .busb{stroke:#4A4A46;stroke-width:.35}
/* finale: the 182 taxis in from the left and stops behind the yellow sign; a sign holder runs in, bonks it, runs off right */
.strip-scene .c182t{transform:translate(446px,198.2px);animation:c182t 9s ease-out 90.6s both,c182go 9s ease-in 103.7s forwards}
.strip-scene .c182flip{transform-box:fill-box;transform-origin:50% 50%;animation:flip182 2s ease-in-out 101.6s forwards}
.strip-scene .c182sh{animation:fadeout .8s linear 107.8s forwards}
@keyframes flip182{0%{transform:scaleX(1)}50%{transform:scaleX(.06)}100%{transform:scaleX(-1)}}
@keyframes c182go{0%{transform:translate(446px,198.2px) rotate(0)}48%{transform:translate(180px,198.2px) rotate(0)}58%{transform:translate(90px,196px) rotate(-7deg)}100%{transform:translate(-300px,120px) rotate(-11deg)}}
@keyframes fadeout{to{opacity:0}}
.strip-scene .g200go{transform-box:fill-box;transform-origin:20% 100%;animation:g200go 10s ease-in 107.7s forwards}
@keyframes g200go{0%{transform:translate(0,0) rotate(0)}55%{transform:translate(-560px,0) rotate(0)}64%{transform:translate(-700px,-4px) rotate(-6deg)}100%{transform:translate(-1350px,-110px) rotate(-11deg)}}
@keyframes c182t{from{transform:translate(-130px,198.2px)}to{transform:translate(446px,198.2px)}}
/* one big RV drives in at the end and disappears behind the old hangar */
.strip-scene .bigrv{transform:translate(200px,191px);animation:bigrv 12s linear 80s both}
@keyframes bigrv{from{transform:translate(700px,191px)}to{transform:translate(200px,191px)}}
/* sound toggle on the scene */
.strip-scene-wrap{position:relative}
.soundbtn{position:absolute;right:12px;bottom:12px;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid var(--line);background:color-mix(in srgb,var(--bg) 85%,transparent);color:var(--fg);font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;backdrop-filter:blur(4px)}
.soundbtn svg{width:16px;height:16px}
.soundbtn .w1,.soundbtn .w2{display:none}
.soundbtn[aria-pressed="true"] .w1,.soundbtn[aria-pressed="true"] .w2{display:inline}
.soundbtn[aria-pressed="true"] .x{display:none}
.soundbtn:focus-visible{outline:3px solid var(--sign);outline-offset:2px}
/* storm finale: nightfall, tornado, everything blows away */
.strip-scene .nightfall{fill:#05070C;opacity:0;animation:nightfall 28.5s ease-in-out 128.5s forwards}
@keyframes nightfall{0%{opacity:0}31.6%{opacity:.93}71.9%{opacity:.93}100%{opacity:0}}
.strip-scene .stormdim{fill:#05070C;opacity:0;pointer-events:none;animation:stormdim 28.5s ease-in-out 128.5s forwards}
@keyframes stormdim{0%{opacity:0}31.6%{opacity:.38}71.9%{opacity:.38}100%{opacity:0}}
.strip-scene .flash{fill:#EEF2FF;opacity:0;pointer-events:none;animation:flash 18s linear 130.5s forwards}
@keyframes flash{0%{opacity:0}1%{opacity:.55}2%{opacity:0}2.6%{opacity:.35}3.2%,19%{opacity:0}20%{opacity:.6}21.4%,49.5%{opacity:0}50.5%{opacity:.5}52%,75%{opacity:0}76%{opacity:.6}77%{opacity:0}78%{opacity:.3}79%,100%{opacity:0}}
.strip-scene .tornado{transform:translate(1320px,0);opacity:0;animation:tornado 16s linear 131.5s forwards}
@keyframes tornado{0%{transform:translate(1320px,0);opacity:0}4%{opacity:1}96%{opacity:1}100%{transform:translate(-260px,0);opacity:0}}
.strip-scene .twobble{transform-box:fill-box;transform-origin:50% 100%;animation:twobble 1.3s ease-in-out infinite alternate}
@keyframes twobble{from{transform:skewX(-6deg)}to{transform:skewX(6deg)}}
.strip-scene .tfunnel{fill:#4A4E54;opacity:.88}
.strip-scene .tcloud{fill:#2A2D32;opacity:.9}
.strip-scene .tdust{fill:#6B5A45;opacity:.75}
.strip-scene .tband{fill:none;stroke:#8A8F96;stroke-width:.9;opacity:.6;animation:tband .45s ease-in-out infinite alternate}
@keyframes tband{from{transform:translateX(-3px)}to{transform:translateX(3px)}}
.strip-scene .tdeb{transform-origin:0px 172px;animation:tdeb 1s linear infinite}
.strip-scene .tdeb rect{fill:#2E2A26}
@keyframes tdeb{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.strip-scene .blowC,.strip-scene .blowW,.strip-scene .blowG,.strip-scene .blowG2{transform-box:fill-box;transform-origin:50% 50%}
.strip-scene .blowC{animation:blowaway 2.4s ease-in forwards}
.strip-scene .blowW{animation:blowaway 1.6s ease-in forwards}
.strip-scene .blowG{animation:blowaway 2.2s ease-in 138.4s forwards}
.strip-scene .blowG2{animation:blowaway 2.2s ease-in 138.8s forwards}
@keyframes blowaway{0%{transform:translate(0,0) rotate(0);opacity:1}25%{transform:translate(-20px,-30px) rotate(-90deg)}100%{transform:translate(-320px,-300px) rotate(-720deg);opacity:0}}
/* after the tornado: FREE PARKING sign drops, hanging by one nail */
.strip-scene .fpswing{transform-origin:26px -14px;animation:fpswing 3.2s ease-out 143.6s forwards}
@keyframes fpswing{0%{transform:rotate(0)}22%{transform:rotate(-66deg)}42%{transform:rotate(-49deg)}60%{transform:rotate(-61deg)}76%{transform:rotate(-55deg)}90%{transform:rotate(-58.6deg)}100%{transform:rotate(-58deg)}}
.strip-scene .fpnailL{animation:nailfall .9s ease-in 143.6s forwards}
@keyframes nailfall{0%{transform:translate(0,0);opacity:1}100%{transform:translate(-4px,40px);opacity:0}}
/* after the storm: a second Caravan lands and parks; a banner tow crosses behind the hangars */
.strip-scene .cv2{transform:translate(690px,197.5px);opacity:0;animation:cv2land 13s 157.5s both}
@keyframes cv2land{
  0%{transform:translate(-180px,40px) rotate(2deg);opacity:1;animation-timing-function:linear}
  36%{transform:translate(330px,150px) rotate(3deg);animation-timing-function:ease-out}
  44%{transform:translate(470px,191px) rotate(-3deg);animation-timing-function:ease-in}
  48%{transform:translate(515px,197.5px) rotate(-1.5deg);animation-timing-function:ease-out}
  56%{transform:translate(580px,197.5px) rotate(0deg);animation-timing-function:ease-out}
  86%,100%{transform:translate(690px,197.5px) rotate(0deg);opacity:1}
}
.strip-scene .cv2shadow{transform:translate(690px,0);opacity:0;animation:cv2shadow 13s 157.5s both}
.strip-scene .cv2shadow ellipse{fill:#000}
@keyframes cv2shadow{
  0%{transform:translate(-180px,0) scale(1.6,1);opacity:0;animation-timing-function:linear}
  36%{transform:translate(330px,0) scale(1.3,1);opacity:.12;animation-timing-function:ease-out}
  44%{transform:translate(470px,0) scale(1.05,1);opacity:.28;animation-timing-function:ease-in}
  48%{transform:translate(515px,0) scale(1,1);opacity:.34;animation-timing-function:ease-out}
  56%{transform:translate(580px,0);opacity:.34;animation-timing-function:ease-out}
  86%,100%{transform:translate(690px,0);opacity:.32}
}
.strip-scene .lamp2{opacity:0;animation:lamp2 13s 157.5s both}
@keyframes lamp2{0%,46%{opacity:.9}56%,100%{opacity:0}}
.strip-scene .tow{transform:translate(-80px,58px);opacity:0;animation:tow 23s linear 159s both}
@keyframes tow{0%{transform:translate(-80px,58px);opacity:1}100%{transform:translate(1460px,50px);opacity:1}}
.strip-scene .towwave{transform-box:fill-box;transform-origin:100% 50%;animation:towwave .9s ease-in-out infinite alternate}
@keyframes towwave{from{transform:skewY(-2deg) scaleY(.96)}to{transform:skewY(2deg) scaleY(1)}}
.strip-scene .banner{fill:#FFFFFF;stroke:#1F3B5A;stroke-width:.8}
.strip-scene .bantext{fill:#B22234;font-family:var(--display);font-weight:800;font-size:16px;letter-spacing:.3em}
.strip-scene .towline{stroke:#55504A;stroke-width:.6;fill:none}
/* intercity coach follows the RV behind the old hangar */
.strip-scene .coach{transform:translate(200px,191px);animation:coach 12s linear 89s both}
@keyframes coach{from{transform:translate(760px,191px)}to{transform:translate(200px,191px)}}
.strip-scene .coachb{fill:#C9CDD2;stroke:#6E757D;stroke-width:.3}
.strip-scene .coachw{fill:#2B3640}
.strip-scene .coachblue{fill:#1F4E8C}
.strip-scene .coachpin{fill:#B22234;stroke:#B22234;stroke-width:.3}
.strip-scene .coachseam{stroke:#8E959D;stroke-width:.3;fill:none}
/* opening: a man with a chainsaw fells a light pole in the background */
.strip-scene .lpole{fill:#6A7078;stroke:#3E4349;stroke-width:.35}
.strip-scene .lshine{stroke:#9CA3AB;stroke-width:.6;fill:none}
.strip-scene .lparm{stroke:#5A6067;stroke-width:1.8;fill:none;stroke-linecap:round}
.strip-scene .llens{stroke:#FFE7A0;stroke-width:1;stroke-linecap:round}
.strip-scene .larm{stroke:#7E8288;stroke-width:1.4;fill:none}
.strip-scene .llamp{fill:#5E6268}
.strip-scene .polefall{transform-origin:0px -3px;transform:rotate(87deg);animation:polefall 11s ease-in 5s both}
@keyframes polefall{0%,86%{transform:rotate(0deg)}88%{transform:rotate(4deg)}100%{transform:rotate(87deg)}}
.strip-scene .fallpuff ellipse{fill:#8A7A62}
.strip-scene .fallpuff{opacity:0;animation:fallpuff 2s ease-out 15.8s both}
@keyframes fallpuff{0%{opacity:.8;transform:scale(.5)}100%{opacity:0;transform:scale(1.6) translateY(-3px)}}
.strip-scene .smleg{stroke:#3A5F8F;stroke-width:1.6;stroke-linecap:round}
.strip-scene .smshirt{fill:#2E7D32}
.strip-scene .smskin{fill:#E8B98F}
.strip-scene .smhat{fill:#F2B705}
.strip-scene .smgoggle{fill:#3A3F45}
.strip-scene .smarm{stroke:#2E7D32;stroke-width:1.3;stroke-linecap:round}
.strip-scene .sawbody{fill:#E36B1E}
.strip-scene .sawbar{fill:#9AA1A8}
@keyframes sawbuzz{0%{transform:translate(0,0)}50%{transform:translate(.3px,-.3px)}100%{transform:translate(0,0)}}
.strip-scene .sdust{fill:#C9A86B;opacity:0;animation:sdust .55s linear 15 forwards}
@keyframes sdust{0%{opacity:.9;transform:translate(17px,-1px)}100%{opacity:0;transform:translate(9px,-9px)}}
.strip-scene .mob.back .mobflip{transform:scaleX(-1)}
.strip-scene .mob.back .stxt{transform-box:fill-box;transform-origin:50% 50%;transform:scaleX(-1)}
.strip-scene .sawflee{animation:sawflee 4.2s ease-in 19.4s forwards}
@keyframes sawflee{0%{transform:translate(0,0);opacity:1}10%{transform:translate(2px,-3px)}92%{opacity:1}100%{transform:translate(230px,0);opacity:0}}
.strip-scene .sawbob{animation:bob .18s ease-in-out 19.6s 22 alternate}
/* weathered ramp behind the hangars, grass through the cracks */
.strip-scene .brslab{fill:var(--concrete);opacity:.92}
.strip-scene .brjoint{stroke:var(--joint);stroke-width:.6;fill:none}
.strip-scene .bgweed path{fill:none;stroke-width:1;stroke-linecap:round}
.strip-scene .bgweed.g1 path{stroke:#6F8C3A} .strip-scene .bgweed.g2 path{stroke:#93AE55}
/* mechanics' legs moving around inside the KSNL hangar, under the half-open door */
.strip-scene .workers{opacity:0;animation:appear .6s linear 169s forwards}
@keyframes appear{to{opacity:1}}
.strip-scene .wleg{stroke:#24324A;stroke-width:2.4;stroke-linecap:round}
.strip-scene .wboot{stroke:#2A1E16;stroke-width:1.8;stroke-linecap:round}
.strip-scene .wtorso{fill:#2F5D8A}
.strip-scene .wbelt{fill:#1C1C1C}
.strip-scene .warm{stroke:#2F5D8A;stroke-width:1.8;stroke-linecap:round}
.strip-scene .tbox{fill:#C62828;stroke:#7A1515;stroke-width:.4}
.strip-scene .tdraw{stroke:#7A1515;stroke-width:.4}
.strip-scene .thandle{stroke:#D9DDE1;stroke-width:.7;stroke-linecap:round}
.strip-scene .tcast{fill:#1D2125}
.strip-scene .wshadow{fill:#000;opacity:.18}
.strip-scene .wlegA,.strip-scene .wlegB{transform-box:fill-box;transform-origin:50% 0%}
.strip-scene .wlegA{animation:leg .5333s ease-in-out 7.5 alternate}
.strip-scene .wlegB{animation:leg .5333s ease-in-out 7.5 alternate-reverse}
.strip-scene .wk1 .wdir{transform:translate(1040px,0);animation:wk1 4s linear 169s both}
.strip-scene .wk1 .wlegA,.strip-scene .wk1 .wlegB{animation-delay:169s}
.strip-scene .wk2 .wdir{transform:translate(1110px,0) scaleX(-1);animation:wk2 4s linear 170.5s both}
.strip-scene .wk2 .wlegA,.strip-scene .wk2 .wlegB{animation-delay:170.5s}
.strip-scene .wk3 .wdir{transform:translate(1162px,0);animation:wk3 4s linear 169.8s both}
.strip-scene .wk3 .wlegA,.strip-scene .wk3 .wlegB{animation-delay:169.8s}
@keyframes wk1{from{transform:translate(966px,0) scaleX(1)}to{transform:translate(1040px,0) scaleX(1)}}
@keyframes wk2{from{transform:translate(1180px,0) scaleX(-1)}to{transform:translate(1110px,0) scaleX(-1)}}
@keyframes wk3{from{transform:translate(1118px,0) scaleX(1)}to{transform:translate(1162px,0) scaleX(1)}}
/* staff cars: white luxury SUV and black muscle sedan */
.strip-scene .rrbody{fill:#F5F6F7;stroke:#7D838A;stroke-width:.4}
.strip-scene .rrglass{fill:#1E252C}
.strip-scene .rrclad{fill:#3A3F45}
.strip-scene .rrhub{fill:#B8BEC4;stroke:#6E757D;stroke-width:.3}
.strip-scene .chbody{fill:#141618;stroke:#000;stroke-width:.4}
.strip-scene .chglass{fill:#3A4652}
.strip-scene .chgrille{fill:#05070A}
.strip-scene .chline{stroke:#3A3F45;stroke-width:.35}
.strip-scene .chhub{fill:#2E3338;stroke:#5E656C;stroke-width:.3}
.strip-scene .rrsplit{stroke:#3A434C;stroke-width:.45}
.strip-scene .rrgill{fill:#2A3036}
.strip-scene .rrhandle{stroke:#B8BEC4;stroke-width:.5;stroke-linecap:round}
.strip-scene .rrbelt{stroke:#C9CED4;stroke-width:.3}
.strip-scene .rrspoke{stroke:#6E757D;stroke-width:.45}
.strip-scene .rrcap{fill:#2A3036}
/* staff cars back out, turn and drive off right before the tornado */
.strip-scene .leave1{animation:leave 4.2s ease-in 182.3s forwards,rrback 4.2s ease-out 200s forwards}
.strip-scene .leave2{animation:leave 4.2s ease-in 126.8s forwards}
@keyframes leave{0%{transform:translate(0,0)}25%{transform:translate(12px,0)}40%{transform:translate(12px,0)}100%{transform:translate(280px,0)}}
.strip-scene .flip1{transform-origin:24px -8px;animation:carflip 4.2s linear 182.3s forwards,unflip .01s linear 200s forwards}
.strip-scene .flip2{transform-origin:25px -8px;animation:carflip 4.2s linear 126.8s forwards}
@keyframes carflip{0%,28%{transform:scaleX(1)}38%,100%{transform:scaleX(-1)}}
/* a glamorous woman walks out of the hangar and gets into the Range Rover */
.strip-scene .lady{opacity:0;transform:translate(1124px,195px);animation:lady 6.4s linear 175.5s both}
@keyframes lady{0%{opacity:0;transform:translate(1040px,197px) scale(1.05)}4%{opacity:1}76%{opacity:1;transform:translate(1120px,197px) scale(1.05)}90%{opacity:1;transform:translate(1124px,195px) scale(1)}100%{opacity:0;transform:translate(1126px,194px) scale(.95)}}
.strip-scene .ladybob{animation:bob .36s ease-in-out 175.5s 13 alternate}
.strip-scene .lskin{fill:#EBC3A0}
.strip-scene .lneck{stroke:#EBC3A0;stroke-width:.9}
.strip-scene .lleg{stroke:#EBC3A0;stroke-width:1;stroke-linecap:round}
.strip-scene .larm{stroke:#EBC3A0;stroke-width:.85;fill:none;stroke-linecap:round}
.strip-scene .ldress{fill:#C8102E}
.strip-scene .lheel{stroke:#7A0A1C;stroke-width:.6;stroke-linecap:round}
.strip-scene .lhair{fill:#3B2216}
.strip-scene .lglasses{fill:#111}
.strip-scene .llips{fill:#C8102E}
.strip-scene .lbag{fill:#111} .strip-scene .lstrap{stroke:#111;stroke-width:.4;fill:none}
.strip-scene .llegA,.strip-scene .llegB{transform-box:fill-box;transform-origin:50% 0%}
.strip-scene .llegA{animation:leg .36s ease-in-out 175.5s 13 alternate}
.strip-scene .llegB{animation:leg .36s ease-in-out 175.5s 13 alternate-reverse}
/* flashing LED sign on the KSNL hangar door */
.strip-scene .ledpanel{fill:#2A2E33;stroke:#8DB2D6;stroke-width:.8}
.strip-scene .ledface{fill:#0B0D10}
.strip-scene .ledtxt{fill:#FFB020;font-family:var(--display);font-weight:800;font-size:10px;letter-spacing:.06em}
.strip-scene .ledtext{filter:drop-shadow(0 0 1.6px #FF9A00)}
@keyframes ledflash{0%{opacity:1}60%{opacity:.08}70%{opacity:1}85%{opacity:.08}92%{opacity:1}}
.strip-scene .ledbulb{fill:#FF3B30;animation:ledchase .9s steps(1) infinite}
@keyframes ledchase{0%{opacity:1}50%{opacity:.15}}
.strip-scene .ledsign{animation:ledon 1.2s steps(1) 182s both}
@keyframes ledon{0%{opacity:0}20%{opacity:1}35%{opacity:0}50%{opacity:1}62%{opacity:0}75%,100%{opacity:1}}
/* chainsaw man celebrates after the pole falls: arms up, three jumps */
.strip-scene .sawjump{animation:cheerjump 2.4s ease-in-out 16.6s 1 both}
@keyframes cheerjump{0%,100%{transform:translate(0,0)}16.6%{transform:translate(0,-6px)}33.3%{transform:translate(0,0)}50%{transform:translate(0,-6px)}66.6%{transform:translate(0,0)}83.3%{transform:translate(0,-6px)}}
.strip-scene .smarmup,.strip-scene .sawground{opacity:0;animation:cheershow 2.9s steps(1) 16.3s forwards}
@keyframes cheershow{0%{opacity:1}100%{opacity:0}}
.strip-scene .smarm:not(.smarmup){animation:cheerhide 2.9s steps(1) 16.3s forwards}
.strip-scene .saw{animation:sawbuzz .06s linear 6s 150,cheerhide 2.9s steps(1) 16.3s forwards}
@keyframes cheerhide{0%{opacity:0}100%{opacity:1}}
/* sign holders wear red overalls */
.strip-scene .mob .ovr{fill:#B22234}
.strip-scene .mob .strap{stroke:#B22234}
.strip-scene .mob .opocket{stroke:#7A1520}
.strip-scene .mob .mlegA path:not(.boot),.strip-scene .mob .mlegB path:not(.boot){stroke:#B22234}
/* at the very end, while the ticker runs, the old hangar slowly dissolves away */
.strip-scene .dissolve{animation:dissolve 12s ease-in 186s both}
@keyframes dissolve{0%{opacity:1;filter:blur(0)}60%{opacity:.45;filter:blur(1.2px)}100%{opacity:0;filter:blur(3px)}}
/* the Range Rover returns; the woman, changed into work clothes, walks back into the hangar */
@keyframes rrback{0%{transform:translate(300px,0)}100%{transform:translate(0,0)}}
@keyframes unflip{from,to{transform:scaleX(1)}}
.strip-scene .lady2{opacity:0;transform:translate(1036px,196px);animation:lady2 6.4s linear 204.6s both}
@keyframes lady2{0%{opacity:0;transform:translate(1126px,194px) scale(.95)}10%{opacity:1;transform:translate(1120px,197px) scale(1.05)}82%{opacity:1;transform:translate(1046px,197px) scale(1.05)}100%{opacity:0;transform:translate(1036px,195px) scale(.96)}}
.strip-scene .lady2bob{animation:bob .4s ease-in-out 205s 13 alternate}
.strip-scene .l2leg{stroke:#1F2A44;stroke-width:1.3;stroke-linecap:round}
.strip-scene .l2shoe{stroke:#111;stroke-width:.7;stroke-linecap:round}
.strip-scene .l2top{fill:#F4F5F6;stroke:#B8BEC4;stroke-width:.3}
.strip-scene .l2belt{fill:#5A3A22}
.strip-scene .l2clip{fill:#C9A66B} .strip-scene .l2clipc{fill:#9AA1A8}
.strip-scene .l2smile{stroke:#B22234;stroke-width:.35;fill:none;stroke-linecap:round}
.strip-scene .l2legA,.strip-scene .l2legB{transform-box:fill-box;transform-origin:50% 0%}
.strip-scene .l2legA{animation:leg .4s ease-in-out 205s 13 alternate}
.strip-scene .l2legB{animation:leg .4s ease-in-out 205s 13 alternate-reverse}
/* the old cars by the old hangar are beat up */
.strip-scene .car70 .c70b{filter:saturate(.5) brightness(.9)}
.strip-scene .rust70{fill:#7E4220;opacity:.85}
.strip-scene .primer{fill:#8C8780;opacity:.9}
.strip-scene .dent{stroke:#000;stroke-width:.35;opacity:.35;fill:none}
.strip-scene .crack{stroke:#E8EDF2;stroke-width:.3;fill:none;opacity:.8}
.strip-scene .car70 .c70chrome{opacity:.45}
.strip-scene .car70 .c70ww{stroke:#B9B2A2}
.strip-scene .car70:nth-of-type(2) .c70bump:first-of-type{display:none}
.strip-scene .car70:nth-of-type(3) .c70ww{display:none}
/* tornado rips the old hangar doors off, revealing dim tractors inside */
.strip-scene .odoorL,.strip-scene .odoorR{transform-box:fill-box;transform-origin:50% 50%}
.strip-scene .odoorL{animation:doorfly 2.4s ease-in 143.3s forwards}
.strip-scene .odoorR{animation:doorfly 2.4s ease-in 143.8s forwards}
@keyframes doorfly{0%{transform:translate(0,0) rotate(0);opacity:1}20%{transform:translate(-14px,-18px) rotate(-25deg)}100%{transform:translate(-300px,-260px) rotate(-560deg);opacity:0}}
.strip-scene .oldinside{filter:brightness(.42) saturate(.6);opacity:0;animation:insideon .4s linear 143.2s forwards}
@keyframes insideon{to{opacity:1}}
.strip-scene .obulb{fill:#FFE7A0}
.strip-scene .obulbglow{fill:#FFD27A;opacity:.35;animation:bulbflick 2.6s steps(1) infinite}
@keyframes bulbflick{0%{opacity:.35}40%{opacity:.18}44%{opacity:.35}70%{opacity:.25}74%{opacity:.35}}
.strip-scene .ocord{stroke:#2A2522;stroke-width:.6}
/* real hangar photo across the top of every page; the animated story lives under "Our Story" */
.topphoto{height:clamp(160px,22vw,260px);background-size:cover;background-position:50% 12%;border-bottom:1px solid var(--line)}
.story{padding-bottom:0}
.story .strip-scene-wrap{margin-top:8px}
.replaybtn{right:auto;left:12px}
@media (prefers-reduced-motion: reduce){#sceneReplay{display:none}}
/* ===== opening: the KSNL hangar is built before the first Caravan lands ===== */
.strip-scene .afterbuild{animation:afterbuild 1.6s ease-in-out 29.6s both}
@keyframes afterbuild{from{opacity:0}to{opacity:1}}
.strip-scene .siteweeds path{stroke:#6F8C3A;stroke-width:1.1;fill:none;stroke-linecap:round}
.strip-scene .siteweeds{animation:fadeout 2s linear 4s forwards}
.strip-scene .steel{fill:#9A4A2E}
.strip-scene .steelline{stroke:#9A4A2E;stroke-width:4;fill:none;stroke-linejoin:round}
.strip-scene .steelline.thin{stroke-width:2}
.strip-scene .bcol{animation:colup .7s ease-out both}
@keyframes colup{from{transform:translateY(-70px);opacity:0}30%{opacity:1}to{transform:translateY(0);opacity:1}}
.strip-scene .braft{animation:raftup 1.4s ease-out 24s both}
@keyframes raftup{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}
.strip-scene .bclad{fill:var(--hangar);stroke:var(--hangar-line);stroke-width:.6;animation:cladin .5s ease-out both}
@keyframes cladin{from{opacity:0}to{opacity:1}}
.strip-scene .broof{fill:var(--hangar);stroke:var(--trim);stroke-width:3;animation:cladin 1.2s ease-out 27.6s both}
.strip-scene .bframe{animation:fadeout 1.2s linear 30.6s forwards}
.strip-scene .roofcrew{opacity:0;animation:crewon .4s linear 24.6s forwards,fadeout 1.2s linear 31s forwards}
@keyframes crewon{to{opacity:1}}
.strip-scene .rwleg{stroke:#24324A;stroke-width:1.4;stroke-linecap:round}
.strip-scene .rwvest{fill:#F26B1D}
.strip-scene .rwhat{fill:#F2C200}
.strip-scene .rwlimb{stroke:#F26B1D;stroke-width:1.3;stroke-linecap:round}
.strip-scene .rwhammer{fill:#3A3F45}
.strip-scene .rwarm{transform-box:fill-box;transform-origin:0% 100%;animation:hammer .33s ease-in-out infinite alternate}
@keyframes hammer{from{transform:rotate(-30deg)}to{transform:rotate(25deg)}}
.strip-scene .tbed{fill:#4A4E54}
.strip-scene .tcab{stroke:#1C1C1C;stroke-width:.4}
.strip-scene .twin{fill:#2B3640}
.strip-scene .tstack{fill:#6E757D}
.strip-scene .beamline{stroke:#6E2F1C;stroke-width:.4}
.strip-scene .panelstack{fill:#D9DDE1;stroke:#8E969D;stroke-width:.4}
.strip-scene .panelline{stroke:#8E969D;stroke-width:.4}
.strip-scene .truckA{transform:translate(-260px,226px);animation:truckA 12s linear 2.5s both}
@keyframes truckA{0%{transform:translate(1300px,226px);animation-timing-function:ease-out}41.7%{transform:translate(600px,226px)}58.3%{transform:translate(600px,226px);animation-timing-function:ease-in}100%{transform:translate(-260px,226px)}}
.strip-scene .truckB{transform:translate(-260px,226px);animation:truckB 12s linear 3.2s both}
@keyframes truckB{0%{transform:translate(1300px,226px);animation-timing-function:ease-out}41.7%{transform:translate(860px,226px)}58.3%{transform:translate(860px,226px);animation-timing-function:ease-in}100%{transform:translate(-260px,226px)}}
.strip-scene .loadA{opacity:0;animation:loadA 6.4s linear 2.5s both,fadeout 6s linear 22s forwards}
@keyframes loadA{0%{opacity:1;transform:translate(1300px,226px);animation-timing-function:ease-out}78%{transform:translate(600px,226px)}100%{opacity:1;transform:translate(600px,240px)}}
.strip-scene .loadB{opacity:0;animation:loadB 6.4s linear 3.2s both,fadeout 6s linear 24s forwards}
@keyframes loadB{0%{opacity:1;transform:translate(1300px,226px);animation-timing-function:ease-out}78%{transform:translate(860px,226px)}100%{opacity:1;transform:translate(860px,240px)}}
.strip-scene .craneDrive{transform:translate(1420px,224px);animation:craneIn 4s ease-out 11s both,craneOut 4s ease-in 32.6s forwards}
@keyframes craneIn{from{transform:translate(1420px,224px)}to{transform:translate(830px,224px)}}
@keyframes craneOut{from{transform:translate(830px,224px)}to{transform:translate(1440px,224px)}}
.strip-scene .boomrot{transform:rotate(180deg);animation:boomrun 18s ease-in-out 15s both}
@keyframes boomrun{0.00%{transform:rotate(180deg)}8.33%{transform:rotate(90deg)}10.00%{transform:rotate(72deg)}14.17%{transform:rotate(108deg)}18.33%{transform:rotate(72deg)}22.50%{transform:rotate(108deg)}26.67%{transform:rotate(72deg)}30.83%{transform:rotate(108deg)}35.00%{transform:rotate(72deg)}39.17%{transform:rotate(108deg)}43.33%{transform:rotate(72deg)}47.50%{transform:rotate(108deg)}55.56%{transform:rotate(90deg)}88.89%{transform:rotate(90deg)}97.22%{transform:rotate(180deg)}100.00%{transform:rotate(180deg)}}
.strip-scene .tiprot{transform:rotate(-180deg);animation:tiprun 18s ease-in-out 15s both}
@keyframes tiprun{0.00%{transform:rotate(-180deg)}8.33%{transform:rotate(-90deg)}10.00%{transform:rotate(-72deg)}14.17%{transform:rotate(-108deg)}18.33%{transform:rotate(-72deg)}22.50%{transform:rotate(-108deg)}26.67%{transform:rotate(-72deg)}30.83%{transform:rotate(-108deg)}35.00%{transform:rotate(-72deg)}39.17%{transform:rotate(-108deg)}43.33%{transform:rotate(-72deg)}47.50%{transform:rotate(-108deg)}55.56%{transform:rotate(-90deg)}88.89%{transform:rotate(-90deg)}97.22%{transform:rotate(-180deg)}100.00%{transform:rotate(-180deg)}}
.strip-scene .boomarm{fill:#F2B705;stroke:#8A6A1E;stroke-width:.5}
.strip-scene .boominner{fill:#E0A800}
.strip-scene .cable{fill:#2A2522}
.strip-scene .hookbody{fill:#3A3F45}
.strip-scene .hookline{transform-origin:0 0;animation:cablebob .75s ease-in-out 16.5s 10 alternate}
.strip-scene .hook{animation:hookbob .75s ease-in-out 16.5s 10 alternate}
@keyframes cablebob{from{transform:scaleY(1)}to{transform:scaleY(.45)}}
@keyframes hookbob{from{transform:translateY(0)}to{transform:translateY(-55px)}}
.strip-scene .hookbeam{opacity:0;animation:crewon .2s linear 16.5s forwards,fadeout .3s linear 24s forwards}
.strip-scene .outrig{stroke:#3A3F45;stroke-width:2.4;stroke-linecap:round}
.strip-scene .crbody{fill:#5E656C}
.strip-scene .crcab{fill:#F2B705;stroke:#8A6A1E;stroke-width:.4}
.strip-scene .crturret{fill:#F2B705;stroke:#8A6A1E;stroke-width:.4}
.strip-scene .crweight{fill:#3A3F45}
@media (prefers-reduced-motion: reduce){.strip-scene .pro-root{display:none}}
.strip-scene .pkbody{fill:#5E9A92}
.strip-scene .pkrail{stroke:#3A5F5A;stroke-width:.6}
/* ===== the end: a jungle grows up behind the hangar, full of animals ===== */
.strip-scene .jplant{transform-box:fill-box;transform-origin:50% 100%;transform:scaleY(0);animation:jgrow 4s ease-out both}
@keyframes jgrow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.strip-scene .jtrunk{stroke:#6B4A2B;fill:none;stroke-linecap:round}
.strip-scene .jleaf1{fill:#2E6B2F} .strip-scene .jleaf2{fill:#3F8A3A} .strip-scene .jleaf3{fill:#1F4F24}
.strip-scene .jcoco{fill:#5A3A1E}
.strip-scene .jgrass{stroke:#4C8A35;stroke-width:1.3;fill:none;stroke-linecap:round}
.strip-scene .jvine{stroke:#2E6B2F;stroke-width:1.4;fill:none}
.strip-scene .arun{opacity:0;animation-name:arun;animation-timing-function:linear;animation-iteration-count:infinite;animation-fill-mode:forwards}
@keyframes arun{0%{opacity:1;transform:translate(var(--xa),var(--ay)) scaleX(1)}48%{transform:translate(var(--xb),var(--ay)) scaleX(1)}50%{transform:translate(var(--xb),var(--ay)) scaleX(-1)}98%{transform:translate(var(--xa),var(--ay)) scaleX(-1)}100%{opacity:1;transform:translate(var(--xa),var(--ay)) scaleX(1)}}
.strip-scene .abob{animation:bob .2s ease-in-out infinite alternate}
.strip-scene .aLegA,.strip-scene .aLegB{transform-box:fill-box;transform-origin:50% 0%}
.strip-scene .aLegA{animation:leg .18s ease-in-out infinite alternate}
.strip-scene .aLegB{animation:leg .18s ease-in-out infinite alternate-reverse}
.strip-scene .tbody{fill:#E8822A;stroke:#7A3E10;stroke-width:.35}
.strip-scene .tstripe{stroke:#1A1410;stroke-width:1.1;stroke-linecap:round;fill:none}
.strip-scene .ttail{stroke:#E8822A;stroke-width:1.6;fill:none;stroke-linecap:round}
.strip-scene .tleg{stroke:#D06F20;stroke-width:2.2;stroke-linecap:round}
.strip-scene .tsnout{fill:#F4E3C8}
.strip-scene .wbody{fill:#7A6A5A;stroke:#4A3E33;stroke-width:.35}
.strip-scene .wmane{fill:none;stroke:#3A2E25;stroke-width:1;stroke-linecap:round}
.strip-scene .wtail{stroke:#4A3E33;stroke-width:.8;fill:none}
.strip-scene .wtusk{stroke:#F4EFE2;stroke-width:1;fill:none;stroke-linecap:round}
.strip-scene .wleg2{stroke:#4A3E33;stroke-width:1.8;stroke-linecap:round}
.strip-scene .mbody{fill:#6B4426}
.strip-scene .mface{fill:#E2B98A}
.strip-scene .mtail{stroke:#6B4426;stroke-width:1.2;fill:none;stroke-linecap:round}
.strip-scene .mlimb{stroke:#6B4426;stroke-width:1.3;stroke-linecap:round}
.strip-scene .tmonk{opacity:0;animation:tmonk 1.4s ease-in-out infinite alternate}
@keyframes tmonk{0%{opacity:1;transform:var(--t,none) translateY(0)}100%{opacity:1;transform:var(--t,none) translateY(-6px)}}
@media (prefers-reduced-motion: reduce){.strip-scene .jungle-root{display:none}}
/* reduced motion: show every element in its finished resting state */
/* ===== very first: six Caravans fly in, line up and depart before the trucks arrive ===== */
.strip-scene .fapp{transform:translate(-260px,20px);animation:fapp 5.4s linear both}
@keyframes fapp{0%{transform:translate(-260px,20px) rotate(2deg)}62%{transform:translate(10px,168px) rotate(3deg);animation-timing-function:ease-out}78%{transform:translate(60px,195px) rotate(-3deg)}86%{transform:translate(80px,197.5px) rotate(-1.5deg)}100%{transform:translate(110px,197.5px) rotate(0deg)}}
.strip-scene .ftaxi{animation-name:ftaxi;animation-timing-function:ease-out;animation-fill-mode:both}
@keyframes ftaxi{from{transform:translate(0,0)}to{transform:translate(var(--dx),0)}}
.strip-scene .ftko{animation:ftko 8s both}
@keyframes ftko{0%{transform:translate(0,0) rotate(0deg);animation-timing-function:ease-in}40%{transform:translate(120px,0) rotate(0deg)}50%{transform:translate(175px,-6px) rotate(-9deg)}100%{transform:translate(1150px,-190px) rotate(-10deg)}}
.strip-scene .flname{font-family:"Arial Narrow",Arial,sans-serif;font-weight:700;font-size:17px;fill:#13294B}
@media (prefers-reduced-motion: reduce){.strip-scene .fleet-root{display:none}}
/* golf cart parked in front of the old hangar */
.strip-scene .gcbody{fill:#F2F1EA;stroke:#8E969D;stroke-width:.4}
.strip-scene .gcpost{fill:#6E757D}
.strip-scene .gcseat{fill:#2B3A55}
.strip-scene .gcglass{stroke:#BFD6E6;stroke-width:.9;opacity:.8;fill:none}
.strip-scene .gcline{stroke:#C9CCC4;stroke-width:.5}
.strip-scene .gcbag{fill:#8B1E1E}
.strip-scene .gcclub{stroke:#9AA1A8;stroke-width:.6;stroke-linecap:round}
/* blonde lady runs up from the bottom left and yells the sign crowd away (crowd turns at 49.6-50.8) */
.strip-scene .yell{transform:translate(-80px,268px);animation:yell 11s linear 45s both}
@keyframes yell{0%{transform:translate(-80px,268px);animation-timing-function:ease-out}22%{transform:translate(250px,236px)}76%{transform:translate(250px,236px);animation-timing-function:ease-in}100%{transform:translate(-80px,268px)}}
.strip-scene .ylflip{animation:ylflip 11s linear 45s both}
@keyframes ylflip{0%,75.9%{transform:scaleX(1)}76%,100%{transform:scaleX(-1)}}
.strip-scene .ylbob{animation:bob .2s ease-in-out infinite alternate}
.strip-scene .ylegA,.strip-scene .ylegB{transform-box:view-box;transform-origin:0 -5px}
.strip-scene .ylegA{animation:leg .2s ease-in-out infinite alternate}
.strip-scene .ylegB{animation:leg .2s ease-in-out infinite alternate-reverse}
.strip-scene .yleg{stroke:#2B3A55;stroke-width:1.5;stroke-linecap:round}
.strip-scene .yshoe{stroke:#1C1C1C;stroke-width:1.4;stroke-linecap:round}
.strip-scene .ytop{fill:#2A9D8F}
.strip-scene .ypants{fill:#2B3A55}
.strip-scene .yskin{fill:#F3D2B5}
.strip-scene .yarm{stroke:#2A9D8F;stroke-width:1.4;stroke-linecap:round}
.strip-scene .yhair{fill:#EDCB62;stroke:#C9A23A;stroke-width:.3}
.strip-scene .ybrow{stroke:#8A6A1E;stroke-width:.6;stroke-linecap:round}
.strip-scene .ymouth{fill:#6B1F1F;transform-box:fill-box;transform-origin:50% 0;animation:yshout .18s ease-in-out infinite alternate}
@keyframes yshout{from{transform:scaleY(.45)}to{transform:scaleY(1.2)}}
.strip-scene .yarmL,.strip-scene .yarmR{transform-box:view-box}
.strip-scene .yarmL{transform-origin:-3px -12.6px;animation:ywaveL .22s ease-in-out infinite alternate}
.strip-scene .yarmR{transform-origin:3px -12.6px;animation:ywaveR .22s ease-in-out infinite alternate-reverse}
@keyframes ywaveL{from{transform:rotate(-35deg)}to{transform:rotate(25deg)}}
@keyframes ywaveR{from{transform:rotate(35deg)}to{transform:rotate(-25deg)}}
.strip-scene .ybub{opacity:0;animation:ybub 11s linear 45s both}
@keyframes ybub{0%,21%{opacity:0}23%,74%{opacity:1}76%,100%{opacity:0}}
.strip-scene .ybubbg{fill:#FFFFFF;stroke:#1C1C1C;stroke-width:.8}
.strip-scene .ybubtxt{font-family:var(--display);font-weight:800;font-size:8.4px;fill:#B22234;letter-spacing:.02em}
@media (prefers-reduced-motion: reduce){.strip-scene .yell{display:none}}
/* jungle, part 2: monkeys in the palms, more animals, bamboo */
.strip-scene .tclimb{opacity:0;animation:tclimb 3.4s ease-in-out infinite alternate}
@keyframes tclimb{from{opacity:1;transform:translateY(0)}to{opacity:1;transform:translateY(12px)}}
.strip-scene .thang{opacity:0;transform-box:view-box;transform-origin:0 0;animation:thang 2.6s ease-in-out infinite alternate}
@keyframes thang{from{opacity:1;transform:rotate(-14deg)}to{opacity:1;transform:rotate(14deg)}}
.strip-scene .carmA,.strip-scene .carmB{animation:carm .85s ease-in-out infinite alternate}
.strip-scene .carmB{animation-direction:alternate-reverse}
@keyframes carm{from{transform:translateY(0)}to{transform:translateY(-1.4px)}}
.strip-scene .lnbody{fill:#D9A441} .strip-scene .lnmane{fill:#9A5B1E} .strip-scene .lnmuz{fill:#F0D6A0}
.strip-scene .lnleg{stroke:#D9A441;stroke-width:2.2;stroke-linecap:round}
.strip-scene .lntail{stroke:#D9A441;stroke-width:1.1;fill:none;stroke-linecap:round}
.strip-scene .brbody{fill:#6B4A2E} .strip-scene .brsnout{fill:#9A7652}
.strip-scene .brleg{stroke:#6B4A2E;stroke-width:3;stroke-linecap:round}
.strip-scene .ttlshell{fill:#4E7A3A} .strip-scene .ttlskin{fill:#9AAF5E}
.strip-scene .ttlpat{stroke:#2E4F24;stroke-width:.5;fill:none} .strip-scene .ttlrim{stroke:#2E4F24;stroke-width:.8}
.strip-scene .ttlleg,.strip-scene .ttlskin2{stroke:#9AAF5E;stroke-width:1.6;stroke-linecap:round}
.strip-scene .snbody{stroke:#4C7F2A;stroke-width:2.6;fill:none;stroke-linecap:round;stroke-dasharray:3 1.2}
.strip-scene .snhead{fill:#4C7F2A} .strip-scene .sntongue{stroke:#C0392B;stroke-width:.45;fill:none}
.strip-scene .sntongue,.strip-scene .kmtongue{animation:flick 1.1s steps(1) infinite}
@keyframes flick{0%{opacity:1}35%{opacity:0}70%{opacity:1}85%{opacity:0}}
.strip-scene .pkbody{fill:#1F5FA8} .strip-scene .pkneck{stroke:#1F5FA8;stroke-width:2;fill:none;stroke-linecap:round}
.strip-scene .pkcrest{stroke:#1F5FA8;stroke-width:.4} .strip-scene .pkleg{stroke:#8A7A5A;stroke-width:.8}
.strip-scene .pktrain,.strip-scene .pkfan{fill:#2E7D4F} .strip-scene .pkeye{fill:#1F5FA8;stroke:#D9A21B;stroke-width:.45}
.strip-scene .pfan{transform-box:fill-box;transform-origin:50% 100%;animation:pfan 9s ease-in-out infinite}
@keyframes pfan{0%,55%{transform:scale(.05);opacity:0}62%,88%{transform:scale(1);opacity:1}95%,100%{transform:scale(.05);opacity:0}}
.strip-scene .kmbody{fill:#6E6650} .strip-scene .kmback{stroke:#4F4938;stroke-width:.6;fill:none}
.strip-scene .kmleg{stroke:#6E6650;stroke-width:1.6;stroke-linecap:round} .strip-scene .kmtongue{stroke:#E8C25A;stroke-width:.4;fill:none}
.strip-scene .bamboo{animation-duration:7s}
.strip-scene .bmstalk{fill:#8DB33F} .strip-scene .bmnode{stroke:#5A7F2A;stroke-width:.8} .strip-scene .bmleaf{fill:#4F8F2F}
/* finale: safari hunters walk in and fire (missing), a T-rex walks up from the back, the hunters flee */
.strip-scene .hunt{opacity:0;animation:hunt 23s linear forwards}
@keyframes hunt{0%{opacity:1;transform:translate(-120px,244px);animation-timing-function:ease-out}26%{opacity:1;transform:translate(var(--hx),238px)}87%{opacity:1;transform:translate(var(--hx),238px);animation-timing-function:ease-in}100%{opacity:1;transform:translate(-200px,246px)}}
.strip-scene .huntflip{animation:huntflip 23s linear forwards}
@keyframes huntflip{0%,86.9%{transform:scaleX(1)}87%,100%{transform:scaleX(-1)}}
.strip-scene .hlegA,.strip-scene .hlegB{transform-box:view-box;transform-origin:0 -6px;animation:leg .3s ease-in-out 221s 20 alternate,leg .2s ease-in-out 241s infinite alternate}
.strip-scene .hlegB{animation-direction:alternate-reverse,alternate-reverse}
.strip-scene .hleg{stroke:#C2A86B;stroke-width:1.6;stroke-linecap:round} .strip-scene .hboot{stroke:#4A2E1A;stroke-width:1.5;stroke-linecap:round}
.strip-scene .hshorts{fill:#A88B4A} .strip-scene .hshirt{fill:#D8C38E} .strip-scene .hbelt{stroke:#5A3A22;stroke-width:.8}
.strip-scene .hskin{fill:#F1C9A5} .strip-scene .hmust{stroke:#5A3A22;stroke-width:.7;fill:none;stroke-linecap:round}
.strip-scene .hhat{fill:#EFE6CC;stroke:#B8A77A;stroke-width:.3} .strip-scene .hbrim{stroke:#B8A77A;stroke-width:1.1;stroke-linecap:round}
.strip-scene .hstock{stroke:#5A3A22;stroke-width:1.5;stroke-linecap:round} .strip-scene .hbarrel{stroke:#3A3F45;stroke-width:.9;stroke-linecap:round}
.strip-scene .harm{stroke:#D8C38E;stroke-width:1.3;fill:none;stroke-linecap:round;stroke-linejoin:round}
.strip-scene .hflash{fill:#FFD24A;stroke:#F26B1D;stroke-width:.3}
.strip-scene .mflash{opacity:0;animation:mflash .9s steps(1) 12}
@keyframes mflash{0%{opacity:1}14%,100%{opacity:0}}
.strip-scene .hbang{opacity:0;animation:hbang .9s steps(1) 12}
@keyframes hbang{0%{opacity:1}40%,100%{opacity:0}}
.strip-scene .hbangtxt{font-family:var(--display);font-weight:800;font-size:9px;fill:#F26B1D;stroke:#5A1F1F;stroke-width:.35}
.strip-scene .trex{opacity:0;animation:trex 15s ease-in-out 229s forwards,trexback 16s linear 244.4s forwards}
@keyframes trex{0%{opacity:1;transform:translate(470px,197px) scale(1.1)}100%{opacity:1;transform:translate(390px,238px) scale(3.8)}}
.strip-scene .rxbody{fill:#4F7A3A} .strip-scene .rxdark{fill:#3B5E2C} .strip-scene .rxbelly{fill:#A9B86A}
.strip-scene .rxarm{stroke:#4F7A3A;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
.strip-scene .rxteeth{fill:#FFFFFF;stroke:#FFFFFF;stroke-width:.2} .strip-scene .rxbrow{stroke:#1C2A16;stroke-width:.7;stroke-linecap:round}
.strip-scene .rxlegA,.strip-scene .rxlegB{transform-box:view-box;transform-origin:4px -20px;animation:rxleg .9s ease-in-out 229s 17 alternate,rxleg .9s ease-in-out 244.4s 18 alternate}
.strip-scene .rxlegB{animation-direction:alternate-reverse,alternate-reverse}
@keyframes rxleg{from{transform:rotate(-12deg)}to{transform:rotate(12deg)}}
.strip-scene .rxhead{transform-box:view-box;transform-origin:-12px -29px;animation:rxhead 1.8s ease-in-out 229s infinite alternate}
@keyframes rxhead{from{transform:rotate(-3deg)}to{transform:rotate(5deg)}}
/* finale: a bearded man and a man in a suit walk up, point and talk, then leave */
.strip-scene .pair{opacity:0;animation:pair 19s linear forwards}
@keyframes pair{0%{opacity:1;transform:translate(-120px,252px);animation-timing-function:ease-out}21%{opacity:1;transform:translate(var(--hx),238px)}78.9%{opacity:1;transform:translate(var(--hx),238px);animation-timing-function:ease-in}100%{opacity:1;transform:translate(-150px,254px)}}
.strip-scene .pairflip{animation:pairflip 19s linear forwards}
@keyframes pairflip{0%,78.8%{transform:scaleX(1)}78.9%,100%{transform:scaleX(-1)}}
.strip-scene .plegA,.strip-scene .plegB{transform-box:view-box;transform-origin:0 -6px;animation:leg .32s ease-in-out 246s 13 alternate,leg .32s ease-in-out 261s 14 alternate}
.strip-scene .plegB{animation-direction:alternate-reverse,alternate-reverse}
.strip-scene .pleg{stroke-linecap:round} .strip-scene .pshoe{stroke:#1C1C1C;stroke-width:1.5;stroke-linecap:round}
.strip-scene .pskin{fill:#F1C9A5} .strip-scene .pfinger{stroke:#F1C9A5;stroke-width:.6;stroke-linecap:round}
.strip-scene .bshirt{fill:#B23A2E} .strip-scene .bplaid{stroke:#7A1F1A;stroke-width:.4}
.strip-scene .barm{stroke:#B23A2E;stroke-width:1.4;stroke-linecap:round} .strip-scene .bhair{fill:#B9BCBF;stroke:#8E9399;stroke-width:.25}
.strip-scene .ssuit{fill:#1F2A44} .strip-scene .sarm{stroke:#1F2A44;stroke-width:1.9;stroke-linecap:round}
.strip-scene .shair{stroke:#9AA1A8;stroke-width:1;fill:none;stroke-linecap:round}
.strip-scene .pmouth{fill:#2A1A10;transform-box:fill-box;transform-origin:50% 0;animation:yshout .16s ease-in-out 66 alternate}
.strip-scene .ppoint{transform-box:view-box;transform-origin:3.4px -14px;animation:ppoint .55s ease-in-out 250.2s 19 alternate}
@keyframes ppoint{from{transform:rotate(4deg)}to{transform:rotate(-10deg)}}
.strip-scene .pbub{opacity:0;animation:pbub 2.4s steps(1) forwards}
@keyframes pbub{0%{opacity:1}100%{opacity:0}}
.strip-scene .pchat{stroke:#3A3F45;stroke-width:1.1;fill:none;stroke-linecap:round}
/* the T-rex heads back into the jungle toward St. Gregory's in the distance */
@keyframes trexback{0%{opacity:1;transform:translate(390px,238px) scale(3.8)}88%{opacity:1;transform:translate(535px,190px) scale(.55)}100%{opacity:0;transform:translate(545px,187px) scale(.42)}}
.strip-scene .rexflip{animation:rexflip .8s ease-in-out 244s forwards}
@keyframes rexflip{from{transform:scaleX(1)}to{transform:scaleX(-1)}}
/* repeat visits of the two men (positions set by script) */
.strip-scene .pjarmout,.strip-scene .pjcashhand,.strip-scene .pjarmfront{display:none}
.strip-scene .out .pjarmout{display:inline} .strip-scene .out .pjarmdn{display:none}
.strip-scene .pointus .pjarmfront{display:inline} .strip-scene .pointus .pjarmdn{display:none}
.strip-scene .hascash .pjcashhand{display:inline}
.strip-scene .pjlegA,.strip-scene .pjlegB{transform-box:view-box;transform-origin:0 -6px}
.strip-scene .walk .pjlegA{animation:leg .32s ease-in-out infinite alternate}
.strip-scene .walk .pjlegB{animation:leg .32s ease-in-out infinite alternate-reverse}
.strip-scene .pjarmout{transform-box:view-box;transform-origin:4px -13.6px}
.strip-scene .shake .pjarmout{animation:pjshake .2s ease-in-out infinite alternate}
@keyframes pjshake{from{transform:rotate(-7deg)}to{transform:rotate(7deg)}}
.strip-scene .pjmouth{fill:#2A1A10;transform-box:fill-box;transform-origin:50% 0}
.strip-scene .talk .pjmouth{animation:yshout .16s ease-in-out infinite alternate}
.strip-scene .pjbill{fill:#6FA35A;stroke:#2E5A2A;stroke-width:.3}
.strip-scene .pjbilltxt{font-family:var(--display);font-weight:800;font-size:3.4px;fill:#2E5A2A}
.strip-scene .pjdollartxt{font-family:var(--display);font-weight:800;font-size:13px;fill:#2E7D32;stroke:#FFFFFF;stroke-width:.6;paint-order:stroke}
@media (prefers-reduced-motion: reduce){.strip-scene .dealjs{display:none !important}}
.strip-scene .pjglass{fill:rgba(255,255,255,.25);stroke:#1C1C1C;stroke-width:.35}
.strip-scene .pjglassline{stroke:#1C1C1C;stroke-width:.35;fill:none}
.strip-scene .pjtip{fill:#D9A07A}
.strip-scene .pjarmfront{transform-box:view-box;transform-origin:3px -13.8px}
.strip-scene .pointus .pjarmfront{animation:pjjab .38s ease-in-out infinite alternate}
@keyframes pjjab{from{transform:scale(1)}to{transform:scale(1.18)}}
/* the chainsaw man walks out of the KSNL hangar to the pole before he cuts it */
.strip-scene .sawwalk{animation:sawwalk 4.6s linear .3s both}
@keyframes sawwalk{0%{opacity:0;transform:translate(205px,0)}5%{opacity:1}100%{opacity:1;transform:translate(0,0)}}
.strip-scene .sawwalkbob{animation:bob .2s ease-in-out .3s 23 alternate}
/* Our Story text */
.storyhead{margin-bottom:16px}
.storytext{max-width:72ch;display:flex;flex-direction:column;gap:12px;color:var(--fg);font-size:17px;line-height:1.6;margin-bottom:22px}
.storytext p{margin:0}
.storytext strong{font-family:var(--display);text-transform:uppercase;letter-spacing:.03em}
/* the KSNL crew: four run out of the hangar and chase the dealmakers off, then cut the jungle down */
.strip-scene .wchase{opacity:0;animation:wchase 7.8s linear forwards}
@keyframes wchase{0%{opacity:1;transform:translate(770px,214px)}18%{opacity:1;transform:translate(640px,226px)}100%{opacity:1;transform:translate(-110px,calc(238px + var(--wy)))}}
.strip-scene .wbob{animation:bob .16s ease-in-out infinite alternate}
.strip-scene .wchase .wlegA,.strip-scene .wchase .wlegB,.strip-scene .wcut .wlegA,.strip-scene .wcut .wlegB{transform-box:view-box;transform-origin:0 -5.6px}
.strip-scene .wchase .wlegA{animation:leg .16s ease-in-out infinite alternate} .strip-scene .wchase .wlegB{animation:leg .16s ease-in-out infinite alternate-reverse}
.strip-scene .wcut .wlegA{animation:leg .34s ease-in-out infinite alternate} .strip-scene .wcut .wlegB{animation:leg .34s ease-in-out infinite alternate-reverse}
.strip-scene .warmA,.strip-scene .warmB{transform-box:view-box;transform-origin:0 -13.8px;animation:ywaveL .16s ease-in-out infinite alternate}
.strip-scene .warmB{animation-direction:alternate-reverse}
.strip-scene .wleg{stroke:#1F3B73;stroke-width:1.7;stroke-linecap:round}
.strip-scene .wbody{fill:#1F3B73} .strip-scene .wsleeve{stroke:#1F3B73;stroke-width:1.4;stroke-linecap:round;fill:none}
.strip-scene .wpatch{fill:#F2C200} .strip-scene .wpatchtxt{font-family:var(--display);font-weight:800;font-size:1.3px;fill:#1C1C1C}
.strip-scene .what{fill:#F2C200} .strip-scene .whatbrim{stroke:#C9A100;stroke-width:.9;stroke-linecap:round}
.strip-scene .wbrow{stroke:#3A2A1E;stroke-width:.55;stroke-linecap:round} .strip-scene .wmouth{fill:#6B1F1F}
.strip-scene .wshout{opacity:0;animation:ybub 7.8s linear forwards;animation-delay:inherit}
.strip-scene .wsaw{animation:sawbuzz .06s linear infinite}
.strip-scene .wcut{opacity:0;animation:wcut 22s linear forwards}
@keyframes wcut{0%{opacity:1;transform:translate(-60px,198px)}99%{opacity:1}100%{opacity:0;transform:translate(1260px,198px)}}
.strip-scene .wbob2{animation:bob .3s ease-in-out infinite alternate}
.strip-scene .afleeL{animation:afleeL 2.4s ease-in forwards}
@keyframes afleeL{to{transform:translateX(-1500px)}}
.strip-scene .afleeR{animation:afleeR 3s ease-in forwards}
@keyframes afleeR{to{transform:translateX(1500px)}}
.strip-scene .mflee{animation:mflee 1.6s ease-in forwards}
@keyframes mflee{30%{transform:translateY(-14px)}100%{transform:translate(40px,-150px);opacity:0}}
.strip-scene .jplant{animation:jgrow 4s ease-out both,jcut 1.6s ease-in forwards}
.strip-scene .bamboo{animation-duration:7s,1.6s}
@keyframes jcut{0%{transform:scaleY(1) rotate(0deg);opacity:1}55%{transform:scaleY(1) rotate(-78deg);opacity:1}100%{transform:scaleY(.9) rotate(-88deg);opacity:0}}
/* a regional jet taxis left to right behind the hangars and disappears behind the KSNL hangar */
.strip-scene .jumbo{opacity:0;animation:jumbo 12s ease-in-out 16.4s both,jumboback 12.5s ease-in-out 107.7s forwards}
@keyframes jumbo{0%{opacity:1;transform:translate(-110px,186px)}97%{opacity:1}100%{opacity:0;transform:translate(770px,186px)}}
@keyframes jumboback{0%{opacity:1;transform:translate(740px,186px) scale(-1,1)}100%{opacity:1;transform:translate(-160px,186px) scale(-1,1)}}
.strip-scene .jbody{fill:#F4F6F8;stroke:#9AA3AC;stroke-width:.6}
.strip-scene .jbelly{fill:#1F4E8C} .strip-scene .jcheat{stroke:#2E86C1;stroke-width:1.3}
.strip-scene .jwin{fill:#2B3640} .strip-scene .jcock{fill:#1C2730}
.strip-scene .jtail{fill:#1F4E8C;stroke:#173B6A;stroke-width:.5} .strip-scene .jstab{fill:#C9D0D7;stroke:#8E969D;stroke-width:.4}
.strip-scene .jwing{fill:#AEB6BE;stroke:#8E969D;stroke-width:.4}
.strip-scene .jeng{fill:#D5DBE1;stroke:#8E969D;stroke-width:.5} .strip-scene .jintake{fill:#3A3F45}
.strip-scene .jgear{stroke:#5E656C;stroke-width:1.6}
/* forest instead of jungle */
.strip-scene .ftrunk{fill:#5A3F28}
.strip-scene .fpine1{fill:#2F5D3A} .strip-scene .fpine2{fill:#3B6E44}
.strip-scene .fleaf1{fill:#4E8A3E} .strip-scene .fleaf2{fill:#3F7A35} .strip-scene .fleaf3{fill:#5E9A48}
.strip-scene .wfur{fill:#7A7F86} .strip-scene .wbelly{stroke:#B9BDC2;stroke-width:1.2;fill:none;stroke-linecap:round}
.strip-scene .wlegw{stroke:#6A6F76;stroke-width:1.3;stroke-linecap:round}
/* tall grasses instead of trees */
.strip-scene .tg1{stroke:#5E8F3A;stroke-width:1.5;fill:none;stroke-linecap:round}
.strip-scene .tg2{stroke:#7FA84A;stroke-width:1.3;fill:none;stroke-linecap:round}
.strip-scene .tg3{stroke:#A8B860;stroke-width:1.2;fill:none;stroke-linecap:round}
.strip-scene .tgstem{stroke:#9AA65A;stroke-width:.9;fill:none}
.strip-scene .tghead{fill:#C9B36A}
/* News from the hangar: pictures and editor */
.news .nphoto{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--surface);border:1px solid var(--line)}
.news .nphoto img{width:100%;height:100%;object-fit:cover;display:block}
.news .nthumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.news .nthumbs a{display:block;aspect-ratio:1;overflow:hidden;border:1px solid var(--line)}
.news .nthumbs img{width:100%;height:100%;object-fit:cover;display:block}
.news .nbody{white-space:pre-line}
.news .edit-actions{display:flex;gap:8px;padding-top:10px;border-top:1px dashed var(--line);margin-top:auto}
.nkeep{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.nkeep figure{margin:0;width:120px;display:flex;flex-direction:column;gap:6px}
.nkeep img{width:120px;height:90px;object-fit:cover;border:1px solid var(--line);display:block}
.nkeep figure div{display:flex;gap:6px;align-items:center}
.nmain{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:0 4px}
.nphotos-edit .hint{display:block}
/* Careers: job openings */
.careers .editbar{margin-top:8px}
.careers .acform{color:var(--fg)}
.jobs{display:flex;flex-direction:column;gap:14px;margin:6px 0 26px}
.jobs-h{font-size:26px;text-transform:uppercase;color:#fff}
.jobs-empty{color:#B9BBB4}
.job{border:1px solid rgba(236,236,230,.25);padding:18px 20px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.job.closed{opacity:.6;border-style:dashed}
.job-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px}
.job h4{margin:0;font-family:var(--display);font-size:22px;text-transform:uppercase;color:#fff}
.job-meta{display:flex;flex-wrap:wrap;gap:6px}
.job-meta span{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--sign-ink);background:var(--sign);padding:2px 7px}
.job-desc{margin:0;color:#D6D7D1;white-space:pre-line;max-width:75ch}
.job-hidden{margin:0;font-family:var(--mono);font-size:12px;color:#B9BBB4;text-transform:uppercase}
.job .edit-actions{border-top:1px dashed rgba(236,236,230,.3);padding-top:10px;width:100%;display:flex;flex-wrap:wrap;gap:8px}
/* single-column feature services on the Engine Shop page */
.services.svc-single{grid-template-columns:1fr}
.services.svc-single .svc{border-right:0 !important;padding-left:0 !important}
.services.svc-single + .services{border-top:0}
.svc-chips{grid-column:2;list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.svc-chips li{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.05em;background:var(--sign);color:var(--sign-ink);padding:3px 8px}
/* Quality team page */
.qteam{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
@media (max-width:760px){.qteam{grid-template-columns:1fr}}
.qteam .empty{grid-column:1 / -1}
.qperson{background:var(--surface);border:1px solid var(--line);display:grid;grid-template-columns:132px minmax(0,1fr);gap:18px;padding:18px}
@media (max-width:480px){.qperson{grid-template-columns:1fr}}
.qphoto{width:132px;aspect-ratio:1;background:var(--bg);border:1px solid var(--line);display:grid;place-items:center;overflow:hidden}
.qphoto img{width:100%;height:100%;object-fit:cover}
.qphoto span{font-family:var(--display);font-weight:800;font-size:40px;color:var(--muted)}
.qbody{display:flex;flex-direction:column;gap:6px;min-width:0}
.qbody h3{font-size:26px;text-transform:uppercase}
.qrole{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.06em;background:var(--sign);color:var(--sign-ink);padding:2px 7px;align-self:flex-start}
.qcreds{font-size:14px;color:var(--fg)}
.qbody p{color:var(--muted);font-size:15px;white-space:pre-line;margin:0}
.qbody .edit-actions{display:flex;flex-wrap:wrap;gap:8px;padding-top:10px;border-top:1px dashed var(--line);margin-top:auto}
/* Quality: partnership */
.partner{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:32px;align-items:start}
@media (max-width:860px){.partner{grid-template-columns:1fr}}
.partner-text{display:flex;flex-direction:column;gap:14px;max-width:68ch}
.partner-text p{margin:0;color:var(--muted);font-size:17px;line-height:1.6}
.partner-text .partner-lead{color:var(--fg);font-size:20px;line-height:1.5}
.partner-list{list-style:none;margin:0;padding:0;border-top:2px solid var(--fg)}
.partner-list li{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);font-family:var(--display);font-weight:600;font-size:20px;text-transform:uppercase}
.partner-list .tick{font-family:var(--mono);font-size:12px;background:var(--sign);color:var(--sign-ink);padding:3px 7px;font-weight:400}
/* advert version: the staff cars stay parked */
.strip-scene .leave2,.strip-scene .flip2{animation:none !important;transform:none !important}
/* Capabilities editor */
table.cap td.cap-ed{white-space:nowrap}
table.cap td.cap-ed .btn{margin-right:6px}
.cap-tnote{display:block;font-family:var(--body);font-weight:400;font-size:13px;text-transform:none;letter-spacing:0;color:var(--muted)}
.cap-empty{color:var(--muted)}
/* facility box header styled like its rows: label like the row labels, value like the row values */
.datablock .hd.hd-rows{align-items:baseline;padding:9px 14px}
.datablock .hd.hd-rows span:first-child{padding-top:2px}
.datablock .hd.hd-rows span:last-child{color:var(--fg);text-transform:none;letter-spacing:0;font-size:14px;text-align:right}
.whybar{margin-bottom:16px}
.co .co-ed{display:flex;flex-wrap:wrap;gap:6px;padding-top:10px;border-top:1px dashed var(--line)}
.co .co-ed .btn{font-family:var(--display)}
/* News: table of contents */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ntoc{background:var(--surface);border:1px solid var(--line);padding:18px 20px;margin-bottom:24px}
.ntoc-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 20px;margin-bottom:12px}
.ntoc-head h3{font-size:22px;text-transform:uppercase;margin:0}
.ntoc-search input{font:inherit;font-size:15px;padding:7px 10px;border:1px solid var(--line);background:var(--bg);color:var(--fg);border-radius:2px;width:min(280px,70vw)}
.ntoc-search input:focus-visible{outline:3px solid var(--sign);outline-offset:1px}
.ntoc-body{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:4px 32px;align-items:start;max-height:360px;overflow-y:auto}
.ntoc-year{margin-bottom:10px}
.ntoc-year h4{margin:0 0 4px;font-family:var(--mono);font-size:12px;letter-spacing:.07em;color:var(--muted);text-transform:uppercase}
.ntoc-year h4 span{background:var(--sign);color:var(--sign-ink);padding:0 5px;margin-left:4px}
.ntoc ol{list-style:none;margin:0;padding:0}
.ntoc li a{display:flex;gap:12px;align-items:baseline;padding:5px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--fg)}
.ntoc li a:hover span{text-decoration:underline;text-decoration-color:var(--sign);text-decoration-thickness:2px}
.ntoc li time{font-family:var(--mono);font-size:12px;color:var(--muted);white-space:nowrap;min-width:6.5em}
.ntoc-none{color:var(--muted);margin:0}
.news .npost{scroll-margin-top:170px}
.news .ntop{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);text-decoration:none;align-self:flex-start}
.news .ntop:hover{color:var(--fg)}
/* news grid: first post in each row lines up flush left */
@media (min-width:861px){.news article:nth-child(3n+1){padding-left:0;border-left:0}}
/* main photo editor */
.topwrap{position:relative}
.tp-btn{position:absolute;right:16px;bottom:14px;background:var(--sign);color:var(--sign-ink);border-color:var(--sign-ink)}
.tp-form{position:absolute;right:16px;top:12px;z-index:5;width:min(460px,calc(100% - 32px));box-shadow:0 10px 30px rgba(0,0,0,.25)}
.tp-form input[type=range]{width:100%}
.npost .nlink{display:inline-block;margin-top:10px;font-weight:600;color:inherit;text-decoration:none;border-bottom:2px solid #e8b021}
.npost .nlink:hover{color:#b8860b}
.admin-strip{position:fixed;left:0;right:0;bottom:0;z-index:999;display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;justify-content:center;padding:8px 16px;background:#14181d;color:#fff;font:500 14px "IBM Plex Sans",sans-serif;box-shadow:0 -2px 10px rgba(0,0,0,.25)}
.admin-strip a{color:#e8b021;font-weight:600}
body.is-admin{padding-bottom:48px}
@media (prefers-reduced-motion: reduce){.strip-scene *{animation:none !important}}
