:root {
  color-scheme: light;
  --night: #192846;
  --night-deep: #111d34;
  --paper: #f3f0e6;
  --paper-dark: #e7e3d6;
  --coral: #fa7258;
  --blue: #405880;
  --mist: #cbd2d3;
  --copy: #27324a;
  --muted: #656e7d;
  --serif: 'Iowan Old Style', 'Palatino Linotype', 'Book Antiqua', Georgia, serif;
  --sans: 'Avenir Next', Avenir, 'Segoe UI', sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 5rem; }
body { margin: 0; background: var(--paper); color: var(--copy); font-family: var(--sans); font-size: 16px; -webkit-font-smoothing: antialiased; }
a { color: inherit; }
.skip-link { position: absolute; z-index: 10; top: 12px; left: 12px; padding: 12px 15px; transform: translateY(-160%); color: var(--night); background: var(--coral); }
.skip-link:focus { transform: translateY(0); }
.site-header { position: relative; z-index: 20; min-height: 78px; padding: 0 7.5%; display: flex; align-items: center; justify-content: space-between; color: var(--paper); background: var(--night); }
.wordmark { font-size: 24px; font-weight: 650; letter-spacing: -.075em; text-decoration: none; }
.wordmark span { color: var(--coral); letter-spacing: -.1em; }
.header-menu { position: relative; }
.menu-toggle { width: 46px; height: 46px; padding: 12px 10px; display: flex; flex-direction: column; justify-content: center; gap: 5px; color: var(--paper); background: transparent; border: 1px solid rgba(243,240,230,.36); border-radius: 3px; cursor: pointer; }
.menu-toggle span { width: 24px; height: 2px; display: block; background: currentColor; transition: transform .18s ease, opacity .18s ease; }
.menu-toggle:hover { border-color: var(--coral); color: var(--coral); }
.menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(7px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-7px) rotate(-45deg); }
.site-header nav { position: absolute; top: calc(100% - 1px); left: 0; z-index: 5; width: min(290px, calc(100vw - 36px)); padding: 10px 14px; display: flex; flex-direction: column; align-items: stretch; gap: 0; color: var(--paper); background: var(--night-deep); border-top: 2px solid var(--coral); box-shadow: 0 16px 30px rgba(17,29,52,.24); font-size: 15px; }
.site-header nav[hidden] { display: none; }
.site-header nav a { padding: 13px 9px; text-decoration: none; transition: color .18s ease; }
.site-header nav a:not(.header-listen) { border-bottom: 1px solid rgba(243,240,230,.14); }
.site-header nav a:hover { color: var(--coral); }
.site-header nav .header-listen { margin-top: 8px; padding: 7px 8px; display: inline-flex; align-items: center; gap: 8px; border: 1px solid rgba(243,240,230,.34); border-radius: 3px; }
.header-listen span { margin-left: 7px; color: var(--coral); }
.header-tunein { min-height: 46px; padding: 5px 11px; display: inline-flex; align-items: center; gap: 8px; color: var(--paper); border: 1px solid rgba(243,240,230,.36); border-radius: 3px; font-size: 13px; text-decoration: none; transition: border-color .18s ease, color .18s ease; }
.header-tunein:hover { border-color: var(--coral); color: var(--coral); }
.header-tunein .tunein-mark { width: 38px; height: 38px; }
.header-tunein span:last-child { margin-left: 3px; color: var(--coral); }
@media (min-width: 721px) {
  .menu-toggle { display: none; }
  .site-header nav,.site-header nav[hidden] { position: static; width: auto; padding: 0; display: flex; flex-direction: row; align-items: center; gap: clamp(18px, 2.2vw, 34px); color: var(--paper); background: transparent; border: 0; box-shadow: none; font-size: clamp(13px, .9vw, 15px); }
  .site-header nav a { padding: 8px 0; }
  .site-header nav a:not(.header-listen) { border-bottom: 0; }
}
.tunein-mark { width: 44px; height: 44px; flex: none; display: inline-block; object-fit: contain; }

.hero { position: relative; min-height: min(730px, calc(100svh - 78px)); padding: 82px 10% 50px; display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(350px, .98fr); grid-template-rows: auto 1fr; align-items: center; overflow: hidden; color: var(--paper); background: var(--night); }
.hero::after { position: absolute; content: ''; width: 70vw; height: 70vw; max-width: 950px; max-height: 950px; right: -17%; top: -56%; border: 1px solid rgba(203,210,211,.1); border-radius: 50%; box-shadow: 0 0 0 1.5vw rgba(203,210,211,.018), 0 0 0 3vw rgba(203,210,211,.014); pointer-events: none; }
.station-kicker { grid-column: 1 / -1; grid-row: 1; width: 100%; }
.hero-copy { position: relative; z-index: 2; grid-column: 1; grid-row: 2; max-width: 600px; padding-bottom: 18px; }
.station-kicker,.section-index { color: #bbc5d0; font-size: 13px; line-height: 1.5; letter-spacing: .055em; }
.station-kicker { display: flex; align-items: center; gap: 10px; margin-bottom: 26px; }
.signal-dot { width: 7px; height: 7px; flex: none; border-radius: 50%; background: var(--coral); }
h1,h2,h3,p { margin-top: 0; }
h1,h2 { font-family: var(--serif); font-weight: 400; letter-spacing: -.06em; }
h1 { margin-bottom: 22px; font-size: clamp(4rem, 7.1vw, 7rem); line-height: .96; text-wrap: balance; }
h1 em,h2 em { color: var(--coral); font-weight: 400; }
.hero-lede { max-width: 440px; margin-bottom: 30px; color: #c3cbd1; font-size: 18px; line-height: 1.75; }
.listen-cta { min-height: 56px; padding: 0 18px 0 13px; display: inline-flex; align-items: center; gap: 14px; color: var(--night); background: var(--coral); text-decoration: none; font-size: 15px; font-weight: 650; transition: background-color .18s ease, transform .18s ease; }
.listen-cta:hover { background: #ff907a; transform: translateY(-2px); }
.tunein-mark-cta { width: 50px; height: 50px; }
.cta-service { padding-left: 13px; border-left: 1px solid rgba(25,40,70,.35); font-size: 13px; font-weight: 500; }
.listen-note { margin: 10px 0 0 1px; color: #9eabb9; font-size: 14px; }
.live-player { width: min(100%, 500px); margin: 0 0 8px; }
.live-player-controls { display: flex; align-items: center; gap: 12px; }
.player-toggle { min-height: 54px; padding: 0 18px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; flex: none; color: var(--night); background: var(--coral); border: 0; border-radius: 28px; cursor: pointer; transition: background-color .18s ease, transform .18s ease; }
.player-toggle:hover { background: #ff907a; transform: scale(1.04); }
.player-toggle:focus-visible { outline-color: var(--coral); }
.player-icon { min-width: 22px; min-height: 22px; display: grid; place-items: center; font-size: 22px; line-height: 1; }
.player-toggle[data-state="playing"] .player-icon { font-size: 20px; }
.player-icon.is-connecting::before { width: 19px; height: 19px; content: ""; border: 2px solid rgba(25,40,70,.25); border-top-color: var(--night); border-radius: 50%; animation: player-spin .75s linear infinite; }
@keyframes player-spin { to { transform: rotate(360deg); } }
.player-toggle:disabled { cursor: wait; opacity: .8; }
.player-status { margin: 0; }
.player-error { margin: 10px 0 0; color: #ffab98; font-size: 13px; line-height: 1.45; }
.player-error[hidden] { display: none; }
.live-spectrum { width: 100%; margin: 9px 0 0; padding: 0; background: transparent; border: 0; }
.live-spectrum canvas { width: 100%; height: 80px; display: block; }
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.player-icon.is-connecting::before { transform-origin: center; }
.tunein-fallback { width: fit-content; display: inline-flex; align-items: center; gap: 8px; color: #c3cbd1; font-size: 13px; text-decoration: none; }
.tunein-fallback .tunein-mark { width: 30px; height: 30px; }
.tunein-fallback span { color: var(--coral); }
.tunein-fallback:hover { color: var(--paper); }
.hero-photo { position: relative; grid-column: 2; grid-row: 1 / 3; width: min(100%, 530px); aspect-ratio: 1 / 1.03; justify-self: end; margin: 0; overflow: hidden; background: #263752; }
.hero-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 63% center; }
.hero-photo figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: 34px 18px 14px; color: var(--paper); background: linear-gradient(transparent,rgba(17,29,52,.78)); font-size: 14px; letter-spacing: .04em; }
.hero-bottom { position: absolute; z-index: 4; left: 10%; right: 10%; bottom: 22px; display: flex; align-items: center; gap: clamp(8px,1.6vw,20px); color: #c1c9cf; font-size: 10px; letter-spacing: .1em; }
.sequence-line { height: 1px; flex: 1; background: rgba(250,114,88,.65); }

.rhythm-section { padding: 116px 10% 130px; display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 8%; }
.rhythm-intro .section-index,.process-section .section-index,.bulletin-heading .section-index,.future-section .section-index { margin-bottom: 22px; color: #596577; }
h2 { font-size: clamp(3.6rem, 5.8vw, 5.8rem); line-height: .98; text-wrap: balance; }
.rhythm-intro h2 { margin-bottom: 24px; font-size: clamp(3.4rem, 5.1vw, 5rem); }
.rhythm-intro h2 span { color: #737f91; }
.rhythm-intro > p:last-child { max-width: 390px; margin-bottom: 0; color: var(--muted); font-size: 17px; line-height: 1.75; }
.rhythm-photo { position: relative; width: 100%; aspect-ratio: 4 / 3; margin: 0; overflow: hidden; background: var(--paper-dark); }
.rhythm-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.rhythm-photo figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: 38px 20px 17px; color: var(--paper); background: linear-gradient(transparent,rgba(17,29,52,.75)); font-size: 14px; letter-spacing: .04em; }

.autonomy-section { padding: 57px 10%; display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 8%; background: var(--paper-dark); }
.autonomy-heading .section-index { margin-bottom: 15px; color: #596577; }
.autonomy-heading h2 { max-width: 430px; margin: 0; font-size: clamp(2.8rem, 4vw, 4rem); line-height: 1; }
.autonomy-copy { padding-left: 25px; border-left: 2px solid var(--coral); }
.autonomy-status { margin-bottom: 12px; display: inline-flex; align-items: center; gap: 8px; color: var(--night); font-size: 14px; font-weight: 650; }
.autonomy-status > span { width: 8px; height: 8px; border-radius: 50%; background: var(--coral); }
.autonomy-copy p { max-width: 640px; margin-bottom: 0; color: var(--muted); font-size: 17px; line-height: 1.75; }

.process-section { padding: 108px 10% 112px; color: var(--paper); background: var(--night); }
.process-header { display: grid; grid-template-columns: .9fr 1.1fr .8fr; align-items: end; gap: 5%; margin-bottom: 68px; }.process-header .section-index { grid-column: 1 / -1; margin-bottom: -16px; color: #bdc6d1; }.process-header h2 { margin: 0; }.process-header > p:last-child { max-width: 310px; margin: 0 0 5px; color: #bdc6d1; font-size: 16px; line-height: 1.75; }
.process-list { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5,1fr); list-style: none; border-top: 1px solid rgba(243,240,230,.28); border-bottom: 1px solid rgba(243,240,230,.28); }
.process-list li { min-height: 230px; padding: 25px 24px 25px 0; display: flex; flex-direction: column; align-items: flex-start; border-right: 1px solid rgba(243,240,230,.2); }.process-list li:not(:first-child) { padding-left: 24px; }.process-list li:last-child { border-right: 0; }
.process-symbol { margin: 0 0 28px; color: var(--coral); font-family: var(--serif); font-size: 31px; line-height: 1.1; }
.process-list h3 { margin-bottom: 10px; font-family: var(--serif); font-size: 22px; font-weight: 400; letter-spacing: -.025em; }.process-list p { max-width: 220px; margin-bottom: 0; color: #bdc6d1; font-size: 16px; line-height: 1.7; }
.editorial-note { max-width: 760px; margin: 27px 0 0; display: flex; align-items: flex-start; gap: 12px; color: #bdc6d1; font-size: 15px; line-height: 1.65; }.editorial-note span { width: 17px; height: 17px; flex: none; display: grid; place-items: center; border: 1px solid rgba(250,114,88,.8); border-radius: 50%; color: var(--coral); font-family: var(--serif); font-size: 11px; }

.bulletins-section { padding: 112px 10% 125px; }
.bulletin-heading { margin-bottom: 50px; display: flex; align-items: end; justify-content: space-between; gap: 45px; }.bulletin-heading h2 { margin: 0; }.bulletin-heading h2 span { color: #78869a; }.bulletin-heading > p { width: min(300px,35%); margin: 0 0 5px; color: var(--muted); font-size: 16px; line-height: 1.7; }
.bulletin-empty { min-height: 178px; padding: 24px 0; display: grid; grid-template-columns: 65px minmax(0,1fr) auto; align-items: center; gap: 24px; border-top: 1px solid #a9b0b3; border-bottom: 1px solid #a9b0b3; }
.bulletin-empty[hidden] { display: none; }
.empty-orbit { width: 52px; aspect-ratio: 1; display: grid; place-items: center; border: 1px solid var(--coral); border-radius: 50%; color: var(--coral); font-size: 22px; }
.bulletin-empty h3 { margin-bottom: 8px; font-family: var(--serif); font-size: 24px; font-weight: 400; letter-spacing: -.03em; }.bulletin-empty p { max-width: 500px; margin-bottom: 0; color: var(--muted); font-size: 16px; line-height: 1.7; }
.bulletin-empty > a,.site-footer > a:not(.wordmark) { display: inline-flex; align-items: center; gap: 8px; color: var(--night); font-size: 14px; text-decoration: none; }.bulletin-empty > a span,.site-footer a span { margin-left: 0; color: #c55342; }.bulletin-empty > a .tunein-mark,.site-footer > a:not(.wordmark) .tunein-mark { width: 44px; height: 44px; }
.bulletin-list { border-bottom: 1px solid #a9b0b3; }.bulletin-card { min-height: 140px; padding: 24px 0; display: grid; grid-template-columns: 65px minmax(0,1fr) auto; align-items: center; gap: 24px; border-top: 1px solid #a9b0b3; }.bulletin-number { color: #a64739; font-size: 12px; font-variant-numeric: tabular-nums; }.bulletin-meta { margin-bottom: 8px; color: #576478; font-size: 12px; }.bulletin-card h3 { margin-bottom: 6px; font-family: var(--serif); font-size: 23px; font-weight: 400; }.bulletin-card p { max-width: 680px; margin-bottom: 0; color: var(--muted); font-size: 16px; line-height: 1.65; }.bulletin-arrow { color: #c55342; font-size: 20px; text-decoration: none; }

.future-section { position: relative; min-height: 365px; padding: 76px 10%; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 10%; overflow: hidden; color: var(--paper); background: #344a6b; }.future-section > div:nth-child(2) { position: relative; z-index: 2; max-width: 650px; }.future-section .section-index { color: #d5dce1; }.future-section h2 { margin-bottom: 18px; }.future-section > div > p:last-child { max-width: 425px; margin-bottom: 0; color: #d1d7db; font-size: 16px; line-height: 1.7; }.future-count { position: relative; z-index: 2; color: rgba(243,240,230,.62); font-family: var(--serif); font-size: 90px; }.future-orb { position: absolute; width: 520px; aspect-ratio: 1; right: 11%; top: -42%; border: 1px solid rgba(250,114,88,.52); border-radius: 50%; }.future-orb span { position: absolute; inset: 11%; border: 1px solid rgba(250,114,88,.32); border-radius: 50%; }.future-orb span:nth-child(2) { inset: 23%; }.future-orb span:nth-child(3) { inset: 35%; background: rgba(250,114,88,.7); }
.eco-section { padding: 112px 10% 120px; display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 8%; background: var(--paper-dark); }
.eco-copy .section-index { margin-bottom: 22px; color: #596577; }
.eco-copy h2 { max-width: 560px; margin-bottom: 23px; font-size: clamp(3rem, 4.6vw, 4.8rem); }
.eco-copy h2 em { color: #347556; }
.eco-copy > p:not(.section-index) { max-width: 570px; margin-bottom: 16px; color: var(--muted); font-size: 17px; line-height: 1.75; }
.eco-photo { position: relative; width: 100%; aspect-ratio: 4 / 3; margin: 0; overflow: hidden; background: var(--night); }
.eco-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.eco-photo figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: 38px 20px 17px; color: var(--paper); background: linear-gradient(transparent,rgba(17,29,52,.78)); font-size: 14px; letter-spacing: .04em; }
.open-source { min-height: 88px; padding: 18px 10%; display: flex; align-items: center; gap: 16px; background: var(--paper-dark); }.open-mark { width: 30px; height: 30px; display: grid; place-items: center; border: 1px solid #aab1b2; border-radius: 50%; font-size: 14px; }.open-source p { margin: 0; color: var(--muted); font-size: 14px; }.open-source strong { color: var(--night); font-weight: 600; }
.site-footer { min-height: 112px; padding: 23px 7.5%; display: grid; grid-template-columns: auto 1fr auto auto; align-items: center; gap: clamp(18px,3vw,45px); color: var(--paper); background: var(--night); }.footer-wordmark { font-size: 21px; }.site-footer p { margin: 0; color: #c0c8d1; font-size: 13px; }.site-footer > a:not(.wordmark) { color: var(--paper); }.site-footer small,.project-note { color: #acb7c4; font-size: 12px; }.project-note { grid-column: 2 / 3; grid-row: 2; margin-top: -16px; }

:focus-visible { outline: 3px solid var(--coral); outline-offset: 4px; }
@media (max-width: 1000px) {
  .hero { padding-right: 7%; padding-left: 7%; grid-template-columns: 1fr .9fr; }.hero-photo { width: 110%; margin-right: -8%; }.hero-bottom { left: 7%; right: 7%; }
  .rhythm-section,.process-section,.bulletins-section,.autonomy-section,.eco-section { padding-right: 7%; padding-left: 7%; }.rhythm-section,.eco-section { gap: 4%; }.process-header { grid-template-columns: .8fr 1.1fr .8fr; gap: 3%; }.process-list { grid-template-columns: repeat(3,1fr); }.process-list li { min-height: 205px; padding-right: 15px; border-bottom: 1px solid rgba(243,240,230,.2); }.process-list li:not(:first-child) { padding-left: 15px; }.process-list li:nth-child(4) { padding-left: 0; border-bottom: 0; }.process-list li:nth-child(5) { border-bottom: 0; }.future-section { padding-right: 7%; padding-left: 7%; }.open-source { padding-right: 7%; padding-left: 7%; }
}
@media (max-width: 720px) {
  .site-header { min-height: 70px; padding: 0 5%; }.site-header nav { left: 0; font-size: 14px; }
  .hero { min-height: auto; padding: 67px 7% 57px; grid-template-columns: 1fr; grid-template-rows: auto auto auto; }.station-kicker,.hero-copy,.hero-photo { grid-column: 1; grid-row: auto; }.hero-copy { max-width: 570px; }.hero-photo { width: min(100%,440px); margin: 45px auto 0; justify-self: center; }.hero-bottom { bottom: 20px; left: 7%; right: 7%; }
  .rhythm-section { padding-top: 83px; padding-bottom: 85px; grid-template-columns: 1fr; gap: 22px; }.rhythm-intro h2 { font-size: 4.3rem; }.rhythm-photo { width: min(100%,520px); justify-self: center; }
  .eco-section { padding-top: 76px; padding-bottom: 80px; grid-template-columns: 1fr; gap: 26px; }.eco-copy h2 { font-size: 3.6rem; }.eco-photo { width: min(100%,520px); justify-self: center; }
  .autonomy-section { padding-top: 48px; padding-bottom: 48px; grid-template-columns: 1fr; gap: 22px; }.autonomy-heading h2 { max-width: 480px; font-size: 3.5rem; }.autonomy-copy { max-width: 600px; }
  .process-section { padding-top: 83px; padding-bottom: 80px; }.process-header { grid-template-columns: 1fr 1fr; gap: 20px 5%; margin-bottom: 45px; }.process-header .section-index { grid-column: 1 / -1; margin-bottom: -8px; }.process-header h2 { font-size: 4.25rem; }.process-header > p:last-child { align-self: end; }.process-list { grid-template-columns: minmax(0,1fr); }.process-list li,.process-list li:not(:first-child),.process-list li:nth-child(4),.process-list li:nth-child(5) { min-height: 0; padding: 21px 0; display: grid; grid-template-columns: 40px minmax(0,1fr); align-items: start; gap: 16px; border-right: 0; border-bottom: 1px solid rgba(243,240,230,.2); }.process-list li:last-child { border-bottom: 0; }.process-list .process-symbol { margin: 1px 0 0; }.process-list li > div { min-width: 0; }.process-list p { max-width: none; }
  .bulletins-section { padding-top: 83px; padding-bottom: 90px; }.future-section { min-height: 330px; padding-top: 65px; padding-bottom: 65px; }.future-orb { right: -15%; }.open-source { padding-right: 7%; padding-left: 7%; }
}
@media (max-width: 520px) {
  html { scroll-padding-top: 4.5rem; }.site-header { min-height: 65px; }.wordmark { font-size: 22px; }.site-header nav { left: 0; width: min(290px, calc(100vw - 28px)); font-size: 14px; }.header-tunein { gap: 6px; padding: 5px 7px; font-size: 12px; }.header-tunein .tunein-mark { width: 32px; height: 32px; }
  .hero { padding-top: 58px; padding-bottom: 54px; } .station-kicker { margin-bottom: 22px; font-size: 13px; }h1 { font-size: clamp(3.35rem, 14vw, 4.8rem); }.hero-lede { max-width: 360px; font-size: 18px; }.listen-cta { min-height: 52px; }.hero-photo { width: 100%; margin-top: 38px; } .hero-bottom { gap: 7px; font-size: 10px; letter-spacing: .035em; }.sequence-line { min-width: 8px; }
  .rhythm-section { padding: 72px 7% 75px; }.rhythm-intro .section-index,.process-section .section-index,.bulletin-heading .section-index,.future-section .section-index,.eco-copy .section-index { font-size: 13px; }.rhythm-intro h2 { font-size: 3.6rem; }.rhythm-intro > p:last-child { font-size: 17px; }.rhythm-photo { margin-top: 8px; }
  .eco-section { padding: 72px 7% 75px; gap: 20px; }.eco-copy h2 { font-size: 3.25rem; }.eco-copy > p:not(.section-index) { font-size: 17px; }.eco-photo { margin-top: 8px; }
  .autonomy-section { padding: 42px 7%; gap: 18px; }.autonomy-heading h2 { font-size: 2.9rem; }.autonomy-copy { padding-left: 17px; }.autonomy-copy p { font-size: 17px; }
  .process-section { padding: 72px 7% 68px; }.process-header { grid-template-columns: 1fr; gap: 17px; margin-bottom: 32px; }.process-header .section-index { margin-bottom: 0; }.process-header h2 { font-size: 3.8rem; }.process-header > p:last-child { max-width: 360px; font-size: 16px; }.process-list li,.process-list li:not(:first-child),.process-list li:nth-child(4),.process-list li:nth-child(5) { min-height: 0; padding: 19px 0; column-gap: 13px; }.process-symbol { margin-top: 1px; font-size: 27px; }.process-list h3 { font-size: 21px; }.process-list p { font-size: 17px; }
  .bulletins-section { padding: 72px 7% 76px; }.bulletin-heading { display: block; margin-bottom: 30px; }.bulletin-heading h2 { font-size: 3.8rem; }.bulletin-heading > p { width: auto; max-width: 340px; margin-top: 20px; }.bulletin-empty { min-height: 220px; padding: 22px 0; grid-template-columns: 44px 1fr; gap: 14px; }.empty-orbit { width: 42px; font-size: 18px; }.bulletin-empty h3 { font-size: 20px; }.bulletin-empty > a { grid-column: 2; }.bulletin-card { grid-template-columns: 28px minmax(0,1fr) 18px; gap: 12px; }.bulletin-card h3 { font-size: 20px; }
  .future-section { min-height: 355px; padding: 58px 7%; grid-template-columns: 1fr; gap: 12px; }.future-section h2 { font-size: 3.5rem; }.future-section > div > p:last-child { font-size: 16px; }.future-count { justify-self: end; font-size: 45px; }.future-orb { width: 380px; top: -15%; right: -45%; }.open-source { min-height: 80px; gap: 12px; align-items: flex-start; }.open-source p { max-width: none; flex: 1; min-width: 0; font-size: 14px; line-height: 1.6; }
  .site-footer { padding: 21px 7%; grid-template-columns: 1fr auto; gap: 15px; }.site-footer p { display: none; }.site-footer small { grid-column: 1; grid-row: 2; }.project-note { grid-column: 2; grid-row: 2; margin: 0; justify-self: end; }
}
@media (min-width: 1100px) {
  .hero-copy { padding-right: 24px; }
  .station-kicker,.section-index { font-size: clamp(12px, .64vw, 13.6px); }
  .hero-lede { max-width: 680px; font-size: clamp(20.16px, 1.08vw, 23.04px); line-height: 1.45; }
  .listen-cta { font-size: clamp(13.6px, .76vw, 15.2px); }
  .cta-service { font-size: clamp(12px, .64vw, 13.6px); }
  .listen-note { font-size: clamp(12.8px, .72vw, 15.2px); }
  .hero-photo figcaption,.rhythm-photo figcaption { font-size: clamp(12.8px, .72vw, 14.4px); }
  .hero-bottom { font-size: clamp(10.4px, .576vw, 12px); }
  .rhythm-intro > p:last-child { max-width: 550px; font-size: clamp(17.28px, .972vw, 20.16px); line-height: 1.5; }
  .autonomy-status { font-size: clamp(13.6px, .72vw, 15.2px); }
  .autonomy-copy p { max-width: 900px; font-size: clamp(17.28px, .972vw, 20.16px); line-height: 1.5; }
  .process-header > p:last-child { max-width: 470px; font-size: clamp(15.84px, .864vw, 18.72px); line-height: 1.5; }
  .process-list li { min-height: 330px; }
  .process-list h3 { font-size: clamp(20.8px, 1.16vw, 24px); }
  .process-list p { max-width: 330px; font-size: clamp(15.84px, .864vw, 18px); line-height: 1.45; }
  .editorial-note { max-width: 1050px; font-size: clamp(14.4px, .756vw, 15.84px); line-height: 1.5; }
  .bulletin-heading > p { width: min(500px,35%); font-size: clamp(15.84px, .864vw, 18.72px); line-height: 1.5; }
  .bulletin-empty h3 { font-size: clamp(27.2px, 1.36vw, 30.4px); }
  .bulletin-empty p,.bulletin-card p { font-size: clamp(14.4px, .756vw, 15.84px); line-height: 1.5; }
  .bulletin-empty > a,.site-footer > a:not(.wordmark) { font-size: clamp(13.6px, .76vw, 15.2px); }
  .bulletin-number,.bulletin-meta { font-size: clamp(11.2px, .6vw, 12.8px); }
  .future-section > div > p:last-child { max-width: 620px; font-size: clamp(15.84px, .864vw, 18.72px); line-height: 1.5; }
  .open-source p { font-size: clamp(13.6px, .76vw, 15.2px); }
  .site-footer p { font-size: clamp(12.8px, .72vw, 14.4px); }
  .site-footer small,.project-note { font-size: clamp(11.2px, .6vw, 12.8px); }
  .eco-copy > p:not(.section-index) { font-size: clamp(17.28px, .972vw, 20.16px); }
  .eco-copy .eco-footnote { font-size: clamp(13px, .7vw, 15px); }
}
@media (min-width: 1641px) {
  .site-header { padding-right: max(7.5%, calc((100vw - 1640px) / 2)); padding-left: max(7.5%, calc((100vw - 1640px) / 2)); }
  #contenido > section { padding-right: max(10%, calc((100vw - 1640px) / 2)); padding-left: max(10%, calc((100vw - 1640px) / 2)); }
  .hero-bottom { right: max(10%, calc((100vw - 1640px) / 2)); left: max(10%, calc((100vw - 1640px) / 2)); }
  .site-footer { padding-right: max(7.5%, calc((100vw - 1640px) / 2)); padding-left: max(7.5%, calc((100vw - 1640px) / 2)); }
}
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; } }
@media (prefers-reduced-motion: reduce) { .player-icon.is-connecting::before { animation: none; } }

#player-button-label { font-size: 15px; font-weight: 600; line-height: 1.3; }

/* TuneIn: official artwork, displayed without its surrounding empty area. */
.tunein-brand { position: relative; width: 88px; height: 40px; overflow: hidden; flex: none; display: inline-block; }
.tunein-brand img { position: absolute; width: 176px; height: 176px; max-width: none; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.header-tunein, .tunein-fallback { min-height: 50px; padding: 5px 14px; gap: 12px; border: 1px solid rgba(20,216,204,.5); border-radius: 12px; background: #1c203c; color: #f3f0e6; text-decoration: none; transition: border-color .18s ease, box-shadow .18s ease; }
.header-tunein:hover, .tunein-fallback:hover { color: #fff; border-color: #14d8cc; box-shadow: 0 0 0 3px rgba(20,216,204,.1); }
.header-tunein .tunein-copy, .tunein-fallback .tunein-copy { color: #f3f0e6; font-size: 13px; }
.header-tunein .tunein-arrow, .tunein-fallback .tunein-arrow { color: #14d8cc; font-size: 19px; }
@media (max-width: 720px) {
  .header-tunein { padding: 4px 9px; gap: 5px; }
  .header-tunein .tunein-copy { display: none; }
  .header-tunein .tunein-brand { width: 72px; height: 34px; }
  .header-tunein .tunein-brand img { width: 144px; height: 144px; }
}

.player-toggle[data-state="playing"] { background: #36c6a6; }
.player-toggle[data-state="playing"]:hover { background: #62d8bd; }
.player-toggle[data-state="connecting"] { background: #f2ae55; }
.player-toggle[data-state="connecting"]:hover { background: #fac47f; }

.bulletin-empty > .bulletin-tunein { justify-self: start; min-height: 58px; max-width: 100%; padding: 9px 18px; gap: 13px; background: #1c203c; border: 1px solid #1c203c; border-radius: 12px; color: var(--paper); transition: border-color .18s ease, box-shadow .18s ease; }
.bulletin-empty > .bulletin-tunein .bulletin-tunein-label { color: var(--paper); font-size: 14px; font-weight: 600; white-space: nowrap; }
.bulletin-empty > .bulletin-tunein .bulletin-tunein-arrow { color: #14d8cc; font-size: 22px; }
.bulletin-empty > .bulletin-tunein:hover { border-color: #14d8cc; box-shadow: 0 0 0 3px rgba(20,216,204,.18); }
.bulletin-empty > .bulletin-tunein:focus-visible { outline: 3px solid #20786e; outline-offset: 4px; }

@media (max-width: 720px) { .bulletin-empty > .bulletin-tunein { grid-column: 1 / -1; margin-top: 6px; } }
