/*
Theme Name: Airheads Of Cool
Theme URI: https://www.airheadsofcool.com/
Author: Jesse Ryan Jensen
Description: Airheads Of Cool, with Fun Center HPC-inspired design, sitewide search, main/footer menus, and uncropped homepage hero.
Version: 1.0.13
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: airheads-of-cool
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
:root {
  --aoc-navy:#071b46; --aoc-navy-deep:#03102b; --aoc-sky:#4eb4f6;
  --aoc-sky-soft:#dff4ff; --aoc-ink:#152033; --aoc-page:#fbfcfe;
  --aoc-gold:#efad20; --aoc-content:880px; --aoc-edge:clamp(20px,3.2vw,52px);
  --aoc-adminbar-height:0px;
}
* {box-sizing:border-box}
html {scroll-behavior:auto;scrollbar-gutter:stable}
body {margin:0; color:var(--aoc-ink);background:var(--aoc-page);font-family:"Source Sans 3",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.65}
body.admin-bar {--aoc-adminbar-height:32px}
a {color:#086aa8} a:hover,a:focus-visible {color:#064c79}
img {max-width:100%;height:auto}
.screen-reader-text {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.aoc-skip {position:absolute;z-index:2000;left:14px;top:-100px;padding:10px 18px;color:var(--aoc-navy);background:#fff}
.aoc-skip:focus {top:8px}
.site-header {position:sticky;top:0;z-index:1000;background:#fff;border-bottom:1px solid rgba(7,27,70,.18);box-shadow:0 5px 18px rgba(7,27,70,.12)}
body.admin-bar .site-header {top:var(--aoc-adminbar-height)}
.header-inner {width:100%;min-height:106px;margin:0;display:grid;grid-template-columns:minmax(245px,320px) minmax(210px,1fr) auto;align-items:stretch}
.site-branding {min-width:0;display:flex;align-items:center;padding-left:var(--aoc-edge);padding-right:clamp(14px,2vw,28px);background:#fff}
.site-branding a {display:flex;align-items:center;width:100%;min-width:0;color:var(--aoc-navy);line-height:1;text-decoration:none}
.site-branding .aoc-wordmark-link {line-height:0}
.site-branding .aoc-wordmark-image {display:block;width:auto;max-width:100%;max-height:78px;object-fit:contain;object-position:left center}
.aoc-search-zone {min-width:0;display:flex;align-items:center;justify-content:center;padding:0 clamp(18px,2.4vw,36px);background:linear-gradient(90deg,#fff 0%,var(--aoc-sky) 100%)}
.aoc-header-search {width:min(520px,100%);margin:0}
.aoc-search-control {display:grid;grid-template-columns:1fr 48px;overflow:hidden;border:1px solid rgba(7,27,70,.28);border-radius:999px;background:rgba(255,255,255,.96);box-shadow:0 5px 16px rgba(7,27,70,.12),inset 0 1px 2px rgba(7,27,70,.04)}
.aoc-header-search input {width:100%;min-width:0;padding:11px 5px 11px 18px;border:0;outline:0;background:transparent;color:var(--aoc-ink);font:inherit}
.aoc-header-search button {border:0;background:transparent;color:var(--aoc-navy);font-size:1.35rem;cursor:pointer}
.aoc-search-control:focus-within {border-color:var(--aoc-navy);box-shadow:0 0 0 3px rgba(255,255,255,.75),0 6px 18px rgba(7,27,70,.16)}
.primary-navigation {min-width:max-content;display:flex;align-items:center;padding:0 var(--aoc-edge) 0 clamp(16px,2vw,28px);background:var(--aoc-sky)}
.primary-navigation ul,.primary-navigation .menu {display:flex;align-items:center;gap:clamp(15px,1.7vw,26px);margin:0;padding:0;list-style:none}
.primary-navigation a {position:relative;display:inline-block;padding:18px 0;color:var(--aoc-navy);font-family:"Tauri",Arial,sans-serif;font-size:.94rem;font-weight:400;letter-spacing:.05em;text-transform:uppercase;text-decoration:none!important;transition:color .18s ease,text-shadow .18s ease}
.primary-navigation a:hover,.primary-navigation a:focus-visible {color:#fff;text-shadow:0 0 3px #fff,0 0 8px rgba(255,255,255,.98),0 0 16px rgba(255,255,255,.86),0 0 26px rgba(255,255,255,.68);outline:none}
/* No decorative white underline/line for any navigation item or state. */
.primary-navigation a,.footer-navigation a {text-decoration:none!important;border-bottom:0!important}
.primary-navigation a:hover,.primary-navigation a:focus-visible,.primary-navigation a[aria-current],
.footer-navigation a:hover,.footer-navigation a:focus-visible,.footer-navigation a[aria-current] {text-decoration:none!important;border-bottom:0!important}
.primary-navigation a::before,.primary-navigation a::after,
.footer-navigation a::before,.footer-navigation a::after {content:none!important;display:none!important}
/* Keep the wordmark visible at its intrinsic aspect ratio without entry animations. */
.site-branding .aoc-wordmark-image {opacity:1!important;visibility:visible!important;animation:none!important;transition:none!important}
.site-main {min-height:58vh}
/* Layout-based 85% rule: grid row 2 is exactly the visible screen space
   remaining AFTER the actual rendered header, independent of breakpoints or
   font-dependent header height. WordPress admin bar is subtracted first.
   Footer begins below this screen, never steals part of the hero's budget. */
.aoc-first-screen {height:calc(100vh - var(--aoc-adminbar-height));height:calc(100svh - var(--aoc-adminbar-height));display:grid;grid-template-rows:auto minmax(0,1fr)}
.aoc-first-screen .site-header {grid-row:1}
.aoc-first-screen .site-main {min-height:0;min-width:0;grid-row:2}
.aoc-home-main {display:flex;align-items:stretch;justify-content:center}
.aoc-home-hero {width:100%;height:100%;min-height:0;display:flex;align-items:center;justify-content:center;padding:0 20px}
.aoc-home-hero__fit {height:85%;width:100%;min-height:0;display:flex;align-items:center;justify-content:center}
.aoc-home-hero__image {display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;aspect-ratio:1672 / 941}
/* Keep intrinsic 1672x941 dimensions; never crop/stretch or upscale. */
.content-shell {width:min(var(--aoc-content),calc(100% - 40px));margin:0 auto;padding:64px 0 80px;min-height:44vh}
.page-title {margin:0 0 28px;color:var(--aoc-navy);font-family:"Russo One","Tauri",Arial,sans-serif;font-weight:400;line-height:1.08;font-size:clamp(2.2rem,5vw,4rem)}
.aoc-coming-soon {font-family:"Bungee",Arial,sans-serif;font-size:clamp(2rem,4.8vw,3.8rem);line-height:1.1;color:var(--aoc-gold);margin:40px 0}
.aoc-section-title {font-family:"Russo One",Arial,sans-serif;font-weight:400;font-size:1.65rem;color:var(--aoc-navy)}
.aoc-sitemap-list {columns:2;column-gap:44px;padding-left:1.4em}
.aoc-sitemap-list li {break-inside:avoid;margin:6px 0}
.aoc-post-list {display:grid;gap:28px}
.aoc-post-card {background:#fff;padding:28px;border:1px solid rgba(7,27,70,.11);border-radius:12px;box-shadow:0 8px 26px rgba(7,27,70,.06)}
.entry-title {margin:0 0 12px;color:var(--aoc-navy);font-family:"Tauri",Arial,sans-serif;font-weight:400;line-height:1.15;font-size:clamp(1.5rem,3vw,2.2rem)}
.entry-title a {color:inherit;text-decoration:none}
.entry-meta {color:#667386;font-size:.92rem;margin:0 0 16px}
.aoc-kicker {font-family:"Bungee",Arial,sans-serif;font-size:.78rem;letter-spacing:.12em;color:#a06b00;text-transform:uppercase;margin:0 0 8px}
.aoc-read-more {font-weight:700}
.entry-content img {max-width:100%;height:auto}
.entry-content>*:first-child {margin-top:0}
.aoc-pagination {margin-top:30px}
.aoc-pagination .page-numbers {display:flex;gap:12px;flex-wrap:wrap;list-style:none;padding:0}
.site-footer {color:#dce6f3;background:var(--aoc-navy-deep);border-top:4px solid var(--aoc-sky)}
.footer-inner {width:100%;margin:0;padding:38px 0 26px}
.aoc-footer-main {width:calc(100% - (2 * var(--aoc-edge)));margin:0 auto}
.footer-brand {margin:0 0 14px;color:#fff;font-family:"Russo One","Tauri",Arial,sans-serif;font-size:1.25rem}
.footer-navigation ul {display:flex;flex-wrap:wrap;gap:8px 20px;margin:0;padding:0;list-style:none}
.footer-navigation a {color:#dff4ff;font-size:1.03rem;text-decoration:none}
.footer-navigation a:hover,.footer-navigation a:focus-visible {color:#fff;text-shadow:0 0 10px rgba(255,255,255,.7)}
.site-info {width:min(var(--aoc-content),calc(100% - 40px));margin:28px auto 0;padding-top:17px;color:rgba(255,255,255,.66);border-top:1px solid rgba(255,255,255,.16);text-align:center;font-size:.85rem}
@media(max-width:1190px) {
  .header-inner {grid-template-columns:1fr;min-height:0}
  .site-branding {min-height:76px;padding:10px 20px;justify-content:center}
  .site-branding a {justify-content:center}
  .site-branding .aoc-wordmark-image {max-height:58px;object-position:center}
  .aoc-search-zone {padding:10px 20px}
  .primary-navigation {justify-content:center;min-width:0;padding:0 20px}
  .primary-navigation ul,.primary-navigation .menu {flex-wrap:wrap;justify-content:center;gap:8px 24px}
  .primary-navigation a {padding:12px 0}
}
@media(max-width:782px){body.admin-bar {--aoc-adminbar-height:46px}}
@media(max-width:480px){
  .site-branding {min-height:60px}
  .site-branding .aoc-wordmark-image {max-height:46px}
  .aoc-search-zone {padding:8px 15px}
  .primary-navigation {padding:0 12px}
  .primary-navigation ul,.primary-navigation .menu {gap:0 16px}
  .primary-navigation a {font-size:.83rem;padding:8px 0}
  .aoc-home-hero {padding:0 12px}
  .content-shell {padding:35px 0 55px}
  .aoc-sitemap-list {columns:1}
}
@media (prefers-reduced-motion: reduce) {.primary-navigation a {transition:none}}

/* --------------------------------------------------------------
   Airheads homepage audio intro — separate user-activated 11s WAV.
   Matched side gutters keep the hero itself centered. Its existing
   85% height budget (after actual header/admin bar) is unchanged.
-------------------------------------------------------------- */
.aoc-home-hero {display:grid;grid-template-columns:minmax(84px,1fr) minmax(0,7fr) minmax(84px,1fr);grid-template-rows:minmax(0,1fr)}
.aoc-home-intro {grid-column:1;grid-row:1;justify-self:center;align-self:center;min-width:0}
.aoc-home-hero__fit {grid-column:2;grid-row:1}
.aoc-home-intro__button {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:110px;min-height:90px;padding:12px 7px;border:1px solid rgba(7,27,70,.2);border-radius:15px;background:#fff;color:var(--aoc-navy);cursor:pointer;box-shadow:0 5px 17px rgba(7,27,70,.12);font:400 .88rem/1.2 "Tauri",sans-serif;text-align:center}
.aoc-home-intro__button:hover {box-shadow:0 7px 24px rgba(7,27,70,.2);background:var(--aoc-sky-soft)}
.aoc-home-intro__button:focus-visible {outline:3px solid var(--aoc-sky);outline-offset:3px}
.aoc-home-intro__icon {display:flex;justify-content:center;align-items:center;width:38px;height:38px;border-radius:50%;background:var(--aoc-sky);color:var(--aoc-navy);font-size:1rem}
.aoc-home-intro__button[aria-pressed="true"] .aoc-home-intro__icon {background:var(--aoc-navy);color:#fff}
@media(max-width:900px) {
  .aoc-home-hero {grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:0;padding-bottom:8px}
  .aoc-home-hero__fit {grid-column:1;grid-row:1;height:85%;min-height:0}
  .aoc-home-intro {grid-column:1;grid-row:2;align-self:center;justify-self:center}
  .aoc-home-intro__button {flex-direction:row;gap:8px;width:auto;min-height:0;padding:6px 14px;font-size:.84rem}
  .aoc-home-intro__icon {width:30px;height:30px}
}
@media(max-height:420px) and (max-width:900px) {
  .aoc-home-hero {gap:0;padding-bottom:2px}
  .aoc-home-intro__button {padding:3px 10px}
  .aoc-home-intro__icon {height:25px;width:25px}
}
/* --------------------------------------------------------------
   Park Worlds-derived still-to-video screensaver, Airheads edition.
   0.5s still entrance; final 0.25s video and audio fade together.
   The media is letterboxed, not cropped, and never bundled in ZIP.
-------------------------------------------------------------- */
body.aoc-saver-active {overflow:hidden}
.aoc-saver {position:fixed;inset:0;z-index:2147483000;display:block;width:100vw;height:100vh;height:100dvh;overflow:hidden;background:var(--aoc-navy);opacity:1;cursor:none;outline:0}
.aoc-saver[hidden],.aoc-saver [hidden] {display:none!important}
.aoc-saver.is-exiting {opacity:0;transition:opacity .25s linear;pointer-events:none}
.aoc-saver__loading {position:absolute;inset:0;display:grid;place-items:center;padding:24px;color:#fff;font:600 clamp(1.1rem,2.5vw,1.55rem)/1.2 "Source Sans 3",sans-serif;text-align:center}
.aoc-saver__media {position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;max-height:none;margin:0;object-fit:contain;object-position:center;background:var(--aoc-navy)}
.aoc-saver__still {opacity:0;transition:opacity .5s ease}
.aoc-saver__still.is-visible {opacity:1}
.aoc-saver__video {opacity:0}
.aoc-saver__video.is-visible {opacity:1}
@media(prefers-reduced-motion:reduce) {.aoc-saver__still {transition:none}}
/* Public Screensavers page: first actual media, with optional manual replay. */
.aoc-screensaver-entry {background:#fff;border:1px solid rgba(7,27,70,.12);border-radius:12px;padding:22px;box-shadow:0 8px 26px rgba(7,27,70,.05)}
.aoc-screensaver-entry h2 {font:400 clamp(1.35rem,2.8vw,1.85rem)/1.2 "Russo One",sans-serif;color:var(--aoc-navy);margin:0 0 16px}
.aoc-screensaver-entry img {display:block;max-width:100%;width:auto;max-height:60vh;height:auto;object-fit:contain;border-radius:8px;margin:0 auto 20px}
.aoc-screensaver-entry button {border:0;border-radius:999px;padding:12px 22px;background:var(--aoc-navy);color:#fff;font:400 1rem "Tauri",sans-serif;cursor:pointer}
.aoc-screensaver-entry button:hover {background:#185783}
.aoc-screensaver-entry button:focus-visible {outline:3px solid var(--aoc-sky);outline-offset:3px}

/* Research article: readable tables and source references on any screen. */
.aoc-waterpark-research {font-size:1.045rem;line-height:1.75}
.aoc-waterpark-research h2 {font:400 clamp(1.45rem,3vw,2.05rem)/1.25 "Russo One",Arial,sans-serif;color:var(--aoc-navy);margin:2.2em 0 .8em}
.aoc-waterpark-research h3 {font:400 clamp(1.16rem,2.4vw,1.4rem)/1.35 "Tauri",sans-serif;color:var(--aoc-navy);margin:1.65em 0 .5em}
.aoc-waterpark-research p {margin:0 0 1.15em}
.aoc-waterpark-research ul,.aoc-waterpark-research ol {padding-left:1.6em;margin:0 0 1.45em}
.aoc-waterpark-research li {margin:.36em 0}
.aoc-research-dateline,.aoc-research-caption {color:#607187;font-size:.89rem}
.aoc-research-caution {padding:14px 18px;background:#f0f7fd;border-left:4px solid var(--aoc-sky);border-radius:0 8px 8px 0}
.aoc-research-stats {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:1.5em 0 1.7em}
.aoc-research-stats>div {display:flex;flex-direction:column;gap:3px;padding:20px 17px;background:#eff8ff;border-radius:12px;border:1px solid #d5e9f8}
.aoc-research-stats strong {color:var(--aoc-navy);font:400 clamp(1.8rem,4vw,2.5rem)/1.18 "Russo One",Arial,sans-serif}
.aoc-research-stats span {font-size:.87rem;line-height:1.4;color:#3f5871}
.aoc-research-table-wrap {overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1.2em 0 1.3em;border:1px solid #dce5ee;border-radius:10px}
.aoc-waterpark-research table {border-collapse:collapse;width:100%;min-width:470px;font-size:.92rem;line-height:1.45}
.aoc-waterpark-research th,.aoc-waterpark-research td {border-bottom:1px solid #dce5ee;padding:12px 13px;text-align:left;vertical-align:top}
.aoc-waterpark-research tr:last-child td {border-bottom:0}
.aoc-waterpark-research th {background:#eaf4ff;color:var(--aoc-navy);font-weight:700}
.aoc-waterpark-research tr:nth-child(even) td {background:#f8fbfe}
.aoc-research-sources a {overflow-wrap:anywhere}
@media(max-width:580px) {.aoc-research-stats {grid-template-columns:1fr}.aoc-waterpark-research {font-size:1rem}}


/* 1.0.8 — Category links beside WordPress's one canonical publication date. */
.entry-meta .aoc-post-categories {display:inline}
.entry-meta .aoc-post-category-label {font-family:"Roboto Condensed","Source Sans 3",sans-serif;font-weight:700;color:#425776;text-transform:uppercase;letter-spacing:.04em;font-size:.84em}
.entry-meta .aoc-post-categories a {color:#086aa8;text-decoration:underline;text-underline-offset:2px}
.entry-meta .aoc-post-categories a:hover,.entry-meta .aoc-post-categories a:focus-visible {color:#064c79}
.entry-meta .aoc-meta-divider {margin:0 .35em;color:#8290a1}

/* 1.0.8 — Fixed black hovertip cannot be clipped by scrollable research tables. */
.aoc-external-link-tooltip {position:fixed;left:0;top:0;z-index:2147482000;box-sizing:border-box;max-width:min(330px,calc(100vw - 16px));padding:9px 12px;background:#080a0f;border:1px solid var(--aoc-gold);border-radius:6px;box-shadow:0 9px 24px rgba(0,0,0,.27);color:#fff;font:600 .89rem/1.25 "Source Sans 3",Arial,sans-serif;white-space:normal;text-align:center;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .14s ease,visibility .14s ease}
.aoc-external-link-tooltip.is-visible {opacity:1;visibility:visible}
@media(prefers-reduced-motion:reduce) {.aoc-external-link-tooltip {transition:none}}

/* 1.0.10 — Current uplinks on category archives and single-post eyebrow. */
.aoc-archive-uplink {margin:0 0 12px;font-family:"Bungee",Arial,sans-serif;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}
.aoc-archive-uplink a,.aoc-kicker .aoc-kicker-uplink {color:#a06b00;text-decoration:none}
.aoc-archive-uplink a:hover,.aoc-kicker .aoc-kicker-uplink:hover {color:#805500;text-decoration:underline;text-underline-offset:3px}
.aoc-archive-uplink a:focus-visible,.aoc-kicker .aoc-kicker-uplink:focus-visible {outline:2px solid var(--aoc-sky);outline-offset:3px;border-radius:2px}

/* 1.0.11 — Carry the established research typography over to the theme-park post. */
.aoc-themepark-research {font-size:1.045rem;line-height:1.75}
.aoc-themepark-research h2 {font:400 clamp(1.45rem,3vw,2.05rem)/1.25 "Russo One",Arial,sans-serif;color:var(--aoc-navy);margin:2.2em 0 .8em}
.aoc-themepark-research h3 {font:400 clamp(1.16rem,2.4vw,1.4rem)/1.35 "Tauri",sans-serif;color:var(--aoc-navy);margin:1.65em 0 .5em}
.aoc-themepark-research p {margin:0 0 1.15em}
.aoc-themepark-research ul,.aoc-themepark-research ol {padding-left:1.6em;margin:0 0 1.45em}
.aoc-themepark-research li {margin:.36em 0}
.aoc-themepark-research table {border-collapse:collapse;width:100%;min-width:470px;font-size:.92rem;line-height:1.45}
.aoc-themepark-research th,.aoc-themepark-research td {border-bottom:1px solid #dce5ee;padding:12px 13px;text-align:left;vertical-align:top}
.aoc-themepark-research tr:last-child td {border-bottom:0}
.aoc-themepark-research th {background:#eaf4ff;color:var(--aoc-navy);font-weight:700}
.aoc-themepark-research tr:nth-child(even) td {background:#f8fbfe}
@media(max-width:580px) {.aoc-themepark-research {font-size:1rem}}
