.haarp-hero { background: radial-gradient(ellipse at 90% 15%, #416a79, transparent 65%), #102a3a; }
.haarp-hero h1 { font-size: clamp(2.5rem, 6vw, 5rem); }
.haarp-hero .hero-grid { min-height: auto; padding-block: 6.5rem 4rem; }
.haarp-answer { max-width: 40rem; color: #b5eee3; font-weight: 750; }
.haarp-hero-context { padding: clamp(1.5rem, 4vw, 2.5rem); border: 1px solid #678f9d; border-radius: var(--radius); background: #102d3d; }
.haarp-hero-context > div { padding-block: 1rem; border-top: 1px solid #426779; }
.haarp-hero-context span { color: #b6ece5; font-size: .75rem; text-transform: uppercase; letter-spacing: .07em; }
.haarp-hero-context strong { display: block; margin-top: .3rem; font-size: 1.8rem; }
.haarp-hero-context p { margin-bottom: 0; color: #c7dce5; }
.haarp-columns, .haarp-comparison, .haarp-effects { display: grid; gap: 2rem; align-items: center; }
.haarp-dossier .section p { max-width: 68ch; }
.haarp-tint { background: #f0f6f7; }
.haarp-source { margin-top: 1.25rem; color: var(--muted); font-size: .85rem; }
.haarp-source a, .haarp-comparison a, .haarp-image-pending a { color: #135d73; text-underline-offset: .2em; }
.haarp-specs { display: grid; gap: .7rem; margin-block: 1.5rem; }
.haarp-specs > div { padding: 1rem; border-left: 3px solid #16837a; border-radius: .5rem; background: #edf8f6; }
.haarp-specs dt { color: #125c66; font-size: 1.5rem; font-weight: 800; }
.haarp-specs dd { margin: .35rem 0 0; color: #385963; font-size: .88rem; }
.haarp-image-pending { margin: 0; padding: 1.5rem; border: 1px solid #b5ccd2; border-radius: var(--radius); background: #e6eff1; }
.haarp-grid-pattern { height: 5rem; margin-bottom: 1.5rem; background: repeating-linear-gradient(90deg, #bacdd2 0 1px, transparent 1px 1.5rem), repeating-linear-gradient(0deg, #bacdd2 0 1px, transparent 1px 1.5rem); }
.haarp-image-pending p { color: #43616b; font-size: .87rem; }
.haarp-image-pending a { font-size: .8rem; }
.atmosphere-figure { min-width: 0; margin: 0; }
.atmosphere-stack { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: .5rem; padding: 1rem; border: 1px solid #a4c2cd; border-radius: 1rem; background: #e0edf1; }
.atmo-layer { display: grid; grid-column: 1; gap: .5rem; align-content: center; min-height: 7.5rem; padding: 1rem; border-radius: .6rem; }
.atmo-layer > span { font-size: .75rem; }
.atmo-layer > strong { font-size: clamp(.95rem, 2vw, 1.3rem); }
.atmo-layer em { font-style: normal; font-size: .8rem; }
.atmo-thermo { grid-row: 1; color: #fff; background: #183f56; }
.atmo-meso { grid-row: 2; color: #fff; background: #34647b; }
.atmo-strato { grid-row: 3; grid-column: 1 / -1; color: #183c51; background: #bbdae8; }
.atmo-tropo { grid-row: 4; grid-column: 1 / -1; color: #164c54; background: #c9e9df; border: 2px solid #16837a; }
.atmo-ground { grid-row: 5; grid-column: 1 / -1; padding: .7rem 1rem; border-radius: .5rem; color: #fff; background: #4d645e; font-size: .8rem; font-weight: 750; }
.atmo-ionosphere { display: grid; grid-column: 2; grid-row: 1 / 3; align-content: center; gap: .85rem; margin-top: .7rem; padding: 1rem .7rem; border: 2px dashed #8465a4; border-radius: .75rem; color: #46305d; background: #f3eef9; }
.atmo-ionosphere strong { font-size: clamp(.9rem, 2vw, 1.2rem); }
.atmo-ionosphere span, .atmo-ionosphere b { font-size: .8rem; line-height: 1.5; }
.atmo-ionosphere b { padding-top: .85rem; border-top: 1px solid #c4b3d7; }
.atmosphere-figure figcaption { padding: 1rem .25rem 0; color: #46616f; font-size: .78rem; }
.atmosphere-figure figcaption a { color: #135d73; }
.haarp-note { padding: 1rem; border-left: 3px solid #6495a6; color: #46616f; background: #fff; font-size: .9rem; }
.haarp-comparison, .haarp-effects { align-items: stretch; margin-block: 2rem; }
.haarp-comparison article, .haarp-effects article { min-width: 0; padding: 1.5rem; border: 1px solid var(--line); border-radius: 1rem; background: #fff; }
.haarp-comparison article p, .haarp-effects article p { color: #3c5563; }
.haarp-comparison a { font-size: .85rem; }
.haarp-takeaway { font-size: 1.15rem; font-weight: 750; }
.haarp-official { padding: 1.5rem; margin-top: 2rem; border: 1px solid #abd0cb; border-left: 4px solid #16837a; border-radius: .75rem; background: #fff; }
.haarp-timeline { padding: 0; margin: 2rem 0; list-style: none; }
.haarp-timeline li { padding: 0 0 1.75rem 1.25rem; border-left: 3px solid #b0d8d0; }
.haarp-timeline li:last-child { padding-bottom: .25rem; }
.haarp-timeline strong { color: #126b64; }
.haarp-timeline p { margin: .5rem 0 0; }
.haarp-crosslink { display: inline-block; padding: .85rem 1rem; border-radius: .7rem; color: #fff; background: #135d73; font-weight: 750; text-decoration: none; }
.haarp-logic { color: #fff; background: #102e3e; }
.haarp-logic .eyebrow { color: #a8eee6; }
.haarp-formula { display: grid; gap: 1.8rem; padding: 0; margin: 2rem 0; list-style: none; }
.haarp-formula li { position: relative; display: grid; gap: .6rem; padding: 1rem; border: 1px solid #5c8c96; border-radius: .8rem; }
.haarp-formula li:not(:last-child)::after { position: absolute; bottom: -1.65rem; left: 50%; content: '+'; transform: translateX(-50%); color: #b9d5df; }
.haarp-formula li:nth-last-child(2)::after { content: '='; }
.haarp-formula span { color: #a8eee6; font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; }
.haarp-formula .formula-context { border-color: #bea477; }
.haarp-formula .formula-context span { color: #f2d49d; }
.haarp-formula .formula-result { background: #244f60; }
.haarp-logic > .shell > p:last-child { max-width: 60ch; color: #d5e4ea; font-size: 1.15rem; }
.haarp-source-note { margin: 0; padding: 0 1rem 1rem; color: var(--muted); font-size: .85rem; }
@media (min-width: 48rem) {
    .haarp-columns, .haarp-comparison { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .haarp-effects { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 75rem) {
    .haarp-formula { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1.5rem; }
    .haarp-formula li:not(:last-child)::after { top: 50%; right: -.75rem; bottom: auto; left: auto; transform: translate(50%, -50%); }
}
@media (max-width: 40rem) {
    .haarp-hero .hero-grid { padding-top: 6rem; }
    .atmosphere-stack { padding: .65rem; gap: .4rem; }
    .atmo-layer { padding: .8rem .65rem; }
    .atmo-ionosphere { padding-inline: .5rem; }
}
