  :root{
    --paper:#fff; --soft:#f3f6fa; --ink:#04101f; --navy:#002357; --blue:#2287c9; --gold:#ffa818;
    --ink-dim:rgba(4,16,31,.64); --line:rgba(4,16,31,.16);
    --font-body:'Roboto',system-ui,sans-serif;
    --section-label-size:.78rem; --section-label-weight:950; --section-label-spacing:.12em;
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
  body.menu-open{overflow:hidden}
  img{display:block;max-width:100%}
  a{color:inherit}
  a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--navy);outline-offset:4px}
  ::selection{background:var(--navy);color:var(--paper)}
  @keyframes marqueeL{from{transform:translateX(0)}to{transform:translateX(-50%)}}
  @keyframes spin{to{transform:rotate(360deg)}}
  @keyframes handFlash{
    0%,100%{opacity:.62;transform:translateY(0) rotate(-8deg) scale(1)}
    40%{opacity:1;transform:translateY(-4px) rotate(4deg) scale(1.08)}
  }
  @keyframes hintGlow{
    0%,100%{box-shadow:0 12px 30px rgba(4,16,31,.08)}
    50%{box-shadow:0 16px 38px rgba(255,168,24,.26)}
  }
  @media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

  .menu-panel{position:fixed;top:82px;left:0;right:0;bottom:0;height:calc(100dvh - 82px);z-index:85;background:var(--navy);display:none;flex-direction:column;justify-content:flex-start;padding:clamp(36px,7vh,74px) clamp(24px,6vw,90px) clamp(150px,18vh,220px);overflow-x:hidden;overflow-y:scroll;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-gutter:stable;touch-action:pan-y}
  .menu-panel.is-open{display:flex}
  .menu-panel nav{display:flex;flex-direction:column;gap:4px;padding-bottom:clamp(90px,14vh,160px)}
  .menu-panel a{text-decoration:none;font-weight:900;font-size:clamp(2.4rem,7.5vw,6rem);line-height:1.05;color:var(--paper);display:flex;align-items:baseline;gap:18px;transition:color .25s}
  .menu-panel a:hover{color:var(--gold)}
  .menu-panel span{font-size:.32em;color:var(--gold)}

  .floating-apply-badge{position:fixed;right:clamp(-58px,-3.2vw,-34px);bottom:clamp(22px,4vw,44px);z-index:72;width:clamp(92px,8vw,132px);height:clamp(92px,8vw,132px);display:block;color:#fff;text-decoration:none;filter:drop-shadow(0 18px 30px rgba(4,16,31,.18));transition:right .25s ease,transform .25s ease}
  .floating-apply-badge:hover{right:clamp(10px,1.4vw,24px);transform:scale(1.03)}
  .floating-apply-core{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--gold)}
  .floating-apply-core svg{width:34%;height:34%;fill:none;stroke:var(--navy);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
  .floating-apply-text{position:absolute;inset:-12%;width:124%;height:124%;animation:spin 12s linear infinite}
  .floating-apply-text text{fill:#2287c9;font-size:10.5px;font-weight:900;letter-spacing:.06em}

  .hero{position:relative;min-height:auto;padding:82px 0 46px;background:var(--paper);overflow:hidden}
  .hero-inner{position:relative;z-index:1;width:min(1180px,calc(100% - 36px));margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,4vw,56px);align-items:start;min-height:auto;padding:clamp(54px,8vw,96px) 0}
  .eyebrow{margin:0 0 24px;color:#2287c9!important;font-weight:var(--section-label-weight);font-size:var(--section-label-size);letter-spacing:var(--section-label-spacing);text-transform:uppercase}
  .eyebrow::before{content:none}
  h1{max-width:100%;margin:0;font-weight:900;font-size:clamp(3rem,6vw,5.25rem);line-height:.98;letter-spacing:0;color:var(--navy)}
  .outline{color:inherit;-webkit-text-stroke:0 transparent}
  .hero-copy>p:not(.eyebrow){max-width:100%;margin:28px 0 34px;color:var(--ink-dim);font-size:clamp(1.08rem,1.7vw,1.34rem);line-height:1.55;font-weight:500}
  .hero-actions{display:flex;flex-wrap:wrap;gap:16px}
  .button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:58px;padding:18px 34px;border-radius:999px;text-decoration:none;border:2px solid var(--ink);font-weight:800;letter-spacing:.04em;transition:transform .2s,background .2s,color .2s}
  .button:hover{transform:translateY(-2px)}
  .button.primary{background:var(--gold);border-color:var(--gold);color:var(--navy)}
  .button.secondary{background:transparent;color:var(--ink)}
  .button.secondary:hover{background:var(--ink);color:var(--paper)}

  .filter-widget{position:relative;align-self:start;margin-top:clamp(12px,2vw,26px);min-height:clamp(520px,78vh,720px);border:2px solid var(--ink);border-radius:26px;background:#fff;overflow:hidden}
  .filter-widget::before{content:"";position:absolute;inset:22px;border-radius:20px;background:linear-gradient(180deg,rgba(243,246,250,.82),rgba(255,255,255,0));pointer-events:none}
  .filter-widget-label{position:absolute;left:18px;top:16px;z-index:2;color:#2287c9!important;font-weight:var(--section-label-weight);font-size:var(--section-label-size);letter-spacing:var(--section-label-spacing);text-transform:uppercase}
  .filter-play-hint{position:absolute;right:18px;top:14px;z-index:3;display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.92);border:1.5px solid rgba(4,16,31,.16);color:var(--navy);font-size:.78rem;font-weight:900;letter-spacing:.03em;pointer-events:auto;animation:hintGlow 1.8s ease-in-out infinite}
  .filter-hand-icon{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--gold);color:var(--navy);animation:handFlash 1.05s ease-in-out infinite}
  .filter-hand-icon svg{width:16px;height:16px;stroke:currentColor;stroke-width:2.5;fill:none;stroke-linecap:round;stroke-linejoin:round}
  .filter-join-link{display:inline-flex;align-items:center;justify-content:center;margin-left:4px;padding:7px 12px;border-radius:999px;background:var(--navy);color:var(--paper);text-decoration:none;font-weight:900;white-space:nowrap;transition:transform .2s,background .2s}
  .filter-join-link:hover{background:var(--blue);transform:translateY(-1px)}
  .filter-layer{position:absolute;inset:0;display:flex;flex-wrap:wrap;align-content:flex-end;align-items:flex-end;justify-content:center;gap:14px;padding:64px 24px 36px}
  .filter-chip{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:0 30px;border-radius:999px;border:2px solid var(--ink);background:#fff;color:var(--ink);font-family:var(--font-body);font-weight:900;font-size:clamp(.94rem,1.3vw,1.18rem);white-space:nowrap;cursor:grab;box-shadow:none;user-select:none;touch-action:manipulation}
  .filter-chip:active{cursor:grabbing}
  .filter-chip[data-tone="navy"],.filter-chip.is-active[data-tone="outline"]{background:var(--navy);color:var(--paper);border-color:var(--navy)}
  .filter-chip[data-tone="blue"]{background:var(--blue);color:var(--paper);border-color:var(--blue)}
  .filter-chip[data-tone="gold"],.filter-chip.is-active{background:var(--gold);color:var(--navy);border-color:var(--gold)}
  .filter-chip[data-tone="outline"]{background:#fff;color:var(--ink);border-color:var(--ink)}
  .filter-widget-note{position:absolute;right:16px;bottom:14px;color:var(--ink-dim);font-weight:700;font-size:.74rem;letter-spacing:.06em;pointer-events:none}

  .marquee{background:var(--navy);padding:22px 0;overflow:hidden;transform:rotate(-1.2deg) scale(1.02);margin-top:-12px}
  .marquee-track{display:flex;width:max-content;animation:marqueeL 24s linear infinite;will-change:transform}
  .marquee-line{display:flex;align-items:center;gap:26px;padding-right:26px;color:var(--paper);font-weight:900;font-size:clamp(1.5rem,3vw,2.7rem);white-space:nowrap}
  .marquee-line span[data-marquee-tone="paper"]{color:var(--paper);-webkit-text-stroke:0 transparent}
  .marquee-line span[data-marquee-tone="gold"]{color:var(--gold);-webkit-text-stroke:0 transparent}
  .marquee-line span[data-marquee-tone="outline-gold"]{color:transparent;-webkit-text-stroke:1.4px var(--gold)}
  .marquee-line span[data-marquee-tone="outline-paper"]{color:transparent;-webkit-text-stroke:1.4px var(--paper)}

  .news-hub{padding:clamp(80px,10vw,150px) 0;background:var(--paper)}
  .news-inner{width:min(1180px,calc(100% - 36px));margin:0 auto}
  .news-intro{display:grid;grid-template-columns:minmax(0,.72fr) minmax(320px,.42fr);gap:clamp(24px,5vw,58px);align-items:end;margin-bottom:34px}
  .news-intro h2,.topic-heading h2{margin:0;font-weight:900;color:var(--navy);line-height:.98}
  .cta h2{margin:0;font-weight:900;color:var(--paper);line-height:.98}
  .news-intro h2{font-size:clamp(2.35rem,5.4vw,5.2rem)}
  .news-intro p:not(.section-kicker){margin:0;color:var(--ink-dim);font-size:1.06rem;line-height:1.6}
  .section-kicker{margin:0 0 16px;color:#2287c9!important;font-weight:var(--section-label-weight);font-size:var(--section-label-size);letter-spacing:var(--section-label-spacing);text-transform:uppercase}
  .cta .section-kicker{color:var(--gold)!important}

  .topic-section{padding:clamp(30px,5vw,54px) 0;border-top:2px solid var(--ink)}
  .topic-heading{display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;align-items:center;margin-bottom:22px}
  .topic-heading span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--gold);color:var(--navy);font-weight:900}
  .topic-heading h2{font-size:clamp(1.8rem,3.3vw,3rem)}
  .story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
  .story-card{min-width:0;overflow:hidden;border:2px solid var(--line);border-radius:18px;background:#fff;cursor:pointer;transition:transform .2s,border-color .2s,box-shadow .2s}
  .story-card:hover,.story-card.is-targeted{border-color:rgba(30,111,184,.55);box-shadow:0 22px 52px rgba(4,16,31,.12);transform:translateY(-2px)}
  .story-card:focus-visible{outline:3px solid var(--gold);outline-offset:5px}
  .story-image{position:relative;overflow:hidden}
  .story-image img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .42s}
  .story-card:hover .story-image img{transform:scale(1.035)}
  .story-image span{position:absolute;left:14px;bottom:14px;max-width:calc(100% - 28px);padding:8px 12px;border-radius:999px;background:var(--gold);color:var(--navy);font-weight:900;font-size:.76rem}
  .story-copy{padding:22px}
  .story-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
  .story-meta span{color:var(--blue);font-weight:800;font-size:.78rem}
  .story-card h3{margin:0;color:var(--navy);font-weight:900;font-size:clamp(1.22rem,2vw,1.56rem);line-height:1.08}
  .story-card p{margin:14px 0 0;color:var(--ink-dim);line-height:1.55}
  .story-card details{margin-top:18px;border-top:1px solid var(--line)}
  .story-card summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:16px;color:var(--navy);cursor:pointer;font-weight:900;list-style:none}
  .story-card summary::-webkit-details-marker{display:none}
  .story-card summary::after{content:"+";display:grid;place-items:center;flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:rgba(255,168,24,.34);font-size:1.1rem}
  .story-card details[open] summary::after{content:"-";background:rgba(30,111,184,.14)}
  .story-expanded{padding-top:4px}
  .story-expanded a{color:var(--navy);font-weight:900;text-decoration:none}

  .cta{margin:0;width:100%;max-width:none;padding:clamp(42px,7vw,76px) max(18px,calc((100% - 1180px)/2));border-radius:0;background:var(--navy);color:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:28px}
  .cta h2{max-width:760px;color:var(--paper);font-size:clamp(2.2rem,5vw,5rem)}
  .cta p:not(.section-kicker){max-width:700px;margin:16px 0 0;color:rgba(255,255,255,.78);font-size:1.06rem;line-height:1.6}
  .cta .button{flex:0 0 auto;border-color:var(--gold)}

  .site-footer{border-top:0;padding:34px clamp(20px,4vw,48px);background:var(--navy);color:rgba(255,255,255,.76)}
  .footer-inner{max-width:1500px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
  .site-footer img{height:32px;width:auto}
  .footer-nav{display:flex;flex-wrap:wrap;gap:22px;font-weight:700;font-size:.8rem;letter-spacing:.04em}
  .footer-nav a{text-decoration:none;color:rgba(255,255,255,.76);transition:color .2s}
  .footer-nav a:hover{color:#fff}
  .copyright{font-size:.82rem;color:rgba(255,255,255,.62)}

  [hidden]{display:none!important}
  @media (max-width:980px){
    .hero-inner,.news-intro{grid-template-columns:1fr}
    .filter-widget{min-height:520px}
    .story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .cta{align-items:flex-start;flex-direction:column}
  }
  @media (max-width:680px){
    .floating-apply-badge{right:-48px;bottom:18px;width:96px;height:96px}
    .floating-apply-badge:hover{right:10px}
    .menu-panel{top:70px;height:calc(100dvh - 70px);padding-bottom:150px}
    .hero{padding:70px 0 34px}
    .hero-inner{width:min(100% - 28px,1180px);min-height:auto}
    h1{font-size:clamp(2.3rem,12vw,3.6rem)}
    .hero-actions .button{width:100%}
    .filter-widget{min-height:380px;border-radius:20px}
    .filter-play-hint{left:14px;right:14px;top:44px;flex-wrap:wrap;font-size:.72rem;padding:9px 12px}
    .filter-layer{position:relative;inset:auto;padding:58px 14px 40px;align-content:flex-end}
    .filter-chip{min-height:48px;padding:0 18px;font-size:.92rem}
    .news-hub{padding:64px 0}
    .topic-heading{grid-template-columns:44px minmax(0,1fr)}
    .topic-heading span{width:38px;height:38px}
    .story-grid{grid-template-columns:1fr}
    .story-copy{padding:20px}
    .menu-panel a{font-size:clamp(2.2rem,14vw,4.2rem)}
    .footer-inner{align-items:flex-start;flex-direction:column}
  }
