:root{--navy:#101d30;--navy2:#18304d;--ink:#0a1422;--gold:#c9a55a;--gold2:#e3c98a;--cream:#f4f1ea;--paper:#fbf9f4;--text:#1f2937;--mute:#667085;--line:#e3ddcf;--good:#2f8f5b;--check:#c98a1d;--poor:#b4412f;--r:14px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--text);font:17px/1.6 "Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:Georgia,"Times New Roman",serif;color:var(--navy);line-height:1.15;margin:0 0 .5em;font-weight:600;letter-spacing:.2px}
h1{font-size:clamp(2.1rem,4.6vw,3.6rem)}h2{font-size:1.75rem}h3{font-size:1.2rem;margin-top:1.4em}
a{color:#1f4e8c;text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--navy)}
img{max-width:100%}.wrap{width:min(1180px,100% - 40px);margin-inline:auto}
.fine{font-size:.82rem;color:var(--mute);margin:.5em 0}.lead{font-size:1.18rem;color:#d8dfe9;max-width:60ch}
/* header */
.top{background:var(--navy);border-bottom:3px solid var(--gold);position:sticky;top:0;z-index:50}
.bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:9px 0}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--cream);font:600 1.02rem/1.15 Georgia,serif;letter-spacing:.6px;text-transform:uppercase}
.brand img{filter:drop-shadow(0 1px 4px #0006)}
.top nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.top nav a{color:#d8dfe9;text-decoration:none;padding:9px 13px;border-radius:8px;font-size:.95rem;font-weight:500}
.top nav a:hover{background:#ffffff14;color:#fff}.top nav a.cta{background:var(--gold);color:var(--navy);font-weight:700}.top nav a.cta:hover{background:var(--gold2)}
/* hero */
.hero,.hero-s{background:radial-gradient(1200px 500px at 80% -10%,#24456e55,transparent),linear-gradient(180deg,var(--navy),var(--ink));color:#fff;position:relative;overflow:hidden}
.hero:before,.hero-s:before{content:"";position:absolute;inset:0;background:url(/assets/watermark-helicopter-on-dark.png) no-repeat 92% 55%/min(760px,70%);opacity:.55;pointer-events:none}
.hero:after,.hero-s:after{content:"";position:absolute;inset:0;background-image:linear-gradient(#c9a55a14 1px,transparent 1px),linear-gradient(90deg,#c9a55a14 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(180deg,#000,transparent 90%);pointer-events:none}
.hero .wrap,.hero-s .wrap{position:relative;z-index:2}.hero{padding:74px 0 64px}.hero-s{padding:44px 0 36px}.hero h1,.hero-s h1{color:#fff}.hero-s .lead{margin:.2em 0 0}
.hero-in{max-width:760px}.hero .two{align-items:center}
.crumb{font:500 .8rem/1 ui-monospace,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--gold2);margin:0 0 14px}.crumb a{color:var(--gold2);text-decoration:none}
.search{position:relative;display:flex;gap:0;margin:26px 0 14px;max-width:660px;box-shadow:0 12px 34px #0007;border-radius:12px}
.search input{flex:1;font:inherit;padding:17px 20px;border:0;border-radius:12px 0 0 12px;outline:0;min-width:0}
.search button,.btn{font:600 1rem inherit;font-family:inherit;background:var(--gold);color:var(--navy);border:0;padding:15px 26px;cursor:pointer;text-decoration:none;display:inline-block;border-radius:10px;font-weight:700;letter-spacing:.2px}
.search button{border-radius:0 12px 12px 0}.btn:hover,.search button:hover{background:var(--gold2);color:var(--navy)}
.btn.ghost{background:transparent;border:2px solid var(--gold);color:var(--navy);padding:12px 22px}.btn.ghost:hover{background:var(--gold)}
.sug{position:absolute;top:100%;left:0;right:0;background:#fff;border-radius:0 0 12px 12px;box-shadow:0 18px 40px #0005;z-index:20;overflow:hidden}
.sug a{display:flex;justify-content:space-between;gap:12px;padding:11px 18px;color:var(--text);text-decoration:none;border-top:1px solid #eee}.sug a:hover{background:var(--cream)}.sug small{color:var(--mute)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 0}.chips a{border:1px solid #c9a55a88;color:var(--gold2);padding:7px 14px;border-radius:99px;text-decoration:none;font-size:.9rem}.chips a:hover{background:var(--gold);color:var(--navy)}
/* sections */
section{margin:0}.wrap>.card,section.wrap{margin-block:30px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);margin-top:-38px!important;position:relative;z-index:5;box-shadow:0 14px 40px #10203012}
.stats div{padding:22px 18px;text-align:center;border-right:1px solid var(--line)}.stats div:last-child{border:0}
.stats b{display:block;font:700 2.2rem/1 Georgia,serif;color:var(--navy)}.stats span{font-size:.85rem;color:var(--mute)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:28px}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px 28px;box-shadow:0 6px 20px #1020300a}
.card .ico{display:block;margin-bottom:12px}.card.art{text-align:center;background:linear-gradient(180deg,#fff,var(--paper))}
.band{background:var(--navy);color:#fff;margin:44px 0;border-block:3px solid var(--gold)}.band h2{color:#fff}.lead2{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:38px 0}
.band p{color:#cdd6e2;margin:0;max-width:60ch}
.notice{background:#fff7e3;border:1px solid #ecd9a4;border-left:5px solid var(--gold);padding:14px 18px;border-radius:8px;font-size:.95rem}
/* maps: dark-tinted satellite, gold grid */
.mapbox{height:340px;border-radius:var(--r);overflow:hidden;border:2px solid var(--navy);box-shadow:0 10px 28px #1020301c;background:#0b1626;position:relative}
.mapbox.tall{height:480px}
.mapbox .leaflet-tile-pane{filter:brightness(.62) saturate(.8) contrast(1.1) hue-rotate(-8deg)}
.mapbox:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:500;background-image:linear-gradient(#c9a55a1c 1px,transparent 1px),linear-gradient(90deg,#c9a55a1c 1px,transparent 1px);background-size:60px 60px;box-shadow:inset 0 0 0 1px #c9a55a55}
.pin{width:18px;height:18px;border-radius:50%;background:var(--gold);border:3px solid #fff;box-shadow:0 0 0 2px var(--navy),0 3px 8px #0007}
.pin.v{background:var(--gold)}.pin.a{background:#fff;border-color:var(--navy)}.pin.h{background:#4cc3ff}.pin.t{background:#9aa7b8;width:12px;height:12px}.pin.f{background:#fff;width:13px;height:13px}
.leaflet-container{font-family:inherit;background:#0b1626}.leaflet-tooltip{background:var(--navy);color:#fff;border:1px solid var(--gold);border-radius:6px}
/* facts */
table.facts{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.facts th{width:36%;text-align:left;vertical-align:top;padding:11px 16px;background:var(--paper);color:var(--navy);font-weight:600;font-size:.88rem;border-bottom:1px solid var(--line)}
.facts td{padding:11px 16px;border-bottom:1px solid var(--line);font-size:.97rem}.facts tr:last-child th,.facts tr:last-child td{border-bottom:0}
table.grid{width:100%;border-collapse:collapse;margin:8px 0;font-size:.93rem}.grid th,.grid td{padding:7px 10px;border-bottom:1px solid var(--line);text-align:left}.grid th{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--mute)}
.tag{display:inline-block;padding:2px 10px;border-radius:99px;font-size:.74rem;font-weight:700;letter-spacing:.03em;background:#e9edf3;color:var(--navy)}
.t-confirmed{background:#dff1e6;color:#1b6b3f}.t-no-heli-info,.t-not-researched,.t-not-checked,.t-cannot-read{background:#eef0f3;color:#5a6577}.t-helicopters-not-permitted{background:#f7dcd6;color:#8a2c1d}.t-verify{background:#fbe9c2;color:#8a5a00}
.rwy{width:min(280px,100%);height:auto}
/* gate */
.gatewrap{position:relative;border-radius:var(--r);overflow:hidden}.gatewrap.locked .gate{filter:blur(7px) saturate(.7);opacity:.55;pointer-events:none;user-select:none;max-height:430px;overflow:hidden}
.gate{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px 28px}.gate-cta{display:none}
.gatewrap.locked .gate-cta{display:grid;place-items:center;position:absolute;inset:0;background:linear-gradient(180deg,#f4f1ea00,#f4f1eaf0 58%);text-align:center;padding:20px}
.gate-cta>div{background:#fff;border:1px solid var(--gold);border-radius:16px;padding:28px 32px;max-width:560px;box-shadow:0 22px 60px #1020303d}.gate-cta h3{margin-top:0}
.chk{padding-left:20px}.chk li{margin:6px 0}
ul.near{list-style:none;padding:0;margin:.3em 0 1em;display:grid;grid-template-columns:repeat(2,1fr);gap:8px 26px}.near li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dotted var(--line);padding:6px 0}.near span{color:var(--mute);font-size:.88rem;white-space:nowrap}
/* weather */
.wxh{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:10px}.wxb{padding:6px 16px;border-radius:99px;color:#fff;font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:.82rem}
.wxb.good{background:var(--good)}.wxb.check{background:var(--check)}.wxb.poor{background:var(--poor)}.wxs{font-size:1.04rem}
.wxg{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.wxg div{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:10px;text-align:center}.wxg b{display:block;font:700 1.35rem/1.1 Georgia,serif;color:var(--navy)}.wxg span{font-size:.75rem;color:var(--mute);text-transform:uppercase;letter-spacing:.05em}
.wxbar{display:flex;gap:3px;align-items:flex-end;height:54px;margin-top:6px}.wxbar i{flex:1;background:var(--navy2);border-radius:2px 2px 0 0;min-height:3px}.wxbar i.c{background:var(--check)}.wxbar i.p{background:var(--poor)}
/* directory */
.filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px;margin:26px 0 8px}.filters input[type=search],.filters select{font:inherit;padding:11px 14px;border:1px solid #cfc8b6;border-radius:9px;background:#fff}.filters input[type=search]{flex:1;min-width:220px}.filters label{font-size:.9rem}
ul.list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px 20px}
.list a{display:block;background:#fff;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:10px;padding:12px 16px;text-decoration:none;color:var(--text)}.list a:hover{border-left-color:var(--navy);box-shadow:0 8px 20px #1020301a}.list b{color:var(--navy)}.list small{display:block;color:var(--mute)}
/* forms */
.form label{display:block;font-weight:600;font-size:.9rem;color:var(--navy);margin:0 0 14px}.form input,.form select,.form textarea{display:block;width:100%;font:inherit;font-weight:400;margin-top:5px;padding:12px 14px;border:1px solid #cfc8b6;border-radius:9px;background:#fff}
.form input:focus,.form select:focus,.form textarea:focus,.filters input:focus{outline:2px solid var(--gold);border-color:var(--gold)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.chk2{display:flex!important;gap:10px;align-items:flex-start;font-weight:400!important}.chk2 input{width:auto!important;margin-top:4px}
ul.ticks{list-style:none;padding:0;margin:20px 0 0}.ticks li{padding:6px 0 6px 30px;position:relative;color:#e3e9f2}.ticks li:before{content:"";position:absolute;left:0;top:11px;width:16px;height:16px;border-radius:50%;background:var(--gold)}
.rule{border-bottom:1px solid var(--line);padding:2px 0}.rule:last-child{border:0}.prose{max-width:780px}
/* footer */
footer{background:var(--navy);color:#cfd8e5;margin-top:60px;border-top:3px solid var(--gold);padding:44px 0 18px;font-size:.95rem}.fgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:34px}
footer h4{color:var(--gold2);font:600 .85rem ui-monospace,Consolas,monospace;letter-spacing:.12em;text-transform:uppercase}footer a{display:block;color:#cfd8e5;text-decoration:none;padding:3px 0}footer a:hover{color:var(--gold2)}footer .fine{color:#93a3b8}
.base{grid-column:1/-1;border-top:1px solid #ffffff1c;padding-top:16px;margin-top:10px;color:#93a3b8;font-size:.82rem}
@media(max-width:860px){.two,.three,.fgrid,.grid2,.stats,ul.list,ul.near{grid-template-columns:1fr}.stats div{border-right:0;border-bottom:1px solid var(--line)}.lead2{flex-direction:column;align-items:flex-start}.top nav a:not(.cta):not(.login):not(.logout){display:none}.hero{padding:52px 0 56px}.wxg{grid-template-columns:repeat(2,1fr)}.hero:before,.hero-s:before{opacity:.25}}
.two>div>.card,.two>div>.mapbox+.card{margin-top:18px}.two>div>.mapbox{margin-bottom:0}.two>div>table.facts+.card{margin-top:18px}

.skel{height:16px;background:linear-gradient(90deg,#ece6d8,#f6f2e8,#ece6d8);border-radius:6px;margin:16px 0}.skel.s{width:60%}.hp{position:absolute;left:-9999px;height:0;overflow:hidden}.tabs{display:flex;gap:6px;margin-bottom:16px}.tabs button{flex:1;font:600 .95rem inherit;font-family:inherit;padding:11px;border:1px solid var(--line);background:var(--paper);border-radius:9px;cursor:pointer;color:var(--navy)}.tabs button.on{background:var(--navy);color:#fff;border-color:var(--navy)}.err{color:var(--poor);font-weight:600}.linkbtn{background:none;border:0;color:#1f4e8c;text-decoration:underline;cursor:pointer;font:inherit;padding:0}

@media(max-width:480px){.brand{font-size:.82rem;letter-spacing:.3px}.brand img{width:38px;height:38px}.top nav a.cta{padding:8px 10px;font-size:.85rem}}

.okmsg{background:#e6f4ec;border:1px solid #b9dcc6;color:#17603b;border-radius:9px;padding:11px 14px;font-weight:600;margin:0 0 14px}.member{font:600 1.05rem ui-monospace,Consolas,monospace;color:var(--navy);background:var(--paper);border:1px solid var(--line);border-radius:8px;display:inline-block;padding:6px 12px}

.top nav a.login,.top nav a.logout{border:1px solid #c9a55a88;color:var(--gold2)}.top nav a[hidden]{display:none}.top nav a.login:hover{background:#ffffff14;color:#fff}@media(max-width:480px){.top nav{gap:4px}.top nav a.login,.top nav a.logout{padding:8px 9px;font-size:.85rem}}

@media(max-width:480px){.top .bar{gap:8px}.brand{font-size:.7rem;letter-spacing:.2px;gap:8px}.brand img{width:34px;height:34px}.top nav{flex-wrap:nowrap;gap:5px}.top nav a,.top nav a.login,.top nav a.logout,.top nav a.cta{padding:7px 9px;font-size:.8rem;white-space:nowrap}}

.cards{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-block:26px}.cards .card{margin:0}
.hero-actions{margin:16px 0 0;display:flex;gap:10px;flex-wrap:wrap}.btn.small{padding:9px 16px;font-size:.9rem}.btn.on{background:var(--navy2);color:var(--gold2);border:1px solid var(--gold)}
.hero-s .btn.ghost{color:var(--gold2);border-color:var(--gold)}.hero-s .btn.ghost:hover{color:var(--navy)}
td.z{color:var(--mute);font-size:.8rem}textarea.tpl{width:100%;font:13px/1.45 ui-monospace,Consolas,monospace;border:1px solid #cfc8b6;border-radius:8px;padding:10px;background:var(--paper);margin:8px 0}
@media(max-width:860px){.cards{grid-template-columns:1fr}}

.cards .card{min-width:0}#dl{overflow-x:auto}@media(max-width:600px){.cards .card{padding:20px 16px}#dl table{font-size:.78rem}#dl th,#dl td{padding:6px 4px}#dl .z,#dl th:last-child{display:none}.cards table.grid{font-size:.85rem}}
