:root {
  --ink:#132238;
  --muted:#5e6c7d;
  --paper:#f3f6f9;
  --card:#fff;
  --line:#dce3ea;
  --accent:#0d6efd;
  --accent2:#084eb3;
  --good:#176b45;
  --bad:#a23a3a;
}

* { box-sizing:border-box; }

body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font:16px/1.55 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.shell { max-width:960px; margin:0 auto; padding:48px 20px 80px; }
.card { margin-bottom:22px; padding:30px; border:1px solid var(--line); border-radius:18px; background:var(--card); box-shadow:0 10px 30px rgba(20,34,56,.05); }
.hero { padding:48px; }
.eyebrow { margin-bottom:12px; color:var(--accent); font-size:.78rem; font-weight:800; letter-spacing:.14em; }
h1 { margin:.2em 0 .4em; font-size:clamp(2rem,5vw,3.7rem); line-height:1.02; }
h2 { margin:.2em 0 .7em; font-size:1.35rem; line-height:1.3; }
.lede { max-width:720px; color:var(--muted); font-size:1.16rem; }
.fine { color:var(--muted); font-size:.85rem; }
button,.button-link { display:inline-block; padding:14px 22px; border:0; border-radius:12px; font-size:1rem; font-weight:800; text-decoration:none; cursor:pointer; }
.primary { background:var(--accent); color:#fff; }
.primary:hover { background:var(--accent2); }

.home-with-donation-banner { padding-top:46px; }
.home-with-donation-banner>.shell { padding-top:36px; }

.sonex-fund-dock { position:fixed; z-index:2000; top:0; right:0; left:0; }
.sonex-banner-toggle { display:flex; width:100%; height:46px; align-items:center; justify-content:center; gap:9px; padding:7px 18px; border:0; border-radius:0; background:linear-gradient(90deg,#10273d 0%,#17496a 52%,#10273d 100%); box-shadow:0 2px 10px rgba(8,31,49,.28); color:#fff; font-size:.94rem; }
.sonex-banner-toggle:hover { background:linear-gradient(90deg,#17334d 0%,#1d5b83 52%,#17334d 100%); }
.sonex-banner-toggle:focus-visible,.sonex-popout-close:focus-visible { outline:3px solid #ffcf55; outline-offset:-4px; }
.sonex-banner-plane { color:#ffcf55; font-size:1.2rem; line-height:1; }
.sonex-banner-label { font-weight:900; }
.sonex-banner-subtitle { color:#c9dbe8; font-size:.76rem; }
.sonex-banner-arrow { display:block; flex:0 0 auto; box-sizing:border-box; width:9px; height:9px; margin-left:3px; border-right:3px solid currentColor; border-bottom:3px solid currentColor; transform:translateY(-2px) rotate(45deg); transform-origin:center; transition:transform .18s ease; }
.sonex-fund-dock.is-open .sonex-banner-arrow { transform:translateY(2px) rotate(225deg); }
.sonex-donation-popout { position:absolute; top:54px; left:50%; width:min(500px,calc(100vw - 20px)); max-height:calc(100vh - 66px); overflow-y:auto; transform:translateX(-50%); padding:24px; border:1px solid #b8c7d3; border-top:5px solid #d8a20b; border-radius:0 0 17px 17px; background:#fff; box-shadow:0 20px 55px rgba(7,28,45,.27); }
.sonex-donation-popout[hidden] { display:none; }
.sonex-donation-popout h2 { margin-right:38px; font-size:1.5rem; }
.sonex-donation-popout>p { margin-top:0; }
.sonex-popout-close { position:absolute; top:12px; right:12px; display:grid; width:36px; height:36px; place-items:center; padding:0; border:1px solid #cbd5df; border-radius:50%; background:#eef3f7; color:#263b4d; font-size:1.55rem; line-height:1; }
.sonex-popout-close:hover { background:#dfe9f0; }
.sonex-fund-dock.is-open::after { content:""; position:fixed; z-index:-1; inset:46px 0 0; background:rgba(9,25,38,.14); pointer-events:none; }
.donation-checkout { padding:20px; border:1px solid var(--line); border-radius:14px; background:#f8fafc; }
.donation-checkout>label { display:block; margin-bottom:7px; font-weight:800; }
.donation-amount-field { display:flex; align-items:center; margin-bottom:14px; overflow:hidden; border:1px solid #aab8c8; border-radius:10px; background:#fff; }
.donation-amount-field:focus-within { border-color:var(--accent); box-shadow:0 0 0 3px rgba(13,110,253,.14); }
.donation-amount-field span { padding-left:14px; color:var(--muted); font-weight:800; }
.donation-amount-field input { width:100%; min-width:0; padding:11px 13px 11px 6px; border:0; outline:0; background:transparent; color:var(--ink); font:700 1.05rem/1.4 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.donation-amount-field input:disabled { background:#eef2f6; color:#7b8796; }
.donation-status { margin:10px 0 0; }
.donation-status.success { padding:10px 12px; border:1px solid #a9d8bd; border-radius:9px; background:#e8f7ef; color:var(--good); font-weight:750; }
.donation-status.error { color:var(--bad); font-weight:750; }
#paypal-donation-button { min-height:45px; }
.sonex-donation-popout .donation-checkout { padding:16px; }
.sonex-donation-popout .donation-status { margin-bottom:0; }
.sonex-disclosure { margin:13px 2px 0!important; }

.global-site-header { position:sticky; z-index:900; top:0; border-bottom:1px solid #ccd7e0; background:#fff; box-shadow:0 5px 18px rgba(20,34,56,.07); }
.home-with-donation-banner .global-site-header { top:46px; }
.global-site-header-inner { display:flex; max-width:1200px; min-height:70px; align-items:center; justify-content:space-between; gap:28px; margin:auto; padding:9px 20px; }
.global-site-actions { display:flex; min-width:0; align-items:center; justify-content:flex-end; gap:8px; }
.global-site-brand { display:flex; flex:0 0 auto; align-items:center; gap:10px; color:var(--ink); text-decoration:none; }
.global-site-brand-mark { display:grid; width:50px; height:50px; place-items:center; background:transparent; }
.global-site-brand-mark img { display:block; width:100%; height:100%; }
.global-site-brand strong,.global-site-brand small { display:block; }
.global-site-brand strong { font-size:1rem; line-height:1.15; }
.global-site-brand small { margin-top:2px; color:var(--muted); font-size:.68rem; }
.global-site-nav { display:flex; align-items:center; gap:3px; }
.global-nav-group { position:relative; }
.global-nav-group>summary { display:flex; align-items:center; gap:8px; padding:11px 14px; border-radius:9px; color:#27425e; font-weight:850; line-height:1.2; list-style:none; cursor:pointer; }
.global-nav-group { min-width:0; }
.global-nav-group>summary { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.global-nav-group>summary::-webkit-details-marker { display:none; }
.global-nav-group>summary::after { content:""; display:block; flex:0 0 auto; box-sizing:border-box; width:9px; height:9px; margin:0; border-right:3px solid currentColor; border-bottom:3px solid currentColor; color:inherit; transform:translateY(-2px) rotate(45deg); transform-origin:center; transition:transform .15s ease; }
.global-nav-group[open]>summary::after { transform:translateY(2px) rotate(225deg); }
.global-nav-group.active>summary,.global-nav-group>summary:hover,.global-nav-group>summary:focus-visible { background:#eaf2f9; color:var(--accent2); outline:none; }
.global-nav-dropdown { position:absolute; top:calc(100% + 8px); left:0; display:grid; width:290px; padding:9px; border:1px solid #cbd7e2; border-radius:14px; background:#fff; box-shadow:0 18px 45px rgba(20,34,56,.18); }
.global-nav-dropdown-right { right:0; left:auto; }
.global-nav-dropdown a { padding:9px 11px; border-radius:8px; color:#29445f; font-size:.86rem; font-weight:720; text-decoration:none; }
.global-nav-dropdown a:hover,.global-nav-dropdown a:focus-visible { background:#edf5fc; color:var(--accent2); outline:none; }
.global-nav-dropdown .global-nav-all { margin-bottom:5px; padding:12px; border-bottom:1px solid #dbe4ec; background:#f5f9fc; }
.global-nav-all strong,.global-nav-all span { display:block; }
.global-nav-all strong { color:#0b4e8a; }
.global-nav-all span { margin-top:2px; color:var(--muted); font-size:.73rem; font-weight:550; line-height:1.35; }
.global-nav-toggle { display:none; align-items:center; gap:4px; padding:10px 12px; border:1px solid #bbc9d5; border-radius:9px; background:#fff; color:#17334d; }
.global-nav-toggle>span { display:block; width:18px; height:2px; background:#17334d; }
.global-nav-toggle strong { margin-left:5px; font-size:.82rem; }
.global-nav-direct { padding:11px 14px; border-radius:9px; color:#27425e; font-weight:850; text-decoration:none; }
.global-nav-direct:hover,.global-nav-direct:focus-visible,.global-nav-direct.active { background:#eaf2f9; color:var(--accent2); outline:none; }
.site-identity-tool { position:relative; flex:0 1 auto; max-width:180px; }
.site-identity-tool>summary { display:flex; min-height:39px; align-items:center; gap:7px; padding:8px 10px; border:1px solid #b9cad8; border-radius:999px; background:#f4f9fc; color:#21435e; font-size:.72rem; font-weight:900; list-style:none; cursor:pointer; }
.site-identity-tool>summary::-webkit-details-marker { display:none; }
.site-identity-tool>summary:focus-visible { outline:3px solid rgba(13,110,253,.27); outline-offset:2px; }
.site-identity-status { flex:0 0 8px; width:8px; height:8px; border-radius:50%; background:#38a169; box-shadow:0 0 0 3px #dff4e7; }
.site-identity-handle { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.site-identity-menu { position:absolute; z-index:950; top:calc(100% + 9px); right:0; width:250px; padding:14px; border:1px solid #c4d2dd; border-radius:12px; background:#fff; box-shadow:0 16px 38px rgba(20,34,56,.2); }
.site-identity-menu [hidden] { display:none; }
.site-identity-menu strong { display:block; color:#183b56; font-size:.82rem; }
.site-identity-menu p { margin:4px 0 9px; color:#5a6d7c; font-size:.72rem; line-height:1.4; }
.site-identity-menu a { color:var(--accent2); font-size:.75rem; font-weight:900; }

.home-shell { max-width:1100px; padding-top:28px; }
.home-hero { margin-top:0; }
.hero-aircraft { position:relative; display:flex; min-height:430px; align-items:center; overflow:hidden; background-image:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.94) 48%,rgba(255,255,255,.18) 72%,rgba(255,255,255,.05) 100%),url('/sonex-background.jpg'); background-position:center right; background-size:cover; }
.hero-copy { position:relative; z-index:1; max-width:650px; }
.hero-aircraft h1 { max-width:620px; margin-bottom:.12em; }
.hero-subtitle { margin:0 0 .75rem; color:var(--accent2); font-size:clamp(1.25rem,2.7vw,1.75rem); font-weight:850; line-height:1.15; }
.hero-aircraft .lede { color:#43536a; }
.test-columns { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:24px 0 12px; }
.test-type { padding:18px; border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.88); }
.test-type h2 { margin:0; color:var(--accent2); font-size:1.08rem; }
.test-type h2 a { color:inherit; text-decoration:none; }
.test-type h2 a:hover { text-decoration:underline; }
.test-type form { margin-top:14px; }
.test-type button { width:100%; }
.coaching-coming-soon { margin:1.25rem 0 0; padding:0; background:none; color:var(--ink); text-align:left; }
.coaching-coming-soon strong { color:var(--accent2); }
.home-handle-panel { display:grid; grid-template-columns:minmax(0,.92fr) minmax(430px,1.08fr); gap:28px; align-items:center; margin-top:0; padding:24px 28px; border-color:#b9d4e8; border-left:6px solid #2b7bad; background:linear-gradient(135deg,#fff 0%,#f1f8fc 100%); }
.home-handle-panel[hidden] { display:none; }
.home-handle-panel[data-state="loading"] { visibility:hidden; }
.home-handle-intro { display:flex; min-width:0; align-items:flex-start; gap:14px; }
.home-handle-mark { display:grid; flex:0 0 47px; width:47px; height:47px; place-items:center; border-radius:50%; background:#173f5f; box-shadow:inset 0 0 0 4px #d5e8f5; color:#fff; font-size:.68rem; font-weight:950; letter-spacing:.08em; }
.home-handle-intro .eyebrow { margin:0 0 3px; font-size:.67rem; }
.home-handle-intro h2 { margin:0 0 5px; font-size:1.28rem; }
.home-handle-intro h2 span { color:#66798a; font-size:.77rem; font-weight:750; }
.home-handle-intro p { margin:0; color:#4c6174; font-size:.84rem; line-height:1.45; }
.home-handle-form { display:grid; gap:9px; }
.home-handle-assigned { margin:0 0 9px; padding:8px 10px; border-radius:8px; background:#e7f3fa; color:#35566e; font-size:.72rem; line-height:1.4; }
.home-handle-fields { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.home-handle-fields label { color:#324b60; font-size:.72rem; font-weight:850; }
.home-handle-fields input { display:block; width:100%; min-width:0; margin-top:4px; padding:9px 10px; border:1px solid #9eafbd; border-radius:8px; background:#fff; color:var(--ink); font:700 .88rem/1.25 inherit; }
.home-handle-fields input:focus { border-color:#2877ad; box-shadow:0 0 0 3px rgba(40,119,173,.14); outline:none; }
.home-handle-guidance { margin:0; color:#66798a; font-size:.68rem; }
.home-handle-status { margin:0; padding:7px 9px; border-radius:7px; background:#e6f4ec; color:#176b45; font-size:.72rem; font-weight:750; }
.home-handle-status.error { background:#fff0ef; color:#923833; }
.home-handle-status[hidden],.home-handle-claim[hidden],.home-handle-saved[hidden],.home-handle-skipped[hidden] { display:none; }
.home-handle-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.home-handle-actions button { padding:9px 13px; border-radius:8px; font-size:.75rem; }
.home-handle-secondary { border:1px solid #aebdca; background:#fff; color:#36546c; }
.home-handle-secondary:hover,.home-handle-secondary:focus-visible { border-color:#447da7; background:#eef6fb; outline:none; }
.home-handle-claim { display:grid; margin-top:10px; padding:11px 12px; gap:8px; border:1px solid #e1b652; border-radius:9px; background:#fff8e4; }
.home-handle-claim p { margin:0; color:#634b14; font-size:.8rem; }
.home-handle-saved,.home-handle-skipped { display:flex; align-items:center; gap:10px; padding:13px 15px; border:1px solid #b9d9c7; border-radius:10px; background:#edf8f2; color:#2b5a40; }
.home-handle-saved>span { display:grid; flex:0 0 28px; width:28px; height:28px; place-items:center; border-radius:50%; background:#248552; color:#fff; font-weight:950; }
.home-handle-saved p,.home-handle-skipped p { margin:0; font-size:.8rem; }
.home-handle-skipped { justify-content:space-between; border-color:#ccd8e1; background:#f7fafc; color:#526779; }
.home-handle-link { flex:0 0 auto; padding:7px 9px; background:transparent; color:var(--accent2); font-size:.74rem; text-decoration:underline; }
.home-presence-panel { margin-top:0; padding:21px 26px; border-color:#c8d9d0; border-left:6px solid #2c9562; background:linear-gradient(135deg,#fff,#f2faf6); }
.home-presence-heading { display:flex; align-items:center; gap:20px; }
.home-presence-heading .eyebrow { margin:0 0 2px; color:#268158; font-size:.66rem; }
.home-presence-heading h2 { margin:0; font-size:1.25rem; }
.home-presence-list { display:flex; margin:12px 0 0; padding:0; gap:7px; flex-wrap:wrap; list-style:none; }
.home-presence-list li { display:flex; align-items:center; gap:6px; padding:6px 9px; border:1px solid #c4d9cc; border-radius:999px; background:#fff; color:#274c39; font-size:.72rem; }
.home-presence-dot { width:7px; height:7px; border-radius:50%; background:#39a86d; box-shadow:0 0 0 3px #e0f4e8; }
.home-presence-list .home-presence-loading { border:0; border-radius:0; background:transparent; color:#617369; }
.home-presence-list .home-presence-more { border-style:dashed; color:#557164; font-weight:850; }
.home-popular-panel { margin-top:0; padding:22px 26px; border-color:#c7d9e8; border-left:6px solid #2675a7; background:linear-gradient(135deg,#fff,#f1f8fc); }
.home-popular-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; }
.home-popular-heading .eyebrow { margin:0 0 2px; color:#2675a7; font-size:.66rem; }
.home-popular-heading h2 { margin:0; font-size:1.25rem; }
.home-popular-heading p { margin:0; color:#637783; font-size:.7rem; }
.home-popular-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin:13px 0 0; padding:0; list-style:none; }
.home-popular-list li { min-width:0; }
.home-popular-list a { display:flex; min-height:76px; align-items:center; gap:10px; padding:11px 12px; border:1px solid #ccdae5; border-radius:11px; background:#fff; color:var(--ink); text-decoration:none; }
.home-popular-list a:hover,.home-popular-list a:focus-visible { border-color:#6d9cbb; box-shadow:0 5px 15px rgba(27,80,113,.1); outline:none; }
.home-popular-rank { display:grid; width:29px; height:29px; flex:0 0 29px; border-radius:50%; background:#e5f1f8; color:#23698f; font-size:.74rem; font-weight:950; place-items:center; }
.home-popular-copy { display:flex; min-width:0; flex:1; flex-direction:column; }
.home-popular-copy strong { overflow:hidden; font-size:.76rem; text-overflow:ellipsis; white-space:nowrap; }
.home-popular-copy small { margin-top:3px; color:#647783; font-size:.62rem; }
.home-popular-meter { height:4px; margin-top:8px; overflow:hidden; border-radius:999px; background:#e5edf2; }
.home-popular-meter span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#398bbb,#23698f); }
.home-popular-loading,.home-popular-empty { grid-column:1/-1; color:#647783; font-size:.76rem; }
.home-events-panel { margin-top:0; padding:22px 26px; border-color:#ead8b9; border-left:6px solid #b56c1b; background:linear-gradient(135deg,#fff,#fff9ee); }
.home-events-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; }
.home-events-heading .eyebrow { margin:0 0 2px; color:#a65d12; font-size:.66rem; }
.home-events-heading h2 { margin:0; font-size:1.25rem; }
.home-events-heading>a { color:#92520f; font-size:.75rem; font-weight:900; text-decoration:none; }
.home-events-heading>a:hover,.home-events-heading>a:focus-visible { text-decoration:underline; }
.home-events-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-top:13px; }
.home-event-card { display:flex; min-width:0; align-items:center; gap:12px; padding:11px 12px; border:1px solid #e5d5ba; border-radius:11px; background:#fff; color:var(--ink); text-decoration:none; }
.home-event-card:hover,.home-event-card:focus-visible { border-color:#c78b48; box-shadow:0 5px 15px rgba(120,71,16,.1); outline:none; }
.home-event-date { display:grid; width:52px; min-height:51px; flex:0 0 52px; align-content:center; border-radius:9px; background:#fff1d9; color:#8c4c0c; text-align:center; }
.home-event-date strong { font-size:.57rem; letter-spacing:.08em; }
.home-event-date b { font-size:1rem; line-height:1.15; }
.home-event-copy { display:flex; min-width:0; flex-direction:column; }
.home-event-copy small { color:#a05c17; font-size:.57rem; font-weight:900; letter-spacing:.04em; text-transform:uppercase; }
.home-event-copy strong { margin-top:2px; overflow:hidden; font-size:.76rem; text-overflow:ellipsis; white-space:nowrap; }
.home-event-copy span { margin-top:2px; color:#766958; font-size:.63rem; }
.home-events-empty { display:block; margin-top:13px; padding:12px; border:1px dashed #d8bd94; border-radius:10px; color:#85501a; font-size:.76rem; font-weight:850; text-decoration:none; }

.site-avatar-wrap { position:relative; display:grid; flex:0 0 26px; width:26px; height:26px; border-radius:50%; background:#dcebf4; color:#174f70; place-items:center; }
.site-avatar-icon { width:20px; height:20px; fill:currentColor; }
.site-avatar-wrap .site-identity-status { position:absolute; right:-1px; bottom:-1px; width:7px; height:7px; border:2px solid #f4f9fc; box-shadow:none; }
.site-identity-menu { width:290px; }
.site-avatar-picker { margin-top:12px; padding-top:12px; border-top:1px solid #dce5ea; }
.site-avatar-options { display:grid; max-height:min(390px,50vh); margin-top:8px; padding-right:4px; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
.site-avatar-options button { display:grid; min-width:0; min-height:57px; padding:5px 3px; border:1px solid #c9d7df; border-radius:9px; background:#f7fafb; color:#28536b; place-items:center; }
.site-avatar-options button:hover,.site-avatar-options button:focus-visible { border-color:#24779c; background:#edf7fb; outline:2px solid rgba(36,119,156,.2); }
.site-avatar-options button.selected { border-color:#156589; background:#dff2fa; box-shadow:inset 0 0 0 1px #156589; }
.site-avatar-option-icon { width:28px; height:28px; fill:currentColor; }
.site-avatar-options button span { display:block; max-width:100%; overflow:hidden; color:#405c6c; font-size:.52rem; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.site-avatar-message { min-height:1em!important; margin:6px 0 0!important; }
.home-presence-avatar { position:relative; display:grid; width:26px; height:26px; flex:0 0 26px; border-radius:50%; background:#e1f2e8; color:#26784f; place-items:center; }
.home-presence-avatar svg { width:18px; height:18px; fill:currentColor; }
.home-presence-avatar .home-presence-dot { position:absolute; right:-1px; bottom:-1px; width:7px; height:7px; border:2px solid #fff; box-shadow:none; }
@media(max-width:620px){.site-identity-menu{width:min(290px,calc(100vw - 18px))}}
.home-topics-panel { margin-top:0; padding:22px 26px; border-color:#d7cee8; border-left:6px solid #7653a7; background:linear-gradient(135deg,#fff,#f7f3fb); }
.home-topics-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; }
.home-topics-heading .eyebrow { margin:0 0 2px; color:#7653a7; font-size:.66rem; }
.home-topics-heading h2 { margin:0; font-size:1.25rem; }
.home-topics-heading>a { color:#654291; font-size:.75rem; font-weight:900; text-decoration:none; }
.home-topics-heading>a:hover,.home-topics-heading>a:focus-visible { text-decoration:underline; }
.home-topics-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:13px; }
.home-topic-card,.home-topics-empty { display:flex; min-width:0; padding:12px 13px; border:1px solid #ddd4e8; border-radius:11px; background:#fff; color:var(--ink); text-decoration:none; }
.home-topic-card { flex-direction:column; }
.home-topic-card:hover,.home-topic-card:focus-visible,.home-topics-empty:hover,.home-topics-empty:focus-visible { border-color:#9678ba; box-shadow:0 5px 15px rgba(69,45,99,.1); outline:none; }
.home-topic-card>span { display:flex; min-width:0; align-items:center; gap:7px; }
.home-topic-icon { display:block; width:30px; height:30px; flex:0 0 30px; padding:5px; border-radius:9px; background:#f0ebf7; color:#6c4a96; }
.home-topic-card strong { min-width:0; flex:1 1 auto; overflow:hidden; font-size:.76rem; text-overflow:ellipsis; white-space:nowrap; }
.home-topic-card p { flex:1; margin:8px 0; color:#4e405c; font-size:.72rem; line-height:1.4; }
.home-topic-card small { color:#786a83; font-size:.63rem; }
.home-topic-badge { flex:0 0 auto; padding:3px 6px; border-radius:999px; background:#ece6f4; color:#6c4a96; font-size:.56rem; font-style:normal; font-weight:950; letter-spacing:.05em; text-transform:uppercase; }
.home-topic-badge.hot { background:#fff0dd; color:#a5580d; }
.home-topic-badge.new { background:#e6f5ec; color:#1b7a4d; }
.home-topics-loading { grid-column:1/-1; margin:0; color:#766d7e; font-size:.76rem; }
.home-topics-empty { grid-column:1/-1; color:#654291; font-size:.76rem; font-weight:850; }
.home-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:25px; margin:38px 2px 16px; }
.home-section-heading h2 { margin:0; font-size:clamp(1.65rem,3vw,2.25rem); }
.home-section-heading p { max-width:500px; margin:0; color:var(--muted); text-align:right; }
.home-section-heading>a { color:var(--accent2); font-weight:850; }
.home-path-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.home-path-card { position:relative; overflow:hidden; padding:26px; border:1px solid #cfdae4; border-radius:17px; background:#fff; box-shadow:0 10px 26px rgba(20,34,56,.05); }
.home-path-card-title { display:flex; align-items:center; gap:13px; }
.home-path-card-title>span { display:grid; flex:0 0 46px; width:46px; height:46px; place-items:center; border-radius:13px; background:#eaf2fb; color:#0b5aa6; font-size:1.3rem; font-weight:950; }
.home-path-card h3 { margin:0; font-size:1.38rem; }
.home-path-card h3 a { color:var(--ink); text-decoration:none; }
.home-path-card p { min-height:3.1em; margin:13px 0 1rem; color:var(--muted); }
.home-path-links { display:flex; flex-wrap:wrap; gap:8px; }
.home-path-links a { padding:5px 9px; border-radius:999px; background:#eef4f9; color:#164f82; font-size:.77rem; font-weight:850; text-decoration:none; }
.home-path-card.games .home-path-card-title>span { background:#e9f8f5; color:#0f766e; }
.home-path-card.study .home-path-card-title>span { background:#f1ecff; color:#6d41b3; }
.home-path-card.aircraft .home-path-card-title>span { background:#fff2da; color:#956014; }
.home-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.home-feature-card { display:flex; min-width:0; flex-direction:column; margin:0; padding:24px; }
.home-feature-card h3 { margin:13px 0 6px; font-size:1.2rem; }
.home-feature-card p { flex:1; margin:.25rem 0 1.2rem; color:var(--muted); }
.home-feature-card .button-link { align-self:flex-start; padding:11px 14px; color:var(--accent2); font-size:.82rem; }
.feature-mark { display:grid; width:52px; height:42px; place-items:center; border-radius:9px; background:#12314f; color:#e8f4ff; font:950 .72rem/1 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.08em; }
.feature-mark.weather { background:#0f766e; }
.feature-mark.vor { background:#176d84; }
.feature-mark.aircraft { background:#916018; font-size:1.15rem; }

.showcase-heading { align-items:flex-end; }
.showcase-heading>div:first-child { min-width:0; flex:1 1 auto; }
.home-section-heading .showcase-summary { width:100%; max-width:64ch; margin:.35rem 0 0; color:var(--muted); line-height:1.45; text-align:left; text-wrap:pretty; }
.showcase-heading-actions { display:flex; flex:0 0 auto; align-items:center; gap:14px; }
.showcase-heading-actions>a { color:var(--accent2); font-weight:850; }
.showcase-arrows { display:flex; gap:7px; }
.showcase-arrows button { display:grid; width:42px; height:42px; place-items:center; padding:0; border:1px solid #bdcad6; border-radius:50%; background:#fff; color:#183b5b; font-size:1.22rem; box-shadow:0 4px 12px rgba(20,34,56,.07); }
.showcase-arrows button:hover,.showcase-arrows button:focus-visible { border-color:#5687b3; background:#eaf3fb; outline:none; }
.showcase-arrows button:disabled { opacity:.35; cursor:default; }
.home-showcase-track { display:grid; grid-auto-columns:calc((100% - 42px)/4); grid-auto-flow:column; gap:14px; overflow-x:auto; overscroll-behavior-inline:contain; padding:2px 2px 12px; scroll-behavior:smooth; scroll-snap-type:inline mandatory; scrollbar-width:none; }
.home-showcase-track::-webkit-scrollbar { display:none; }
.home-showcase-track:focus-visible { border-radius:18px; outline:3px solid rgba(13,110,253,.28); outline-offset:3px; }
.home-showcase-card { min-width:0; overflow:hidden; border:1px solid #cbd8e3; border-radius:18px; background:#fff; box-shadow:0 10px 28px rgba(18,42,64,.08); scroll-snap-align:start; transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.home-showcase-card:hover { transform:translateY(-4px); border-color:#7da4c5; box-shadow:0 16px 34px rgba(18,42,64,.14); }
.home-showcase-card>a { display:flex; height:100%; flex-direction:column; color:inherit; text-decoration:none; }
.home-showcase-card>a:focus-visible { outline:4px solid #0d6efd; outline-offset:-4px; }
.showcase-visual { position:relative; aspect-ratio:16/9; overflow:hidden; background:#102a3e; isolation:isolate; }
.showcase-visual>img { display:block; width:100%; height:100%; object-fit:cover; }
.showcase-scene-badge { position:absolute; z-index:8; top:10px; left:10px; padding:5px 7px; border:1px solid rgba(255,255,255,.26); border-radius:999px; background:rgba(7,27,43,.82); box-shadow:0 3px 12px rgba(0,0,0,.22); color:#fff; font-size:.57rem; font-weight:950; letter-spacing:.09em; }
.showcase-copy { display:flex; min-height:205px; flex:1; flex-direction:column; padding:17px 17px 16px; }
.showcase-copy .eyebrow { margin-bottom:7px; font-size:.61rem; }
.showcase-copy h3 { margin:0 0 7px; font-size:1.12rem; line-height:1.16; }
.showcase-copy p { flex:1; margin:0 0 13px; color:var(--muted); font-size:.82rem; line-height:1.48; }
.showcase-cta { color:var(--accent2); font-size:.78rem; font-weight:900; }
.showcase-cta b { display:inline-block; transition:transform .16s ease; }
.home-showcase-card:hover .showcase-cta b { transform:translateX(4px); }

.airport-showcase-visual { perspective:680px; perspective-origin:65% 55%; background:linear-gradient(145deg,#8dc4df,#d4edf7); }
.airport-preview-stage { position:absolute; z-index:1; top:-7%; left:-7%; width:114%; height:114%; overflow:hidden; border-radius:10px; box-shadow:0 14px 28px rgba(5,30,49,.28); backface-visibility:hidden; transform:rotateY(0deg) scale(1.065); transform-origin:77% 76%; transform-style:preserve-3d; will-change:transform; animation:showcase-airport-demo 14s cubic-bezier(.45,.05,.25,1) infinite; }
.airport-preview-stage>img { display:block; width:100%; height:100%; object-fit:cover; }
.airport-preview-hover { position:absolute; z-index:6; top:50%; left:47%; width:48px; height:31px; border:2px solid #7ee8ff; border-radius:6px; box-shadow:0 0 0 3px rgba(5,29,43,.42),0 0 15px rgba(126,232,255,.9); opacity:0; transform:scale(.8); animation:showcase-airport-hover 14s ease-in-out infinite; }
.airport-preview-cursor { position:absolute; z-index:7; top:56%; left:51%; width:24px; height:29px; color:#fff; opacity:0; filter:drop-shadow(0 2px 2px rgba(0,0,0,.8)); transform:translate3d(76px,45px,0) scale(.88); animation:showcase-airport-cursor 14s ease-in-out infinite; }
.airport-preview-cursor svg { display:block; width:100%; height:100%; }
.airport-preview-cursor path { fill:#fff; stroke:#071b28; stroke-width:2.2; stroke-linejoin:round; }
.airport-preview-callout { position:absolute; z-index:8; top:9px; right:9px; display:grid; width:min(205px,67%); gap:2px; padding:7px 9px; border:1px solid rgba(255,255,255,.5); border-radius:8px; background:rgba(6,29,42,.92); box-shadow:0 7px 18px rgba(3,19,29,.32); color:#fff; opacity:0; transform:translateY(-8px); animation:showcase-airport-callout 14s ease-in-out infinite; }
.airport-preview-callout strong { font-size:.61rem; line-height:1.15; }
.airport-preview-callout small { color:#d9edf5; font-size:.51rem; line-height:1.25; }
.engine-showcase-visual { background:#c9dce4; }
.engine-preview-stage { position:absolute; inset:0; overflow:hidden; background:#c9dce4; will-change:transform; }
.engine-preview-capture { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; will-change:opacity,transform; }
.engine-preview-capture-front { opacity:1; transform:scale(1.025); animation:showcase-engine-front 10s ease-in-out infinite; }
.engine-preview-capture-angle { opacity:0; transform:scale(1.08) translate3d(-1.5%,0,0); animation:showcase-engine-angle 10s ease-in-out infinite; }
.forces-showcase-visual,.landing-showcase-visual{background:#173949}.forces-preview-capture,.landing-preview-capture{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.home-showcase-card:hover .forces-preview-capture,.home-showcase-card:hover .landing-preview-capture{transform:scale(1.025)}

.metar-showcase-visual { padding:47px 13px 12px; background:linear-gradient(145deg,#0c2434,#123e55 60%,#0c2e3d); color:#eaf8ff; }
.metar-preview-code { padding:9px 8px; border:1px solid rgba(136,214,240,.28); border-radius:7px; background:#071a25; font:750 .61rem/1.55 ui-monospace,SFMono-Regular,Menlo,monospace; white-space:nowrap; transform:translateX(-6px); animation:showcase-code-scroll 6s ease-in-out infinite; }
.metar-preview-code>span { color:#7fd7f4; }
.metar-preview-code mark { padding:3px 2px; border-radius:3px; background:#ffe28a; color:#2d2a14; box-shadow:0 0 0 2px rgba(255,226,138,.28); animation:showcase-code-focus 1.8s ease-in-out infinite; }
.metar-preview-progress { height:4px; margin:10px 2px; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.12); }
.metar-preview-progress span { display:block; width:72%; height:100%; border-radius:inherit; background:#43d1aa; transform-origin:left; animation:showcase-progress 6s ease-in-out infinite; }
.metar-preview-tags { display:flex; flex-wrap:wrap; gap:4px; }
.metar-preview-tags span { padding:4px 6px; border:1px solid rgba(117,214,235,.38); border-radius:999px; background:#164b63; font-size:.54rem; font-weight:850; opacity:0; transform:translateY(9px); animation:showcase-tag 6s ease-in-out infinite; }
.metar-preview-tags span:nth-child(2) { animation-delay:.35s; }
.metar-preview-tags span:nth-child(3) { animation-delay:.7s; }
.metar-preview-choice { position:absolute; right:13px; bottom:12px; left:13px; padding:7px 8px; border:1px solid #66d8b4; border-radius:8px; background:#dff9ef; color:#07563e; font-size:.57rem; font-weight:900; opacity:0; transform:translateY(8px); animation:showcase-choice 6s ease-in-out infinite; }

.cloud-showcase-visual { background:#a6c9dc; }
.cloud-showcase-visual>img { transform:scale(1.05); transform-origin:62% 40%; animation:showcase-cloud 7s ease-in-out infinite alternate; }
.cloud-showcase-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(8,28,41,.58)); }
.cloud-preview-focus { position:absolute; z-index:3; top:25%; left:52%; width:62px; height:48px; border:2px solid #fff; border-radius:50%; box-shadow:0 0 0 6px rgba(255,255,255,.2),0 0 26px rgba(255,255,255,.72); animation:showcase-pulse 2.6s ease-in-out infinite; }
.cloud-preview-labels { position:absolute; z-index:4; right:10px; bottom:10px; left:10px; display:flex; gap:5px; }
.cloud-preview-labels span { padding:5px 7px; border:1px solid rgba(255,255,255,.46); border-radius:999px; background:rgba(8,40,58,.83); color:#fff; font-size:.58rem; font-weight:900; animation:showcase-cloud-label 5s ease-in-out infinite; }
.cloud-preview-labels span:nth-child(2) { animation-delay:.55s; }

.sectional-showcase-visual { background:#e7e4d8; }
.sectional-showcase-visual>img { transform:scale(1.02); transform-origin:47% 58%; animation:showcase-section 8s ease-in-out infinite; }
.sectional-preview-ring { position:absolute; z-index:3; top:51%; left:41%; width:43px; height:43px; border:3px solid #ffde35; border-radius:50%; box-shadow:0 0 0 5px rgba(163,31,112,.35),0 0 18px #f5d627; transform:translate(-50%,-50%); animation:showcase-ring 2.1s ease-in-out infinite; }
.sectional-preview-label { position:absolute; z-index:4; right:10px; bottom:10px; padding:5px 8px; border-radius:7px; background:#661d5e; color:#fff; font-size:.6rem; font-weight:900; animation:showcase-label 8s ease-in-out infinite; }

.gauge-showcase-visual { padding:42px 12px 11px; background:radial-gradient(circle at 50% 40%,#34434b,#111a20 75%); }
.gauge-preview-panel { display:grid; width:100%; height:100%; grid-template-columns:repeat(3,1fr); gap:5px; align-items:center; justify-items:center; }
.gauge-preview-panel img { width:min(100%,58px); aspect-ratio:1; filter:drop-shadow(0 3px 4px rgba(0,0,0,.46)); animation:showcase-gauge 6s ease-in-out infinite; }
.gauge-preview-panel img:nth-child(2) { animation-delay:.45s; }
.gauge-preview-panel img:nth-child(3) { animation-delay:.9s; }
.gauge-preview-panel img:nth-child(4) { animation-delay:1.35s; }
.gauge-preview-panel img:nth-child(5) { animation-delay:1.8s; }
.gauge-preview-panel img:nth-child(6) { animation-delay:2.25s; }
.gauge-preview-scan { position:absolute; z-index:5; top:38px; bottom:0; width:36%; background:linear-gradient(90deg,transparent,rgba(79,209,255,.16),rgba(134,232,255,.3),transparent); transform:skewX(-9deg); animation:showcase-scan 4s ease-in-out infinite; }
.gauge-preview-callout { position:absolute; z-index:7; right:10px; bottom:9px; padding:5px 8px; border:1px solid #ffd56c; border-radius:999px; background:#17242c; color:#ffe395; font-size:.57rem; font-weight:950; opacity:0; animation:showcase-gauge-callout 6s ease-in-out infinite; }

.home-feature-section:not(.showcase-live) .showcase-visual * { animation-play-state:paused!important; }
@keyframes showcase-airport-demo { 0%,8%{transform:rotateY(0deg) scale(1.065)} 24%,34%{transform:rotateY(45deg) scale(1.48)} 54%,90%{transform:translate3d(-24%,-18%,0) rotateY(45deg) scale(2.2)} 98%,100%{transform:rotateY(0deg) scale(1.065)} }
@keyframes showcase-airport-cursor { 0%,56%,100%{opacity:0;transform:translate3d(76px,45px,0) scale(.88)} 62%{opacity:1} 70%,90%{opacity:1;transform:translate3d(0,0,0) scale(1)} 95%{opacity:0;transform:translate3d(0,0,0) scale(1)} }
@keyframes showcase-airport-hover { 0%,68%,100%{opacity:0;transform:scale(.8)} 73%,91%{opacity:1;transform:scale(1)} 95%{opacity:0;transform:scale(1)} }
@keyframes showcase-airport-callout { 0%,72%,100%{opacity:0;transform:translateY(-8px)} 78%,91%{opacity:1;transform:translateY(0)} 96%{opacity:0;transform:translateY(0)} }
@keyframes showcase-engine-front { 0%,38%{opacity:1;transform:scale(1.025)} 52%,88%{opacity:0;transform:scale(1.065) translate3d(1%,0,0)} 100%{opacity:1;transform:scale(1.025)} }
@keyframes showcase-engine-angle { 0%,38%{opacity:0;transform:scale(1.08) translate3d(-1.5%,0,0)} 52%,88%{opacity:1;transform:scale(1.025) translate3d(0,0,0)} 100%{opacity:0;transform:scale(1.08) translate3d(-1.5%,0,0)} }
@keyframes showcase-pulse { 0%,100%{opacity:.62;transform:scale(.82)} 50%{opacity:1;transform:scale(1.18)} }
@keyframes showcase-label { 0%,18%,82%,100%{opacity:0;transform:translateY(7px)} 30%,72%{opacity:1;transform:translateY(0)} }
@keyframes showcase-code-scroll { 0%,18%,100%{transform:translateX(-6px)} 52%,75%{transform:translateX(-58px)} }
@keyframes showcase-code-focus { 0%,100%{box-shadow:0 0 0 2px rgba(255,226,138,.22)} 50%{box-shadow:0 0 0 5px rgba(255,226,138,.34)} }
@keyframes showcase-progress { 0%{transform:scaleX(.16)} 68%,100%{transform:scaleX(1)} }
@keyframes showcase-tag { 0%,16%,76%,100%{opacity:0;transform:translateY(9px)} 29%,66%{opacity:1;transform:translateY(0)} }
@keyframes showcase-choice { 0%,52%,100%{opacity:0;transform:translateY(8px)} 66%,88%{opacity:1;transform:translateY(0)} }
@keyframes showcase-cloud { from{transform:scale(1.05) translate3d(0,0,0)} to{transform:scale(1.17) translate3d(-2%,-1%,0)} }
@keyframes showcase-cloud-label { 0%,15%,90%,100%{opacity:.28;transform:translateY(5px)} 30%,78%{opacity:1;transform:translateY(0)} }
@keyframes showcase-section { 0%,15%,100%{transform:scale(1.02)} 48%,70%{transform:scale(1.42)} }
@keyframes showcase-ring { 0%,100%{transform:translate(-50%,-50%) scale(.78)} 50%{transform:translate(-50%,-50%) scale(1.18)} }
@keyframes showcase-gauge { 0%,74%,100%{transform:scale(1);filter:drop-shadow(0 3px 4px rgba(0,0,0,.46))} 84%,92%{transform:scale(1.09);filter:drop-shadow(0 0 8px rgba(102,213,255,.72))} }
@keyframes showcase-scan { 0%{left:-38%;opacity:0} 12%{opacity:1} 78%{opacity:1} 100%{left:108%;opacity:0} }
@keyframes showcase-gauge-callout { 0%,68%,100%{opacity:0;transform:translateY(7px)} 80%,92%{opacity:1;transform:translateY(0)} }
.home-feedback-strip { display:flex; align-items:center; justify-content:space-between; gap:25px; margin-top:32px; border-left:6px solid #d18a16; background:linear-gradient(135deg,#fff9e9,#fff); }
.home-feedback-strip h2 { margin-bottom:.3rem; }
.home-feedback-strip p { max-width:680px; margin:.2rem 0; color:var(--muted); }
.home-feedback-strip .button-link { flex:0 0 auto; color:var(--accent2); }
.home-disclaimer { padding:24px; }
.home-disclaimer p { margin-bottom:0; }
.home-disclaimer a { color:var(--accent2); }

.page-discussion-preview { margin:34px 0 18px; padding:20px; border-left:5px solid #0b5aa6; background:linear-gradient(135deg,#fff,#f2f8fd); }
.page-discussion-preview-header { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; }
.page-discussion-preview-header h2 { margin:.15rem 0 0; font-size:1.35rem; }
.page-discussion-preview-header>a { flex:0 0 auto; color:var(--accent2); font-size:.82rem; font-weight:900; text-decoration:none; }
.page-discussion-preview-header>a:hover,.page-discussion-preview-header>a:focus-visible { text-decoration:underline; }
.page-discussion-preview-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:15px; }
.page-discussion-preview-comment,.page-discussion-preview-empty { display:block; padding:12px 13px; border:1px solid #d4e0e9; border-radius:10px; background:#fff; color:var(--ink); text-decoration:none; }
.page-discussion-preview-comment:hover,.page-discussion-preview-comment:focus-visible,.page-discussion-preview-empty:hover,.page-discussion-preview-empty:focus-visible { border-color:#6d9fc9; box-shadow:0 4px 14px rgba(20,55,85,.1); outline:none; }
.page-discussion-preview-comment>span { display:flex; align-items:baseline; justify-content:space-between; gap:10px; }
.page-discussion-preview-comment strong { font-size:.78rem; }
.page-discussion-preview-comment time { color:var(--muted); font-size:.66rem; }
.page-discussion-preview-comment p { margin:.4rem 0 0; color:#3f5365; font-size:.78rem; line-height:1.42; }
.page-discussion-preview-empty { grid-column:1/-1; color:var(--accent2); font-size:.82rem; font-weight:850; }

.site-footer { margin-top:30px; padding-top:22px; border-top:1px solid var(--line); color:var(--muted); font-size:.82rem; }
.site-footer nav { display:flex; justify-content:center; flex-wrap:wrap; gap:8px 16px; }
.site-footer a { color:var(--accent2); }
.site-footer p { margin:.9rem 0 0; text-align:center; }

@media(max-width:820px) {
  .home-with-donation-banner .global-site-header { top:44px; }
  .global-site-header-inner { min-height:62px; padding:8px 14px; }
  .global-site-actions { gap:6px; }
  .site-identity-tool { max-width:155px; }
  .global-nav-toggle { display:flex; }
  .global-nav-toggle>span { position:absolute; opacity:0; }
  .global-site-nav { position:absolute; top:100%; right:8px; left:8px; display:none; max-height:calc(100vh - 125px); overflow-y:auto; padding:9px; border:1px solid #cbd7e2; border-radius:0 0 14px 14px; background:#fff; box-shadow:0 20px 38px rgba(20,34,56,.2); }
  .global-site-header[data-open] .global-site-nav { display:grid; }
  .global-nav-group { border-bottom:1px solid #e2e8ee; }
  .global-nav-group:last-child { border-bottom:0; }
  .global-nav-group>summary { justify-content:space-between; padding:13px 12px; }
  .global-nav-dropdown,.global-nav-dropdown-right { position:static; width:auto; margin:0 6px 9px; padding:6px; border:0; border-left:3px solid #d7e4ef; border-radius:0; background:#f8fbfd; box-shadow:none; }
  .global-nav-dropdown a { display:block; padding:10px; }
  .global-nav-direct { display:block; padding:13px 12px; border-bottom:1px solid #e2e8ee; }
  .home-section-heading { align-items:flex-start; flex-direction:column; gap:6px; }
  .home-topics-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-popular-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-handle-panel { grid-template-columns:1fr; gap:16px; }
  .home-section-heading p { text-align:left; }
  .home-feature-grid { grid-template-columns:1fr; }
  .showcase-heading { align-items:flex-start; }
  .showcase-heading-actions { width:100%; justify-content:space-between; }
  .home-showcase-track { grid-auto-columns:calc((100% - 14px)/2); }
  .home-feedback-strip { align-items:stretch; flex-direction:column; }
  .home-feedback-strip .button-link { text-align:center; }
}
@media(max-width:520px) {
  .home-topics-heading { align-items:flex-start; }
  .home-topics-list { grid-template-columns:1fr; }
  .home-popular-heading { align-items:flex-start; flex-direction:column; gap:4px; }
  .home-popular-list { grid-template-columns:1fr; }
  .home-events-heading { align-items:flex-start; flex-direction:column; gap:5px; }
  .home-events-list { grid-template-columns:1fr; }
}

@media(max-width:760px) {
  .page-discussion-preview-header { align-items:flex-start; flex-direction:column; gap:8px; }
  .page-discussion-preview-list { grid-template-columns:1fr; }
  .page-discussion-preview { margin-top:26px; padding:17px; }
}

@media(max-width:700px) {
  .shell { padding-top:24px; }
  .hero { padding:30px; }
  .card { padding:22px; }
  .hero-aircraft { min-height:0; background-image:linear-gradient(rgba(255,255,255,.90),rgba(255,255,255,.96)),url('/sonex-background.jpg'); background-position:center; background-size:cover; }
  .hero-copy { max-width:none; }
  .test-columns { grid-template-columns:1fr; }
  .site-footer nav { align-items:center; flex-direction:column; }
}

@media(max-width:620px) {
  .global-site-brand small { display:none; }
  .global-site-header-inner { gap:8px; padding-right:9px; padding-left:9px; }
  .site-identity-tool { max-width:124px; }
  .site-identity-tool>summary { min-height:36px; padding:7px 9px; }
  .site-identity-menu { right:-52px; width:min(250px,calc(100vw - 18px)); }
  .global-site-brand-mark { width:42px; height:42px; }
  .home-shell { padding-top:18px; }
  .home-hero { padding:25px 20px; }
  .home-handle-panel { padding:19px 17px; }
  .home-handle-fields { grid-template-columns:1fr; }
  .home-handle-intro { gap:10px; }
  .home-handle-mark { flex-basis:40px; width:40px; height:40px; }
  .home-handle-skipped { align-items:flex-start; flex-direction:column; }
  .home-presence-panel { padding:18px 16px; }
  .home-path-grid { grid-template-columns:1fr; }
  .home-path-card { padding:21px; }
  .home-path-card p { min-height:0; }
  .home-section-heading { margin-top:30px; }
  .showcase-heading-actions { align-items:center; }
  .showcase-heading-actions>a { font-size:.84rem; }
  .home-showcase-track { grid-auto-columns:86%; margin-right:-20px; padding-right:20px; }
  .showcase-copy { min-height:188px; }
}

@media(max-width:600px) {
  .home-with-donation-banner { padding-top:44px; }
  .home-with-donation-banner>.shell { padding-top:24px; }
  .sonex-banner-toggle { height:44px; gap:7px; padding:6px 10px; font-size:.82rem; }
  .sonex-banner-subtitle { display:none; }
  .sonex-banner-plane { font-size:1.05rem; }
  .sonex-donation-popout { top:50px; width:calc(100vw - 12px); max-height:calc(100vh - 58px); padding:18px 14px; border-radius:0 0 14px 14px; }
  .sonex-donation-popout h2 { font-size:1.28rem; }
  .sonex-donation-popout .donation-checkout { padding:13px; }
  .sonex-fund-dock.is-open::after { inset:44px 0 0; }
}

@media(prefers-reduced-motion:reduce) {
  .sonex-banner-arrow { transition:none; }
  .home-showcase-track { scroll-behavior:auto; }
  .home-showcase-card,.showcase-cta b { transition:none; }
  .showcase-visual * { animation:none!important; }
  .airport-preview-stage { transform:translate3d(-24%,-18%,0) rotateY(45deg) scale(2.2); }
  .airport-preview-hover,.airport-preview-cursor,.airport-preview-callout { opacity:1; transform:none; }
  .metar-preview-choice,.metar-preview-tags span,.gauge-preview-callout { opacity:1; transform:none; }
}

/* Release 450: keep identity art subordinate to the handle on phones. */
@media(max-width:620px) {
  .home-presence-list li { gap:4px; padding:5px 8px; }
  .home-presence-avatar { width:18px; height:18px; flex-basis:18px; }
  .home-presence-avatar svg { width:13px; height:13px; }
  .home-presence-avatar .home-presence-dot { width:6px; height:6px; border-width:1px; }
}

/* Release 451: keep preview dates readable while long handles truncate. */
.page-discussion-preview-comment>span {
  display:grid;
  grid-template-columns:minmax(0,1fr) max-content;
  align-items:center;
  gap:8px;
}
.discussion-preview-author { width:100%; max-width:100%; overflow:hidden; }
.page-discussion-preview-comment .discussion-preview-author{display:inline-flex;align-items:center;gap:4px;min-width:0}.page-discussion-preview-comment .aviation-avatar{display:inline-grid;width:16px;height:16px;flex:0 0 16px;border-radius:50%;background:#e4f1f6;color:#195d7d;vertical-align:middle;place-items:center}.page-discussion-preview-comment .aviation-avatar svg{display:block;width:11px;height:11px;fill:currentColor}.page-discussion-preview-comment .discussion-support-badge{display:inline-grid;width:10px;height:10px;margin-left:2px;color:#1c7682;vertical-align:-1px;place-items:center}.page-discussion-preview-comment .discussion-support-badge svg{display:block;width:9px;height:9px;fill:currentColor}
.discussion-preview-author>strong {
  display:block;
  min-width:0;
  flex:1 1 auto;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.page-discussion-preview-comment time { min-width:max-content; white-space:nowrap; text-align:right; }

@media(max-width:620px){.page-discussion-preview-comment .aviation-avatar{width:14px;height:14px;flex-basis:14px}.page-discussion-preview-comment .aviation-avatar svg{width:10px;height:10px}.page-discussion-preview-comment .discussion-support-badge{width:9px;height:9px}.page-discussion-preview-comment .discussion-support-badge svg{width:8px;height:8px}}
