
:root {
  --bg: #06101d;
  --bg-deep: #02070d;
  --bg-card: #0b1928;
  --bg-card-2: #0e2133;
  --surface: #f5f8fb;
  --surface-2: #e9f0f6;
  --text: #ecf7ff;
  --text-muted: #9fb1c2;
  --ink: #0b1825;
  --ink-muted: #5c6c79;
  --cyan: #54e7ff;
  --cyan-2: #20bedd;
  --blue: #3976ff;
  --green: #68f2a5;
  --orange: #ffb45b;
  --line: rgba(151, 199, 223, .18);
  --shadow: 0 24px 70px rgba(0, 0, 0, .26);
  --radius: 18px;
  --radius-lg: 28px;
  --container: 1180px;
  --font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 86px; }
body {
  margin: 0;
  font-family: var(--font);
  color: var(--text);
  background: var(--bg);
  line-height: 1.6;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img, svg { display: block; max-width: 100%; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--cyan); outline-offset: 4px; }

.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 9999; left: 16px; top: 16px; transform: translateY(-150%); background: #fff; color: #000; padding: 10px 14px; border-radius: 8px; font-weight: 700; }
.skip-link:focus { transform: none; }

.site-header {
  position: sticky; top: 0; z-index: 50;
  border-bottom: 1px solid rgba(255,255,255,.06);
  background: rgba(4, 13, 23, .78);
  backdrop-filter: blur(18px);
}
.header-inner { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.brand { display: inline-flex; align-items: center; gap: 12px; min-width: max-content; }
.brand-mark { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid rgba(84,231,255,.35); border-radius: 12px; background: linear-gradient(145deg, rgba(84,231,255,.13), rgba(57,118,255,.08)); }
.brand-mark svg { width: 26px; fill: none; stroke: var(--cyan); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.brand strong { display: block; font-family: var(--mono); font-size: 1.05rem; letter-spacing: .08em; line-height: 1.15; }
.brand small { display: block; color: var(--text-muted); font-size: .72rem; margin-top: 3px; letter-spacing: .04em; }
.main-nav { display: flex; align-items: center; gap: clamp(16px, 2.4vw, 30px); }
.main-nav a { position: relative; color: #c1cfda; font-size: .88rem; font-weight: 650; }
.main-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -8px; height: 2px; background: var(--cyan); transition: right .25s ease; }
.main-nav a:hover { color: white; }
.main-nav a:hover::after { right: 0; }
.menu-toggle { display: none; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 10px; background: transparent; align-items: center; justify-content: center; flex-direction: column; gap: 5px; cursor: pointer; }
.menu-toggle span:not(.sr-only) { width: 19px; height: 2px; background: #fff; border-radius: 10px; transition: .25s ease; }

.hero { position: relative; overflow: hidden; min-height: 730px; background: radial-gradient(circle at 82% 20%, rgba(27, 118, 171, .11), transparent 27%), linear-gradient(180deg, #07131f 0%, #06101d 100%); }
.rf-grid { position: absolute; inset: 0; opacity: .35; background-image: linear-gradient(rgba(85,205,238,.065) 1px, transparent 1px), linear-gradient(90deg, rgba(85,205,238,.065) 1px, transparent 1px); background-size: 52px 52px; mask-image: linear-gradient(to bottom, #000, transparent 85%); }
.hero::before { content: ""; position: absolute; left: 0; right: 0; top: 42%; height: 1px; background: linear-gradient(90deg, transparent, rgba(84,231,255,.34), transparent); box-shadow: 0 0 24px rgba(84,231,255,.25); }
.hero-glow { position: absolute; border-radius: 50%; filter: blur(2px); opacity: .34; pointer-events: none; }
.hero-glow-a { width: 540px; height: 540px; right: -240px; top: -130px; background: radial-gradient(circle, rgba(55,123,255,.34), transparent 67%); }
.hero-glow-b { width: 480px; height: 480px; left: -260px; bottom: -250px; background: radial-gradient(circle, rgba(84,231,255,.19), transparent 68%); }
.hero-layout { position: relative; z-index: 2; min-height: 640px; display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(390px, .88fr); gap: clamp(50px, 7vw, 90px); align-items: center; padding-block: 72px 65px; }
.eyebrow { margin: 0 0 18px; display: flex; align-items: center; gap: 9px; color: var(--cyan); font-family: var(--mono); font-size: .74rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.eyebrow.dark { color: #168ba7; }
.live-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 6px rgba(104,242,165,.08), 0 0 15px rgba(104,242,165,.75); }
.hero h1 { margin: 0; letter-spacing: -.04em; line-height: .92; }
.hero h1 span { display: block; font-family: var(--mono); font-size: clamp(4.25rem, 9.8vw, 8.4rem); background: linear-gradient(105deg, #fff 10%, #bff7ff 55%, #62e7ff 100%); -webkit-background-clip: text; background-clip: text; color: transparent; text-shadow: 0 0 45px rgba(84,231,255,.08); }
.hero h1 small { display: block; margin-top: 13px; color: #8aa2b5; font-size: clamp(1rem, 2vw, 1.4rem); font-weight: 600; letter-spacing: .26em; text-transform: uppercase; }
.hero-lead { max-width: 700px; margin: 28px 0 0; color: #b9c7d2; font-size: clamp(1.03rem, 1.45vw, 1.18rem); }
.hero-lead strong { color: #fff; font-weight: 650; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 19px; border: 1px solid transparent; border-radius: 11px; font-weight: 750; font-size: .9rem; transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease; cursor: pointer; }
.btn:hover { transform: translateY(-2px); }
.btn-primary { color: #04111a; background: linear-gradient(135deg, #82efff, #46d5ef); box-shadow: 0 13px 34px rgba(40,197,225,.14); }
.btn-primary:hover { box-shadow: 0 17px 36px rgba(40,197,225,.24); }
.btn-ghost { color: #d9e9f2; border-color: rgba(255,255,255,.14); background: rgba(255,255,255,.025); }
.btn-ghost:hover { border-color: rgba(84,231,255,.4); background: rgba(84,231,255,.05); }
.btn-large { min-height: 56px; padding-inline: 25px; }
.station-facts { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 1px; margin: 38px 0 0; border: 1px solid var(--line); border-radius: 13px; overflow: hidden; max-width: 660px; background: var(--line); }
.station-facts div { min-width: 0; background: rgba(7,20,32,.87); padding: 13px 15px; }
.station-facts dt { color: #70879a; font-family: var(--mono); font-size: .63rem; text-transform: uppercase; letter-spacing: .08em; }
.station-facts dd { margin: 2px 0 0; color: #eaffff; font-family: var(--mono); font-size: .92rem; font-weight: 750; overflow: hidden; text-overflow: ellipsis; }

.radio-console { position: relative; border: 1px solid rgba(129,217,241,.22); border-radius: 24px; padding: 18px; background: linear-gradient(145deg, rgba(14,36,53,.96), rgba(5,16,27,.96)); box-shadow: var(--shadow), inset 0 1px rgba(255,255,255,.03); }
.radio-console::before { content: ""; position: absolute; inset: 8px; border: 1px solid rgba(255,255,255,.03); border-radius: 18px; pointer-events: none; }
.console-topbar { display: flex; align-items: center; justify-content: space-between; padding: 2px 4px 13px; color: #75899a; font-family: var(--mono); font-size: .64rem; letter-spacing: .1em; }
.status-pill { display: inline-flex; align-items: center; gap: 5px; padding: 4px 8px; border: 1px solid rgba(104,242,165,.22); color: var(--green); border-radius: 999px; background: rgba(104,242,165,.06); }
.frequency-display { display: flex; justify-content: space-between; gap: 18px; align-items: flex-end; min-height: 110px; padding: 23px 20px; border: 1px solid rgba(84,231,255,.14); border-radius: 14px 14px 4px 4px; background: linear-gradient(180deg, rgba(29,80,92,.2), rgba(8,25,32,.58)), repeating-linear-gradient(0deg, rgba(84,231,255,.025) 0 1px, transparent 1px 4px); box-shadow: inset 0 0 40px rgba(64,211,238,.05); }
.console-label { display: block; color: #648294; font-family: var(--mono); font-size: .64rem; letter-spacing: .13em; }
.frequency-display strong { display: block; margin-top: 3px; color: #90f5ff; font-family: var(--mono); font-size: clamp(2.4rem, 5vw, 4rem); letter-spacing: .015em; line-height: .95; text-shadow: 0 0 18px rgba(84,231,255,.25); }
.mode-badge { align-self: center; padding: 6px 8px; color: #07141d; background: var(--cyan); border-radius: 5px; font-family: var(--mono); font-size: .64rem; font-weight: 900; letter-spacing: .08em; }
.spectrum { height: 118px; display: grid; grid-template-columns: repeat(24, 1fr); align-items: end; gap: 3px; padding: 15px 12px 10px; border-inline: 1px solid rgba(84,231,255,.12); border-bottom: 1px solid rgba(84,231,255,.12); background: linear-gradient(rgba(84,231,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(84,231,255,.035) 1px, transparent 1px), #07131c; background-size: 100% 24px, 30px 100%; }
.spectrum span { height: var(--h); min-height: 4px; border-radius: 2px 2px 0 0; background: linear-gradient(to top, #1a6cf3, #4de4ff 65%, #99f8ff); opacity: .88; box-shadow: 0 0 8px rgba(84,231,255,.13); animation: spectrum 3.8s ease-in-out infinite alternate; animation-delay: calc(var(--h) * -0.03s); }
@keyframes spectrum { to { transform: scaleY(.78); opacity: .65; } }
.clock-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 11px; }
.clock-card { padding: 13px 14px; border: 1px solid rgba(255,255,255,.07); border-radius: 10px; background: rgba(255,255,255,.025); }
.clock-card span, .clock-card small { display: block; color: #677d8e; font-family: var(--mono); font-size: .58rem; letter-spacing: .08em; }
.clock-card time { display: block; margin: 3px 0 2px; color: #d6e5ee; font-family: var(--mono); font-size: 1.12rem; font-weight: 750; letter-spacing: .05em; }
.clock-card-accent time { color: var(--cyan); }
.signal-row { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 9px; margin-top: 14px; color: #577284; font-family: var(--mono); font-size: .56rem; }
.signal-meter { display: grid; grid-template-columns: repeat(9, 1fr); gap: 3px; height: 6px; }
.signal-meter i { border-radius: 1px; background: #4ce68d; opacity: .78; }
.signal-meter i:nth-last-child(-n+3) { background: #ffbf5c; opacity: .45; }
.hero-strip { position: relative; z-index: 2; border-top: 1px solid rgba(255,255,255,.055); border-bottom: 1px solid rgba(255,255,255,.055); background: rgba(2,8,13,.35); }
.ticker { min-height: 62px; display: flex; align-items: center; justify-content: space-between; gap: 18px; overflow: hidden; color: #7890a1; font-family: var(--mono); font-size: .7rem; letter-spacing: .1em; white-space: nowrap; }
.ticker i { width: 3px; height: 3px; border-radius: 50%; background: #2b8ca1; flex: 0 0 auto; }

.section { padding: clamp(82px, 10vw, 128px) 0; }
.section-light { color: var(--ink); background: var(--surface); }
.split-layout { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(50px, 8vw, 100px); align-items: center; }
.section-heading h2 { max-width: 780px; margin: 0; font-size: clamp(2.1rem, 4.8vw, 4rem); line-height: 1.03; letter-spacing: -.045em; }
.section-heading p:not(.eyebrow) { max-width: 700px; margin: 22px 0 0; color: var(--text-muted); font-size: 1.03rem; }
.section-light .section-heading p:not(.eyebrow) { color: var(--ink-muted); }
.section-heading.centered { text-align: center; margin-bottom: 50px; }
.section-heading.centered .eyebrow { justify-content: center; }
.section-heading.centered h2, .section-heading.centered p { margin-inline: auto; }
.about-card { position: relative; padding: clamp(25px, 4vw, 38px); border: 1px solid #d8e2ea; border-radius: var(--radius-lg); background: #fff; box-shadow: 0 22px 55px rgba(24, 50, 72, .08); overflow: hidden; }
.about-card::after { content: ""; position: absolute; width: 220px; height: 220px; border: 44px solid rgba(32,190,221,.06); border-radius: 50%; right: -92px; top: -78px; }
.call-signature { position: relative; z-index: 1; color: #152332; font-family: var(--mono); font-size: clamp(2rem, 4.5vw, 3.4rem); font-weight: 900; letter-spacing: -.05em; }
.call-signature span { color: #1ca3bf; }
.about-card p { position: relative; z-index: 1; color: #536471; margin: 21px 0; }
.mini-facts { position: relative; z-index: 1; display: grid; gap: 8px; }
.mini-facts span { display: flex; justify-content: space-between; gap: 14px; padding-top: 10px; border-top: 1px solid #e4ebf0; color: #6a7883; font-family: var(--mono); font-size: .72rem; }
.mini-facts b { color: #142331; }

.station-section { position: relative; background: linear-gradient(180deg, #07111d, #081725); }
.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.feature-card { position: relative; min-height: 375px; display: flex; flex-direction: column; align-items: flex-start; padding: 29px; border: 1px solid rgba(255,255,255,.08); border-radius: var(--radius); background: linear-gradient(155deg, rgba(255,255,255,.04), rgba(255,255,255,.015)); overflow: hidden; transition: transform .25s ease, border-color .25s ease, background .25s ease; }
.feature-card:hover { transform: translateY(-6px); border-color: rgba(84,231,255,.28); background: linear-gradient(155deg, rgba(84,231,255,.06), rgba(255,255,255,.015)); }
.feature-card.featured { border-color: rgba(84,231,255,.22); box-shadow: inset 0 0 60px rgba(84,231,255,.025); }
.feature-card.featured::before { content: ""; position: absolute; inset: 0 auto auto 0; width: 100%; height: 2px; background: linear-gradient(90deg, var(--cyan), transparent 75%); }
.feature-icon { width: 56px; height: 56px; display: grid; place-items: center; margin-bottom: 34px; border: 1px solid rgba(84,231,255,.16); border-radius: 15px; background: rgba(84,231,255,.05); }
.feature-icon svg { width: 31px; fill: none; stroke: var(--cyan); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.card-kicker { color: #557487; font-family: var(--mono); font-size: .62rem; letter-spacing: .12em; }
.feature-card h3 { margin: 8px 0 10px; font-size: 1.55rem; }
.feature-card p { margin: 0; color: #94a9b8; font-size: .94rem; }
.coming-soon, .text-link { margin-top: auto; padding-top: 27px; color: #6ddff1; font-family: var(--mono); font-size: .7rem; font-weight: 700; letter-spacing: .03em; }
.text-link:hover { color: white; }

.content-band { display: grid; grid-template-columns: .8fr 1.2fr; gap: 50px; align-items: end; margin-bottom: 48px; }
.content-band h2 { margin: 0; font-size: clamp(2.2rem, 4vw, 3.6rem); letter-spacing: -.045em; line-height: 1.05; }
.content-band > p { margin: 0; color: var(--ink-muted); }
.topic-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.topic-card { padding: 25px 23px 27px; border: 1px solid #dbe5ec; border-radius: 15px; background: #fff; transition: transform .2s ease, box-shadow .2s ease; }
.topic-card:hover { transform: translateY(-4px); box-shadow: 0 14px 36px rgba(25,49,68,.07); }
.topic-card span { color: #1a9cb8; font-family: var(--mono); font-size: .7rem; font-weight: 800; }
.topic-card h3 { margin: 27px 0 8px; color: #142331; font-size: 1.06rem; }
.topic-card p { margin: 0; color: #6a7a87; font-size: .86rem; }

.resources-section { background: #06101d; }
.resource-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.resource-card { position: relative; min-height: 180px; padding: 23px; border: 1px solid rgba(255,255,255,.08); border-radius: 15px; background: rgba(255,255,255,.025); transition: .25s ease; }
.resource-card:hover { transform: translateY(-4px); border-color: rgba(84,231,255,.28); background: rgba(84,231,255,.04); }
.resource-code { display: block; color: #4ebdd0; font-family: var(--mono); font-size: .62rem; letter-spacing: .12em; }
.resource-card strong { display: block; margin-top: 34px; color: #edf8ff; font-size: 1.06rem; }
.resource-card small { display: block; margin-top: 4px; color: #758a9a; }
.resource-card i { position: absolute; right: 20px; top: 18px; color: #5a7486; font-style: normal; font-size: 1.15rem; }
.lookup-panel { margin-top: 18px; padding: clamp(24px, 4vw, 38px); display: grid; grid-template-columns: 1fr 1fr; gap: 35px; align-items: center; border: 1px solid rgba(84,231,255,.16); border-radius: var(--radius-lg); background: linear-gradient(135deg, rgba(84,231,255,.055), rgba(57,118,255,.025)); }
.lookup-panel h3 { margin: 5px 0 8px; font-size: 1.55rem; }
.lookup-panel p { margin: 0; color: #8da2b1; font-size: .9rem; }
.callsign-form { display: grid; grid-template-columns: 1fr auto; gap: 9px; }
.callsign-form input { width: 100%; min-height: 48px; padding: 0 15px; border: 1px solid rgba(255,255,255,.12); border-radius: 10px; outline: 0; color: #e7f8ff; background: rgba(3,12,20,.67); font-family: var(--mono); text-transform: uppercase; }
.callsign-form input:focus { border-color: var(--cyan); box-shadow: 0 0 0 3px rgba(84,231,255,.08); }
.callsign-form small { grid-column: 1 / -1; color: #587184; font-family: var(--mono); font-size: .62rem; }

.contact-section { padding-block: 80px; border-top: 1px solid rgba(255,255,255,.06); background: linear-gradient(120deg, rgba(20,65,91,.2), transparent 45%), #071522; }
.contact-layout { display: flex; justify-content: space-between; align-items: center; gap: 40px; }
.contact-layout h2 { margin: 0; font-size: clamp(2.15rem, 4.5vw, 3.7rem); letter-spacing: -.045em; }
.contact-layout p:not(.eyebrow) { max-width: 690px; margin: 14px 0 0; color: #8fa4b4; }
.site-footer { padding: 52px 0 20px; color: #8398a8; background: #02070c; border-top: 1px solid rgba(255,255,255,.05); }
.footer-grid { display: grid; grid-template-columns: 1.3fr .7fr .8fr; gap: 40px; }
.footer-brand { color: #fff; }
.footer-grid > div:first-child > p { max-width: 420px; margin: 19px 0 0; font-size: .83rem; }
.footer-links { display: grid; align-content: start; gap: 9px; }
.footer-links a { width: max-content; color: #859aaa; font-size: .82rem; }
.footer-links a:hover { color: var(--cyan); }
.footer-meta { display: grid; align-content: start; justify-items: end; gap: 8px; color: #698091; font-family: var(--mono); font-size: .69rem; text-align: right; }
.footer-meta b { color: #a9c1cf; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 45px; padding-top: 17px; border-top: 1px solid rgba(255,255,255,.05); color: #4f6474; font-size: .68rem; }

.reveal { opacity: 0; transform: translateY(18px); transition: opacity .65s ease, transform .65s ease; }
.reveal.visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}

@media (max-width: 980px) {
  .hero-layout { grid-template-columns: 1fr; gap: 45px; padding-top: 58px; }
  .radio-console { width: min(100%, 650px); }
  .hero { min-height: auto; }
  .feature-grid { grid-template-columns: 1fr 1fr; }
  .feature-card:last-child { grid-column: 1 / -1; min-height: 280px; }
  .topic-grid { grid-template-columns: 1fr 1fr; }
  .split-layout { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
  .menu-toggle { display: flex; }
  .main-nav { position: fixed; inset: 76px 0 auto 0; display: grid; gap: 0; padding: 14px 20px 22px; border-bottom: 1px solid rgba(255,255,255,.08); background: rgba(3,11,19,.97); transform: translateY(-125%); opacity: 0; visibility: hidden; transition: .25s ease; }
  .main-nav.open { transform: none; opacity: 1; visibility: visible; }
  .main-nav a { padding: 13px 8px; border-bottom: 1px solid rgba(255,255,255,.05); }
  .main-nav a::after { display: none; }
  .content-band { grid-template-columns: 1fr; gap: 15px; }
  .resource-grid { grid-template-columns: 1fr; }
  .resource-card { min-height: 145px; }
  .resource-card strong { margin-top: 24px; }
  .lookup-panel { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-meta { justify-items: start; text-align: left; }
  .contact-layout { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 620px) {
  .container { width: min(calc(100% - 28px), var(--container)); }
  .header-inner { min-height: 70px; }
  .brand-mark { width: 38px; height: 38px; }
  .brand strong { font-size: .95rem; }
  .brand small { font-size: .64rem; }
  .main-nav { top: 70px; }
  .hero-layout { padding-block: 48px 45px; }
  .hero h1 span { font-size: clamp(3.75rem, 20vw, 6.3rem); }
  .hero h1 small { letter-spacing: .16em; }
  .hero-actions { display: grid; }
  .station-facts { grid-template-columns: 1fr 1fr; }
  .radio-console { padding: 12px; border-radius: 18px; }
  .frequency-display { min-height: 96px; padding: 18px 14px; }
  .frequency-display strong { font-size: clamp(2.1rem, 13vw, 3.4rem); }
  .clock-grid { grid-template-columns: 1fr; }
  .ticker { justify-content: flex-start; overflow-x: auto; scrollbar-width: none; }
  .feature-grid { grid-template-columns: 1fr; }
  .feature-card, .feature-card:last-child { grid-column: auto; min-height: 330px; }
  .topic-grid { grid-template-columns: 1fr; }
  .callsign-form { grid-template-columns: 1fr; }
  .callsign-form small { grid-column: auto; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-meta { justify-items: start; text-align: left; }
  .footer-bottom { flex-direction: column; }
}



/* ===== EA7HOH V2: contenido real, fotografías y fichas ===== */
.photo-frame {
  margin: 0;
  overflow: hidden;
  border: 1px solid #d8e2ea;
  border-radius: var(--radius-lg);
  background: #fff;
  box-shadow: 0 22px 55px rgba(24,50,72,.08);
}
.photo-frame img { width: 100%; height: auto; object-fit: contain; background: #07111d; }
.photo-frame figcaption { padding: 14px 17px 16px; color: #657684; font-size: .74rem; line-height: 1.45; }
.photo-frame figcaption a { color: #168ba7; text-decoration: underline; text-underline-offset: 2px; }
.about-copy { display: grid; gap: 18px; }
.about-copy p { margin: 0; color: #536471; }
.about-copy strong { color: #132331; }
.timeline { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 42px; }
.timeline-card { position: relative; padding: 24px; border: 1px solid #dbe5ec; border-radius: 16px; background: #fff; }
.timeline-card::before { content:""; position:absolute; left:24px; top:0; width:46px; height:2px; background:var(--cyan-2); }
.timeline-card time { color:#168ba7; font-family:var(--mono); font-size:.72rem; font-weight:800; letter-spacing:.08em; }
.timeline-card h3 { margin:17px 0 8px; color:#132331; font-size:1.08rem; }
.timeline-card p { margin:0; color:#677986; font-size:.88rem; }
.data-note { margin-top: 24px; padding: 13px 16px; border-left: 3px solid #24bad7; background: #edf8fb; color: #49626f; font-size: .8rem; }
.station-profile { display:grid; grid-template-columns:minmax(300px,.86fr) minmax(0,1.14fr); gap:30px; align-items:stretch; margin-bottom:24px; }
.station-photo { margin:0; min-height:100%; display:flex; flex-direction:column; border:1px solid rgba(255,255,255,.09); border-radius:20px; overflow:hidden; background:#07111c; }
.station-photo .image-wrap { min-height:390px; flex:1; display:grid; place-items:center; padding:16px; background:radial-gradient(circle at 60% 25%, rgba(84,231,255,.08), transparent 34%), #030a10; }
.station-photo img { width:100%; height:auto; object-fit:contain; }
.station-photo figcaption { padding:14px 17px 16px; color:#8097a8; font-size:.72rem; line-height:1.45; border-top:1px solid rgba(255,255,255,.06); }
.station-photo figcaption a { color:#6ddff1; text-decoration:underline; text-underline-offset:2px; }
.station-detail { padding:clamp(25px,4vw,38px); border:1px solid rgba(84,231,255,.18); border-radius:20px; background:linear-gradient(150deg,rgba(84,231,255,.055),rgba(255,255,255,.02)); }
.station-detail h3 { margin:7px 0 16px; font-size:clamp(1.8rem,3vw,2.6rem); }
.station-detail > p { color:#98aebb; margin:0 0 23px; }
.spec-list { display:grid; gap:0; border-top:1px solid rgba(255,255,255,.07); }
.spec-row { display:grid; grid-template-columns:170px 1fr; gap:16px; padding:11px 0; border-bottom:1px solid rgba(255,255,255,.07); }
.spec-row b { color:#6fdff1; font-family:var(--mono); font-size:.72rem; letter-spacing:.03em; }
.spec-row span { color:#d7e5ed; font-size:.88rem; }
.equipment-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.equipment-card { padding:22px; border:1px solid rgba(255,255,255,.08); border-radius:15px; background:rgba(255,255,255,.025); }
.equipment-card small { color:#4dbdd1; font-family:var(--mono); font-size:.62rem; letter-spacing:.1em; }
.equipment-card h3 { margin:13px 0 9px; font-size:1.08rem; }
.equipment-card ul { margin:0; padding-left:18px; color:#8fa5b4; font-size:.84rem; }
.equipment-card li + li { margin-top:6px; }
.antennas-section { background:#f4f8fb; color:var(--ink); }
.antenna-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.antenna-card { padding:25px; border:1px solid #dbe5ec; border-radius:16px; background:#fff; }
.antenna-card .tag { color:#168ba7; font-family:var(--mono); font-size:.66rem; font-weight:800; }
.antenna-card h3 { margin:16px 0 8px; font-size:1.12rem; }
.antenna-card p { margin:0; color:#687a87; font-size:.87rem; }
.qsl-section { background:linear-gradient(180deg,#06101d,#071522); }
.qsl-layout { display:grid; grid-template-columns:.84fr 1.16fr; gap:24px; align-items:start; }
.qsl-card { padding:clamp(26px,4vw,38px); border:1px solid rgba(84,231,255,.18); border-radius:22px; background:linear-gradient(145deg,rgba(84,231,255,.07),rgba(255,255,255,.018)); }
.qsl-card h3 { margin:8px 0 15px; font-size:1.8rem; }
.qsl-card p { color:#9bb0be; }
.qsl-card strong { color:#fff; }
.qsl-badges { display:flex; flex-wrap:wrap; gap:8px; margin-top:22px; }
.qsl-badges span { padding:7px 10px; border:1px solid rgba(104,242,165,.23); border-radius:999px; color:#8df5ba; background:rgba(104,242,165,.055); font-family:var(--mono); font-size:.67rem; }
.awards-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.award { padding:16px; border:1px solid rgba(255,255,255,.07); border-radius:13px; background:rgba(255,255,255,.025); }
.award span { display:block; color:#5fcfe4; font-family:var(--mono); font-size:.62rem; margin-bottom:7px; }
.award strong { display:block; font-size:.88rem; line-height:1.3; }
.association-strip { margin-top:28px; display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.association-strip div { padding:18px; border:1px solid #dbe5ec; border-radius:14px; background:#fff; }
.association-strip b { display:block; color:#142331; font-size:.9rem; }
.association-strip span { color:#687a87; font-size:.8rem; }
.photo-source-note { margin-top:18px; color:#7c919f; font-size:.72rem; }
.credits-section { padding:25px 0 0; margin-top:30px; border-top:1px solid rgba(255,255,255,.06); color:#647b8c; font-size:.68rem; }
.credits-section a { color:#7dcfe0; text-decoration:underline; text-underline-offset:2px; }
@media (max-width: 980px) {
  .timeline { grid-template-columns:1fr 1fr; }
  .station-profile { grid-template-columns:1fr; }
  .equipment-grid, .antenna-grid { grid-template-columns:1fr 1fr; }
  .qsl-layout { grid-template-columns:1fr; }
}
@media (max-width: 620px) {
  .timeline, .equipment-grid, .antenna-grid, .awards-grid, .association-strip { grid-template-columns:1fr; }
  .spec-row { grid-template-columns:1fr; gap:3px; }
  .station-photo .image-wrap { min-height:260px; }
}


/* ===== EA7HOH V3 · Arquitectura multipágina ===== */
.main-nav { gap: clamp(10px, 1.5vw, 21px); }
.main-nav a { font-size: .82rem; white-space: nowrap; }
.main-nav a[aria-current="page"] { color: #fff; }
.main-nav a[aria-current="page"]::after { right: 0; }

.page-hero {
  position: relative;
  overflow: hidden;
  min-height: 340px;
  display: grid;
  align-items: center;
  background:
    radial-gradient(circle at 82% 16%, rgba(32,190,221,.13), transparent 28%),
    linear-gradient(180deg, #07131f, #06101d);
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.page-hero .rf-grid { opacity: .25; }
.page-hero-inner { position: relative; z-index: 2; padding-block: 72px 62px; }
.breadcrumb { display:flex; flex-wrap:wrap; gap:8px; align-items:center; color:#71899b; font-family:var(--mono); font-size:.68rem; letter-spacing:.06em; text-transform:uppercase; margin-bottom:20px; }
.breadcrumb a:hover { color:var(--cyan); }
.breadcrumb i { color:#385161; font-style:normal; }
.page-hero h1 { margin:0; max-width:900px; font-size:clamp(2.45rem,6vw,5rem); line-height:.98; letter-spacing:-.045em; }
.page-hero h1 .accent { color:#84efff; }
.page-hero p { max-width:760px; margin:23px 0 0; color:#9fb2c1; font-size:clamp(1rem,1.5vw,1.14rem); }
.page-hero .hero-actions { margin-top:28px; }

.page-section { padding: clamp(64px,8vw,105px) 0; }
.page-section.light { background:#f4f8fb; color:var(--ink); }
.page-section.dark { background:linear-gradient(180deg,#06101d,#071522); }
.page-section.soft-dark { background:#081725; }
.page-title { max-width:800px; margin-bottom:34px; }
.page-title h2 { margin:0; font-size:clamp(2rem,4.2vw,3.35rem); line-height:1.03; letter-spacing:-.035em; }
.page-title.light-title h2 { color:#122230; }
.page-title p { margin:16px 0 0; color:#879dac; }
.page-title.light-title p { color:#627480; }

.home-intro { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(35px,6vw,80px); align-items:start; }
.home-intro h2 { margin:0; color:#132331; font-size:clamp(2.2rem,4.3vw,3.7rem); line-height:1.02; letter-spacing:-.04em; }
.home-intro-copy { color:#536471; }
.home-intro-copy p:first-child { margin-top:0; }
.home-intro-copy strong { color:#132331; }

.nav-card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:45px; }
.nav-card { position:relative; min-height:220px; padding:27px; display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; border:1px solid #dbe5ec; border-radius:17px; background:#fff; color:#132331; transition:.22s ease; }
.nav-card::after { content:""; position:absolute; width:150px; height:150px; right:-80px; top:-80px; border-radius:50%; background:radial-gradient(circle,rgba(32,190,221,.12),transparent 70%); }
.nav-card:hover { transform:translateY(-4px); border-color:#9ddce8; box-shadow:0 20px 45px rgba(15,56,78,.08); }
.nav-card .num { color:#168ba7; font-family:var(--mono); font-size:.66rem; font-weight:800; letter-spacing:.08em; }
.nav-card h3 { margin:18px 0 7px; font-size:1.18rem; }
.nav-card p { margin:0; color:#6b7c88; font-size:.86rem; }
.nav-card .arrow { margin-top:24px; color:#168ba7; font-family:var(--mono); font-weight:800; }

.content-columns { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr); gap:clamp(34px,6vw,75px); align-items:start; }
.prose { color:#536471; }
.dark .prose, .soft-dark .prose { color:#9cb0be; }
.prose p { margin:0 0 19px; }
.prose strong { color:#142331; }
.dark .prose strong, .soft-dark .prose strong { color:#fff; }
.prose h2, .prose h3 { color:#142331; line-height:1.15; }
.dark .prose h2, .dark .prose h3, .soft-dark .prose h2, .soft-dark .prose h3 { color:#fff; }
.prose h2 { margin:0 0 22px; font-size:clamp(2rem,4vw,3.25rem); letter-spacing:-.035em; }
.prose h3 { margin:32px 0 12px; font-size:1.25rem; }

.info-panel { padding:25px; border:1px solid #d9e4eb; border-radius:17px; background:#fff; }
.info-panel.dark-panel { border-color:rgba(84,231,255,.15); background:linear-gradient(150deg,rgba(84,231,255,.05),rgba(255,255,255,.018)); }
.info-panel h3 { margin:0 0 16px; color:#132331; font-size:1.08rem; }
.dark-panel h3 { color:#fff; }
.info-list { display:grid; gap:0; margin:0; }
.info-list div { display:grid; grid-template-columns:120px 1fr; gap:15px; padding:10px 0; border-bottom:1px solid #e8eef2; }
.dark-panel .info-list div { border-bottom-color:rgba(255,255,255,.07); }
.info-list div:last-child { border-bottom:0; }
.info-list dt { color:#168ba7; font-family:var(--mono); font-size:.68rem; font-weight:800; text-transform:uppercase; }
.info-list dd { margin:0; color:#526571; font-size:.86rem; }
.dark-panel .info-list dd { color:#c9d9e3; }

.status-note { padding:19px 20px; border-left:3px solid var(--cyan-2); border-radius:0 12px 12px 0; background:#eaf7fa; color:#415d6a; font-size:.87rem; }
.dark .status-note, .soft-dark .status-note { background:rgba(84,231,255,.06); color:#a5bcc9; }
.status-note strong { color:#132331; }
.dark .status-note strong, .soft-dark .status-note strong { color:#fff; }

.catalog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:30px; }
.catalog-card { padding:25px; min-height:205px; border:1px solid #dbe5ec; border-radius:16px; background:#fff; color:#132331; }
.dark .catalog-card, .soft-dark .catalog-card { border-color:rgba(255,255,255,.08); background:rgba(255,255,255,.025); color:#fff; }
.catalog-card small { color:#168ba7; font-family:var(--mono); font-size:.65rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.dark .catalog-card small, .soft-dark .catalog-card small { color:#5bd8ec; }
.catalog-card h3 { margin:16px 0 9px; font-size:1.12rem; }
.catalog-card p { margin:0; color:#687a87; font-size:.85rem; }
.dark .catalog-card p, .soft-dark .catalog-card p { color:#8fa5b4; }
.resource-status { display:inline-flex; margin-top:19px; padding:6px 9px; border-radius:999px; border:1px solid #cfe5eb; color:#428ca0; background:#f4fbfc; font-family:var(--mono); font-size:.62rem; font-weight:800; text-transform:uppercase; }
.dark .resource-status, .soft-dark .resource-status { border-color:rgba(84,231,255,.18); background:rgba(84,231,255,.05); color:#78dfef; }

.link-list { display:grid; gap:10px; }
.link-row { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:17px 18px; border:1px solid #dbe5ec; border-radius:13px; background:#fff; color:#132331; transition:.2s ease; }
.link-row:hover { border-color:#9ddce8; transform:translateX(3px); }
.link-row span { color:#687a87; font-size:.8rem; }
.link-row b { font-size:.92rem; }
.link-row i { color:#168ba7; font-style:normal; font-family:var(--mono); }

.station-empty-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:30px; }
.station-slot { min-height:205px; padding:25px; border:1px solid rgba(84,231,255,.14); border-radius:16px; background:linear-gradient(145deg,rgba(84,231,255,.045),rgba(255,255,255,.018)); }
.station-slot .slot-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:11px; border:1px solid rgba(84,231,255,.18); color:#72e4f5; background:rgba(84,231,255,.045); font-family:var(--mono); font-size:.72rem; }
.station-slot h3 { margin:20px 0 8px; }
.station-slot p { margin:0; color:#8ca2b1; font-size:.85rem; }

.drive-callout { display:grid; grid-template-columns:1fr auto; gap:24px; align-items:center; margin-top:35px; padding:25px; border:1px solid rgba(84,231,255,.16); border-radius:17px; background:linear-gradient(145deg,rgba(84,231,255,.055),rgba(255,255,255,.02)); }
.drive-callout h3 { margin:0 0 6px; }
.drive-callout p { margin:0; color:#92a8b6; font-size:.86rem; }
.drive-icon { width:62px; height:62px; display:grid; place-items:center; border-radius:15px; border:1px solid rgba(84,231,255,.2); color:#7de7f7; font-family:var(--mono); font-weight:900; background:rgba(84,231,255,.05); }

.mini-hero-console { margin-top:36px; max-width:540px; }
.subpage-actions { display:flex; flex-wrap:wrap; gap:11px; margin-top:25px; }

.photo-frame.compact img { max-height:560px; width:100%; object-fit:contain; }
.photo-frame.compact { align-self:start; }

@media (max-width: 1060px) {
  .main-nav { gap:12px; }
  .main-nav a { font-size:.76rem; }
}
@media (max-width: 980px) {
  .home-intro, .content-columns { grid-template-columns:1fr; }
  .nav-card-grid, .catalog-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 820px) {
  .main-nav a { font-size:.88rem; white-space:normal; }
  .main-nav a[aria-current="page"] { color:var(--cyan); }
  .drive-callout { grid-template-columns:1fr; }
  .drive-icon { order:-1; }
}
@media (max-width: 620px) {
  .page-hero { min-height:300px; }
  .page-hero-inner { padding-block:58px 50px; }
  .nav-card-grid, .catalog-grid, .station-empty-grid { grid-template-columns:1fr; }
  .info-list div { grid-template-columns:1fr; gap:2px; }
}


/* QRZ Logbook ------------------------------------------------------------ */
.qrz-log-shell {
  overflow: hidden;
  margin-top: 34px;
  border: 1px solid #d8e5ec;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 22px 55px rgba(11, 44, 62, .09);
}
.qrz-log-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 18px;
  border-bottom: 1px solid rgba(84, 231, 255, .13);
  background: linear-gradient(135deg, #071522, #091c2b);
  color: #bcd0dc;
  font-family: var(--mono);
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .09em;
}
.qrz-log-status { display: inline-flex; align-items: center; gap: 9px; }
.qrz-log-status i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #56e7a3;
  box-shadow: 0 0 0 4px rgba(86, 231, 163, .08), 0 0 14px rgba(86, 231, 163, .42);
}
.qrz-log-call { color: #73e5f5; }
.qrz-log-frame {
  width: 100%;
  min-height: 500px;
  background: #fff;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
.qrz-log-frame iframe {
  display: block;
  width: 100%;
  min-width: 640px;
  height: 500px;
  border: 0;
  background: #fff;
}
.qrz-log-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 13px 18px;
  border-top: 1px solid #e5edf2;
  background: #f8fbfd;
  color: #71838f;
  font-size: .76rem;
}
.qrz-log-footer a { color: #168ba7; font-weight: 800; }
.qrz-log-footer a:hover { color: #0f6f87; }
.log-fallback { margin-top: 18px; }
.log-fallback a { color: #168ba7; font-weight: 800; }

@media (max-width: 700px) {
  .qrz-log-frame { min-height: 500px; }
  .qrz-log-frame iframe { min-width: 640px; }
  .qrz-log-footer { align-items: flex-start; flex-direction: column; gap: 7px; }
}

/* ===== EA7HOH V5 · Fondo oscuro unificado =====
   Mantiene la identidad de V4 y elimina las grandes superficies blancas.
   Se usan variaciones sutiles de azul marino/grafito para separar contenido. */
:root {
  --bg: #06101d;
  --bg-deep: #02070d;
  --bg-section: #071522;
  --bg-section-alt: #091827;
  --bg-card: #0b1b2b;
  --bg-card-2: #0e2133;
  --surface: #071522;
  --surface-2: #091827;
  --text: #ecf7ff;
  --text-muted: #9fb1c2;
  --ink: #ecf7ff;
  --ink-muted: #9fb1c2;
  --line: rgba(151, 199, 223, .16);
}

/* Secciones: una sola familia cromática, con diferencias deliberadamente sutiles. */
.section-light,
.page-section.light,
.antennas-section {
  color: var(--text);
  background: linear-gradient(180deg, #071522 0%, #081725 100%);
}
.page-section.dark {
  background: linear-gradient(180deg, #06101d 0%, #071522 100%);
}
.page-section.soft-dark {
  background: linear-gradient(180deg, #081725 0%, #091827 100%);
}

/* Titulares y textos que antes estaban preparados para fondo blanco. */
.eyebrow.dark { color: var(--cyan); }
.page-title.light-title h2,
.home-intro h2,
.content-band h2 { color: var(--text); }
.page-title.light-title p,
.home-intro-copy,
.section-light .section-heading p:not(.eyebrow),
.content-band > p { color: var(--text-muted); }
.home-intro-copy strong { color: #fff; }

.prose,
.about-copy p { color: #9cb0be; }
.prose strong,
.about-copy strong,
.prose h2,
.prose h3 { color: #fff; }

/* Tarjetas claras -> tarjetas oscuras elevadas. */
.about-card,
.nav-card,
.topic-card,
.timeline-card,
.info-panel,
.catalog-card,
.link-row,
.antenna-card,
.association-strip div,
.photo-frame {
  border-color: rgba(151, 199, 223, .13);
  background: linear-gradient(150deg, rgba(14,33,51,.96), rgba(8,23,37,.98));
  color: var(--text);
  box-shadow: 0 18px 45px rgba(0,0,0,.17);
}

.about-card:hover,
.nav-card:hover,
.topic-card:hover,
.catalog-card:hover,
.link-row:hover,
.antenna-card:hover {
  border-color: rgba(84,231,255,.28);
  box-shadow: 0 20px 48px rgba(0,0,0,.22);
}

.call-signature,
.mini-facts b,
.nav-card h3,
.topic-card h3,
.timeline-card h3,
.info-panel h3,
.catalog-card,
.antenna-card h3,
.association-strip b { color: #edf8ff; }

.about-card p,
.mini-facts span,
.nav-card p,
.topic-card p,
.timeline-card p,
.catalog-card p,
.antenna-card p,
.association-strip span,
.info-list dd,
.link-row span,
.photo-frame figcaption { color: #8fa5b4; }

.mini-facts span,
.info-list div { border-bottom-color: rgba(255,255,255,.07); }

.call-signature span,
.nav-card .num,
.nav-card .arrow,
.topic-card span,
.timeline-card time,
.catalog-card small,
.antenna-card .tag,
.info-list dt,
.link-row i,
.photo-frame figcaption a { color: #62dff2; }

/* Notas y estados: conservan contraste sin recurrir a superficies claras. */
.data-note,
.status-note {
  border-left-color: var(--cyan-2);
  background: rgba(84,231,255,.055);
  color: #a5bcc9;
}
.data-note strong,
.status-note strong { color: #fff; }

.resource-status {
  border-color: rgba(84,231,255,.18);
  background: rgba(84,231,255,.05);
  color: #78dfef;
}

/* Paneles de información: el estado 'dark-panel' ya no necesita un tratamiento distinto. */
.info-panel.dark-panel,
.info-panel {
  border-color: rgba(84,231,255,.14);
  background: linear-gradient(150deg, rgba(84,231,255,.045), rgba(255,255,255,.018));
}
.info-panel h3,
.dark-panel h3 { color: #fff; }
.info-list div,
.dark-panel .info-list div { border-bottom-color: rgba(255,255,255,.07); }
.info-list dd,
.dark-panel .info-list dd { color: #c4d4de; }

/* Enlaces y tarjetas de navegación. */
.link-row { color: #edf8ff; }
.link-row:hover { background: linear-gradient(150deg, rgba(84,231,255,.07), rgba(8,23,37,.98)); }
.link-row b { color: #edf8ff; }

/* Fotografía: el archivo original sigue intacto; solo cambia el marco visual. */
.photo-frame { box-shadow: 0 20px 52px rgba(0,0,0,.2); }
.photo-frame img { background: #050d16; }

/* QRZ Logbook: marco oscuro. El interior del iframe depende de QRZ y puede conservar blanco. */
.qrz-log-shell {
  border-color: rgba(84,231,255,.15);
  background: #071522;
  box-shadow: 0 22px 55px rgba(0,0,0,.2);
}
.qrz-log-frame {
  background: #071522;
}
.qrz-log-footer {
  border-top-color: rgba(255,255,255,.07);
  background: #091827;
  color: #879dac;
}
.qrz-log-footer a,
.log-fallback a { color: #62dff2; }
.qrz-log-footer a:hover,
.log-fallback a:hover { color: #9af2ff; }

/* El formulario y resto de paneles quedan dentro de la misma gama visual. */
.lookup-panel,
.drive-callout,
.station-slot,
.station-detail,
.qsl-card,
.resource-card,
.feature-card,
.equipment-card,
.award {
  background-color: transparent;
}

/* La única superficie blanca deliberada es el enlace de accesibilidad cuando recibe foco,
   para garantizar contraste máximo antes de entrar en el contenido. */

/* ===== EA7HOH V6 · Buscador QRZ restaurado al diseño visual de la V1 ===== */
#qrz-search h2 {
  margin: 5px 0 8px;
  font-size: 1.55rem;
  letter-spacing: normal;
}


/* ===== EA7HOH V7 · Gravatar, contacto y Log Online reforzado ===== */
.brand-mark.brand-avatar-mark {
  position: relative;
  overflow: hidden;
  padding: 0;
  background: #071522;
  box-shadow: inset 0 0 0 1px rgba(84,231,255,.04), 0 0 20px rgba(84,231,255,.05);
}
.brand-avatar-mark img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}

.contact-email-card {
  margin: 28px 0 24px;
  padding: 20px 22px;
  border: 1px solid rgba(84,231,255,.18);
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(84,231,255,.065), rgba(255,255,255,.018));
}
.contact-email-card .console-label { display: block; margin-bottom: 9px; }
.contact-email-card > a {
  display: inline-block;
  color: #fff;
  font-family: var(--mono);
  font-size: clamp(1.05rem, 2vw, 1.35rem);
  font-weight: 800;
  letter-spacing: .02em;
}
.contact-email-card > a:hover { color: var(--cyan); }
.contact-email-card small { display: block; margin-top: 8px; color: var(--text-muted); }
.info-list dd a { color: #dff8ff; }
.info-list dd a:hover { color: var(--cyan); }

/* El widget público de QRZ fue diseñado para un viewport de 640 px.
   Se conserva esa anchura internamente y el contenedor permite scroll en pantallas estrechas. */
.qrz-log-frame {
  display: flex;
  justify-content: center;
  min-height: 500px;
  overflow-x: auto;
  overflow-y: hidden;
}
.qrz-log-frame iframe {
  flex: 0 0 640px;
  width: 640px;
  min-width: 640px;
  max-width: none;
  height: 500px;
  border: 0;
  background: #fff;
}
.log-fallback { margin: 18px 0 0; }

@media (max-width: 700px) {
  .qrz-log-frame { justify-content: flex-start; }
}


/* ===== EA7HOH V8 · QSL ===== */
.qsl-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  margin-top: 42px;
}
.qsl-card {
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(151,199,223,.18);
  border-radius: 20px;
  background: linear-gradient(145deg, rgba(14,33,51,.92), rgba(7,19,31,.96));
  box-shadow: 0 20px 50px rgba(0,0,0,.18);
}
.qsl-image-wrap {
  aspect-ratio: 1701 / 1110;
  display: grid;
  place-items: center;
  width: 100%;
  padding: 14px;
  border-bottom: 1px solid rgba(151,199,223,.14);
  background: radial-gradient(circle at 50% 15%, rgba(84,231,255,.07), transparent 36%), #02070d;
}
.qsl-image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.qsl-caption {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  padding: 22px 24px 24px;
}
.qsl-caption h3 { margin: 5px 0 7px; font-size: 1.25rem; }
.qsl-caption p { margin: 0; color: var(--text-muted); font-size: .92rem; }
.qsl-caption > a {
  flex: 0 0 auto;
  color: var(--cyan);
  font-family: var(--mono);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .04em;
  white-space: nowrap;
}
.qsl-caption > a:hover { color: #fff; }
.qsl-note {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 18px;
  align-items: center;
  margin-top: 24px;
  padding: 19px 22px;
  border: 1px solid rgba(84,231,255,.16);
  border-radius: 16px;
  background: rgba(84,231,255,.035);
}
.qsl-note-mark {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border: 1px solid rgba(84,231,255,.26);
  border-radius: 14px;
  color: var(--cyan);
  background: rgba(84,231,255,.06);
  font-family: var(--mono);
  font-size: .75rem;
  font-weight: 900;
  letter-spacing: .08em;
}
.qsl-note h3 { margin: 0 0 3px; font-size: 1rem; }
.qsl-note p { margin: 0; color: var(--text-muted); font-size: .88rem; }
.qsl-note code { color: #baf6ff; font-family: var(--mono); }
@media (max-width: 900px) {
  .qsl-grid { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .qsl-image-wrap { padding: 8px; }
  .qsl-caption { align-items: flex-start; flex-direction: column; gap: 12px; padding: 18px; }
  .qsl-note { grid-template-columns: 1fr; }
}

/* ===== EA7HOH V9 · Evolución fotográfica de la estación ===== */
.station-history-section {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 8%, rgba(84,231,255,.045), transparent 28%),
    linear-gradient(180deg, #081625 0%, #07111f 100%);
}
.station-history-section::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .24;
  background-image:
    linear-gradient(rgba(84,231,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(84,231,255,.025) 1px, transparent 1px);
  background-size: 44px 44px;
}
.station-history-section > .container { position: relative; z-index: 1; }

.station-history-timeline {
  position: relative;
  margin-top: 44px;
}
.station-history-timeline::before {
  content: "";
  position: absolute;
  top: 8px;
  bottom: 8px;
  left: 88px;
  width: 1px;
  background: linear-gradient(180deg, rgba(84,231,255,.45), rgba(84,231,255,.08));
}
.station-era {
  position: relative;
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: 30px;
  padding: 0 0 46px;
}
.station-era:last-child { padding-bottom: 0; }
.station-era-meta {
  position: relative;
  padding-top: 4px;
  text-align: right;
}
.station-era-meta::after {
  content: "";
  position: absolute;
  top: 8px;
  right: 14px;
  width: 11px;
  height: 11px;
  transform: translateX(50%);
  border: 2px solid #07111f;
  border-radius: 50%;
  background: var(--cyan);
  box-shadow: 0 0 0 4px rgba(84,231,255,.10), 0 0 20px rgba(84,231,255,.26);
}
.station-era-meta time {
  display: block;
  padding-right: 31px;
  color: #f4fbff;
  font-family: var(--mono);
  font-size: 1.04rem;
  font-weight: 900;
  letter-spacing: .08em;
}
.station-era-meta span {
  display: block;
  margin-top: 7px;
  padding-right: 31px;
  color: var(--text-muted);
  font-family: var(--mono);
  font-size: .65rem;
  line-height: 1.35;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.station-era-content { min-width: 0; }
.history-photo-grid {
  display: grid;
  gap: 18px;
}
.history-photo-grid.two-up { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.history-photo-card {
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(151,199,223,.16);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(14,33,51,.96), rgba(6,18,30,.98));
  box-shadow: 0 18px 44px rgba(0,0,0,.18);
}
.history-photo-card > a {
  display: block;
  color: inherit;
}
.history-photo-stage {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 280px;
  padding: 10px;
  overflow: hidden;
  border-bottom: 1px solid rgba(151,199,223,.12);
  background:
    radial-gradient(circle at 50% 0%, rgba(84,231,255,.055), transparent 35%),
    #02070d;
}
.history-photo-stage img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: 580px;
  object-fit: contain;
  transition: transform .22s ease, filter .22s ease;
}
.history-photo-card > a:hover .history-photo-stage img {
  transform: scale(1.008);
  filter: brightness(1.025);
}
.history-photo-card figcaption {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 16px 18px 18px;
}
.history-photo-card figcaption strong {
  color: #edf8ff;
  font-size: .95rem;
}
.history-photo-card figcaption span {
  color: #7f98a8;
  font-family: var(--mono);
  font-size: .67rem;
  line-height: 1.45;
  text-align: right;
}
.featured-history-photo .history-photo-stage { min-height: 360px; }
.history-mobile-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(250px, .6fr);
  gap: 18px;
  align-items: stretch;
}
.history-context-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 28px;
  border: 1px solid rgba(84,231,255,.16);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(84,231,255,.055), rgba(255,255,255,.018));
}
.history-context-card h3 {
  margin: 10px 0 10px;
  color: #fff;
  font-size: 1.35rem;
}
.history-context-card p {
  margin: 0;
  color: var(--text-muted);
  line-height: 1.7;
}
.artistic-card { border-color: rgba(255,188,73,.22); }
.artistic-badge {
  position: absolute;
  top: 16px;
  right: 16px;
  padding: 7px 10px;
  border: 1px solid rgba(255,207,112,.32);
  border-radius: 999px;
  color: #ffe7b0;
  background: rgba(35,24,8,.84);
  backdrop-filter: blur(6px);
  font-family: var(--mono);
  font-size: .61rem;
  font-weight: 900;
  letter-spacing: .09em;
}
.history-integrity-note {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 18px;
  align-items: center;
  margin-top: 36px;
  padding: 20px 22px;
  border: 1px solid rgba(84,231,255,.14);
  border-radius: 16px;
  background: rgba(84,231,255,.03);
}
.history-integrity-mark {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border: 1px solid rgba(84,231,255,.24);
  border-radius: 14px;
  color: var(--cyan);
  background: rgba(84,231,255,.055);
  font-family: var(--mono);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
}
.history-integrity-note h3 { margin: 0 0 4px; color: #fff; font-size: 1rem; }
.history-integrity-note p { margin: 0; color: var(--text-muted); font-size: .88rem; line-height: 1.6; }

@media (max-width: 980px) {
  .history-mobile-layout { grid-template-columns: 1fr; }
  .history-context-card { padding: 22px; }
}
@media (max-width: 760px) {
  .station-history-timeline::before { left: 9px; }
  .station-era {
    grid-template-columns: 1fr;
    gap: 14px;
    padding-left: 30px;
    padding-bottom: 38px;
  }
  .station-era-meta { text-align: left; }
  .station-era-meta::after { left: -26px; right: auto; top: 7px; }
  .station-era-meta time,
  .station-era-meta span { padding-right: 0; }
  .station-era-meta span { margin-top: 4px; }
  .history-photo-grid.two-up { grid-template-columns: 1fr; }
  .history-photo-stage,
  .featured-history-photo .history-photo-stage { min-height: 220px; }
}
@media (max-width: 560px) {
  .history-photo-stage { padding: 6px; }
  .history-photo-card figcaption { flex-direction: column; gap: 6px; }
  .history-photo-card figcaption span { text-align: left; }
  .history-integrity-note { grid-template-columns: 1fr; }
  .artistic-badge { top: 10px; right: 10px; }
}


/* ===== EA7HOH V10 · Actividades / IberRadio ===== */
.activity-intro {
  display:grid; grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr); gap:clamp(30px,6vw,86px); align-items:start;
  padding:clamp(28px,5vw,54px); border:1px solid rgba(84,231,255,.15); border-radius:24px;
  background:linear-gradient(145deg,rgba(84,231,255,.055),rgba(255,255,255,.018));
}
.activity-intro h2 { margin:10px 0 0; font-size:clamp(2rem,4vw,3.4rem); line-height:1.02; }
.activity-intro p { margin:0; color:#9fb1c2; line-height:1.8; }
.activity-intro p + p { margin-top:14px; }
.activity-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.activity-year-section { border-top:1px solid rgba(255,255,255,.05); }
.activity-year-alt { background:#081522; }
.activity-year-head { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,.72fr); gap:30px; align-items:end; margin-bottom:30px; }
.activity-year-head h2 { margin:7px 0 0; font-size:clamp(2rem,4vw,3.2rem); }
.activity-year-head > p { margin:0; color:#91a6b5; line-height:1.75; }
.activity-year { display:inline-block; margin-bottom:14px; color:var(--cyan); font-family:var(--mono); font-size:clamp(2.6rem,7vw,5rem); font-weight:900; letter-spacing:-.06em; line-height:.8; opacity:.95; }
.activity-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; align-items:stretch; }
.activity-gallery.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.activity-photo { margin:0; display:flex; flex-direction:column; min-width:0; overflow:hidden; border:1px solid rgba(84,231,255,.15); border-radius:18px; background:#06111e; box-shadow:0 18px 45px rgba(0,0,0,.18); }
.activity-photo.wide { grid-column:span 2; }
.activity-photo a { display:grid; place-items:center; min-height:240px; padding:10px; background:radial-gradient(circle at 50% 20%,rgba(84,231,255,.06),transparent 34%),#030a11; }
.activity-photo img { display:block; width:100%; height:auto; max-height:560px; object-fit:contain; }
.activity-photo figcaption { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 14px; padding:13px 15px 15px; border-top:1px solid rgba(255,255,255,.06); color:#8fa5b4; font-size:.76rem; }
.activity-photo time { color:#64d9ec; font-family:var(--mono); font-size:.68rem; letter-spacing:.03em; }
.activity-note { text-align:center; max-width:850px; margin:0 auto; padding:clamp(28px,5vw,50px); border:1px solid rgba(255,255,255,.07); border-radius:22px; background:rgba(255,255,255,.02); }
.activity-note h2 { margin:10px 0 12px; font-size:clamp(1.8rem,3.5vw,2.8rem); }
.activity-note p { margin:0; color:#91a6b5; line-height:1.75; }
@media (max-width:980px){ .activity-intro,.activity-year-head{grid-template-columns:1fr;} .activity-gallery{grid-template-columns:1fr 1fr;} }
@media (max-width:620px){ .activity-gallery,.activity-gallery.two{grid-template-columns:1fr;} .activity-photo.wide{grid-column:auto;} .activity-photo a{min-height:180px;} }


/* ===== EA7HOH V11 · Activaciones + Concurso Municipios Españoles ===== */
.activity-jump-nav{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:28px;
}
.activity-jump-nav a{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:0 15px;
  border:1px solid rgba(84,231,255,.18);
  border-radius:999px;
  color:#ccecf3;
  background:rgba(84,231,255,.045);
  font-family:var(--mono);
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.035em;
  transition:border-color .18s ease, background .18s ease, color .18s ease, transform .18s ease;
}
.activity-jump-nav a:hover,
.activity-jump-nav a:focus-visible{
  color:#fff;
  border-color:rgba(84,231,255,.42);
  background:rgba(84,231,255,.09);
  transform:translateY(-1px);
}
.activation-timeline{
  position:relative;
  margin-top:42px;
}
.activation-timeline::before{
  content:"";
  position:absolute;
  top:4px;
  bottom:4px;
  left:129px;
  width:1px;
  background:linear-gradient(180deg,rgba(84,231,255,.42),rgba(84,231,255,.06));
}
.activation-entry{
  position:relative;
  display:grid;
  grid-template-columns:160px minmax(0,1fr);
  gap:28px;
  padding:0 0 48px;
}
.activation-entry:last-child{padding-bottom:0;}
.activation-meta{
  position:relative;
  padding-top:7px;
  padding-right:34px;
  text-align:right;
}
.activation-meta::after{
  content:"";
  position:absolute;
  top:10px;
  right:24px;
  width:11px;
  height:11px;
  transform:translateX(50%);
  border:2px solid #07111f;
  border-radius:50%;
  background:var(--cyan);
  box-shadow:0 0 0 4px rgba(84,231,255,.09),0 0 20px rgba(84,231,255,.22);
}
.activation-meta time{
  display:block;
  color:#eaf8ff;
  font-family:var(--mono);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.05em;
}
.activation-meta span{
  display:block;
  margin-top:7px;
  color:#7190a2;
  font-family:var(--mono);
  font-size:.62rem;
  line-height:1.4;
  letter-spacing:.08em;
}
.activation-body{
  min-width:0;
  padding:24px;
  border:1px solid rgba(151,199,223,.11);
  border-radius:20px;
  background:linear-gradient(145deg,rgba(13,31,48,.76),rgba(5,16,28,.86));
}
.activation-body h3{
  margin:0 0 9px;
  color:#f2fbff;
  font-size:clamp(1.35rem,2.5vw,1.85rem);
}
.activation-body > p{
  max-width:920px;
  margin:0 0 20px;
  color:#91a6b5;
  line-height:1.75;
}
.activation-body > p strong{color:#d8f5fb;}
.activity-gallery.one{grid-template-columns:minmax(0,1fr);}
.activity-gallery.one .activity-photo{max-width:980px;}
.contest-feature-section{
  border-top:1px solid rgba(84,231,255,.08);
  border-bottom:1px solid rgba(84,231,255,.08);
  background:
    radial-gradient(circle at 14% 10%,rgba(84,231,255,.055),transparent 26%),
    #081522;
}
.contest-feature-head{
  display:grid;
  grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);
  gap:clamp(30px,6vw,86px);
  align-items:end;
  margin-bottom:30px;
}
.contest-feature-head h2{
  margin:6px 0 0;
  font-size:clamp(2rem,4vw,3.45rem);
  line-height:1.03;
}
.contest-feature-head > div:last-child > p{
  margin:0;
  color:#9fb1c2;
  line-height:1.8;
}
.artistic-activity-photo{
  border-color:rgba(255,196,92,.22);
}
.artistic-activity-photo > a{
  position:relative;
}
.activity-artistic-badge{
  position:absolute;
  z-index:2;
  top:14px;
  right:14px;
  padding:7px 10px;
  border:1px solid rgba(255,207,112,.34);
  border-radius:999px;
  color:#ffe6ad;
  background:rgba(35,24,8,.86);
  backdrop-filter:blur(6px);
  font-family:var(--mono);
  font-size:.61rem;
  font-weight:900;
  letter-spacing:.08em;
}
.featured-contest-photo,
.artistic-activity-photo{
  min-height:100%;
}
@media (max-width:860px){
  .activation-timeline::before{left:9px;}
  .activation-entry{
    grid-template-columns:1fr;
    gap:13px;
    padding-left:30px;
    padding-bottom:38px;
  }
  .activation-meta{
    padding:0;
    text-align:left;
  }
  .activation-meta::after{
    left:-26px;
    right:auto;
    top:3px;
  }
  .contest-feature-head{grid-template-columns:1fr;}
}
@media (max-width:620px){
  .activation-body{padding:18px;}
  .activity-jump-nav{gap:7px;}
  .activity-jump-nav a{min-height:38px;padding:0 12px;font-size:.64rem;}
  .activity-artistic-badge{top:10px;right:10px;}
}


/* ===== EA7HOH V12 · Otras aficiones: moto + navegación ===== */
.hobbies-hero{
  background:
    radial-gradient(circle at 78% 18%,rgba(84,231,255,.11),transparent 27%),
    radial-gradient(circle at 20% 78%,rgba(57,118,255,.08),transparent 30%),
    linear-gradient(180deg,#07131f,#06101d);
}
.hobbies-intro{
  display:grid;
  grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);
  gap:clamp(32px,6vw,84px);
  align-items:start;
  padding:clamp(28px,5vw,52px);
  border:1px solid rgba(84,231,255,.13);
  border-radius:24px;
  background:linear-gradient(145deg,rgba(84,231,255,.045),rgba(255,255,255,.018));
}
.hobbies-intro h2{margin:8px 0 0;font-size:clamp(2rem,4vw,3.35rem);line-height:1.03;}
.hobbies-intro p{margin:0;color:#98adbb;line-height:1.8;}
.hobbies-intro p+p{margin-top:14px;}
.hobby-section{border-top:1px solid rgba(255,255,255,.05);}
.hobby-section-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(270px,.72fr);
  gap:clamp(28px,5vw,66px);
  align-items:end;
  margin-bottom:36px;
}
.hobby-section-head h2{margin:6px 0 0;font-size:clamp(2.1rem,4.2vw,3.55rem);line-height:1.02;}
.hobby-section-head>p{margin:0;color:#91a6b5;line-height:1.78;}
.hobby-kicker{display:block;margin-bottom:10px;color:#84efff;font-family:var(--mono);font-size:clamp(2.5rem,7vw,5rem);font-weight:900;letter-spacing:-.06em;line-height:.82;opacity:.92;}
.hobby-timeline{position:relative;margin-top:42px;}
.hobby-timeline::before{content:"";position:absolute;top:4px;bottom:4px;left:129px;width:1px;background:linear-gradient(180deg,rgba(84,231,255,.42),rgba(84,231,255,.06));}
.hobby-era{position:relative;display:grid;grid-template-columns:160px minmax(0,1fr);gap:28px;padding:0 0 48px;}
.hobby-era:last-child{padding-bottom:0;}
.hobby-era-meta{position:relative;padding-top:7px;padding-right:34px;text-align:right;}
.hobby-era-meta::after{content:"";position:absolute;top:10px;right:24px;width:11px;height:11px;transform:translateX(50%);border:2px solid #07111f;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 4px rgba(84,231,255,.09),0 0 20px rgba(84,231,255,.22);}
.hobby-era-meta time{display:block;color:#eaf8ff;font-family:var(--mono);font-size:.82rem;font-weight:900;letter-spacing:.05em;}
.hobby-era-meta span{display:block;margin-top:7px;color:#7190a2;font-family:var(--mono);font-size:.61rem;line-height:1.42;letter-spacing:.07em;}
.hobby-era-body{min-width:0;padding:24px;border:1px solid rgba(151,199,223,.11);border-radius:20px;background:linear-gradient(145deg,rgba(13,31,48,.76),rgba(5,16,28,.86));}
.hobby-era-body h3{margin:0 0 18px;color:#f2fbff;font-size:clamp(1.35rem,2.5vw,1.85rem);}
.hobby-photo-grid{display:grid;gap:15px;align-items:stretch;}
.hobby-photo-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));}
.hobby-photo-grid.one{grid-template-columns:minmax(0,1fr);}
.hobby-photo{margin:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(84,231,255,.15);border-radius:18px;background:#06111e;box-shadow:0 18px 45px rgba(0,0,0,.18);}
.hobby-photo>a{display:grid;place-items:center;min-height:240px;padding:10px;background:radial-gradient(circle at 50% 18%,rgba(84,231,255,.06),transparent 34%),#030a11;}
.hobby-photo img{display:block;width:100%;height:auto;max-height:590px;object-fit:contain;}
.hobby-photo figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 14px;padding:13px 15px 15px;border-top:1px solid rgba(255,255,255,.06);color:#91a6b5;font-size:.77rem;}
.hobby-photo figcaption time{color:#64d9ec;font-family:var(--mono);font-size:.68rem;letter-spacing:.03em;}
.hobby-photo.featured{max-width:980px;}
.navigation-hobby{background:radial-gradient(circle at 88% 12%,rgba(32,190,221,.055),transparent 28%),#06101d;}
.navigation-feature{max-width:1040px;margin:0 auto;}
.navigation-feature>a{min-height:360px;}
@media (max-width:980px){
  .hobbies-intro,.hobby-section-head{grid-template-columns:1fr;}
  .hobby-photo-grid.two{grid-template-columns:1fr;}
}
@media (max-width:860px){
  .hobby-timeline::before{left:9px;}
  .hobby-era{grid-template-columns:1fr;gap:13px;padding-left:30px;padding-bottom:38px;}
  .hobby-era-meta{padding:0;text-align:left;}
  .hobby-era-meta::after{left:-26px;right:auto;top:3px;}
}
@media (max-width:620px){
  .hobby-era-body{padding:18px;}
  .hobby-photo>a,.navigation-feature>a{min-height:180px;}
}

/* Con diez destinos principales, pasamos al menú móvil algo antes para evitar solapamientos. */
@media (max-width:980px){
  .menu-toggle{display:flex;}
  .main-nav{position:fixed;inset:76px 0 auto 0;display:grid;gap:0;padding:14px 20px 22px;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(3,11,19,.97);transform:translateY(-125%);opacity:0;visibility:hidden;transition:.25s ease;}
  .main-nav.open{transform:none;opacity:1;visibility:visible;}
  .main-nav a{padding:13px 8px;border-bottom:1px solid rgba(255,255,255,.05);font-size:.88rem;white-space:normal;}
  .main-nav a::after{display:none;}
  .main-nav a[aria-current="page"]{color:var(--cyan);}
}


/* ===== EA7HOH V13 · Diplomas y reconocimientos ===== */
.awards-hero{background:radial-gradient(circle at 78% 18%,rgba(84,231,255,.11),transparent 28%),radial-gradient(circle at 18% 80%,rgba(38,95,180,.11),transparent 30%),linear-gradient(180deg,#07131f,#06101d);}
.awards-intro{display:grid;grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);gap:clamp(32px,6vw,84px);align-items:start;padding:clamp(28px,5vw,52px);border:1px solid rgba(84,231,255,.13);border-radius:24px;background:linear-gradient(145deg,rgba(84,231,255,.045),rgba(255,255,255,.018));}
.awards-intro h2{margin:8px 0 0;font-size:clamp(2rem,4vw,3.35rem);line-height:1.03}.awards-intro p{margin:0;color:#98adbb;line-height:1.8}.awards-intro p+p{margin-top:14px}
.awards-section{border-top:1px solid rgba(255,255,255,.05)}
.awards-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);gap:clamp(28px,5vw,66px);align-items:end;margin-bottom:38px}.awards-section-head h2{margin:6px 0 0;font-size:clamp(2.05rem,4.2vw,3.5rem);line-height:1.03}.awards-section-head>p{margin:0;color:#91a6b5;line-height:1.78}
.awards-kicker{display:block;margin-bottom:10px;color:#84efff;font-family:var(--mono);font-size:clamp(2.4rem,7vw,5rem);font-weight:900;letter-spacing:-.06em;line-height:.82;opacity:.92}
.award-grid{display:grid;gap:20px}.portrait-awards{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.landscape-awards{grid-template-columns:repeat(2,minmax(0,1fr))}
.award-card{margin:0;overflow:hidden;border:1px solid rgba(84,231,255,.15);border-radius:18px;background:#06111e;box-shadow:0 18px 45px rgba(0,0,0,.2)}.award-card>a{display:grid;place-items:center;padding:10px;background:radial-gradient(circle at 50% 16%,rgba(84,231,255,.05),transparent 36%),#030a11}.award-card img{display:block;width:100%;height:auto;object-fit:contain}.award-card.portrait img{max-height:720px}.award-card.landscape img{max-height:650px}
.award-card figcaption{display:flex;justify-content:space-between;gap:12px 18px;align-items:center;padding:14px 16px 16px;border-top:1px solid rgba(255,255,255,.06)}.award-card figcaption strong{display:block;margin-top:4px;color:#eaf8ff;font-size:.91rem}.award-type{color:#6eddf0;font-family:var(--mono);font-size:.62rem;font-weight:900;letter-spacing:.07em}.award-number{color:#8399a9;font-family:var(--mono);font-size:.65rem;text-align:right}
.award-timeline{position:relative;margin-top:42px}.award-timeline::before{content:"";position:absolute;top:4px;bottom:4px;left:129px;width:1px;background:linear-gradient(180deg,rgba(84,231,255,.42),rgba(84,231,255,.06))}.award-timeline-entry{position:relative;display:grid;grid-template-columns:160px minmax(0,1fr);gap:28px;padding:0 0 50px}.award-timeline-entry:last-child{padding-bottom:0}.award-year{position:relative;padding-top:7px;padding-right:34px;text-align:right}.award-year::after{content:"";position:absolute;top:10px;right:24px;width:11px;height:11px;transform:translateX(50%);border:2px solid #07111f;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 4px rgba(84,231,255,.09),0 0 20px rgba(84,231,255,.22)}.award-year time{display:block;color:#eaf8ff;font-family:var(--mono);font-size:.82rem;font-weight:900;letter-spacing:.05em}.award-year span{display:block;margin-top:7px;color:#7190a2;font-family:var(--mono);font-size:.61rem;line-height:1.42;letter-spacing:.07em}.award-timeline-body{min-width:0;padding:24px;border:1px solid rgba(151,199,223,.11);border-radius:20px;background:linear-gradient(145deg,rgba(13,31,48,.76),rgba(5,16,28,.86))}.award-result{display:flex;align-items:center;gap:18px;margin-bottom:20px}.award-result>span{display:grid;place-items:center;flex:0 0 72px;width:72px;height:72px;border:1px solid rgba(84,231,255,.24);border-radius:17px;color:#8befff;background:rgba(84,231,255,.055);font-family:var(--mono);font-size:1.45rem;font-weight:950}.award-result.highlight>span{color:#ffe6a7;border-color:rgba(255,208,112,.28);background:rgba(255,196,92,.06)}.award-result.podium>span{color:#f3f5ff;border-color:rgba(190,211,255,.31);background:linear-gradient(145deg,rgba(197,215,235,.14),rgba(255,255,255,.03));box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}.award-result strong{display:block;color:#f2fbff;font-size:clamp(1.15rem,2.3vw,1.55rem)}.award-result small{display:block;margin-top:6px;color:#8da4b4;line-height:1.55}.award-timeline-body .award-card{max-width:1050px}
@media(max-width:1050px){.portrait-awards{grid-template-columns:repeat(2,minmax(0,1fr))}.awards-intro,.awards-section-head{grid-template-columns:1fr}}
@media(max-width:860px){.award-timeline::before{left:9px}.award-timeline-entry{grid-template-columns:1fr;gap:13px;padding-left:30px;padding-bottom:40px}.award-year{padding:0;text-align:left}.award-year::after{left:-26px;right:auto;top:3px}}
@media(max-width:700px){.portrait-awards,.landscape-awards{grid-template-columns:1fr}.award-card figcaption{align-items:flex-start;flex-direction:column}.award-number{text-align:left}.award-timeline-body{padding:18px}.award-result{align-items:flex-start}.award-result>span{flex-basis:62px;width:62px;height:62px;font-size:1.2rem}}


/* ===== EA7HOH V16 · Acerca de mí · Marina Mercante y radiocomunicaciones ===== */
.maritime-story{
  position:relative;
  overflow:hidden;
  border-top:1px solid rgba(84,231,255,.08);
  border-bottom:1px solid rgba(84,231,255,.08);
  background:
    radial-gradient(circle at 88% 8%,rgba(84,231,255,.07),transparent 28%),
    radial-gradient(circle at 12% 66%,rgba(43,105,183,.08),transparent 32%),
    #071522;
}
.maritime-story::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.22;
  background-image:linear-gradient(rgba(84,231,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(84,231,255,.035) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:linear-gradient(to bottom,transparent,black 12%,black 88%,transparent);
}
.maritime-story>.container{position:relative;z-index:1;}
.maritime-heading{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(300px,.75fr);
  gap:clamp(32px,6vw,80px);
  align-items:end;
  margin-bottom:clamp(38px,6vw,72px);
}
.maritime-heading h2{margin:8px 0 0;font-size:clamp(2.2rem,4.7vw,4.1rem);line-height:1.02;letter-spacing:-.035em;}
.maritime-heading>p{margin:0;color:#9eb2c1;line-height:1.85;font-size:1.02rem;}
.maritime-heading>p strong{color:#e8f9ff;}
.maritime-feature{
  display:grid;
  grid-template-columns:minmax(250px,.54fr) minmax(0,1fr);
  gap:clamp(30px,6vw,76px);
  align-items:center;
  padding:clamp(24px,4vw,44px);
  border:1px solid rgba(84,231,255,.14);
  border-radius:26px;
  background:linear-gradient(145deg,rgba(13,34,52,.88),rgba(4,14,25,.92));
  box-shadow:0 24px 70px rgba(0,0,0,.22);
}
.maritime-portrait{margin:0;overflow:hidden;border:1px solid rgba(84,231,255,.18);border-radius:20px;background:#030b13;}
.maritime-portrait>a{display:grid;place-items:center;background:linear-gradient(145deg,#0c1c2a,#040b12);}
.maritime-portrait img{display:block;width:100%;height:auto;max-height:600px;object-fit:contain;}
.maritime-portrait figcaption,.maritime-photo figcaption{padding:13px 15px 15px;border-top:1px solid rgba(255,255,255,.055);background:rgba(7,18,29,.96);}
.maritime-portrait figcaption span,.maritime-photo figcaption span{display:block;margin-bottom:5px;color:#6eddf0;font-family:var(--mono);font-size:.61rem;font-weight:900;letter-spacing:.08em;}
.maritime-portrait figcaption strong,.maritime-photo figcaption strong{display:block;color:#eaf8ff;font-size:.88rem;line-height:1.45;}
.maritime-copy,.maritime-chapter-copy{position:relative;}
.chapter-number{display:block;margin-bottom:18px;color:rgba(84,231,255,.24);font-family:var(--mono);font-size:clamp(3rem,7vw,6.5rem);font-weight:950;line-height:.72;letter-spacing:-.07em;}
.maritime-copy h3,.maritime-chapter-copy h3{margin:8px 0 18px;color:#f2fbff;font-size:clamp(1.75rem,3.3vw,2.8rem);line-height:1.07;letter-spacing:-.025em;}
.maritime-copy p,.maritime-chapter-copy p{margin:0;color:#97adbc;line-height:1.82;}
.maritime-copy p+p,.maritime-chapter-copy p+p{margin-top:14px;}
.maritime-chapter{
  display:grid;
  grid-template-columns:minmax(260px,.62fr) minmax(0,1.38fr);
  gap:clamp(30px,5vw,64px);
  align-items:start;
  padding:clamp(56px,8vw,96px) 0 0;
}
.maritime-chapter.reverse{grid-template-columns:minmax(260px,.58fr) minmax(0,1.42fr);}
.maritime-gallery{display:grid;gap:18px;min-width:0;}
.maritime-gallery.two{grid-template-columns:repeat(2,minmax(0,1fr));}
.maritime-gallery.three{grid-template-columns:repeat(3,minmax(0,1fr));}
.maritime-photo{margin:0;overflow:hidden;border:1px solid rgba(151,199,223,.13);border-radius:18px;background:#06111e;box-shadow:0 16px 40px rgba(0,0,0,.18);}
.maritime-photo>a{display:grid;place-items:center;min-height:250px;background:#030a11;}
.maritime-photo img{display:block;width:100%;height:100%;max-height:460px;object-fit:contain;}
.photo-authenticity{padding-left:16px;border-left:2px solid rgba(84,231,255,.28);color:#7f9aaa!important;font-size:.9rem;}
@media(max-width:980px){
  .maritime-heading,.maritime-feature,.maritime-chapter,.maritime-chapter.reverse{grid-template-columns:1fr;}
  .maritime-feature{max-width:860px;margin-inline:auto;}
  .maritime-portrait{max-width:430px;}
  .maritime-gallery.three{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:700px){
  .maritime-gallery.two,.maritime-gallery.three{grid-template-columns:1fr;}
  .maritime-photo>a{min-height:190px;}
  .maritime-feature{padding:18px;border-radius:20px;}
  .maritime-heading{margin-bottom:34px;}
}


/* ===== EA7HOH V17 · Estación actual y antenas confirmadas ===== */
.station-current-section{background:radial-gradient(circle at 88% 8%,rgba(84,231,255,.06),transparent 27%),radial-gradient(circle at 10% 44%,rgba(43,105,183,.055),transparent 30%),#07111f;}
.station-source-note{display:flex;gap:18px;align-items:flex-start;margin:0 0 44px;padding:18px 20px;border:1px solid rgba(84,231,255,.14);border-radius:16px;background:rgba(84,231,255,.035);}
.station-source-note>span{flex:0 0 auto;padding:6px 9px;border-radius:7px;background:rgba(84,231,255,.09);color:#86ecfb;font-family:var(--mono);font-size:.58rem;font-weight:900;letter-spacing:.09em;}
.station-source-note p{margin:0;color:#8fa6b5;line-height:1.7;font-size:.9rem;}
.equipment-group{margin-top:clamp(46px,7vw,84px);}
.equipment-group:first-of-type{margin-top:0;}
.equipment-group-head{display:flex;align-items:center;gap:18px;margin-bottom:24px;padding-bottom:17px;border-bottom:1px solid rgba(84,231,255,.09);}
.equipment-index{display:grid;place-items:center;flex:0 0 58px;width:58px;height:58px;border:1px solid rgba(84,231,255,.2);border-radius:16px;color:#75e6f8;background:rgba(84,231,255,.04);font-family:var(--mono);font-size:1.05rem;font-weight:950;}
.equipment-group-head .eyebrow{margin:0 0 4px;}
.equipment-group-head h3{margin:0;color:#f1fbff;font-size:clamp(1.45rem,2.7vw,2rem);}
.equipment-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch;}
.equipment-grid-featured{grid-template-columns:repeat(3,minmax(0,1fr));}
.compact-equipment-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
.equipment-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid rgba(151,199,223,.12);border-radius:19px;background:linear-gradient(155deg,rgba(14,31,47,.9),rgba(5,15,26,.96));box-shadow:0 18px 44px rgba(0,0,0,.18);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;}
.equipment-card:hover{transform:translateY(-3px);border-color:rgba(84,231,255,.26);box-shadow:0 24px 56px rgba(0,0,0,.24);}
.equipment-image{display:grid;place-items:center;height:240px;padding:14px;border-bottom:1px solid rgba(255,255,255,.055);background:radial-gradient(circle at 50% 22%,rgba(84,231,255,.06),transparent 36%),#030a11;overflow:hidden;}
.equipment-image img{display:block;max-width:calc(100% - 8px);max-height:calc(100% - 8px);width:auto;height:auto;object-fit:contain;border-radius:10px;}
.equipment-image.tall-image{height:320px;}
.featured-equipment .equipment-image{height:280px;}
.equipment-copy{display:flex;flex-direction:column;flex:1;padding:18px 19px 21px;}
.equipment-tag{display:block;margin-bottom:8px;color:#68ddec;font-family:var(--mono);font-size:.58rem;font-weight:900;letter-spacing:.075em;line-height:1.45;}
.equipment-copy h4{margin:0 0 9px;color:#f0faff;font-size:1.05rem;line-height:1.25;}
.equipment-copy p{margin:0;color:#8fa5b5;font-size:.84rem;line-height:1.67;}
.antenna-current-section{background:radial-gradient(circle at 82% 9%,rgba(84,231,255,.065),transparent 27%),#07111f;}
.antenna-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;}
.antenna-card{display:grid;grid-template-columns:minmax(260px,.95fr) minmax(0,1.05fr);overflow:hidden;border:1px solid rgba(84,231,255,.14);border-radius:22px;background:linear-gradient(150deg,rgba(14,32,49,.91),rgba(5,15,26,.96));box-shadow:0 20px 50px rgba(0,0,0,.2);}
.antenna-image{display:grid;place-items:center;min-height:330px;padding:15px;background:#030a11;border-right:1px solid rgba(255,255,255,.055);overflow:hidden;}
.antenna-image img{display:block;max-width:calc(100% - 8px);max-height:420px;width:auto;height:auto;object-fit:contain;border-radius:10px;}
.antenna-copy{padding:clamp(22px,3vw,34px);align-self:center;}
.antenna-copy h3{margin:0 0 12px;color:#f2fbff;font-size:clamp(1.45rem,2.8vw,2.1rem);}
.antenna-copy p{margin:0;color:#91a8b7;line-height:1.72;}
.antenna-specs{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;}
.antenna-specs span{padding:7px 9px;border:1px solid rgba(84,231,255,.14);border-radius:999px;color:#8befff;background:rgba(84,231,255,.04);font-family:var(--mono);font-size:.58rem;font-weight:800;}
@media(max-width:1180px){.equipment-grid,.compact-equipment-grid{grid-template-columns:repeat(3,minmax(0,1fr));}.antenna-grid{grid-template-columns:1fr;}.antenna-card{grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);}}
@media(max-width:900px){.equipment-grid,.equipment-grid-featured,.compact-equipment-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.antenna-card{grid-template-columns:1fr;}.antenna-image{border-right:0;border-bottom:1px solid rgba(255,255,255,.055);}}
@media(max-width:620px){.equipment-grid,.equipment-grid-featured,.compact-equipment-grid{grid-template-columns:1fr;}.equipment-image,.featured-equipment .equipment-image{height:230px;}.equipment-image.tall-image{height:290px;}.equipment-group-head{align-items:flex-start}.equipment-index{flex-basis:48px;width:48px;height:48px}.station-source-note{flex-direction:column;gap:10px}.antenna-image{min-height:250px}.antenna-copy{padding:20px}.antenna-grid{gap:16px;}}

/* ===== EA7HOH V18 · Sanlúcar de Barrameda · identidad del QTH ===== */
.home-qth-section{
  background:
    radial-gradient(circle at 78% 14%,rgba(84,231,255,.07),transparent 28%),
    #06111d;
  border-top:1px solid rgba(84,231,255,.08);
  border-bottom:1px solid rgba(84,231,255,.08);
}
.home-qth-feature{
  display:grid;
  grid-template-columns:minmax(0,1.38fr) minmax(320px,.62fr);
  gap:clamp(30px,5vw,66px);
  align-items:center;
  padding:clamp(22px,4vw,42px);
  border:1px solid rgba(84,231,255,.14);
  border-radius:26px;
  background:linear-gradient(145deg,rgba(12,30,46,.88),rgba(4,13,23,.96));
  box-shadow:0 24px 66px rgba(0,0,0,.22);
}
.home-qth-image{
  margin:0;
  display:grid;
  place-items:center;
  overflow:hidden;
  min-height:300px;
  border:1px solid rgba(84,231,255,.14);
  border-radius:20px;
  background:#02090f;
}
.home-qth-image a{display:grid;place-items:center;width:100%;height:100%;}
.home-qth-image img{
  display:block;
  width:100%;
  height:auto;
  max-height:520px;
  object-fit:contain;
}
.home-qth-copy h2{
  margin:7px 0 16px;
  color:#f2fbff;
  font-size:clamp(2rem,4vw,3.55rem);
  line-height:1.03;
  letter-spacing:-.035em;
}
.home-qth-copy>p:not(.eyebrow){margin:0;color:#98adbc;line-height:1.8;}
.home-qth-facts{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 20px;}
.home-qth-facts span{
  display:flex;
  flex-direction:column;
  min-width:105px;
  padding:11px 13px;
  border:1px solid rgba(84,231,255,.13);
  border-radius:12px;
  background:rgba(84,231,255,.035);
}
.home-qth-facts strong{color:#dffaff;font-family:var(--mono);font-size:.9rem;}
.home-qth-facts small{margin-top:3px;color:#7894a6;font-size:.68rem;}
.text-link{color:#68e3f5;font-family:var(--mono);font-size:.72rem;font-weight:900;letter-spacing:.04em;text-decoration:none;}
.text-link:hover{color:#fff;}

.qth-story{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 8% 15%,rgba(38,118,196,.075),transparent 28%),
    radial-gradient(circle at 88% 72%,rgba(84,231,255,.055),transparent 30%),
    #081521;
  border-top:1px solid rgba(84,231,255,.08);
  border-bottom:1px solid rgba(84,231,255,.08);
}
.qth-story::after{
  content:"IM66TS";
  position:absolute;
  right:-.04em;
  top:.05em;
  color:rgba(84,231,255,.018);
  font-family:var(--mono);
  font-size:clamp(8rem,20vw,22rem);
  font-weight:950;
  letter-spacing:-.1em;
  line-height:1;
  pointer-events:none;
}
.qth-story>.container{position:relative;z-index:1;}
.qth-story-heading{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.78fr);
  gap:clamp(34px,6vw,80px);
  align-items:end;
  margin-bottom:clamp(38px,6vw,70px);
}
.qth-story-heading h2{margin:8px 0 0;color:#f2fbff;font-size:clamp(2.4rem,5vw,4.4rem);line-height:1;letter-spacing:-.04em;}
.qth-story-heading>p{margin:0;color:#9bb0bf;line-height:1.85;}
.qth-panorama{
  display:grid;
  grid-template-columns:minmax(0,1.42fr) minmax(300px,.58fr);
  gap:clamp(28px,5vw,64px);
  align-items:center;
}
.qth-panorama figure,.qth-photo{
  margin:0;
  overflow:hidden;
  border:1px solid rgba(84,231,255,.13);
  border-radius:20px;
  background:#02090f;
  box-shadow:0 18px 50px rgba(0,0,0,.2);
}
.qth-panorama figure>a,.qth-photo>a{display:grid;place-items:center;background:#02090f;}
.qth-panorama img{
  display:block;
  width:100%;
  height:auto;
  max-height:600px;
  object-fit:contain;
}
.qth-panorama figcaption,.qth-photo figcaption{
  padding:13px 15px 15px;
  border-top:1px solid rgba(255,255,255,.055);
  background:rgba(7,18,29,.97);
}
.qth-panorama figcaption span,.qth-photo figcaption span{
  display:block;
  margin-bottom:5px;
  color:#69dff1;
  font-family:var(--mono);
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.08em;
}
.qth-panorama figcaption strong,.qth-photo figcaption strong{display:block;color:#eaf8ff;font-size:.86rem;line-height:1.45;}
.qth-panorama-copy h3{margin:8px 0 16px;color:#f1fbff;font-size:clamp(1.8rem,3.5vw,3rem);line-height:1.07;letter-spacing:-.03em;}
.qth-panorama-copy>p:not(.eyebrow){margin:0;color:#93a9b8;line-height:1.8;}
.qth-panorama-copy>p+p{margin-top:14px!important;}
.qth-gallery{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:clamp(38px,6vw,68px);
}
.qth-photo{display:flex;flex-direction:column;}
.qth-photo>a{flex:1;min-height:250px;padding:0;}
.qth-photo img{
  display:block;
  width:100%;
  height:auto;
  max-height:420px;
  object-fit:contain;
}
.qth-photo:nth-child(4),.qth-photo:nth-child(5){grid-column:span 1;}
@media(max-width:1000px){
  .home-qth-feature,.qth-story-heading,.qth-panorama{grid-template-columns:1fr;}
  .home-qth-copy{max-width:760px;}
  .qth-gallery{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:650px){
  .home-qth-feature{padding:17px;border-radius:20px;}
  .home-qth-image{min-height:190px;}
  .qth-gallery{grid-template-columns:1fr;}
  .qth-photo>a{min-height:190px;}
  .qth-story-heading{margin-bottom:34px;}
}

\n\n/* ===== EA7HOH V19 · Fútbol · Atlético Sanluqueño CF ===== */\n.football-hobby{\n  background:\n    radial-gradient(circle at 86% 12%,rgba(39,185,104,.075),transparent 28%),\n    radial-gradient(circle at 10% 86%,rgba(84,231,255,.045),transparent 30%),\n    #07131f;\n}\n.football-kicker{color:#73e6a2;}\n.football-copy p{margin:0;color:#91a6b5;line-height:1.78;}\n.football-copy p+p{margin-top:12px;}\n.football-copy strong{color:#edfdf3;font-weight:800;}\n.football-status{display:flex;flex-wrap:wrap;gap:9px;margin:-10px 0 28px;}\n.football-status span{\n  padding:8px 11px;\n  border:1px solid rgba(93,222,145,.19);\n  border-radius:999px;\n  background:rgba(58,194,111,.055);\n  color:#8ef0b5;\n  font-family:var(--mono);\n  font-size:.61rem;\n  font-weight:900;\n  letter-spacing:.06em;\n}\n.football-photo-grid{max-width:1180px;}\n.football-photo{border-color:rgba(89,210,137,.18);}\n.football-photo>a{background:radial-gradient(circle at 50% 18%,rgba(77,207,128,.07),transparent 36%),#030b10;}\n.football-links{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:26px;}\n@media(max-width:980px){.football-copy{max-width:760px;}}\n@media(max-width:620px){.football-links{align-items:flex-start;flex-direction:column;gap:12px;}}\n
/* ===== EA7HOH V22 · Rodadas en el Circuito de Jerez ===== */
.circuit-feature{
  margin-top:58px;
  padding:clamp(24px,4vw,38px);
  border:1px solid rgba(84,231,255,.15);
  border-radius:24px;
  background:
    radial-gradient(circle at 90% 5%,rgba(84,231,255,.07),transparent 27%),
    linear-gradient(145deg,rgba(11,29,45,.9),rgba(4,14,25,.96));
  box-shadow:0 28px 70px rgba(0,0,0,.19);
}
.circuit-feature-head{
  display:grid;
  grid-template-columns:minmax(250px,.75fr) minmax(0,1.25fr);
  gap:clamp(28px,5vw,70px);
  align-items:start;
  padding-bottom:28px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.circuit-label{
  display:inline-flex;
  margin-bottom:13px;
  padding:7px 10px;
  border:1px solid rgba(84,231,255,.22);
  border-radius:999px;
  color:#8fefff;
  background:rgba(84,231,255,.055);
  font-family:var(--mono);
  font-size:.63rem;
  font-weight:900;
  letter-spacing:.08em;
}
.circuit-feature-head h3{margin:7px 0 0;font-size:clamp(2rem,4vw,3.2rem);line-height:1.02;}
.circuit-feature-copy p{margin:0;color:#95aaba;line-height:1.8;}
.circuit-feature-copy p+p{margin-top:13px;}
.circuit-feature-copy strong{color:#effbff;}
.circuit-years{display:grid;gap:36px;margin-top:34px;}
.circuit-year{display:grid;grid-template-columns:125px minmax(0,1fr);gap:24px;align-items:start;}
.circuit-year-meta{padding-top:3px;text-align:right;}
.circuit-year-meta time{display:block;color:#f4fbff;font-family:var(--mono);font-size:1.28rem;font-weight:900;letter-spacing:.05em;}
.circuit-year-meta span{display:block;margin-top:7px;color:#6f8da0;font-family:var(--mono);font-size:.62rem;line-height:1.45;letter-spacing:.07em;}
.circuit-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.circuit-gallery-2018,.circuit-gallery-2019{grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);}
.circuit-photo{margin:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(84,231,255,.13);border-radius:17px;background:#030a11;}
.circuit-photo>a{display:grid;place-items:center;min-height:235px;padding:8px;background:radial-gradient(circle at 50% 12%,rgba(84,231,255,.055),transparent 33%),#02070d;}
.circuit-photo img{display:block;width:100%;height:auto;max-height:560px;object-fit:contain;transition:transform .22s ease,filter .22s ease;}
.circuit-photo>a:hover img{transform:scale(1.008);filter:brightness(1.03);}
.circuit-photo figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:7px 12px;padding:12px 14px 14px;border-top:1px solid rgba(255,255,255,.055);color:#91a6b5;font-size:.74rem;}
.circuit-photo figcaption time{color:#63d9eb;font-family:var(--mono);font-size:.66rem;}
.circuit-photo-hero{grid-row:span 2;}
.circuit-photo-hero>a{min-height:100%;}
.circuit-photo-wide{grid-column:span 2;}
.circuit-photo-wide>a{min-height:320px;}
.circuit-photo-group{grid-column:span 2;}
.circuit-photo-group img{max-height:510px;}
.circuit-pending-card{
  min-height:190px;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:22px;
  align-items:center;
  padding:24px;
  border:1px dashed rgba(84,231,255,.24);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(84,231,255,.035),rgba(255,255,255,.012));
}
.pending-mark{
  display:grid;
  place-items:center;
  width:78px;
  height:78px;
  border:1px solid rgba(84,231,255,.22);
  border-radius:18px;
  color:#76e7f8;
  background:rgba(84,231,255,.045);
  font-family:var(--mono);
  font-size:1.1rem;
  font-weight:900;
  letter-spacing:.04em;
}
.circuit-pending-card h4{margin:5px 0 8px;color:#f2fbff;font-size:1.35rem;}
.circuit-pending-card p{margin:0;color:#8199aa;line-height:1.7;}
@media(max-width:900px){
  .circuit-feature-head{grid-template-columns:1fr;}
  .circuit-year{grid-template-columns:1fr;gap:12px;}
  .circuit-year-meta{text-align:left;}
}
@media(max-width:700px){
  .circuit-feature{margin-top:42px;padding:18px;}
  .circuit-gallery,.circuit-gallery-2018,.circuit-gallery-2019{grid-template-columns:1fr;}
  .circuit-photo-hero,.circuit-photo-wide,.circuit-photo-group{grid-column:auto;grid-row:auto;}
  .circuit-photo>a,.circuit-photo-wide>a{min-height:180px;}
  .circuit-pending-card{grid-template-columns:1fr;}
}

/* ===== EA7HOH V23 · Salidas en grupo + MotoClub CARDIACO'S ===== */
.group-rides-feature{
  margin-top:58px;
  padding:clamp(24px,4vw,38px);
  border:1px solid rgba(247,190,71,.15);
  border-radius:24px;
  background:
    radial-gradient(circle at 88% 8%,rgba(247,190,71,.065),transparent 27%),
    radial-gradient(circle at 10% 92%,rgba(84,231,255,.045),transparent 28%),
    linear-gradient(145deg,rgba(15,30,44,.91),rgba(4,14,25,.97));
  box-shadow:0 28px 70px rgba(0,0,0,.19);
}
.group-rides-head{
  display:grid;
  grid-template-columns:minmax(250px,.78fr) minmax(0,1.22fr);
  gap:clamp(28px,5vw,70px);
  align-items:start;
  padding-bottom:28px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.group-rides-label{
  display:inline-flex;
  margin-bottom:13px;
  padding:7px 10px;
  border:1px solid rgba(247,190,71,.22);
  border-radius:999px;
  color:#ffd77f;
  background:rgba(247,190,71,.055);
  font-family:var(--mono);
  font-size:.63rem;
  font-weight:900;
  letter-spacing:.08em;
}
.group-rides-head h3{margin:7px 0 0;font-size:clamp(2rem,4vw,3.2rem);line-height:1.02;}
.group-rides-copy p{margin:0;color:#95aaba;line-height:1.8;}
.group-rides-copy p+p{margin-top:13px;}
.group-rides-copy strong{color:#effbff;}
.group-rides-gallery{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(260px,.88fr);
  gap:14px;
  margin-top:34px;
}
.group-ride-photo{
  margin:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(247,190,71,.12);
  border-radius:17px;
  background:#030a11;
}
.group-ride-photo>a{
  display:grid;
  place-items:center;
  min-height:260px;
  padding:8px;
  background:radial-gradient(circle at 50% 12%,rgba(247,190,71,.045),transparent 34%),#02070d;
}
.group-ride-photo img{display:block;width:100%;height:auto;max-height:590px;object-fit:contain;transition:transform .22s ease,filter .22s ease;}
.group-ride-photo>a:hover img{transform:scale(1.008);filter:brightness(1.03);}
.group-ride-photo figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:7px 12px;padding:12px 14px 14px;border-top:1px solid rgba(255,255,255,.055);color:#91a6b5;font-size:.74rem;}
.group-ride-photo figcaption time{color:#e6bc68;font-family:var(--mono);font-size:.66rem;letter-spacing:.03em;}
.group-ride-photo-wide{grid-column:span 2;}
.group-ride-photo-wide>a{min-height:330px;}
.group-club-photo img{max-height:400px;}
@media(max-width:900px){
  .group-rides-head{grid-template-columns:1fr;}
  .group-rides-gallery{grid-template-columns:1fr;}
  .group-ride-photo-wide{grid-column:auto;}
}
@media(max-width:700px){
  .group-rides-feature{margin-top:42px;padding:18px;}
  .group-ride-photo>a,.group-ride-photo-wide>a{min-height:180px;}
}

/* ===== EA7HOH V24 · Central de contacto privada ===== */
.contact-hero .page-hero-inner{max-width:850px;}
.contact-section{overflow:hidden;}
.contact-intro{
  display:grid;
  grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);
  gap:clamp(28px,5vw,76px);
  align-items:end;
  margin-bottom:30px;
}
.contact-intro h2{margin:.2rem 0 0;font-size:clamp(2.1rem,4.8vw,4rem);line-height:1;}
.contact-intro>p{margin:0;color:#91a8b8;line-height:1.8;max-width:720px;}
.contact-channel-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.contact-channel{
  position:relative;
  display:grid;
  grid-template-columns:62px minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  min-height:122px;
  padding:22px;
  border:1px solid rgba(84,231,255,.15);
  border-radius:20px;
  background:
    radial-gradient(circle at 10% 15%,rgba(84,231,255,.075),transparent 30%),
    linear-gradient(145deg,rgba(13,29,44,.95),rgba(5,15,27,.98));
  color:#effbff;
  text-decoration:none;
  box-shadow:0 22px 54px rgba(0,0,0,.15);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.contact-channel:hover,.contact-channel:focus-visible{
  transform:translateY(-3px);
  border-color:rgba(84,231,255,.45);
  box-shadow:0 26px 62px rgba(0,0,0,.24),0 0 0 1px rgba(84,231,255,.06) inset;
  outline:none;
}
.contact-channel-icon{
  width:62px;height:62px;
  display:grid;place-items:center;
  border:1px solid rgba(84,231,255,.24);
  border-radius:16px;
  background:rgba(84,231,255,.055);
  color:var(--cyan,#54e7ff);
  font-size:2rem;
}
.contact-channel-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;}
.contact-channel-icon svg path:first-child{fill:rgba(84,231,255,.035);}
.contact-channel-icon.contact-x{font-family:Arial,sans-serif;font-weight:700;line-height:1;}
.contact-channel-copy{display:flex;flex-direction:column;gap:6px;}
.contact-channel-copy strong{font-size:1.18rem;letter-spacing:-.01em;}
.contact-channel-copy small{color:#8ea6b6;font-size:.8rem;}
.contact-channel-arrow{color:#5deaff;font-size:1.25rem;transition:transform .2s ease;}
.contact-channel:hover .contact-channel-arrow{transform:translate(3px,-3px);}
.contact-channel-whatsapp{border-color:rgba(106,235,159,.18);}
.contact-channel-whatsapp .contact-channel-icon{color:#72e7a3;border-color:rgba(106,235,159,.24);background:rgba(106,235,159,.05);}
.contact-channel-whatsapp:hover,.contact-channel-whatsapp:focus-visible{border-color:rgba(106,235,159,.45);}
.contact-privacy{
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:22px;
  align-items:start;
  margin-top:18px;
  padding:24px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:18px;
  background:rgba(255,255,255,.025);
}
.contact-privacy-mark{
  width:58px;height:58px;display:grid;place-items:center;
  border-radius:50%;border:1px solid rgba(84,231,255,.18);
  color:#54e7ff;background:rgba(84,231,255,.04);font-size:2rem;
}
.contact-privacy h3{margin:.35rem 0 .45rem;font-size:1.2rem;}
.contact-privacy p{margin:0;color:#8ea6b6;line-height:1.72;max-width:850px;}
.contact-signature{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 22px;
  margin-top:28px;
  padding-top:25px;
  border-top:1px solid rgba(255,255,255,.07);
}
.contact-signature .console-label{width:100%;}
.contact-signature strong{font-size:1rem;color:#effbff;}
.contact-signature>span:not(.console-label){color:#8fa6b5;font-size:.82rem;}
.contact-signature .btn{margin-left:auto;}
@media(max-width:820px){
  .contact-intro,.contact-channel-grid{grid-template-columns:1fr;}
  .contact-signature .btn{margin-left:0;width:100%;justify-content:center;}
}
@media(max-width:560px){
  .contact-channel{grid-template-columns:52px minmax(0,1fr) auto;min-height:105px;padding:17px;gap:13px;}
  .contact-channel-icon{width:52px;height:52px;border-radius:14px;}
  .contact-channel-icon svg{width:26px;height:26px;}
  .contact-privacy{grid-template-columns:1fr;padding:19px;}
}

/* ===== EA7HOH V25 · Radioafición y comunidad · Selvamar Noticias ===== */
.community-story{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 18%,rgba(247,190,71,.075),transparent 28%),
    radial-gradient(circle at 92% 82%,rgba(84,231,255,.05),transparent 30%),
    #07131f;
  border-top:1px solid rgba(255,255,255,.035);
  border-bottom:1px solid rgba(255,255,255,.04);
}
.community-story::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.18;
  background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom,transparent,black 24%,black 76%,transparent);
}
.community-story>.container{position:relative;z-index:1;}
.community-feature{
  display:grid;
  grid-template-columns:minmax(230px,.52fr) minmax(0,1.48fr);
  gap:clamp(28px,5vw,72px);
  align-items:center;
  max-width:1140px;
  margin:0 auto;
  padding:clamp(24px,4vw,38px);
  border:1px solid rgba(247,190,71,.14);
  border-radius:24px;
  background:linear-gradient(145deg,rgba(15,30,44,.93),rgba(4,14,25,.98));
  box-shadow:0 28px 72px rgba(0,0,0,.2);
}
.community-cover{
  margin:0;
  overflow:hidden;
  border:1px solid rgba(247,190,71,.2);
  border-radius:18px;
  background:#030a11;
  box-shadow:0 20px 48px rgba(0,0,0,.28);
}
.community-cover>a{display:grid;place-items:center;min-height:330px;background:linear-gradient(145deg,#0c1b28,#030a11);}
.community-cover img{display:block;width:100%;height:auto;max-height:475px;object-fit:contain;transition:transform .22s ease,filter .22s ease;}
.community-cover>a:hover img{transform:scale(1.008);filter:brightness(1.035);}
.community-cover figcaption{padding:13px 15px 15px;border-top:1px solid rgba(255,255,255,.055);background:rgba(7,18,29,.97);}
.community-cover figcaption span{display:block;margin-bottom:5px;color:#e8bd68;font-family:var(--mono);font-size:.61rem;font-weight:900;letter-spacing:.08em;}
.community-cover figcaption strong{display:block;color:#eef9ff;font-size:.88rem;}
.community-copy{min-width:0;}
.community-kicker{color:#f0c774;}
.community-press-label{
  display:inline-flex;
  margin:5px 0 15px;
  padding:7px 10px;
  border:1px solid rgba(247,190,71,.22);
  border-radius:999px;
  color:#ffd77f;
  background:rgba(247,190,71,.055);
  font-family:var(--mono);
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.08em;
}
.community-copy h2{margin:0;font-size:clamp(2.2rem,4.7vw,4rem);line-height:1.02;letter-spacing:-.035em;}
.community-copy h3{margin:15px 0 18px;color:#d9ebf4;font-family:var(--mono);font-size:clamp(1rem,2vw,1.25rem);font-weight:800;letter-spacing:.015em;}
.community-copy>p{margin:0;color:#98adbc;line-height:1.82;}
.community-copy>p+p{margin-top:14px;}
.community-copy>p strong{color:#effbff;}
.community-note{
  display:grid;
  grid-template-columns:62px minmax(0,1fr);
  gap:17px;
  align-items:center;
  margin-top:24px;
  padding:18px 20px;
  border:1px solid rgba(84,231,255,.12);
  border-radius:17px;
  background:rgba(84,231,255,.035);
}
.community-note>span{
  display:grid;
  place-items:center;
  width:58px;height:58px;
  border:1px solid rgba(84,231,255,.22);
  border-radius:50%;
  color:#79eaff;
  font-family:var(--mono);
  font-weight:950;
  background:rgba(84,231,255,.04);
}
.community-note p{margin:0;color:#a2b7c5;line-height:1.7;}
.community-note strong{color:#e8faff;}
.community-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px 20px;margin-top:24px;}
.community-actions small{max-width:540px;color:#708b9e;font-size:.72rem;line-height:1.6;}
@media(max-width:880px){
  .community-feature{grid-template-columns:1fr;max-width:820px;}
  .community-cover{max-width:390px;}
}
@media(max-width:620px){
  .community-feature{padding:18px;border-radius:20px;}
  .community-cover{max-width:none;}
  .community-cover>a{min-height:240px;}
  .community-note{grid-template-columns:1fr;}
  .community-actions{align-items:flex-start;flex-direction:column;}
  .community-actions .btn{width:100%;justify-content:center;}
}



/* ===== EA7HOH V26 · privacidad, legal y derechos ===== */
.footer-links a[href="aviso-legal.html"],
.footer-links a[href="privacidad.html"],
.footer-links a[href="cookies.html"],
.footer-links a[href="creditos.html"]{color:#627b8d;font-size:.76rem;}
.footer-links a[href="aviso-legal.html"]{margin-top:8px;padding-top:10px;border-top:1px solid rgba(255,255,255,.06);}
.qrz-privacy-gate{display:grid;place-items:center;min-height:500px;padding:clamp(22px,5vw,54px);background:radial-gradient(circle at 50% 0,rgba(84,231,255,.07),transparent 38%),#06111d;overflow:visible;}
.qrz-consent-card{max-width:760px;margin:auto;padding:clamp(24px,4vw,38px);border:1px solid rgba(84,231,255,.16);border-radius:20px;background:linear-gradient(145deg,rgba(15,36,53,.96),rgba(5,15,26,.98));box-shadow:0 24px 60px rgba(0,0,0,.23);text-align:center;}
.qrz-consent-icon{display:inline-grid;place-items:center;width:64px;height:64px;margin-bottom:16px;border:1px solid rgba(84,231,255,.28);border-radius:50%;color:#77eafa;background:rgba(84,231,255,.06);font-family:var(--mono);font-size:.86rem;font-weight:950;letter-spacing:.08em;}
.qrz-consent-card h3{margin:0 0 12px;color:#f3fbff;font-size:clamp(1.35rem,3vw,2rem);}
.qrz-consent-card p{margin:0 auto 20px;max-width:660px;color:#9bb1bf;line-height:1.75;font-size:.9rem;}
.qrz-consent-card strong{color:#fff;}
.qrz-consent-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:20px;}
.qrz-consent-card small{display:block;margin-top:18px;color:#647e90;line-height:1.6;}
.rights-safe-card .equipment-copy{padding-top:24px;}
.antenna-card.rights-safe-card{grid-template-columns:1fr;}
.antenna-card.rights-safe-card .antenna-copy{min-height:260px;}
.rights-safe-note{margin:22px 0;padding:18px 20px;border:1px solid rgba(255,197,84,.2);border-radius:14px;background:rgba(255,197,84,.05);color:#a9bac6;font-size:.86rem;line-height:1.7;}
.rights-safe-note strong{color:#f6d58c;}
.press-reference{padding:clamp(28px,5vw,58px);border:1px solid rgba(84,231,255,.14);border-radius:24px;background:radial-gradient(circle at 90% 10%,rgba(84,231,255,.06),transparent 30%),linear-gradient(145deg,rgba(13,31,47,.94),rgba(5,15,26,.98));box-shadow:0 28px 72px rgba(0,0,0,.22);}
.press-reference h2{margin:14px 0 9px;color:#f2fbff;font-size:clamp(2rem,4.2vw,3.6rem);letter-spacing:-.04em;}
.press-reference h3{margin:0 0 22px;color:#d9ecf5;font-size:1.15rem;}
.press-reference>p:not(.eyebrow){max-width:900px;color:#94aab9;line-height:1.78;}
.legal-hero{min-height:330px;}
.legal-section{background:radial-gradient(circle at 80% 7%,rgba(84,231,255,.055),transparent 28%),#07111f;}
.legal-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.45fr);gap:clamp(28px,5vw,70px);align-items:start;}
.legal-content{max-width:930px;color:#98adbb;line-height:1.78;}
.legal-content h2{margin:0 0 24px;color:#fff;font-size:clamp(2.1rem,4vw,3.5rem);letter-spacing:-.04em;}
.legal-content h3{margin:36px 0 10px;color:#e9f7fd;font-size:1.18rem;}
.legal-content p{margin:0 0 18px;}
.legal-content ul{margin:0 0 20px;padding-left:21px;}
.legal-content li+li{margin-top:10px;}
.legal-content a{color:#6ee7f6;font-weight:750;text-decoration:underline;text-decoration-color:rgba(110,231,246,.3);text-underline-offset:3px;}
.legal-content code{padding:2px 6px;border-radius:5px;background:rgba(255,255,255,.07);color:#e7f8ff;}
.legal-aside{position:sticky;top:100px;padding:24px;border:1px solid rgba(84,231,255,.14);border-radius:18px;background:rgba(255,255,255,.025);}
.legal-aside h3{margin:0 0 16px;color:#fff;font-size:1.3rem;}
.legal-aside .btn{margin-top:20px;}
.credit-card{display:grid;gap:7px;margin:18px 0 28px;padding:20px;border:1px solid rgba(84,231,255,.14);border-radius:15px;background:rgba(84,231,255,.035);}
.credit-card strong{color:#fff;font-size:1.05rem;}
.credit-card span,.credit-card small{color:#8fa7b7;}
@media(max-width:900px){.legal-layout{grid-template-columns:1fr}.legal-aside{position:static}.qrz-consent-actions{flex-direction:column}.qrz-consent-actions .btn{width:100%;}}


/* ===== EA7HOH V27 · imágenes no enlazadas + artículo Selvamar autorizado ===== */
img {
  -webkit-user-drag: none;
  user-select: none;
}

.selvamar-inline {
  margin-top: 34px;
  padding-bottom: 10px;
}
.selvamar-article-frame {
  margin: 14px auto 0;
  max-width: 1040px;
  border: 1px solid rgba(84,231,255,.16);
  border-radius: 20px;
  overflow: hidden;
  background: rgba(5,17,29,.62);
  box-shadow: 0 24px 60px rgba(0,0,0,.20);
}
.selvamar-article-frame img {
  display: block;
  width: 100%;
  height: auto;
  cursor: default;
}
.selvamar-article-frame figcaption {
  padding: 14px 18px;
  color: var(--text-muted);
  font-size: .88rem;
  line-height: 1.55;
  border-top: 1px solid rgba(84,231,255,.10);
}


/* ===== EA7HOH V28 · Selvamar como subpágina, no como contenido desplegado ===== */
.selvamar-standalone{min-height:60vh;}
.selvamar-page-heading{max-width:980px;margin:0 auto 28px;text-align:center;}
.selvamar-page-heading h2{margin:8px 0 14px;color:#f3fbff;font-size:clamp(2rem,4.3vw,3.7rem);letter-spacing:-.04em;}
.selvamar-page-heading>p:not(.eyebrow){max-width:850px;margin:0 auto;color:#92a9b8;line-height:1.75;}
.selvamar-page-heading strong{color:#eefbff;}
.selvamar-article-page{max-width:1180px;margin-top:26px;}
.selvamar-standalone .subpage-actions{justify-content:center;margin-top:28px;}


/* ===== EA7HOH V29 · restauración de encuadres de imágenes sin enlaces ===== */
.media-stage{
  display:block;
  width:100%;
  cursor:default;
}

/* QSL: el antiguo enlace era también el contenedor que imponía el encuadre correcto. */
.qsl-card{padding:0;}
.qsl-card > .qsl-image-wrap.media-stage{
  display:grid;
  place-items:center;
}

/* Equivalentes no interactivos de los antiguos contenedores enlazados. */
.activity-photo > .media-stage{display:grid;place-items:center;min-height:240px;padding:10px;background:radial-gradient(circle at 50% 20%,rgba(84,231,255,.06),transparent 34%),#030a11;}
.artistic-activity-photo > .media-stage{position:relative;}
.hobby-photo > .media-stage{display:grid;place-items:center;min-height:240px;padding:10px;background:radial-gradient(circle at 50% 18%,rgba(84,231,255,.06),transparent 34%),#030a11;}
.navigation-feature > .media-stage{min-height:360px;}
.award-card > .media-stage{display:grid;place-items:center;padding:10px;background:radial-gradient(circle at 50% 16%,rgba(84,231,255,.05),transparent 36%),#030a11;}
.maritime-portrait > .media-stage{display:grid;place-items:center;background:linear-gradient(145deg,#0c1c2a,#040b12);}
.maritime-photo > .media-stage{display:grid;place-items:center;min-height:250px;background:#030a11;}
.home-qth-image > .media-stage{display:grid;place-items:center;width:100%;height:100%;}
.qth-panorama figure > .media-stage,.qth-photo > .media-stage{display:grid;place-items:center;background:#02090f;}
.qth-photo > .media-stage{flex:1;min-height:250px;padding:0;}
.football-photo > .media-stage{background:radial-gradient(circle at 50% 18%,rgba(77,207,128,.07),transparent 36%),#030b10;}
.circuit-photo > .media-stage{display:grid;place-items:center;min-height:235px;padding:8px;background:radial-gradient(circle at 50% 12%,rgba(84,231,255,.055),transparent 33%),#02070d;}
.circuit-photo-hero > .media-stage{min-height:100%;}
.circuit-photo-wide > .media-stage{min-height:320px;}
.group-ride-photo > .media-stage{display:grid;place-items:center;min-height:260px;padding:8px;background:radial-gradient(circle at 50% 12%,rgba(247,190,71,.045),transparent 34%),#02070d;}
.group-ride-photo-wide > .media-stage{min-height:330px;}
.community-cover > .media-stage{display:grid;place-items:center;min-height:330px;background:linear-gradient(145deg,#0c1b28,#030a11);}

/* Las imágenes ya no son enlaces: evitamos efectos hover que sugieran que son clicables. */
.media-stage img{cursor:default;}
.circuit-photo > .media-stage:hover img,
.group-ride-photo > .media-stage:hover img,
.community-cover > .media-stage:hover img{transform:none;filter:none;}

@media(max-width:700px){
  .maritime-photo > .media-stage{min-height:190px;}
  .circuit-photo > .media-stage,.circuit-photo-wide > .media-stage{min-height:180px;}
  .group-ride-photo > .media-stage,.group-ride-photo-wide > .media-stage{min-height:180px;}
}
@media(max-width:650px){.qth-photo > .media-stage{min-height:190px;}}
@media(max-width:620px){
  .activity-photo > .media-stage{min-height:180px;}
  .hobby-photo > .media-stage,.navigation-feature > .media-stage{min-height:180px;}
}
@media(max-width:520px){.community-cover > .media-stage{min-height:240px;}}


/* ===== EA7HOH V31 · selector de idioma ES / EN ===== */
.header-inner{position:relative;}
@media (min-width:821px){
  .header-inner{min-height:92px;padding-top:22px;}
}
.language-switcher{font-family:var(--mono);font-size:.65rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;align-items:center;color:#72899a;}
.language-switcher-desktop{position:absolute;top:7px;right:0;display:flex;gap:5px;z-index:3;}
.language-switcher .language-label{margin-right:5px;color:#60798b;font-size:.58rem;letter-spacing:.12em;}
.language-switcher a{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:28px;padding:2px 7px;border:1px solid transparent;border-radius:8px;color:#9fb2c0;text-decoration:none;transition:color .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease;}
.language-switcher a:hover,.language-switcher a:focus-visible{color:#fff;border-color:rgba(84,231,255,.28);background:rgba(84,231,255,.07);outline:none;}
.language-switcher a[aria-current="page"]{color:#07111f;background:var(--cyan);border-color:var(--cyan);box-shadow:0 0 20px rgba(84,231,255,.10);}
.language-separator{color:#40596b;}
.language-switcher-mobile{display:none;}
.main-nav > .language-switcher-mobile::after{display:none!important;}
.legal-language-note{margin:0 0 24px;}
@media(max-width:820px){
  .language-switcher-desktop{display:none;}
  .language-switcher-mobile{display:flex!important;gap:6px;padding:8px 8px 14px;margin-bottom:3px;border-bottom:1px solid rgba(255,255,255,.08);}
  .language-switcher-mobile .language-label{margin-right:auto;align-self:center;}
  .language-switcher-mobile a{min-width:44px;min-height:44px;padding:0 12px;}
  .main-nav > .language-switcher-mobile{font-size:.7rem;}
}
@media(max-width:620px){
  .language-switcher-mobile{padding-inline:4px;}
}

/* V31 · navegación adaptable para tablets, portátiles compactos y Smart TV */
@media (min-width:1121px){
  .header-inner{min-height:92px;padding-top:22px;}
}
@media (min-width:821px) and (max-width:1120px){
  .header-inner{min-height:76px;padding-top:0;}
}
@media (max-width:1120px){
  .menu-toggle{display:flex;}
  .language-switcher-desktop{display:none;}
  .main-nav{
    position:fixed;
    inset:76px 0 auto 0;
    display:grid;
    gap:0;
    max-height:calc(100vh - 76px);
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:14px 20px 22px;
    border-bottom:1px solid rgba(255,255,255,.08);
    background:rgba(3,11,19,.98);
    transform:translateY(-125%);
    opacity:0;
    visibility:hidden;
    transition:.25s ease;
  }
  .main-nav.open{transform:none;opacity:1;visibility:visible;}
  .main-nav > a{padding:13px 8px;border-bottom:1px solid rgba(255,255,255,.05);}
  .main-nav > a::after{display:none;}
  .language-switcher-mobile{display:flex!important;gap:6px;padding:8px 8px 14px;margin-bottom:3px;border-bottom:1px solid rgba(255,255,255,.08);}
  .language-switcher-mobile .language-label{margin-right:auto;align-self:center;}
  .language-switcher-mobile a{min-width:44px;min-height:44px;padding:0 12px;}
}
@media(max-width:620px){
  .main-nav{inset:70px 0 auto 0;max-height:calc(100vh - 70px);}
}

/* V31 · mismo tratamiento visual para los enlaces legales de /en/ */
.footer-links a[href="legal-notice.html"],
.footer-links a[href="privacy.html"],
.footer-links a[href="credits.html"]{color:#627b8d;font-size:.76rem;}
.footer-links a[href="legal-notice.html"]{margin-top:8px;padding-top:10px;border-top:1px solid rgba(255,255,255,.06);}

/* ===== EA7HOH V32 · protección de imágenes multidispositivo =====
   Capa disuasoria para ratón, trackpad y pulsación prolongada en navegadores
   basados en Chromium, Gecko/Firefox y WebKit/Safari. No se interceptan
   touchstart/pointerdown ni se modifica touch-action para conservar scroll y zoom. */
img.protected-image {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
  pointer-events: none;
}



/* ===== EA7HOH V35 · Artículos técnicos ===== */
.article-hub-hero{background:radial-gradient(circle at 84% 18%,rgba(84,231,255,.12),transparent 29%),linear-gradient(180deg,#07131f,#06101d)}
.article-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.article-card{overflow:hidden;border:1px solid rgba(84,231,255,.14);border-radius:21px;background:linear-gradient(145deg,rgba(14,34,52,.96),rgba(5,16,28,.98));box-shadow:0 20px 50px rgba(0,0,0,.18)}
.article-card-media{display:grid;place-items:center;min-height:240px;padding:14px;border-bottom:1px solid rgba(255,255,255,.06);background:radial-gradient(circle at 50% 20%,rgba(84,231,255,.07),transparent 38%),#030b12}
.article-card-media img{width:100%;height:260px;object-fit:contain}
.article-card-copy{display:flex;flex-direction:column;align-items:flex-start;min-height:330px;padding:25px}
.article-tag{color:#70e2f3;font-family:var(--mono);font-size:.63rem;font-weight:900;letter-spacing:.08em}
.article-card h2{margin:15px 0 10px;font-size:clamp(1.3rem,2.2vw,1.7rem);line-height:1.08}
.article-card p{margin:0 0 24px;color:#93a9b8;line-height:1.7}
.article-card .btn{margin-top:auto}
.tech-article-hero{min-height:430px}.tech-article-hero h1{max-width:1050px;font-size:clamp(2.25rem,5.2vw,4.6rem)}
.article-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:26px;color:#7892a4;font-family:var(--mono);font-size:.66rem;letter-spacing:.04em}
.article-meta span{padding:7px 10px;border:1px solid rgba(84,231,255,.12);border-radius:999px;background:rgba(84,231,255,.035)}
.tech-article-layout{max-width:1120px}.tech-article-content{max-width:960px;margin:0 auto;color:#a5b8c5;font-size:clamp(.98rem,1.25vw,1.08rem);line-height:1.82}
.tech-article-content>p{margin:0 0 20px}.tech-article-content strong{color:#eefbff}.tech-article-content a:not(.btn){color:#75e4f5;text-decoration:underline;text-underline-offset:3px}
.tech-figure{margin:30px 0 36px;overflow:hidden;border:1px solid rgba(84,231,255,.14);border-radius:19px;background:#04101a;box-shadow:0 18px 45px rgba(0,0,0,.18)}
.tech-media{display:grid;place-items:center;min-height:180px;padding:12px;background:radial-gradient(circle at 50% 12%,rgba(84,231,255,.055),transparent 38%),#020a10}
.tech-figure img{display:block;width:100%;height:auto;max-height:760px;object-fit:contain}
.tech-figure figcaption{padding:12px 15px 14px;border-top:1px solid rgba(255,255,255,.06);color:#7892a3;font-size:.75rem}
.tech-note{margin:28px 0;padding:20px 22px;border-left:3px solid var(--cyan);border-radius:0 14px 14px 0;background:rgba(84,231,255,.055)}
.tech-note strong{display:block;margin-bottom:6px;color:#eafaff;font-size:.94rem}.tech-note p{margin:0;color:#9db3c0;line-height:1.7}
.tech-note-warning{border-left-color:#ffbd65;background:rgba(255,184,80,.065)}.tech-note-warning strong{color:#ffe0ae}
.tech-step{display:grid;grid-template-columns:74px minmax(0,1fr);gap:22px;padding:36px 0;border-top:1px solid rgba(255,255,255,.07)}
.tech-step:first-of-type{margin-top:30px}.step-index{display:grid;place-items:center;width:58px;height:58px;border:1px solid rgba(84,231,255,.22);border-radius:15px;color:#8befff;background:rgba(84,231,255,.055);font-family:var(--mono);font-weight:900}
.step-body h2,.tech-section-title{margin:0 0 14px;color:#f2fbff;font-size:clamp(1.45rem,2.5vw,2rem);line-height:1.12}.step-body>p{margin:0 0 17px}.step-body ul{margin:0 0 18px;padding-left:22px}.step-body li+li{margin-top:7px}
.tech-section-title{margin:55px 0 18px;padding-top:30px;border-top:1px solid rgba(255,255,255,.08);font-size:clamp(1.8rem,3.2vw,2.6rem)}
.article-end-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:44px;padding-top:28px;border-top:1px solid rgba(255,255,255,.08)}
/* El menú pasa antes a modo compacto al añadir Artículos/Articles. */
@media(max-width:1180px){
 .menu-toggle{display:flex}.language-switcher-desktop{display:none}.header-inner{min-height:76px;padding-top:0}
 .main-nav{position:fixed;inset:76px 0 auto 0;display:grid;gap:0;max-height:calc(100vh - 76px);overflow-y:auto;overscroll-behavior:contain;padding:14px 20px 22px;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(3,11,19,.98);transform:translateY(-125%);opacity:0;visibility:hidden;transition:.25s ease}
 .main-nav.open{transform:none;opacity:1;visibility:visible}.main-nav>a{padding:13px 8px;border-bottom:1px solid rgba(255,255,255,.05);font-size:.88rem;white-space:normal}.main-nav>a::after{display:none}.main-nav a[aria-current="page"]{color:var(--cyan)}
 .language-switcher-mobile{display:flex!important;gap:6px;padding:8px 8px 14px;margin-bottom:3px;border-bottom:1px solid rgba(255,255,255,.08)}.language-switcher-mobile .language-label{margin-right:auto;align-self:center}.language-switcher-mobile a{min-width:44px;min-height:44px;padding:0 12px}
}
@media(max-width:980px){.article-card-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.article-card-grid{grid-template-columns:1fr}.tech-step{grid-template-columns:1fr;gap:12px}.step-index{width:50px;height:50px}.article-card-media img{height:220px}.tech-media{min-height:120px}.tech-figure{margin:24px 0 30px}}
@media(max-width:620px){.main-nav{inset:70px 0 auto 0;max-height:calc(100vh - 70px)}.tech-article-content{font-size:.97rem}.article-meta{gap:7px}.tech-note{padding:17px 18px}}


/* ===== EA7HOH V37 · Accesibilidad WCAG 2.2 AA + selector de idioma con banderas ===== */
:root{
  --focus-outer:#007a92;
  --focus-inner:#ffffff;
}

/* Indicador de foco de dos tonos: visible tanto sobre fondos claros como oscuros. */
:focus-visible{
  outline:3px solid var(--focus-inner);
  outline-offset:3px;
  box-shadow:0 0 0 6px var(--focus-outer)!important;
}
.menu-toggle:focus-visible,.btn:focus-visible,.language-switcher a:focus-visible{outline:3px solid var(--focus-inner);outline-offset:3px;box-shadow:0 0 0 6px var(--focus-outer)!important;}
.skip-link:focus-visible{outline:3px solid #111;outline-offset:3px;box-shadow:0 0 0 6px #fff!important;}

/* Enlaces dentro del contenido: no dependen únicamente del color. */
main p a:not(.btn),main li a:not(.btn),main dd a:not(.btn){text-decoration:underline;text-decoration-thickness:.09em;text-underline-offset:.18em;}
main p a:not(.btn):hover,main li a:not(.btn):hover,main dd a:not(.btn):hover{text-decoration-thickness:.14em;}

/* Contraste reforzado para textos pequeños y secundarios. */
.callsign-form small{color:#7f97a9;}
.footer-bottom{color:#7890a1;}
.footer-links a[href="aviso-legal.html"],
.footer-links a[href="privacidad.html"],
.footer-links a[href="cookies.html"],
.footer-links a[href="creditos.html"],
.footer-links a[href="accesibilidad.html"],
.footer-links a[href="legal-notice.html"],
.footer-links a[href="privacy.html"],
.footer-links a[href="credits.html"],
.footer-links a[href="accessibility.html"],
.footer-links .accessibility-link{color:#7890a1;font-size:.76rem;}
.footer-links a[href="aviso-legal.html"],.footer-links a[href="legal-notice.html"]{margin-top:8px;padding-top:10px;border-top:1px solid rgba(255,255,255,.12);}
.language-switcher{color:#91a8b8;}
.language-switcher .language-label{color:#8ea5b5;font-size:.62rem;}
.language-separator{color:#7f96a6;}

/* Selector horizontal ES / EN. Las banderas son decorativas; el texto sigue siendo la etiqueta real. */
.language-switcher{gap:4px;}
.language-switcher a{min-width:56px;min-height:44px;gap:7px;padding:4px 10px;}
.language-flag{width:20px;height:14px;object-fit:cover;border:1px solid rgba(255,255,255,.28);border-radius:2px;flex:0 0 auto;}
.language-code{line-height:1;}
.language-switcher a[aria-current="page"] .language-flag{border-color:rgba(4,17,26,.42);}
@media(max-width:1180px){
  .language-switcher-mobile{align-items:center;flex-wrap:wrap;}
  .language-switcher-mobile a{min-width:64px;min-height:48px;}
}

/* Tabla de contenidos de artículos. */
.article-toc{margin:34px 0 42px;padding:22px 24px;border:1px solid rgba(84,231,255,.18);border-radius:18px;background:rgba(84,231,255,.045);}
.article-toc-title{margin:0 0 13px!important;color:#dff9ff!important;font-family:var(--mono);font-size:.72rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase;}
.article-toc ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 22px;margin:0;padding-left:22px;}
.article-toc li{color:#9db5c4;}
.article-toc a{color:#d5f7fc!important;text-decoration:underline;text-underline-offset:3px;}
.article-toc a:hover{color:#fff!important;}
@media(max-width:720px){.article-toc{padding:18px}.article-toc ol{grid-template-columns:1fr;}}

/* FAQ visible y semántica: sin acordeones ni interacción JavaScript innecesaria. */
.article-faq{margin-top:54px;padding-top:10px;}
.faq-list{display:grid;gap:14px;}
.faq-item{padding:20px 22px;border:1px solid rgba(84,231,255,.13);border-radius:16px;background:rgba(255,255,255,.025);}
.faq-item h3{margin:0 0 8px;color:#f0fbff;font-size:1.02rem;line-height:1.35;}
.faq-item p{margin:0!important;color:#a9bdca;line-height:1.72;}

/* Mensajes de validación accesibles. */
.form-error{grid-column:1/-1;min-height:1.1em;color:#ffd5a3!important;font-weight:700;}
input[aria-invalid="true"]{border-color:#ffbd65!important;box-shadow:0 0 0 2px rgba(255,189,101,.18);}

/* Reflujo y anclas: los encabezados internos no quedan ocultos bajo la cabecera sticky. */
[id]{scroll-margin-top:110px;}
@media(max-width:620px){[id]{scroll-margin-top:90px;}}

/* Mejor soporte de contraste forzado en Windows y navegadores compatibles. */
@media (forced-colors: active){
  *{forced-color-adjust:auto;}
  .site-header,.main-nav,.article-toc,.faq-item,.tech-note,.article-card,.legal-aside{border:1px solid CanvasText;}
  .btn,.menu-toggle,.language-switcher a{border:1px solid ButtonText;}
  .language-switcher a[aria-current="page"]{background:Highlight;color:HighlightText;}
  .language-flag{border:1px solid CanvasText;}
  :focus-visible{outline:3px solid Highlight!important;box-shadow:none!important;}
  .spectrum,.rf-grid,.hero-glow{display:none!important;}
}

@media (prefers-contrast: more){
  --text-muted:#c2d2dd;
  --ink-muted:#40505d;
  --line:rgba(255,255,255,.34);
  .site-header{background:#030b13;}
  .footer-bottom,.footer-links a,.language-switcher,.language-switcher .language-label{color:#b8cad6;}
}

/* El contexto del navegador se conserva en texto y enlaces. La restricción se limita a zonas gráficas protegidas. */
.protected-media{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;}

/* Ajuste definitivo del punto de cambio del menú para que CSS y JavaScript coincidan. */
@media(min-width:1181px){.menu-toggle{display:none;}.language-switcher-desktop{display:flex;}}
@media(max-width:1180px){.menu-toggle{display:flex;}.language-switcher-desktop{display:none;}}

/* V37 · tamaño mínimo de objetivos en navegación de escritorio */
@media(min-width:1181px){.main-nav>a{display:inline-flex;align-items:center;min-height:32px;padding-inline:2px;}}
main:focus{outline:none;}
main:focus-visible{outline:3px solid var(--focus-inner);outline-offset:-3px;box-shadow:inset 0 0 0 6px var(--focus-outer)!important;}

/* V37 · objetivos táctiles y de puntero en navegación secundaria */
.footer-links a{display:inline-flex;align-items:center;min-height:32px;padding-block:4px;}
.breadcrumb a{display:inline-flex;align-items:center;min-height:28px;}
.article-toc a{display:inline-flex;align-items:center;min-height:28px;}

/* V37 · correcciones de reflujo y objetivos secundarios detectadas en la revisión manual */
.activity-intro>div{min-width:0;}
.qrz-log-footer a{display:inline-flex;align-items:center;min-height:28px;}
.external-arrow{display:inline-block;margin-left:.15em;}
/* V38 · legibilidad de encabezados: nunca dividir palabras dentro de títulos.
   El reflujo se resuelve mediante tipografía responsive y ajuste de contenedores,
   no mediante guionado automático ni cortes arbitrarios. */
h1,h2,h3{
  overflow-wrap:normal;
  word-break:normal;
  -webkit-hyphens:none;
  hyphens:none;
  text-wrap:balance;
}

/* Tipografía responsive para pantallas estrechas: conserva palabras completas. */
@media(max-width:620px){
  .page-hero h1{font-size:clamp(2rem,10.4vw,3.05rem);line-height:1.02;letter-spacing:-.035em;}
  .tech-article-hero h1{font-size:clamp(1.95rem,9.8vw,2.9rem);line-height:1.03;}
  .hero h1 span{font-size:clamp(3.2rem,17vw,5.1rem);}
  .chapter-title,.activity-title,.feature-title{font-size:clamp(1.9rem,9vw,2.8rem);line-height:1.04;}
}
@media(max-width:390px){
  .page-hero h1{font-size:clamp(1.82rem,9.7vw,2.55rem);}
  .tech-article-hero h1{font-size:clamp(1.8rem,9.2vw,2.45rem);}
  h2{letter-spacing:-.02em;}
}
@media(max-width:620px){
  /* La palabra “Radiocomunicaciones” es excepcionalmente larga: se reduce el título
     de esta tarjeta antes de permitir cualquier ruptura dentro de la palabra. */
  .activity-intro h2{font-size:clamp(1.7rem,6.3vw,2.1rem);}
}
@media(max-width:390px){
  .activity-intro{padding:20px;}
  .activity-intro h2{font-size:1.35rem;line-height:1.08;letter-spacing:-.045em;}
}

/* Cadenas que por su naturaleza sí pueden ser largas (URLs/código) pueden replegarse. */
code,pre,.breakable-url{overflow-wrap:anywhere;word-break:break-word;}
/* V37 · ajustes finales de contraste para texto secundario pequeño. */
.clock-card span,.clock-card small{color:#8198a9;}
.signal-row{color:#7c94a5;}
.chapter-number{color:rgba(84,231,255,.46);}
.qrz-consent-card small{color:#7892a4;}
.breadcrumb i{color:#71899b;}
