/* ============================================
   R/C Sailplanes — Dark Theme Redesign
   Per-page color tints via data-theme
   ============================================ */

/* ---- Default (dark gray) ---- */
:root {
  --bg-deep:    #0a0a0e;
  --bg-surface: #151518;
  --bg-card:    #1e1e24;
  --bg-raised:  #26262e;
  --border:     #35353f;
  --border-light:#42424e;

  --text-primary:   #e4e4ec;
  --text-secondary: #a0a0b0;
  --text-muted:     #6e6e80;

  --accent:       #8ab4d6;
  --accent-hover: #b0d0ee;
  --accent-dim:   #4a7a9e;

  --tint:         #8ab4d6;
  --tint-glow:    rgba(138,180,214,0.08);
  --tint-border:  rgba(138,180,214,0.18);
  --tint-surface: rgba(138,180,214,0.04);
  --tint-hover:   rgba(101,184,251,0.8);

  --hero-from: #1a1a22;
  --hero-via:  #222230;
  --hero-to:   #1c1c26;

  --sun-gold: #e8a838;
  --sun-deep: #c47d1a;
  --warn:     #d4603a;

  --font-display: 'Segoe UI','SF Pro Display','Helvetica Neue',system-ui,sans-serif;
  --font-badge: 'Segoe UI','SF Pro Display','Helvetica Neue',system-ui,sans-serif;
  --font-body:    Georgia,'Times New Roman','Noto Serif',serif;
  --radius:    8px;
  --radius-lg: 14px;
  --max-width: 1200px;
  --nav-height:64px;
}

/* ---- Handlaunch: Dark Orange — deep amber-black background ---- */
body[data-theme="handlaunch"]{
  --accent:#e8a040;--accent-hover:#f0be6a;--accent-dim:#8a6020;
  --tint:#e8a040;--tint-glow:rgba(232,160,64,0.07);--tint-border:rgba(232,160,64,0.18);--tint-surface:rgba(232,160,64,0.03);
  --hero-from:#1a1408;--hero-via:#2a2014;--hero-to:#1a1408;
  --bg-deep:#0a0804;--bg-surface:#1a1610;--bg-card:#241e16;--bg-raised:#2e2820;
  --border:#3a3228;--border-light:#4a4036;
}
/* ---- Slope: Dark Green — deep forest-black background ---- */
body[data-theme="slope"]{
  --accent:#5eb87a;--accent-hover:#82d4a0;--accent-dim:#2e6e44;
  --tint:#5eb87a;--tint-glow:rgba(94,184,122,0.07);--tint-border:rgba(94,184,122,0.18);--tint-surface:rgba(94,184,122,0.03);
  --hero-from:#080e0a;--hero-via:#121c16;--hero-to:#080e0a;
  --bg-deep:#040a06;--bg-surface:#101a14;--bg-card:#1a241c;--bg-raised:#222e24;
  --border:#2e3a30;--border-light:#3a4a3c;
}
/* ---- Combat: Dark Red — deep blood-black background ---- */
body[data-theme="combat"]{
  --accent:#d45a5a;--accent-hover:#e88080;--accent-dim:#8a3030;
  --tint:#d45a5a;--tint-glow:rgba(212,90,90,0.07);--tint-border:rgba(212,90,90,0.18);--tint-surface:rgba(212,90,90,0.03);
  --hero-from:#140808;--hero-via:#221012;--hero-to:#140808;
  --bg-deep:#0a0404;--bg-surface:#1a1010;--bg-card:#241a1a;--bg-raised:#302222;
  --border:#3e2e2e;--border-light:#4e3a3a;
}
/* ---- Other: Dark Blue — deep navy-black background ---- */
body[data-theme="other"]{
  --accent:#6a9ee0;--accent-hover:#90baf0;--accent-dim:#3a6aa0;
  --tint:#6a9ee0;--tint-glow:rgba(106,158,224,0.07);--tint-border:rgba(106,158,224,0.18);--tint-surface:rgba(106,158,224,0.03);
  --hero-from:#060a18;--hero-via:#10162a;--hero-to:#060a18;
  --bg-deep:#030610;--bg-surface:#0e121e;--bg-card:#1a1e2a;--bg-raised:#222630;
  --border:#2e3040;--border-light:#3a3e50;
}
/* ---- Radios: Gray — deep charcoal-black background ---- */
body[data-theme="radios"]{
  --accent:#a0a8b8;--accent-hover:#c0c8d8;--accent-dim:#606878;
  --tint:#a0a8b8;--tint-glow:rgba(160,168,184,0.06);--tint-border:rgba(160,168,184,0.15);--tint-surface:rgba(160,168,184,0.03);
  --hero-from:#0e0e10;--hero-via:#1a1a1e;--hero-to:#0e0e10;
  --bg-deep:#08080a;--bg-surface:#141416;--bg-card:#1e1e22;--bg-raised:#28282c;
  --border:#36363c;--border-light:#44444c;
}

/* ---- Reset & Base ---- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:var(--font-body);color:var(--text-primary);background:var(--bg-deep);line-height:1.72;min-height:100vh;display:flex;flex-direction:column}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent);text-decoration:none;transition:color .2s}
a:hover{color:var(--accent-hover)}
h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--text-primary);line-height:1.25;font-weight:700}

/* ---- Skip ---- */
.skip-link{position:absolute;top:-100%;left:1rem;background:var(--accent);color:#000;padding:.5rem 1rem;border-radius:var(--radius);z-index:1000;font-family:var(--font-display)}
.skip-link:focus{top:.5rem}

/* ---- Nav ---- */
.site-nav{position:sticky;top:0;z-index:100;background:var(--bg-surface);border-bottom:1px solid var(--border);box-shadow:0 2px 12px rgba(0,0,0,.4)}
.nav-inner{max-width:var(--max-width);margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;height:var(--nav-height);gap:1.5rem}
.nav-brand{display:flex;align-items:center;gap:.5rem;color:var(--text-primary);font-family:var(--font-display);font-weight:800;font-size:1.15rem;white-space:nowrap;text-decoration:none;letter-spacing:-.02em}
.nav-brand:hover{color:var(--accent)}
.nav-brand .brand-icon{font-size:1.5rem;line-height:1}
.nav-links{display:flex;align-items:center;gap:.25rem;list-style:none;flex-wrap:wrap}
.nav-links a{color:var(--text-secondary);font-family:var(--font-display);font-size:.85rem;font-weight:500;padding:.35rem .65rem;border-radius:var(--radius);transition:background .2s,color .2s;white-space:nowrap}
.nav-links a:hover,.nav-links a.active{background:var(--tint-glow);color:var(--accent)}
.nav-links a.active{border-bottom:2px solid var(--accent)}
.nav-toggle{display:none;background:0;border:0;color:var(--text-primary);font-size:1.5rem;cursor:pointer;margin-left:auto;padding:.25rem}
.nav-dropdown{position:relative}
.nav-dropdown>a{cursor:pointer}
.nav-dropdown>a::after{content:' ▾';font-size:1.5em;opacity:.6}
.nav-dropdown-menu{display:none;position:absolute;top:100%;right:0;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px rgba(0,0,0,.5);min-width:200px;padding:.4rem 0;z-index:110;margin-top:.35rem}
.nav-dropdown-menu a{display:block;padding:.5rem 1rem;white-space:nowrap;font-family:var(--font-display);font-size:.85rem;color:var(--text-secondary);transition:background .15s,color .15s}
.nav-dropdown-menu a:hover{background:var(--accent-dim);color:var(--accent)}
.nav-dropdown.open .nav-dropdown-menu{display:block}

/* ---- Nav dropdown item badges (controlled by nav-badges.js) ---- */
/* To add a badge type: add a .nav-badge-NAME::after rule with content + background */
.nav-dropdown-menu a[class*="nav-badge-"]{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.nav-dropdown-menu a[class*="nav-badge-"]::after{font-size:.6rem;font-weight:700;font-family:var(--font-display);letter-spacing:.05em;text-transform:uppercase;padding:1px 6px;border-radius:8px;white-space:nowrap;flex-shrink:0}
.nav-dropdown-menu a.nav-badge-updated::after{content:'Updated';background:#c0580a;color:#fff}
.nav-dropdown-menu a.nav-badge-new::after{content:'New';background:#870808;color:#fff}
.nav-dropdown-menu a.nav-badge-revised::after{content:'Revised';background:#1a6e3a;color:#fff}
.nav-dropdown-menu a.nav-badge-hot::after{content:'Hot!';background:#b91c1c;color:#fff}
/* Orange dot on the More… button when any child has a badge */
.nav-dropdown>a.nav-dropdown-has-badge::before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:#c0580a;margin-right:4px;vertical-align:middle;position:relative;top:-1px}

/* ---- Hero ---- */
.hero{background:linear-gradient(135deg,var(--hero-from) 0%,var(--hero-via) 50%,var(--hero-to) 100%);color:var(--text-primary);padding:3.5rem 1.5rem;text-align:center;position:relative;border-bottom:1px solid var(--tint-border)}
.hero::before{content:'';position:absolute;top:-30%;right:-10%;width:500px;height:500px;background:radial-gradient(circle,var(--tint-glow) 0%,transparent 70%);border-radius:50%;pointer-events:none}
.hero-content{position:relative;z-index:1;max-width:800px;margin:0 auto}
.hero h1{font-size:clamp(2rem,5vw,3.2rem);margin-bottom:1rem;letter-spacing:-.03em}
.hero h1 .accent{color:var(--accent)}
.hero p{font-size:1.15rem;line-height:1.6;color:var(--text-secondary);max-width:620px;margin:0 auto}

/* ---- Page Header ---- */
.page-header{background:linear-gradient(135deg,var(--hero-from),var(--hero-via));color:var(--text-primary);padding:2.5rem 1.5rem;text-align:center;border-bottom:1px solid var(--tint-border)}
.page-header h1{font-size:clamp(1.75rem,4vw,2.5rem);margin-bottom:.5rem}
.page-header p{color:var(--text-secondary);max-width:600px;margin:0 auto;font-size:1.05rem}

/* ---- Header Image Placeholder ---- */
.page-header-with-img{display:flex;align-items:center;justify-content:center;gap:1.5rem;flex-wrap:wrap}
.header-img-placeholder{height:calc(var(--hdr-height,120px) * 0.8);width:auto;max-width:50%;object-fit:contain;border-radius:var(--radius);border:2px dashed var(--tint-border);background:rgba(255,255,255,0.06);padding:8px;flex-shrink:0;opacity:0.7;transition:opacity .3s}
.header-img-placeholder[src]:not([src=""]){opacity:1;border-style:solid;background:rgba(255,255,255,0.08)}
.hero .header-img-placeholder{height:56px;margin-bottom:1rem}
.page-header{--hdr-height:120px}
@media(max-width:768px){.header-img-placeholder{height:40px;max-width:40%}.hero .header-img-placeholder{height:36px}}
@media print{.header-img-placeholder{height:36px;border:1px solid #ccc!important}}

/* ---- Gallery Grid ---- */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:1.5rem 0}
.gallery-cell{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-raised);cursor:pointer}
.gallery-cell img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s ease-in-out}
.gallery-cell img.active{opacity:1}
.gallery-cell:hover{border-color:var(--accent);box-shadow:0 4px 16px rgba(0,0,0,.3)}

/* Gallery Lightbox */
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:200;display:none;align-items:center;justify-content:center;padding:2rem;cursor:pointer}
.lightbox.open{display:flex}
.lightbox img{max-width:90vw;max-height:90vh;border-radius:var(--radius);box-shadow:0 8px 40px rgba(0,0,0,.5);background:#e8e8ec;padding:4px}
.lightbox-close{position:absolute;top:1rem;right:1.5rem;color:#fff;font-size:2rem;cursor:pointer;font-family:var(--font-display);opacity:.7;transition:opacity .2s}
.lightbox-close:hover{opacity:1}
.lightbox-caption{position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.8);font-family:var(--font-display);font-size:.9rem;text-align:center;max-width:80%}

/* ---- Videos ---- */

.video-container {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9; /* default landscape */
  overflow: hidden;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  background: #000;
}

.video-container.vertical {
  aspect-ratio: 9 / 16; /* portrait */
}

.video-container iframe,
.video-container video {
  width: 100%;
  height: 100%;
  object-fit: contain; /* important for portrait videos */
  display: block;
}

.video-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:box-shadow .2s}
.video-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.3)}
.video-card .video-info{padding:.6rem .8rem}
.video-card .video-info h4{font-family:var(--font-display);font-size:.9rem;color:var(--text-primary);margin-bottom:.15rem}
.video-card .video-info p{font-size:.78rem;color:var(--text-muted);line-height:1.3}
.video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin:1.5rem 0}
.video-grid.single{grid-template-columns:1fr;max-width:700px;margin-left:auto;margin-right:auto}

/* 2 videos side-by-side */
.video-grid.dual {
  grid-template-columns: repeat(2, 1fr);
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

/* 3 videos side-by-side */
.video-grid.triple {
  grid-template-columns: repeat(3, 1fr);
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}


@media(max-width:700px){.video-grid{grid-template-columns:1fr}}

@media(max-width:768px){.gallery-grid{grid-template-columns:repeat(2,1fr);gap:8px}}
@media print{.gallery-grid{grid-template-columns:repeat(3,1fr)}.gallery-cell{aspect-ratio:auto;height:120px}.lightbox{display:none!important}}

/* ---- Main ---- */
.main-content{flex:1;max-width:var(--max-width);margin:0 auto;padding:2.5rem 1.5rem;width:100%}

/* ---- Section blocks ---- */
.content-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;margin-bottom:2rem;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.content-section h2{font-size:1.6rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--tint-border);letter-spacing:-.02em;color:var(--accent)}
.content-section h3{font-size:1.2rem;margin-top:1.5rem;margin-bottom:.5rem;color:var(--tint)}
.content-section p{margin-bottom:1rem;color:var(--text-primary)}
.content-section ul,.content-section ol{margin-bottom:1rem;padding-left:1.5rem;color:var(--text-primary)}
.content-section li{margin-bottom:.5rem}
.content-section strong{color:var(--accent-hover)}

/* ---- Category Cards ---- */
.category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-top:1.5rem}
.category-card{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem 1.75rem;transition:transform .25s,box-shadow .25s,border-color .25s;text-decoration:none;color:inherit;display:flex;gap:1.25rem;align-items:flex-start}
.category-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.3);border-color:var(--tint-hover);color:inherit}
.card-icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:var(--tint-glow);border:1px solid var(--tint-border)}
.card-icon svg{width:28px;height:28px;stroke:var(--accent);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.card-body{flex:1;min-width:0}
.category-card h3{font-family:var(--font-display);font-size:1.05rem;color:var(--accent);margin-bottom:.35rem;margin-top:0}
.category-card p{color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin:0}
.card-link{display:inline-flex;align-items:center;gap:.3rem;font-family:var(--font-display);font-size:.8rem;font-weight:600;color:var(--accent);margin-top:.5rem}
.category-card.featured{grid-column:1/-1;background:var(--tint-surface);border-color:var(--tint-border);padding:2rem}
.category-card.featured:hover{border-color:var(--tint-hover)}

/* ---- Steps ---- */
.steps-list{counter-reset:step;list-style:none;padding:0}
.step-item{counter-increment:step;display:flex;gap:1.5rem;padding:1.5rem 0;border-bottom:1px solid var(--border)}
.step-item:last-child{border-bottom:none}
.step-number{flex-shrink:0;width:48px;height:48px;background:var(--accent-dim);color:var(--text-primary);font-family:var(--font-display);font-weight:800;font-size:1.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center}
.step-content h3{font-size:1.15rem;margin-top:0;margin-bottom:.5rem;color:var(--accent)}

/* ---- Plane Cards ---- */
.plane-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:.75rem;margin-top:.75rem}
.plane-card{background:var(--tint-surface);border:1px solid var(--border);border-left:4px solid var(--accent-dim);border-radius:var(--radius);padding:.75rem 1rem;transition:border-color .2s,background .2s}
.plane-card:hover{border-left-color:var(--accent);background:var(--bg-raised)}
.plane-card .plane-maker{font-family:var(--font-display);font-size:.75rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.plane-card .plane-name{font-family:var(--font-display);font-weight:700;font-size:.95rem;color:var(--text-primary)}
.plane-card .plane-name a{color:var(--accent);text-decoration:underline;text-decoration-color:var(--accent-dim);text-underline-offset:2px}
.plane-card .plane-name a:hover{color:var(--accent-hover);text-decoration-color:var(--accent)}
.plane-card .plane-specs{color:var(--text-secondary);font-size:.85rem;margin-top:2px}
.plane-card.badge-new,.page-link-item.badge-new,
.plane-card.badge-exceptional,.page-link-item.badge-exceptional,
.plane-card.badge-updated,.page-link-item.badge-updated,
.plane-card.badge-great,.page-link-item.badge-great,
.plane-card.badge-groovy,.page-link-item.badge-groovy,
.plane-card.badge-splendid,.page-link-item.badge-splendid,
.plane-card.badge-extinct,.page-link-item.badge-extinct,
.plane-card.badge-incognito,.page-link-item.badge-incognito,
.plane-card.badge-hibernating,.page-link-item.badge-hibernating,
.plane-card.badge-classic,.page-link-item.badge-classic,
.plane-card.badge-loved,.page-link-item.badge-loved,
.plane-card.badge-prized,.page-link-item.badge-prized,
.plane-card.badge-inexile,.page-link-item.badge-inexile,
.plane-card.badge-revived,.page-link-item.badge-revived{position:relative;overflow:hidden}

.plane-card.badge-new::after,.page-link-item.badge-new::after,
.plane-card.badge-exceptional::after,.page-link-item.badge-exceptional::after,
.plane-card.badge-updated::after,.page-link-item.badge-updated::after,
.plane-card.badge-great::after,.page-link-item.badge-great::after,
.plane-card.badge-groovy::after,.page-link-item.badge-groovy::after,
.plane-card.badge-splendid::after,.page-link-item.badge-splendid::after,
.plane-card.badge-extinct::after,.page-link-item.badge-extinct::after,
.plane-card.badge-incognito::after,.page-link-item.badge-incognito::after,
.plane-card.badge-hibernating::after,.page-link-item.badge-hibernating::after,
.plane-card.badge-classic::after,.page-link-item.badge-classic::after,
.plane-card.badge-loved::after,.page-link-item.badge-loved::after,
.plane-card.badge-prized::after,.page-link-item.badge-prized::after,
.plane-card.badge-inexile::after,.page-link-item.badge-inexile::after,
.plane-card.badge-revived::after,.page-link-item.badge-revived::after{position:absolute;top:10px;right:-22px;width:80px;text-align:center;color:#fff;font-family:var(--font-display);font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 0;transform:rotate(45deg);transform-origin:center;pointer-events:none;box-shadow:0 1px 4px rgba(0,0,0,.3)}

.plane-card.badge-new::after{content:'New';background:#870808}
.page-link-item.badge-new::after{content:'New';background:#870808}
.plane-card.badge-exceptional::after{content:'Exceptional!';background:#c0392b;font-size:.45rem}
.page-link-item.badge-exceptional::after{content:'Exceptional!';background:#c0392b;font-size:.45rem}
.plane-card.badge-updated::after{content:'Updated!';background:#e67e22;font-size:.54rem}
.page-link-item.badge-updated::after{content:'Updated!';background:#e67e22;font-size:.54rem}
.plane-card.badge-great::after{content:'Great!';background:#e67e22}
.page-link-item.badge-great::after{content:'Great!';background:#e67e22}
.plane-card.badge-groovy::after{content:'Groovy!';background:#8e44ad}
.page-link-item.badge-groovy::after{content:'Groovy!';background:#8e44ad}
.plane-card.badge-splendid::after{content:'Splendid!';background:#2980b9;font-size:.58rem}
.page-link-item.badge-splendid::after{content:'Splendid!';background:#2980b9;font-size:.58rem}
.plane-card.badge-extinct::after{content:'Extinct';background:#7f8c8d}
.page-link-item.badge-extinct::after{content:'Extinct';background:#7f8c8d}
.plane-card.badge-incognito::after{content:'Incognito';background:#484848;font-size:.40rem}
.page-link-item.badge-incognito::after{content:'Incognito';background:#484848;font-size:.40rem}
.plane-card.badge-hibernating::after{content:'Hibernating';background:#111;font-size:.45rem}
.page-link-item.badge-hibernating::after{content:'Hibernating';background:#111;font-size:.45rem}
.plane-card.badge-classic::after{content:'Classic';background:#6d4c41}
.page-link-item.badge-classic::after{content:'Classic';background:#6d4c41}
.plane-card.badge-loved::after{content:'Loved';background:#c0392b}
.page-link-item.badge-loved::after{content:'Loved';background:#c0392b}
.plane-card.badge-prized::after{content:'Prized!';background:#d4ac0d;color:#3a2f00}
.page-link-item.badge-prized::after{content:'Prized!';background:#d4ac0d;color:#3a2f00}
.plane-card.badge-inexile::after{content:'In Exile';background:#2c3e50;font-size:.6rem}
.page-link-item.badge-inexile::after{content:'In Exile';background:#2c3e50;font-size:.6rem}
.plane-card.badge-revived::after{content:'Revived!';background:#27ae60;font-size:.6rem}
.page-link-item.badge-revived::after{content:'Revived!';background:#27ae60;font-size:.6rem}

/* ---- Embedded Images & Figures ---- */
.content-figure{margin:1.5rem 0;text-align:center}
.content-figure img{border-radius:var(--radius);border:1px solid var(--border);max-width:100%;background:#e8e8ec;padding:4px}
.content-figure.float-right{float:right;margin:0 0 1rem 2rem;max-width:320px;text-align:center}
.content-figure.float-left{float:left;margin:0 2rem 1rem 0;max-width:320px;text-align:center}
.content-figure.float-right.diagram{float:right;margin:0 0 1.5rem 2.5rem}
.content-figure.float-left.diagram{float:left;margin:0 2.5rem 1.5rem 0}
.content-figure figcaption{font-family:var(--font-display);font-size:.8rem;color:var(--text-muted);margin-top:.4rem;font-style:italic}
.content-figure.diagram{display:table;margin:1.5rem auto;background:#e8e8ec;padding:1rem;border-radius:var(--radius);border:1px solid var(--border)}
.content-figure.diagram img{border:none;background:transparent;padding:0;display:block}
.content-figure.diagram figcaption{color:var(--text-secondary)}
.content-figure.float-right.diagram,.content-figure.float-left.diagram{display:block;background:var(--bg-raised);padding:.6rem;border:1px solid var(--border);max-width:420px}
.content-figure.photo img{background:transparent;padding:0}
.radio-brand-section .content-figure img{background:#e8e8ec;padding:4px;max-height:40px;width:auto}
.radio-brand-section .content-figure img[src$=".svg"]{background:var(--bg-raised);border:1px solid var(--border);padding:6px 8px}
/* Mobile: center floated figures in content sections (and callouts) instead of letting them hug an edge.
   The > combinator scopes this to direct children, so brand-header logos inside .radio-brand-section
   h3 (which are nested deeper) are not affected and use the brand-header rule below instead. */
@media(max-width:700px){
  .content-section > .content-figure.float-right,
  .content-section > .content-figure.float-left,
  .content-section > figure[style*="float:right"],
  .content-section > figure[style*="float: right"],
  .content-section > figure[style*="float:left"],
  .content-section > figure[style*="float: left"],
  .callout figure[style*="float:right"],
  .callout figure[style*="float: right"],
  .callout figure[style*="float:left"],
  .callout figure[style*="float: left"]{
    float:none!important;display:block!important;
    margin-left:auto!important;margin-right:auto!important;
    margin-top:.5rem!important;margin-bottom:1rem!important;
  }
  /* Brand-section headers: keep logo + name on one line (logo left, name right, matching desktop order) */
  .radio-brand-section h3{
    display:flex;align-items:center;
    gap:.6rem;flex-wrap:nowrap;
  }
  .radio-brand-section h3 .content-figure{
    float:none!important;margin:0!important;flex-shrink:0;
  }
}
.clearfix::after{content:'';display:table;clear:both}

/* ---- Radio Listings ---- */
.radio-brand-section{margin-bottom:2rem}
.radio-brand-section h3{font-size:1.25rem;color:var(--accent);padding-bottom:.5rem;border-bottom:2px solid var(--tint-border);margin-bottom:1rem}
.radio-list{list-style:none;padding:0;columns:2;column-gap:2rem}
.radio-list li{break-inside:avoid;padding:.4rem 0;border-bottom:1px solid var(--border);font-size:.9rem;color:var(--text-primary)}
.radio-list li a{font-weight:600;font-family:var(--font-display)}
.radio-list .radio-specs{color:var(--text-muted);font-size:.8rem;display:block}

/* ---- Site Search ---- */
.site-search{position:relative;max-width:600px;margin:1.5rem auto 0;z-index:99}
.site-search input{width:100%;padding:.7rem 1rem .7rem 2.6rem;border:2px solid var(--border-light);border-radius:var(--radius-lg);font-family:var(--font-display);font-size:1rem;background:var(--bg-card);color:var(--text-primary);outline:0;transition:border-color .2s,box-shadow .2s}
.site-search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--tint-glow)}
.site-search input::placeholder{color:var(--text-muted)}
.site-search .search-icon{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}
.site-search .search-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2}
.search-results{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);max-height:70vh;overflow-y:auto;z-index:999;box-shadow:0 12px 48px rgba(0,0,0,.6);display:none}
.search-results.visible{display:block}
.search-result-item{display:block;padding:.75rem 1rem;border-bottom:1px solid var(--border);text-decoration:none;color:inherit;transition:background .15s}
.search-result-item:hover,.search-result-item:focus{background:var(--tint-surface);color:inherit}
.search-result-item .sr-title{font-family:var(--font-display);font-weight:700;font-size:.9rem;color:var(--accent)}
.search-result-item .sr-url{font-family:var(--font-display);font-size:.7rem;color:var(--text-muted)}
.search-result-item .sr-excerpt{font-size:.8rem;color:var(--text-secondary);margin-top:2px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.search-result-item mark{background:rgba(232,168,56,.25);color:var(--text-primary);padding:0 1px;border-radius:2px}
.search-results-footer{padding:.6rem 1rem;font-family:var(--font-display);font-size:.8rem;color:var(--text-muted);border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}
.search-results-footer a{color:var(--accent);font-weight:600}
.search-no-results{padding:1.25rem 1rem;text-align:center;color:var(--text-muted);font-family:var(--font-display);font-size:.9rem}
@media(max-width:768px){.site-search{margin:1rem auto 0}.search-results{max-height:60vh}}
@media print{.site-search,.search-results{display:none!important}}

/* ---- Filter Bar ---- */
.filter-bar{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-bottom:1.5rem;padding:1rem 1.5rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg)}
.filter-bar input[type="search"]{flex:1;min-width:200px;padding:.55rem 1rem;border:1px solid var(--border-light);border-radius:var(--radius);font-family:var(--font-display);font-size:.9rem;background:var(--bg-surface);color:var(--text-primary);outline:0;transition:border-color .2s}
.filter-bar input[type="search"]:focus{border-color:var(--accent)}
.filter-bar input[type="search"]::placeholder{color:var(--text-muted)}
.filter-bar select{padding:.55rem 1rem;border:1px solid var(--border-light);border-radius:var(--radius);font-family:var(--font-display);font-size:.9rem;background:var(--bg-surface);color:var(--text-primary);cursor:pointer}
.result-count{font-family:var(--font-display);font-size:.8rem;color:var(--text-muted);margin-left:auto}

/* ---- Breadcrumb ---- */
.breadcrumb{font-family:var(--font-display);font-size:.85rem;color:var(--text-muted);margin-bottom:1.5rem}
.breadcrumb a{color:var(--accent)}
.breadcrumb span{margin:0 .4rem}

/* ---- Callouts ---- */
.callout{padding:1.25rem;border-radius:var(--radius);margin:1.25rem 0}
.callout-tip{background:rgba(232,168,56,.08);border-left:4px solid var(--sun-gold)}
.callout-note{background:rgba(232,168,56,.08);border-left:4px solid var(--sun-deep)}
.callout-warning{background:rgba(212,96,58,.08);border-left:4px solid var(--warn)}
.callout-info{background:var(--tint-glow);border-left:4px solid var(--accent)}
.callout strong:first-child{font-family:var(--font-display);display:block;margin-bottom:4px;color:var(--text-primary)}

/* ---- Print Button ---- */
.print-btn{display:inline-flex;align-items:center;gap:.4rem;background:var(--bg-raised);color:var(--text-primary);font-family:var(--font-display);font-size:.85rem;font-weight:600;padding:.5rem 1.1rem;border:1px solid var(--border-light);border-radius:var(--radius);cursor:pointer;transition:background .2s,border-color .2s}
.print-btn:hover{background:var(--accent-dim);border-color:var(--accent)}

/* ---- Tables ---- */
.data-table{width:100%;border-collapse:collapse;font-family:var(--font-display);font-size:.9rem;margin:1rem 0}
.data-table thead tr{background:var(--bg-raised);text-align:left}
.data-table th{padding:.6rem 1rem;border-bottom:2px solid var(--tint-border);color:var(--accent);font-weight:600}
.data-table td{padding:.5rem 1rem;border-bottom:1px solid var(--border);color:var(--text-primary)}

/* ---- Glossary ---- */
.glossary-entry dt{font-family:var(--font-display);font-weight:700;color:var(--accent);margin-top:1.25rem;font-size:1.05rem;scroll-margin-top:calc(var(--nav-height) + 1rem)}
.glossary-entry dd{margin-left:0;margin-bottom:1.25rem;padding-left:1.25rem;border-left:3px solid var(--tint-border);color:var(--text-primary)}

/* ---- Secondary Page List ---- */
.page-link-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:.75rem}
.page-link-item{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem;transition:border-color .2s;position:relative;overflow:hidden}
.page-link-item:hover{border-color:var(--accent-dim)}
.page-link-item a{font-family:var(--font-display);font-weight:600;font-size:.95rem}
.page-link-item .link-desc{color:var(--text-muted);font-size:.85rem;margin-top:3px}

/* ---- Footer ---- */
.site-footer{background:var(--bg-surface);border-top:1px solid var(--border);color:var(--text-muted);padding:2rem 1.5rem;margin-top:auto;font-family:var(--font-display);font-size:.85rem}
.footer-inner{max-width:var(--max-width);margin:0 auto;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1.5rem}
.footer-brand{flex-shrink:0}
.footer-brand a{display:block;opacity:.5;transition:opacity .3s}
.footer-brand a:hover{opacity:.8}
.footer-brand img{display:block;width:180px;height:auto}
.footer-brand .footer-logo-print{display:none}
.footer-col h4{color:var(--text-secondary);font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.5rem}
.footer-links{display:flex;flex-direction:column;gap:.3rem;list-style:none}
.footer-links a{color:var(--text-muted);font-size:.8rem}
.footer-links a:hover{color:var(--accent)}
.footer-row{display:flex;gap:2.5rem;flex-wrap:wrap}
.footer-copy{flex-shrink:0;text-align:right;font-size:.8rem;color:var(--text-muted)}
.footer-copy a{color:var(--sun-gold)}

/* ---- Back To Top ---- */
.back-to-top{position:fixed;bottom:2rem;right:2rem;width:44px;height:44px;background:var(--bg-raised);border:1px solid var(--border-light);color:var(--text-primary);border-radius:50%;font-size:1.25rem;cursor:pointer;opacity:0;transform:translateY(10px);transition:opacity .3s,transform .3s,background .2s;z-index:50;box-shadow:0 2px 8px rgba(0,0,0,.3)}
.back-to-top.visible{opacity:1;transform:translateY(0)}
.back-to-top:hover{background:var(--accent-dim)}

/* ---- Page Bottom Bar ---- */
.page-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}
.page-bottom .copyright{font-family:var(--font-display);font-size:.8rem;color:var(--text-muted)}

/* ============ Responsive ============ */
@media(max-width:768px){
  .nav-links{display:none}.nav-toggle{display:block}
  .nav-links.open{display:flex;flex-direction:column;position:absolute;top:var(--nav-height);left:0;right:0;background:var(--bg-surface);padding:1rem 1.5rem;box-shadow:0 4px 12px rgba(0,0,0,.4);border-bottom:1px solid var(--border)}
  .nav-links.open a{padding:.6rem 0;width:100%}
  .nav-links.open .nav-dropdown-menu{position:static;box-shadow:none;border:none;padding-left:1rem;margin-top:0;background:transparent}
  .nav-links.open .nav-dropdown .nav-dropdown-menu{display:block}
  .nav-links.open .nav-dropdown>a::after{content:' ▾'}
  .category-grid{grid-template-columns:1fr}.category-card.featured{padding:1.5rem}.plane-grid{grid-template-columns:1fr}
  .radio-list{columns:1}.step-item{flex-direction:column;gap:.5rem}
  .content-section{padding:1.25rem}.hero{padding:2rem 1rem}
  .content-figure.float-right,.content-figure.float-left{float:none;max-width:100%;margin:1rem 0}
  .content-figure.float-right.diagram,.content-figure.float-left.diagram{max-width:100%}
  .footer-inner{flex-direction:column;align-items:center;text-align:center}
  .footer-copy{text-align:center}
  .footer-row{flex-direction:column;gap:1.5rem}
  .page-link-list{grid-template-columns:1fr}
}

/* ============ Print ============ */
@media print{
  *,*::before,*::after{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}
  body{font-family:Georgia,'Times New Roman',serif;font-size:11pt;line-height:1.5}
  .site-nav,.back-to-top,.print-btn,.filter-bar,.nav-toggle,.skip-link,.footer-row,.no-print{display:none!important}
  .no-print{display:none!important}

  /* ---- Header: full width, left justified, clean ---- */
  .hero,.page-header{padding:.5rem 0;text-align:center;border:none!important;width:100%}
  .hero h1,.page-header h1{font-size:20pt;margin-bottom:2pt}
  .hero p,.page-header p{font-size:10pt;margin-bottom:0}
  .page-header-with-img{display:block}
  .header-img-placeholder{display:none!important}
  .hero::before,.hero-bg,.hero-overlay,.hero-scroll-hint{display:none!important}
  .hero-photo{min-height:0!important;padding:.5rem 0!important;overflow:visible!important;display:block!important}
  .hero-photo .hero-content{max-width:100%;text-align:center}
  .hero-fade{opacity:1!important;transform:none!important;animation:none!important}
  .hero-photo .site-search{display:none!important}
  .gallery-links{display:none!important}

  /* ---- Content ---- */
  .main-content{padding:0;max-width:100%}
  .breadcrumb{font-size:9pt;margin-bottom:.5rem}
  .content-section{padding:0;margin-bottom:1rem;border-radius:0;border:none!important;page-break-inside:auto}
  .content-section h2{font-size:14pt;border-bottom:1pt solid #666!important;padding-bottom:4pt;page-break-after:avoid}
  .content-section h3{font-size:12pt;page-break-after:avoid}
  .glossary-entry{page-break-inside:avoid}
  .step-item{display:flex;flex-direction:row!important;gap:1rem;align-items:flex-start;padding:.75rem 0;border-bottom:1px solid #ccc!important}
  .step-number{flex-shrink:0;width:32px;height:32px;border:2px solid #000!important;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1rem}
  .step-content h3{margin-top:0}
  .category-card,.plane-card{border:1px solid #ccc!important;page-break-inside:avoid}
  .plane-card{border-left:2pt solid #666!important;padding:4pt 8pt}
  .plane-card.badge-new::after,.page-link-item.badge-new::after,
  .plane-card.badge-exceptional::after,.page-link-item.badge-exceptional::after,
  .plane-card.badge-updated::after,.page-link-item.badge-updated::after,
  .plane-card.badge-great::after,.page-link-item.badge-great::after,
  .plane-card.badge-groovy::after,.page-link-item.badge-groovy::after,
  .plane-card.badge-splendid::after,.page-link-item.badge-splendid::after,
  .plane-card.badge-extinct::after,.page-link-item.badge-extinct::after,
  .plane-card.badge-incognito::after,.page-link-item.badge-incognito::after,
  .plane-card.badge-hibernating::after,.page-link-item.badge-hibernating::after,
  .plane-card.badge-classic::after,.page-link-item.badge-classic::after,
  .plane-card.badge-loved::after,.page-link-item.badge-loved::after,
  .plane-card.badge-prized::after,.page-link-item.badge-prized::after,
  .plane-card.badge-inexile::after,.page-link-item.badge-inexile::after,
  .plane-card.badge-revived::after,.page-link-item.badge-revived::after{position:absolute;top:10px;right:-22px;width:80px;text-align:center;font-family:var(--font-display);font-size:.6rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 0;transform:rotate(45deg);box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .plane-card.badge-new::after{content:'New';background:#870808!important;color:#fff!important}
  .page-link-item.badge-new::after{content:'New';background:#870808!important;color:#fff!important}
  .plane-card.badge-exceptional::after{content:'Exceptional!';background:#c0392b!important;color:#fff!important;font-size:.55rem}
  .page-link-item.badge-exceptional::after{content:'Exceptional!';background:#c0392b!important;color:#fff!important;font-size:.55rem}
  .plane-card.badge-updated::after{content:'Updated!';background:#e67e22!important;color:#fff!important;font-size:.54rem}
  .page-link-item.badge-updated::after{content:'Updated!';background:#e67e22!important;color:#fff!important;font-size:.54rem}
  .plane-card.badge-great::after{content:'Great!';background:#e67e22!important;color:#fff!important}
  .page-link-item.badge-great::after{content:'Great!';background:#e67e22!important;color:#fff!important}
  .plane-card.badge-groovy::after{content:'Groovy!';background:#8e44ad!important;color:#fff!important}
  .page-link-item.badge-groovy::after{content:'Groovy!';background:#8e44ad!important;color:#fff!important}
  .plane-card.badge-splendid::after{content:'Splendid!';background:#2980b9!important;color:#fff!important;font-size:.58rem}
  .page-link-item.badge-splendid::after{content:'Splendid!';background:#2980b9!important;color:#fff!important;font-size:.58rem}
  .plane-card.badge-extinct::after{content:'Extinct';background:#7f8c8d!important;color:#fff!important}
  .page-link-item.badge-extinct::after{content:'Extinct';background:#7f8c8d!important;color:#fff!important}
  .plane-card.badge-incognito::after{content:'Incognito';background:#484848!important;color:#fff!important}
  .page-link-item.badge-incognito::after{content:'Incognito';background:#484848!important;color:#fff!important}
  .plane-card.badge-hibernating::after{content:'Hibernating';background:#111!important;color:#fff!important}
  .page-link-item.badge-hibernating::after{content:'Hibernating';background:#111!important;color:#fff!important}
  .plane-card.badge-classic::after{content:'Classic';background:#6d4c41!important;color:#fff!important}
  .page-link-item.badge-classic::after{content:'Classic';background:#6d4c41!important;color:#fff!important}
  .plane-card.badge-loved::after{content:'Loved';background:#c0392b!important;color:#fff!important}
  .page-link-item.badge-loved::after{content:'Loved';background:#c0392b!important;color:#fff!important}
  .plane-card.badge-prized::after{content:'Prized!';background:#d4ac0d!important;color:#3a2f00!important}
  .page-link-item.badge-prized::after{content:'Prized!';background:#d4ac0d!important;color:#3a2f00!important}
  .plane-card.badge-inexile::after{content:'In Exile';background:#2c3e50!important;color:#fff!important;font-size:.6rem}
  .page-link-item.badge-inexile::after{content:'In Exile';background:#2c3e50!important;color:#fff!important;font-size:.6rem}
  .plane-card.badge-revived::after{content:'Revived!';background:#27ae60!important;color:#fff!important;font-size:.6rem}
  .page-link-item.badge-revived::after{content:'Revived!';background:#27ae60!important;color:#fff!important;font-size:.6rem}

  /* ---- Images: centered, hide "Click to enlarge" ---- */
  .content-figure{text-align:center!important;float:none!important;max-width:100%!important;margin:1rem auto!important}
  .content-figure img{display:block;margin:0 auto;max-width:80%}
  .content-figure figcaption small{display:none!important}
  .content-figure.float-right,.content-figure.float-left{float:none!important;max-width:100%!important;margin:1rem auto!important}

  /* ---- Links ---- */
  a{text-decoration:underline}
  a[href^="http"]:after{content:" (" attr(href) ")";font-size:9pt;color:#555!important;word-break:break-all}
  .nav-links a[href]:after,.footer-links a[href]:after,.card-link[href]:after,.footer-brand a[href]:after,.footer-copy a[href]:after{content:none}

  /* ---- Footer: centered, no borders ---- */
  .page-bottom{border-top:none!important}
  .site-footer{border-top:none!important;padding:1.5rem 0;margin-top:1.5rem;text-align:center}
  .footer-inner{display:flex;flex-direction:column;align-items:center;gap:.5rem}
  .footer-brand{order:0}
  .footer-brand a{opacity:1!important}
  .footer-logo-screen{display:none!important}
  .footer-logo-print{display:block!important;width:100px;height:auto;margin:0 auto}
  .footer-brand img{-webkit-print-color-adjust:exact;print-color-adjust:exact;color-adjust:exact}
  .footer-copy{text-align:center;font-size:9pt;color:#000!important;order:1}

  /* ---- Grids ---- */
  .category-grid{grid-template-columns:1fr 1fr}.category-card.featured{grid-column:1/-1}
  .plane-grid{grid-template-columns:1fr 1fr;gap:4pt}
  @page{margin:.75in}
}
