:root{
      --bg:#f7f9fb;
      --surface:#eef3f7;
      --card:#ffffff;
      --text:#1d2a3a;
      --muted:#677487;
      --line:#dbe3ea;
      --primary:#18314f;
      --accent:#2c8fb8;
      --accent-soft:#e7f5fa;
      --danger:#9d3141;
      --radius:16px;
      --container:1400px;
      --shadow:0 10px 28px rgba(27,45,67,.06);
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth;scroll-padding-top:110px;font-variant-emoji:text}
    body{
      margin:0;
      overflow-x:hidden;
      background:var(--bg);
      color:var(--text);
      font-family:"Museo Sans Cyrl","Museo",Arial,sans-serif;
      -webkit-font-smoothing:antialiased;
    }
    body.a11y{
      --bg:#fff;
      --surface:#f4f4f4;
      --card:#fff;
      --text:#000;
      --muted:#222;
      --line:#333;
      --primary:#000;
      --accent:#003fa3;
      --accent-soft:#eef4ff;
      font-size:125%;
    }
    a{color:inherit;text-decoration:none}
    button,input{font:inherit}
    button{cursor:pointer}
    :focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:8px}
    .container{max-width:var(--container);margin:0 auto;padding:0 24px}
    .topbar{background:var(--surface);border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}
    .topbar .container{height:40px;display:flex;align-items:center;justify-content:space-between;gap:24px}
    .topbar-right{display:flex;gap:28px;align-items:center}
    .site-header{
      position:sticky;
      top:0;
      z-index:120;
      background:rgba(247,249,251,.97);
      backdrop-filter:blur(10px);
      border-bottom:1px solid var(--line);
      box-shadow:0 1px 0 rgba(24,49,79,.03);
    }
    body.a11y .site-header{background:#fff}
    .nav-wrap{height:78px;display:flex;align-items:center;gap:22px}
    .brand{display:flex;align-items:center;gap:0;min-width:0}
    .brand-mark{
      width:46px;height:46px;border-radius:14px;background:var(--primary);color:#fff;
      display:grid;place-items:center;font-size:14px;font-weight:700;letter-spacing:.03em;flex:0 0 auto
    }
    .brand-text{line-height:1.15;min-width:0}
    .brand-text strong{display:block;font-size:16px}
    .brand-text span{font-size:13px;color:var(--muted)}
    .main-nav{margin-left:auto;display:flex;align-items:center;gap:4px}
    .main-nav>a,.drop-btn{
      border:0;background:transparent;color:var(--text);
      padding:12px 14px;border-radius:10px;font-size:14px;font-weight:500
    }
    .main-nav>a:hover,.drop-btn:hover{background:var(--surface);color:var(--accent)}
    .dropdown{position:relative}
    .dropdown-menu{
      position:absolute;left:0;top:calc(100% + 10px);width:245px;
      background:var(--card);border:1px solid var(--line);border-radius:14px;
      padding:8px;box-shadow:var(--shadow);display:none
    }
    .dropdown.open .dropdown-menu{display:block}
    .dropdown-menu a{display:block;padding:11px 12px;border-radius:9px;font-size:14px}
    .dropdown-menu a:hover{background:var(--surface);color:var(--accent)}
    .actions{display:flex;gap:8px;margin-left:10px}
    .icon-btn{
      width:44px;height:44px;border:1px solid var(--line);background:var(--card);border-radius:12px;
      display:grid;place-items:center;color:var(--text)
    }
    .icon-btn:hover{border-color:var(--accent);color:var(--accent)}
    .burger{display:none}
    .search-panel{
      display:none;
      border-top:1px solid var(--line);
      background:var(--card);
      box-shadow:0 18px 34px rgba(24,49,79,.08);
    }
    .search-panel.open{display:block}
    .search-inner{padding:20px 24px 22px}
    .search-row{display:flex;gap:10px;align-items:center}
    .search-field{position:relative;flex:1}
    .search-row input{
      width:100%;
      height:50px;
      border:1px solid var(--line);
      border-radius:12px;
      padding:0 16px;
      background:var(--bg);
      color:var(--text);
    }
    .search-hint{
      margin-top:9px;
      color:var(--muted);
      font-size:12px;
      line-height:1.45;
    }
    .search-close{
      min-height:50px;
      padding:0 18px;
      border:1px solid var(--line);
      background:var(--card);
      color:var(--text);
      border-radius:12px;
      font-weight:700;
    }
    .search-close:hover{border-color:var(--accent);color:var(--accent)}
    .search-results{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:10px;
      margin-top:18px;
    }
    .search-result{
      display:block;
      min-height:108px;
      border:1px solid var(--line);
      background:var(--surface);
      border-radius:14px;
      padding:14px 15px;
      transition:.2s ease;
    }
    .search-result:hover{
      border-color:var(--accent);
      background:var(--accent-soft);
    }
    .search-result strong{
      display:block;
      font-size:14px;
      line-height:1.35;
      margin-bottom:6px;
    }
    .search-result span{
      display:block;
      color:var(--muted);
      font-size:12px;
      line-height:1.5;
    }
    .search-empty{
      grid-column:1/-1;
      padding:16px;
      border:1px dashed var(--line);
      border-radius:12px;
      color:var(--muted);
      font-size:13px;
    }
    .search-empty[hidden]{display:none}
    .btn{
      display:inline-flex;align-items:center;justify-content:center;gap:9px;
      min-height:50px;padding:0 22px;border-radius:12px;font-weight:600;font-size:14px;
      border:1px solid transparent;transition:.2s ease
    }
    .btn.primary{background:var(--accent);color:#fff}
    .btn.primary:hover{filter:brightness(.96)}
    .btn.secondary{background:var(--card);border-color:var(--line)}
    .btn.secondary:hover{border-color:var(--accent);color:var(--accent)}
    .hero{background:var(--surface);border-bottom:1px solid var(--line)}

    .footer-brand{gap:0}
    .footer-brand .brand-text strong{font-size:22px;line-height:1.12}
    .footer-brand .brand-text span{font-size:14px}

    .faq-section{
      position:relative;
      overflow:hidden;
    }
    .faq-wrap{
      position:relative;
      z-index:2;
      max-width:var(--container);
    }
    .faq-section .section-head,
    .faq-section .faq{max-width:860px}
.hero-grid{
      min-height:72vh;display:grid;grid-template-columns:1.07fr .93fr;align-items:center;gap:64px;padding-top:62px;padding-bottom:62px
    }
    .eyebrow{
      display:inline-flex;
      align-items:center;
      width:max-content;
      max-width:100%;
      font-family:"Manrope",Arial,sans-serif;
      font-size:15px;
      line-height:1.2;
      text-transform:none;
      letter-spacing:.01em;
      color:var(--primary);
      font-weight:700;
      background:var(--accent-soft);
      border:1px solid rgba(44,143,184,.18);
      border-radius:999px;
      padding:8px 13px;
    }
    h1,h2,h3{margin:0;letter-spacing:-.02em}
    h1{font-size:clamp(42px,4vw,66px);line-height:1.06;max-width:820px;margin-top:16px}
    .lead{font-size:18px;line-height:1.65;color:var(--muted);max-width:740px;margin:24px 0 0}
    .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
    .hero-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px;padding-top:24px;border-top:1px solid var(--line);max-width:700px}
    .hero-meta dt{font-size:13px;color:var(--muted)}
    .hero-meta dd{margin:6px 0 0;font-weight:700;font-size:15px}
    .hero-art{
      min-height:430px;border:1px solid var(--line);border-radius:26px;background:var(--card);
      position:relative;overflow:hidden;box-shadow:var(--shadow)
    }
    .grid-bg{
      position:absolute;inset:0;
      background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
      background-size:42px 42px;opacity:.34
    }
    .route-line{
      position:absolute;left:13%;top:58%;width:70%;height:2px;background:var(--accent);
      transform:rotate(-14deg);transform-origin:left center
    }
    .node{position:absolute;width:20px;height:20px;border-radius:50%;background:var(--card);border:3px solid var(--accent)}
    .node.n1{left:14%;top:61%}.node.n2{left:49%;top:49%}.node.n3{right:15%;top:29%}
    .speech{
      position:absolute;border:1px solid var(--line);background:rgba(255,255,255,.95);border-radius:16px;padding:18px 20px;box-shadow:0 8px 25px rgba(0,0,0,.04)
    }
    .speech.one{right:8%;top:10%;width:48%}
    .speech.two{left:8%;top:25%;width:38%}
    .speech div{height:6px;border-radius:10px;background:var(--line);margin:8px 0}
    .speech div:last-child{width:60%;background:var(--accent)}
    .section{padding:90px 0}
    .section.alt{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
    .section-head{max-width:820px}
    .section-head h2{font-size:clamp(30px,3vw,44px);line-height:1.12;margin-top:12px}
    .section-head p{color:var(--muted);line-height:1.65;font-size:16px;margin:16px 0 0}
    .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
    .card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 2px 8px rgba(0,0,0,.02)}
    .card:hover{border-color:#b7ccd7}
    .card-top{display:flex;align-items:center;justify-content:space-between}
    .card-index{font-size:13px;color:var(--muted)}
    .icon{
      width:46px;height:46px;border-radius:12px;background:var(--accent-soft);color:var(--accent);
      display:grid;place-items:center;font-size:21px;font-weight:700
    }
    .card h3{font-size:21px;line-height:1.25;margin-top:22px}
    .card p{color:var(--muted);font-size:14px;line-height:1.65;margin:12px 0 0}
    .news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}
    .news-image{
      aspect-ratio:1/1;
      width:100%;
      border-radius:14px;
      overflow:hidden;
      position:relative;
      background:
        radial-gradient(circle at 72% 28%, rgba(44,143,184,.18), transparent 27%),
        linear-gradient(145deg, #edf4f7 0%, #dbe7ed 100%);
      border:1px solid var(--line);
      margin-bottom:20px;
    }
    .news-image:before,
    .news-image:after{
      content:"";
      position:absolute;
      border:1px solid rgba(24,49,79,.14);
      border-radius:999px;
    }
    .news-image:before{width:64%;height:64%;left:18%;top:18%}
    .news-image:after{width:36%;height:36%;left:32%;top:32%}
    .news:nth-child(2) .news-image{
      background:
        radial-gradient(circle at 28% 72%, rgba(44,143,184,.16), transparent 30%),
        linear-gradient(145deg, #eff4f6 0%, #d9e1e7 100%);
    }
    .news:nth-child(3) .news-image{
      background:
        linear-gradient(35deg, transparent 44%, rgba(44,143,184,.13) 44%, rgba(44,143,184,.13) 56%, transparent 56%),
        linear-gradient(145deg, #eef3f6 0%, #d8e4e9 100%);
    }
    .news-image span{
      position:absolute;
      left:16px;
      bottom:16px;
      font-size:11px;
      letter-spacing:.08em;
      text-transform:uppercase;
      color:var(--muted);
    }


    .hero-mission{
      margin-top:24px;
      max-width:760px;
      border:1px solid rgba(44,143,184,.24);
      background:linear-gradient(135deg,var(--accent-soft),rgba(255,255,255,.72));
      border-radius:18px;
      padding:20px 22px;
      display:grid;
      grid-template-columns:150px 1fr;
      gap:20px;
      align-items:start;
    }
    .hero-mission-label{
      font-family:"Manrope",Arial,sans-serif;
      font-size:13px;
      font-weight:800;
      color:var(--accent);
      text-transform:uppercase;
      letter-spacing:.08em;
      padding-top:2px;
    }
    .hero-mission-text{
      font-size:16px;
      line-height:1.55;
      color:var(--text);
      font-weight:500;
    }
    .hero-mission-text strong{
      color:var(--primary);
      font-weight:800;
    }

    .about-facts{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:12px;
      margin-top:30px;
    }
    .about-fact{
      background:var(--card);
      border:1px solid var(--line);
      border-radius:15px;
      padding:18px 18px 17px;
    }
    .about-fact span{
      display:block;
      font-family:"Manrope",Arial,sans-serif;
      font-size:12px;
      font-weight:800;
      color:var(--accent);
      margin-bottom:7px;
    }
    .about-fact strong{
      display:block;
      font-size:14px;
      line-height:1.5;
      color:var(--text);
    }
    .about-fact p{
      margin:8px 0 0;
      color:var(--muted);
      font-size:13px;
      line-height:1.55;
    }
    .about-law{
      margin-top:14px;
      padding:20px 22px;
      background:var(--primary);
      color:#fff;
      border-radius:16px;
    }
    .about-law p{
      margin:0;
      font-size:13px;
      line-height:1.65;
      opacity:.88;
    }
    .about-law p + p{margin-top:10px}


    .eligible-table-wrap{
      margin-top:38px;
      border:1px solid var(--line);
      border-radius:22px;
      overflow:hidden;
      background:var(--card);
      box-shadow:0 10px 30px rgba(24,49,79,.05);
    }
    .eligible-table-head{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      padding:18px 22px;
      background:linear-gradient(180deg, rgba(237,244,248,.95), rgba(248,250,252,.98));
      border-bottom:1px solid var(--line);
    }
    .eligible-table-title{
      font-size:18px;
      font-weight:800;
      color:var(--primary);
    }
    .eligible-table-note{
      font-size:12px;
      font-weight:700;
      color:var(--accent);
      white-space:nowrap;
    }
    .eligible-table{display:block}
    .eligible-row{
      display:grid;
      grid-template-columns:88px 1fr;
      border-bottom:1px solid var(--line);
    }
    .eligible-row:last-child{border-bottom:0}
    .eligible-row-head{background:var(--surface)}
    .eligible-cell{
      padding:16px 20px;
      font-size:15px;
      line-height:1.55;
      color:var(--text);
    }
    .eligible-row-head .eligible-cell{
      font-size:13px;
      font-weight:800;
      color:var(--primary);
      text-transform:uppercase;
      letter-spacing:.03em;
    }
    .eligible-num{
      border-right:1px solid var(--line);
      color:var(--accent);
      font-weight:800;
      font-variant-numeric:tabular-nums;
    }
    .eligible-row:nth-child(even):not(.eligible-row-head){
      background:rgba(248,250,252,.72);
    }
    .about-grid{
      display:grid;
      grid-template-columns:minmax(0,.95fr) minmax(440px,1.05fr);
      gap:70px;
      align-items:center;
    }
    .about-copy .section-head{max-width:720px}
    .gallery-shell{
      position:relative;
      width:100%;
      min-height:560px;
      margin-top:34px;
      display:grid;
      place-items:center;
    }
    .gallery-stage{
      width:min(100%,1040px);
      height:480px;
      position:relative;
      perspective:1400px;
    }
    .gallery-slide{
      position:absolute;
      width:74%;
      height:100%;
      left:13%;
      top:0;
      border-radius:26px;
      overflow:hidden;
      border:1px solid var(--line);
      background:
        linear-gradient(145deg, rgba(44,143,184,.08), rgba(24,49,79,.04)),
        #dfe6eb;
      box-shadow:0 22px 54px rgba(27,45,67,.12);
      transition:
        transform .45s ease,
        opacity .45s ease,
        left .45s ease,
        width .45s ease,
        filter .45s ease;
      display:flex;
      align-items:flex-end;
      padding:24px;
      color:var(--primary);
    }
    .gallery-slide:before{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(rgba(255,255,255,.35) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.35) 1px, transparent 1px);
      background-size:54px 54px;
      opacity:.55;
    }
    .gallery-slide span{
      position:relative;
      z-index:1;
      display:inline-flex;
      align-items:center;
      padding:9px 12px;
      border-radius:999px;
      background:rgba(255,255,255,.83);
      border:1px solid rgba(255,255,255,.88);
      font-size:12px;
      font-weight:700;
    }
    .gallery-slide.active{
      z-index:4;
      transform:translateX(0) scale(1);
      opacity:1;
      filter:none;
    }
    .gallery-slide.prev{
      z-index:2;
      transform:translateX(-24%) scale(.92);
      opacity:.68;
      filter:saturate(.78);
    }
    .gallery-slide.next{
      z-index:3;
      transform:translateX(24%) scale(.92);
      opacity:.68;
      filter:saturate(.78);
    }
    .gallery-slide.far{
      z-index:1;
      transform:translateX(0) scale(.84);
      opacity:.14;
    }
    .gallery-controls{
      display:flex;
      align-items:center;
      justify-content:center;
      gap:14px;
      margin-top:26px;
    }
    .gallery-arrow{
      width:40px;
      height:40px;
      border-radius:50%;
      border:1px solid var(--line);
      background:var(--card);
      color:var(--primary);
      display:grid;
      place-items:center;
      font-size:20px;
      transition:.2s ease;
    }
    .gallery-arrow:hover{
      border-color:var(--accent);
      color:var(--accent);
    }
    .gallery-count{
      min-width:78px;
      text-align:center;
      font-size:14px;
      color:var(--muted);
      font-variant-numeric:tabular-nums;
    }
    .news{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px}
    .news-meta{font-size:12px;color:var(--muted);display:flex;gap:10px;align-items:center}
    .tag{padding:5px 9px;border:1px solid var(--line);border-radius:999px}
    .news h3{font-size:19px;margin-top:18px}
    .news p{font-size:14px;color:var(--muted);line-height:1.6;margin:12px 0 0}
    .cta{background:var(--primary);color:#fff;padding:54px 0}
    .cta-inner{display:flex;align-items:center;justify-content:space-between;gap:36px}
    .cta h2{font-size:34px}
    .cta p{max-width:700px;opacity:.75;line-height:1.6}
    .cta .btn.secondary{background:#fff;color:var(--primary);border-color:#fff}
    .gallery-slide.photo-slide{
      background:
        linear-gradient(180deg, rgba(18,39,68,.05) 0%, rgba(18,39,68,.05) 100%),
        var(--photo) center/cover no-repeat;
      color:#fff;
    }
    .gallery-slide.photo-slide:before{
      background:linear-gradient(180deg, rgba(18,39,68,0) 38%, rgba(18,39,68,.72) 100%);
      opacity:1;
    }
    .gallery-slide.photo-slide span{
      background:rgba(255,255,255,.88);
      color:var(--primary);
      border-color:rgba(255,255,255,.92);
    }
    .gallery-divider{opacity:.5}
    .cta-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:stretch}
    .btn-phone{
      min-width:320px;
      padding-inline:28px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      text-align:center;
    }
    .btn-phone strong{
      font-size:22px;
      line-height:1.15;
      font-weight:800;
      letter-spacing:-.02em;
    }
    .feedback-modal{
      position:fixed;
      inset:0;
      z-index:180;
      display:flex;
      align-items:center;
      justify-content:center;
      padding:24px;
      opacity:0;
      visibility:hidden;
      pointer-events:none;
      transition:opacity .25s ease, visibility .25s ease;
    }
    .feedback-modal.open{
      opacity:1;
      visibility:visible;
      pointer-events:auto;
    }
    .feedback-modal__backdrop{
      position:absolute;
      inset:0;
      background:rgba(17, 33, 52, .56);
      backdrop-filter:blur(4px);
    }
    .feedback-modal__dialog{
      position:relative;
      z-index:1;
      width:min(100%, 620px);
      background:var(--card);
      border:1px solid var(--line);
      border-radius:26px;
      padding:28px;
      box-shadow:0 28px 60px rgba(17, 33, 52, .18);
    }
    .feedback-modal__head p{margin-top:10px;color:var(--muted);line-height:1.6}
    .feedback-modal__close{
      position:absolute;
      top:14px;
      right:14px;
      width:38px;
      height:38px;
      border-radius:50%;
      border:1px solid var(--line);
      background:var(--surface);
      color:var(--primary);
      font-size:24px;
      line-height:1;
      display:grid;
      place-items:center;
    }
    .feedback-form{display:grid;gap:16px;margin-top:20px}
    .field{display:grid;gap:8px}
    .field span{font-size:13px;font-weight:700;color:var(--primary)}
    .field input,
    .field textarea{
      width:100%;
      border:1px solid var(--line);
      background:var(--surface);
      border-radius:16px;
      padding:15px 16px;
      color:var(--primary);
      font:inherit;
    }
    .field textarea{resize:vertical;min-height:120px}
    .field input:focus,
    .field textarea:focus{
      outline:none;
      border-color:var(--accent);
      box-shadow:0 0 0 4px rgba(44,143,184,.14);
    }
    .consent-check{
      display:grid;
      grid-template-columns:18px 1fr;
      gap:12px;
      align-items:flex-start;
      color:var(--muted);
      font-size:13px;
      line-height:1.6;
    }
    .consent-check input{margin-top:3px}
    .consent-check a,
    .legal-links a{color:var(--accent);text-decoration:none}
    .consent-check a:hover,
    .legal-links a:hover{text-decoration:underline}
    .feedback-form__actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
    .feedback-note{font-size:12px;color:var(--muted)}
    .footer-grid-simple{grid-template-columns:minmax(260px,.95fr) 2fr}
    .footer-intro strong{display:block;font-size:28px;line-height:1.15;letter-spacing:-.03em}
    .footer-intro p{max-width:480px;color:var(--muted);font-size:14px;line-height:1.65;margin-top:14px}
    @media(max-width:1100px){
      .gallery-stage{width:min(100%,920px);height:440px}
    }
    @media(max-width:900px){
      .gallery-shell{min-height:470px;margin-top:26px}
      .gallery-stage{height:380px}
      .btn-phone strong{font-size:19px}
      .feedback-modal__dialog{padding:24px 20px}
    }
    @media(max-width:768px){
      .gallery-shell{min-height:400px;margin-top:22px}
      .gallery-stage{height:300px}
      .gallery-slide{width:84%;left:8%;padding:18px}
      .gallery-slide.prev{transform:translateX(-10%) scale(.9)}
      .gallery-slide.next{transform:translateX(10%) scale(.9)}
      .cta-actions{width:100%}
      .cta-actions > *{width:100%;justify-content:center}
      .btn-phone{min-width:0;align-items:center;text-align:center}
      .footer-grid-simple{grid-template-columns:1fr}
      .footer-intro strong{font-size:23px}
      .feedback-form__actions{flex-direction:column;align-items:stretch}
      .feedback-form__actions .btn{width:100%}
    }

    footer{background:var(--surface);border-top:1px solid var(--line);padding:55px 0 28px}
    .footer-grid{display:grid;grid-template-columns:1.2fr 2fr;gap:60px}
    .footer-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
    .footer-cols h3{font-size:14px;margin-bottom:14px}
    .footer-cols a{display:block;color:var(--muted);font-size:13px;line-height:1.5;margin:8px 0}
    .legal{border-top:1px solid var(--line);margin-top:44px;padding-top:22px;color:var(--muted);font-size:12px;line-height:1.65}
    .legal-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin-bottom:16px}
    .burger{display:grid}
    .menu-backdrop{
      position:fixed;
      left:0;
      right:0;
      top:var(--menu-top,118px);
      bottom:0;
      z-index:70;
      background:rgba(18,32,48,.22);
      opacity:0;
      visibility:hidden;
      transition:.25s ease;
    }
    .menu-backdrop.open{
      opacity:1;
      visibility:visible;
    }

    .quick-menu{
      position:fixed;
      left:50%;
      right:auto;
      top:var(--menu-top,118px);
      z-index:100;
      width:min(var(--container),calc(100% - 48px));
      max-height:none;
      overflow:visible;
      background:var(--card);
      border:1px solid var(--line);
      border-top:0;
      border-radius:0 0 18px 18px;
      box-shadow:0 24px 52px rgba(24,49,79,.14);
      opacity:0;
      visibility:hidden;
      transform:translate(-50%,-12px);
      pointer-events:none;
      transition:
        opacity .22s ease,
        visibility .22s ease,
        transform .26s ease;
    }
    .quick-menu.open{
      opacity:1;
      visibility:visible;
      transform:translate(-50%,0);
      pointer-events:auto;
    }
    .quick-menu-inner{
      width:100%;
      margin:0 auto;
      padding:18px 24px 20px;
      display:grid;
      grid-template-columns:minmax(245px,.78fr) minmax(500px,1.48fr) minmax(260px,.82fr);
      gap:22px;
      align-items:start;
    }

    .quick-menu-top{
      grid-column:1 / -1;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      padding-bottom:12px;
      border-bottom:1px solid var(--line);
    }
    .quick-menu-title{
      font-size:16px;
      font-weight:800;
      color:var(--text);
    }
    .menu-close{
      width:44px;
      height:44px;
      border:1px solid var(--line);
      background:var(--card);
      border-radius:12px;
      color:var(--text);
      font-size:24px;
      display:grid;
      place-items:center;
      line-height:1;
    }
    .menu-close:hover{
      border-color:var(--accent);
      color:var(--accent);
    }

    .a11y-text-btn{
      width:100%;
      min-height:46px;
      border:1px solid rgba(44,143,184,.20);
      background:var(--accent-soft);
      color:var(--primary);
      border-radius:14px;
      padding:0 16px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      text-align:left;
      font-weight:800;
    }
    .a11y-text-btn span:last-child{
      font-size:18px;
      color:var(--accent);
    }

    .quick-actions{
      display:grid;
      grid-template-columns:1fr;
      gap:10px;
      margin-top:10px;
    }
    .quick-action{
      min-height:44px;
      border:1px solid var(--line);
      background:var(--card);
      border-radius:14px;
      padding:12px 14px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      font-size:13px;
      font-weight:700;
    }
    .quick-action:hover{
      border-color:var(--accent);
      color:var(--accent);
    }

    .menu-section{
      padding:0;
      border:0;
    }
    .menu-section + .menu-section{
      margin-top:18px;
    }
    .menu-kicker{
      font-family:"Manrope",Arial,sans-serif;
      font-size:12px;
      font-weight:800;
      color:var(--accent);
      margin-bottom:12px;
    }
    .menu-main-link{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      padding:10px 0;
      font-size:16px;
      font-weight:700;
      border-bottom:1px solid var(--line);
    }
    .menu-main-link:hover{
      color:var(--accent);
    }

    .menu-help-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:10px;
    }
    .menu-help-group{
      background:var(--surface);
      border:1px solid var(--line);
      border-radius:14px;
      padding:11px 13px;
      margin:0;
    }
    .menu-help-group strong{
      display:block;
      font-size:13px;
      margin-bottom:6px;
    }
    .menu-help-group a{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      padding:6px 0;
      color:var(--muted);
      font-size:12px;
      line-height:1.3;
      border-bottom:1px dashed rgba(103,116,135,.18);
    }
    .menu-help-group a:last-child{
      border-bottom:0;
    }
    .menu-help-group a:hover{
      color:var(--accent);
    }

    .menu-info-card{
      background:var(--primary);
      color:#fff;
      border-radius:16px;
      padding:15px;
    }
    .menu-info-card small{
      display:block;
      opacity:.68;
      margin-bottom:5px;
    }
    .menu-info-card strong{
      display:block;
      font-size:16px;
      line-height:1.35;
    }
    .menu-info-card a{
      display:inline-flex;
      margin-top:14px;
      font-weight:700;
    }
    .menu-info-row{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:8px;
      margin-top:8px;
    }
    .menu-mini{
      background:var(--surface);
      border:1px solid var(--line);
      border-radius:12px;
      padding:11px;
    }
    .menu-mini small{
      display:block;
      color:var(--muted);
      margin-bottom:5px;
    }
    .menu-mini strong{
      font-size:13px;
      line-height:1.4;
    }
    body.menu-open{
      overflow:hidden;
    }

    .future-link{cursor:pointer}
    .card-action,.category-action{
      display:inline-flex;
      align-items:center;
      gap:8px;
      margin-top:18px;
      font-size:13px;
      font-weight:700;
      color:var(--accent);
    }
    .forms-panel{
      margin-top:20px;
      padding:22px 24px;
      border:1px solid rgba(44,143,184,.20);
      background:var(--accent-soft);
      border-radius:16px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:24px;
    }
    .forms-panel h3{font-size:18px}
    .forms-panel p{margin:7px 0 0;color:var(--muted);font-size:13px;line-height:1.55}

    .prototype-toast{
      position:fixed;
      left:50%;
      bottom:24px;
      z-index:120;
      transform:translate(-50%,30px);
      opacity:0;
      visibility:hidden;
      max-width:min(560px,calc(100% - 32px));
      background:var(--primary);
      color:#fff;
      padding:14px 18px;
      border-radius:14px;
      box-shadow:0 16px 38px rgba(24,49,79,.24);
      font-size:13px;
      line-height:1.45;
      transition:.25s ease;
    }
    .prototype-toast.show{opacity:1;visibility:visible;transform:translate(-50%,0)}



    .menu-help-grid-full{
      grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
      align-items:start;
    }
    .eligible-full{grid-row:auto}
    .eligible-full a{
      padding:3px 0;
      font-size:10.5px;
      line-height:1.18;
    }
    .eligible-full strong{margin-bottom:5px}
    @media(max-width:1100px){
      .eligible-row{grid-template-columns:72px 1fr}
      .eligible-cell{padding:14px 16px;font-size:14px}
      .menu-help-grid-full{grid-template-columns:1fr}
      .eligible-full{grid-row:auto}
      .eligible-full a{font-size:12px;padding:6px 0}
    }


    .menu-help-grid-full .menu-help-group a{
      justify-content:flex-start;
    }

    @media (min-width:1101px){
      .quick-menu{
        overflow:visible;
      }
      .quick-menu-inner{
        max-height:calc(100vh - var(--menu-top,118px) - 12px);
      }
      .quick-menu .menu-column{
        min-width:0;
      }
      .quick-menu .menu-kicker{
        margin-bottom:9px;
      }
      .quick-menu .quick-actions{
        gap:8px;
        margin-top:8px;
      }
    }

    @media(max-width:1100px){
      .main-nav{display:none}
      .quick-menu-inner{
        grid-template-columns:1fr 1.25fr;
      }
      .quick-menu .menu-column:last-child{
        grid-column:1 / -1;
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:20px;
      }
      .about-grid{grid-template-columns:1fr;gap:42px}
      .gallery-shell{min-height:460px}
      .hero-grid{grid-template-columns:1fr;min-height:auto}
      .hero-art{display:none}
      .cards,.category-grid,.topic-grid{grid-template-columns:repeat(2,1fr)}
      .category-grid-final .category-card:last-child{grid-column:auto}
      .topic:nth-child(3n){border-right:1px solid var(--line)}
      .topic:nth-child(2n){border-right:0}
      .topic:nth-last-child(-n+3){border-bottom:1px solid var(--line)}
      .topic:nth-last-child(-n+2){border-bottom:0}
      .steps{grid-template-columns:repeat(2,1fr)}
      .step{min-height:190px}
      .step-no{top:-15px;right:16px}
      .step h3{margin-top:16px}
      .required-links{grid-template-columns:repeat(2,1fr)}
      .required-link{min-height:136px}
      .required-title{font-size:17px}
      .footer-grid{grid-template-columns:1fr}
    }
    @media(max-width:760px){
      .eligible-table-head{flex-direction:column;align-items:flex-start}
      .eligible-row{grid-template-columns:1fr}
      .eligible-num{border-right:0;border-bottom:1px solid var(--line);padding-bottom:10px}
      .eligible-cell{padding:13px 14px;font-size:14px}
      .container{padding:0 18px}
      .topbar{display:none}
      .quick-menu{
        width:calc(100% - 24px);
        max-height:none;
        overflow:visible;
      }
      .search-results{grid-template-columns:1fr 1fr}
      .quick-menu-inner{
        grid-template-columns:1fr;
        padding:20px 18px 28px;
        gap:22px;
      }
      .quick-menu-top{
        grid-column:1;
      }
      .quick-menu .menu-column:last-child{
        grid-column:1;
        display:block;
      }
      .menu-help-grid{
        grid-template-columns:1fr;
      }
      .menu-info-row{
        grid-template-columns:1fr;
      }
      .nav-wrap{height:70px;gap:10px}
      .brand-mark{width:42px;height:42px}
      .brand-text strong{font-size:14px}
      .brand-text span{font-size:12px}
      .actions{margin-left:auto}
      .actions .icon-btn:nth-child(1){display:none}
      .hero-grid{padding-top:45px;padding-bottom:48px}
      h1{font-size:38px}
      .lead{font-size:16px}
      .hero-meta{grid-template-columns:1fr;gap:13px}
      .hero-meta div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px dashed var(--line);padding-bottom:10px}
      .section{padding:64px 0}
      .gallery-stage{height:320px}
      .gallery-shell{min-height:380px}
      .hero-mission{grid-template-columns:1fr;gap:8px}
      .about-facts{grid-template-columns:1fr}
      .eyebrow{font-size:14px;padding:7px 11px}
      .cards,.category-grid,.topic-grid,.steps,.contact-grid,.news-grid{grid-template-columns:1fr}
      .category-grid-final .category-card:last-child{grid-column:auto}
      .category-card{min-height:132px}
      .category-title{font-size:16px}
      .topic{border-right:0!important;border-bottom:1px solid var(--line)!important}
      .topic:last-child{border-bottom:0!important}
      .full-list-grid{grid-template-columns:1fr}
      .notice{grid-template-columns:1fr;padding:26px}
      .cta-inner{align-items:flex-start;flex-direction:column}
      .footer-cols{grid-template-columns:repeat(2,1fr)}
      .search-row{flex-direction:column}
      .btn{width:100%}
      .quick-actions{grid-template-columns:1fr}
      .forms-panel{align-items:stretch;flex-direction:column}
    }
    @media(max-width:480px){
      .brand-text{max-width:175px}
      .quick-menu-title{font-size:16px}
      .search-results{grid-template-columns:1fr}
      .search-row{flex-wrap:wrap}
      .search-field{flex-basis:100%}
      .search-row .btn.primary,
      .search-close{width:auto}
      .brand-text strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
      .brand-text span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
      h1{font-size:34px}
      .section-head h2{font-size:30px}
      .footer-cols{grid-template-columns:1fr}
      .required-links{grid-template-columns:1fr}
      .required-link{min-height:124px}
      .required-title{font-size:18px}
    }
  
    /* Final stability pass */
    .hero-photo{
      min-height:430px;
      background:var(--card);
    }
    .hero-photo img{
      display:block;
      width:100%;
      height:100%;
      min-height:430px;
      object-fit:cover;
      object-position:center;
    }

    .notice-important{
      display:grid;
      grid-template-columns:7px 1fr;
      align-items:stretch;
      gap:18px;
      padding:0;
      background:linear-gradient(135deg, #fff7f7 0%, #fff 78%);
      border:1px solid #efd2d2;
      border-radius:20px;
      overflow:hidden;
      box-shadow:0 8px 22px rgba(126,45,45,.045);
    }
    .notice-bar{
      background:linear-gradient(180deg, #d66d6d, #b94d4d);
      min-height:100%;
    }
    .notice-content{
      padding:24px 28px;
    }
    .notice-label{
      display:inline-flex;
      align-items:center;
      gap:8px;
      margin-bottom:10px;
      font-size:13px;
      line-height:1;
      font-weight:800;
      color:#b94d4d;
      text-transform:uppercase;
      letter-spacing:.08em;
    }
    .notice-label:before{
      content:"!";
      width:24px;
      height:24px;
      border-radius:50%;
      background:#f6dddd;
      color:#b94d4d;
      display:grid;
      place-items:center;
      font-size:14px;
      font-weight:900;
      box-shadow:0 0 0 5px rgba(185,77,77,.08);
    }
    .notice-important p{
      margin:0;
      color:var(--text);
      font-size:17px;
      line-height:1.65;
      max-width:1080px;
    }

    .search-row{
      display:grid;
      grid-template-columns:minmax(0,1fr) auto 50px;
      gap:10px;
      align-items:start;
    }
    .search-field{min-width:0}
    .search-submit{
      width:auto !important;
      min-width:110px;
      height:50px;
      padding-inline:22px;
    }
    .search-close{
      width:50px !important;
      height:50px;
      min-height:50px;
      padding:0;
      display:grid;
      place-items:center;
      font-size:24px;
      line-height:1;
      font-weight:500;
    }

    .eligible-table-wrap{width:100%}
    .eligible-row{min-width:0}
    .eligible-cell{min-width:0;overflow-wrap:anywhere}

    .hero-grid,
    .about-grid,
    .contact-grid,
    .footer-grid,
    .cards,
    .steps,
    .news-grid,
    .topic-grid{
      min-width:0;
    }
    img,svg{max-width:100%}

    @media(max-width:1100px){
      .hero-photo{display:none}
    }

    @media(max-width:760px){
      .search-row{
        grid-template-columns:minmax(0,1fr) 50px;
      }
      .search-field{
        grid-column:1 / -1;
      }
      .search-submit{
        width:100% !important;
        min-width:0;
      }
      .search-close{
        width:50px !important;
      }
      .notice-important{
        grid-template-columns:1fr;
        gap:0;
      }
      .notice-content{
        padding:20px 20px 22px;
      }
      .notice-important p{
        font-size:15px;
      }
    }

  
    /* Restored base styles for sections affected by the previous category-layout refactor */
    .topic-grid{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      margin-top:40px;
      border:1px solid var(--line);
      border-radius:16px;
      overflow:hidden;
    }
    .topic{
      background:var(--card);
      padding:24px;
      border-right:1px solid var(--line);
      border-bottom:1px solid var(--line);
    }
    .topic:nth-child(3n){border-right:0}
    .topic:nth-last-child(-n+3){border-bottom:0}
    .topic strong{
      display:block;
      color:var(--accent);
      font-size:12px;
      text-transform:uppercase;
      letter-spacing:.12em;
      margin-bottom:12px;
    }
    .topic p{margin:0;font-size:14px;line-height:1.55}

    .steps{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:18px;
      margin-top:40px;
    }
    .step{
      position:relative;
      background:var(--card);
      border:1px solid var(--line);
      border-radius:18px;
      padding:38px 24px 24px;
      overflow:visible;
      min-height:220px;
    }
    .step-no{
      position:absolute;
      top:-16px;
      right:20px;
      min-width:88px;
      height:34px;
      padding:0 14px;
      border-radius:999px;
      background:var(--accent-soft);
      border:1px solid rgba(44,143,184,.20);
      color:var(--accent);
      display:inline-flex;
      align-items:center;
      justify-content:center;
      font-size:13px;
      line-height:1;
      font-weight:800;
      letter-spacing:.02em;
      box-shadow:0 6px 18px rgba(44,143,184,.08);
      pointer-events:none;
      user-select:none;
    }
    .step h3{
      position:relative;
      z-index:1;
      font-size:20px;
      margin-top:20px;
      margin-bottom:0;
      max-width:100%;
    }
    .step p{
      position:relative;
      z-index:1;
      color:var(--muted);
      font-size:14px;
      line-height:1.6;
      margin:12px 0 0;
      max-width:100%;
    }

    .contact-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:20px;
      margin-top:40px;
    }
    .contact-card{
      background:var(--card);
      border:1px solid var(--line);
      border-radius:18px;
      padding:30px;
    }
    .contact-list{display:grid;gap:22px;margin-top:24px}
    .contact-row small{display:block;color:var(--muted);margin-bottom:5px}
    .contact-row strong{font-size:15px;line-height:1.5}

    .map{
      position:relative;
      overflow:hidden;
      min-height:390px;
      border:1px solid var(--line);
      border-radius:18px;
      background:var(--card);
    }
    .map iframe{
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      border:0;
      filter:saturate(.82) contrast(.96);
    }
    .custom-map-pin{
      position:absolute;
      left:50%;
      top:50%;
      width:52px;
      height:52px;
      transform:translate(-50%,-72%) rotate(-45deg);
      border-radius:18px 18px 18px 4px;
      background:var(--primary);
      box-shadow:0 14px 34px rgba(24,49,79,.24);
      pointer-events:none;
      z-index:2;
    }
    .custom-map-pin:before{
      content:"";
      position:absolute;
      width:18px;
      height:18px;
      border-radius:50%;
      background:#fff;
      left:17px;
      top:17px;
    }
    .custom-map-pin:after{
      content:"";
      position:absolute;
      inset:-10px;
      border:1px solid rgba(24,49,79,.18);
      border-radius:24px 24px 24px 8px;
    }
    .map-badge{
      position:absolute;
      left:16px;
      bottom:16px;
      z-index:3;
      max-width:330px;
      background:rgba(255,255,255,.96);
      border:1px solid var(--line);
      padding:14px 16px;
      border-radius:14px;
      box-shadow:0 8px 22px rgba(27,45,67,.08);
    }
    .map-badge strong{display:block;font-size:13px;margin-bottom:4px}
    .map-badge span{
      display:block;
      font-size:12px;
      line-height:1.45;
      color:var(--muted);
    }
    .map-badge a{
      display:inline-flex;
      margin-top:9px;
      font-size:12px;
      font-weight:700;
      color:var(--accent);
    }

    .faq{
      max-width:860px;
      margin-top:36px;
      margin-left:0;
      margin-right:0;
    }
    .faq-item{border-bottom:1px solid var(--line)}
    .faq-q{
      width:100%;
      border:0;
      background:none;
      padding:22px 0;
      text-align:left;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:20px;
      font-weight:600;
      color:var(--text);
    }
    .faq-q span:last-child{
      font-size:24px;
      color:var(--accent);
      font-weight:300;
    }
    .faq-a{
      display:none;
      padding:0 0 22px;
      color:var(--muted);
      font-size:14px;
      line-height:1.7;
      max-width:820px;
    }
    .faq-item.open .faq-a{display:block}

    @media(max-width:1100px){
      .topic-grid{grid-template-columns:repeat(2,1fr)}
      .topic:nth-child(3n){border-right:1px solid var(--line)}
      .topic:nth-child(2n){border-right:0}
      .topic:nth-last-child(-n+3){border-bottom:1px solid var(--line)}
      .topic:nth-last-child(-n+2){border-bottom:0}
      .steps{grid-template-columns:repeat(2,1fr)}
    }

    @media(max-width:760px){
      .topic-grid,
      .steps,
      .contact-grid{
        grid-template-columns:1fr;
      }
      .step{
        min-height:auto;
        padding:24px 20px 22px;
      }
      .step-no{
        top:-14px;
        right:14px;
        min-width:82px;
        height:32px;
        font-size:12px;
      }
      .step h3,
      .step p{
        max-width:100%;
      }
      .topic{
        border-right:0 !important;
        border-bottom:1px solid var(--line) !important;
      }
      .topic:last-child{border-bottom:0 !important}
      .contact-card{padding:24px}
      .map{min-height:340px}
    }

  
    /* Burger menu v2 — integrated from approved mockup */
    .quick-menu-inner.menu-v2{
      width:100%;
      margin:0 auto;
      padding:18px 20px 22px;
      display:grid;
      grid-template-columns:.85fr 1.3fr .95fr;
      gap:20px;
      align-items:start;
    }
    .menu-v2 .quick-menu-top{
      grid-column:1 / -1;
      padding:16px 0;
      margin:0;
      border-bottom:1px solid var(--line);
    }
    .menu-v2 .quick-menu-title{
      font-size:15.5px;
      font-weight:800;
      line-height:1.2;
    }
    .menu-v2 .quick-menu-title span{
      display:block;
      font-size:11.5px;
      font-weight:500;
      color:var(--muted);
      margin-top:3px;
    }
    .menu-v2 .menu-close{
      width:38px;
      height:38px;
      border-radius:11px;
      font-size:20px;
    }
    .menu-v2 .menu-kicker{
      font-size:11.5px;
      font-weight:800;
      letter-spacing:.02em;
      color:var(--accent);
      margin-bottom:10px;
      display:flex;
      align-items:center;
      gap:8px;
    }
    .menu-v2 .step-dot{
      width:19px;
      height:19px;
      border-radius:50%;
      background:var(--accent-soft);
      color:var(--accent);
      display:inline-grid;
      place-items:center;
      font-size:11px;
      font-weight:800;
      flex:0 0 auto;
    }
    .menu-v2 .cta-card{
      background:var(--primary);
      color:#fff;
      border-radius:14px;
      padding:16px;
    }
    .menu-v2 .cta-card small{
      opacity:.68;
      font-size:11.5px;
    }
    .menu-v2 .cta-card strong{
      display:block;
      font-size:16px;
      line-height:1.35;
      margin-top:4px;
    }
    .menu-v2 .cta-btn{
      margin-top:12px;
      display:inline-flex;
      align-items:center;
      gap:8px;
      background:#fff;
      color:var(--primary);
      padding:9px 13px;
      border-radius:10px;
      font-weight:800;
      font-size:12.5px;
    }
    .menu-v2 .quick-actions{
      display:grid;
      gap:8px;
      margin-top:10px;
    }
    .menu-v2 .quick-action{
      min-height:42px;
      border:1px solid var(--line);
      background:var(--card);
      border-radius:12px;
      padding:0 13px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      font-size:12.5px;
      font-weight:700;
      width:100%;
      color:var(--text);
    }
    .menu-v2 .quick-action:hover{
      border-color:var(--accent);
      color:var(--accent);
    }
    .menu-v2 .menu-section + .menu-section{
      margin-top:18px;
    }
    .menu-v2 .menu-main-link{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      padding:10px 2px;
      font-size:15px;
      font-weight:700;
      border-bottom:1px solid var(--line);
    }
    .menu-v2 .menu-main-link:hover{
      color:var(--accent);
    }
    .menu-v2 .menu-main-link-last{
      border-bottom:0;
    }
    .menu-v2 .nav-group{
      border:1px solid var(--line);
      background:var(--surface);
      border-radius:13px;
      padding:11px 13px;
      margin:10px 0;
    }
    .menu-v2 .nav-group-title{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      font-size:14.5px;
      font-weight:700;
      margin-bottom:7px;
    }
    .menu-v2 .nav-group-title em{
      font-style:normal;
      color:var(--muted);
      font-size:11px;
      font-weight:600;
    }
    .menu-v2 .nav-sub a{
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:12px;
      padding:7px 8px;
      border-radius:8px;
      font-size:12.5px;
      color:var(--text);
    }
    .menu-v2 .nav-sub a:hover{
      background:var(--card);
      color:var(--accent);
    }
    .menu-v2 .menu-info-card{
      background:var(--primary);
      color:#fff;
      border-radius:14px;
      padding:14px;
    }
    .menu-v2 .menu-info-card small{
      display:block;
      opacity:.68;
      font-size:11px;
      margin-bottom:4px;
    }
    .menu-v2 .menu-info-card strong{
      display:block;
      font-size:15px;
      line-height:1.3;
    }
    .menu-v2 .menu-info-card a{
      display:inline-flex;
      margin-top:12px;
      font-weight:700;
      font-size:12.5px;
    }
    .menu-v2 .menu-info-row{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:8px;
      margin-top:8px;
    }
    .menu-v2 .menu-mini{
      background:var(--surface);
      border:1px solid var(--line);
      border-radius:11px;
      padding:10px;
    }
    .menu-v2 .menu-mini small{
      display:block;
      color:var(--muted);
      font-size:10.5px;
      margin-bottom:4px;
    }
    .menu-v2 .menu-mini strong{
      font-size:12px;
      line-height:1.35;
    }

    @media(max-width:860px){
      .quick-menu-inner.menu-v2{
        grid-template-columns:1fr;
      }
      .menu-v2 .quick-menu-top{
        grid-column:1;
      }
    }

  

    /* Internal page: About */
    .main-nav > a.active{
      background:var(--surface);
      color:var(--accent);
    }
    .inner-hero{
      position:relative;
      overflow:hidden;
      background:var(--surface);
      border-bottom:1px solid var(--line);
    }
    .inner-hero:before,
    .inner-hero:after{
      content:"";
      position:absolute;
      pointer-events:none;
      border:1px solid rgba(44,143,184,.14);
      border-radius:50%;
    }
    .inner-hero:before{
      width:520px;
      height:520px;
      right:-190px;
      top:-250px;
    }
    .inner-hero:after{
      width:310px;
      height:310px;
      right:110px;
      bottom:-245px;
    }
    .inner-hero-grid{
      position:relative;
      z-index:1;
      min-height:500px;
      display:grid;
      grid-template-columns:minmax(0,1.08fr) minmax(390px,.72fr);
      gap:72px;
      align-items:center;
      padding-top:74px;
      padding-bottom:74px;
    }
    .breadcrumbs{
      display:flex;
      align-items:center;
      flex-wrap:wrap;
      gap:8px;
      margin-bottom:22px;
      color:var(--muted);
      font-size:13px;
    }
    .breadcrumbs a:hover{color:var(--accent)}
    .breadcrumbs span[aria-hidden="true"]{opacity:.48}
    .inner-hero h1{
      margin-top:16px;
      font-size:clamp(46px,5.2vw,76px);
      line-height:1.01;
      max-width:760px;
    }
    .inner-hero .lead{
      max-width:790px;
      margin-top:24px;
      font-size:18px;
    }
    .about-hero-card{
      position:relative;
      overflow:hidden;
      min-height:344px;
      padding:32px;
      border-radius:24px;
      background:var(--primary);
      color:#fff;
      box-shadow:0 20px 48px rgba(24,49,79,.16);
    }
    .about-hero-card:before{
      content:"";
      position:absolute;
      inset:0;
      background-image:
        linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);
      background-size:44px 44px;
      mask-image:linear-gradient(to bottom right,#000,transparent 78%);
    }
    .about-hero-card:after{
      content:"ГЮБ";
      position:absolute;
      right:-8px;
      bottom:-24px;
      font-size:118px;
      line-height:1;
      font-weight:800;
      letter-spacing:-.08em;
      color:rgba(255,255,255,.045);
    }
    .about-hero-card > *{position:relative;z-index:1}
    .about-hero-kicker{
      display:flex;
      align-items:center;
      gap:10px;
      font-family:"Manrope",Arial,sans-serif;
      font-size:12px;
      font-weight:800;
      letter-spacing:.08em;
      text-transform:uppercase;
      color:#91d2e9;
    }
    .about-hero-kicker:before{
      content:"";
      width:28px;
      height:1px;
      background:currentColor;
    }
    .about-hero-card h2{
      margin-top:18px;
      font-size:27px;
      line-height:1.18;
      letter-spacing:-.02em;
    }
    .about-hero-card p{
      margin:16px 0 0;
      color:rgba(255,255,255,.78);
      font-size:15px;
      line-height:1.65;
    }
    .about-hero-dates{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:10px;
      margin-top:28px;
    }
    .about-hero-date{
      min-height:92px;
      padding:15px;
      border:1px solid rgba(255,255,255,.14);
      border-radius:14px;
      background:rgba(255,255,255,.055);
    }
    .about-hero-date strong{
      display:block;
      font-size:18px;
      font-variant-numeric:tabular-nums;
    }
    .about-hero-date span{
      display:block;
      margin-top:6px;
      color:rgba(255,255,255,.66);
      font-size:11.5px;
      line-height:1.4;
    }
    .section-nav{
      position:sticky;
      top:78px;
      z-index:55;
      background:rgba(255,255,255,.96);
      border-bottom:1px solid var(--line);
      backdrop-filter:blur(12px);
    }
    body.a11y .section-nav{background:#fff}
    .section-nav-inner{
      min-height:64px;
      display:flex;
      align-items:center;
      gap:8px;
      overflow-x:auto;
      scrollbar-width:none;
    }
    .section-nav-inner::-webkit-scrollbar{display:none}
    .section-nav a{
      flex:0 0 auto;
      padding:10px 14px;
      border-radius:10px;
      color:var(--muted);
      font-size:13px;
      font-weight:700;
    }
    .section-nav a:hover{
      background:var(--surface);
      color:var(--accent);
    }
    .institution-layout{
      display:grid;
      grid-template-columns:minmax(0,.76fr) minmax(0,1.24fr);
      gap:72px;
      align-items:start;
    }
    .institution-copy{
      position:sticky;
      top:174px;
    }
    .institution-copy > p{
      margin:22px 0 0;
      color:var(--muted);
      font-size:16px;
      line-height:1.75;
    }
    .institution-copy > p + p{margin-top:14px}
    .mission-panel{
      margin-top:30px;
      padding:24px;
      border:1px solid rgba(44,143,184,.25);
      border-radius:18px;
      background:linear-gradient(135deg,var(--accent-soft),rgba(255,255,255,.9));
    }
    .mission-panel span{
      display:block;
      font-family:"Manrope",Arial,sans-serif;
      color:var(--accent);
      font-size:12px;
      font-weight:800;
      letter-spacing:.07em;
      text-transform:uppercase;
    }
    .mission-panel p{
      margin:12px 0 0;
      color:var(--text);
      font-size:16px;
      line-height:1.65;
      font-weight:500;
    }
    .mission-panel strong{color:var(--primary);font-weight:800}
    .institution-facts{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:14px;
    }
    .institution-fact{
      min-height:206px;
      padding:24px;
      border:1px solid var(--line);
      border-radius:18px;
      background:var(--card);
      box-shadow:0 5px 18px rgba(24,49,79,.035);
    }
    .institution-fact:nth-child(1),
    .institution-fact:nth-child(4){background:var(--surface)}
    .institution-fact-label{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      color:var(--accent);
      font-family:"Manrope",Arial,sans-serif;
      font-size:12px;
      font-weight:800;
      letter-spacing:.04em;
      text-transform:uppercase;
    }
    .institution-fact-mark{
      color:var(--line);
      font-size:22px;
      line-height:1;
      font-weight:700;
    }
    .institution-fact strong{
      display:block;
      margin-top:24px;
      color:var(--primary);
      font-size:21px;
      line-height:1.32;
    }
    .institution-fact p{
      margin:11px 0 0;
      color:var(--muted);
      font-size:13.5px;
      line-height:1.6;
    }
    .legal-layout{
      display:grid;
      grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);
      gap:72px;
      align-items:start;
    }
    .law-stack{display:grid;gap:14px}
    .law-card{
      display:grid;
      grid-template-columns:132px minmax(0,1fr) auto;
      gap:22px;
      align-items:center;
      padding:24px;
      border:1px solid var(--line);
      border-radius:18px;
      background:var(--card);
    }
    .law-code{
      color:var(--accent);
      font-size:24px;
      font-weight:800;
      letter-spacing:-.02em;
      font-variant-numeric:tabular-nums;
    }
    .law-card h3{
      font-size:17px;
      line-height:1.42;
    }
    .law-card p{
      margin:7px 0 0;
      color:var(--muted);
      font-size:12.5px;
      line-height:1.55;
    }
    .law-card-arrow{
      width:42px;
      height:42px;
      border:1px solid var(--line);
      border-radius:12px;
      display:grid;
      place-items:center;
      color:var(--muted);
      font-size:18px;
    }
    .finance-card{
      display:grid;
      grid-template-columns:auto 1fr;
      gap:18px;
      align-items:center;
      padding:22px 24px;
      border-radius:18px;
      background:var(--primary);
      color:#fff;
    }
    .finance-icon{
      width:48px;
      height:48px;
      border-radius:14px;
      display:grid;
      place-items:center;
      background:rgba(255,255,255,.09);
      font-weight:800;
    }
    .finance-card strong{display:block;font-size:15px}
    .finance-card p{
      margin:5px 0 0;
      color:rgba(255,255,255,.7);
      font-size:13px;
      line-height:1.5;
    }
    .structure-head{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:30px;
    }
    .org-shell{
      margin-top:38px;
      padding:54px 34px 44px;
      overflow-x:auto;
      border:1px solid #dfe6ed;
      border-radius:28px;
      background:linear-gradient(180deg,#ffffff 0%, #f8fbfd 100%);
      box-shadow:0 18px 48px rgba(24,49,79,.08);
    }
    .org-tree{
      min-width:1220px;
      margin:0 auto;
      padding:4px 0;
    }
    .org-tree ul{
      position:relative;
      display:flex;
      justify-content:center;
      margin:0;
      padding:28px 0 0;
    }
    .org-tree > ul{padding-top:0}
    .org-tree li{
      position:relative;
      flex:1;
      list-style:none;
      padding:28px 9px 0;
      text-align:center;
    }
    .org-tree > ul > li{padding-top:0}
    .org-tree li:before,
    .org-tree li:after{
      content:"";
      position:absolute;
      top:0;
      right:50%;
      width:50%;
      height:28px;
      border-top:2px solid #d6e1eb;
    }
    .org-tree li:after{
      right:auto;
      left:50%;
      border-left:2px solid #d6e1eb;
    }
    .org-tree li:only-child:before,
    .org-tree li:only-child:after{display:none}
    .org-tree li:only-child{padding-top:0}
    .org-tree li:first-child:before,
    .org-tree li:last-child:after{border:0 none}
    .org-tree li:last-child:before{
      border-right:2px solid #d6e1eb;
      border-radius:0 10px 0 0;
    }
    .org-tree li:first-child:after{border-radius:10px 0 0 0}
    .org-tree ul ul:before{
      content:"";
      position:absolute;
      top:0;
      left:50%;
      width:0;
      height:28px;
      border-left:2px solid #d6e1eb;
    }
    .org-tree .org-first-level > li:nth-child(1){flex:2.45}
    .org-tree .org-first-level > li:nth-child(2){flex:.9}
    .org-tree .org-first-level > li:nth-child(3){flex:1}
    .org-tree .deputy-children > li{min-width:190px}
    .org-card{
      width:100%;
      max-width:268px;
      min-height:110px;
      margin:0 auto;
      padding:20px 18px;
      display:grid;
      align-content:center;
      justify-items:center;
      border:1px solid #dce5ec;
      border-radius:18px;
      background:#ffffff;
      box-shadow:0 10px 24px rgba(24,49,79,.06);
      text-align:center;
    }
    .org-card-root{
      max-width:330px;
      min-height:118px;
      border-color:var(--primary);
      background:linear-gradient(180deg,#243f67 0%, #1e3455 100%);
      color:#fff;
      box-shadow:0 18px 34px rgba(24,49,79,.18);
    }
    .org-card-direct{
      border-color:#cfe3ec;
      background:linear-gradient(180deg,#ffffff 0%, #f1f8fb 100%);
    }
    .org-card-kicker{
      display:block;
      margin-bottom:10px;
      color:var(--accent);
      font-family:"Manrope",Arial,sans-serif;
      font-size:10.5px;
      font-weight:800;
      letter-spacing:.08em;
      text-transform:uppercase;
    }
    .org-card-root .org-card-kicker{color:#91d2e9}
    .org-card h3{
      margin:0;
      font-size:17px;
      line-height:1.36;
      letter-spacing:-.01em;
    }
    .org-card-root h3{font-size:24px}
    .org-role-list{
      width:100%;
      display:grid;
      gap:0;
    }
    .org-role{
      position:relative;
      padding:10px 0;
      font-size:14px;
      line-height:1.42;
      font-weight:700;
    }
    .org-role + .org-role{border-top:1px solid var(--line)}
    .org-count{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-width:27px;
      height:23px;
      margin-left:6px;
      padding:0 7px;
      border-radius:999px;
      background:var(--accent-soft);
      color:var(--accent);
      font-family:"Manrope",Arial,sans-serif;
      font-size:11px;
      font-weight:800;
      vertical-align:middle;
    }

    @media(max-width:1100px){
      .inner-hero-grid{
        grid-template-columns:minmax(0,1fr) minmax(340px,.72fr);
        gap:42px;
      }
      .institution-layout,
      .legal-layout{gap:42px}
    }
    @media(max-width:900px){
      .inner-hero-grid{
        grid-template-columns:1fr;
        min-height:auto;
        padding-top:58px;
        padding-bottom:58px;
      }
      .about-hero-card{min-height:auto}
      .institution-layout,
      .legal-layout{grid-template-columns:1fr}
      .institution-copy{position:static}
      .structure-head{align-items:flex-start;flex-direction:column}
            .org-shell{
        padding:24px 18px 18px;
        overflow:visible;
        background:#fff;
      }
      .org-tree{min-width:0}
      .org-tree ul,
      .org-tree > ul{
        display:block;
        padding:0;
      }
      .org-tree li,
      .org-tree > ul > li{
        padding:0;
        text-align:left;
      }
      .org-tree li:before,
      .org-tree li:after,
      .org-tree ul ul:before{display:none!important}
      .org-tree ul ul{
        margin:14px 0 0 16px;
        padding:0 0 0 24px;
        border-left:2px solid #d6e1eb;
      }
      .org-tree ul ul > li{
        padding:0 0 14px 18px;
      }
      .org-tree ul ul > li:before{
        content:"";
        display:block!important;
        position:absolute;
        left:-24px;
        top:38px;
        width:24px;
        height:0;
        border-top:2px solid #d6e1eb;
      }
      .org-card,
      .org-card-root{
        max-width:none;
        min-height:auto;
        margin:0;
        display:block;
        text-align:left;
      }
      .org-card-root{min-height:104px}
      .org-role-list{text-align:left}
    }
    @media(max-width:760px){
      .section-nav{top:70px}
      .section-nav-inner{min-height:58px}
      .inner-hero-grid{padding-top:44px;padding-bottom:48px}
      .inner-hero h1{font-size:42px}
      .inner-hero .lead{font-size:16px}
      .about-hero-card{padding:25px}
      .about-hero-card h2{font-size:23px}
      .institution-facts{grid-template-columns:1fr}
      .institution-fact{min-height:auto}
      .law-card{
        grid-template-columns:1fr auto;
        gap:15px;
      }
      .law-code{grid-column:1 / -1}
      .structure-head .section-head h2{font-size:30px}
    }
    @media(max-width:520px){
      .inner-hero h1{font-size:36px}
      .about-hero-dates{grid-template-columns:1fr}
      .about-hero-date{min-height:auto}
      .law-card{padding:20px}
      .law-card-arrow{width:38px;height:38px}
      .finance-card{grid-template-columns:1fr}
      .org-shell{padding:18px 12px 12px;border-radius:20px}
      .org-tree ul ul{margin-left:10px;padding-left:18px}
      .org-tree ul ul > li{padding-left:14px}
      .org-tree ul ul > li:before{left:-18px;width:18px}
      .org-card{padding:17px 16px}
      .org-card h3{font-size:15px}
      .org-role{font-size:13.5px}
    }

  
    /* Mobile menu viewport safety */
    @media(max-width:760px){
      .quick-menu{
        max-height:calc(100dvh - var(--menu-top,70px) - 12px);
        overflow-y:auto;
        overscroll-behavior:contain;
      }
    }

  

    /* News pages and news carousel */
    .news-heading-row{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:32px;
    }
    .news-heading-row .section-head{margin-bottom:0}
    .news-heading-actions{
      flex:0 0 auto;
      display:flex;
      align-items:center;
      gap:12px;
    }
    .news-controls{
      display:flex;
      align-items:center;
      gap:8px;
    }
    .news-arrow{
      width:48px;
      height:48px;
      border-radius:50%;
      border:1px solid var(--line);
      background:var(--card);
      color:var(--primary);
      display:grid;
      place-items:center;
      font-size:22px;
      line-height:1;
      transition:border-color .2s ease,color .2s ease,background .2s ease,opacity .2s ease;
    }
    .news-arrow:hover:not(:disabled){
      border-color:var(--accent);
      color:var(--accent);
      background:var(--accent-soft);
    }
    .news-arrow:disabled{
      opacity:.45;
      cursor:default;
    }
    .news-carousel{
      width:100%;
      margin-top:38px;
      overflow:hidden;
      border-radius:26px;
    }
    .news-track{
      display:flex;
      width:100%;
      transition:transform .48s cubic-bezier(.22,.8,.24,1);
      will-change:transform;
    }
    .news-slide{
      flex:0 0 100%;
      min-width:0;
    }
    .news-preview{
      min-height:420px;
      display:grid;
      grid-template-columns:minmax(380px,.96fr) minmax(0,1.04fr);
      overflow:hidden;
      border:1px solid var(--line);
      border-radius:26px;
      background:var(--card);
      box-shadow:0 18px 46px rgba(24,49,79,.075);
      transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
    }
    .news-preview:hover{
      transform:translateY(-3px);
      border-color:rgba(44,143,184,.42);
      box-shadow:0 24px 56px rgba(24,49,79,.11);
    }
    .news-preview__image{
      position:relative;
      min-height:420px;
      overflow:hidden;
      background:#dfe6eb;
    }
    .news-preview__image:after{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(180deg,rgba(24,49,79,0) 58%,rgba(24,49,79,.12) 100%);
      pointer-events:none;
    }
    .news-preview__image img{
      width:100%;
      height:100%;
      display:block;
      object-fit:cover;
      object-position:center 42%;
      transition:transform .55s ease;
    }
    .news-preview:hover .news-preview__image img{transform:scale(1.025)}
    .news-preview__content{
      padding:42px 44px;
      display:flex;
      flex-direction:column;
      justify-content:center;
      align-items:flex-start;
    }
    .news-preview__meta{
      display:flex;
      flex-wrap:wrap;
      align-items:center;
      gap:10px;
      margin-bottom:22px;
      color:var(--muted);
      font-size:13px;
      font-variant-numeric:tabular-nums;
    }
    .news-preview__category{
      display:inline-flex;
      align-items:center;
      min-height:30px;
      padding:6px 10px;
      border-radius:999px;
      background:var(--accent-soft);
      color:var(--accent);
      font-size:12px;
      font-weight:800;
    }
    .news-preview h3{
      max-width:760px;
      margin:0;
      font-size:31px;
      line-height:1.17;
      letter-spacing:-.035em;
    }
    .news-preview p{
      max-width:720px;
      margin:18px 0 0;
      color:var(--muted);
      font-size:16px;
      line-height:1.65;
    }
    .news-preview__link{
      display:inline-flex;
      align-items:center;
      gap:9px;
      margin-top:28px;
      color:var(--accent);
      font-size:14px;
      font-weight:800;
    }
    .news-list{
      display:grid;
      gap:24px;
      margin-top:42px;
    }
    .news-page-hero{
      padding:72px 0 58px;
      border-bottom:1px solid var(--line);
      background:
        radial-gradient(circle at 92% 8%,rgba(44,143,184,.14),transparent 28%),
        linear-gradient(180deg,#f8fbfd 0%,var(--bg) 100%);
    }
    .news-page-hero h1{
      max-width:950px;
      margin:18px 0 0;
      font-size:64px;
      line-height:1.04;
      letter-spacing:-.055em;
    }
    .news-page-hero .lead{
      max-width:760px;
      margin-top:22px;
    }
    .article-hero{
      padding:70px 0 54px;
      border-bottom:1px solid var(--line);
      background:
        radial-gradient(circle at 94% 4%,rgba(44,143,184,.14),transparent 30%),
        linear-gradient(180deg,#f8fbfd 0%,var(--bg) 100%);
    }
    .article-hero h1{
      max-width:1120px;
      margin:20px 0 0;
      font-size:58px;
      line-height:1.08;
      letter-spacing:-.05em;
    }
    .article-meta{
      display:flex;
      flex-wrap:wrap;
      align-items:center;
      gap:10px;
      margin-top:26px;
      color:var(--muted);
      font-size:14px;
      font-variant-numeric:tabular-nums;
    }
    .article-section{padding:70px 0 90px}
    .article-layout{
      display:grid;
      grid-template-columns:minmax(0,1.15fr) minmax(360px,.65fr);
      gap:64px;
      align-items:start;
    }
    .article-cover{
      margin:0;
      overflow:hidden;
      border:1px solid var(--line);
      border-radius:26px;
      background:var(--card);
      box-shadow:0 18px 48px rgba(24,49,79,.08);
    }
    .article-cover img{
      width:100%;
      height:auto;
      max-height:880px;
      display:block;
      object-fit:contain;
      background:#eef2f5;
    }
    .article-body{
      position:sticky;
      top:132px;
      padding:34px;
      border:1px solid var(--line);
      border-radius:22px;
      background:var(--card);
      box-shadow:0 12px 34px rgba(24,49,79,.055);
    }
    .article-body p{
      margin:0;
      color:var(--text);
      font-size:20px;
      line-height:1.72;
    }
    .article-body p + p{margin-top:20px}
    .article-back{
      display:inline-flex;
      align-items:center;
      gap:9px;
      margin-top:30px;
      color:var(--accent);
      font-size:14px;
      font-weight:800;
    }
    @media(max-width:1100px){
      .news-preview{grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr)}
      .news-preview__content{padding:34px}
      .news-preview h3{font-size:27px}
      .article-layout{grid-template-columns:1fr;gap:34px}
      .article-body{position:static}
    }
    @media(max-width:760px){
      .news-heading-row{align-items:flex-start;flex-direction:column}
      .news-heading-actions{width:100%;justify-content:space-between}
      .news-heading-actions .btn{flex:1}
      .news-carousel{margin-top:28px;border-radius:20px}
      .news-preview{min-height:0;grid-template-columns:1fr;border-radius:20px}
      .news-preview__image{min-height:270px;aspect-ratio:4/3}
      .news-preview__content{padding:26px 22px 28px}
      .news-preview h3{font-size:24px}
      .news-preview p{font-size:15px}
      .news-page-hero,.article-hero{padding:48px 0 42px}
      .news-page-hero h1{font-size:43px}
      .article-hero h1{font-size:38px}
      .article-section{padding:48px 0 64px}
      .article-body{padding:24px 20px}
      .article-body p{font-size:17px}
      .news-arrow{width:44px;height:44px}
    }

  

    /* News cards and news pages */
    .news-section-head{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:28px;
    }
    .news-all-link{
      flex:0 0 auto;
      display:inline-flex;
      align-items:center;
      gap:10px;
      min-height:46px;
      padding:0 18px;
      border:1px solid var(--line);
      border-radius:13px;
      background:var(--card);
      color:var(--primary);
      font-size:14px;
      font-weight:700;
      transition:.2s ease;
    }
    .news-all-link:hover{
      color:var(--accent);
      border-color:var(--accent);
      transform:translateY(-1px);
    }
    .news-carousel{margin-top:38px}
    .news-track{
      display:flex;
      gap:20px;
      overflow-x:auto;
      scroll-snap-type:x mandatory;
      scroll-behavior:smooth;
      scrollbar-width:none;
      overscroll-behavior-inline:contain;
      padding:2px 2px 10px;
    }
    .news-track::-webkit-scrollbar{display:none}
    .news-track .news{
      flex:0 0 calc((100% - 20px)/2);
      scroll-snap-align:start;
    }
    .news{
      padding:0;
      overflow:hidden;
      border-radius:20px;
      background:var(--card);
      border:1px solid var(--line);
      box-shadow:0 10px 28px rgba(24,49,79,.055);
      transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
    }
    .news:hover{
      transform:translateY(-3px);
      border-color:#bfd5df;
      box-shadow:0 16px 34px rgba(24,49,79,.09);
    }
    .news-card-link{
      display:flex;
      flex-direction:column;
      min-height:100%;
    }
    .news-image{
      width:100%;
      aspect-ratio:16/10;
      margin:0;
      border:0;
      border-bottom:1px solid var(--line);
      border-radius:0;
      overflow:hidden;
      background:#e5ebef;
      position:relative;
    }
    .news-image.has-photo:before,
    .news-image.has-photo:after{display:none}
    .news-image img{
      width:100%;
      height:100%;
      display:block;
      object-fit:cover;
      object-position:center;
      transition:transform .45s ease;
    }
    .news-image--meeting img{object-position:center 42%}
    .news-card-link:hover .news-image img{transform:scale(1.025)}
    .news-content{
      display:flex;
      flex-direction:column;
      flex:1;
      padding:24px;
    }
    .news-meta{
      display:flex;
      align-items:center;
      flex-wrap:wrap;
      gap:10px;
      color:var(--muted);
      font-size:12px;
    }
    .news-meta .tag{
      padding:6px 10px;
      border:1px solid #cfe4ed;
      border-radius:999px;
      background:var(--accent-soft);
      color:var(--accent);
      font-weight:700;
    }
    .news h3{
      margin:18px 0 0;
      font-size:23px;
      line-height:1.28;
      letter-spacing:-.02em;
    }
    .news p{
      margin:13px 0 0;
      color:var(--muted);
      font-size:14px;
      line-height:1.65;
    }
    .news-card-more{
      display:inline-flex;
      align-items:center;
      gap:8px;
      margin-top:auto;
      padding-top:22px;
      color:var(--accent);
      font-size:13px;
      font-weight:800;
    }
    .news-controls{
      display:flex;
      align-items:center;
      justify-content:flex-end;
      gap:12px;
      margin-top:20px;
    }
    .news-arrow{
      width:44px;
      height:44px;
      display:grid;
      place-items:center;
      border:1px solid var(--line);
      border-radius:50%;
      background:var(--card);
      color:var(--primary);
      font-size:20px;
      transition:.2s ease;
    }
    .news-arrow:hover:not(:disabled){
      color:var(--accent);
      border-color:var(--accent);
    }
    .news-arrow:disabled{
      opacity:.34;
      cursor:default;
    }
    .news-counter{
      min-width:62px;
      text-align:center;
      color:var(--muted);
      font-size:13px;
      font-variant-numeric:tabular-nums;
    }
    .news-archive-grid{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:22px;
      margin-top:40px;
    }
    .news-archive-grid .news h3{font-size:21px}
    .news-list-summary{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:20px;
      padding-bottom:18px;
      border-bottom:1px solid var(--line);
      color:var(--muted);
      font-size:14px;
    }
    .news-list-summary strong{color:var(--primary)}
    .news-hero-card{
      overflow:hidden;
      border:1px solid var(--line);
      border-radius:24px;
      background:var(--card);
      box-shadow:var(--shadow);
    }
    .news-hero-card img{
      display:block;
      width:100%;
      aspect-ratio:16/10;
      object-fit:cover;
      object-position:center 42%;
    }
    .news-hero-card-content{padding:22px}
    .news-hero-card-content span{
      display:block;
      color:var(--accent);
      font-size:12px;
      font-weight:800;
      text-transform:uppercase;
      letter-spacing:.07em;
    }
    .news-hero-card-content strong{
      display:block;
      margin-top:9px;
      font-size:19px;
      line-height:1.38;
    }
    .article-hero{
      padding:76px 0 58px;
      background:var(--surface);
      border-bottom:1px solid var(--line);
    }
    .article-hero-inner{max-width:1080px}
    .article-meta{
      display:flex;
      align-items:center;
      flex-wrap:wrap;
      gap:12px;
      margin-top:22px;
      color:var(--muted);
      font-size:13px;
    }
    .article-meta .tag{
      background:var(--accent-soft);
      border-color:#cfe4ed;
      color:var(--accent);
      font-weight:700;
    }
    .article-hero h1{
      max-width:1100px;
      margin-top:18px;
      font-size:clamp(38px,5vw,68px);
      line-height:1.06;
      letter-spacing:-.04em;
    }
    .article-hero .lead{
      max-width:900px;
      margin-top:20px;
      font-size:19px;
      line-height:1.65;
    }
    .article-layout{
      display:grid;
      grid-template-columns:minmax(0,880px) minmax(260px,1fr);
      gap:64px;
      align-items:start;
    }
    .article-cover{
      margin:0 0 36px;
    }
    .article-cover img{
      display:block;
      width:100%;
      height:auto;
      max-height:none;
      object-fit:contain;
      object-position:center;
      border-radius:24px;
      border:1px solid var(--line);
      background:var(--surface);
      box-shadow:0 16px 38px rgba(24,49,79,.08);
    }
    .article-cover figcaption{
      margin-top:12px;
      color:var(--muted);
      font-size:12px;
      line-height:1.55;
    }
    .article-body{
      font-size:18px;
      line-height:1.8;
    }
    .article-body p{margin:0 0 22px}
    .article-highlight{
      margin:32px 0;
      padding:24px 26px;
      border-left:4px solid var(--accent);
      border-radius:0 18px 18px 0;
      background:var(--accent-soft);
      color:var(--primary);
      font-size:20px;
      line-height:1.55;
      font-weight:700;
    }
    .article-aside{
      position:sticky;
      top:135px;
      display:grid;
      gap:14px;
      padding:24px;
      border:1px solid var(--line);
      border-radius:20px;
      background:var(--card);
    }
    .article-aside-row{
      padding-bottom:14px;
      border-bottom:1px solid var(--line);
    }
    .article-aside-row:last-of-type{border-bottom:0;padding-bottom:0}
    .article-aside small{
      display:block;
      color:var(--muted);
      font-size:11px;
      text-transform:uppercase;
      letter-spacing:.07em;
    }
    .article-aside strong{
      display:block;
      margin-top:6px;
      font-size:15px;
      line-height:1.45;
    }
    .article-back{
      display:inline-flex;
      align-items:center;
      gap:9px;
      margin-top:8px;
      color:var(--accent);
      font-size:14px;
      font-weight:800;
    }
    .related-news-grid{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:22px;
      margin-top:36px;
    }
    @media(max-width:1000px){
      .news-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
      .article-layout{grid-template-columns:1fr;gap:36px}
      .article-aside{position:static}
    }
    @media(max-width:760px){
      .news-section-head{align-items:flex-start;flex-direction:column}
      .news-all-link{width:100%;justify-content:space-between}
      .news-track .news{flex-basis:92%}
      .news-controls{justify-content:center}
      .news-archive-grid,
      .related-news-grid{grid-template-columns:1fr}
      .news h3{font-size:20px}
      .article-hero{padding:54px 0 44px}
      .article-hero h1{font-size:36px}
      .article-hero .lead{font-size:17px}
      .article-body{font-size:16px;line-height:1.72}
      .article-highlight{font-size:18px;padding:20px}
      .article-cover img{border-radius:18px}
    }

  


/* KГКУ visual refresh — inspired by the faceted red language of the Krasnoyarsk Krai portal */
:root{
  --bg:#f6f5f4;
  --surface:#f0eeec;
  --card:#ffffff;
  --text:#202a38;
  --muted:#697486;
  --line:#e0e2e5;
  --primary:#1d314d;
  --accent:#b23239;
  --accent-deep:#8f222b;
  --accent-bright:#cf3b45;
  --accent-soft:#faecee;
  --accent-pale:#fff6f6;
  --sky:#2f88ae;
  --shadow:0 18px 48px rgba(32,42,56,.09);
  --shadow-soft:0 10px 30px rgba(32,42,56,.07);
  --radius:20px;
}

html{scroll-padding-top:126px}
body{
  background:
    radial-gradient(circle at 8% 7%,rgba(178,50,57,.035),transparent 22%),
    radial-gradient(circle at 92% 28%,rgba(29,49,77,.035),transparent 24%),
    var(--bg);
}
::selection{background:rgba(178,50,57,.2);color:var(--text)}

/* ---------- service bar and header ---------- */
.topbar{
  background:linear-gradient(90deg,var(--accent-deep),var(--accent));
  border-bottom:0;
  color:rgba(255,255,255,.86);
}
.topbar a{color:#fff;font-weight:700}
.topbar .container{height:42px}
.topbar-right{gap:22px}
.site-header{
  background:rgba(255,255,255,.97);
  border-bottom:1px solid rgba(29,49,77,.1);
  box-shadow:0 8px 24px rgba(29,49,77,.055);
}
body.a11y .site-header{background:#fff}
.nav-wrap{height:82px}
.brand{position:relative;padding-left:18px}
.brand:before{
  content:"";
  position:absolute;
  left:0;top:3px;bottom:3px;
  width:5px;border-radius:5px;
  background:linear-gradient(180deg,var(--accent-bright),var(--accent-deep));
}
.brand-text strong{font-size:17px;letter-spacing:-.015em}
.brand-text span{margin-top:4px;display:block}
.main-nav>a,.drop-btn{font-size:15px;padding:13px 16px}
.main-nav>a:hover,.drop-btn:hover,
.main-nav>a.active{background:var(--accent-soft);color:var(--accent-deep)}
.main-nav>a.active{box-shadow:inset 0 0 0 1px rgba(178,50,57,.08)}
.actions{align-items:center;gap:9px}
.icon-btn{
  position:relative;
  border-color:#d9dde3;
  background:#fff;
  box-shadow:0 4px 14px rgba(29,49,77,.035);
  transition:transform .2s ease,border-color .2s ease,color .2s ease,background .2s ease;
}
.icon-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-pale);transform:translateY(-1px)}
.a11y-header-btn{
  position:relative;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:0 15px;
  border:1px solid rgba(178,50,57,.22);
  border-radius:12px;
  background:var(--accent-pale);
  color:var(--accent-deep);
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
  transition:.2s ease;
}
.a11y-header-btn:hover{background:var(--accent-soft);border-color:var(--accent);transform:translateY(-1px)}
.a11y-header-btn .a11y-symbol{font-size:15px;letter-spacing:-.06em}

/* Hover/focus explanations */
[data-tooltip]{position:relative}
[data-tooltip]:before,
[data-tooltip]:after{
  position:absolute;
  left:50%;
  z-index:260;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .16s ease,transform .16s ease,visibility .16s ease;
}
[data-tooltip]:before{
  content:attr(data-tooltip);
  top:calc(100% + 13px);
  width:max-content;
  max-width:260px;
  transform:translate(-50%,-4px);
  padding:9px 11px;
  border-radius:10px;
  background:#17283f;
  color:#fff;
  font-size:12px;
  font-weight:600;
  line-height:1.35;
  text-align:center;
  box-shadow:0 12px 28px rgba(23,40,63,.18);
}
[data-tooltip]:after{
  content:"";
  top:calc(100% + 7px);
  transform:translate(-50%,-4px);
  border:6px solid transparent;
  border-bottom-color:#17283f;
}
[data-tooltip]:hover:before,
[data-tooltip]:hover:after,
[data-tooltip]:focus-visible:before,
[data-tooltip]:focus-visible:after{
  opacity:1;visibility:visible;transform:translate(-50%,0)
}

/* ---------- search ---------- */
.search-panel{
  border-top:3px solid var(--accent);
  background:rgba(255,255,255,.98);
  box-shadow:0 26px 52px rgba(29,49,77,.13);
}
.search-inner{padding-top:24px;padding-bottom:28px}
.search-row input{
  background:#fff;
  border-color:#d8dce2;
  box-shadow:0 4px 14px rgba(29,49,77,.035);
}
.search-row input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgba(178,50,57,.12)}
.search-result{
  position:relative;
  overflow:hidden;
  background:#fff;
  box-shadow:0 5px 16px rgba(29,49,77,.045);
}
.search-result:before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent);opacity:.7
}
.search-result:hover{border-color:rgba(178,50,57,.38);background:var(--accent-pale);transform:translateY(-2px)}
.search-result strong{color:var(--primary)}
.search-result span{font-size:13px}

/* ---------- buttons ---------- */
.btn{border-radius:13px;box-shadow:none;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease}
.btn.primary{background:linear-gradient(135deg,var(--accent-bright),var(--accent-deep));box-shadow:0 10px 22px rgba(178,50,57,.18)}
.btn.primary:hover{filter:none;transform:translateY(-2px);box-shadow:0 14px 28px rgba(178,50,57,.25)}
.btn.secondary:hover{border-color:var(--accent);color:var(--accent-deep);transform:translateY(-2px)}

/* ---------- faceted page banners ---------- */
.hero,
.inner-hero,
.article-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  color:#fff;
  border:0;
  background:
    linear-gradient(150deg,rgba(222,67,76,.72) 0 21%,transparent 21% 100%),
    linear-gradient(30deg,rgba(113,25,34,.26) 0 27%,transparent 27% 100%),
    linear-gradient(162deg,transparent 0 58%,rgba(111,24,32,.35) 58% 100%),
    linear-gradient(19deg,transparent 0 62%,rgba(215,59,69,.35) 62% 100%),
    #ad3038;
  box-shadow:inset 0 -1px 0 rgba(255,255,255,.08);
}
.hero:before,
.inner-hero:before,
.article-hero:before{
  content:"";
  position:absolute;
  inset:-10% 38% -25% -8%;
  z-index:-1;
  border:0;
  border-radius:0;
  background:linear-gradient(145deg,rgba(211,61,70,.76),rgba(172,43,51,.2));
  clip-path:polygon(0 0,62% 0,100% 50%,54% 100%,0 100%);
  pointer-events:none;
}
.hero:after,
.inner-hero:after,
.article-hero:after{
  content:"";
  position:absolute;
  inset:-22% -10% -18% 54%;
  z-index:-1;
  width:auto;height:auto;
  border:0;
  border-radius:0;
  background:
    linear-gradient(168deg,rgba(128,28,36,.28) 0 48%,transparent 48%),
    linear-gradient(17deg,transparent 0 43%,rgba(214,59,68,.32) 43% 100%);
  clip-path:polygon(26% 0,100% 0,100% 100%,0 86%,38% 48%);
  pointer-events:none;
}
.hero-grid,
.inner-hero-grid,
.article-hero-inner{position:relative;z-index:2}
.hero-grid{min-height:620px;padding-top:76px;padding-bottom:76px;grid-template-columns:minmax(0,1.08fr) minmax(420px,.72fr);gap:72px}
.hero h1,.inner-hero h1,.article-hero h1{color:#fff;text-shadow:0 2px 18px rgba(89,16,24,.12)}
.hero .lead,.inner-hero .lead,.article-hero .lead{color:rgba(255,255,255,.83)}
.hero .eyebrow,.inner-hero .eyebrow,.article-hero .eyebrow{
  color:#fff;
  background:rgba(255,255,255,.11);
  border-color:rgba(255,255,255,.26);
  backdrop-filter:blur(8px);
}
.breadcrumbs{color:rgba(255,255,255,.68)}
.breadcrumbs a{color:#fff}
.breadcrumbs a:hover{color:#fff;text-decoration:underline}
.regional-sign{
  display:flex;
  align-items:center;
  gap:15px;
  width:max-content;
  max-width:100%;
  margin-bottom:26px;
  color:#fff;
}
.regional-sign__mark{
  width:58px;height:58px;
  flex:0 0 auto;
  display:grid;place-items:center;
  border:2px solid rgba(255,255,255,.88);
  border-radius:14px;
  font-size:17px;
  font-weight:900;
  letter-spacing:.04em;
  box-shadow:inset 0 0 0 5px rgba(255,255,255,.07);
}
.regional-sign__text{display:grid;line-height:1.02}
.regional-sign__text strong{font-size:24px;letter-spacing:.045em}
.regional-sign__text small{margin-top:7px;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.76)}
.hero-mission{
  border-color:rgba(255,255,255,.22);
  background:rgba(255,255,255,.11);
  backdrop-filter:blur(10px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.hero-mission-label{color:#fff}
.hero-mission-text{color:rgba(255,255,255,.86)}
.hero-mission-text strong{color:#fff}
.hero-meta{border-top-color:rgba(255,255,255,.22)}
.hero-meta dt{color:rgba(255,255,255,.65)}
.hero-meta dd{color:#fff}
.hero-photo{
  min-height:490px;
  border:1px solid rgba(255,255,255,.36);
  border-radius:30px;
  background:rgba(255,255,255,.13);
  box-shadow:0 30px 70px rgba(88,18,25,.25);
  transform:rotate(1.2deg);
}
.hero-photo:before{
  content:"";position:absolute;inset:12px;border:1px solid rgba(255,255,255,.4);border-radius:23px;z-index:2;pointer-events:none
}
.hero-photo img{min-height:490px;filter:saturate(.9) contrast(1.02);transform:scale(1.015)}
.hero-photo-caption{
  position:absolute;left:28px;right:28px;bottom:28px;z-index:3;
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:16px 18px;border-radius:16px;
  background:rgba(255,255,255,.92);color:var(--primary);
  box-shadow:0 10px 28px rgba(29,49,77,.12);
}
.hero-photo-caption strong{font-size:15px}
.hero-photo-caption span{font-size:12px;color:var(--muted);text-align:right}

.inner-hero-grid{min-height:520px;padding-top:68px;padding-bottom:68px}
.about-hero-card{
  background:rgba(255,255,255,.94);
  color:var(--text);
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 28px 58px rgba(90,18,25,.2);
  backdrop-filter:blur(14px);
}
.about-hero-card:before{background:linear-gradient(145deg,rgba(178,50,57,.08),transparent 62%);mask-image:none}
.about-hero-card:after{color:rgba(178,50,57,.055)}
.about-hero-kicker{color:var(--accent)}
.about-hero-card p{color:var(--muted)}
.about-hero-date{border-color:rgba(178,50,57,.15);background:var(--accent-pale)}
.about-hero-date strong{color:var(--accent-deep)}
.news-hero-card{
  border-color:rgba(255,255,255,.34);
  box-shadow:0 28px 58px rgba(90,18,25,.22);
  transform:rotate(.7deg);
}
.news-hero-card-content{background:#fff;color:var(--text)}
.news-hero-card-content span{color:var(--accent)}
.article-meta{color:rgba(255,255,255,.74)}
.article-meta .tag{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.25);color:#fff}
.article-hero{padding-top:66px;padding-bottom:58px}

/* ---------- section rhythm and visual depth ---------- */
.section{padding:96px 0}
.section.alt{
  background:
    linear-gradient(180deg,rgba(178,50,57,.018),rgba(29,49,77,.018)),
    #f0efee;
  border-color:rgba(29,49,77,.08);
}
.section-head{position:relative}
.section-head:after{
  content:"";
  display:block;
  width:74px;height:4px;
  margin-top:22px;
  border-radius:6px;
  background:linear-gradient(90deg,var(--accent),var(--accent-bright));
}
.section-head h2{font-size:clamp(34px,3.35vw,50px);letter-spacing:-.035em}
.eyebrow{
  color:var(--accent-deep);
  background:var(--accent-soft);
  border-color:rgba(178,50,57,.16);
}
.cards{gap:24px}
.card{
  position:relative;
  overflow:hidden;
  border-radius:22px;
  padding:31px;
  box-shadow:var(--shadow-soft);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.card:before{
  content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,var(--accent),var(--accent-bright));opacity:.92
}
.card:after{
  content:"";position:absolute;width:150px;height:150px;border-radius:50%;right:-78px;bottom:-86px;background:rgba(178,50,57,.045)
}
.card:hover{border-color:rgba(178,50,57,.25);transform:translateY(-6px);box-shadow:0 24px 50px rgba(32,42,56,.12)}
.icon{background:var(--accent-soft);color:var(--accent-deep);border-radius:15px}
.card-action{color:var(--accent-deep)}

.eligible-table-wrap{border-radius:24px;box-shadow:var(--shadow-soft);overflow:hidden}
.eligible-table-head{background:linear-gradient(135deg,var(--primary),#294868);color:#fff}
.eligible-table-title,.eligible-table-note{color:#fff}
.eligible-row:not(.eligible-row-head){transition:background .18s ease,transform .18s ease}
.eligible-row:not(.eligible-row-head):hover{background:var(--accent-pale)}
.eligible-num{color:var(--accent-deep);font-weight:900}

.topic-grid{gap:16px;border:0;overflow:visible;background:transparent}
.topic{
  position:relative;
  min-height:180px;
  border:1px solid var(--line)!important;
  border-radius:20px;
  padding:28px;
  box-shadow:0 8px 22px rgba(32,42,56,.045);
  transition:.22s ease;
}
.topic:before{content:"";position:absolute;left:28px;top:0;width:42px;height:4px;border-radius:0 0 5px 5px;background:var(--accent)}
.topic:hover{transform:translateY(-4px);border-color:rgba(178,50,57,.24)!important;box-shadow:var(--shadow-soft)}
.topic strong{color:var(--accent-deep);font-size:13px}

.steps{gap:22px}
.step{
  min-height:235px;
  padding:50px 26px 27px;
  border-radius:22px;
  box-shadow:var(--shadow-soft);
  transition:.22s ease;
}
.step:hover{transform:translateY(-5px);border-color:rgba(178,50,57,.25)}
.step-no{
  top:-18px;right:22px;
  min-width:100px;height:38px;
  color:#fff;
  background:linear-gradient(135deg,var(--accent-bright),var(--accent-deep));
  border-color:transparent;
  box-shadow:0 10px 22px rgba(178,50,57,.2);
}
.forms-panel{border-radius:22px;box-shadow:var(--shadow-soft)}
.notice-important{box-shadow:0 18px 40px rgba(126,45,45,.08)}

/* ---------- outreach schedule plate ---------- */
.outreach-section{padding:0 0 96px;background:var(--bg)}
.outreach-card{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) minmax(250px,.42fr);
  gap:30px;
  align-items:center;
  min-height:220px;
  padding:38px 42px;
  border-radius:28px;
  color:#fff;
  background:
    linear-gradient(148deg,rgba(211,61,70,.65) 0 25%,transparent 25%),
    linear-gradient(20deg,transparent 0 63%,rgba(128,27,35,.36) 63%),
    #ad3038;
  box-shadow:0 26px 58px rgba(112,24,32,.18);
}
.outreach-card:after{
  content:"";position:absolute;inset:-50% -15% -30% 62%;z-index:-1;background:rgba(255,255,255,.055);clip-path:polygon(20% 0,100% 15%,100% 100%,0 72%,42% 44%)
}
.outreach-icon{
  width:78px;height:78px;border-radius:22px;
  display:grid;place-items:center;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.25);
  font-size:30px;font-weight:900;
}
.outreach-copy .eyebrow{color:#fff;background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.22)}
.outreach-copy h2{margin-top:13px;font-size:34px;line-height:1.12}
.outreach-copy p{margin:13px 0 0;max-width:760px;color:rgba(255,255,255,.78);font-size:15px;line-height:1.65}
.outreach-status{
  padding:23px;
  border:1px solid rgba(255,255,255,.23);
  border-radius:20px;
  background:rgba(255,255,255,.1);
  backdrop-filter:blur(8px);
}
.outreach-status span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.67)}
.outreach-status strong{display:block;margin-top:7px;font-size:20px}
.outreach-status a{display:inline-flex;margin-top:15px;font-size:13px;font-weight:800;text-decoration:underline;text-underline-offset:4px}

/* ---------- contacts and map ---------- */
.contact-grid{gap:26px}
.contact-card{
  position:relative;
  overflow:hidden;
  border-radius:24px;
  padding:34px;
  box-shadow:var(--shadow-soft);
}
.contact-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(180deg,var(--accent-bright),var(--accent-deep))}
.contact-card h3{font-size:28px}
.contact-row{padding-bottom:18px;border-bottom:1px solid var(--line)}
.contact-row:last-child{padding-bottom:0;border-bottom:0}
.contact-row small{color:var(--accent-deep);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:10px}
.map{border-radius:24px;box-shadow:var(--shadow-soft)}
.map iframe{filter:saturate(.85) contrast(.98)}
.custom-map-pin{display:none!important}
.map-badge{border-radius:17px;border-color:rgba(178,50,57,.18);box-shadow:0 12px 30px rgba(29,49,77,.12)}
.map-badge a{color:var(--accent-deep)}

/* ---------- gallery and news ---------- */
.gallery-shell{margin-top:46px}
.gallery-slide{box-shadow:0 26px 58px rgba(29,49,77,.14)}
.gallery-arrow,.news-arrow{border-color:#d9dde3;box-shadow:0 5px 14px rgba(29,49,77,.045)}
.gallery-arrow:hover,.news-arrow:hover:not(:disabled){border-color:var(--accent);color:var(--accent-deep);background:var(--accent-pale)}
.news,
.news-preview,
.news-hero-card,
.article-cover,
.article-body,
.article-aside{border-radius:22px;box-shadow:var(--shadow-soft)}
.news{transition:.22s ease;overflow:hidden}
.news:hover{transform:translateY(-5px);border-color:rgba(178,50,57,.24);box-shadow:var(--shadow)}
.news-meta .tag,.tag{background:var(--accent-soft);border-color:rgba(178,50,57,.14);color:var(--accent-deep)}
.news-all-link,.news-preview__link,.article-back{color:var(--accent-deep)}
.news-list-summary{border-bottom:3px solid var(--accent-soft)}
.article-aside{border-top:5px solid var(--accent)}
.article-body p:first-child:first-letter{color:var(--accent-deep)}

/* ---------- quick access ---------- */
.quick-menu{
  border-color:rgba(178,50,57,.16);
  border-top:4px solid var(--accent);
  box-shadow:0 30px 68px rgba(29,49,77,.18);
}
.quick-menu-title{color:var(--primary)}
.quick-menu-title:before{content:"";display:inline-block;width:9px;height:9px;margin-right:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px var(--accent-soft)}
.quick-menu-description{display:block;margin:8px 0 0 20px;color:var(--muted);font-size:12px;font-weight:500;line-height:1.45}
.menu-v2 .step-dot{background:var(--accent);color:#fff}
.menu-v2 .cta-card{background:linear-gradient(145deg,var(--accent-pale),#fff);border-color:rgba(178,50,57,.18)}
.menu-v2 .cta-btn{color:var(--accent-deep)}
.menu-document-link{
  margin-top:10px;
  display:flex;align-items:center;justify-content:space-between;gap:15px;
  padding:12px 13px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  color:var(--primary);
  font-size:12px;font-weight:800;
}
.menu-document-link:hover{border-color:rgba(178,50,57,.35);background:var(--accent-pale);color:var(--accent-deep)}
.menu-info-card{background:linear-gradient(145deg,var(--primary),#294868)!important}

/* ---------- footer ---------- */
footer{
  background:#17283f;
  color:#fff;
  border-top:0;
  padding-top:64px;
}
.footer-intro strong{color:#fff}
.footer-intro p{color:rgba(255,255,255,.58)}
.footer-cols h3{color:#fff}
.footer-cols a{color:rgba(255,255,255,.62)}
.footer-cols a:hover{color:#fff}
.legal{border-top-color:rgba(255,255,255,.13);color:rgba(255,255,255,.54)}
.legal-links a,.legal-links span{color:rgba(255,255,255,.68)}
.legal-links a:hover{color:#fff}
.footer-copy{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding-top:4px;
  color:rgba(255,255,255,.58);
  font-size:12px;
  line-height:1.5;
}
.footer-copy a{color:#fff;font-weight:800}
.footer-copy a:hover{color:#f5c7ca}

/* ---------- accessible mode ---------- */
body.a11y{
  --bg:#fff;
  --surface:#fff;
  --card:#fff;
  --text:#000;
  --muted:#111;
  --line:#000;
  --primary:#000;
  --accent:#000;
  --accent-deep:#000;
  --accent-bright:#000;
  --accent-soft:#fff4a3;
  --accent-pale:#fffbd2;
  font-size:125%;
  background:#fff!important;
}
body.a11y *,body.a11y *:before,body.a11y *:after{animation:none!important;transition:none!important;text-shadow:none!important;box-shadow:none!important}
body.a11y .topbar{background:#000;color:#fff}
body.a11y .hero,
body.a11y .inner-hero,
body.a11y .article-hero,
body.a11y .outreach-card,
body.a11y footer{background:#000!important;color:#fff}
body.a11y .hero:before,body.a11y .hero:after,
body.a11y .inner-hero:before,body.a11y .inner-hero:after,
body.a11y .article-hero:before,body.a11y .article-hero:after{display:none}
body.a11y .hero .lead,body.a11y .inner-hero .lead,body.a11y .article-hero .lead{color:#fff}
body.a11y .about-hero-card,body.a11y .news-hero-card{border:3px solid #fff}
body.a11y a{text-decoration:underline;text-underline-offset:3px}
body.a11y .a11y-header-btn{background:#fff4a3;color:#000;border:3px solid #000}
body.a11y img{filter:grayscale(1) contrast(1.08)}

/* ---------- responsive ---------- */
@media(max-width:1180px){
  .a11y-header-btn .a11y-label{display:none}
  .a11y-header-btn{width:44px;padding:0;justify-content:center}
  .hero-grid{grid-template-columns:minmax(0,1fr) minmax(360px,.72fr);gap:42px}
  .outreach-card{grid-template-columns:auto minmax(0,1fr)}
  .outreach-status{grid-column:2}
}
@media(max-width:1100px){
  .hero-grid{min-height:auto;grid-template-columns:1fr;padding-top:68px;padding-bottom:68px}
  .hero-photo{display:block;min-height:430px;width:min(100%,760px);margin:0 auto;transform:none}
  .hero-photo img{min-height:430px}
  .inner-hero-grid{grid-template-columns:1fr;gap:40px}
  .about-hero-card,.news-hero-card{max-width:760px;transform:none}
}
@media(max-width:900px){
  .topbar .container{height:auto;min-height:42px;padding-top:7px;padding-bottom:7px}
  .topbar-right span{display:none}
  .regional-sign__text strong{font-size:20px}
  .regional-sign__mark{width:50px;height:50px}
  .outreach-card{grid-template-columns:1fr;padding:32px}
  .outreach-icon{width:64px;height:64px}
  .outreach-status{grid-column:auto}
  .footer-copy{align-items:flex-start;flex-direction:column}
}
@media(max-width:760px){
  .nav-wrap{height:72px}
  .a11y-header-btn{width:42px;min-height:42px}
  .actions{gap:6px;margin-left:auto}
  .icon-btn{width:42px;height:42px}
  [data-tooltip]:before,[data-tooltip]:after{display:none}
  .hero-grid,.inner-hero-grid{padding-top:48px;padding-bottom:52px}
  .hero h1,.inner-hero h1{font-size:clamp(38px,12vw,52px)}
  .regional-sign{margin-bottom:20px;gap:12px}
  .regional-sign__mark{width:46px;height:46px;border-radius:12px;font-size:14px}
  .regional-sign__text strong{font-size:17px;letter-spacing:.025em}
  .regional-sign__text small{font-size:9px;letter-spacing:.09em}
  .hero-mission{padding:18px}
  .hero-photo{min-height:340px;border-radius:22px}
  .hero-photo img{min-height:340px}
  .hero-photo-caption{left:16px;right:16px;bottom:16px;padding:13px 14px;display:block}
  .hero-photo-caption span{display:block;margin-top:4px;text-align:left}
  .section{padding:72px 0}
  .section-head h2{font-size:34px}
  .section-head:after{margin-top:18px;width:58px}
  .outreach-section{padding-bottom:72px}
  .outreach-card{padding:26px 22px;border-radius:22px}
  .outreach-copy h2{font-size:28px}
  .topic{min-height:0}
  .contact-card{padding:28px 24px}
  .map-badge{left:12px;right:12px;bottom:12px;max-width:none}
  .footer-copy{font-size:11px}
}
@media(max-width:520px){
  .topbar .container>span{display:none}
  .topbar .container{justify-content:flex-end}
  .brand{padding-left:13px}
  .brand:before{width:4px}
  .brand-text strong{font-size:13px}
  .brand-text span{font-size:11px}
  .regional-sign__text small{display:none}
  .hero-photo{min-height:300px}
  .hero-photo img{min-height:300px}
  .a11y-header-btn{display:none}
}

/* Final stability and mobile access pass */
.news-carousel{overflow:hidden}
.news-track{max-width:100%}
@media(max-width:520px){
  .a11y-header-btn{display:inline-flex}
  .actions #searchBtn{display:none}
}

/* Keep header explanations inside the viewport */
.actions [data-tooltip]:before{
  left:auto;
  right:0;
  transform:translateY(-4px);
}
.actions [data-tooltip]:after{
  left:auto;
  right:15px;
  transform:translateY(-4px);
}
.actions [data-tooltip]:hover:before,
.actions [data-tooltip]:hover:after,
.actions [data-tooltip]:focus-visible:before,
.actions [data-tooltip]:focus-visible:after{
  transform:translateY(0);
}

/* Quick-access card contrast and clean opened state */
.menu-v2 .cta-card small{color:var(--muted)!important}
.menu-v2 .cta-card strong{color:var(--primary)!important}
body.menu-open .actions [data-tooltip]:before,
body.menu-open .actions [data-tooltip]:after{display:none}
header:has(.search-panel.open) .actions [data-tooltip]:before,
header:has(.search-panel.open) .actions [data-tooltip]:after{display:none}


/* ---------- compact page banners: red as a restrained underlay ---------- */
.hero-main,
.news-page-hero{
  position:relative;
  background:var(--bg);
  color:var(--text);
  box-shadow:none;
  overflow:hidden;
}
.hero-main:before,
.news-page-hero:before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  z-index:0;
  width:100%;
  height:312px;
  border:0;
  border-radius:0;
  clip-path:none;
  background:
    linear-gradient(150deg,rgba(222,67,76,.68) 0 19%,transparent 19% 100%),
    linear-gradient(30deg,rgba(113,25,34,.23) 0 25%,transparent 25% 100%),
    linear-gradient(165deg,transparent 0 59%,rgba(111,24,32,.30) 59% 100%),
    linear-gradient(18deg,transparent 0 63%,rgba(215,59,69,.28) 63% 100%),
    #ad3038;
  pointer-events:none;
}
.hero-main:after,
.news-page-hero:after{
  content:"";
  position:absolute;
  inset:0 0 auto;
  z-index:0;
  width:100%;
  height:312px;
  border:0;
  border-radius:0;
  clip-path:none;
  background:
    linear-gradient(145deg,rgba(210,62,71,.34) 0 34%,transparent 34% 100%),
    linear-gradient(16deg,transparent 0 66%,rgba(121,27,35,.22) 66% 100%);
  pointer-events:none;
}
.hero-main .hero-grid,
.news-page-hero .inner-hero-grid{
  position:relative;
  z-index:1;
}
.hero-main .hero-grid{
  min-height:470px;
  padding-top:44px;
  padding-bottom:54px;
  grid-template-columns:minmax(0,1.08fr) minmax(390px,.72fr);
  gap:56px;
  align-items:start;
}
.hero-main .hero-copy{min-width:0}
.hero-main h1{
  max-width:760px;
  margin-top:18px;
  color:#fff;
  font-size:clamp(48px,4.35vw,66px);
  line-height:1.03;
  letter-spacing:-.045em;
  text-shadow:0 2px 16px rgba(89,16,24,.10);
}
.hero-main .lead{
  max-width:720px;
  margin-top:20px;
  color:rgba(255,255,255,.84);
  font-size:17px;
  line-height:1.6;
}
.hero-main .eyebrow{
  color:#fff;
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.25);
  backdrop-filter:blur(7px);
}
.hero-main .hero-mission{
  max-width:720px;
  margin-top:38px;
  padding:22px 24px;
  border:1px solid rgba(29,49,77,.10);
  background:#fff;
  color:var(--text);
  box-shadow:0 18px 42px rgba(29,49,77,.10);
  backdrop-filter:none;
}
.hero-main .hero-mission-label{color:var(--accent-deep)}
.hero-main .hero-mission-text{color:var(--muted)}
.hero-main .hero-mission-text strong{color:var(--primary)}
.hero-main .hero-photo{
  width:100%;
  min-height:386px;
  height:386px;
  margin-top:12px;
  border:1px solid rgba(29,49,77,.12);
  border-radius:26px;
  background:#fff;
  box-shadow:0 24px 58px rgba(29,49,77,.16);
  transform:none;
}
.hero-main .hero-photo:before{
  inset:10px;
  border-color:rgba(255,255,255,.48);
  border-radius:19px;
}
.hero-main .hero-photo img{
  min-height:386px;
  height:386px;
  transform:none;
  filter:saturate(.92) contrast(1.02);
}
.hero-main .hero-photo-caption{left:22px;right:22px;bottom:22px}

/* About page: concise banner, details live only in the content section below. */
.about-page-hero{
  min-height:0;
  box-shadow:none;
}
.about-page-hero .inner-hero-grid{
  min-height:0;
  max-width:1180px;
  grid-template-columns:minmax(0,920px);
  gap:0;
  padding-top:42px;
  padding-bottom:48px;
}
.about-page-hero h1{
  margin-top:16px;
  font-size:clamp(46px,4.6vw,64px);
  line-height:1.02;
}
.about-page-hero .lead{
  max-width:900px;
  margin-top:18px;
  font-size:17px;
  line-height:1.55;
}

/* News archive: short red band with the latest story overlapping the light page. */
.news-page-hero:before,
.news-page-hero:after{height:272px}
.news-page-hero .inner-hero-grid{
  min-height:418px;
  padding-top:40px;
  padding-bottom:52px;
  grid-template-columns:minmax(0,1fr) minmax(380px,.66fr);
  gap:48px;
  align-items:start;
}
.news-page-hero h1{
  margin-top:16px;
  color:#fff;
  font-size:clamp(46px,4.4vw,62px);
  line-height:1.03;
}
.news-page-hero .lead{max-width:700px;color:rgba(255,255,255,.84)}
.news-page-hero .eyebrow{
  color:#fff;
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.25);
}
.news-page-hero .breadcrumbs{color:rgba(255,255,255,.7)}
.news-page-hero .breadcrumbs a{color:#fff}
.news-page-hero .news-hero-card{
  min-height:330px;
  margin-top:4px;
  border:1px solid rgba(29,49,77,.12);
  box-shadow:0 22px 52px rgba(29,49,77,.15);
  transform:none;
}
.news-page-hero .news-hero-card img{height:218px}

/* Article page: compact red editorial banner. */
.article-page-hero{padding:0}
.article-page-hero .article-hero-inner{
  min-height:0;
  max-width:1120px;
  padding-top:38px;
  padding-bottom:44px;
}
.article-page-hero h1{
  max-width:1080px;
  margin-top:18px;
  font-size:clamp(42px,4.2vw,58px);
  line-height:1.04;
}
.article-page-hero .lead{margin-top:17px}

@media(max-width:1180px){
  .hero-main .hero-grid{grid-template-columns:minmax(0,1fr) minmax(350px,.68fr);gap:38px}
  .news-page-hero .inner-hero-grid{grid-template-columns:minmax(0,1fr) minmax(340px,.62fr);gap:36px}
}
@media(max-width:1100px){
  .hero-main:before,.hero-main:after{height:346px}
  .hero-main .hero-grid{
    min-height:0;
    grid-template-columns:1fr;
    gap:30px;
    padding-top:42px;
    padding-bottom:58px;
  }
  .hero-main .hero-mission{margin-top:30px}
  .hero-main .hero-photo{width:min(100%,780px);height:390px;min-height:390px;margin:0 auto}
  .hero-main .hero-photo img{height:390px;min-height:390px}
  .news-page-hero:before,.news-page-hero:after{height:300px}
  .news-page-hero .inner-hero-grid{
    min-height:0;
    grid-template-columns:1fr;
    gap:30px;
    padding-top:40px;
    padding-bottom:54px;
  }
  .news-page-hero .news-hero-card{width:min(100%,760px);margin:0;min-height:0}
}
@media(max-width:760px){
  .hero-main:before,.hero-main:after{height:360px}
  .hero-main .hero-grid{padding-top:34px;padding-bottom:48px;gap:24px}
  .hero-main h1{font-size:clamp(38px,11.2vw,50px);margin-top:14px}
  .hero-main .lead{font-size:16px;margin-top:16px}
  .hero-main .hero-mission{margin-top:24px;padding:19px 18px;border-radius:18px}
  .hero-main .hero-photo,.hero-main .hero-photo img{height:310px;min-height:310px}
  .hero-main .hero-photo{border-radius:21px}
  .about-page-hero .inner-hero-grid{padding-top:32px;padding-bottom:38px}
  .about-page-hero h1{font-size:42px;margin-top:12px}
  .about-page-hero .lead{font-size:16px;margin-top:15px}
  .news-page-hero:before,.news-page-hero:after{height:296px}
  .news-page-hero .inner-hero-grid{padding-top:32px;padding-bottom:46px;gap:24px}
  .news-page-hero h1{font-size:42px;margin-top:12px}
  .news-page-hero .lead{font-size:16px;margin-top:15px}
  .news-page-hero .news-hero-card img{height:210px}
  .article-page-hero .article-hero-inner{padding-top:31px;padding-bottom:36px}
  .article-page-hero h1{font-size:38px;margin-top:14px}
}
@media(max-width:520px){
  .hero-main:before,.hero-main:after{height:382px}
  .hero-main .hero-photo,.hero-main .hero-photo img{height:280px;min-height:280px}
  .hero-main .hero-photo-caption{left:14px;right:14px;bottom:14px;padding:12px 13px}
  .hero-main .hero-mission-label{margin-bottom:7px}
  .news-page-hero:before,.news-page-hero:after{height:315px}
  .news-page-hero .news-hero-card img{height:190px}
  .article-page-hero h1{font-size:34px}
}

/* Rendering-safe faceted bands: the color sits only in the intro area. */
.hero-main{
  --hero-band:312px;
  background:
    linear-gradient(150deg,rgba(222,67,76,.62) 0 19%,transparent 19% 100%) 0 0/100% var(--hero-band) no-repeat,
    linear-gradient(30deg,rgba(113,25,34,.22) 0 25%,transparent 25% 100%) 0 0/100% var(--hero-band) no-repeat,
    linear-gradient(165deg,transparent 0 59%,rgba(111,24,32,.28) 59% 100%) 0 0/100% var(--hero-band) no-repeat,
    linear-gradient(18deg,transparent 0 63%,rgba(215,59,69,.26) 63% 100%) 0 0/100% var(--hero-band) no-repeat,
    linear-gradient(to bottom,#ad3038 0 var(--hero-band),var(--bg) var(--hero-band) 100%);
}
.news-page-hero{
  --hero-band:272px;
  background:
    linear-gradient(150deg,rgba(222,67,76,.62) 0 19%,transparent 19% 100%) 0 0/100% var(--hero-band) no-repeat,
    linear-gradient(30deg,rgba(113,25,34,.22) 0 25%,transparent 25% 100%) 0 0/100% var(--hero-band) no-repeat,
    linear-gradient(165deg,transparent 0 59%,rgba(111,24,32,.28) 59% 100%) 0 0/100% var(--hero-band) no-repeat,
    linear-gradient(18deg,transparent 0 63%,rgba(215,59,69,.26) 63% 100%) 0 0/100% var(--hero-band) no-repeat,
    linear-gradient(to bottom,#ad3038 0 var(--hero-band),var(--bg) var(--hero-band) 100%);
}
.hero-main:before,.hero-main:after,
.news-page-hero:before,.news-page-hero:after{display:none}
.about-page-hero,
.article-page-hero{
  background:
    linear-gradient(150deg,rgba(222,67,76,.62) 0 19%,transparent 19% 100%),
    linear-gradient(30deg,rgba(113,25,34,.22) 0 25%,transparent 25% 100%),
    linear-gradient(165deg,transparent 0 59%,rgba(111,24,32,.28) 59% 100%),
    linear-gradient(18deg,transparent 0 63%,rgba(215,59,69,.26) 63% 100%),
    #ad3038;
}
.about-page-hero:before,.about-page-hero:after,
.article-page-hero:before,.article-page-hero:after{display:none}
@media(max-width:1100px){
  .hero-main{--hero-band:346px}
  .news-page-hero{--hero-band:300px}
}
@media(max-width:760px){
  .hero-main{--hero-band:360px}
  .news-page-hero{--hero-band:296px}
}
@media(max-width:520px){
  .hero-main{--hero-band:382px}
  .news-page-hero{--hero-band:315px}
}

/* Final size balance after client review. */
.hero-main{--hero-band:292px}
.hero-main .hero-grid{
  min-height:0;
  padding-bottom:42px;
  grid-template-columns:minmax(0,1.12fr) minmax(370px,.68fr);
  gap:48px;
}
.hero-main h1{
  font-size:clamp(46px,3.9vw,56px);
  line-height:1.045;
}
.hero-main .lead{
  color:var(--muted);
  margin-top:18px;
}
.hero-main .hero-mission{
  margin-top:26px;
  padding:18px 22px;
}
.hero-main .hero-photo,
.hero-main .hero-photo img{
  min-height:360px;
  height:360px;
}
.news-page-hero .lead{color:var(--muted)}
.news-page-hero .inner-hero-grid{min-height:380px;padding-bottom:38px}
@media(max-width:1100px){
  .hero-main{--hero-band:312px}
  .hero-main .hero-grid{padding-bottom:48px}
  .hero-main .hero-photo,.hero-main .hero-photo img{height:340px;min-height:340px}
  .news-page-hero{--hero-band:340px}
  .news-page-hero .lead{color:rgba(255,255,255,.84)}
}
@media(max-width:760px){
  .hero-main{--hero-band:285px}
  .hero-main h1{font-size:40px;line-height:1.04}
  .hero-main .lead{margin-top:18px;color:var(--muted)}
  .hero-main .hero-mission{display:none}
  .hero-main .hero-photo,.hero-main .hero-photo img{height:245px;min-height:245px}
  .hero-main .hero-grid{gap:22px;padding-bottom:36px}
  .news-page-hero{--hero-band:350px}
  .news-page-hero .lead{color:rgba(255,255,255,.84)}
}
@media(max-width:520px){
  .hero-main{--hero-band:285px}
  .hero-main h1{font-size:40px}
  .hero-main .hero-photo,.hero-main .hero-photo img{height:235px;min-height:235px}
  .news-page-hero{--hero-band:350px}
}

@media(max-width:1100px){
  .hero-main .hero-grid,
  .news-page-hero .inner-hero-grid{grid-template-columns:1fr}
}

@media (min-width:761px) and (max-width:1100px){
  .hero-main{--hero-band:215px}
  .hero-main .hero-mission{display:none}
  .hero-main .hero-photo,
  .hero-main .hero-photo img{height:300px;min-height:300px}
  .news-page-hero .news-hero-card{max-width:760px}
  .news-page-hero .news-hero-card img{height:180px}
}

/* =========================================================
   WHITE CANVAS REFINEMENT — client review 2026-09
   White site background, softer transitions and blue labels.
   ========================================================= */
:root{
  --bg:#ffffff;
  --surface:#ffffff;
  --page-white:#ffffff;
  --section-label:#2f88ae;
  --section-label-deep:#247695;
}

html,body{background:#fff}
body{
  background:#fff;
}
main{background:#fff}

/* A soft fade replaces the hard edge below all red page intros. */
.hero-main,
.news-page-hero,
.about-page-hero,
.article-page-hero{
  background:#fff;
  overflow:hidden;
}
.hero-main::before,
.news-page-hero::before,
.about-page-hero::before,
.article-page-hero::before{
  content:"";
  display:block;
  position:absolute;
  inset:0 0 auto 0;
  z-index:0;
  width:100%;
  height:calc(var(--hero-band, 310px) + 105px);
  border:0;
  border-radius:0;
  clip-path:none;
  background:
    linear-gradient(150deg,rgba(222,67,76,.62) 0 19%,transparent 19% 100%),
    linear-gradient(30deg,rgba(113,25,34,.22) 0 25%,transparent 25% 100%),
    linear-gradient(165deg,transparent 0 59%,rgba(111,24,32,.28) 59% 100%),
    linear-gradient(18deg,transparent 0 63%,rgba(215,59,69,.26) 63% 100%),
    #ad3038;
  -webkit-mask-image:linear-gradient(to bottom,#000 0 calc(100% - 105px),rgba(0,0,0,.8) calc(100% - 68px),transparent 100%);
  mask-image:linear-gradient(to bottom,#000 0 calc(100% - 105px),rgba(0,0,0,.8) calc(100% - 68px),transparent 100%);
  pointer-events:none;
}
.hero-main::after,
.news-page-hero::after,
.about-page-hero::after,
.article-page-hero::after{display:none!important}
.hero-main .hero-grid,
.news-page-hero .inner-hero-grid,
.about-page-hero .inner-hero-grid,
.article-page-hero .article-hero-inner{position:relative;z-index:1}

/* Main hero: longer heading without increasing the first screen. */
.hero-main h1{
  max-width:830px;
  margin-top:0;
  font-size:clamp(42px,3.55vw,54px);
  line-height:1.055;
  letter-spacing:-.042em;
}
.hero-main .lead{max-width:760px}
.hero-main .hero-photo-caption{display:none!important}

/* The inner About banner follows the same container grid as the header/content. */
.about-page-hero .inner-hero-grid{
  width:100%;
  max-width:var(--container)!important;
  margin-left:auto;
  margin-right:auto;
  grid-template-columns:minmax(0,920px);
}

/* White page sections with subtle, shadow-like transitions — no grey slabs. */
.section,
.section.alt{
  position:relative;
  background:#fff!important;
  border-top:0!important;
  border-bottom:0!important;
}
.section + .section{
  box-shadow:inset 0 30px 42px -54px rgba(29,49,77,.26);
}
.section-head::after{display:none!important}

/* Blue labels above section headings. Hero labels remain light on the red intro. */
.section .eyebrow,
.feedback-modal .eyebrow{
  color:#fff!important;
  background:linear-gradient(135deg,var(--section-label),var(--section-label-deep))!important;
  border-color:transparent!important;
  box-shadow:0 8px 18px rgba(47,136,174,.16);
}
.section .eyebrow{letter-spacing:.01em}

/* News: no grey backing, three cards in one desktop row, refined shadows. */
#news{
  background:#fff!important;
}
.news-carousel{
  background:transparent!important;
  overflow:visible;
}
.news-track{
  align-items:stretch;
  padding:8px 5px 26px;
  background:transparent!important;
}
.news-track .news{
  flex:0 0 calc((100% - 40px)/3);
  display:flex;
  border-color:rgba(29,49,77,.10);
  box-shadow:0 14px 34px rgba(29,49,77,.09);
}
.news-track .news:hover{
  box-shadow:0 22px 44px rgba(29,49,77,.13);
}
.news-track .news h3{
  font-size:20px;
  line-height:1.28;
}
.news-archive-grid .news,
.related-news-grid .news{
  box-shadow:0 14px 34px rgba(29,49,77,.085);
}
.news-archive-grid .news:hover,
.related-news-grid .news:hover{
  box-shadow:0 22px 44px rgba(29,49,77,.13);
}
.news-controls[hidden]{display:none!important}

/* A smooth transition into the dark footer replaces the hard horizontal cut. */
footer{
  position:relative;
  isolation:isolate;
  margin-top:72px;
}
footer::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-72px;
  height:73px;
  z-index:-1;
  background:linear-gradient(to bottom,rgba(23,40,63,0),rgba(23,40,63,.38) 52%,#17283f 100%);
  pointer-events:none;
}
footer>.container{position:relative;z-index:1}

@media(max-width:1100px){
  .news-track .news{flex-basis:calc((100% - 20px)/2)}
  .hero-main h1{font-size:clamp(40px,6vw,52px)}
}
@media(max-width:760px){
  .hero-main h1{font-size:36px;line-height:1.08}
  .news-track .news{flex-basis:92%}
  footer{margin-top:54px}
  footer::before{top:-54px;height:55px}
}

body.a11y .section .eyebrow,
body.a11y .feedback-modal .eyebrow{
  background:#000!important;
  color:#fff!important;
  border:2px solid #000!important;
  box-shadow:none!important;
}
body.a11y footer::before{display:none}


/* Final transition polish after visual QA. */
.hero-main .lead{color:rgba(255,255,255,.86)!important}

.hero-main::after,
.news-page-hero::after{
  content:"";
  display:block!important;
  position:absolute;
  left:0;
  right:0;
  top:calc(var(--hero-band, 310px) - 92px);
  z-index:0;
  width:100%;
  height:132px;
  background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,.36) 45%,#fff 100%);
  pointer-events:none;
}
.about-page-hero::after,
.article-page-hero::after{
  content:"";
  display:block!important;
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:0;
  width:100%;
  height:82px;
  background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,.42) 48%,#fff 100%);
  pointer-events:none;
}

main .eyebrow,
.feedback-modal .eyebrow{
  color:#fff!important;
  background:linear-gradient(135deg,var(--section-label),var(--section-label-deep))!important;
  border-color:transparent!important;
  box-shadow:0 8px 18px rgba(47,136,174,.16);
  backdrop-filter:none!important;
}

footer{margin-top:0!important;z-index:1}
footer::before{
  top:-64px;
  height:65px;
  z-index:0;
  background:linear-gradient(to bottom,rgba(23,40,63,0),rgba(23,40,63,.38) 46%,#17283f 100%);
}
footer>.container{position:relative;z-index:1}

@media(max-width:760px){
  footer{margin-top:0!important}
  footer::before{top:-44px;height:45px}
  .hero-main .lead{color:rgba(255,255,255,.88)!important}
}

/* Use real layered backgrounds where a compact banner ends at the section edge. */
.about-page-hero{
  background:
    linear-gradient(to bottom,rgba(255,255,255,0) 0 80%,rgba(255,255,255,.42) 91%,#fff 100%),
    linear-gradient(150deg,rgba(222,67,76,.62) 0 19%,transparent 19% 100%),
    linear-gradient(30deg,rgba(113,25,34,.22) 0 25%,transparent 25% 100%),
    linear-gradient(165deg,transparent 0 59%,rgba(111,24,32,.28) 59% 100%),
    linear-gradient(18deg,transparent 0 63%,rgba(215,59,69,.26) 63% 100%),
    #ad3038!important;
}
.about-page-hero::before,
.about-page-hero::after{display:none!important}

/* Blend the CTA color into the darker footer without an extra gap or stripe. */
footer{
  background:linear-gradient(to bottom,var(--primary) 0,#17283f 92px,#17283f 100%)!important;
}
footer::before{display:none!important}

/* Keep the news intro copy on the red field before the fade begins. */
.news-page-hero .lead{color:rgba(255,255,255,.86)!important}
@media(min-width:1101px){
  .news-page-hero{--hero-band:330px}
  .news-page-hero::after{top:calc(var(--hero-band) - 50px);height:118px}
}

/* On single-column hero layouts the description sits on the light side of the fade. */
@media(max-width:1100px){
  .hero-main .lead{color:var(--muted)!important}
}

/* The archive heading no longer uses a divider line. */
.news-list-summary{border-bottom:0!important;padding-bottom:0!important}

/* =========================================================
   OFFICIAL DEEP-BLUE PASS — client review 2026-09
   Flat institutional palette, no gradient transitions after banners.
   ========================================================= */
:root{
  --bg:#ffffff;
  --surface:#f6f8fa;
  --card:#ffffff;
  --text:#17283b;
  --muted:#607185;
  --line:#d9e2ea;
  --primary:#0d2b47;
  --primary-deep:#081f35;
  --primary-mid:#143b5d;
  --accent:#1d5d88;
  --accent-deep:#15476b;
  --accent-bright:#2b739e;
  --accent-soft:#e8f1f7;
  --accent-pale:#f5f9fc;
  --sky:#2b739e;
  --section-label:#1d5d88;
  --section-label-deep:#1d5d88;
  --shadow:0 18px 42px rgba(13,43,71,.11);
  --shadow-soft:0 9px 24px rgba(13,43,71,.075);
  --radius:16px;
}

html,body,main{
  background:#fff!important;
}
body{
  background-image:none!important;
  color:var(--text);
}
::selection{background:rgba(29,93,136,.18);color:var(--text)}

/* Header: restrained, flat and official. */
.topbar{
  background:var(--primary-deep)!important;
  background-image:none!important;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.site-header{
  background:#fff!important;
  border-bottom:1px solid var(--line);
  box-shadow:0 5px 18px rgba(13,43,71,.055);
}
.brand:before{
  background:var(--accent)!important;
  background-image:none!important;
}
.main-nav>a:hover,
.drop-btn:hover,
.main-nav>a.active{
  color:var(--primary)!important;
  background:var(--accent-soft)!important;
  box-shadow:none!important;
}
.icon-btn:hover{
  color:var(--accent-deep)!important;
  border-color:var(--accent)!important;
  background:var(--accent-pale)!important;
}
.a11y-header-btn{
  color:var(--primary)!important;
  background:#fff!important;
  border-color:#bfd0dd!important;
  box-shadow:none!important;
}
.a11y-header-btn:hover{
  color:#fff!important;
  background:var(--accent)!important;
  border-color:var(--accent)!important;
}

/* Flat buttons and controls. */
.btn,
.gallery-arrow,
.news-arrow,
.icon-btn,
.a11y-header-btn{
  border-radius:10px;
}
.btn.primary{
  color:#fff!important;
  background:var(--accent)!important;
  background-image:none!important;
  border-color:var(--accent)!important;
  box-shadow:none!important;
}
.btn.primary:hover{
  background:var(--accent-deep)!important;
  border-color:var(--accent-deep)!important;
  box-shadow:0 8px 18px rgba(13,43,71,.14)!important;
}
.btn.secondary:hover{
  color:var(--accent-deep)!important;
  border-color:var(--accent)!important;
  background:var(--accent-pale)!important;
}
.search-panel{border-top-color:var(--accent)!important}
.search-row input:focus{
  border-color:var(--accent)!important;
  box-shadow:0 0 0 4px rgba(29,93,136,.13)!important;
}
.search-result:before{background:var(--accent)!important}
.search-result:hover{
  border-color:rgba(29,93,136,.34)!important;
  background:var(--accent-pale)!important;
}

/* Page banners: a solid deep-blue field with restrained flat facets.
   There is intentionally no gradient or fade after the banner. */
.hero,
.inner-hero,
.article-hero,
.hero-main,
.news-page-hero,
.about-page-hero,
.article-page-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  color:#fff!important;
  background:var(--primary-mid)!important;
  background-image:none!important;
  border:0!important;
  border-bottom:1px solid rgba(8,31,53,.28)!important;
  box-shadow:none!important;
}
.hero::before,
.inner-hero::before,
.article-hero::before,
.hero-main::before,
.news-page-hero::before,
.about-page-hero::before,
.article-page-hero::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0 auto 0 0!important;
  z-index:0!important;
  width:58%!important;
  height:100%!important;
  border:0!important;
  border-radius:0!important;
  background:rgba(255,255,255,.035)!important;
  background-image:none!important;
  clip-path:polygon(0 0,62% 0,100% 50%,66% 100%,0 100%)!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
  pointer-events:none!important;
}
.hero::after,
.inner-hero::after,
.article-hero::after,
.hero-main::after,
.news-page-hero::after,
.about-page-hero::after,
.article-page-hero::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0 0 0 auto!important;
  z-index:0!important;
  width:54%!important;
  height:100%!important;
  border:0!important;
  border-radius:0!important;
  background:rgba(7,29,49,.14)!important;
  background-image:none!important;
  clip-path:polygon(38% 0,100% 0,100% 100%,0 82%,42% 49%)!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
  pointer-events:none!important;
}
.hero-grid,
.inner-hero-grid,
.article-hero-inner,
.hero-main .hero-grid,
.news-page-hero .inner-hero-grid,
.about-page-hero .inner-hero-grid,
.article-page-hero .article-hero-inner{
  position:relative!important;
  z-index:1!important;
}
.hero h1,
.inner-hero h1,
.article-hero h1,
.hero-main h1,
.news-page-hero h1,
.about-page-hero h1,
.article-page-hero h1{
  color:#fff!important;
  text-shadow:none!important;
}
.hero .lead,
.inner-hero .lead,
.article-hero .lead,
.hero-main .lead,
.news-page-hero .lead,
.about-page-hero .lead,
.article-page-hero .lead{
  color:rgba(255,255,255,.78)!important;
}
.hero .eyebrow,
.inner-hero .eyebrow,
.article-hero .eyebrow,
.hero-main .eyebrow,
.news-page-hero .eyebrow,
.about-page-hero .eyebrow,
.article-page-hero .eyebrow{
  color:#fff!important;
  background:rgba(255,255,255,.10)!important;
  background-image:none!important;
  border-color:rgba(255,255,255,.28)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
.breadcrumbs,
.article-meta{color:rgba(255,255,255,.68)!important}
.breadcrumbs a{color:#fff!important}

/* Main banner: compact, with all content contained in the blue field. */
.hero-main{
  --hero-band:auto!important;
}
.hero-main .hero-grid{
  min-height:0!important;
  padding-top:50px!important;
  padding-bottom:50px!important;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.66fr)!important;
  gap:48px!important;
  align-items:center!important;
}
.hero-main h1{
  max-width:850px!important;
  margin-top:0!important;
  font-size:clamp(44px,3.85vw,58px)!important;
  line-height:1.045!important;
}
.hero-main .lead{
  max-width:760px!important;
  margin-top:18px!important;
}
.hero-main .hero-mission{
  margin-top:26px!important;
  padding:18px 20px!important;
  border:1px solid rgba(255,255,255,.20)!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.075)!important;
  background-image:none!important;
  color:#fff!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
.hero-main .hero-mission-label{color:#b9d8ea!important}
.hero-main .hero-mission-text,
.hero-main .hero-mission-text strong{color:#fff!important}
.hero-main .hero-photo{
  width:100%!important;
  height:342px!important;
  min-height:342px!important;
  margin:0!important;
  border:1px solid rgba(255,255,255,.38)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 14px 34px rgba(5,24,41,.20)!important;
}
.hero-main .hero-photo img{
  height:342px!important;
  min-height:342px!important;
  filter:saturate(.92) contrast(1.02)!important;
}
.hero-main .hero-photo:before{border-radius:12px!important}
.hero-main .hero-photo-caption{display:none!important}

/* Compact inner-page banners, without overlaps or fading tails. */
.about-page-hero .inner-hero-grid,
.article-page-hero .article-hero-inner{
  min-height:0!important;
  padding-top:46px!important;
  padding-bottom:48px!important;
}
.about-page-hero .inner-hero-grid{
  width:100%!important;
  max-width:var(--container)!important;
  grid-template-columns:minmax(0,920px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.news-page-hero .inner-hero-grid{
  min-height:0!important;
  padding-top:44px!important;
  padding-bottom:44px!important;
  grid-template-columns:minmax(0,1fr) minmax(360px,.62fr)!important;
  gap:42px!important;
  align-items:center!important;
}
.news-page-hero .news-hero-card{
  margin:0!important;
  min-height:0!important;
  border-radius:16px!important;
  border:1px solid rgba(255,255,255,.30)!important;
  box-shadow:0 12px 30px rgba(5,24,41,.18)!important;
}
.news-page-hero .news-hero-card img{height:210px!important}
.article-page-hero{padding:0!important}
.article-page-hero .article-hero-inner{max-width:1120px!important}

/* White content area: no section fades, no transition gradients. */
.section,
.section.alt,
.outreach-section,
#news{
  background:#fff!important;
  background-image:none!important;
  border-top:0!important;
  border-bottom:0!important;
  box-shadow:none!important;
}
.section + .section,
.section.alt + .section,
.section + .section.alt{
  box-shadow:none!important;
}
.section-head::after{display:none!important}

/* Flat blue labels. */
main .eyebrow,
.section .eyebrow,
.feedback-modal .eyebrow{
  color:#fff!important;
  background:var(--accent)!important;
  background-image:none!important;
  border-color:var(--accent)!important;
  border-radius:8px!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
.hero-main .eyebrow,
.news-page-hero .eyebrow,
.about-page-hero .eyebrow,
.article-page-hero .eyebrow{
  color:#fff!important;
  background:rgba(255,255,255,.10)!important;
  border-color:rgba(255,255,255,.28)!important;
}

/* More institutional cards: restrained radii, flat accents, lighter shadows. */
.card,
.topic,
.step,
.forms-panel,
.notice,
.contact-card,
.map,
.news,
.news-preview,
.news-hero-card,
.article-cover,
.article-body,
.article-aside,
.gallery-slide,
.org-shell,
.institution-fact,
.law-card,
.finance-card{
  border-radius:16px!important;
}
.card,
.topic,
.step,
.contact-card,
.news,
.news-preview,
.article-body,
.article-aside{
  box-shadow:var(--shadow-soft)!important;
}
.card:before,
.topic:before,
.contact-card:before{
  background:var(--accent)!important;
  background-image:none!important;
}
.card:after{background:rgba(29,93,136,.045)!important}
.card:hover,
.topic:hover,
.step:hover,
.news:hover{
  border-color:rgba(29,93,136,.28)!important;
  box-shadow:var(--shadow)!important;
}
.icon,
.news-meta .tag,
.tag,
.org-count{
  color:var(--accent-deep)!important;
  background:var(--accent-soft)!important;
  border-color:rgba(29,93,136,.16)!important;
}
.card-action,
.news-all-link,
.news-preview__link,
.article-back,
.map-badge a,
.topic strong,
.contact-row small,
.eligible-num{
  color:var(--accent-deep)!important;
}
.eligible-table-head,
.menu-info-card{
  color:#fff!important;
  background:var(--primary)!important;
  background-image:none!important;
}
.step-no{
  color:#fff!important;
  background:var(--accent)!important;
  background-image:none!important;
  border-color:var(--accent)!important;
  box-shadow:none!important;
}

/* Outreach and contact banners are solid blue, never gradient-filled. */
.outreach-card{
  color:#fff!important;
  background:var(--primary-mid)!important;
  background-image:none!important;
  border:1px solid rgba(8,31,53,.20)!important;
  border-radius:18px!important;
  box-shadow:0 16px 36px rgba(13,43,71,.13)!important;
}
.outreach-card:after{
  background:rgba(255,255,255,.04)!important;
  background-image:none!important;
}
.outreach-copy .eyebrow{
  background:rgba(255,255,255,.10)!important;
  border-color:rgba(255,255,255,.26)!important;
}
.outreach-status{
  background:rgba(255,255,255,.08)!important;
  background-image:none!important;
  border-color:rgba(255,255,255,.22)!important;
  backdrop-filter:none!important;
}
.cta{
  position:relative;
  color:#fff!important;
  background:var(--primary)!important;
  background-image:none!important;
  border-top:1px solid rgba(8,31,53,.16)!important;
  border-bottom:1px solid rgba(8,31,53,.34)!important;
}
.cta .btn.primary{
  background:#fff!important;
  color:var(--primary)!important;
  border-color:#fff!important;
}
.cta .btn.primary:hover{
  background:var(--accent-soft)!important;
  border-color:var(--accent-soft)!important;
}
.cta .btn.secondary,
.btn-phone{
  background:transparent!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.55)!important;
}
.cta .btn.secondary:hover,
.btn-phone:hover{
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
  border-color:#fff!important;
}

/* News cards: clean white cards, no backing slab. */
.news-carousel,
.news-track{
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
}
.news-track{padding-bottom:24px!important}
.news-track .news,
.news-archive-grid .news,
.related-news-grid .news{
  border-color:rgba(13,43,71,.12)!important;
  box-shadow:0 10px 26px rgba(13,43,71,.085)!important;
}
.news-track .news:hover,
.news-archive-grid .news:hover,
.related-news-grid .news:hover{
  box-shadow:0 16px 34px rgba(13,43,71,.13)!important;
}

/* Quick-access panel in the same official palette. */
.quick-menu{
  border-color:rgba(29,93,136,.20)!important;
  border-top-color:var(--accent)!important;
}
.quick-menu-title:before,
.menu-v2 .step-dot{background:var(--accent)!important}
.quick-menu-title:before{box-shadow:0 0 0 5px var(--accent-soft)!important}
.menu-v2 .cta-card{
  background:var(--accent-pale)!important;
  background-image:none!important;
  border-color:rgba(29,93,136,.18)!important;
}
.menu-v2 .cta-btn,
.menu-document-link:hover{color:var(--accent-deep)!important}
.menu-document-link:hover{
  border-color:rgba(29,93,136,.34)!important;
  background:var(--accent-pale)!important;
}

/* Footer: a clean, hard transition from the preceding banner. */
footer{
  position:relative!important;
  margin-top:0!important;
  padding-top:58px!important;
  color:#fff!important;
  background:var(--primary-deep)!important;
  background-image:none!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
  box-shadow:none!important;
}
footer::before,
footer::after{
  display:none!important;
  content:none!important;
  background:none!important;
}
.footer-copy a:hover{color:#c7dfed!important}

/* Remove any remaining gradient declarations from high-visibility UI. */
.card:before,
.eligible-table-head,
.step-no,
.contact-card:before,
.menu-v2 .cta-card,
.menu-info-card,
.btn.primary,
main .eyebrow,
.feedback-modal .eyebrow,
footer,
.topbar{
  background-image:none!important;
}

@media(max-width:1100px){
  .hero-main .hero-grid,
  .news-page-hero .inner-hero-grid{
    grid-template-columns:1fr!important;
  }
  .hero-main .hero-photo{
    width:min(100%,780px)!important;
    margin:0 auto!important;
  }
  .hero-main .hero-mission{display:none!important}
  .news-page-hero .news-hero-card{width:min(100%,760px)!important}
}
@media(max-width:760px){
  .hero-main .hero-grid{
    padding-top:34px!important;
    padding-bottom:38px!important;
    gap:24px!important;
  }
  .hero-main h1{font-size:39px!important}
  .hero-main .hero-photo,
  .hero-main .hero-photo img{
    height:245px!important;
    min-height:245px!important;
  }
  .about-page-hero .inner-hero-grid,
  .news-page-hero .inner-hero-grid,
  .article-page-hero .article-hero-inner{
    padding-top:34px!important;
    padding-bottom:36px!important;
  }
  .news-page-hero .news-hero-card img{height:195px!important}
  .outreach-card{border-radius:16px!important}
  footer{padding-top:46px!important}
}

body.a11y .hero::before,
body.a11y .hero::after,
body.a11y .inner-hero::before,
body.a11y .inner-hero::after,
body.a11y .article-hero::before,
body.a11y .article-hero::after{display:none!important}

/* Flat-surface cleanup: remove the remaining decorative gradients. */
.notice-important{
  background:#fff7f7!important;
  background-image:none!important;
}
.notice-bar{
  background:#a83b43!important;
  background-image:none!important;
}
.mission-panel{
  background:var(--accent-pale)!important;
  background-image:none!important;
}
.gallery-slide.photo-slide{
  background:var(--photo) center/cover no-repeat!important;
  background-image:var(--photo)!important;
}
.gallery-slide.photo-slide::before{
  background:rgba(13,43,71,.06)!important;
  background-image:none!important;
}
.news-image.has-photo{
  background:#eaf1f7!important;
  background-image:none!important;
}
.org-shell{
  background:#f8fafc!important;
  background-image:none!important;
}
.org-card-root{
  background:var(--primary)!important;
  background-image:none!important;
}
.org-card-direct{
  background:var(--accent-pale)!important;
  background-image:none!important;
}
.finance-card,
.law-card,
.institution-fact{
  background-image:none!important;
}

/* =========================================================
   FINAL NOBLE NAVY PALETTE — client review 2026-09
   Midnight navy with restrained blue accents; flat surfaces only.
   ========================================================= */
:root{
  --bg:#ffffff;
  --surface:#f5f7fa;
  --card:#ffffff;
  --text:#132238;
  --muted:#5f6f82;
  --line:#d8e0e8;
  --primary:#0a1f38;
  --primary-deep:#061426;
  --primary-mid:#0b2341;
  --accent:#173f68;
  --accent-deep:#102f52;
  --accent-bright:#255b88;
  --accent-soft:#e7eef5;
  --accent-pale:#f3f6fa;
  --sky:#255b88;
  --section-label:#173f68;
  --section-label-deep:#173f68;
  --shadow:0 18px 42px rgba(6,20,38,.12);
  --shadow-soft:0 9px 24px rgba(6,20,38,.08);
}

::selection{background:rgba(23,63,104,.20);color:var(--text)}

.topbar{
  background:#061426!important;
  border-bottom-color:rgba(255,255,255,.07)!important;
}
.site-header{
  border-bottom-color:#d5dee7!important;
  box-shadow:0 5px 18px rgba(6,20,38,.06)!important;
}
.brand:before{background:#173f68!important}
.main-nav>a:hover,
.drop-btn:hover,
.main-nav>a.active{
  color:#0a1f38!important;
  background:#e7eef5!important;
}
.a11y-header-btn{
  color:#0a1f38!important;
  border-color:#b9c8d6!important;
}
.a11y-header-btn:hover{
  color:#fff!important;
  background:#173f68!important;
  border-color:#173f68!important;
}
.icon-btn:hover{
  color:#102f52!important;
  border-color:#173f68!important;
  background:#f3f6fa!important;
}

.btn.primary{
  background:#173f68!important;
  border-color:#173f68!important;
}
.btn.primary:hover{
  background:#102f52!important;
  border-color:#102f52!important;
  box-shadow:0 8px 18px rgba(6,20,38,.16)!important;
}
.btn.secondary:hover{
  color:#102f52!important;
  border-color:#173f68!important;
  background:#f3f6fa!important;
}
.search-panel{border-top-color:#173f68!important}
.search-row input:focus{
  border-color:#173f68!important;
  box-shadow:0 0 0 4px rgba(23,63,104,.13)!important;
}
.search-result:before{background:#173f68!important}
.search-result:hover{
  border-color:rgba(23,63,104,.34)!important;
  background:#f3f6fa!important;
}

.hero,
.inner-hero,
.article-hero,
.hero-main,
.news-page-hero,
.about-page-hero,
.article-page-hero{
  background:#0b2341!important;
  border-bottom-color:#061426!important;
}
.hero::before,
.inner-hero::before,
.article-hero::before,
.hero-main::before,
.news-page-hero::before,
.about-page-hero::before,
.article-page-hero::before{
  background:rgba(255,255,255,.028)!important;
}
.hero::after,
.inner-hero::after,
.article-hero::after,
.hero-main::after,
.news-page-hero::after,
.about-page-hero::after,
.article-page-hero::after{
  background:rgba(3,12,25,.24)!important;
}
.hero-main .hero-mission{
  background:rgba(255,255,255,.065)!important;
  border-color:rgba(255,255,255,.18)!important;
}
.hero-main .hero-mission-label{color:#c6d4e0!important}
.hero-main .hero-photo{
  box-shadow:0 14px 34px rgba(3,12,25,.28)!important;
}
.news-page-hero .news-hero-card{
  box-shadow:0 12px 30px rgba(3,12,25,.26)!important;
}

main .eyebrow,
.section .eyebrow,
.feedback-modal .eyebrow{
  background:#173f68!important;
  border-color:#173f68!important;
}
.hero-main .eyebrow,
.news-page-hero .eyebrow,
.about-page-hero .eyebrow,
.article-page-hero .eyebrow{
  background:rgba(255,255,255,.09)!important;
  border-color:rgba(255,255,255,.24)!important;
}

.card:before,
.topic:before,
.contact-card:before,
.step-no,
.quick-menu-title:before,
.menu-v2 .step-dot{
  background:#173f68!important;
}
.card:hover,
.topic:hover,
.step:hover,
.news:hover{
  border-color:rgba(23,63,104,.28)!important;
}
.icon,
.news-meta .tag,
.tag,
.org-count{
  color:#102f52!important;
  background:#e7eef5!important;
  border-color:rgba(23,63,104,.16)!important;
}
.card-action,
.news-all-link,
.news-preview__link,
.article-back,
.map-badge a,
.topic strong,
.contact-row small,
.eligible-num,
.menu-v2 .cta-btn,
.menu-document-link:hover{
  color:#102f52!important;
}
.eligible-table-head,
.menu-info-card,
.org-card-root{
  background:#0a1f38!important;
}
.org-card-root .org-card-kicker{color:#c7d4df!important}
.org-card-direct,
.mission-panel,
.menu-v2 .cta-card{
  background:#f3f6fa!important;
}
.org-shell{background:#f7f9fb!important}

.outreach-card{
  background:#0d294a!important;
  border-color:#07182d!important;
  box-shadow:0 16px 36px rgba(6,20,38,.16)!important;
}
.cta{
  background:#0a1f38!important;
  border-top-color:#07182d!important;
  border-bottom-color:#061426!important;
}
.cta .btn.primary{
  background:#fff!important;
  color:#0a1f38!important;
  border-color:#fff!important;
}
.cta .btn.primary:hover{
  background:#e7eef5!important;
  border-color:#e7eef5!important;
}
.cta .btn.secondary,
.btn-phone{
  color:#fff!important;
  border-color:rgba(255,255,255,.58)!important;
}

.quick-menu{
  border-color:rgba(23,63,104,.20)!important;
  border-top-color:#173f68!important;
  box-shadow:0 28px 60px rgba(6,20,38,.20)!important;
}
.quick-menu-title:before{box-shadow:0 0 0 5px #e7eef5!important}
.menu-v2 .cta-card{border-color:rgba(23,63,104,.18)!important}
.menu-document-link:hover{
  border-color:rgba(23,63,104,.34)!important;
  background:#f3f6fa!important;
}

.news-track .news,
.news-archive-grid .news,
.related-news-grid .news{
  border-color:rgba(10,31,56,.13)!important;
  box-shadow:0 10px 26px rgba(6,20,38,.09)!important;
}
.news-track .news:hover,
.news-archive-grid .news:hover,
.related-news-grid .news:hover{
  box-shadow:0 16px 34px rgba(6,20,38,.14)!important;
}
.gallery-slide{box-shadow:0 24px 52px rgba(6,20,38,.16)!important}
.gallery-arrow:hover,
.news-arrow:hover:not(:disabled){
  color:#102f52!important;
  border-color:#173f68!important;
  background:#f3f6fa!important;
}

footer{
  background:#061426!important;
  border-top-color:rgba(255,255,255,.07)!important;
}
.footer-copy a:hover{color:#d5e0e9!important}

body.a11y{
  --primary:#000;
  --primary-deep:#000;
  --primary-mid:#000;
  --accent:#000;
  --accent-deep:#000;
  --accent-bright:#000;
}


/* =========================================================
   FINAL INTERACTION & BRIGHTER OFFICIAL BLUE PASS — 2026-09
   ========================================================= */
:root{
  --bg:#ffffff;
  --surface:#f5f8fb;
  --card:#ffffff;
  --text:#16283c;
  --muted:#5e7185;
  --line:#d8e3ec;
  --primary:#19466d;
  --primary-deep:#113452;
  --primary-mid:#1d527f;
  --accent:#2f70a1;
  --accent-deep:#275f89;
  --accent-bright:#4387b5;
  --accent-soft:#e8f1f7;
  --accent-pale:#f4f8fb;
  --sky:#4387b5;
  --section-label:#2f70a1;
  --section-label-deep:#275f89;
  --shadow:0 18px 42px rgba(17,52,82,.12);
  --shadow-soft:0 9px 24px rgba(17,52,82,.08);
}

::selection{background:rgba(47,112,161,.22);color:var(--text)}
.topbar{background:#113452!important}
.brand:before{background:#2f70a1!important}

.main-nav>a:hover,
.drop-btn:hover,
.main-nav>a.active{
  color:#19466d!important;
  background:#e8f1f7!important;
}
.a11y-header-btn:hover,
.btn.primary{
  background:#2f70a1!important;
  border-color:#2f70a1!important;
}
.a11y-header-btn:hover{color:#fff!important}
.icon-btn:hover,
.btn.secondary:hover{
  color:#275f89!important;
  border-color:#2f70a1!important;
  background:#f4f8fb!important;
}
.btn.primary:hover{
  background:#275f89!important;
  border-color:#275f89!important;
  box-shadow:0 10px 22px rgba(17,52,82,.18)!important;
}
.search-panel{border-top-color:#2f70a1!important}
.search-row input:focus{
  border-color:#2f70a1!important;
  box-shadow:0 0 0 4px rgba(47,112,161,.14)!important;
}
.search-result:before{background:#2f70a1!important}
.search-result:hover{
  border-color:rgba(47,112,161,.38)!important;
  background:#f4f8fb!important;
}

.hero,
.inner-hero,
.article-hero,
.hero-main,
.news-page-hero,
.about-page-hero,
.article-page-hero{
  background:#1d527f!important;
  border-bottom-color:#173f62!important;
}
.hero::before,
.inner-hero::before,
.article-hero::before,
.hero-main::before,
.news-page-hero::before,
.about-page-hero::before,
.article-page-hero::before{
  background:rgba(255,255,255,.04)!important;
}
.hero::after,
.inner-hero::after,
.article-hero::after,
.hero-main::after,
.news-page-hero::after,
.about-page-hero::after,
.article-page-hero::after{
  background:rgba(11,39,64,.19)!important;
}
.hero-main .hero-mission{
  background:rgba(255,255,255,.09)!important;
  border-color:rgba(255,255,255,.23)!important;
}
.hero-main .hero-mission-label{color:#d8e7f2!important}
.hero-main .hero-photo,
.news-page-hero .news-hero-card{
  box-shadow:0 16px 38px rgba(12,42,68,.24)!important;
}

main .eyebrow,
.section .eyebrow,
.feedback-modal .eyebrow{
  background:#2f70a1!important;
  border-color:#2f70a1!important;
}
.hero-main .eyebrow,
.news-page-hero .eyebrow,
.about-page-hero .eyebrow,
.article-page-hero .eyebrow{
  background:rgba(255,255,255,.12)!important;
  border-color:rgba(255,255,255,.3)!important;
}

.card:before,
.topic:before,
.contact-card:before,
.step-no,
.quick-menu-title:before,
.menu-v2 .step-dot{
  background:#2f70a1!important;
}
.icon,
.news-meta .tag,
.tag,
.org-count{
  color:#275f89!important;
  background:#e8f1f7!important;
  border-color:rgba(47,112,161,.18)!important;
}
.card-action,
.news-all-link,
.news-preview__link,
.article-back,
.map-badge a,
.topic strong,
.contact-row small,
.eligible-num,
.menu-v2 .cta-btn,
.menu-document-link:hover{
  color:#275f89!important;
}
.eligible-table-head,
.menu-info-card,
.org-card-root,
.cta{
  background:#19466d!important;
}
.org-card-direct,
.mission-panel,
.menu-v2 .cta-card{
  background:#f4f8fb!important;
}
.org-shell{background:#f7fafc!important}
.outreach-card{
  background:#205782!important;
  border-color:#19466d!important;
  box-shadow:0 16px 36px rgba(17,52,82,.15)!important;
}
.cta{
  border-top-color:#173f62!important;
  border-bottom-color:#113452!important;
}
.cta .btn.primary{
  background:#fff!important;
  color:#19466d!important;
  border-color:#fff!important;
}
.cta .btn.primary:hover{
  background:#e8f1f7!important;
  border-color:#e8f1f7!important;
}
.cta .btn.secondary,
.btn-phone{
  color:#fff!important;
  border-color:rgba(255,255,255,.64)!important;
}
.quick-menu{
  border-color:rgba(47,112,161,.22)!important;
  border-top-color:#2f70a1!important;
  box-shadow:0 28px 60px rgba(17,52,82,.18)!important;
}
.quick-menu-title:before{box-shadow:0 0 0 5px #e8f1f7!important}
.menu-v2 .cta-card{border-color:rgba(47,112,161,.2)!important}
.menu-document-link:hover{
  border-color:rgba(47,112,161,.4)!important;
  background:#f4f8fb!important;
}
.news-track .news,
.news-archive-grid .news,
.related-news-grid .news{
  border-color:rgba(25,70,109,.14)!important;
  box-shadow:0 10px 26px rgba(17,52,82,.09)!important;
}
.gallery-slide{box-shadow:0 24px 52px rgba(17,52,82,.16)!important}
.gallery-arrow:hover,
.news-arrow:hover:not(:disabled){
  color:#275f89!important;
  border-color:#2f70a1!important;
  background:#f4f8fb!important;
}
footer{
  background:#113452!important;
  border-top-color:rgba(255,255,255,.09)!important;
}
.footer-copy a:hover{color:#dbeaf4!important}

/* Coherent hover feedback: noticeable, restrained and official. */
.btn,
.icon-btn,
.a11y-header-btn,
.gallery-arrow,
.news-arrow,
.search-result,
.quick-action,
.menu-main-link,
.nav-sub a,
.card,
.topic,
.step,
.news,
.contact-card,
.about-fact,
.institution-fact,
.law-card,
.required-link,
.org-card,
.outreach-status,
.hero-photo,
.news-image img,
.footer-cols a,
.legal-links a{
  transition:
    transform .24s ease,
    box-shadow .24s ease,
    border-color .24s ease,
    background-color .24s ease,
    color .24s ease,
    opacity .24s ease;
}
.news-image{overflow:hidden}
.news-image img{transition:transform .45s cubic-bezier(.2,.7,.2,1),filter .3s ease}
.icon{transition:transform .25s ease,background-color .25s ease,color .25s ease}
.card-action,
.news-card-more,
.news-preview__link,
.map-badge a,
.footer-cols a,
.legal-links a{transition:transform .22s ease,color .22s ease,opacity .22s ease}

@media (hover:hover){
  .btn:hover,
  .icon-btn:hover,
  .a11y-header-btn:hover,
  .gallery-arrow:hover,
  .news-arrow:hover:not(:disabled){
    transform:translateY(-2px);
  }
  .btn:active,
  .icon-btn:active,
  .gallery-arrow:active,
  .news-arrow:active:not(:disabled){transform:translateY(0) scale(.98)}

  .card:hover,
  .topic:hover,
  .step:hover,
  .contact-card:hover,
  .about-fact:hover,
  .institution-fact:hover,
  .law-card:hover,
  .required-link:hover,
  .org-card:hover,
  .outreach-status:hover{
    transform:translateY(-5px);
    border-color:rgba(47,112,161,.38)!important;
    box-shadow:0 16px 34px rgba(17,52,82,.12)!important;
  }
  .card:hover .icon,
  .topic:hover .icon{transform:translateY(-2px) rotate(-3deg) scale(1.04)}
  .card:hover .card-action,
  .topic:hover strong,
  .required-link:hover strong,
  .law-card:hover .law-card-arrow{transform:translateX(4px)}

  .news:hover{
    transform:translateY(-6px);
    border-color:rgba(47,112,161,.36)!important;
    box-shadow:0 20px 42px rgba(17,52,82,.14)!important;
  }
  .news:hover .news-image img{transform:scale(1.035);filter:saturate(1.04) contrast(1.02)}
  .news:hover .news-card-more,
  .news:hover .news-preview__link{transform:translateX(4px)}

  .hero-photo:hover{transform:translateY(-4px);box-shadow:0 22px 48px rgba(12,42,68,.28)!important}
  .hero-photo:hover img{transform:scale(1.018)}

  .quick-action:hover,
  .menu-main-link:hover,
  .nav-sub a:hover{
    transform:translateX(4px);
    border-color:rgba(47,112,161,.34)!important;
  }
  .search-result:hover{transform:translateY(-2px)}
  .footer-cols a:hover,
  .legal-links a:hover,
  .map-badge a:hover{transform:translateX(4px)}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}


/* =========================================================
   OFFICIAL RESOURCES, REPORTS, OUTREACH SCHEDULE — 2026-09
   ========================================================= */
.brand{display:flex!important;align-items:center!important;gap:12px!important;border-left:0!important;padding-left:0!important}
.brand-crest{width:42px;height:50px;object-fit:contain;flex:0 0 auto}
.header-service-row{background:#f4f7fa;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.header-service-row>.container{min-height:48px;display:flex;align-items:center;justify-content:flex-end}
.header-service-link{display:inline-flex;align-items:center;justify-content:center;gap:12px;max-width:780px;padding:9px 14px;border-radius:8px;background:var(--primary);color:#fff;text-decoration:none;font-size:12px;font-weight:800;line-height:1.35;text-align:center;transition:transform .22s ease,background-color .22s ease,box-shadow .22s ease}
.header-service-link:hover{transform:translateY(-1px);background:var(--primary-mid);box-shadow:0 7px 16px rgba(14,55,88,.16)}

.official-resources{padding:74px 0 78px;background:#fff;border-top:1px solid var(--line)}
.official-resources-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:26px}
.official-resources-head .section-head{margin-bottom:0!important}
.resource-controls{display:flex;gap:10px;flex:0 0 auto}
.resource-arrow{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--primary);display:grid;place-items:center;font-size:20px;transition:transform .2s ease,border-color .2s ease,background-color .2s ease,color .2s ease}
.resource-arrow:hover{transform:translateY(-2px);border-color:var(--accent);background:var(--accent-pale);color:var(--accent-deep)}
.resource-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(172px,1fr);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 2px 20px;scrollbar-width:none}
.resource-track::-webkit-scrollbar{display:none}
.resource-card{scroll-snap-align:start;min-height:222px;padding:22px 16px 17px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--text);text-decoration:none;display:flex;flex-direction:column;align-items:center;text-align:center;transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease,background-color .24s ease}
.resource-card:hover{transform:translateY(-5px);border-color:rgba(47,112,161,.36);box-shadow:0 15px 30px rgba(17,52,82,.10);background:#fbfdff}
.resource-logo{position:relative;width:86px;height:86px;margin-bottom:16px;display:grid;place-items:center}
.resource-logo img{max-width:100%;max-height:100%;object-fit:contain;position:relative;z-index:2}
.resource-logo-wide{width:104px}
.resource-logo-agency i{position:absolute;right:1px;bottom:3px;z-index:3;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#fff;border:3px solid #fff;font-style:normal;font-size:15px}
.resource-logo-remote .resource-seal{position:absolute;inset:8px;display:grid;place-items:center;border-radius:50%;font-size:14px;font-weight:900;letter-spacing:.04em;color:#fff}
.resource-seal-green{background:#2d7258;border:6px solid #d4b353}
.resource-seal-blue{background:#2f70a1;border:6px solid #dfe8ef}
.resource-card strong{font-size:14px;line-height:1.35}
.resource-open{margin-top:auto;padding-top:14px;color:var(--accent-deep);font-size:11px;font-weight:800}

.menu-extra-grid{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.55fr;gap:14px;margin-top:2px;padding-top:16px;border-top:1px solid var(--line)}
.menu-extra-card{padding:16px;border:1px solid var(--line);border-radius:13px;background:#f8fafc}
.menu-extra-kicker{display:block;margin-bottom:8px;color:var(--accent-deep);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.menu-extra-card>strong{display:block;font-size:15px;line-height:1.35;color:var(--primary)}
.menu-extra-card p{margin:7px 0 0;color:var(--muted);font-size:12px;line-height:1.5}
.menu-extra-links{display:flex;gap:14px;flex-wrap:wrap;margin-top:11px}
.menu-extra-links a,.menu-resource-links a{color:var(--accent-deep);text-decoration:none;font-size:11px;font-weight:800}
.menu-resource-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 12px}
.menu-resource-links a{padding:7px 0;border-bottom:1px solid rgba(17,52,82,.10)}
.menu-portal-appeal{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border-radius:12px;background:var(--primary);color:#fff;text-decoration:none;font-size:12px;font-weight:800;line-height:1.35}
.menu-portal-appeal:hover{background:var(--primary-mid)}

.schedule-table-wrap{margin-top:18px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 12px 28px rgba(17,52,82,.07)}
.schedule-month-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 20px;background:var(--primary);color:#fff}
.schedule-month-head strong{font-size:18px}.schedule-month-head span{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.schedule-month-head-muted{margin-top:0;background:#eaf0f5;color:var(--primary);border-top:1px solid var(--line)}
.schedule-month-head-muted span{color:var(--muted)}
.schedule-table{display:grid}
.schedule-row{display:grid;grid-template-columns:.8fr 1.35fr 1.25fr 1fr;border-top:1px solid var(--line)}
.schedule-row:first-child{border-top:0}
.schedule-row>div{padding:17px 18px;border-left:1px solid var(--line);min-width:0}
.schedule-row>div:first-child{border-left:0}
.schedule-row-head{background:#f7f9fb;color:var(--muted);font-size:11px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.schedule-row:not(.schedule-row-head)>div{display:grid;gap:5px;align-content:start}
.schedule-row strong{font-size:14px;line-height:1.45;color:var(--text)}
.schedule-row span{font-size:12px;line-height:1.45;color:var(--muted)}
.schedule-empty-row{padding:22px 20px;background:#fbfcfd}
.schedule-empty-row strong{font-size:15px;color:var(--primary)}
.schedule-empty-row p{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.55}

.footer-appeal-link{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:38px;padding:18px 20px;border:1px solid rgba(255,255,255,.24);border-radius:12px;background:rgba(255,255,255,.06);color:#fff;text-decoration:none;font-size:14px;font-weight:800;line-height:1.4;transition:background-color .22s ease,border-color .22s ease,transform .22s ease}
.footer-appeal-link:hover{transform:translateY(-2px);background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.5)}
.footer-brandline{display:flex;align-items:center;gap:14px}
.footer-brandline .brand-crest{width:48px;height:58px}
.footer-cols{grid-template-columns:repeat(5,minmax(0,1fr))!important}

.reports-hero-card{align-self:center;display:flex;align-items:center;gap:18px;padding:22px;border:1px solid rgba(255,255,255,.22);border-radius:14px;background:rgba(255,255,255,.08);color:#fff}
.reports-hero-icon{width:54px;height:54px;flex:0 0 auto;border:1px solid rgba(255,255,255,.35);border-radius:12px;display:grid;place-items:center;font-size:30px;font-weight:300}
.reports-hero-card strong{display:block;font-size:18px}.reports-hero-card p{margin:6px 0 0;color:rgba(255,255,255,.72);font-size:13px;line-height:1.5}
.reports-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:34px}
.report-card{min-height:330px;padding:25px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 10px 26px rgba(17,52,82,.07);display:flex;flex-direction:column;transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}
.report-card:hover{transform:translateY(-5px);border-color:rgba(47,112,161,.34);box-shadow:0 18px 38px rgba(17,52,82,.11)}
.report-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.report-kind{color:var(--accent-deep);font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.report-status{padding:6px 9px;border-radius:999px;background:var(--accent-pale);color:var(--accent-deep);font-size:10px;font-weight:900}
.report-card h3{margin:24px 0 20px;font-size:22px;line-height:1.3}
.report-meta{display:grid;gap:0;margin:0}
.report-meta>div{padding:13px 0;border-top:1px solid var(--line)}
.report-meta dt{font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.report-meta dd{margin:5px 0 0;font-size:14px;font-weight:800;color:var(--primary)}
.report-file-state{margin-top:auto;padding-top:18px;color:var(--muted);font-size:12px}

@media(max-width:1180px){
  .footer-cols{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .resource-track{grid-auto-columns:minmax(190px,26%)}
  .reports-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .header-service-row>.container{justify-content:center}
  .header-service-link{width:100%;max-width:none}
  .menu-extra-grid{grid-template-columns:1fr}
  .menu-portal-appeal{grid-column:1}
  .schedule-row{grid-template-columns:1fr 1fr}
  .schedule-row-head{display:none}
  .schedule-row>div{border-left:0;border-top:1px solid var(--line)}
  .schedule-row>div:nth-child(-n+2){border-top:0}
  .schedule-row>div:nth-child(even){border-left:1px solid var(--line)}
}
@media(max-width:760px){
  .brand-crest{width:32px;height:39px}
  .header-service-row>.container{padding-top:8px;padding-bottom:8px}
  .header-service-link{font-size:11px;padding:10px 12px}
  .official-resources{padding:56px 0 60px}
  .official-resources-head{align-items:flex-start;flex-direction:column;margin-bottom:18px}
  .resource-controls{align-self:flex-end}
  .resource-track{grid-auto-columns:minmax(210px,78%)}
  .resource-card{min-height:210px}
  .menu-resource-links{grid-template-columns:1fr 1fr}
  .schedule-row{grid-template-columns:1fr}
  .schedule-row>div,.schedule-row>div:nth-child(even){border-left:0;border-top:1px solid var(--line)}
  .schedule-row>div:first-child{border-top:0}
  .schedule-month-head{align-items:flex-start;flex-direction:column;gap:5px}
  .footer-appeal-link{align-items:flex-start;font-size:12px}
  .footer-brandline .brand-crest{width:42px;height:50px}
  .footer-cols{grid-template-columns:1fr 1fr!important}
  .reports-grid{grid-template-columns:1fr}
  .reports-hero-card{margin-top:20px}
}
@media(max-width:520px){
  .footer-cols{grid-template-columns:1fr!important}
  .menu-resource-links{grid-template-columns:1fr}
}




/* ===== Финальная правка: фирменный знак, компактное меню, график и бланки ===== */
.brand{
  padding-left:0!important;
  border-left:0!important;
  gap:14px!important;
}
.brand::before,
.brand:before{
  display:none!important;
  content:none!important;
}
.brand-crest{
  width:56px!important;
  height:66px!important;
  object-fit:contain!important;
  object-position:center!important;
  flex:0 0 auto!important;
  filter:none!important;
}
.footer-brandline .brand-crest{
  width:60px!important;
  height:72px!important;
}
.brand-text strong{line-height:1.18!important}

.quick-menu{
  max-height:calc(100vh - var(--menu-top,118px) - 12px)!important;
  overflow:hidden!important;
}
.quick-menu-inner.menu-v2{
  max-height:calc(100vh - var(--menu-top,118px) - 12px)!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  padding:16px 22px 18px!important;
  grid-template-columns:minmax(205px,.68fr) minmax(420px,1.28fr) minmax(255px,.88fr)!important;
  gap:18px!important;
  align-items:start!important;
}
.menu-v2 .quick-menu-top{
  padding:0 0 11px!important;
  margin:0!important;
}
.quick-menu-description{display:none!important}
.menu-v2 .menu-kicker{margin-bottom:8px!important}
.menu-v2 .quick-actions{margin-top:0!important;gap:7px!important}
.menu-v2 .quick-action{
  min-height:40px!important;
  padding:10px 12px!important;
  border-radius:11px!important;
}
.menu-v2 .menu-document-link{margin-top:8px!important;padding:11px 12px!important;border-radius:11px!important}
.menu-v2 .menu-main-link{padding:8px 0!important;font-size:15px!important}
.menu-v2 .nav-group{margin:7px 0!important;padding:10px 12px!important;border-radius:12px!important}
.menu-v2 .nav-group-title{margin-bottom:4px!important}
.menu-v2 .nav-sub a{padding:5px 0!important;font-size:12px!important}
.menu-v2 .menu-info-card{padding:13px 14px!important;border-radius:13px!important}
.menu-v2 .menu-info-card a{margin-top:9px!important}
.menu-v2 .menu-info-row{gap:7px!important;margin-top:7px!important}
.menu-v2 .menu-mini{padding:10px 11px!important;border-radius:11px!important}
.menu-v2 .menu-mini strong{font-size:11.5px!important;line-height:1.42!important}
.menu-v2 .menu-email{grid-column:1/-1!important}
.menu-extra-grid{
  grid-template-columns:.88fr 1.55fr!important;
  gap:10px!important;
  margin-top:0!important;
  padding-top:11px!important;
}
.menu-extra-card{padding:12px 13px!important;border-radius:12px!important}
.menu-extra-card p{margin-top:5px!important;line-height:1.4!important}
.menu-extra-links{margin-top:8px!important}
.menu-resource-links{gap:3px 10px!important}
.menu-resource-links a{padding:5px 0!important;line-height:1.3!important}
.menu-portal-appeal{display:none!important}

.forms-panel{
  display:block!important;
  padding:28px!important;
  border-radius:18px!important;
}
.forms-panel .forms-intro{max-width:760px}
.forms-panel .forms-intro p{margin-top:8px!important}
.forms-download-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:20px;
}
.form-download{
  min-width:0;
  display:grid;
  grid-template-columns:54px minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  color:var(--text);
  text-decoration:none;
  box-shadow:0 8px 22px rgba(17,52,82,.055);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.form-download:hover{
  transform:translateY(-3px);
  border-color:var(--accent);
  box-shadow:0 15px 30px rgba(17,52,82,.11);
}
.form-download-type{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:var(--accent-soft);
  color:var(--accent-deep);
  font-size:11px;
  font-weight:900;
  letter-spacing:.04em;
}
.form-download-copy{min-width:0}
.form-download-copy strong{display:block;font-size:14px;line-height:1.35}
.form-download-copy span{display:block;margin-top:5px;color:var(--muted);font-size:11.5px;line-height:1.42}
.form-download-action{color:var(--accent-deep);font-size:12px;font-weight:900;white-space:nowrap}

.contact-email a{color:inherit;text-decoration:none}
.contact-email a:hover{color:var(--accent)}
.resource-card[href*="gosuslugi.ru"] .resource-logo img{max-width:92px!important;max-height:92px!important}

@media(max-width:1180px){
  .quick-menu-inner.menu-v2{
    grid-template-columns:1fr 1.2fr!important;
  }
  .quick-menu .menu-column:nth-of-type(3){grid-column:1/-1!important}
  .quick-menu .menu-column:nth-of-type(3) .menu-section{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px 14px!important;
  }
  .quick-menu .menu-column:nth-of-type(3) .menu-kicker{grid-column:1/-1!important}
  .quick-menu .menu-column:nth-of-type(3) .menu-info-card{grid-row:2/4!important}
  .menu-extra-grid{grid-template-columns:1fr!important}
}
@media(max-width:760px){
  .brand{gap:10px!important}
  .brand-crest{width:42px!important;height:52px!important}
  .footer-brandline .brand-crest{width:48px!important;height:58px!important}
  .quick-menu{max-height:calc(100vh - var(--menu-top,70px) - 8px)!important}
  .quick-menu-inner.menu-v2{
    max-height:calc(100vh - var(--menu-top,70px) - 8px)!important;
    grid-template-columns:1fr!important;
    padding:16px 14px 20px!important;
  }
  .quick-menu .menu-column:nth-of-type(3){grid-column:auto!important}
  .quick-menu .menu-column:nth-of-type(3) .menu-section{display:block!important}
  .quick-menu .menu-column:nth-of-type(3) .menu-info-card{margin-bottom:7px!important}
  .menu-resource-links{grid-template-columns:1fr 1fr!important}
  .forms-panel{padding:21px 16px!important}
  .forms-download-grid{grid-template-columns:1fr}
  .form-download{grid-template-columns:48px minmax(0,1fr);padding:14px}
  .form-download-type{width:48px;height:48px}
  .form-download-action{grid-column:2;margin-top:2px}
}



/* ===== Final client revision: compact quick menu, phones, consent link, simplified about block ===== */
.a11y-header-btn[data-tooltip]::before,
.a11y-header-btn[data-tooltip]:before{
  width:260px!important;
  max-width:calc(100vw - 32px)!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  line-height:1.45!important;
  padding:10px 13px!important;
}

.quick-menu{
  max-height:calc(100vh - var(--menu-top,118px) - 12px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
.quick-menu-inner.menu-v2{
  max-height:none!important;
  overflow:visible!important;
  grid-template-columns:minmax(235px,.8fr) minmax(410px,1.26fr) minmax(340px,1fr)!important;
  gap:20px!important;
  padding:16px 22px 20px!important;
}
.menu-extra-grid{display:none!important}
.menu-schedule-inline{
  margin-top:12px!important;
  padding:14px!important;
  border:1px solid var(--line)!important;
  border-radius:13px!important;
  background:var(--surface)!important;
  box-shadow:none!important;
}
.menu-schedule-inline .menu-extra-kicker{
  display:block;
  color:var(--accent-deep);
  font-size:10.5px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.menu-schedule-inline strong{
  display:block;
  margin-top:7px;
  color:var(--primary);
  font-size:14px;
  line-height:1.35;
}
.menu-schedule-inline p{
  margin:7px 0 0!important;
  color:var(--muted);
  font-size:11.5px;
  line-height:1.45!important;
}
.menu-schedule-inline .menu-extra-links{
  display:flex;
  flex-wrap:wrap;
  gap:7px 12px;
  margin-top:9px!important;
}
.menu-schedule-inline .menu-extra-links a{
  color:var(--accent-deep);
  font-size:11.5px;
  font-weight:800;
}
.menu-phone-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px 10px;
  margin-top:8px;
}
.menu-phone-list a{
  display:block!important;
  margin:0!important;
  padding:7px 8px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:9px;
  color:#fff!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:1.25;
  text-align:center;
  white-space:nowrap;
  transition:background-color .18s ease,border-color .18s ease,transform .18s ease;
}
.menu-phone-list a:first-child{
  grid-column:1/-1;
  padding:9px 10px;
  background:rgba(255,255,255,.12);
  font-size:15px!important;
}
.menu-phone-list a:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,.16);
  border-color:rgba(255,255,255,.52);
}

#about .about-grid{
  grid-template-columns:minmax(0,.9fr) minmax(440px,1.1fr)!important;
  gap:58px!important;
  align-items:center!important;
}
#about .about-copy .section-head{margin-bottom:18px!important}
#about .about-copy .section-head p{
  max-width:680px;
  margin:16px 0 0;
  color:var(--muted);
  font-size:16px;
  line-height:1.7;
}
#about .about-law{margin-top:22px!important}
.about-photo-static{
  position:relative;
  min-width:0;
  margin:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:20px;
  background:#eef3f7;
  box-shadow:0 18px 42px rgba(19,49,77,.12);
}
.about-photo-static img{
  display:block;
  width:100%;
  height:520px;
  object-fit:cover;
  object-position:center;
}

.contact-phone-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px 14px;
}
.contact-phone-list a{
  display:block;
  color:inherit;
  text-decoration:none;
  line-height:1.35;
}
.contact-phone-list a:hover{color:var(--accent)}
.footer-phone-list{
  display:grid;
  gap:5px;
  margin:7px 0 8px;
}
.footer-phone-list a{margin:0!important}

.consent-document-link{
  color:inherit;
  text-decoration:none;
}
.consent-document-link:hover{text-decoration:underline}
.feedback-form .consent-check a[download]{font-weight:800}

@media(min-width:1181px) and (min-height:760px){
  .quick-menu-inner.menu-v2{min-height:0!important}
}
@media(max-width:1180px){
  .quick-menu-inner.menu-v2{
    grid-template-columns:minmax(250px,.9fr) minmax(390px,1.25fr)!important;
  }
  .quick-menu .menu-column:nth-of-type(3){grid-column:1/-1!important}
  .quick-menu .menu-column:nth-of-type(3) .menu-section{
    display:grid!important;
    grid-template-columns:minmax(260px,.85fr) 1fr!important;
    gap:10px 14px!important;
  }
  .quick-menu .menu-column:nth-of-type(3) .menu-kicker{grid-column:1/-1!important}
  .quick-menu .menu-column:nth-of-type(3) .menu-info-card{grid-row:2/4!important}
  #about .about-grid{grid-template-columns:1fr!important;gap:34px!important}
  .about-photo-static img{height:500px}
}
@media(max-width:760px){
  .quick-menu-inner.menu-v2{grid-template-columns:1fr!important;padding:15px 14px 18px!important}
  .quick-menu .menu-column:nth-of-type(3){grid-column:auto!important}
  .quick-menu .menu-column:nth-of-type(3) .menu-section{display:block!important}
  .menu-phone-list{grid-template-columns:1fr 1fr}
  .about-photo-static img{height:360px}
  .contact-phone-list{grid-template-columns:1fr}
  #forms .forms-download-grid{grid-template-columns:1fr!important}
}
@media(min-width:1050px){
  #forms .forms-download-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}



/* Финальная стабилизация сетки, отступов и адаптивов */
html{scroll-padding-top:148px}
body{min-width:320px;overflow-x:hidden}
main{overflow:clip}
img,svg,video,canvas,iframe{max-width:100%}
section[id]{scroll-margin-top:148px}
.container{min-width:0}
.section-head> :last-child{margin-bottom:0}
.footer-grid>*{min-width:0}
.brand,.brand-text,.main-nav,.actions{min-width:0}

/* Развёрнутое описание вакансии находится непосредственно в таблице */
.vacancy-table-expanded{table-layout:fixed}
.vacancy-table-expanded .vacancy-col-position{width:18%}
.vacancy-table-expanded .vacancy-col-duties{width:42%}
.vacancy-table-expanded .vacancy-col-requirements{width:27%}
.vacancy-table-expanded .vacancy-col-action{width:13%}
.vacancy-table-expanded tbody td{
  padding:24px 20px;
  vertical-align:top;
  overflow-wrap:anywhere;
}
.vacancy-table-expanded tbody tr:hover{background:#f8fbfe}
.vacancy-summary{display:grid;align-content:start;gap:5px}
.vacancy-condition{
  display:grid;
  gap:3px;
  margin-top:20px;
  padding-top:17px;
  border-top:1px solid var(--line);
}
.vacancy-condition>span{
  color:var(--muted);
  font-size:11px;
  line-height:1.35;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.vacancy-condition small{color:var(--muted);font-size:12px}
.vacancy-table-list{
  margin:0;
  padding-left:18px;
  color:var(--text);
  font-size:13px;
  line-height:1.58;
}
.vacancy-table-list li{margin:0 0 9px}
.vacancy-table-list li:last-child{margin-bottom:0}
.vacancy-table-list ul{margin:7px 0 0;padding-left:18px;color:var(--muted)}
.vacancy-requirements{display:grid;gap:16px;margin:0}
.vacancy-requirements>div{padding-bottom:15px;border-bottom:1px solid var(--line)}
.vacancy-requirements>div:last-child{padding-bottom:0;border-bottom:0}
.vacancy-requirements dt{
  margin:0 0 6px;
  color:var(--primary);
  font-size:12px;
  line-height:1.35;
  font-weight:800;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.vacancy-requirements dd{margin:0;color:var(--muted);font-size:13px;line-height:1.55}
.vacancy-action-cell{display:grid;gap:12px;align-content:start;text-align:left}
.vacancy-action-cell .vacancy-apply{width:100%;min-width:0;padding-inline:12px}
.vacancy-action-cell>span{color:var(--muted);font-size:11px;line-height:1.45}

@media(max-width:1180px){
  .vacancy-table-expanded,
  .vacancy-table-expanded tbody,
  .vacancy-table-expanded tr,
  .vacancy-table-expanded td{display:block;width:100%}
  .vacancy-table-expanded colgroup,
  .vacancy-table-expanded thead{display:none}
  .vacancy-table-wrap{overflow:visible;border:0;background:transparent;box-shadow:none}
  .vacancy-table-expanded tbody tr{
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:18px;
    background:#fff;
    box-shadow:var(--shadow-soft);
  }
  .vacancy-table-expanded tbody td{
    display:grid;
    grid-template-columns:minmax(170px,.32fr) minmax(0,.68fr);
    gap:22px;
    padding:22px 24px;
    border-top:1px solid var(--line);
    text-align:left!important;
  }
  .vacancy-table-expanded tbody td:first-child{border-top:0}
  .vacancy-table-expanded tbody td::before{
    content:attr(data-label);
    color:var(--primary);
    font-size:11px;
    line-height:1.4;
    font-weight:800;
    letter-spacing:.045em;
    text-transform:uppercase;
  }
  .vacancy-table-expanded tbody td>*{min-width:0}
  .vacancy-action-cell{max-width:320px}
}

@media(max-width:900px){
  html{scroll-padding-top:126px}
  section[id]{scroll-margin-top:126px}
  .vacancy-form-shell{margin-top:26px}
}

@media(max-width:760px){
  html{scroll-padding-top:118px}
  section[id]{scroll-margin-top:118px}
  .section{padding-top:58px;padding-bottom:58px}
  .section-head{margin-bottom:26px}
  .vacancies-head{gap:14px;margin-bottom:24px}
  .vacancies-note{font-size:12px;line-height:1.55}
  .vacancy-table-expanded tbody td{
    display:block;
    padding:18px 17px;
  }
  .vacancy-table-expanded tbody td::before{
    display:block;
    margin-bottom:12px;
  }
  .vacancy-table-expanded .vacancy-role{font-size:20px}
  .vacancy-table-list{font-size:13px;line-height:1.56}
  .vacancy-table-list ul{padding-left:16px}
  .vacancy-action-cell{max-width:none}
  .vacancy-action-cell .vacancy-apply{width:100%}
  .vacancy-form-shell{margin-top:22px}
}

@media(max-width:390px){
  .container{padding-left:16px;padding-right:16px}
  .vacancy-table-expanded tbody td{padding:17px 15px}
}



.resource-card{padding-top:20px!important}
.resource-logo{width:86px!important;height:82px!important;margin-bottom:11px!important}
.resource-logo-wide{width:104px!important}
.resource-card strong{min-height:48px;display:flex;align-items:flex-start;justify-content:center;margin:0;line-height:1.38!important}
.resource-open{padding-top:11px!important}
.resource-logo-agency i{display:none!important}
.header-socials,.menu-social-icons{display:flex;align-items:center;gap:7px}
.header-socials{flex:0 0 auto}
.social-icon{width:40px;height:40px;flex:0 0 auto;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--primary);text-decoration:none!important;box-shadow:0 5px 14px rgba(17,52,82,.055);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background-color .2s ease,color .2s ease}
.social-icon span{font-size:11px;font-weight:900;line-height:1;letter-spacing:-.04em}
.social-icon svg{display:block;width:19px;height:19px;overflow:visible}
.social-icon.social-max svg{width:20px;height:20px}
.social-icon.social-max span{font-size:8px;letter-spacing:-.02em}
.social-icon.social-vk{color:#1976d2}
.social-icon.social-max{color:#168fb8}
.social-icon:hover{transform:translateY(-2px);border-color:currentColor;box-shadow:0 11px 22px rgba(17,52,82,.13)}
.social-icon.social-vk:hover{background:#1976d2;color:#fff}
.social-icon.social-max:hover{background:#168fb8;color:#fff}
.menu-social-block{margin-top:9px;padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:#fff}
.menu-social-label{display:block;margin-bottom:8px;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.menu-social-icons .social-icon{width:38px;height:38px;border-radius:10px;box-shadow:none}
.footer-socials{display:grid;grid-template-columns:minmax(230px,.75fr) minmax(350px,1.25fr);align-items:center;gap:30px;margin-top:34px;padding-top:30px;border-top:1px solid rgba(255,255,255,.16)}
.footer-socials-copy{max-width:470px}
.footer-socials-kicker{display:block;margin-bottom:8px;color:rgba(255,255,255,.64);font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.footer-socials h3{margin:0;color:#fff;font-size:22px;line-height:1.25}
.footer-socials p{margin:10px 0 0;color:rgba(255,255,255,.68);font-size:12px;line-height:1.6}
.footer-qr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,188px));justify-content:end;gap:14px}
.footer-qr-card{display:grid;gap:10px;padding:13px;border-radius:15px;background:#fff;color:var(--primary);text-decoration:none!important;border:1px solid rgba(255,255,255,.6);box-shadow:0 12px 28px rgba(0,0,0,.16);transition:transform .22s ease,box-shadow .22s ease}
.footer-qr-card:hover{transform:translateY(-4px);box-shadow:0 18px 34px rgba(0,0,0,.22)}
.footer-qr-heading{display:flex;align-items:center;gap:8px;min-height:30px}
.social-badge{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;color:#fff;font-size:9px;font-weight:900;line-height:1;letter-spacing:-.03em}
.social-badge.social-vk{background:#1976d2}
.social-badge.social-max{background:#168fb8;font-size:7px}
.footer-qr-heading strong{font-size:13px;line-height:1.25}
.footer-qr-card img{display:block;width:100%;aspect-ratio:1;object-fit:contain;border-radius:10px;background:#fff}
.footer-qr-action{color:var(--accent-deep);font-size:10px;font-weight:900;text-align:center}
body.a11y .social-icon{border:3px solid #000!important;background:#fff!important;color:#000!important;box-shadow:none!important}
body.a11y .footer-qr-card{border:3px solid #fff!important}
@media(max-width:1500px){.a11y-header-btn .a11y-label{display:none!important}.a11y-header-btn{width:44px!important;padding:0!important;justify-content:center!important}}
@media(max-width:1240px){.main-nav{display:none!important}}
@media(max-width:900px){.footer-socials{grid-template-columns:1fr;gap:20px}.footer-qr-grid{justify-content:start}}
@media(max-width:760px){.header-socials{gap:4px}.header-socials .social-icon{width:31px;height:31px;border-radius:9px}.header-socials .social-icon span{font-size:9px} .header-socials .social-icon svg{width:16px;height:16px}.header-socials .social-icon.social-max span{font-size:6.5px}#searchBtn{display:none!important}.actions{gap:4px!important}.a11y-header-btn{width:34px!important;min-height:34px!important}.icon-btn.burger{width:38px!important;height:38px!important}.brand{gap:7px!important}.brand-crest{width:36px!important;height:44px!important}.brand-text strong{max-width:126px;font-size:12px!important;line-height:1.12!important}.brand-text>span{display:none!important}.footer-socials{margin-top:28px;padding-top:24px}.footer-qr-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%}.footer-qr-card{padding:10px;border-radius:13px}.footer-socials h3{font-size:20px}.resource-card strong{min-height:auto}}
@media(max-width:380px){.brand-text strong{max-width:104px;font-size:11px!important}.brand-crest{width:32px!important;height:40px!important}.header-socials .social-icon{width:28px;height:28px}.a11y-header-btn{width:31px!important;min-height:31px!important}.icon-btn.burger{width:35px!important;height:35px!important}}



/* Brand icons supplied for VK and MAX */
.social-icon{
  color:var(--primary)!important;
  overflow:hidden;
  padding:7px!important;
  background:#fff!important;
}
.social-icon svg,.social-icon>span{display:none!important}
.social-logo-image{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:7px;
  transition:transform .2s ease,filter .2s ease;
}
.social-icon:hover{
  background:#f7faff!important;
  border-color:#90abc2!important;
  color:var(--primary)!important;
}
.social-icon:hover .social-logo-image{transform:scale(1.08)}
.menu-social-icons .social-icon{padding:6px!important}
.social-badge{
  padding:0!important;
  overflow:hidden;
  background:transparent!important;
}
.social-badge>img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:9px;
}
/* Keep the emblem and the agency name in separate, predictable rows */
.resource-card{
  min-height:294px!important;
  padding:22px 16px 18px!important;
  justify-content:flex-start!important;
}
.resource-logo,
.resource-logo.resource-logo-wide{
  width:118px!important;
  height:112px!important;
  min-height:112px!important;
  flex:0 0 112px!important;
  margin:0 auto 19px!important;
  display:grid!important;
  place-items:center!important;
  overflow:visible!important;
}
.resource-logo img{
  display:block!important;
  max-width:108px!important;
  max-height:98px!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
}
.resource-card strong{
  width:100%!important;
  min-height:76px!important;
  margin:0!important;
  padding:0 3px!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
  line-height:1.4!important;
  text-align:center!important;
}
.resource-open{
  margin-top:auto!important;
  padding-top:14px!important;
}
@media(max-width:760px){
  .resource-card{min-height:278px!important}
  .resource-logo,.resource-logo.resource-logo-wide{
    height:102px!important;
    min-height:102px!important;
    flex-basis:102px!important;
    margin-bottom:16px!important;
  }
  .resource-logo img{max-height:90px!important;max-width:100px!important}
  .resource-card strong{min-height:68px!important}
}



/* Full official institution name next to the crest */
header .brand .brand-text > strong,
header .brand > strong{
  max-width:420px!important;
  font-size:14px!important;
  line-height:1.22!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere;
}
footer .footer-brandline > strong,
footer .doc-footer-brand > strong{
  max-width:520px;
  font-size:17px;
  line-height:1.28;
  white-space:normal;
  overflow-wrap:anywhere;
}
@media(max-width:1500px){
  header .brand .brand-text > strong,
  header .brand > strong{max-width:390px!important;font-size:13.5px!important}
}
@media(max-width:1240px){
  header .brand .brand-text > strong,
  header .brand > strong{max-width:430px!important}
}
@media(max-width:760px){
  header .brand .brand-text > strong,
  header .brand > strong{
    max-width:145px!important;
    font-size:10.5px!important;
    line-height:1.14!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  header .brand > span:not(.brand-text){display:none!important}
  footer .footer-brandline > strong,
  footer .doc-footer-brand > strong{max-width:none;font-size:15px;line-height:1.3}
}
@media(max-width:380px){
  header .brand .brand-text > strong,
  header .brand > strong{max-width:118px!important;font-size:9.5px!important}
}



/* Production-ready header alignment */
.site-header .nav-wrap{
  height:auto!important;
  min-height:88px;
  display:grid!important;
  grid-template-columns:minmax(350px,1fr) max-content max-content;
  align-items:center;
  gap:clamp(14px,1.25vw,28px)!important;
  padding-top:10px;
  padding-bottom:10px;
}
.site-header .brand{
  width:auto!important;
  max-width:520px!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:62px minmax(0,1fr);
  align-items:center;
  gap:14px!important;
  margin:0!important;
}
.site-header .brand-crest{
  width:62px!important;
  height:72px!important;
  max-width:none!important;
  object-fit:contain!important;
  flex:none!important;
}
.site-header .brand-text{min-width:0!important;max-width:none!important}
.site-header .brand .brand-text>strong,
.site-header .brand>strong{
  max-width:430px!important;
  margin:0!important;
  font-size:14px!important;
  line-height:1.24!important;
  letter-spacing:-.01em!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
.site-header .brand .brand-text>span{
  display:block!important;
  margin-top:5px!important;
  font-size:12.5px!important;
  line-height:1.25!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.site-header .main-nav{
  width:auto!important;
  min-width:max-content!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:nowrap!important;
  gap:2px!important;
  white-space:nowrap!important;
}
.site-header .main-nav>a,
.site-header .main-nav .drop-btn{
  flex:0 0 auto!important;
  white-space:nowrap!important;
  padding:11px 12px!important;
  font-size:14px!important;
}
.site-header .actions{
  width:auto!important;
  min-width:max-content!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:nowrap!important;
  gap:8px!important;
}
.site-header .header-socials{display:flex!important;flex:0 0 auto!important;gap:6px!important}
.site-header .a11y-header-btn,
.site-header .icon-btn{flex:0 0 auto!important}
.site-header .social-logo-image{display:block;width:100%;height:100%;object-fit:cover}
.header-service-row .header-service-link{max-width:min(100%,980px)}

@media(max-width:1580px){
  .site-header .nav-wrap{
    grid-template-columns:minmax(310px,1fr) max-content max-content;
    gap:12px!important;
  }
  .site-header .brand{max-width:420px!important;grid-template-columns:54px minmax(0,1fr);gap:10px!important}
  .site-header .brand-crest{width:54px!important;height:64px!important}
  .site-header .brand .brand-text>strong,
  .site-header .brand>strong{max-width:345px!important;font-size:12.5px!important;line-height:1.2!important}
  .site-header .brand .brand-text>span{font-size:11.5px!important}
  .site-header .main-nav>a,
  .site-header .main-nav .drop-btn{padding:10px 9px!important;font-size:13.5px!important}
  .site-header .a11y-header-btn{
    width:52px!important;
    min-width:52px!important;
    max-width:52px!important;
    padding:0!important;
    justify-content:center!important;
  }
  .site-header .a11y-header-btn .a11y-label{display:none!important}
  .site-header .a11y-header-btn .a11y-symbol{font-size:16px!important}
}

@media(max-width:1260px){
  .site-header .nav-wrap{grid-template-columns:minmax(0,1fr) max-content}
  .site-header .main-nav{display:none!important}
  .site-header .brand{max-width:650px!important}
  .site-header .brand .brand-text>strong,
  .site-header .brand>strong{max-width:520px!important;font-size:13.5px!important}
}

@media(max-width:760px){
  .site-header .nav-wrap{
    min-height:70px;
    grid-template-columns:minmax(0,1fr) max-content;
    gap:7px!important;
    padding-top:7px;
    padding-bottom:7px;
  }
  .site-header .brand{
    max-width:none!important;
    grid-template-columns:36px minmax(0,1fr);
    gap:7px!important;
  }
  .site-header .brand-crest{width:36px!important;height:44px!important}
  .site-header .brand .brand-text>strong,
  .site-header .brand>strong{
    max-width:155px!important;
    font-size:10.5px!important;
    line-height:1.14!important;
  }
  .site-header .brand .brand-text>span{display:none!important}
  .site-header .actions{gap:4px!important}
  .site-header .header-socials{gap:3px!important}
  .site-header .header-socials .social-icon{width:28px!important;height:28px!important;border-radius:8px!important}
  .site-header .a11y-header-btn{width:30px!important;min-width:30px!important;height:34px!important;min-height:34px!important}
  .site-header .a11y-header-btn .a11y-symbol{font-size:12px!important}
  .site-header .icon-btn.burger{width:35px!important;height:35px!important}
  #searchBtn{display:none!important}
  .header-service-row .container{padding-left:12px!important;padding-right:12px!important}
  .header-service-row .header-service-link{font-size:10px!important;line-height:1.25!important;padding:9px 11px!important;text-align:center!important}
}

@media(max-width:390px){
  .site-header .brand{grid-template-columns:32px minmax(0,1fr)}
  .site-header .brand-crest{width:32px!important;height:40px!important}
  .site-header .brand .brand-text>strong,
  .site-header .brand>strong{max-width:126px!important;font-size:9.5px!important}
  .site-header .header-socials .social-icon{width:26px!important;height:26px!important}
  .site-header .a11y-header-btn{width:28px!important;min-width:28px!important}
}


/* Publication package refinements */
#forms .forms-download-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
.report-download{
  margin-top:auto;
  padding-top:18px;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color:var(--accent-deep,var(--accent));
  font-size:13px;
  font-weight:900;
  text-decoration:none;
}
.report-download:hover{transform:translateX(3px)}
@media(max-width:1180px){
  #forms .forms-download-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
  #forms .forms-download-grid{grid-template-columns:1fr!important}
}
