/*
Theme Name: Waterpark 3D
Theme URI: https://waterpark3d.com/
Author: Jesse Ryan Jensen
Description: Waterpark 3D hobby theme based on Airheads Of Cool 1.0.13 layout, without homepage audio or screensaver behavior.
Version: 1.0.7
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: waterpark3d
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

:root {
  --w3d-navy:#071b46; --w3d-navy-deep:#03102b; --w3d-sky:#4eb4f6;
  --w3d-sky-soft:#dff4ff; --w3d-ink:#152033; --w3d-page:#fbfcfe;
  --w3d-gold:#efad20; --w3d-content:880px; --w3d-edge:clamp(20px,3.2vw,52px);
  --w3d-adminbar-height:0px;
}
* {box-sizing:border-box}
html {scroll-behavior:auto;scrollbar-gutter:stable}
body {margin:0; color:var(--w3d-ink);background:var(--w3d-page);font-family:"Source Sans 3",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.65}
body.admin-bar {--w3d-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}
.w3d-skip {position:absolute;z-index:2000;left:14px;top:-100px;padding:10px 18px;color:var(--w3d-navy);background:#fff}
.w3d-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(--w3d-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(--w3d-edge);padding-right:clamp(14px,2vw,28px);background:#fff}
.site-branding a {display:flex;align-items:center;width:100%;min-width:0;color:var(--w3d-navy);line-height:1;text-decoration:none}
.site-branding .w3d-wordmark-link {line-height:0}
.site-branding .w3d-wordmark-image {display:block;width:auto;max-width:100%;max-height:78px;object-fit:contain;object-position:left center}
.w3d-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(--w3d-sky) 100%)}
.w3d-header-search {width:min(520px,100%);margin:0}
.w3d-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)}
.w3d-header-search input {width:100%;min-width:0;padding:11px 5px 11px 18px;border:0;outline:0;background:transparent;color:var(--w3d-ink);font:inherit}
.w3d-header-search button {border:0;background:transparent;color:var(--w3d-navy);font-size:1.35rem;cursor:pointer}
.w3d-search-control:focus-within {border-color:var(--w3d-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(--w3d-edge) 0 clamp(16px,2vw,28px);background:var(--w3d-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(--w3d-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 .w3d-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. */
.w3d-first-screen {height:calc(100vh - var(--w3d-adminbar-height));height:calc(100svh - var(--w3d-adminbar-height));display:grid;grid-template-rows:auto minmax(0,1fr)}
.w3d-first-screen .site-header {grid-row:1}
.w3d-first-screen .site-main {min-height:0;min-width:0;grid-row:2}
.w3d-home-main {display:flex;align-items:stretch;justify-content:center}
/* 1.0.4: Fixed home invitation rail adapted from Fun Center HPC 1.0.61.
   Hero and rail use the SAME precomputed centered image width, so no JS
   measurement, image-loading shift, or hero displacement is necessary.
   Desktop site header occupies 107px (106px minimum + 1px border).
   85% of remaining viewport height * 1672/941 yields ~151svh - 161.6px.
   The optional WP admin toolbar is accounted for in the same formula. */
.w3d-home-hero {
  width:100%;height:100%;min-height:0;display:flex;align-items:center;
  justify-content:center;position:relative;padding:0 20px;
  --w3d-home-vv-gap:clamp(24px,1.8vw,30px);
  --w3d-home-vv-banner-width:clamp(156px,14vw,220px);
  --w3d-home-admin-width-adjust:0px;
  --w3d-home-vv-hero-width:min(1500px,
    calc(151svh - 161.6px - var(--w3d-home-admin-width-adjust)),
    calc(100vw - 2 * (var(--w3d-home-vv-banner-width) + 2 * var(--w3d-home-vv-gap))));
}
body.admin-bar .w3d-home-hero {--w3d-home-admin-width-adjust:48.3px}
.w3d-home-hero__fit {
  width:var(--w3d-home-vv-hero-width);height:85%;min-width:0;flex:0 0 auto;
  display:flex;align-items:center;justify-content:center;
}
.w3d-home-hero__image {display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center center}
/* position:fixed only. Never nest the desktop banner inside a scrolling hero. */
.w3d-home-vv-fixed-rail {
  --w3d-home-vv-gap:clamp(24px,1.8vw,30px);
  --w3d-home-vv-banner-width:clamp(156px,14vw,220px);
  --w3d-home-admin-width-adjust:0px;
  --w3d-home-vv-hero-width:min(1500px,
    calc(151svh - 161.6px - var(--w3d-home-admin-width-adjust)),
    calc(100vw - 2 * (var(--w3d-home-vv-banner-width) + 2 * var(--w3d-home-vv-gap))));
  display:flex;position:fixed;z-index:90;
  left:calc(50vw + var(--w3d-home-vv-hero-width) / 2);right:0;
  top:calc(50svh + 53.5px);transform:translateY(-50%);
  padding:0 var(--w3d-home-vv-gap);margin:0;align-items:center;
  justify-content:center;pointer-events:none;
}
body.admin-bar .w3d-home-vv-fixed-rail {
  --w3d-home-admin-width-adjust:48.3px;
  top:calc(50svh + 69.5px);
}
.w3d-home-vv-banner-trigger {
  display:block;flex:0 1 auto;pointer-events:auto;
  width:min(100%,var(--w3d-home-vv-banner-width),calc(75svh - 125px));
  line-height:0;border-radius:14px;outline-offset:6px;
  transition:transform .18s ease,filter .18s ease;
}
.w3d-home-vv-banner-trigger img {display:block;width:100%;height:auto;aspect-ratio:1122 / 1402;object-fit:contain;border-radius:12px;box-shadow:0 7px 22px rgba(7,27,70,.11)}
.w3d-home-vv-banner-trigger:hover {transform:scale(1.025);filter:brightness(1.045)}
.w3d-home-vv-banner-trigger:focus-visible {outline:3px solid #0056ab}
.w3d-home-vv-mobile-link {display:none}

/* Lightbox uses a normal fullscreen-capable overlay element, NOT a native
   <dialog> (requestFullscreen rejects dialog elements). This follows the
   working Fun Center HPC lightbox strategy, with no hotspots or gallery arrows. */
html.w3d-vv-open,body.w3d-vv-open {overflow:hidden}
.w3d-vv-modal[hidden] {display:none!important}
.w3d-vv-modal {position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:20px}
.w3d-vv-modal__backdrop {position:absolute;inset:0;background:rgba(2,9,22,.89)}
.w3d-vv-dialog {position:relative;z-index:1;box-sizing:border-box;border:1px solid rgba(255,255,255,.28);border-radius:12px;padding:0;width:min(96vw,1820px);height:min(94dvh,1160px);background:#06152d;color:#fff;box-shadow:0 22px 60px rgba(0,0,0,.55);overflow:hidden}
.w3d-vv-dialog__shell {height:100%;min-height:0;display:flex;flex-direction:column}
.w3d-vv-dialog__toolbar {display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 16px;background:#071b46;border-bottom:1px solid rgba(255,255,255,.24)}
.w3d-vv-dialog__titles {min-width:0}
.w3d-vv-dialog__titles h2 {font:400 clamp(1rem,1.7vw,1.45rem)/1.2 "Russo One",Arial,sans-serif;color:#fff;margin:0 0 4px}
.w3d-vv-dialog__titles span {display:block;font:400 .82rem/1.3 "Source Sans 3",Arial,sans-serif;color:#dceaff}
.w3d-vv-dialog__actions {display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.w3d-vv-dialog__actions button {cursor:pointer;color:#fff;background:#164d87;border:1px solid #8fcfff;border-radius:6px;padding:7px 12px;font:600 .94rem/1.2 "Source Sans 3",Arial,sans-serif}
.w3d-vv-dialog__actions button:hover {background:#236bb5}
.w3d-vv-dialog__actions button:focus-visible {outline:3px solid #fff;outline-offset:2px}
.w3d-vv-dialog__close span {font-size:1.3em;vertical-align:middle;margin-left:5px}
.w3d-vv-dialog__figure {margin:0;padding:12px;flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.w3d-vv-dialog__figure img {display:block;max-width:100%;max-height:100%;height:auto;width:auto;object-fit:contain}
.w3d-vv-modal:fullscreen,.w3d-vv-modal:-webkit-full-screen,.w3d-vv-modal.is-faux-fullscreen {
  width:100vw;height:100dvh;padding:0;background:#000;
}
.w3d-vv-modal:fullscreen .w3d-vv-modal__backdrop,.w3d-vv-modal:-webkit-full-screen .w3d-vv-modal__backdrop,.w3d-vv-modal.is-faux-fullscreen .w3d-vv-modal__backdrop {background:#000}
.w3d-vv-modal:fullscreen .w3d-vv-dialog,.w3d-vv-modal:-webkit-full-screen .w3d-vv-dialog,.w3d-vv-modal.is-faux-fullscreen .w3d-vv-dialog {width:100%;height:100%;border:0;border-radius:0;box-shadow:none}
@media(max-width:1190px) {
  /* The compact invitation replaces the fixed desktop rail. */
  .w3d-home-hero {padding:0 14px;flex-direction:column}
  .w3d-home-vv-fixed-rail {display:none}
  .w3d-home-hero__fit {height:78%;width:100%;max-width:100%;flex:0 1 auto}
  .w3d-home-hero__image {height:100%;width:100%;object-fit:contain}
  .w3d-home-vv-mobile-link {display:inline-flex;position:absolute;bottom:max(8px,2%);left:50%;transform:translateX(-50%);align-items:center;justify-content:center;gap:12px;white-space:nowrap;max-width:calc(100% - 24px);padding:10px 16px;border-radius:999px;border:2px solid #56caff;background:linear-gradient(90deg,#071b46,#005eaf);color:#fff;font:600 clamp(.75rem,2.4vw,1rem)/1.25 "Tauri",sans-serif;text-decoration:none;box-shadow:0 4px 16px rgba(0,0,0,.2)}
  .w3d-home-vv-mobile-link:hover,.w3d-home-vv-mobile-link:focus-visible {color:#fff;background:#086aa8;outline:2px solid #071b46;outline-offset:2px}
}
@media(max-width:600px) {
  .w3d-vv-modal {padding:4px}
  .w3d-vv-dialog {width:99vw;height:97dvh}
  .w3d-vv-dialog__toolbar {padding:8px 10px;gap:6px;flex-wrap:wrap}
  .w3d-vv-dialog__titles span {font-size:.72rem}
  .w3d-vv-dialog__actions button {padding:6px 8px;font-size:.8rem}
  .w3d-vv-dialog__figure {padding:4px}
}
@media (prefers-reduced-motion:reduce){.w3d-home-vv-banner-trigger{transition:none}}

.content-shell {width:min(var(--w3d-content),calc(100% - 40px));margin:0 auto;padding:64px 0 80px;min-height:44vh}
.page-title {margin:0 0 28px;color:var(--w3d-navy);font-family:"Russo One","Tauri",Arial,sans-serif;font-weight:400;line-height:1.08;font-size:clamp(2.2rem,5vw,4rem)}
.w3d-coming-soon {font-family:"Bungee",Arial,sans-serif;font-size:clamp(2rem,4.8vw,3.8rem);line-height:1.1;color:var(--w3d-gold);margin:40px 0}
.w3d-section-title {font-family:"Russo One",Arial,sans-serif;font-weight:400;font-size:1.65rem;color:var(--w3d-navy)}
.w3d-sitemap-list {columns:2;column-gap:44px;padding-left:1.4em}
.w3d-sitemap-list li {break-inside:avoid;margin:6px 0}
.w3d-post-list {display:grid;gap:28px}
.w3d-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(--w3d-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}
.w3d-kicker {font-family:"Bungee",Arial,sans-serif;font-size:.78rem;letter-spacing:.12em;color:#a06b00;text-transform:uppercase;margin:0 0 8px}
.w3d-read-more {font-weight:700}
.entry-content img {max-width:100%;height:auto}
.entry-content>*:first-child {margin-top:0}
.w3d-pagination {margin-top:30px}
.w3d-pagination .page-numbers {display:flex;gap:12px;flex-wrap:wrap;list-style:none;padding:0}
.site-footer {color:#dce6f3;background:var(--w3d-navy-deep);border-top:4px solid var(--w3d-sky)}
.footer-inner {width:100%;margin:0;padding:38px 0 26px}
.w3d-footer-main {width:calc(100% - (2 * var(--w3d-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(--w3d-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 .w3d-wordmark-image {max-height:58px;object-position:center}
  .w3d-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 {--w3d-adminbar-height:46px}}
@media(max-width:480px){
  .site-branding {min-height:60px}
  .site-branding .w3d-wordmark-image {max-height:46px}
  .w3d-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}
  .w3d-home-hero {padding:0 12px}
  .content-shell {padding:35px 0 55px}
  .w3d-sitemap-list {columns:1}
}
@media (prefers-reduced-motion: reduce) {.primary-navigation a {transition:none}}


/* 1.0.8 — Category links beside WordPress's one canonical publication date. */
.entry-meta .w3d-post-categories {display:inline}
.entry-meta .w3d-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 .w3d-post-categories a {color:#086aa8;text-decoration:underline;text-underline-offset:2px}
.entry-meta .w3d-post-categories a:hover,.entry-meta .w3d-post-categories a:focus-visible {color:#064c79}
.entry-meta .w3d-meta-divider {margin:0 .35em;color:#8290a1}

/* 1.0.8 — Fixed black hovertip cannot be clipped by scrollable research tables. */
.w3d-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(--w3d-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}
.w3d-external-link-tooltip.is-visible {opacity:1;visibility:visible}
@media(prefers-reduced-motion:reduce) {.w3d-external-link-tooltip {transition:none}}

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


/* 1.0.1 — official image wordmark uses the existing AOC-derived header sizing.
   Intrinsic width/height in header.php reserve geometry before image load. */
.site-branding .w3d-wordmark-link {line-height:0}

/* 1.0.6 — Ideas / Research Library; uplink based on Fun Center HPC 1.0.61. */
.w3d-page-uplink {
  display:inline-block;margin:-8px 0 29px;
  font-family:"Bungee",Arial,sans-serif;font-weight:400;
  font-size:clamp(.68rem,1.15vw,.81rem);line-height:1.75;
  letter-spacing:.04em;text-transform:uppercase;color:#a06b00;
  text-decoration:none;text-underline-offset:4px;
}
.w3d-page-uplink:hover,.w3d-page-uplink:focus-visible {color:var(--w3d-navy);text-decoration:underline}
.w3d-page-uplink:focus-visible {outline:2px solid var(--w3d-sky);outline-offset:3px;border-radius:2px}
.w3d-ideas-shell .page-title,.w3d-research-shell .page-title,.w3d-idea-single-shell .page-title,.w3d-research-single-shell .page-title {margin-bottom:12px}
.w3d-ideas-intro {font-size:1.09rem;max-width:820px}
.w3d-ideas-intro .w3d-ideas-lead {font-family:"Tauri",Arial,sans-serif;font-size:clamp(1.2rem,2.25vw,1.6rem);line-height:1.4;color:var(--w3d-navy);margin:0 0 15px}
.w3d-ideas-intro p {margin:0 0 16px}
.w3d-research-invitation {
  display:flex;align-items:center;gap:19px;margin:26px 0 42px;padding:25px 27px;
  width:100%;background:linear-gradient(118deg,#e9f7ff 0%,#fff 55%,#dff3ff 100%);
  border:1px solid #b6dce9;border-radius:13px;text-decoration:none!important;
  color:var(--w3d-navy);box-shadow:0 6px 23px rgba(7,27,70,.06);
  transition:border-color .16s ease,box-shadow .16s ease;
}
.w3d-research-invitation:hover {border-color:#4398cf;box-shadow:0 10px 27px rgba(7,27,70,.12)}
.w3d-research-invitation:focus-visible {outline:3px solid var(--w3d-navy);outline-offset:3px}
.w3d-research-invitation__icon {display:flex;flex:0 0 70px;width:70px;height:70px;align-items:center;justify-content:center;background:#0d5895;color:#fff;border-radius:15px;font-size:3.1rem;line-height:1;transform:rotate(-8deg)}
.w3d-research-invitation__text {display:flex;flex:1;flex-direction:column;gap:4px;min-width:0}
.w3d-research-invitation__text strong {font:400 clamp(1.18rem,2.6vw,1.65rem)/1.23 "Russo One",Arial,sans-serif}
.w3d-research-invitation__text>span {font-size:.98rem;line-height:1.48;color:#3c5369}
.w3d-research-invitation__arrow {font-size:1.65rem;color:#086aa8}
.w3d-ideas-section {margin-top:39px;scroll-margin-top:165px}
.w3d-ideas-section .w3d-section-title {margin:0 0 9px;font-size:clamp(1.45rem,3vw,1.95rem)}
.w3d-section-intro {margin:0 0 19px;color:#526277}
.w3d-idea-areas-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.w3d-idea-area-card {
  display:flex;align-items:center;gap:15px;position:relative;min-width:0;padding:15px;
  background:#fff;border:1px solid #cfdeeb;border-radius:13px;
  text-decoration:none!important;color:var(--w3d-navy)!important;
  box-shadow:0 5px 13px rgba(7,27,70,.045);
  transition:border-color .16s ease,box-shadow .16s ease;
}
.w3d-idea-area-card:hover,.w3d-idea-area-card.is-selected {border-color:#2477bd;box-shadow:0 6px 17px rgba(7,27,70,.12)}
.w3d-idea-area-card:focus-visible {outline:3px solid var(--w3d-navy);outline-offset:2px}
.w3d-area-art {position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;width:111px;min-width:111px;height:105px;overflow:hidden;border-radius:9px;background:linear-gradient(145deg,#72dcfa,#0e4ca4);color:#fff}
.w3d-area-art__glow {position:absolute;z-index:-1;width:78px;height:78px;border-radius:50%;left:9px;top:-28px;background:#fff;opacity:.32}
.w3d-area-art__symbol {font-size:3.65rem;line-height:1;color:#fff;text-shadow:0 4px 12px rgba(0,0,0,.25)}
.w3d-area-art__curve {position:absolute;z-index:-1;left:-25px;right:-25px;bottom:-34px;height:68px;border-radius:50%;border-top:8px solid rgba(255,255,255,.73);transform:rotate(-12deg)}
.w3d-idea-area-card--draft .w3d-area-art {background:linear-gradient(145deg,#6eafe9,#173970)}
.w3d-idea-area-card--leaf .w3d-area-art {background:linear-gradient(145deg,#75d8a1,#116d6f)}
.w3d-idea-area-card--art .w3d-area-art {background:linear-gradient(145deg,#e99bd8,#814dc4)}
.w3d-idea-area-card--workshop .w3d-area-art {background:linear-gradient(145deg,#fbc177,#cf6f33)}
.w3d-idea-area-card--city .w3d-area-art {background:linear-gradient(145deg,#9eafcb,#38517d)}
.w3d-idea-area-card__body {display:flex;flex-direction:column;gap:7px;min-width:0;flex:1}
.w3d-idea-area-card__body strong {font:400 clamp(1rem,1.65vw,1.19rem)/1.22 "Tauri",Arial,sans-serif}
.w3d-idea-area-card__body>span {font-size:.89rem;line-height:1.38;color:#435469}
.w3d-idea-area-card__chevron {align-self:flex-start;color:#2d80b9;font-size:1.2rem}
.w3d-section-heading-row {display:flex;justify-content:space-between;align-items:baseline;gap:15px;flex-wrap:wrap}
.w3d-clear-area {font-family:"Tauri",Arial,sans-serif;font-size:.94rem}
.w3d-featured-grid,.w3d-research-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.w3d-featured-card,.w3d-research-card {min-width:0;border:1px solid #d5e2ed;border-radius:13px;background:#fff;overflow:hidden;box-shadow:0 6px 18px rgba(7,27,70,.05)}
.w3d-featured-card__link,.w3d-research-card>a {display:flex;flex-direction:column;min-height:100%;color:var(--w3d-navy)!important;text-decoration:none!important}
.w3d-featured-card__link:hover,.w3d-research-card>a:hover {background:#f8fcff}
.w3d-featured-card__link:focus-visible,.w3d-research-card>a:focus-visible {outline:3px solid #277eaf;outline-offset:-3px}
.w3d-featured-card__art {display:block;position:relative;isolation:isolate;height:165px;overflow:hidden;background:linear-gradient(160deg,#56cde7,#0d5692 85%)}
.w3d-featured-card__orb {position:absolute;left:calc(50% - 47px);top:22px;width:95px;height:95px;border-radius:50%;background:radial-gradient(circle at 32% 29%,#a7edf6,#16699e 75%);box-shadow:0 0 0 9px rgba(255,255,255,.14)}
.w3d-featured-card__ribbon {position:absolute;width:240px;height:70px;border:10px solid #fff3b9;border-left-color:transparent;border-radius:50%;left:calc(50% - 110px);top:67px;transform:rotate(-24deg)}
.w3d-featured-card__wave {position:absolute;inset:auto -15px -33px;height:90px;border-radius:48% 55% 0 0;background:rgba(255,255,255,.26)}
.w3d-featured-card__art--moon {background:linear-gradient(155deg,#344e8b,#111f44)}
.w3d-featured-card__art--moon .w3d-featured-card__orb {background:radial-gradient(circle at 30% 25%,#eaf4fc,#a3aab6 77%)}
.w3d-featured-card__art--mars {background:linear-gradient(155deg,#eba56b,#8b3c27)}
.w3d-featured-card__art--mars .w3d-featured-card__orb {background:radial-gradient(circle at 28% 25%,#ffcb9d,#b9573c 70%)}
.w3d-featured-card__art--station {background:linear-gradient(155deg,#3c83b4,#0b2346)}
.w3d-featured-card__art--station .w3d-featured-card__orb {border:14px solid #9bdef0;background:#0d3667;border-radius:36% 36% 45% 45%;transform:rotate(20deg)}
.w3d-featured-card__body {display:flex;flex-direction:column;gap:8px;padding:18px;flex:1}
.w3d-featured-card__body strong {font:400 1.22rem/1.26 "Tauri",Arial,sans-serif}
.w3d-featured-card__body>span:not(:last-child) {font-size:.95rem;color:#475c6b;line-height:1.47}
.w3d-featured-card__more {margin-top:auto;font-family:"Bungee",Arial,sans-serif;color:#a06b00;font-size:.72rem;letter-spacing:.03em}
.w3d-research-card>a {gap:9px;padding:20px 21px}
.w3d-research-card__eyebrow {color:#a06b00;font:400 .71rem/1.45 "Bungee",Arial,sans-serif;letter-spacing:.04em}
.w3d-research-card strong {font:400 1.19rem/1.32 "Tauri",Arial,sans-serif}
.w3d-research-card>a>span:last-child {font-size:.96rem;line-height:1.46;color:#526477}
.w3d-research-article-content h2,.w3d-research-article-content h3 {font-family:"Russo One",Arial,sans-serif;font-weight:400;line-height:1.25;color:var(--w3d-navy)}
.w3d-research-article-content h2 {font-size:1.4rem;margin:26px 0 10px}
.w3d-research-article-content li {margin-bottom:9px}
.w3d-idea-featured-art {margin:0 0 27px}
.w3d-idea-featured-art img {width:100%;height:auto;display:block;border-radius:12px}
.w3d-idea-bottom-link {margin:36px 0 22px;padding:22px;background:#eaf6ff;border-radius:12px}
.w3d-idea-bottom-link>span {display:block;margin-bottom:13px;font-weight:600}
.w3d-idea-bottom-link .w3d-page-uplink {margin:0}
.w3d-page-uplink--back {margin:12px 0 0}
.w3d-related-ideas {margin-top:15px;list-style:circle}
.w3d-related-ideas li {margin-bottom:9px}
.w3d-library-empty {padding:20px;background:#f0f6fc;border-radius:10px}
@media(max-width:680px) {
  .w3d-idea-areas-grid,.w3d-featured-grid,.w3d-research-grid {grid-template-columns:1fr}
  .w3d-research-invitation {padding:18px 16px;gap:13px}
  .w3d-research-invitation__icon {flex-basis:53px;width:53px;height:53px;font-size:2.6rem}
  .w3d-idea-area-card {gap:14px}
  .w3d-area-art {width:95px;min-width:95px;height:87px}
  .w3d-area-art__symbol {font-size:3.1rem}
}
@media(prefers-reduced-motion: reduce) { .w3d-idea-area-card,.w3d-research-invitation {transition:none} }

@media(max-width:1190px){.w3d-ideas-section {scroll-margin-top:245px}}
@media(max-width:480px){.w3d-ideas-section {scroll-margin-top:205px}}

.w3d-research-search {margin:26px 0 33px;padding:21px 24px;border:1px solid #d5e2ed;border-radius:12px;background:#f5faff}
.w3d-research-search>label {display:block;font-family:"Tauri",Arial,sans-serif;color:var(--w3d-navy);font-size:1.1rem;margin-bottom:9px}
.w3d-research-search__fields {display:flex;gap:10px}
.w3d-research-search__fields input {flex:1;min-width:0;border-radius:6px;border:1px solid #afc4d3;padding:10px 13px;font:inherit}
.w3d-research-search__fields button {border:0;border-radius:6px;background:#075a98;color:#fff;padding:9px 19px;font:600 1rem "Source Sans 3",Arial,sans-serif;cursor:pointer}
.w3d-research-search__fields button:hover {background:#073f6c}
.w3d-research-search__fields input:focus-visible,.w3d-research-search__fields button:focus-visible {outline:3px solid #dfac30;outline-offset:2px}
@media(max-width:480px){.w3d-research-search {padding:16px}.w3d-research-search__fields {flex-wrap:wrap}.w3d-research-search__fields button {width:100%}}


/* 1.0.7 — Editable About and Contact pages. */
.w3d-about-content,.w3d-contact-content {max-width:800px}
.w3d-about-lead {margin:0 0 18px;color:var(--w3d-navy);font:400 clamp(1.23rem,2.2vw,1.65rem)/1.45 "Tauri",Arial,sans-serif}
.w3d-about-content>p:not(.w3d-about-lead),.w3d-contact-content>p {font-size:1.075rem;line-height:1.68;margin:0 0 20px}
.w3d-about-content h2 {font:400 clamp(1.32rem,2.3vw,1.7rem)/1.25 "Russo One",Arial,sans-serif;color:var(--w3d-navy);margin:32px 0 11px}
.w3d-about-content .w3d-about-note {margin-top:33px;padding:17px 20px;background:#f1f7fb;border-left:4px solid #79b9dc;border-radius:0 9px 9px 0;font-size:.98rem!important;color:#3e5268}
.w3d-about-content .w3d-about-contact-prompt {margin-top:25px}
.w3d-about-contact-prompt a {font-weight:700;text-underline-offset:3px}
.w3d-contact-content .w3d-contact-address {margin:18px 0 0;overflow-wrap:anywhere;font:400 clamp(1.19rem,2.7vw,1.6rem)/1.55 "Tauri",Arial,sans-serif}
.w3d-contact-address a {color:#075d97;text-decoration:underline;text-underline-offset:4px}
.w3d-about-content a:focus-visible,.w3d-contact-content a:focus-visible {outline:3px solid #1677b5;outline-offset:4px}
@media(max-width:480px){.w3d-about-content h2 {margin-top:25px}.w3d-about-content .w3d-about-note {padding:14px 15px}}
