/* cyrillic-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets-bundle/a53e9718-c541-4568-9399-2be4d4fd675f.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets-bundle/bb0a3e84-8e03-40c7-bc13-6c6653c6dc08.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets-bundle/43307752-9842-4e72-b0aa-6065e8b837c1.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets-bundle/6aaf110d-b1a6-42c3-a161-da742190bc81.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets-bundle/6d546b03-34a2-4459-8dfa-44e4a4578f27.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets-bundle/a53e9718-c541-4568-9399-2be4d4fd675f.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets-bundle/bb0a3e84-8e03-40c7-bc13-6c6653c6dc08.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets-bundle/43307752-9842-4e72-b0aa-6065e8b837c1.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets-bundle/6aaf110d-b1a6-42c3-a161-da742190bc81.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets-bundle/6d546b03-34a2-4459-8dfa-44e4a4578f27.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets-bundle/a53e9718-c541-4568-9399-2be4d4fd675f.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets-bundle/bb0a3e84-8e03-40c7-bc13-6c6653c6dc08.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets-bundle/43307752-9842-4e72-b0aa-6065e8b837c1.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets-bundle/6aaf110d-b1a6-42c3-a161-da742190bc81.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets-bundle/6d546b03-34a2-4459-8dfa-44e4a4578f27.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/assets-bundle/a53e9718-c541-4568-9399-2be4d4fd675f.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/assets-bundle/bb0a3e84-8e03-40c7-bc13-6c6653c6dc08.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/assets-bundle/43307752-9842-4e72-b0aa-6065e8b837c1.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/assets-bundle/6aaf110d-b1a6-42c3-a161-da742190bc81.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/assets-bundle/6d546b03-34a2-4459-8dfa-44e4a4578f27.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets-bundle/5b0e654e-bf19-4e44-be14-19c1e9f57c3f.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets-bundle/59f51519-b263-4ab5-9928-6a15287dda32.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets-bundle/1f3e1f66-99e1-41e1-9b32-7553eb209a42.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets-bundle/5b0e654e-bf19-4e44-be14-19c1e9f57c3f.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets-bundle/59f51519-b263-4ab5-9928-6a15287dda32.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets-bundle/1f3e1f66-99e1-41e1-9b32-7553eb209a42.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets-bundle/5b0e654e-bf19-4e44-be14-19c1e9f57c3f.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets-bundle/59f51519-b263-4ab5-9928-6a15287dda32.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets-bundle/1f3e1f66-99e1-41e1-9b32-7553eb209a42.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets-bundle/5b0e654e-bf19-4e44-be14-19c1e9f57c3f.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets-bundle/59f51519-b263-4ab5-9928-6a15287dda32.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets-bundle/1f3e1f66-99e1-41e1-9b32-7553eb209a42.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* ============================================================
   AOML AWS Homepage — "Tide" · light-only refined system
   Palette anchored to the real NOAA lockup colors.
   ============================================================ */
:root{
  /* NOAA core + Meridian v3 implementation tokens */
  --midnight:#001743;
  --noaa-sky:#003087;
  --deep-sea:#005598;
  --medium-sea:#056FB7;
  --noaa-sea:#0085CA;
  --light-sea:#5EB6D9;
  --pale-sea:#C6E6F0;
  --gull-white:#FFFFFF;
  --whale-gray:#323C46;
  --ink-muted:#5C656E;
  --ocean-teal:#006178;
  --ocean-waves:#0FA6B8;
  --life-jacket:#F47A22;
  --life-jacket-text:#F47A22;
  --life-jacket-dark:#A94208;
  --solar-gold:#B08C1F;
  --wet-sand:#D9D8C4;
  --stone-cloud:#F1F0E9;
  --cloud-white:#F8F8F4;
  --midnight-tone-1:#C2D9E3;
  --midnight-tone-2:#D5E6ED;
  --midnight-tone-3:#E9F3F6;

  /* AOML semantic aliases */
  --paper:var(--cloud-white);
  --bg-soft:var(--midnight-tone-3);
  --bg-sunk:var(--midnight-tone-2);
  --surface:var(--gull-white);
  --ink:var(--midnight);
  --text:var(--whale-gray);
  --text-soft:var(--ink-muted);
  --text-faint:var(--ink-muted);
  --navy:var(--noaa-sky);
  --blue:var(--noaa-sky);
  --brand:var(--noaa-sky);
  --brand-bright:var(--noaa-sea);
  --link:var(--deep-sea);
  --accent:var(--ocean-teal);
  --accent-bright:var(--ocean-waves);
  --warm:var(--life-jacket);
  --warm-text:var(--life-jacket-text);
  --warm-deep:var(--life-jacket-dark);
  --ocean-1:var(--midnight);
  --ocean-2:var(--noaa-sky);
  --ocean-3:var(--deep-sea);
  --ocean-4:var(--noaa-sea);
  --line:var(--midnight-tone-2);
  --line-soft:var(--midnight-tone-3);
  --hair:var(--midnight-tone-1);

  /* effects */
  --scrim:linear-gradient(90deg,rgba(0,23,67,.92) 0%,rgba(0,48,135,.68) 44%,rgba(0,85,152,.28) 100%),
          linear-gradient(180deg,rgba(0,23,67,.18) 0%,rgba(0,23,67,.2) 44%,rgba(0,23,67,.72) 100%);
  --glass:rgba(255,255,255,.10);
  --glass-line:rgba(255,255,255,.26);
  --shadow-xs:0 1px 2px rgba(8,36,58,.05);
  --shadow:0 2px 6px rgba(8,36,58,.06),0 12px 30px -12px rgba(8,36,58,.16);
  --shadow-lg:0 4px 12px rgba(8,36,58,.07),0 30px 60px -22px rgba(8,36,58,.28);
  --shadow-blue:0 14px 34px -12px rgba(0,133,202,.5);

  --hero-img:url("/assets-bundle/67bfbb68-1764-4d24-8602-c22c9327ce96.png");
  --font-display:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-sans:"Public Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --container:1200px;
  --r:12px; --r-lg:18px; --r-xl:26px;
  --ease:cubic-bezier(.22,.61,.36,1);
  color-scheme:light;
}

*,*::before,*::after{box-sizing:border-box;margin:0;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  font-family:var(--font-sans);
  background:var(--paper);
  color:var(--text);
  font-size:17px;line-height:1.6;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,svg{display:block;max-width:100%;}
ul{list-style:none;padding:0;}
a{color:inherit;text-decoration:none;transition:color .333s ease-in-out,background-color .333s ease-in-out,border-color .333s ease-in-out,opacity .333s ease-in-out;}
::selection{background:var(--blue);color:#fff;}

h1,h2,h3,h4{color:var(--ink);font-family:var(--font-display);font-weight:700;letter-spacing:-.022em;line-height:1.08;}
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:24px;}
@media(min-width:1248px){.container,.usa-banner__inner,.usa-banner__content{padding-left:0;padding-right:0;}}
.section{padding-block:clamp(76px,9vw,132px);}

/* eyebrow */
.eyebrow{display:inline-flex;align-items:center;gap:11px;font-family:var(--font-sans);font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--warm-text);}
.eyebrow::before{content:"";width:24px;height:2px;background:var(--warm);border-radius:2px;}

.lede{color:var(--text-soft);font-size:1.16rem;max-width:60ch;}

/* section header — editorial, with index number */
.shead{position:relative;max-width:880px;margin-bottom:clamp(40px,5vw,68px);}
.shead h2{font-size:clamp(2.1rem,4.2vw,3.3rem);font-weight:800;margin:18px 0 16px;letter-spacing:-.03em;line-height:1.02;}
.shead p{color:var(--text-soft);font-size:1.12rem;max-width:60ch;}
.shead.center{margin-inline:auto;text-align:center;}
.shead.center .eyebrow{justify-content:center;}
.shead.center .eyebrow::before{display:none;}
.sbar{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;flex-wrap:wrap;margin-bottom:clamp(40px,5vw,64px);}
.sbar .shead{margin-bottom:0;}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-sans);font-weight:700;font-size:1rem;padding:15px 28px;border-radius:999px;border:1.6px solid transparent;cursor:pointer;transition:transform .25s var(--ease),background-color .3s,border-color .3s,color .3s,box-shadow .3s;}
.btn .ar{transition:transform .3s var(--ease);}
.btn:hover .ar{transform:translateX(4px);}
.btn-primary{background:var(--warm-text);color:#fff;box-shadow:0 8px 18px -8px rgba(244,122,34,.52);}
.btn-primary:hover{background:var(--warm-deep);border-color:var(--warm-deep);color:#fff;transform:translateY(-2px);}
.btn-warm{background:var(--warm-text);color:#fff;border-color:var(--warm);box-shadow:0 8px 18px -8px rgba(244,122,34,.52);}
.btn-warm:hover{background:var(--warm-deep);border-color:var(--warm-deep);color:#fff;transform:translateY(-2px);}
.btn-ghost{border-color:var(--line);color:var(--ink);background:var(--surface);}
.btn-ghost:hover{border-color:var(--blue);color:var(--blue);transform:translateY(-2px);}
/* over-hero */
.btn-light{background:#fff;color:var(--navy);border-color:#fff;}
.btn-light:hover{background:rgba(255,255,255,.9);transform:translateY(-2px);}
.btn-outline-light{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.45);backdrop-filter:blur(6px);}
.btn-outline-light:hover{background:rgba(255,255,255,.16);transform:translateY(-2px);}

/* arrow link */
.larr{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--blue);font-size:.95rem;}
.larr .ar{transition:transform .3s var(--ease);color:var(--warm-text);}
.larr:hover .ar,a:hover > .larr .ar{transform:translateX(4px);}

/* ============================================================ USWDS government banner */
.usa-banner{background:var(--midnight);font-family:var(--font-sans);font-size:.86rem;line-height:1.4;}
.usa-banner__inner{display:flex;align-items:center;gap:8px;max-width:var(--container);margin:0 auto;padding:6px 24px;}
.usa-banner__header-flag{width:16px;height:auto;display:block;}
.usa-banner__header-text{color:rgba(255,255,255,.72);font-size:.86rem;}
.usa-banner__header-action{display:none;}
.usa-banner__button{font-family:var(--font-sans);font-size:.86rem;font-weight:700;color:var(--light-sea);background:none;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:4px;padding:0;text-decoration:underline;text-underline-offset:2px;text-decoration-color:rgba(94,182,217,.45);}
.usa-banner__button::after{content:"\25BE";font-size:.78rem;transition:transform .2s;}
.usa-banner__button[aria-expanded="true"]::after{transform:rotate(180deg);}
.usa-banner__content[hidden]{display:none;}
.usa-banner__content{background:var(--midnight);color:rgba(255,255,255,.72);max-width:var(--container);margin:0 auto;padding:12px 24px 16px;border-top:1px solid rgba(255,255,255,.08);}
.usa-banner__content .grid-row{display:flex;gap:40px;flex-wrap:wrap;}
.usa-banner__guidance{display:flex;align-items:flex-start;gap:10px;flex:1;min-width:240px;}
.usa-banner__icon{width:40px;height:40px;flex-shrink:0;}
.usa-banner__content p{font-size:.86rem;line-height:1.5;color:rgba(255,255,255,.72);}
.usa-banner__content strong{color:var(--gull-white);font-weight:700;}
@media(max-width:560px){
  .usa-banner__inner{padding-inline:20px;}
  .usa-banner__content{padding:12px 20px 16px;}
  .usa-banner__header-text,.usa-banner__button{font-size:.78rem;}
}

/* ============================================================ Header (standalone) */
.header{position:sticky;top:0;z-index:60;background:var(--paper);border-bottom:1px solid var(--line);transition:box-shadow .3s var(--ease);}
.header.scrolled{box-shadow:var(--shadow-xs);}
.header .row{display:flex;align-items:center;justify-content:space-between;gap:30px;height:96px;}
/* brand — NOAA emblem + stacked wordmark */
.brand{display:flex;align-items:center;gap:16px;transition:opacity .3s var(--ease);}
.brand:hover{opacity:.5;}
.brand .seal{width:58px;height:58px;flex:none;display:block;}
.brand .wordmark{display:flex;flex-direction:column;line-height:1.12;width:max-content;}
.brand .org{max-width:21ch;}
.brand .org{font-family:var(--font-display);font-weight:800;font-size:1.24rem;letter-spacing:-.022em;color:var(--ink);max-width:21ch;}
.brand .dept{font-family:var(--font-sans);font-weight:600;font-size:.62rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint);margin-top:6px;white-space:nowrap;}

.nav{display:flex;align-items:center;gap:4px;}
.nav-item > a{position:relative;display:inline-flex;align-items:center;gap:7px;padding:11px 18px;font-weight:700;font-size:1.02rem;color:var(--ink);border-radius:9px;transition:color .2s,background-color .2s;}
.nav-item > a .cx{font-size:.6rem;opacity:.55;transition:transform .3s;margin-top:1px;}
.nav-item > a:hover{background:var(--ink);color:#fff;}
.nav-item > a:hover .cx{opacity:.7;}
.nav-item{position:relative;}
.nav-item:hover > a{color:#fff;background:var(--ink);}
.nav-item:hover > a .cx{transform:rotate(180deg);opacity:.7;}

/* mega menu */
.mega{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(10px);min-width:min(740px,92vw);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:28px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .26s var(--ease),transform .26s var(--ease);z-index:70;}
.mega::before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px;background:transparent;}
.nav-item:hover .mega{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);}
.mega-grid{display:grid;gap:26px 32px;}
.mega-grid.c3{grid-template-columns:repeat(3,1fr);}
.mega-grid.c2{grid-template-columns:1.1fr .9fr;}
.mega h5{font-family:var(--font-sans);font-weight:700;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);margin-bottom:14px;}
.mega ul{display:grid;gap:2px;}
.mega li a{display:block;padding:10px 12px;border-radius:9px;font-size:.97rem;font-weight:600;color:var(--ink);transition:background-color .2s,color .2s,padding .25s var(--ease);}
.mega li a small{display:block;font-family:var(--font-sans);font-weight:400;font-size:.78rem;color:var(--text-faint);margin-top:2px;}
.mega li a:hover{background:var(--bg-soft);color:var(--warm-text);padding-left:17px;}
.mega-feat{border-radius:var(--r);overflow:hidden;position:relative;min-height:180px;display:flex;align-items:flex-end;padding:20px;color:#fff;background-size:cover;background-position:center;}
.mega-feat::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,30,70,.88),rgba(0,30,70,.12));}
.mega-feat .ff{position:relative;z-index:1;}
.mega-feat .ff b{font-family:var(--font-display);font-weight:700;font-size:1.16rem;display:block;letter-spacing:-.01em;}
.mega-feat .ff span{font-size:.85rem;opacity:.88;}

.utils{display:flex;align-items:center;gap:11px;margin-left:auto;}
.search-pill{display:inline-flex;align-items:center;gap:10px;width:clamp(260px,22vw,360px);border:1.6px solid var(--line);border-radius:999px;padding:14px 18px;color:var(--text-faint);background:var(--surface);font-size:.9rem;cursor:text;transition:border-color .25s,color .25s,box-shadow .25s;}
.search-pill svg{width:17px;height:17px;}
.search-pill:hover{border-color:var(--blue);color:var(--text-soft);box-shadow:var(--shadow-xs);}
.util-btn{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;border-radius:11px;border:1.6px solid var(--line);color:var(--text-soft);background:var(--surface);cursor:pointer;transition:transform .3s var(--ease),border-color .3s,color .3s;}
.util-btn:hover{border-color:var(--blue);color:var(--blue);transform:translateY(-1px);}
.util-btn svg{width:21px;height:21px;}
.menu-toggle{display:none;}

/* ============================================================ Hero */
.hero{position:relative;min-height:calc(100vh - 96px);display:flex;flex-direction:column;overflow:hidden;color:#fff;}
.hero-bg{position:absolute;inset:0;z-index:0;background:var(--midnight) center/cover no-repeat;opacity:0;transform:scale(1.08);transition:opacity .9s var(--ease);animation:kenburns 30s ease-in-out infinite alternate;}
.hero-bg.is-active{opacity:1;}
@keyframes kenburns{from{transform:scale(1.08) translate(0,0);}to{transform:scale(1.18) translate(-2%,-2.5%);}}
.hero-caustics{position:absolute;inset:0;z-index:1;width:100%;height:100%;mix-blend-mode:screen;opacity:.6;pointer-events:none;}
.hero-swell{position:absolute;inset:-20%;z-index:1;pointer-events:none;mix-blend-mode:soft-light;opacity:.55;background:radial-gradient(60% 40% at 30% 30%,rgba(180,225,245,.18),transparent 60%),radial-gradient(50% 38% at 72% 64%,rgba(150,210,235,.14),transparent 62%);background-size:160% 160%;animation:swell 14s ease-in-out infinite alternate;}
@keyframes swell{from{background-position:0% 0%;}to{background-position:100% 100%;}}
.hero-rays{position:absolute;inset:-10%;z-index:1;pointer-events:none;mix-blend-mode:screen;background:linear-gradient(102deg,transparent 32%,rgba(200,236,250,.14) 47%,transparent 60%),linear-gradient(78deg,transparent 60%,rgba(200,236,250,.08) 73%,transparent 87%);background-size:200% 100%;animation:rays 16s ease-in-out infinite alternate;}
@keyframes rays{from{background-position:0 0,0 0;transform:translateX(-3%);}to{background-position:40% 0,26% 0;transform:translateX(3%);}}
.hero-scrim{position:absolute;inset:0;z-index:2;background:var(--scrim);}
.hero-scrim::after{content:"";position:absolute;inset:0;background:radial-gradient(100% 90% at 18% 58%,rgba(0,23,67,.66),rgba(0,23,67,.24) 42%,transparent 70%);}
.hero-top{position:relative;z-index:3;flex:1;display:flex;align-items:center;}
.hero-top .container{width:100%;padding-top:clamp(40px,7vh,80px);padding-bottom:28px;}
.hero-eyebrow{color:var(--pale-sea);}
.hero-eyebrow::before{background:var(--pale-sea);opacity:.85;}
.hero h1{color:#fff;font-size:clamp(2.7rem,6.4vw,5.4rem);font-weight:800;line-height:1.0;letter-spacing:-.035em;max-width:16ch;margin:22px 0 24px;text-wrap:balance;}
.hero h1 em{font-style:normal;color:var(--pale-sea);}
.hero-lede{color:rgba(255,255,255,.92);font-size:clamp(1.06rem,1.4vw,1.26rem);max-width:56ch;margin-bottom:0;line-height:1.55;}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px;}

/* pathways block — label above, 4 image cards in one row */
.pathways{position:relative;z-index:3;}
.pathways .container{padding-bottom:clamp(22px,3.5vh,34px);}
.pathways-label{display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.pathways-label .t{font-family:var(--font-sans);font-weight:700;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--pale-sea);}
.pathways-label .s{font-family:var(--font-display);font-weight:700;font-size:1.18rem;color:#fff;letter-spacing:-.01em;}
.pathways-label::after{content:"";flex:1;height:1px;background:rgba(255,255,255,.22);}
.pathways-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.pcard{position:relative;overflow:hidden;border-radius:14px;min-height:152px;display:flex;flex-direction:column;justify-content:flex-end;padding:20px;color:#fff;border:1px solid rgba(255,255,255,.18);isolation:isolate;transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s;}
.pcard__bg{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;transform:scale(1.02);transition:transform .6s var(--ease);}
.pcard__sc{position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(3,14,28,.9),rgba(3,14,28,.32) 70%,rgba(3,14,28,.2));transition:background .4s;}
.pcard .n{font-family:var(--font-sans);font-weight:700;font-size:.66rem;letter-spacing:.08em;color:rgba(205,234,250,.9);margin-bottom:auto;}
.pcard .h{font-family:var(--font-display);font-weight:800;font-size:1.18rem;letter-spacing:-.02em;margin-top:8px;}
.pcard .d{font-size:.8rem;color:rgba(255,255,255,.8);margin-top:3px;}
.pcard .ar{position:absolute;top:18px;right:18px;opacity:0;transform:translate(-5px,5px);transition:all .3s var(--ease);color:var(--pale-sea);}
.pcard::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease);z-index:1;}
.pcard:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:rgba(255,255,255,.4);}
.pcard:hover .pcard__bg{transform:scale(1.1);}
.pcard:hover .pcard__sc{background:linear-gradient(to top,rgba(3,14,28,.82),rgba(3,14,28,.18) 75%,rgba(3,14,28,.06));}
.pcard:hover .ar{opacity:1;transform:translate(0,0);}
.pcard:hover::after{transform:scaleX(1);}
.pcard.active::after{transform:scaleX(1);}

/* ============================================================ Explore Research */
.explore{background:var(--bg-soft);}
.themes-band{background:var(--surface);border-block:1px solid var(--line-soft);}
.path-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.pathcard{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:30px;overflow:hidden;transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s;}
.pathcard::before{content:"";position:absolute;left:0;top:0;height:3px;width:100%;background:linear-gradient(90deg,var(--blue),var(--warm));transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease);}
.pathcard:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:transparent;}
.pathcard:hover::before{transform:scaleX(1);}
.pathcard .idx{font-family:var(--font-sans);font-weight:700;font-size:.7rem;color:var(--text-faint);letter-spacing:.08em;text-transform:uppercase;}
.pathcard h3{font-size:1.55rem;font-weight:800;margin:16px 0 10px;letter-spacing:-.02em;}
.pathcard p{color:var(--text-soft);font-size:.97rem;flex:1;margin-bottom:22px;}
.pathcard .chips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:22px;}
.chip{font-family:var(--font-sans);font-weight:600;font-size:.7rem;letter-spacing:.02em;color:var(--navy);background:var(--bg-sunk);border-radius:999px;padding:5px 13px;}

/* ============================================================ Themes */
.theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.themecard{position:relative;border-radius:var(--r-lg);overflow:hidden;min-height:360px;display:flex;flex-direction:column;justify-content:flex-end;padding:30px;color:#fff;isolation:isolate;transition:transform .45s var(--ease),box-shadow .45s var(--ease);}
.themecard__bg{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;transition:transform .8s var(--ease);}
.themecard__tint{position:absolute;inset:0;z-index:-1;transition:opacity .4s;}
.themecard:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);}
.themecard:hover .themecard__bg{transform:scale(1.08);}
.themecard .t-eyebrow{font-family:var(--font-sans);font-weight:700;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.85);margin-bottom:10px;}
.themecard h3{color:#fff;font-size:1.68rem;font-weight:800;letter-spacing:-.02em;margin-bottom:8px;}
.themecard p{color:rgba(255,255,255,.88);font-size:.92rem;max-width:34ch;opacity:0;max-height:0;transform:translateY(6px);transition:all .45s var(--ease);}
.themecard:hover p{opacity:1;max-height:130px;transform:translateY(0);margin-top:4px;}
.themecard .t-tpl{font-family:var(--font-sans);font-weight:600;font-size:.74rem;color:rgba(255,255,255,.78);margin-top:18px;display:inline-flex;align-items:center;gap:8px;}

/* ============================================================ Impact */
.impact{background:var(--navy);color:#fff;position:relative;overflow:hidden;}
.impact::before{content:"";position:absolute;inset:0;background:radial-gradient(80% 120% at 88% 0%,rgba(0,133,202,.45),transparent 55%);}
.impact .container{position:relative;z-index:1;}
.impact .shead h2{color:#fff;}
.impact .shead p{color:rgba(255,255,255,.8);}
.impact .eyebrow{color:var(--light-sea);}
.impact .eyebrow::before{background:var(--light-sea);}
.impact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:24px;}
.istat{border-top:2px solid rgba(255,255,255,.22);padding-top:28px;}
.istat .num{font-family:var(--font-display);font-size:clamp(3rem,5vw,4.4rem);font-weight:800;line-height:.95;letter-spacing:-.04em;color:#fff;}
.istat .unit{font-family:var(--font-sans);font-weight:700;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--light-sea);margin-top:12px;display:block;}
.istat h3{color:#fff;font-size:1.34rem;font-weight:700;margin:20px 0 8px;letter-spacing:-.01em;}
.istat p{color:rgba(255,255,255,.78);font-size:.96rem;}

/* ============================================================ Data & resources */
.data-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.dtile{display:flex;flex-direction:column;justify-content:space-between;gap:26px;min-height:158px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:26px;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s;}
.dtile:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--blue);}
.dtile .dt-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.dtile .dt-k{font-family:var(--font-sans);font-weight:700;font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);}
.dtile h3{font-size:1.4rem;font-weight:800;letter-spacing:-.02em;}
.dtile p{color:var(--text-soft);font-size:.9rem;margin-top:5px;}
.dtile.feature{grid-column:span 2;background:linear-gradient(120deg,var(--navy),var(--accent));color:#fff;border:none;}
.dtile.feature h3,.dtile.feature .dt-k{color:#fff;}
.dtile.feature p{color:rgba(255,255,255,.86);}
.dtile .ar-c{width:36px;height:36px;border-radius:999px;border:1.6px solid var(--line);display:grid;place-items:center;color:var(--text-soft);flex:none;transition:all .3s var(--ease);}
.dtile:hover .ar-c{background:var(--warm);border-color:var(--warm);color:#fff;transform:none;}
.dtile.feature .ar-c{border-color:rgba(255,255,255,.45);color:#fff;}
.dtile.feature:hover .ar-c{background:#fff;color:var(--navy);border-color:#fff;}

/* ============================================================ Projects */
.proj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.projcard{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;transition:transform .4s var(--ease),box-shadow .4s var(--ease);}
.projcard:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);}
.projcard .media{position:relative;aspect-ratio:16/10;overflow:hidden;background-size:cover;background-position:center;}
.projcard .media::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(3,20,38,.55),transparent 56%);transition:opacity .4s;}
.projcard:hover .media{}
.projcard .pill{position:absolute;z-index:2;top:15px;left:15px;font-family:var(--font-sans);font-weight:700;font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:var(--glass);border:1px solid var(--glass-line);backdrop-filter:blur(6px);padding:6px 13px;border-radius:999px;}
.projcard .body{padding:26px;display:flex;flex-direction:column;flex:1;}
.projcard h3{font-size:1.38rem;font-weight:800;letter-spacing:-.02em;margin-bottom:10px;}
.projcard p{color:var(--text-soft);font-size:.93rem;flex:1;margin-bottom:20px;}

/* ============================================================ News */
.news{background:var(--bg-soft);}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.newscard{display:flex;flex-direction:column;gap:15px;padding-top:24px;border-top:2px solid var(--hair);transition:border-color .35s;}
.newscard:hover{border-top-color:var(--blue);}
.newscard .meta{display:flex;align-items:center;gap:11px;font-family:var(--font-sans);font-weight:600;font-size:.7rem;letter-spacing:.04em;}
.newscard .cat{color:var(--accent);text-transform:uppercase;}
.newscard .date{color:var(--text-faint);}
.newscard h3{font-size:1.34rem;font-weight:800;line-height:1.18;letter-spacing:-.02em;transition:color .3s;}
.newscard:hover h3{color:var(--warm-text);}
.newscard p{color:var(--text-soft);font-size:.93rem;}

/* ============================================================ About */
.about{position:relative;overflow:hidden;}
.about-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:66px;align-items:center;}
.about h2{font-size:clamp(2rem,3.6vw,2.9rem);font-weight:800;letter-spacing:-.03em;margin:18px 0 20px;}
.about p{color:var(--text-soft);font-size:1.1rem;max-width:52ch;margin-bottom:32px;}
.about-meta{display:flex;flex-wrap:wrap;gap:38px;margin-bottom:36px;}
.about-meta .k{font-family:var(--font-sans);font-weight:700;font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);}
.about-meta .v{font-family:var(--font-display);font-weight:700;font-size:1.34rem;color:var(--ink);margin-top:6px;letter-spacing:-.01em;}
.about-links{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.about-links a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 17px;border:1px solid var(--line);border-radius:var(--r);font-weight:700;font-size:.92rem;color:var(--ink);transition:all .3s var(--ease);}
.about-links a .ar{color:var(--text-faint);transition:transform .3s var(--ease),color .3s;}
.about-links a:hover{border-color:var(--warm);color:var(--warm-text);background:var(--surface);transform:translateY(-2px);box-shadow:var(--shadow-xs);}
.about-links a:hover .ar{color:var(--warm-text);transform:translateX(3px);}
.about-visual{position:relative;border-radius:var(--r-xl);overflow:hidden;aspect-ratio:4/5;background-size:cover;background-position:center;box-shadow:var(--shadow-lg);}
.about-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,transparent 40%,rgba(3,20,38,.66));}
.about-visual .cap{position:absolute;z-index:1;bottom:26px;left:26px;right:26px;color:#fff;}
.about-visual .cap .t{font-family:var(--font-sans);font-weight:700;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;opacity:.85;}
.about-visual .cap .s{font-family:var(--font-display);font-weight:700;font-size:1.34rem;margin-top:4px;letter-spacing:-.01em;}

/* ============================================================ Footer */
.footer{background:var(--ink);color:#fff;}
.footer .brand .org{color:#fff;}
.footer .brand .dept{color:rgba(255,255,255,.55);}
.footer .top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:48px;padding-block:72px 52px;}
.footer .fcontact{margin-top:26px;display:grid;gap:11px;font-size:.9rem;color:rgba(255,255,255,.78);}
.footer .fcontact .k{font-family:var(--font-sans);font-weight:700;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.5);display:block;margin-bottom:2px;}
.footer .social{margin-top:26px;display:flex;gap:10px;}
.footer .social a{width:42px;height:42px;border-radius:999px;border:1px solid rgba(255,255,255,.2);display:grid;place-items:center;color:rgba(255,255,255,.8);font-family:var(--font-sans);font-weight:700;font-size:.82rem;transition:all .3s var(--ease);}
.footer .social a:hover{border-color:var(--blue);background:var(--blue);color:#fff;transform:translateY(-2px);}
.footer .social a svg{width:19px;height:19px;}
.footer h4{font-family:var(--font-sans);font-weight:700;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:#fff;margin-bottom:20px;}
.footer .fcol ul{display:grid;gap:13px;}
.footer .fcol a{color:rgba(255,255,255,.74);font-size:.93rem;transition:color .333s ease-in-out;}
.footer .fcol a:hover{color:var(--warm);}
.footer .mid{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;padding-block:28px;border-top:1px solid rgba(255,255,255,.14);}
.footer .gid{display:flex;align-items:center;gap:14px;}
.footer .gid .s{font-size:.85rem;color:rgba(255,255,255,.6);line-height:1.4;}
.footer .gid .s strong{display:block;color:#fff;font-family:var(--font-display);font-weight:700;font-size:.98rem;letter-spacing:-.01em;}
.footer .gmark{width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(255,255,255,.4);display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:.72rem;color:#fff;flex:none;}
.footer .tagline{font-family:var(--font-sans);font-weight:600;font-size:.76rem;letter-spacing:.08em;color:rgba(255,255,255,.55);}
.footer .legal{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center;padding-block:26px 60px;border-top:1px solid rgba(255,255,255,.14);font-family:var(--font-sans);font-size:.74rem;}
.footer .legal a{color:rgba(255,255,255,.55);transition:color .333s ease-in-out;}
.footer .legal a:hover{color:var(--warm);}
.footer .legal .copy{margin-left:auto;color:rgba(255,255,255,.5);}

/* ============================================================ Reveal */
.reveal{opacity:0;transform:scale(.965);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.reveal.in{opacity:1;transform:none;}
.reveal[data-delay="1"]{transition-delay:.08s;}
.reveal[data-delay="2"]{transition-delay:.16s;}
.reveal[data-delay="3"]{transition-delay:.24s;}
.reveal[data-delay="4"]{transition-delay:.32s;}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none;}
  .hero-bg,.hero-rays,.hero-swell{animation:none;}
  html{scroll-behavior:auto;}
}

/* ============================================================ Responsive */
@media(max-width:1100px){
  .path-grid{grid-template-columns:repeat(2,1fr);}
  .pathways-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:980px){
  .search-pill{display:none;}
  .theme-grid,.impact-grid,.data-grid,.proj-grid,.news-grid{grid-template-columns:repeat(2,1fr);}
  .dtile.feature{grid-column:span 2;}
  .about-grid{grid-template-columns:1fr;gap:42px;}
  .about-visual{max-width:460px;order:-1;}
  .footer .top{grid-template-columns:1fr 1fr;}
}
@media(max-width:640px){
  .container{padding-inline:22px;}
  .path-grid,.theme-grid,.impact-grid,.data-grid,.proj-grid,.news-grid,.about-links,.footer .top{grid-template-columns:1fr;}
  .dtile.feature{grid-column:span 1;}
  .pathways-grid{grid-template-columns:1fr 1fr;}
  .hero{min-height:auto;}
  .ql-grid{grid-template-columns:1fr;}
  .div-grid,.channel-grid{grid-template-columns:1fr;}
}

/* ============================================================ Source labels (provenance) */
.srcflag{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-sans);font-weight:600;font-size:.64rem;letter-spacing:.04em;color:var(--text-faint);background:var(--bg-soft);border:1px solid var(--line);border-radius:999px;padding:5px 12px;margin-bottom:22px;}
.srcflag b{font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--medium-sea,#056FB7);}
.srcflag.on-dark{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.25);color:rgba(255,255,255,.82);}
.srcflag.on-dark b{color:var(--pale-sea);}
body:not(.show-src) .srcflag{display:none;}
.ns{font-family:var(--font-sans);font-weight:700;font-size:.66rem;letter-spacing:.04em;color:#7A5200;background:#FEF9E7;border:1px solid var(--solar-gold);border-radius:5px;padding:2px 7px;white-space:nowrap;}
body:not(.show-src) .ns{opacity:.5;}
.src-toggle{position:fixed;bottom:18px;right:18px;z-index:120;display:inline-flex;align-items:center;gap:9px;font-family:var(--font-sans);font-weight:700;font-size:.74rem;letter-spacing:.02em;background:var(--ink);color:#fff;border:none;border-radius:999px;padding:11px 18px;cursor:pointer;box-shadow:var(--shadow-lg);transition:transform .25s var(--ease),background-color .25s;}
.src-toggle:hover{transform:translateY(-2px);background:var(--navy);}
.src-toggle .dot{width:8px;height:8px;border-radius:50%;background:#5EB6D9;}

/* Restored moving-ocean hero layer from the prototype build. */
.hero-video {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 1;
  transform: scale(1.02);
  filter: saturate(1.08) contrast(1.08);
  pointer-events: none;
  transition: opacity .45s var(--ease), filter .45s var(--ease);
}

.hero.hero-media-video .hero-bg {
  opacity: 0 !important;
}

.hero.hero-media-still .hero-video {
  opacity: 0;
}

.hero.hero-media-still .hero-bg.is-active {
  opacity: 1 !important;
}

.hero:has(.pcard:hover) .hero-video,
.hero:has(.pcard:focus-visible) .hero-video,
.hero:has(.pcard:focus) .hero-video {
  opacity: 0;
}

.hero:has(.pcard:hover) .hero-bg[data-layer="a"],
.hero:has(.pcard:focus-visible) .hero-bg[data-layer="a"],
.hero:has(.pcard:focus) .hero-bg[data-layer="a"] {
  opacity: 1 !important;
  background-size: cover;
  background-position: center;
}

.hero:has(.pcard[data-state="divisions"]:hover) .hero-bg[data-layer="a"],
.hero:has(.pcard[data-state="divisions"]:focus-visible) .hero-bg[data-layer="a"],
.hero:has(.pcard[data-state="divisions"]:focus) .hero-bg[data-layer="a"] {
  background-image: url("/assets-bundle/adg-aoml-card-divisions-full.jpg") !important;
}

.hero:has(.pcard[data-state="themes"]:hover) .hero-bg[data-layer="a"],
.hero:has(.pcard[data-state="themes"]:focus-visible) .hero-bg[data-layer="a"],
.hero:has(.pcard[data-state="themes"]:focus) .hero-bg[data-layer="a"] {
  background-image: url("/assets-bundle/adg-aoml-card-themes-full.jpg") !important;
}

.hero:has(.pcard[data-state="projects"]:hover) .hero-bg[data-layer="a"],
.hero:has(.pcard[data-state="projects"]:focus-visible) .hero-bg[data-layer="a"],
.hero:has(.pcard[data-state="projects"]:focus) .hero-bg[data-layer="a"] {
  background-image: url("/assets-bundle/adg-aoml-card-projects-full.jpg") !important;
}

.hero:has(.pcard[data-state="technologies"]:hover) .hero-bg[data-layer="a"],
.hero:has(.pcard[data-state="technologies"]:focus-visible) .hero-bg[data-layer="a"],
.hero:has(.pcard[data-state="technologies"]:focus) .hero-bg[data-layer="a"] {
  background-image: url("/assets-bundle/adg-aoml-card-tech-full.jpg") !important;
}

@media (prefers-reduced-motion: reduce) {
  .hero-video {
    display: none;
  }

  .hero.hero-media-video .hero-bg.is-active {
    opacity: 1 !important;
  }
}
body:not(.show-src) .src-toggle .dot{background:rgba(255,255,255,.35);}
@media print{.src-toggle{display:none;}}

/* ============================================================ Priority quick links */
.quicklinks{background:var(--bg-soft);border-block:1px solid var(--line);}
.quicklinks .section{padding-block:clamp(48px,6vw,76px);}
.ql-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.qlink{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px 20px;transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s;}
.qlink:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--blue);}
.qlink .ql-t{font-family:var(--font-display);font-weight:700;font-size:1.06rem;letter-spacing:-.01em;color:var(--ink);}
.qlink .ql-s{display:block;font-family:var(--font-sans);font-weight:600;font-size:.7rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint);margin-top:3px;}
.qlink .ql-ar{width:34px;height:34px;border-radius:999px;border:1.5px solid var(--line);display:grid;place-items:center;color:var(--text-soft);flex:none;transition:all .3s var(--ease);}
.qlink:hover .ql-ar{background:var(--warm);border-color:var(--warm);color:#fff;transform:none;}

/* ============================================================ Divisions */
.div-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.divcard{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:30px;overflow:hidden;transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s;}
.divcard::before{content:"";position:absolute;left:0;top:0;height:4px;width:100%;background:linear-gradient(90deg,var(--blue),var(--warm));transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease);}
.divcard:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:transparent;}
.divcard:hover::before{transform:scaleX(1);}
.divcard .abbr{font-family:var(--font-display);font-weight:800;font-size:2.1rem;letter-spacing:-.02em;color:var(--blue);}
.divcard h3{font-size:1.24rem;font-weight:800;letter-spacing:-.02em;margin:6px 0 16px;}
.divcard .larr{margin-top:auto;}

/* ============================================================ Research areas strip */
.areas-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px;}
.areacount{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:24px;display:flex;flex-direction:column;gap:6px;transition:border-color .3s,box-shadow .3s;}
.areacount:hover{border-color:var(--blue);box-shadow:var(--shadow);}
.areacount .c{font-family:var(--font-display);font-weight:800;font-size:2.4rem;letter-spacing:-.03em;color:var(--ink);line-height:1;}
.areacount .l{font-family:var(--font-sans);font-weight:700;font-size:.96rem;color:var(--ink);}
.areacount .x{font-size:.86rem;color:var(--text-soft);}
.areacount .larr{margin-top:10px;}

/* ============================================================ News channels */
.channel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.channel{display:flex;flex-direction:column;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px;transition:transform .4s var(--ease),box-shadow .4s var(--ease);}
.channel:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);}
.channel .k{font-family:var(--font-sans);font-weight:700;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);}
.channel h3{font-size:1.4rem;font-weight:800;letter-spacing:-.02em;}
.channel .cnt{font-family:var(--font-sans);font-weight:600;font-size:.92rem;color:var(--text-soft);}
.channel .feed{margin-top:6px;padding-top:14px;border-top:1px solid var(--line-soft);display:flex;flex-direction:column;gap:10px;}
.channel .feeditem{display:flex;gap:10px;align-items:baseline;font-size:.9rem;color:var(--text-soft);}
.channel .larr{margin-top:14px;}

/* ============================================================ Featured videos */
.videos{background:var(--bg-soft);}
.video-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.vthumb{position:relative;aspect-ratio:16/9;border-radius:var(--r-lg);overflow:hidden;border:1px dashed var(--hair);background:var(--bg-sunk);display:grid;place-items:center;text-align:center;padding:18px;}
.vthumb .play{width:54px;height:54px;border-radius:999px;border:2px solid var(--text-faint);display:grid;place-items:center;color:var(--text-faint);margin-bottom:12px;}
.vthumb .vt{font-family:var(--font-sans);font-weight:700;font-size:.8rem;color:var(--text-soft);}
@media(max-width:980px){
  .ql-grid{grid-template-columns:repeat(2,1fr);}
  .div-grid,.areas-strip,.channel-grid,.video-strip{grid-template-columns:repeat(2,1fr);}
}

/* ============================================================ Hamburger + full-width dropdown menu */
.hamburger{display:inline-flex;align-items:center;justify-content:center;width:50px;height:48px;padding:0;border:1.6px solid var(--line);border-radius:11px;background:#fff;cursor:pointer;transition:border-color .25s,transform .2s var(--ease),box-shadow .25s;}
.hamburger:hover,.header.menu-open .hamburger{border-color:var(--blue);transform:translateY(-1px);box-shadow:var(--shadow-xs);}
.hamburger .waves{width:28px;height:20px;display:block;}
.hamburger .waves path{transition:transform .4s var(--ease);transform-origin:center;}
.hamburger:hover .waves path:nth-child(1),.header.menu-open .waves path:nth-child(1){transform:translateX(1px);}
.hamburger:hover .waves path:nth-child(3),.header.menu-open .waves path:nth-child(3){transform:translateX(-1px);}

/* the existing .nav becomes a full-width panel under the bar */
.nav{position:absolute;top:100%;left:0;right:0;width:100%;display:block;background:var(--surface);border-top:1px solid var(--line);box-shadow:var(--shadow-lg);padding:0;opacity:0;visibility:hidden;transform:translateY(-12px);transition:opacity .3s var(--ease),transform .3s var(--ease),visibility .3s;z-index:90;}
.header.menu-open .nav{opacity:1;visibility:visible;transform:none;}
.fm-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px;padding-block:38px;}
.nav-item{position:static;}
.nav-item > a{display:block;font-family:var(--font-display);font-weight:800;font-size:1.06rem;letter-spacing:-.01em;color:var(--ink);padding:0 0 12px;margin-bottom:14px;border-bottom:2px solid var(--blue);border-radius:0;background:transparent;}
.nav-item > a:hover{background:transparent;color:var(--blue);}
.nav-item:hover > a{background:transparent;color:var(--ink);}
.nav-item > a .cx{display:none;}
.nav-item > a::after{display:none;}
.mega{position:static;transform:none !important;opacity:1 !important;visibility:visible !important;pointer-events:auto !important;min-width:0;background:transparent;border:none;border-radius:0;box-shadow:none;padding:0;}
.mega::before{display:none;}
.mega-grid,.mega-grid.c2,.mega-grid.c3{display:block;gap:0;}
.mega-grid > div{margin-bottom:16px;}
.mega-grid > div:last-child{margin-bottom:0;}
.mega h5{margin-bottom:8px;}
.mega li a{padding:6px 0;}
.mega li a:hover{padding-left:6px;background:transparent;}
.mega-feat{display:none;}

@media(max-width:880px){
  .search-pill{display:none;}
  .fm-grid{grid-template-columns:repeat(2,1fr);gap:24px 30px;}
}
@media(max-width:560px){
  .fm-grid{grid-template-columns:1fr;}
}

/* ============================================================ Hero state swap (hover pathways → change copy) */
.hero-content{display:grid;}
.hero-state{grid-area:1/1;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .4s var(--ease),transform .4s var(--ease),visibility .4s;pointer-events:none;}
.hero-state.is-on{opacity:1;visibility:visible;transform:none;pointer-events:auto;}
.hero-list{display:grid;gap:11px;margin:4px 0 30px;max-width:54ch;}
.hero-list li{position:relative;padding-left:20px;font-size:clamp(1.06rem,1.4vw,1.3rem);color:rgba(255,255,255,.92);}
.hero-list li::before{content:"";position:absolute;left:0;top:.72em;width:10px;height:2px;border-radius:2px;background:var(--warm);}
.hero-list b{color:#fff;font-weight:800;}

/* ============================================================ Four approved ocean blues — menu section accents */
.fm-grid .nav-item:nth-child(1) > a{border-bottom-color:var(--ocean-1);}
.fm-grid .nav-item:nth-child(2) > a{border-bottom-color:var(--ocean-2);}
.fm-grid .nav-item:nth-child(3) > a{border-bottom-color:var(--ocean-3);}
.fm-grid .nav-item:nth-child(4) > a{border-bottom-color:var(--ocean-4);}
/* pathway cards are all under Research — one shared accent; featured imagery differentiates them */
.pathways-grid .pcard::after{background:var(--blue);}
/* ── Kristina revisions ── */

/* 1. Hide hamburger — use megamenu only */
.hamburger { display: none !important; }

/* 2. Nav always visible in header row on desktop */
.header .row { flex-wrap: nowrap; align-items: center; }
.nav {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: static !important;
  transform: none !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  width: auto !important;
}
.fm-grid {
  display: flex !important;
  flex-direction: row !important;
  gap: 0 !important;
  padding: 0 !important;
}

/* 3. Nav items — horizontal links, mega on hover */
.nav-item { position: relative; }
.nav-item > a {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  padding: 11px 16px !important;
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: .97rem;
  color: var(--ink) !important;
  border-radius: 9px;
  background: transparent !important;
  border-bottom: none !important;
  margin-bottom: 0 !important;
  transition: color .2s, background-color .2s;
}
.nav-item > a:hover { background: var(--ink) !important; color: #fff !important; }
.nav-item > a .cx { font-size: .6rem; opacity: .55; transition: transform .3s; }
.nav-item:hover > a { color: #fff !important; background: var(--ink) !important; }
.nav-item:hover > a .cx { transform: rotate(180deg); opacity: .7; }

/* 4. Mega panels — hidden, appear on hover */
.mega {
  position: absolute !important;
  top: calc(100% + 8px) !important;
  left: 50% !important;
  transform: translateX(-50%) translateY(10px) !important;
  min-width: min(740px, 92vw) !important;
  background: var(--surface) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-lg) !important;
  box-shadow: var(--shadow-lg) !important;
  padding: 28px !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity .26s var(--ease), transform .26s var(--ease), visibility .26s !important;
  z-index: 100;
}
.nav-item:hover .mega {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateX(-50%) translateY(0) !important;
}
.mega-grid { display: grid; gap: 26px 32px; }
.mega-grid.c2 { grid-template-columns: 1fr 1fr; }
.mega-grid.c3 { grid-template-columns: 1fr 1fr 1fr; }
.mega-feat { display: block; }

/* 5. Link color — Deep Sea Blue for body content */
.qlink .ql-t, .divcard a, .larr, .projcard .body a, .channel .larr,
.pub-grid a, .about-links a { color: #005598; }

/* 6. Logo seal */
.seal { width: 52px; height: 52px; display: inline-block; }

/* 7. Responsive — keep hamburger on mobile */
@media (max-width: 900px) {
  .hamburger { display: inline-flex !important; }
  .nav { display: none !important; }
  .header.menu-open .nav { display: block !important; }
}

/* ── Reference compact pass: align WordPress render to the approved Meridian mock */
:root {
  --container: 1200px;
  --warm: #F47A22;
  --warm-text: #F47A22;
  --warm-deep: #A94208;
  --deep-link: #005598;
  --scrim: linear-gradient(90deg, rgba(0, 23, 67, .92) 0%, rgba(0, 48, 135, .64) 46%, rgba(0, 85, 152, .2) 100%),
           linear-gradient(180deg, rgba(0, 23, 67, .18) 0%, rgba(0, 23, 67, .2) 44%, rgba(0, 23, 67, .72) 100%);
}

.header .row {
  height: 78px;
  gap: 24px;
}

.header .brand {
  gap: 0;
  flex: 0 0 auto;
}

.header .brand .logo-lockup {
  width: clamp(220px, 24vw, 302px);
  height: auto;
}

.nav-item > a {
  padding: 9px 13px !important;
  font-size: .9rem;
}

.search-pill {
  width: clamp(220px, 20vw, 300px);
  padding: 10px 16px;
  font-size: .84rem;
}

.hero {
  min-height: clamp(560px, 78vh, 680px);
}

.hero-bg {
  background-position: center 42%;
}

.hero-scrim::after {
  background: radial-gradient(100% 90% at 18% 58%, rgba(0, 23, 67, .66), rgba(0, 23, 67, .24) 42%, transparent 70%);
}

.hero-top .container {
  padding-top: clamp(34px, 5vh, 58px);
  padding-bottom: 18px;
}

.hero h1 {
  font-size: clamp(2.55rem, 4.6vw, 4.12rem);
  line-height: 1.04;
  max-width: 14.75ch;
  margin: 17px 0 18px;
}

.hero-lede {
  max-width: 49ch;
  font-size: clamp(.98rem, 1.15vw, 1.08rem);
  line-height: 1.58;
}

.hero-cta {
  margin-top: 24px;
}

.btn {
  padding: 12px 22px;
  font-size: .92rem;
}

.btn-warm,
.btn-primary {
  background: var(--warm-text);
  border-color: var(--warm);
  color: #fff;
  box-shadow: 0 6px 14px -9px rgba(219, 96, 21, .72);
}

.btn-warm:hover,
.btn-primary:hover {
  background: var(--warm-deep);
  border-color: var(--warm-deep);
  color: #fff;
}

.pathways .container {
  padding-bottom: 24px;
}

.pathways-label {
  margin-bottom: 10px;
}

.pathways-label .t {
  font-size: .61rem;
}

.pathways-label .s {
  font-size: 1rem;
}

.pcard {
  min-height: 116px;
  padding: 15px;
  border-radius: 10px;
}

.pcard .n {
  font-size: .58rem;
}

.pcard .h {
  font-size: .98rem;
}

.pcard .d {
  font-size: .72rem;
}

.section {
  padding-block: clamp(58px, 7vw, 94px);
}

.quicklinks .section {
  padding-block: clamp(46px, 5.5vw, 68px);
}

.shead {
  margin-bottom: clamp(30px, 4vw, 46px);
}

.shead h2 {
  font-size: clamp(1.9rem, 3.2vw, 2.65rem);
  margin: 12px 0 10px;
}

.shead p,
.lede {
  font-size: 1rem;
}

.qlink {
  padding: 15px 17px;
}

.qlink .ql-t {
  color: var(--deep-link);
  font-size: .98rem;
}

.larr,
.divcard a,
.about-links a {
  color: var(--deep-link);
}

.mega-feat::after,
.pcard__sc,
.projcard .media::after {
  background: linear-gradient(to top, rgba(0, 23, 67, .88), rgba(0, 23, 67, .22) 72%, rgba(0, 23, 67, .06));
}

.reveal,
.reveal[data-delay] {
  opacity: 1;
  transform: none;
  transition-delay: 0s;
}

body:not(.show-src) .ns {
  display: none !important;
}

.vthumb.has-media {
  background-size: cover;
  background-position: center;
  border: 1px solid rgba(0, 85, 152, .14);
  box-shadow: 0 18px 38px -28px rgba(0, 23, 67, .42);
}

.vthumb.has-media > div {
  display: none;
}

@media (max-width: 1080px) {
  :root { --container: 940px; }
  .header .brand .logo-lockup { width: 230px; }
  .search-pill { width: 220px; }
}

@media (max-width: 900px) {
  .header .brand .logo-lockup { width: 230px; max-width: 66vw; }
  .hero { min-height: auto; }
  .hero h1 { font-size: clamp(2.35rem, 10vw, 3.3rem); }
}

/* ============================================================
   Restoration pass: standalone header, Meridian width, NOAA tokens
   ============================================================ */
:root {
  --midnight: #001743;
  --noaa-sky: #003087;
  --deep-sea: #005598;
  --medium-sea: #056FB7;
  --noaa-sea: #0085CA;
  --light-sea: #5EB6D9;
  --pale-sea: #C6E6F0;
  --gull-white: #FFFFFF;
  --whale-gray: #323C46;
  --ink-muted: #5C656E;
  --ocean-teal: #006178;
  --ocean-waves: #0FA6B8;
  --life-jacket: #F47A22;
  --life-jacket-text: #F47A22;
  --life-jacket-dark: #A94208;
  --solar-gold: #B08C1F;
  --wet-sand: #D9D8C4;
  --stone-cloud: #F1F0E9;
  --cloud-white: #F8F8F4;
  --midnight-tone-1: #C2D9E3;
  --midnight-tone-2: #D5E6ED;
  --midnight-tone-3: #E9F3F6;
  --paper: var(--cloud-white);
  --bg-soft: var(--midnight-tone-3);
  --bg-sunk: var(--midnight-tone-2);
  --surface: var(--gull-white);
  --ink: var(--midnight);
  --text: var(--whale-gray);
  --text-soft: var(--ink-muted);
  --text-faint: var(--ink-muted);
  --navy: var(--noaa-sky);
  --blue: var(--noaa-sky);
  --brand: var(--noaa-sky);
  --brand-bright: var(--noaa-sea);
  --link: var(--deep-sea);
  --accent: var(--ocean-teal);
  --accent-bright: var(--ocean-waves);
  --warm: var(--life-jacket);
  --warm-text: var(--life-jacket-text);
  --warm-deep: var(--life-jacket-dark);
  --ocean-1: var(--midnight);
  --ocean-2: var(--noaa-sky);
  --ocean-3: var(--deep-sea);
  --ocean-4: var(--noaa-sea);
  --line: var(--midnight-tone-2);
  --line-soft: var(--midnight-tone-3);
  --hair: var(--midnight-tone-1);
  --container: 1200px;
  --hero-img: url("/assets-bundle/67bfbb68-1764-4d24-8602-c22c9327ce96.png");
  --scrim: linear-gradient(90deg, rgba(0,23,67,.92) 0%, rgba(0,48,135,.68) 44%, rgba(0,85,152,.28) 100%),
           linear-gradient(180deg, rgba(0,23,67,.18) 0%, rgba(0,23,67,.2) 44%, rgba(0,23,67,.72) 100%);
}

.container {
  max-width: var(--container);
  padding-inline: 24px;
}

@media (min-width: 1248px) {
  .container,
  .usa-banner__inner,
  .usa-banner__content {
    padding-left: 0;
    padding-right: 0;
  }
}

.header .row {
  height: 96px;
  gap: 30px;
  position: relative;
}

.header .brand {
  flex: 1 1 0;
  min-width: 0;
  gap: 16px;
}

.header .brand .brand-logo,
.header .brand .logo-lockup {
  width: 300px;
  max-width: 46vw;
  height: auto;
  display: block;
  flex: none;
}

.nav {
  flex: 0 0 auto !important;
  align-self: stretch;
  display: flex !important;
  align-items: center;
  position: static !important;
  width: auto !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

.navbar {
  display: flex;
  align-items: center;
  gap: 6px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.navlink {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 11px 18px;
  font-weight: 700;
  font-size: 1.02rem;
  color: var(--ink);
  border-radius: 9px;
  transition: color .2s, background-color .2s;
}

.navlink .cx {
  font-size: .6rem;
  opacity: .55;
  transition: transform .3s;
  margin-top: 1px;
}

.navlink:hover,
.navlink:focus-visible,
.navlink.on {
  background: var(--ink);
  color: #fff;
}

.navlink:hover .cx,
.navlink.on .cx {
  transform: rotate(180deg);
  opacity: .7;
}

.megapanel {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-lg);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity .26s var(--ease), transform .26s var(--ease);
  z-index: 70;
}

.megapanel::before {
  content: "";
  position: absolute;
  top: -8px;
  left: 0;
  right: 0;
  height: 8px;
  background: transparent;
}

.nav:hover .megapanel,
.nav:focus-within .megapanel,
.header.menu-open .megapanel {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.megapanel-inner {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px;
  padding: 14px;
}

.megacol {
  padding: 20px 20px 22px;
  border-radius: var(--r);
  transition: background-color .25s var(--ease);
}

.megacol.hl {
  background: rgba(0,23,67,.05);
}

.megacol-head {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 1.1rem;
  letter-spacing: 0;
  line-height: 1.15;
  color: var(--ink);
  padding-bottom: 12px;
  margin-bottom: 16px;
  border-bottom: 2px solid var(--ocean-2);
}

.megacol[data-sec="research"] .megacol-head { border-bottom-color: var(--ocean-1); }
.megacol[data-sec="news"] .megacol-head { border-bottom-color: var(--ocean-2); }
.megacol[data-sec="resources"] .megacol-head { border-bottom-color: var(--ocean-3); }
.megacol[data-sec="about"] .megacol-head { border-bottom-color: var(--ocean-4); }

.megacol .mega-label {
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: .64rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--text-faint);
  margin: 16px 0 9px;
}

.megacol .mega-label:first-of-type {
  margin-top: 0;
}

.megacol ul {
  display: grid;
  gap: 1px;
  list-style: none;
  margin: 0 0 2px;
  padding: 0;
}

.megacol li a {
  display: block;
  padding: 8px 10px;
  border-radius: 8px;
  font-size: .95rem;
  font-weight: 600;
  color: var(--ink);
  transition: background-color .2s, color .2s, padding .25s var(--ease);
}

.megacol li a small {
  display: block;
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: .77rem;
  color: var(--text-faint);
  margin-top: 2px;
}

.megacol li a:hover {
  background: var(--bg-soft);
  color: var(--warm-text);
  padding-left: 14px;
}

.utils {
  display: flex;
  align-items: center;
  gap: 11px;
  flex: 1 1 0;
  justify-content: flex-end;
  margin-left: 0;
}

.search-pill {
  width: clamp(170px, 14vw, 240px);
  padding: 12px 18px;
  font-size: .88rem;
}

.hamburger {
  display: none !important;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 48px;
  padding: 0;
  border: 1.6px solid var(--line);
  border-radius: 11px;
  background: #fff;
  cursor: pointer;
  transition: border-color .25s, transform .2s var(--ease), box-shadow .25s;
}

.hamburger:hover,
.header.menu-open .hamburger {
  border-color: var(--blue);
  transform: translateY(-1px);
  box-shadow: var(--shadow-xs);
}

.hamburger .waves {
  width: 28px;
  height: 20px;
  display: block;
}

.hamburger .waves path {
  transition: transform .4s var(--ease);
  transform-origin: center;
}

.hamburger:hover .waves path:nth-child(1),
.header.menu-open .hamburger .waves path:nth-child(1) {
  transform: translateX(1px);
}

.hamburger:hover .waves path:nth-child(3),
.header.menu-open .hamburger .waves path:nth-child(3) {
  transform: translateX(-1px);
}

.hero {
  min-height: calc(100vh - 96px);
}

.hero-bg {
  background-position: center;
}

.hero-top .container {
  padding-top: clamp(40px, 7vh, 80px);
  padding-bottom: 28px;
}

.hero h1,
.hero .hero-h {
  font-size: clamp(2.7rem, 6.4vw, 5.4rem);
  line-height: 1;
  max-width: 16ch;
  margin: 22px 0 24px;
}

.hero-lede {
  max-width: 56ch;
  font-size: clamp(1.06rem, 1.4vw, 1.26rem);
  line-height: 1.55;
}

.hero-cta {
  margin-top: 34px;
}

.btn-warm,
.btn-primary {
  background: var(--warm-text);
  border-color: var(--warm);
  color: #fff;
  box-shadow: 0 8px 18px -8px rgba(244,122,34,.52);
}

.btn-warm:hover,
.btn-primary:hover {
  background: var(--warm-deep);
  border-color: var(--warm-deep);
  color: #fff;
}

.pathways .container {
  padding-bottom: clamp(22px, 3.5vh, 34px);
}

.pathways-label {
  margin-bottom: 16px;
}

.pathways-label .t {
  font-size: .66rem;
}

.pathways-label .s {
  font-size: 1.18rem;
}

.pcard {
  min-height: 152px;
  padding: 20px;
  border-radius: 14px;
}

.pcard .n {
  font-size: .66rem;
}

.pcard .h {
  font-size: 1.18rem;
}

.pcard .d {
  font-size: .8rem;
}

.section {
  padding-block: clamp(76px, 9vw, 132px);
}

.shead {
  margin-bottom: clamp(40px, 5vw, 68px);
}

.shead h2 {
  font-size: clamp(2.1rem, 4.2vw, 3.3rem);
  margin: 18px 0 16px;
}

.shead p,
.lede {
  font-size: 1.12rem;
}

.quicklinks .section {
  padding-block: clamp(48px, 6vw, 76px);
}

.qlink {
  padding: 18px 20px;
}

.qlink .ql-t {
  color: var(--deep-sea);
  font-size: 1.06rem;
}

.larr,
.divcard a,
.about-links a {
  color: var(--deep-sea);
}

#data {
  position: relative;
  overflow: hidden;
  background: linear-gradient(145deg, #001743 0%, #003087 100%);
  color: #fff;
}

#data::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(75% 120% at 92% 0%, rgba(0,133,202,.32), transparent 58%),
    linear-gradient(180deg, rgba(0,23,67,.1), rgba(0,23,67,.34));
  pointer-events: none;
}

#data .container {
  position: relative;
  z-index: 1;
}

#data .shead h2 {
  color: #fff;
}

#data .shead p {
  color: rgba(255,255,255,.78);
}

#data .dtile,
#data .dtile.feature {
  background: #fff;
  color: var(--text);
  border: 1px solid rgba(198,230,240,.18);
  box-shadow: 0 14px 38px -26px rgba(0,0,0,.5);
}

#data .dtile h3,
#data .dtile.feature h3 {
  color: var(--ink);
}

#data .dtile .dt-k,
#data .dtile.feature .dt-k {
  color: var(--text-faint);
}

#data .dtile p,
#data .dtile.feature p {
  color: var(--text-soft);
}

#data .dtile .ar-c,
#data .dtile.feature .ar-c {
  border-color: var(--line);
  color: var(--deep-sea);
}

#data .dtile:hover .ar-c,
#data .dtile.feature:hover .ar-c {
  background: var(--deep-sea);
  border-color: var(--deep-sea);
  color: #fff;
}

body:not(.show-src) .srcflag,
body:not(.show-src) .ns {
  display: none !important;
}

@media (max-width: 1120px) {
  .search-pill {
    display: none;
  }
}

@media (max-width: 980px) {
  .header .row {
    height: 82px;
  }

  .header .brand,
  .utils {
    flex: 0 0 auto;
  }

  .utils {
    margin-left: auto;
  }

  .header .brand .brand-logo,
  .header .brand .logo-lockup {
    width: 230px;
    max-width: 66vw;
  }

  .hamburger {
    display: inline-flex !important;
  }

  .navbar {
    display: none;
  }

  .nav {
    position: absolute !important;
    top: 100%;
    left: 0;
    right: 0;
    width: 100% !important;
    display: block !important;
    background: var(--surface) !important;
    border-top: 1px solid var(--line) !important;
    box-shadow: var(--shadow-lg) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(-12px) !important;
    transition: opacity .3s var(--ease), transform .3s var(--ease), visibility .3s;
    z-index: 90;
  }

  .header.menu-open .nav {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  .megapanel {
    position: static;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
    border: none;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
  }

  .megapanel::before {
    display: none;
  }

  .megapanel-inner {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    padding: 24px;
  }

  .megacol {
    padding: 14px 16px 16px;
  }

  .hero {
    min-height: auto;
  }

  .hero h1,
  .hero .hero-h {
    font-size: clamp(2.35rem, 10vw, 3.3rem);
  }
}

@media (max-width: 620px) {
  .megapanel-inner {
    grid-template-columns: 1fr;
  }

  .ql-grid {
    grid-template-columns: 1fr;
  }
}

/* Warm CTA pass — Elementor-ready class CSS */
.btn {
  border: 0;
}

.btn-warm,
.btn-primary {
  background: var(--warm-text);
  border: 0;
  box-shadow: 0 8px 18px -8px rgba(244,122,34,.5);
}

.btn-warm:hover,
.btn-primary:hover {
  background: var(--warm-deep);
  border: 0;
}

.btn-light,
.btn-outline-light,
.btn-ghost {
  border: 0;
}

.btn-outline-light {
  background: rgba(255,255,255,.12);
}

.btn-outline-light:hover {
  background: rgba(255,255,255,.2);
}

.btn:not(.btn-warm):not(.btn-primary) .ar,
.larr .ar,
.about-links a .ar {
  color: var(--warm);
}

.pcard .ar {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 6px;
  background: var(--warm);
  color: #fff;
  font-family: var(--font-sans);
  font-size: 0;
  font-weight: 800;
  line-height: 1;
}

.pcard .ar::before {
  content: "\2197";
  font-size: 1.05rem;
  transform: translateY(-1px) rotate(0deg);
  transform-origin: center;
  transition: transform .25s var(--ease);
}

.pcard:hover .ar::before {
  transform: translateY(-1px) rotate(-45deg);
}

.pcard::after {
  background: var(--warm);
}

.qlink .ql-ar,
.dtile .ar-c,
#data .dtile .ar-c,
#data .dtile.feature .ar-c {
  border: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--deep-sea);
  color: #fff;
  font-family: var(--font-sans);
  font-size: 0;
  font-weight: 800;
  line-height: 1;
  transform: none;
}

.qlink .ql-ar::before,
.dtile .ar-c::before {
  content: "\2197";
  font-size: 1rem;
  transform: translateY(-1px) rotate(0deg);
  transform-origin: center;
  transition: transform .25s var(--ease);
}

.qlink:hover .ql-ar::before,
.dtile:hover .ar-c::before {
  transform: translateY(-1px) rotate(-45deg);
}

.qlink:hover {
  border-color: transparent;
}

.qlink:hover .ql-ar,
.dtile:hover .ar-c,
.dtile.feature:hover .ar-c,
#data .dtile:hover .ar-c,
#data .dtile.feature:hover .ar-c {
  background: var(--warm);
  color: #fff;
  transform: none;
}

/* Final homepage polish — image fit, no public counts, cleaner cards */
.areas-strip {
  align-items: stretch;
}

.areacount {
  min-height: 172px;
  padding: 30px;
  gap: 10px;
}

.areacount .c {
  display: none;
}

.areacount .l {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(1.2rem, 1.5vw, 1.45rem);
  letter-spacing: -.02em;
}

.areacount .x {
  max-width: 28ch;
}

.projcard .media {
  isolation: isolate;
  background: var(--bg-sunk);
}

.projcard .media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.01);
  transition: transform .6s var(--ease);
}

.projcard:hover .media img {
  transform: scale(1.07);
}

.projcard:nth-child(1) .media img {
  object-position: 53% 48%;
}

.projcard:nth-child(2) .media img {
  object-position: 53% 45%;
}

.projcard:nth-child(3) .media img {
  object-position: 57% 45%;
}

.projcard .pill,
.channel-media .k {
  color: #fff;
  background: linear-gradient(135deg, rgba(255,255,255,.32), rgba(255,255,255,.13));
  border: 1px solid rgba(255,255,255,.38);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.24), 0 14px 30px rgba(0,23,67,.16);
  backdrop-filter: blur(14px) saturate(140%);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
}

.channel {
  gap: 0;
  padding: 0;
  overflow: hidden;
}

.channel-media {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--bg-sunk);
}

.channel-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(3,20,38,.54), rgba(3,20,38,.05) 58%);
}

.channel-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform .6s var(--ease);
}

.channel:hover .channel-media img {
  transform: scale(1.07);
}

.channel-media .k {
  position: absolute;
  z-index: 2;
  top: 15px;
  left: 15px;
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: .62rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  border-radius: 999px;
  padding: 7px 14px;
}

.channel h3,
.channel .cnt,
.channel .feed,
.channel .larr {
  margin-left: 28px;
  margin-right: 28px;
}

.channel h3 {
  margin-top: 24px;
}

.channel .cnt {
  margin-top: 7px;
}

.channel .feed {
  margin-top: 16px;
}

.channel .larr {
  margin-top: 20px;
  margin-bottom: 28px;
}

.vthumb {
  min-height: 0;
  border-style: solid;
  border-color: rgba(0,85,152,.18);
  padding: 0;
  background: var(--bg-sunk);
  box-shadow: var(--shadow-xs);
  isolation: isolate;
}

.vthumb::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,23,67,.62), rgba(0,23,67,.08) 58%);
  z-index: 1;
}

.vthumb img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform .55s var(--ease), filter .35s var(--ease);
}

.vthumb:hover img {
  transform: scale(1.06);
}

.vthumb > div {
  position: relative;
  z-index: 2;
  display: grid;
  justify-items: center;
  align-content: center;
  padding: 22px;
  color: #fff;
}

.vthumb .play {
  width: 62px;
  height: 62px;
  margin-bottom: 18px;
  border-color: rgba(255,255,255,.56);
  color: rgba(255,255,255,.86);
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.vthumb .vt {
  color: #fff;
  font-size: 1rem;
  text-shadow: 0 1px 14px rgba(0,23,67,.55);
}

.vthumb .vs {
  display: block;
  margin-top: 6px;
  font-family: var(--font-sans);
  font-size: .82rem;
  font-weight: 600;
  color: rgba(255,255,255,.82);
}

.about-meta {
  row-gap: 28px;
}

.about-meta > div {
  display: grid;
  gap: 10px;
}

.about-meta .k,
.about-meta .v {
  display: block;
}

.about-meta .v {
  margin-top: 0;
  line-height: 1.16;
}

.about-visual {
  background-position: center;
}

.footer .social a:hover {
  border-color: var(--warm);
  background: var(--warm);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 12px 24px rgba(244,122,34,.22);
}

@media(max-width:640px) {
  .channel h3,
  .channel .cnt,
  .channel .feed,
  .channel .larr {
    margin-left: 22px;
    margin-right: 22px;
  }

  .channel .larr {
    margin-bottom: 24px;
  }
}
