/* Echos in the Ether: articles, headlines, embeds, home mockups (v1.1) */
.section__kicker,.mk-kicker{font-family:var(--mono);font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cyan);margin:0 0 .4rem}
.section__head--row{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap}
.btn--sm{padding:.45rem .9rem;font-size:.85rem}
.nav__links a[aria-current="page"]{color:var(--cyan)}
/* filters */
.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.4rem 0 1.6rem}
.chip{font:inherit;font-size:.85rem;color:var(--muted);background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:999px;padding:.38rem .9rem;cursor:pointer;text-decoration:none}
.chip:hover{color:#fff;border-color:var(--cyan)}.chip.is-on{color:#04201e;background:var(--cyan);border-color:var(--cyan)}
/* article cards */
.art-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.1rem}
.art-grid--4{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.art-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:border-color .2s,transform .2s}
.art-card:hover{border-color:rgba(56,225,214,.5);transform:translateY(-2px)}
.art-card__img img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.art-card__body{padding:1rem 1.1rem 1.2rem}
.art-card__meta{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;font-size:.78rem;color:var(--muted);margin:0 0 .5rem;font-family:var(--mono)}
.art-card__title{font-size:1.08rem;line-height:1.3;margin:0 0 .45rem}.art-card__title a{color:#fff}.art-card__title a:hover{color:var(--cyan)}
.art-card__ex{color:var(--muted);font-size:.92rem;margin:0;line-height:1.5}
.art-tag{display:inline-block;font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;padding:.16rem .5rem;border-radius:6px;border:1px solid currentColor;color:var(--cyan);text-decoration:none}
.art-tag--tutorials,.art-tag--sdr{color:#6bf0c6}.art-tag--news,.art-tag--ham{color:var(--amber)}.art-tag--other,.art-tag--shortwave{color:#a99bff}.art-tag--space{color:#7cc7ff}.art-tag--bump{color:var(--rose)}
.pager{display:flex;gap:.6rem;justify-content:center;margin-top:2rem}.empty{color:var(--muted)}
.art-single{max-width:820px}.art-single__title{font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.15;margin:.3rem 0 .6rem;color:#fff}
.art-single__dek{font-size:1.12rem;color:var(--muted);margin:0 0 1.6rem;max-width:62ch}
.art-single__img img{width:100%;height:auto;border-radius:var(--radius)}.art-more{margin-top:3rem}
/* prose media: block editor embeds + videos, responsive */
.prose figure{margin:1.6rem 0}.prose img{max-width:100%;height:auto;border-radius:var(--radius-sm)}
.prose .wp-block-embed__wrapper,.featured-video .video-embed{position:relative;aspect-ratio:16/9;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--line);background:#000}
.prose .wp-block-embed__wrapper iframe,.featured-video .video-embed iframe{position:absolute;inset:0;width:100%!important;height:100%!important;border:0}
.prose .wp-block-embed figcaption,.prose .wp-block-video figcaption,.featured-video figcaption{color:var(--muted);font-size:.88rem;margin-top:.5rem}
.prose video,.prose .wp-block-video video{width:100%;height:auto;border-radius:var(--radius-sm);background:#000;border:1px solid var(--line)}
.prose iframe{max-width:100%}
.featured-video{margin:0 0 2rem}.ep-featured-video{padding-top:0}
/* headlines */
.hl-list{list-style:none;margin:0;padding:0;display:grid;gap:.8rem}
.hl-item{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.9rem 1.1rem}
.hl-item[hidden]{display:none}
.hl-item__meta{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;font-size:.76rem;color:var(--muted);margin:0 0 .35rem;font-family:var(--mono)}
.hl-item__src{color:#c9d0dc}
.hl-item__title{font-size:1.02rem;line-height:1.35;margin:0}.hl-item__title a{color:#fff}.hl-item__title a:hover{color:var(--cyan)}
.hl-item__blurb{color:var(--muted);font-size:.9rem;margin:.4rem 0 0;line-height:1.5}
.hl-list--strip,.hl-list--grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.hl-list--compact{gap:.5rem}.hl-list--compact .hl-item{padding:.55rem .7rem;background:transparent}
.hl-note,.hl-updated{color:var(--muted);font-size:.8rem}.hl-note{margin-top:2rem}
/* ---------------- mockups ---------------- */
.mock-flag{position:fixed;right:12px;bottom:calc(var(--player-h) + 12px);z-index:60;background:var(--amber);color:#1a1100;font:600 .78rem var(--mono);padding:.35rem .7rem;border-radius:8px}
.mk-h{font-family:var(--mono);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan);margin:0 0 .7rem}
.mk-h2{font-size:1.4rem;margin:0}
.mk-sec{max-width:var(--maxw);margin:0 auto;padding:1.6rem 1.25rem}
.mk-sechead{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:1rem;gap:1rem}
.mk-panel,.mk-module{background:rgba(17,20,29,.86);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.2rem}
.mk-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin:1rem 0}.mk-tags span{font-size:.75rem;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:.2rem .6rem}
.mk-actions{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.mk-dur{font-family:var(--mono);color:var(--muted)}
.mk-play{font-size:1.05rem;padding:.85rem 1.5rem}
.mk-mini{list-style:none;padding:0;margin:0 0 .9rem}.mk-mini li{display:flex;justify-content:space-between;gap:.8rem;padding:.45rem 0;border-bottom:1px dashed var(--line);font-size:.92rem}.mk-mini li a{color:#e9ecf2}.mk-mini li span{color:var(--muted);font-family:var(--mono);font-size:.78rem;white-space:nowrap}
.mk-air{margin:0 0 .7rem;font-size:.9rem;color:var(--muted)}.mk-air strong{color:#fff}
/* A */
.mockA__top{max-width:var(--maxw);margin:0 auto;padding:2.2rem 1.25rem 1rem;display:grid;grid-template-columns:2fr 1fr;gap:1.2rem}
.mockA__hero{position:relative;padding:2.2rem;border-radius:22px;border:1px solid rgba(56,225,214,.35);background:radial-gradient(120% 140% at 0% 0%,rgba(56,225,214,.18),transparent 55%),radial-gradient(90% 120% at 100% 100%,rgba(124,92,255,.22),transparent 60%),rgba(12,14,21,.9)}
.mockA__hero h1{font-size:clamp(1.8rem,3.6vw,2.8rem);line-height:1.1;margin:.2rem 0 .8rem}.mockA__hero h1 a{color:#fff}
.mockA__dek{color:#c9d0dc;font-size:1.05rem;max-width:60ch}
.mockA__side{display:grid;gap:1.2rem;align-content:start}
.mockA__cta{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.mk-card{display:block;padding:1.6rem;border-radius:var(--radius);border:1px solid var(--line);color:var(--ink);background:linear-gradient(135deg,rgba(56,225,214,.12),rgba(12,14,21,.9))}
.mk-card--guest{background:linear-gradient(135deg,rgba(245,166,35,.14),rgba(12,14,21,.9))}
.mk-card span{font-size:1.8rem}.mk-card h3{margin:.4rem 0}.mk-card p{color:var(--muted);margin:0 0 .8rem}.mk-card b{color:var(--cyan)}
/* B */
.mockB{max-width:1200px;margin:0 auto;padding:1.8rem 1.25rem}
.mockB__console{position:relative;display:grid;grid-template-columns:1fr 170px;gap:1.4rem;align-items:center;padding:1.6rem 1.8rem 1.8rem;border-radius:24px;background:linear-gradient(180deg,#1a1e2b,#0d1018);border:1px solid #2c3246;box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 30px 60px rgba(0,0,0,.45)}
.mockB__dial{grid-column:1/-1;position:relative;height:58px;border-radius:12px;background:linear-gradient(180deg,#2a1d05,#120c02);border:1px solid #4a3410;box-shadow:inset 0 0 24px rgba(245,166,35,.35);overflow:hidden}
.mockB__scale{display:flex;justify-content:space-between;padding:.5rem 1.2rem;font:600 .8rem var(--mono);color:#f5c46b;background:repeating-linear-gradient(90deg,transparent 0 11px,rgba(245,196,107,.35) 11px 12px) bottom/100% 14px no-repeat}
.mockB__needle{position:absolute;top:4px;bottom:4px;left:46%;width:3px;background:var(--rose);box-shadow:0 0 12px var(--rose)}
.mk-led{font:600 .72rem var(--mono);letter-spacing:.2em;color:#7dffb0;text-shadow:0 0 8px rgba(125,255,176,.55);margin:0 0 .6rem}
.mockB__np h1{font-size:clamp(1.5rem,3vw,2.3rem);line-height:1.15;margin:0 0 .4rem}.mockB__np h1 a{color:#fff}
.mockB__meta{font-family:var(--mono);color:var(--amber);margin:0 0 .6rem}.mockB__np p{color:#c9d0dc}
.mockB__knob{width:150px;height:150px;border-radius:50%;border:0;cursor:pointer;color:#04201e;background:radial-gradient(circle at 35% 30%,#b8fff6,var(--cyan) 45%,#13827b);box-shadow:0 0 0 8px #1c2131,0 0 0 10px #343b52,0 0 40px rgba(56,225,214,.5);display:grid;place-content:center;font-size:2.4rem;justify-self:center}
.mockB__knob small{font:700 .7rem var(--mono);letter-spacing:.2em}
.mockB__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem}
.mockB__hl{grid-row:span 2}
.mockB__tx{display:grid;grid-template-columns:auto 1fr;gap:.1rem .8rem;padding:.5rem 0;border-bottom:1px dashed var(--line)}.mockB__tx b{font-family:var(--mono);color:var(--amber);grid-row:span 2;font-size:1.05rem}.mockB__tx span{font-size:.88rem}.mockB__tx time{font-size:.78rem;color:var(--muted);font-family:var(--mono)}
.mockB__art{display:block;padding:.55rem 0;border-bottom:1px dashed var(--line);color:#e9ecf2}.mockB__art b{display:block;font-weight:600;margin-top:.25rem}
.mockB__btn{display:flex;flex-direction:column;gap:.4rem;color:#fff}.mockB__btn small{color:var(--cyan)}
.mk-module>a:last-child{display:inline-block;margin-top:.6rem;font-size:.88rem}
/* C */
.mockC{max-width:700px;margin:0 auto;padding:3rem 1.25rem 2rem}
.mockC__hero h1{font-size:clamp(2.1rem,5.4vw,3.4rem);line-height:1.05;letter-spacing:-.01em;margin:.3rem 0 1rem;color:#fff}
.mockC__dek{font-size:1.18rem;line-height:1.6;color:#c9d0dc;margin:0 0 1.4rem}
.mockC__play{display:flex;gap:1.2rem;align-items:center;flex-wrap:wrap}.mockC__air{font-family:var(--mono);font-size:.85rem;color:var(--muted);margin-top:1.2rem}
.mockC__rule{border:0;border-top:1px solid var(--line);margin:2.4rem 0}
.mockC__h{font-family:var(--mono);font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan);margin:0 0 1.1rem}
.mockC__art{margin:0 0 1.6rem}.mockC__art h3{font-size:1.4rem;margin:.2rem 0 .4rem}.mockC__art h3 a{color:#fff}.mockC__art p{color:var(--muted);margin:0;line-height:1.6}.mockC__meta{font-size:.8rem!important;font-family:var(--mono)}
.mockC__hl{padding-left:1.2rem;margin:0 0 1rem}.mockC__hl li{margin:.55rem 0;line-height:1.45}.mockC__hl a{color:#e9ecf2}.mockC__hl span{color:var(--muted);font-size:.8rem;font-family:var(--mono)}
.mockC__two{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.mockC__two p{color:var(--muted)}
.mockC__arch{list-style:none;padding:0}.mockC__arch li{padding:.45rem 0;border-bottom:1px dashed var(--line)}.mockC__arch time{font-family:var(--mono);color:var(--muted);font-size:.8rem;margin-right:.6rem}
@media (max-width:820px){.mockA__top,.mockA__cta,.mockB__grid,.mockC__two{grid-template-columns:1fr}.mockB__console{grid-template-columns:1fr}.mockB__hl{grid-row:auto}.mockA__hero{padding:1.4rem}.mockB__knob{width:120px;height:120px}}

/* theme song button (Oct 31) */
.mockB__controls{display:grid;justify-items:center;gap:.9rem;align-self:stretch;align-content:center}
.mockB__theme{display:grid;justify-items:center;gap:.35rem;width:100%}
.mockB__themebtn{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;padding:.45rem 1rem;border-radius:999px;cursor:pointer;font:700 .72rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);background:#11151f;border:1px solid #343b52;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.mockB__themebtn:hover{border-color:var(--cyan)}.mockB__themebtn:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.mockB__themebtn.is-on{color:#04201e;background:var(--cyan);box-shadow:0 0 18px rgba(56,225,214,.45)}
.mockB__tsbar{width:130px;height:3px;border-radius:2px;background:#2c3246;overflow:hidden}.mockB__tsbar span{display:block;height:100%;width:0;background:var(--cyan)}
.mockB__tstime{font-size:.65rem;min-height:1em}
@media (max-width:820px){.mockB__controls{grid-auto-flow:column;justify-content:center;align-items:center}.mockB__theme{width:auto}}
/* theme song v2: button aligned with hero bottom button row (desktop) */
@media (min-width:821px){.mockB__controls{grid-template-rows:1fr auto;height:100%;align-content:stretch}
.mockB__controls .mockB__knob{align-self:center}
.mockB__theme{position:relative;align-self:end}
.mockB__theme .mockB__tsbar,.mockB__theme .mockB__tstime{position:absolute;left:50%;transform:translateX(-50%)}
.mockB__theme .mockB__tsbar{top:calc(100% + 5px)}.mockB__theme .mockB__tstime{top:calc(100% + 11px);white-space:nowrap}}

/* header brand icon (Oct 31) */
.brand__icon{width:36px;height:36px;flex:none;display:inline-block;vertical-align:middle;border-radius:6px}
@media (max-width:820px){.brand__icon{width:30px;height:30px}}
