#safe-sky { margin: -24px -28px -42px; }
.safe-sky-page { --sky-navy:#0a2437; --sky-blue:#244d67; --sky-line:#b9cbd3; color:#173346; background:#f4f7f7; font-size:16px; overflow:clip; }
.sky-map-float { position:fixed; right:210px; bottom:24px; z-index:44; display:flex; align-items:center; gap:9px; min-height:46px; padding:7px 14px 7px 12px; border:1px solid rgba(255,255,255,.5); border-radius:999px; color:#fff; background:linear-gradient(120deg,#8e2f2c,#c2543c); box-shadow:0 14px 34px rgba(74,34,25,.32); text-decoration:none; transition:transform .2s ease, box-shadow .2s ease; }
.sky-map-float:hover { color:#fff; transform:translateY(-2px); box-shadow:0 18px 40px rgba(74,34,25,.4); }
.sky-map-float svg { width:25px; height:25px; flex:0 0 25px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.sky-map-float strong { font-size:.78rem; letter-spacing:.04em; white-space:nowrap; }
.sky-map-float > span { font-size:1rem; line-height:1; }
.sky-report-float { display:none; }
.safe-sky-page a:focus-visible { outline:3px solid #edae41; outline-offset:4px; }
.sky-hero { min-height:min(760px,calc(100svh - 142px)); position:relative; display:flex; align-items:flex-end; padding:clamp(40px,7vw,100px); isolation:isolate; color:white; background:linear-gradient(155deg,#082238 8%,#285a72 57%,#91aeb7 100%); }
.sky-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(ellipse at 72% 24%,rgba(226,240,234,.25),transparent 36%),linear-gradient(0deg,rgba(4,22,35,.65),transparent 62%); }
.sky-hero-art { position:absolute; inset:0; z-index:-1; overflow:hidden; }
.sky-hero-horizon { position:absolute; height:15%; width:130%; left:-15%; bottom:-9%; border-radius:50% 50% 0 0; background:#0b293b; box-shadow:0 -16px 80px rgba(231,242,232,.16); }
.sky-flight-line { position:absolute; width:62%; height:1px; right:-5%; top:40%; background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent); transform:rotate(-15deg); }
.sky-aircraft { position:absolute; top:22%; right:18%; font-size:clamp(100px,15vw,210px); line-height:1; color:#e4ece9; transform:rotate(-15deg); text-shadow:0 20px 36px rgba(0,20,40,.2); }
.sky-drone { position:absolute; right:8%; bottom:18%; font-size:clamp(40px,5vw,72px); color:#e7a536; transform:rotate(20deg); }
.sky-hero-content { max-width:840px; position:relative; }
.sky-eyebrow,.sky-chapter-heading span,.sky-local-label { font-size:.77rem; font-weight:800; letter-spacing:.23em; text-transform:uppercase; }
.sky-eyebrow { color:#d7e8df; }
.sky-hero h1 { margin:16px 0 20px; max-width:760px; font-size:clamp(3.6rem,8.8vw,8rem); line-height:.95; letter-spacing:-.055em; font-weight:850; }
.sky-hero-subtitle { max-width:650px; font-size:clamp(1.4rem,2.5vw,2.4rem); line-height:1.2; font-weight:650; }
.sky-hero-content > p:not(.sky-eyebrow):not(.sky-hero-subtitle) { max-width:520px; font-size:1.08rem; line-height:1.65; color:#e2eced; }
.sky-scroll-cue { display:inline-flex; margin-top:24px; padding:14px 0; color:white; border-bottom:1px solid #e7a536; font-weight:700; text-decoration:none; }
.sky-hero-index { position:absolute; right:42px; bottom:35px; opacity:.75; letter-spacing:.2em; font-size:.75rem; }
.sky-story { max-width:1220px; margin:auto; }
.sky-chapter { position:relative; padding:clamp(82px,11vw,154px) clamp(22px,5vw,72px); scroll-margin-top:calc(var(--sky-header-height, 86px) + 54px); }
.sky-chapter + .sky-chapter { border-top:1px solid #d6e0e2; }
.sky-chapter:nth-child(even) { background:#eaf0f0; }
.sky-chapter-heading { max-width:780px; }
.sky-chapter-heading span { color:#386a68; }
.sky-chapter h2 { margin:16px 0 24px; font-size:clamp(2.35rem,5vw,4.7rem); letter-spacing:-.04em; line-height:1.08; color:var(--sky-navy); }
.sky-lead { max-width:790px; margin:0 0 52px; color:#3d5a64; font-size:clamp(1.15rem,2vw,1.55rem); line-height:1.56; }
.sky-chapter h3 { margin:12px 0; color:#10334a; font-size:clamp(1.3rem,2vw,1.85rem); line-height:1.2; }
.sky-chapter p { line-height:1.68; }
.sky-reveal { opacity:0; transform:translateY(24px); transition:opacity .7s ease,transform .7s ease; }
.sky-reveal.sky-visible { opacity:1; transform:none; }
.sky-airspace-grid,.sky-local-grid,.sky-report-layout { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:clamp(24px,5vw,70px); align-items:center; }
.sky-airspace-grid { grid-template-columns:1fr; gap:clamp(28px,4vw,48px); }
.sky-runway-scene { position:relative; min-height:500px; overflow:hidden; display:grid; place-items:center; border-radius:20px; background:linear-gradient(145deg,#194459,#112e40); color:#ebf1ef; }
.sky-runway-scene.sky-airspace-map { width:100%; max-width:none; min-height:0; height:auto; aspect-ratio:1770 / 955; margin:0; background:#eaf0e8; box-shadow:0 16px 34px rgba(21,55,38,.14); }
.sky-airspace-map img { display:block; width:100%; height:auto; }
.sky-zone { position:absolute; left:50%; top:48%; border-radius:50%; transform:translate(-50%,-50%) scale(.4); opacity:0; transition:transform 1.1s ease,opacity 1.1s ease; }
.sky-visible .sky-zone { transform:translate(-50%,-50%) scale(1); opacity:1; }
.sky-zone-restricted { width:94%; aspect-ratio:1.3; border:2px dashed rgba(237,174,65,.75); background:rgba(237,174,65,.1); transition-delay:.45s; }
.sky-zone-prohibited { width:65%; aspect-ratio:1.5; border:2px solid rgba(237,126,105,.9); background:rgba(210,70,55,.16); transition-delay:.16s; }
.sky-runway { position:relative; display:grid; place-items:center; width:66px; height:310px; background:repeating-linear-gradient(0deg,#90a6a8 0 17px,#e3e8e5 17px 25px,#90a6a8 25px 48px); border:8px solid #dce2df; transform:rotate(26deg); box-shadow:0 0 0 12px rgba(222,231,225,.1); }
.sky-runway span { transform:rotate(-90deg); white-space:nowrap; font-size:.75rem; font-weight:800; letter-spacing:.2em; color:#0a2437; }
.sky-runway-scene small,.sky-local-scene small { position:absolute; left:24px; bottom:20px; color:#e1ebea; background:rgba(5,22,33,.7); padding:6px 10px; border-radius:4px; }
.sky-airspace-copy { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(28px,5vw,70px); }
.sky-airspace-copy article { padding:0 0 26px 25px; border-left:2px solid #a9c0c2; }
.sky-rule { display:inline-block; font-weight:850; letter-spacing:.16em; }
.sky-rule-red { color:#9d3430; }.sky-rule-amber { color:#93641a; }
.sky-source-action { display:flex; flex-wrap:wrap; align-items:center; gap:18px 28px; margin:32px 0; }
.sky-source-action a,.sky-local-copy a { display:inline-block; padding:14px 18px; color:white; background:#174658; border-radius:5px; text-decoration:none; font-weight:750; letter-spacing:.035em; }
.sky-source-action a:hover,.sky-local-copy a:hover { background:#0c2c3c; }
.sky-source-action p { max-width:470px; margin:0; color:#536974; font-size:.91rem; }
.sky-warning { margin:32px 0 0; padding:23px 28px; border-left:5px solid #d29b3b; background:#fff4db; color:#573c12; }
.sky-warning strong { font-size:1.03rem; letter-spacing:.08em; }.sky-warning p { margin:8px 0 0; }
.sky-local-scene { position:relative; min-height:450px; display:grid; place-items:center; overflow:hidden; border-radius:20px; background:linear-gradient(145deg,#0c3146,#245368); color:white; }
.sky-local-scene::before { content:""; position:absolute; inset:0; opacity:.24; background-image:linear-gradient(#abc8ca 1px,transparent 1px),linear-gradient(90deg,#abc8ca 1px,transparent 1px); background-size:50px 50px; }
.sky-local-label { position:absolute; top:25px; left:25px; color:#c6e0de; }
.sky-local-ring { position:absolute; border:1px solid rgba(236,185,86,.65); border-radius:50%; aspect-ratio:1; }
.sky-local-ring.one { width:250px; }.sky-local-ring.two { width:400px; border-style:dashed; }
.sky-local-marker { z-index:1; display:grid; justify-items:center; gap:10px; padding:14px; background:#08283a; border:1px solid #a0c5c3; border-radius:5px; font-size:.79rem; font-weight:800; letter-spacing:.1em; text-align:center; }
.sky-local-marker i { display:block; width:13px; height:13px; border:3px solid #e7a536; border-radius:50%; }
.sky-local-copy { padding:25px 0; }.sky-local-copy a { margin-top:16px; }
.sky-status-dot { display:block; width:12px; height:12px; border-radius:50%; background:#d99d35; box-shadow:0 0 0 7px #efdfbe; }
.sky-check-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; }
.sky-check-card { min-height:390px; padding:30px 24px; display:flex; flex-direction:column; background:white; border:1px solid #cbdadd; border-top:4px solid #2c6670; box-shadow:0 20px 36px rgba(9,40,57,.06); }
.sky-check-card > span { font-weight:850; font-size:.9rem; color:#3c6d74; }.sky-check-symbol { margin:38px 0 28px; font-size:3.3rem; color:#3b7181; line-height:1; }
.sky-check-card h3 { font-size:1.35rem; }.sky-check-card p { margin-bottom:0; color:#4c626b; }
#sky-chapter-4 { background:#102e42; color:#dce8e9; }
#sky-chapter-4 h2,#sky-chapter-4 h3 { color:white; }#sky-chapter-4 .sky-lead { color:#c0d2d7; }#sky-chapter-4 .sky-chapter-heading span { color:#ddb56d; }
.sky-responsibility-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:#456072; border:1px solid #456072; }
.sky-responsibility-grid article { padding:32px; background:#183b50; }.sky-responsibility-grid span { color:#dfb877; font-weight:800; }.sky-responsibility-grid p { color:#c6d7db; }
#sky-chapter-4 blockquote { margin:70px auto 0; max-width:830px; font-size:clamp(1.5rem,3vw,2.5rem); line-height:1.4; text-align:center; font-weight:600; }
.sky-hazard-scene { position:relative; height:260px; overflow:hidden; border-radius:18px; background:linear-gradient(#abc7ce,#e7efed 72%,#67858d 72%,#476372); }
.sky-hazard-scene span { position:absolute; top:32px; right:20%; font-size:8rem; color:#f9ffff; transform:rotate(-12deg); text-shadow:0 15px 25px #476372; }
.sky-hazard-scene i { position:absolute; bottom:10px; left:35%; width:34%; height:5px; background:white; transform:perspective(300px) rotateX(25deg); }
.sky-approach-line { position:absolute; right:20%; top:50%; width:45%; border-top:2px dashed rgba(255,255,255,.8); transform:rotate(-10deg); }
.sky-hazard-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:24px; }
.sky-hazard { display:flex; gap:16px; align-items:center; min-height:70px; padding:15px 20px; background:#fff; border-left:3px solid #c78c35; font-weight:650; }.sky-hazard b.sky-hazard-icon { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; border-radius:14px; color:#94692c; background:#fcf1dc; }.sky-hazard-sprite { display:block; width:38px; height:38px; background-image:url('/resources/images/safe-sky/ground-hazards.png'); background-repeat:no-repeat; background-size:500% 200%; }.sky-hazard-sprite-1 { background-position:0 0; }.sky-hazard-sprite-2 { background-position:25% 0; }.sky-hazard-sprite-3 { background-position:50% 0; }.sky-hazard-sprite-4 { background-position:75% 0; }.sky-hazard-sprite-5 { background-position:100% 0; }.sky-hazard-sprite-6 { background-position:0 100%; }.sky-hazard-sprite-7 { background-position:25% 100%; }.sky-hazard-sprite-8 { background-position:50% 100%; }.sky-hazard-sprite-9 { background-position:75% 100%; }.sky-hazard-sprite-10 { background-position:100% 100%; }
.sky-report-layout { align-items:start; }.sky-report-layout > div > p:not(.sky-lead) { font-size:1.1rem; }.sky-report-contact { padding:32px; background:#e0ebeb; border-radius:16px; border:1px solid #bad0d2; }.sky-report-contact > span { font-size:3rem; color:#305e68; }
.sky-closing { min-height:520px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:18px; padding:80px 28px; text-align:center; background:linear-gradient(155deg,#092639,#266279 60%,#9dbbc1); color:white; }
.sky-closing > p { letter-spacing:.3em; font-size:.8rem; }.sky-closing h2 { max-width:900px; margin:0; font-size:clamp(2.4rem,5vw,5rem); line-height:1.08; letter-spacing:-.035em; }.sky-closing > span { font-size:1.2rem; }.sky-closing > div { display:flex; flex-wrap:wrap; justify-content:center; gap:14px; margin-top:20px; }.sky-closing a { padding:14px 19px; border:1px solid rgba(255,255,255,.65); border-radius:5px; color:white; text-decoration:none; font-weight:700; }
.sky-references { max-width:1220px; margin:auto; padding:70px clamp(22px,5vw,72px) 100px; }.sky-references h2 { font-size:1.7rem; color:#12394c; }.sky-references p { max-width:820px; line-height:1.6; }.sky-language-note { padding:12px 16px; background:#e4eeee; border-left:3px solid #39747a; }.sky-references ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 32px; margin:28px 0 0; padding-left:26px; }.sky-references li { padding:10px 0; }.sky-references a { color:#24586c; text-underline-offset:3px; }
.sky-progress { position:sticky; top:var(--sky-header-height, 86px); z-index:20; display:flex; align-items:center; justify-content:space-between; min-height:54px; padding:0 22px; background:rgba(247,250,249,.96); border-bottom:1px solid #cbdcdd; backdrop-filter:blur(10px); }
.sky-progress-bar { position:absolute; top:0; left:0; width:100%; height:3px; }.sky-progress-bar i { display:block; height:100%; width:0; background:#d29b3b; transition:width .16s linear; }
.sky-progress-current { font-weight:800; color:#1b4c5a; font-size:.83rem; }.sky-progress-links { display:flex; gap:4px; }.sky-progress-links a { display:flex; gap:8px; align-items:center; padding:10px; border-radius:4px; color:#516974; text-decoration:none; font-size:.76rem; }.sky-progress-links a.active { background:#dcebec; color:#174b5b; }.sky-progress-links b { color:#1b5969; }
@media (max-width:1000px) { .sky-progress-links span { display:none; } .sky-check-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.sky-check-card { min-height:280px; } }
@media (max-width:760px) { #safe-sky { margin:-24px -10px -42px; } .sky-hero { min-height:calc(100svh - 125px); padding:54px 24px 80px; align-items:center; }.sky-hero h1 { font-size:clamp(3.5rem,14vw,5.7rem); }.sky-hero-content { margin-top:80px; }.sky-aircraft { top:8%; right:-9%; font-size:150px; opacity:.7; }.sky-drone { right:8%; bottom:8%; }.sky-hero-index { display:none; }.sky-progress { top:0; padding:0 18px; }.sky-progress-links { display:none; }.sky-chapter { padding:76px 22px; }.sky-airspace-grid,.sky-local-grid,.sky-report-layout { grid-template-columns:1fr; }.sky-runway-scene,.sky-local-scene { min-height:350px; }.sky-local-ring.two { width:330px; }.sky-airspace-copy { gap:22px; }.sky-check-grid { grid-template-columns:1fr; }.sky-check-card { min-height:0; padding:24px; }.sky-check-symbol { margin:16px 0; }.sky-responsibility-grid,.sky-hazard-grid,.sky-references ol { grid-template-columns:1fr; }.sky-hazard-scene { height:190px; }.sky-hazard-scene span { font-size:6rem; }.sky-closing { min-height:450px; }.sky-references { padding-bottom:130px; } }
@media (max-width:760px) { .sky-map-float { right:14px; bottom:74px; max-width:calc(100vw - 28px); } }
@media (prefers-reduced-motion:reduce) { .sky-reveal { opacity:1!important; transform:none!important; transition:none!important; }.sky-zone { opacity:1!important; transform:translate(-50%,-50%) scale(1)!important; transition:none!important; }.sky-progress-bar i { transition:none; } }
@media (max-width:720px) { body.public-mode .tabs-inner { display:flex; flex-wrap:nowrap; overflow-x:auto; overflow-y:hidden; scrollbar-width:thin; scroll-snap-type:x proximity; } body.public-mode .tabs-inner > .public-tab { flex:0 0 calc((100vw - 8px)/5); scroll-snap-align:start; } }

/* Cinematic chapter artwork, inspired by the supplied Dong Hoi terminal. */
.sky-banner-image { display:block; width:100%; height:100%; object-fit:cover; }
.sky-hero { min-height:680px; align-items:center; background:#061d31; }
.sky-hero-art { z-index:-2; }
.sky-hero-art .sky-banner-image { object-position:64% center; }
.sky-hero::before { background:linear-gradient(90deg,rgba(3,19,34,.85),rgba(3,19,34,.38) 52%,transparent 80%); }
.sky-hero-content { max-width:650px; }
.sky-hero h1 { font-size:clamp(3.6rem,7.2vw,7rem); }
.sky-hero-index { max-width:320px; letter-spacing:.06em; text-align:right; }
.sky-story { max-width:1440px; }
.sky-chapter { padding-top:0; padding-bottom:90px; }
.sky-chapter-banner { position:relative; isolation:isolate; min-height:400px; margin:0 calc(-1 * clamp(22px,5vw,72px)) 52px; display:flex; align-items:center; overflow:hidden; background:#071e32; color:white; }
.sky-chapter-banner > .sky-banner-image { position:absolute; inset:0; z-index:-3; }
.sky-banner-shade { position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,rgba(3,20,35,.83),rgba(3,20,35,.45) 45%,transparent 80%); }
.sky-chapter-heading { position:relative; padding:65px clamp(22px,5vw,72px); max-width:740px; }
.sky-chapter-heading::before { content:""; display:block; width:64px; height:3px; margin-bottom:22px; background:#e2b569; box-shadow:72px 0 0 -1px #8bafbb; }
.sky-chapter-heading span,#sky-chapter-4 .sky-chapter-heading span { color:#e9c68b; }
.sky-chapter .sky-chapter-heading h2 { color:white; margin-bottom:0; font-size:clamp(2.3rem,4.2vw,4rem); text-wrap:balance; text-shadow:0 2px 22px #061d31; }
.sky-banner-number { position:absolute; right:28px; top:8px; font-size:clamp(5rem,10vw,10rem); line-height:1; font-weight:850; color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.42); letter-spacing:-.08em; }
.sky-local-grid { grid-template-columns:1fr; gap:20px; }
.sky-airspace-figure { width:calc(100% + 2 * clamp(22px,5vw,72px)); margin:0 0 0 calc(-1 * clamp(22px,5vw,72px)); min-width:0; overflow:hidden; }
.sky-airspace-figure picture { display:block; }
.sky-airspace-figure img { display:block; width:100%; height:auto; }
.sky-local-copy { padding:28px; border:1px solid #c8d8dd; border-radius:12px; background:#f6fafb; }
.sky-area-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 18px; margin:18px 0 0; padding:0; list-style:none; }
.sky-area-list li { padding:10px 12px; border-left:3px solid #bd9b51; border-radius:6px; color:#294a32; background:#edf4ea; font-weight:750; }
.sky-hotline { position:relative; display:grid; grid-template-columns:52px 1fr; gap:2px 14px; align-items:center; margin:26px 0 2px; padding:17px 20px; overflow:hidden; border:1px solid #d7c7a6; border-radius:16px; color:#294a32; background:linear-gradient(135deg,#fffdf8,#f4ede0); box-shadow:0 12px 28px rgba(51,72,54,.09); }
.sky-hotline::before { content:"☎"; grid-row:1 / span 2; display:grid; width:52px; height:52px; place-items:center; border-radius:50%; color:#fff; background:linear-gradient(145deg,#9b332d,#c65443); box-shadow:0 7px 18px rgba(139,47,42,.25); font-size:1.45rem; }
.sky-hotline span { font-size:.72rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.sky-hotline a,.sky-report-contact .sky-hotline-number { margin:0; color:#a3302d; font-size:1.55rem; font-weight:950; letter-spacing:.035em; line-height:1.15; text-decoration:none; }
.sky-hotline a,.sky-hotline a:hover { display:block; padding:0; color:#a3302d; background:transparent; }
.sky-check-card { border-radius:0 0 16px 16px; background:linear-gradient(155deg,#fff,#eaf3f5); }
.sky-check-symbol { width:72px; height:72px; display:grid; place-items:center; border:1px solid #b8d0d7; border-radius:50%; background:#dcebef; }
.sky-hazard { border-radius:0 12px 12px 0; }
.sky-hazard b { display:grid; place-items:center; flex:0 0 40px; height:40px; border-radius:50%; background:#fcf1dc; }
.sky-closing { position:relative; isolation:isolate; overflow:hidden; background:#082438; }
.sky-closing > .sky-banner-image { position:absolute; inset:0; z-index:-2; }
.sky-closing::before { content:""; position:absolute; inset:0; background:#041b31c9; z-index:-1; }
@media (min-width:1600px) { .sky-hero-art .sky-banner-image { object-position:center; } }
@media (max-width:760px) {
  .sky-hero { min-height:760px; padding:280px 24px 64px; align-items:flex-end; }
  .sky-hero-art { height:360px; }
  .sky-hero-art .sky-banner-image { object-position:78% center; }
  .sky-hero::before { background:linear-gradient(0deg,#061d31 53%,transparent 95%); }
  .sky-hero-content { margin:0; }
  .sky-hero-index { display:block; bottom:18px; right:24px; font-size:.65rem; }
  .sky-hero h1 { font-size:clamp(3.5rem,13vw,5rem); }
  .sky-progress { top:var(--sky-header-height,86px); }
  .sky-chapter { padding-top:0; padding-bottom:64px; }
  .sky-chapter-banner { min-height:420px; align-items:flex-end; margin:0 -22px 32px; }
  .sky-chapter-banner > .sky-banner-image { height:270px; object-position:78% center; }
  .sky-banner-shade { background:linear-gradient(0deg,#071e32 14%,rgba(7,30,50,.95) 34%,transparent 78%); }
  .sky-chapter-heading { padding:175px 24px 58px; }
  .sky-chapter .sky-chapter-heading h2 { font-size:2.15rem; }
  .sky-banner-number { top:12px; right:18px; font-size:5.5rem; }
  .sky-lead { margin-bottom:30px; }
  .sky-airspace-figure { width:calc(100% + 44px); margin-left:-22px; }
}

/* Match the public site's olive green identity while retaining the sky artwork. */
.safe-sky-page { --sky-navy:#233f2b; --sky-blue:#466346; --sky-line:#c8d9ca; color:#263c2e; background:#f3f7f1; }
.sky-hero { background:#213e2a; }
.sky-hero::before { background:linear-gradient(90deg,rgba(19,45,27,.92),rgba(35,66,40,.56) 48%,rgba(35,66,40,.12) 82%); }
.sky-hero-subtitle { color:#f2f8ef; }
.sky-hero-content > p:not(.sky-eyebrow):not(.sky-hero-subtitle) { color:#e4efe2; }
.sky-eyebrow { color:#d6e9d1; }
.sky-scroll-cue { border-bottom-color:#c9b47e; }
.sky-chapter + .sky-chapter { border-top-color:#d4e0d4; }
.sky-chapter:nth-child(even) { background:#eaf1e8; }
.sky-chapter-banner { background:#243e2c; }
.sky-banner-shade { background:linear-gradient(90deg,rgba(20,48,29,.9),rgba(34,64,40,.57) 46%,rgba(34,64,40,.1) 82%); }
.sky-chapter-heading::before { background:#d9c18c; box-shadow:72px 0 0 -1px #a5c3a6; }
.sky-chapter-heading span,#sky-chapter-4 .sky-chapter-heading span { color:#dfd2a7; }
.sky-chapter .sky-chapter-heading h2 { text-shadow:0 2px 22px #193626; }
.sky-lead { color:#4b6754; }
.sky-chapter h3 { color:#294a32; }
.sky-airspace-copy article { border-left-color:#abc5ac; }
.sky-runway-scene { background:linear-gradient(145deg,#41634a,#233e2b); }
.sky-runway span { color:#233e2b; }
.sky-source-action a,.sky-local-copy a { background:#466346; }
.sky-source-action a:hover,.sky-local-copy a:hover { background:#2d482d; }
.sky-source-action p { color:#536d58; }
.sky-local-copy { background:#f8faf7; border-color:#c9dccb; }
.sky-status-dot { background:#bd9b51; box-shadow:0 0 0 7px #eee5cc; }
.sky-check-card { border-color:#ccdccc; border-top-color:#638b67; background:linear-gradient(155deg,#fff,#eef5ec); box-shadow:0 20px 36px rgba(31,66,35,.06); }
.sky-check-card > span,.sky-check-symbol { color:#4e7654; }
.sky-check-symbol { border-color:#c1d6c1; background:#e4f0e2; }
.sky-check-card p { color:#53675a; }
#sky-chapter-4 { color:#2d4033; background:linear-gradient(180deg,#f8f6ef,#eef4ec); }
#sky-chapter-4 .sky-lead { color:#52695a; }
.sky-responsibility-grid { gap:16px; background:transparent; border:0; }
.sky-responsibility-grid article { position:relative; padding:30px; overflow:hidden; border:1px solid #cfddd0; border-radius:18px; background:rgba(255,255,255,.92); box-shadow:0 14px 34px rgba(41,66,47,.08); }
.sky-responsibility-grid article::after { content:""; position:absolute; right:-35px; top:-42px; width:110px; height:110px; border-radius:50%; background:rgba(111,145,105,.08); }
.sky-responsibility-grid article > span { display:grid; width:40px; height:40px; place-items:center; border-radius:50%; color:#fff; background:#55775a; font-size:.8rem; font-weight:900; letter-spacing:.06em; }
.sky-responsibility-grid article h3 { margin-top:18px; color:#28472f; }
.sky-responsibility-grid article p { color:#53675a; }
.sky-responsibility-primary { grid-column:1 / -1; border-color:#dfc9a5!important; background:linear-gradient(145deg,#fffdf8,#faf5e9)!important; }
.sky-responsibility-primary > span { background:#a43a32!important; }
.sky-penalty-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:24px; }
.sky-penalty-list > div { min-height:132px; padding:18px; border:1px solid #ead8bd; border-top:4px solid #b94539; border-radius:12px; background:#fff; box-shadow:0 8px 20px rgba(91,60,38,.06); }
.sky-penalty-list strong { display:block; margin-bottom:10px; color:#a62f2b; font-size:1.05rem; line-height:1.2; letter-spacing:.01em; }
.sky-penalty-list small { display:block; color:#5c625b; font-size:.85rem; line-height:1.55; }
#sky-chapter-4 blockquote { position:relative; padding:30px 38px; border:1px solid #d8c79f; border-radius:18px; color:#35503b; background:#fffaf0; box-shadow:0 12px 28px rgba(64,78,55,.07); }
#sky-chapter-4 blockquote::before { content:"!"; display:grid; width:42px; height:42px; margin:0 auto 16px; place-items:center; border-radius:50%; color:#fff; background:#a53a32; font-size:1.3rem; font-weight:900; }
.sky-hazard { border-left-color:#a3b88d; }
.sky-hazard b { color:#466346; background:#e9f1e4; }
.sky-report-contact { background:#e2eee0; border-color:#bfd3bd; }
.sky-report-contact > span { color:#466346; }
.sky-report-contact .sky-hotline-number { display:inline-block; margin-top:8px; color:#9b332d; }
.sky-closing { background:#24432c; }
.sky-closing::before { background:rgba(24,52,30,.79); }
.sky-references h2,.sky-references a { color:#345c3b; }
.sky-language-note { background:#e7f1e5; border-left-color:#5d865f; }
.sky-progress { background:rgba(248,251,247,.97); border-bottom-color:#cbdccc; }
.sky-progress-bar i { background:#73956f; }
.sky-progress-current,.sky-progress-links b { color:#345c3b; }
.sky-progress-links a { color:#516b56; }
.sky-progress-links a.active { background:#e1eee0; color:#2d5835; }
.sky-local-copy .sky-hotline a,.sky-local-copy .sky-hotline a:hover { display:block; margin:0; padding:0; color:#a3302d; background:transparent; box-shadow:none; }
@media (max-width:760px) {
  .sky-hero::before { background:linear-gradient(0deg,#213e2a 53%,rgba(33,62,42,.22) 95%); }
  .sky-banner-shade { background:linear-gradient(0deg,#243e2c 14%,rgba(36,62,44,.96) 34%,rgba(36,62,44,.1) 78%); }
}

/* Opening banner uses the same light editorial treatment as the other public pages. */
.sky-hero {
  min-height:clamp(340px,32vw,430px);
  margin:20px 28px 0;
  padding:clamp(28px,4.2vw,62px);
  align-items:center;
  overflow:hidden;
  border:1px solid rgba(70,99,70,.17);
  border-radius:24px;
  color:#173b28;
  background:#eff8f8;
  box-shadow:0 18px 48px rgba(36,69,43,.12);
}
.sky-hero::before { background:linear-gradient(90deg,rgba(245,251,251,.87) 0%,rgba(245,251,251,.58) 33%,rgba(245,251,251,0) 55%); }
.sky-hero-art { z-index:-2; }
.sky-hero-image { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.sky-hero-content { width:min(47%,600px); max-width:none; margin:0; }
.sky-hero .sky-eyebrow { margin:0; color:#466346; font-size:.72rem; letter-spacing:.12em; }
.sky-hero h1 { max-width:600px; margin:10px 0 12px; color:#173b28; font-size:clamp(2.35rem,4.1vw,3.55rem); line-height:1.05; letter-spacing:-.035em; text-wrap:balance; }
.sky-hero .sky-hero-subtitle { max-width:490px; margin:0; color:#355f45; font-size:clamp(1rem,1.55vw,1.35rem); line-height:1.35; }
.sky-hero-content > p:not(.sky-eyebrow):not(.sky-hero-subtitle) { max-width:460px; margin:12px 0 0; color:#50695b; font-size:.96rem; line-height:1.5; }
.sky-hero .sky-scroll-cue { margin-top:14px; padding:7px 0; color:#2d5835; border-bottom-color:#9db89b; font-size:.88rem; }
.sky-hero .sky-scroll-cue:hover { color:#173b28; }
@media (max-width:1000px) and (min-width:761px) {
  .sky-hero-content { width:52%; }
  .sky-hero h1 { font-size:clamp(2.1rem,4.3vw,3rem); }
}
@media (max-width:760px) {
  .sky-hero { display:flex; min-height:0; margin:12px 10px 0; padding:0; flex-direction:column; align-items:stretch; }
  .sky-hero::before { display:none; }
  .sky-hero-art { position:relative; inset:auto; z-index:auto; width:100%; height:clamp(205px,58vw,290px); flex:none; }
  .sky-hero-image { object-position:84% center; }
  .sky-hero-content { width:auto; max-width:none; margin:0; padding:24px 24px 28px; }
  .sky-hero h1 { font-size:clamp(2.2rem,9vw,3.4rem); }
  .sky-hero .sky-hero-subtitle { font-size:1.12rem; }
  .sky-hero-content > p:not(.sky-eyebrow):not(.sky-hero-subtitle) { font-size:.92rem; }
}
@media (min-width:761px) and (max-width:1100px) {
  .sky-runway-scene.sky-airspace-map { margin-inline:auto; }
  .sky-airspace-copy { grid-template-columns:1fr; gap:22px; }
}
@media (min-width:1441px) {
  .sky-airspace-figure { width:100vw; margin-left:calc(50% - 50vw); }
  .sky-area-list { grid-template-columns:1fr; }
  .sky-hotline { align-items:flex-start; flex-direction:column; gap:4px; }
}
@media (max-width:720px) {
  .sky-mobile-actions { position:fixed; z-index:44; right:10px; bottom:calc(10px + env(safe-area-inset-bottom)); left:10px; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:8px; }
  .sky-map-float,.sky-report-float { position:static; display:flex; align-items:center; justify-content:center; min-width:0; min-height:54px; padding:7px 10px; border:1px solid rgba(255,255,255,.5); border-radius:14px; box-shadow:0 10px 28px rgba(33,47,42,.28); text-decoration:none; }
  .sky-map-float:hover { transform:none; box-shadow:0 10px 28px rgba(33,47,42,.28); }
  .sky-map-float svg,.sky-report-float svg { width:20px; height:20px; flex:0 0 20px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
  .sky-map-float strong,.sky-report-float strong { font-size:.68rem; line-height:1.2; letter-spacing:.015em; text-align:center; white-space:normal; }
  .sky-map-float > span { display:none; }
  .sky-report-float { gap:7px; color:#fff; background:linear-gradient(120deg,#315f3f,#527c54); }
  .sky-penalty-list { grid-template-columns:1fr; }
  .sky-responsibility-grid article { padding:24px; }
  #sky-chapter-4 blockquote { margin-top:38px; padding:24px 20px; }
  .sky-hotline { grid-template-columns:46px 1fr; padding:15px; }
  .sky-hotline::before { width:46px; height:46px; }
  .sky-hotline a { font-size:1.32rem; }
}
