:root{--navy:#061538;--deep:#091f48;--gold:#ffce28;--ink:#102347;--muted:#61718d;--line:#dfe6f0;--bg:#f4f7fc}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit}button,input,select{font:inherit}button{cursor:pointer}[hidden]{display:none!important}
.wrap{max-width:1180px;padding:0 clamp(20px,4vw,48px);margin:auto}:focus-visible{outline:3px solid #d7a000;outline-offset:3px}.skip{position:absolute;top:-90px;left:12px;background:var(--gold);color:var(--navy);padding:12px;z-index:50}.skip:focus{top:12px}
.notice{background:var(--gold);color:var(--navy);font-size:.68rem;letter-spacing:.1em;font-weight:850}.notice .wrap{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:34px}.notice a{text-decoration:none;letter-spacing:0}
header{position:sticky;top:0;z-index:30;background:#07183bf7;color:#fff;border-bottom:1px solid #ffffff1a;backdrop-filter:blur(15px)}.head{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:82px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:850;line-height:1.2}.brand img{width:60px;height:60px;object-fit:contain}.brand span{font-size:1.02rem}.brand small{display:block;color:#ffda66;font-size:.6rem;letter-spacing:.17em;margin-top:6px}
nav{display:flex;align-items:center;gap:clamp(12px,2vw,26px)}nav a{text-decoration:none;color:#e1ebfa;font-size:.85rem;font-weight:700}nav a:hover,nav a[aria-current]{color:var(--gold)}.nav-cta{border:1px solid #ffce2880;color:var(--gold);border-radius:50px;padding:9px 14px}
#menu{display:none;border:1px solid #ffffff70;border-radius:9px;background:transparent;color:#fff;padding:9px 13px}
.intro{padding:72px 0 77px;color:#fff;background:radial-gradient(ellipse at 78% 30%,#1d4a90,transparent 45%),linear-gradient(130deg,#061538,#0b2b60);overflow:hidden;position:relative}.intro:after{content:"";position:absolute;width:410px;height:410px;border:1px solid #ffffff20;border-radius:50%;right:-130px;top:-100px;pointer-events:none}.breadcrumb{display:flex;gap:10px;flex-wrap:wrap;align-items:center;color:#c4d5ed;font-size:.8rem;margin-bottom:25px}.breadcrumb a{color:#fff;text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.kicker{color:#ffda62;font-size:.7rem;font-weight:850;letter-spacing:.18em;text-transform:uppercase}
h1{font-size:clamp(2.5rem,5vw,4.8rem);line-height:1.12;letter-spacing:-.055em;font-weight:850;margin:16px 0 18px;max-width:840px}h1 em{font-style:normal;color:var(--gold)}.intro p{max-width:720px;color:#cbdaf1;line-height:1.85;margin:0}
.content{padding:52px 0 90px;min-height:48vh}.section-title{font-size:clamp(1.5rem,3vw,2.1rem);letter-spacing:-.035em;margin:0 0 9px}.section-lead{color:var(--muted);margin:0 0 25px}
.toolbar{display:flex;align-items:end;gap:14px;justify-content:space-between;flex-wrap:wrap;margin-bottom:24px}.filter-group{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.field{display:grid;gap:5px}.field label{font-weight:750;font-size:.8rem}.field input,.field select{padding:12px 15px;border:1px solid #c6d3e5;border-radius:10px;background:#fff;color:var(--ink);min-width:175px}.field input{min-width:260px}.count{color:var(--muted);font-size:.83rem;font-weight:750}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.tile{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden;box-shadow:0 9px 24px #0c2b5409;display:flex;flex-direction:column}.tile-top{min-height:115px;background:linear-gradient(120deg,#0b2b60,#184887);color:#fff;padding:21px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.tile-top .tag{color:#07183c;background:var(--gold);font-size:.68rem;font-weight:850;letter-spacing:.07em;padding:5px 10px;border-radius:7px}.tile-top .date{font-size:.77rem;color:#d9e7ff}.tile-body{padding:23px;flex:1;display:flex;flex-direction:column}.tile h2{font-size:1.14rem;line-height:1.38;margin:0 0 12px}.tile p{color:#586b86;font-size:.92rem;margin:0 0 19px}.tile a{color:#164c9b;text-decoration:none;border-top:1px solid #e7edf5;padding-top:13px;font-size:.85rem;font-weight:850;margin-top:auto}.tile a:hover{text-decoration:underline}
.empty{background:#fff;border:1px dashed #afc0d8;border-radius:17px;padding:clamp(30px,5vw,60px);text-align:center;max-width:850px;margin:20px auto}.empty-icon{display:grid;place-items:center;width:68px;height:68px;border-radius:19px;background:#eef3fb;color:#1a4c91;font-size:1.75rem;margin:0 auto 20px}.empty h2{font-size:1.35rem;line-height:1.3;margin:0 0 10px}.empty p{max-width:530px;margin:0 auto;color:#63748e;line-height:1.8}.empty .button{margin-top:22px}
.button{display:inline-flex;align-items:center;gap:13px;background:#0c2d63;color:#fff;text-decoration:none;font-weight:800;border:0;border-radius:9px;padding:12px 19px;font-size:.86rem}.button:hover{background:#174d99}.button.outline{background:#fff;color:#123d7d;border:1px solid #b6c7de}
.note{background:#fff8e5;border-left:4px solid var(--gold);padding:17px 21px;border-radius:8px;color:#625332;font-size:.9rem;margin-top:28px}
.calendar-wrap{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.9fr);gap:22px;align-items:start}.calendar,.aside,.article{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 25px #0c2b5408}.calendar{padding:clamp(15px,2.5vw,28px)}.calendar-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:24px}.calendar-head h2{font-size:1.28rem;margin:0;letter-spacing:-.02em}.calendar-actions{display:flex;gap:8px}.icon-btn{border:1px solid #c7d5e8;background:#fff;color:#143e81;border-radius:9px;min-width:42px;min-height:42px;font-size:1.2rem}.icon-btn:hover{background:#eaf1fb}.week,.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.week{margin-bottom:10px}.week span{text-align:center;color:#6b7d98;font-size:.7rem;font-weight:850}.day{min-height:76px;border:1px solid #e6ebf3;border-radius:9px;padding:7px;position:relative;color:#1a345a;font-size:.78rem}.day.muted{background:#f7f9fc;color:#9aabc1}.day.today{border:2px solid #164b99}.day.has-event{background:#fff9e7;border-color:#e7c967}.day-dot{display:block;width:7px;height:7px;background:#d5a30a;border-radius:50%;margin-top:8px}.aside{padding:24px}.aside h3{margin:0 0 8px}.aside p{color:#61718d;font-size:.91rem}.aside .aside-list{margin:15px 0 0;padding:0;list-style:none}.aside-list li{padding:14px 0;border-top:1px solid #e7edf5}.aside-list a{color:#174a92;font-weight:750;text-decoration:none}.aside-list small{display:block;color:#697c97}
.article-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,.8fr);gap:22px;align-items:start}.article{padding:clamp(24px,4vw,44px)}.article .eyebrow{font-size:.7rem;letter-spacing:.14em;font-weight:850;color:#a47700;text-transform:uppercase}.article h2{font-size:clamp(1.7rem,3vw,2.8rem);line-height:1.22;letter-spacing:-.04em;margin:12px 0 20px}.article p{line-height:1.9;color:#4c607e}.article .meta{color:#6a7b94;font-size:.84rem;padding-bottom:20px;border-bottom:1px solid #e5ebf4;margin-bottom:24px}.article .body-copy p{margin:0 0 18px}.back{display:inline-flex;gap:8px;color:#174a92;text-decoration:none;font-weight:800;margin-bottom:23px;font-size:.88rem}
footer{background:#06132f;color:#d7e5ff;padding:45px 0}.foot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.foot p{max-width:600px;font-size:.8rem;color:#b6c7df}.foot a{color:#ffda66}.footer-brand{display:flex;align-items:center;gap:12px;font-weight:850}.footer-brand img{width:52px;height:52px;object-fit:contain}
@media(max-width:960px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-wrap,.article-layout{grid-template-columns:1fr}}
@media(max-width:850px){#menu{display:block}.head{min-height:72px}.brand img{width:50px;height:50px}.brand span{font-size:.91rem}.brand small{font-size:.53rem}nav{display:none;position:absolute;top:100%;left:0;right:0;background:#081b41;padding:15px 22px 23px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 20px 28px #0004}nav.open{display:flex}nav a{padding:12px 8px;border-bottom:1px solid #ffffff16}.nav-cta{text-align:center;margin-top:9px}.intro{padding:50px 0 58px}}
@media(max-width:570px){.notice{font-size:.56rem}.grid{grid-template-columns:1fr}.toolbar{align-items:stretch}.filter-group,.field{width:100%}.field input,.field select{width:100%;min-width:0}.content{padding:34px 0 66px}.day{min-height:55px;padding:4px;font-size:.7rem}.week,.days{gap:3px}.calendar{padding:12px}.calendar-head h2{font-size:1.05rem}.calendar-actions{gap:4px}.icon-btn{min-width:35px;min-height:37px}.aside{padding:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
