
:root{
  --ink:#12181f; --sub:#5b6672; --line:#dfe4ea; --bg:#f6f8fa; --card:#fff;
  --brand:#0b3d5c; --brand2:#12608f; --warn:#b3261e; --warnbg:#fdeceb;
  --ok:#1b6b3a; --okbg:#eaf5ee; --gold:#8a6d1f; --goldbg:#fdf6e3;

  
  --accent:#12608f;   
  --dim:#5b6672;      
}
*{box-sizing:border-box}
body{margin:0;font:16px/1.65 -apple-system,"Segoe UI",Roboto,"Hiragino Kaku Gothic ProN",sans-serif;
  color:var(--ink);background:var(--bg)}
h1,h2,h3{line-height:1.3;margin:0 0 .5em}
h1{font-size:1.9rem}h2{font-size:1.3rem}h3{font-size:1.05rem}
p{margin:0 0 .8em}
a{color:var(--brand2)}
.small{font-size:.83rem;color:var(--sub)}

.top{display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.7rem 1.2rem;background:var(--brand);color:#fff;flex-wrap:wrap}
.brand{color:#fff;font-weight:800;letter-spacing:.14em;text-decoration:none;font-size:1.1rem}
.top nav{display:flex;gap:1rem;align-items:center}
.top nav a{color:#cfe3f0;text-decoration:none;font-size:.9rem}
.top nav a:hover{color:#fff}
#lang{background:transparent;border:1px solid #4d7f9e;color:#cfe3f0;border-radius:4px;
  padding:.25rem .6rem;font:inherit;font-size:.8rem;cursor:pointer}


main{max-width:1120px;margin:0 auto;padding:1.5rem 1.6rem 3rem}
body.landing main{max-width:none;padding:0}   
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;
  padding:1.2rem 1.3rem;margin:0 0 1.1rem}
.card.warn{border-color:#e8b4b0;background:var(--warnbg)}
.card.ok{border-color:#b6d9c3;background:var(--okbg)}
.card.gold{border-color:#e0cd93;background:var(--goldbg)}

label{display:block;font-weight:600;font-size:.9rem;margin:.9rem 0 .3rem}
select,input[type=text],input[type=number],input[type=email]{
  width:100%;padding:.6rem .7rem;border:1px solid var(--line);border-radius:6px;
  font:inherit;background:#fff}
.go{background:var(--brand2);color:#fff;border:0;border-radius:6px;
  padding:.7rem 1.4rem;font:inherit;font-weight:700;cursor:pointer;
  text-decoration:none;display:inline-block}
.go:hover{background:var(--brand);color:#fff}
.ghost{background:#fff;color:var(--brand2);border:1px solid var(--brand2);
  border-radius:6px;padding:.55rem 1.1rem;font:inherit;cursor:pointer;
  text-decoration:none;display:inline-block}
.row{display:flex;gap:.7rem;flex-wrap:wrap;align-items:flex-end}
.row>*{flex:1 1 160px}
.row .narrow{flex:0 0 auto}

table{border-collapse:collapse;width:100%;font-size:.9rem}
th,td{border-bottom:1px solid var(--line);padding:.45rem .5rem;text-align:left;vertical-align:top}
th{color:var(--sub);font-weight:600;white-space:nowrap}
.wrap{overflow-x:auto}

.big{font-size:2.1rem;font-weight:800;line-height:1.1}
.days{font-size:3rem;font-weight:800;color:var(--warn);line-height:1}
.tag{display:inline-block;font-size:.75rem;font-weight:700;padding:.15rem .5rem;
  border-radius:99px;background:#e6edf3;color:var(--brand);margin-right:.4rem}
.tag.red{background:#f8d7d4;color:var(--warn)}
.tag.green{background:#d9eee1;color:var(--ok)}

.lock{position:relative}
.lock .blur{filter:blur(6px);user-select:none;pointer-events:none;opacity:.7}
.paywall{border:2px dashed var(--gold);background:var(--goldbg);border-radius:10px;
  padding:1rem 1.2rem;margin-top:.8rem}

ol.steps{margin:0;padding-left:1.3rem}
ol.steps li{margin-bottom:.35rem}

.q{font-size:1.15rem;font-weight:700;margin-bottom:.6rem}
.hint{background:#eef4f8;border-left:4px solid var(--brand2);padding:.6rem .8rem;
  border-radius:0 6px 6px 0;margin:.6rem 0;font-size:.9rem}
.hint b{color:var(--brand)}
.prog{height:6px;background:#e6edf3;border-radius:99px;overflow:hidden;margin-bottom:1rem}
.prog>span{display:block;height:100%;background:var(--brand2)}

.subrow{border-bottom:1px solid var(--line);padding:.6rem 0}
.subrow:last-child{border-bottom:0}
.foot{max-width:1120px;margin:0 auto;padding:1.5rem 1.2rem 3rem;color:var(--sub);font-size:.85rem}
.foot a{color:var(--sub)}


.sub{display:flex;flex-wrap:wrap;gap:.2rem .9rem;align-items:center;
  background:#e9eff4;border-bottom:1px solid var(--line);padding:.45rem 1.2rem;font-size:.85rem}
.sub-g{font-weight:700;color:var(--brand);margin-right:.4rem}
.sub a{color:var(--sub);text-decoration:none;padding:.15rem 0}
.sub a:hover{color:var(--brand2)}
.sub a.on{color:var(--brand);font-weight:700;border-bottom:2px solid var(--brand2)}


.crumbs{font-size:.83rem;color:var(--sub);margin:0 0 .9rem;line-height:1.7}
.crumbs a{color:var(--brand2);text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.crumbs span{color:var(--ink);font-weight:600}


.ad{display:flex;gap:.8rem;align-items:flex-start;border:1px dashed #c9b98a;
  background:#fdfaf2;border-radius:10px;padding:.9rem 1rem;margin:0 0 1.1rem}
.ad-tag{flex:0 0 auto;font-size:.68rem;font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;color:#8a6d1f;border:1px solid #c9b98a;
  border-radius:4px;padding:.1rem .35rem;background:#fff}
.ad-body{flex:1 1 auto;line-height:1.5}


.hero{background:var(--brand);padding:.8rem 1.2rem;margin:-1.5rem -1.2rem 1.2rem}
.hero-row{display:flex;gap:.8rem;align-items:stretch;flex-wrap:wrap;max-width:1120px;margin:0 auto}
.hero-loc{flex:0 0 auto;color:#cfe3f0;text-decoration:none;padding:.35rem .7rem;
  border:1px solid #35708f;border-radius:6px;line-height:1.25}
.hero-loc:hover{border-color:#cfe3f0;color:#fff}
.hero-loc .small{color:#8fb6cc;font-size:.72rem}
.hero-search{flex:1 1 320px;display:flex;gap:0}
.hero-search input{flex:1 1 auto;border-radius:6px 0 0 6px;border:0;padding:.65rem .8rem}
.hero-search .go{border-radius:0 6px 6px 0;background:#f0a530;color:#12181f}
.hero-search .go:hover{background:#e0951f;color:#12181f}


.c4{display:flex;flex-direction:column}
.c4 h3{font-size:1.05rem;margin-bottom:.6rem}
.c4-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;flex:1 1 auto}
.c4-i{display:block;text-decoration:none;color:inherit;background:#f6f8fa;
  border:1px solid var(--line);border-radius:8px;padding:.6rem .5rem;text-align:center}
.c4-i:hover{border-color:var(--brand2);background:#eef4f8}
.c4-ic{font-size:1.5rem;line-height:1.2}
.c4-t{font-size:.78rem;font-weight:600;line-height:1.3;margin-top:.15rem}
.c4-more{display:inline-block;margin-top:.7rem;font-size:.85rem;font-weight:600}


.rail{display:flex;gap:.7rem;overflow-x:auto;padding:.2rem 0 .6rem}
.rail-i{flex:0 0 150px;text-decoration:none;color:inherit;background:#f6f8fa;
  border:1px solid var(--line);border-radius:8px;padding:.7rem .8rem}
.rail-i.wide{flex:0 0 210px}
.rail-i:hover{border-color:var(--brand2)}
.rail-d{font-size:.75rem;font-weight:700;color:var(--brand2)}
.rail-t{font-weight:700;line-height:1.3;margin:.15rem 0}


.map{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}
.map h3{font-size:.9rem;color:var(--brand);margin-bottom:.3rem}
.map ul{margin:0;padding-left:1.1rem;font-size:.87rem}
.map li{margin-bottom:.2rem}


.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.9rem;margin:0 0 1.1rem}
.tile{display:block;background:var(--card);border:1px solid var(--line);border-radius:10px;
  padding:1rem 1.1rem;text-decoration:none;color:inherit}
.tile:hover{border-color:var(--brand2);box-shadow:0 1px 6px rgba(11,61,92,.10)}
.tile-h{font-size:.8rem;font-weight:700;color:var(--brand2);text-transform:uppercase;letter-spacing:.04em}
.tile-b{font-size:2rem;font-weight:800;line-height:1.15;margin:.15rem 0}
.tile-s{font-size:.82rem;color:var(--sub);line-height:1.45}


.bars{display:flex;align-items:flex-end;gap:.4rem;height:150px;margin:1rem 0 .3rem}
.bar{flex:1 1 0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%}
.bar-fill{width:100%;background:var(--brand2);border-radius:3px 3px 0 0;min-height:2px}
.bar-n{font-size:.75rem;font-weight:700;color:var(--brand);margin-top:.2rem}
.bar-l{font-size:.7rem;color:var(--sub)}

@media print{
  .top,.foot,button,.paywall{display:none}
  body{background:#fff}
  .card{break-inside:avoid;border:1px solid #999}

  
  .wrap{overflow:visible !important}
  .wrap table{width:100% !important; table-layout:fixed}
  .wrap th, .wrap td{white-space:normal !important; word-break:break-word;
    overflow-wrap:anywhere; vertical-align:top}
}


.big-screen{background:#0b1116;color:#e8eef4;margin:-1.5rem -1.2rem -3rem;
  padding:1.4rem 1.6rem 1rem;min-height:100vh;font-variant-numeric:tabular-nums}
.bs-head{display:flex;justify-content:space-between;align-items:baseline;
  border-bottom:1px solid #23303b;padding-bottom:.7rem;margin-bottom:1rem}

.bs-brand{font-size:1.6rem;font-weight:800;letter-spacing:.2em;color:#7fb2d0;
  margin:0;line-height:inherit}
.bs-date{font-size:1.1rem;color:#8fa3b3}
.bs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem}
.bs-cell{background:#111a21;border:1px solid #23303b;border-radius:10px;padding:1rem 1.1rem}
.bs-wide{grid-column:1 / -1}
.bs-label{font-size:.72rem;letter-spacing:.14em;color:#6f8798;font-weight:700;margin-bottom:.35rem}
.bs-num{font-size:2.8rem;font-weight:800;line-height:1;color:#e8eef4}
.bs-num.hot{color:#ff6b5e}
.bs-sub{font-size:.82rem;color:#8fa3b3;line-height:1.4}
.bs-none{font-size:1.3rem;color:#8fa3b3;padding:.6rem 0}
.bs-row{display:flex;gap:2rem;flex-wrap:wrap;align-items:baseline}
.bs-row>div{display:flex;flex-direction:column}
.bs-table{width:100%;border-collapse:collapse}
.bs-table td{border-bottom:1px solid #1b2630;padding:.5rem .4rem;vertical-align:baseline}
.bs-days{font-size:2.2rem;font-weight:800;color:#e8eef4;width:4.5rem;text-align:right}
.bs-days.hot{color:#ff6b5e}
.bs-unit{font-size:.8rem;color:#6f8798;width:2.5rem}
.bs-name{font-size:1.05rem;font-weight:600}
.bs-name .bs-sub{display:block;font-size:.78rem}
.bs-foot{margin-top:1.2rem;padding-top:.7rem;border-top:1px solid #23303b;
  font-size:.74rem;color:#5f7484}
.bs-foot a{color:#7fb2d0}


body.bs-mode .top, body.bs-mode .sub, body.bs-mode .foot{display:none}
body.bs-mode main{max-width:none;padding:0}


.sheet{background:#fff;border:1px solid var(--line);border-radius:10px;padding:1.2rem 1.3rem;
  font-size:.86rem;line-height:1.45}
.sh-head{display:flex;justify-content:space-between;align-items:flex-start;
  border-bottom:2px solid #12181f;padding-bottom:.5rem;margin-bottom:.7rem}
.sh-t{font-size:1.15rem;font-weight:800;letter-spacing:.03em}
.sh-s{font-size:.82rem;color:var(--sub)}
.sh-date{font-size:.8rem;color:var(--sub);white-space:nowrap}
.sh-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-bottom:.7rem}
.sh-box{border:1px solid #b9c3cc;border-radius:6px;padding:.6rem .7rem;margin-bottom:.7rem}
.sh-hot{border-width:2px;border-color:#12181f}
.sh-l{font-size:.68rem;font-weight:800;letter-spacing:.1em;color:#3d4b57;margin-bottom:.25rem}
.sh-big{font-size:1.9rem;font-weight:800;line-height:1.05}
.sh-big2{font-size:1.15rem;font-weight:700}
.sh-n{font-size:.76rem;color:var(--sub);margin-top:.2rem}
.sh-ol{margin:.2rem 0 0;padding-left:1.2rem}
.sh-ol li{margin-bottom:.15rem}
.sh-2col{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-top:.6rem;
  border-top:1px solid #d3dae1;padding-top:.5rem}
.sh-tbl{width:100%;border-collapse:collapse;font-size:.8rem;margin-top:.3rem}
.sh-tbl th,.sh-tbl td{border:1px solid #cbd4dc;padding:.22rem .35rem;text-align:left}
.sh-tbl th{background:#eef2f5;font-size:.72rem}
.sh-rule{border-bottom:1px solid #cbd4dc;height:1.35rem}
.sh-foot{border-top:1px solid #b9c3cc;padding-top:.4rem;margin-top:.3rem;
  font-size:.66rem;color:var(--sub)}
@media print{
  .no-print{display:none}
  .sheet{border:0;padding:0;font-size:9.5pt}
  @page{size:A4 portrait;margin:12mm}
}


.browse{display:grid;grid-template-columns:15rem 1fr;gap:1rem;align-items:start}

.browse > *{min-width:0}

@media(max-width:820px){
  .browse{grid-template-columns:minmax(0,1fr)}
  .browse > *{min-width:0}
}
.side{position:sticky;top:.6rem}
.fbox{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:.9rem 1rem}
.fbox h3{margin:0 0 .5rem;font-size:.92rem}
.fl{display:flex;align-items:center;gap:.45rem;padding:.28rem 0;font-size:.86rem;cursor:pointer}
.fl input{margin:0;flex:none}
.fl span:first-of-type{flex:1}
.fc{color:var(--dim);font-size:.78rem;font-variant-numeric:tabular-nums}
.sortbar{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin:0 0 .7rem}
.sb-l{color:var(--dim);font-size:.82rem;margin-right:.2rem}
.sb{background:var(--card);border:1px solid var(--line);border-radius:999px;
    padding:.28rem .8rem;font-size:.82rem;cursor:pointer;color:inherit}
.sb.on{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}
.pager{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;margin-top:.9rem}
.pg{background:var(--card);border:1px solid var(--line);border-radius:6px;
    min-width:2.1rem;padding:.3rem .55rem;font-size:.85rem;cursor:pointer;color:inherit}
.pg.on{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}
.pg-e{color:var(--dim);padding:0 .15rem}
.pg-c{color:var(--dim);font-size:.8rem;margin-left:auto}

.rail{display:flex;gap:.6rem;overflow-x:auto;padding:.2rem 0 .5rem}
.rail-i{flex:0 0 11rem;background:var(--card);border:1px solid var(--line);
        border-radius:8px;padding:.6rem .7rem;text-decoration:none;color:inherit}
.rail-i:hover{border-color:var(--accent)}
.rail-d{color:var(--dim);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}
.fav-btn{float:right;margin-left:.6rem}
.cfr-p{font-size:.88rem;line-height:1.75;margin:.5rem 0}
#cfr-body h3{margin:1.1rem 0 .3rem;font-size:.95rem;color:var(--accent)}


@media(max-width:640px){
  .top{flex-wrap:wrap;gap:.5rem;padding:.6rem .8rem}
  .top nav{flex-wrap:wrap;gap:.55rem .9rem;width:100%}
  .top nav a{font-size:.82rem}
  .top nav button{font-size:.78rem;padding:.2rem .5rem}
  .brand{font-size:1rem}
  
  .sub{overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}
  .sub a{display:inline-block}
  
  .row{flex-wrap:wrap}
  .row>div{flex:1 1 100%}
  .row>div.narrow{flex:1 1 auto}
  .tiles{grid-template-columns:1fr 1fr}
  .sortbar{overflow-x:auto;white-space:nowrap;padding-bottom:.3rem}
  .sortbar .sb{flex:none}
  .pg-c{margin-left:0;width:100%}
  
  .wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  table{min-width:0}
  h1{font-size:1.25rem}
  h2{font-size:1.05rem}
  
  .side{position:static}
}

html,body{max-width:100%;overflow-x:hidden}
img,svg,table{max-width:100%}


.card td,.card th,.card li,.card p,.card a,.card dd,.card dt{
  overflow-wrap:anywhere;
  word-break:normal;
}



.hl{font-weight:700;color:inherit;
  border-bottom:2px solid rgba(18,96,143,.55);
  padding-bottom:.04em}

.gate .hl,.alarm .hl{border-bottom-color:rgba(224,168,60,.85)}

h1 .hl,h2 .hl{border-bottom-width:1px}
.quote{margin:.8rem 0;padding:.7rem 1rem;border-left:3px solid var(--accent);
       background:rgba(0,0,0,.03);font-size:.9rem;line-height:1.7}
.quote cite{display:block;margin-top:.4rem;font-style:normal;color:var(--dim);font-size:.82rem}


.rail-col{position:fixed;top:6.5rem;width:160px;display:flex;flex-direction:column;gap:.9rem;z-index:5}
.rail-col-l{left:calc(50% - 430px - 25px - 160px)}
.rail-col-r{left:calc(50% + 430px + 25px)}
.railad{background:var(--card);border:1px solid var(--line);border-radius:10px;
        padding:.6rem .7rem;min-height:180px;display:flex;flex-direction:column}
.railad .ad-tag{font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;
                color:var(--dim);border-bottom:1px solid var(--line);
                padding-bottom:.3rem;margin-bottom:.5rem}
.railad-body{font-size:.8rem;line-height:1.55}
.railad-body b{display:block;margin-bottom:.3rem}
@media(max-width:1239px){ .rail-col{display:none} }
@media print{ #railads{display:none} }



:root{
  
  --f-display: Georgia, 'Times New Roman', 'Yu Mincho', 'Hiragino Mincho ProN', serif;
  --f-body: -apple-system, 'Segoe UI', Roboto, 'Hiragino Kaku Gothic ProN', sans-serif;
  --f-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  
  --t1:.72rem; --t2:.82rem; --t3:.92rem; --t4:1rem;
  --t5:1.22rem; --t6:1.6rem; --t7:2.4rem; --t8:4.2rem;
  
  --seal:#0b3d5c; --rule:#0b3d5c; --danger:#8f1d16; --dangerbg:#fbeae8;
}


h1,h2{font-family:var(--f-display);letter-spacing:-.01em}
h1{font-size:var(--t7);font-weight:700;line-height:1.15;margin-bottom:.35em}
h2{font-size:var(--t5);font-weight:700}
h3{font-family:var(--f-body);font-size:var(--t4);font-weight:700;
   letter-spacing:.02em;text-transform:none}


.card > h1{padding-bottom:.4rem;border-bottom:3px solid var(--rule)}
.card > h2{padding-bottom:.3rem;border-bottom:1px solid var(--line)}


.mono,.cite-no{font-family:var(--f-mono);font-size:var(--t2);letter-spacing:-.01em}


.alarm{background:var(--dangerbg);border:2px solid var(--danger);border-radius:12px;
       padding:1.1rem 1.3rem;margin:1rem 0}
.alarm .alarm-k{font-family:var(--f-body);font-size:var(--t1);letter-spacing:.14em;
                text-transform:uppercase;color:var(--danger);font-weight:700}
.alarm .alarm-n{font-family:var(--f-display);font-size:var(--t8);line-height:1;
                font-weight:700;color:var(--danger);letter-spacing:-.02em}
.alarm .alarm-s{font-family:var(--f-body);font-size:var(--t3);color:var(--ink);margin-top:.3rem}


.big{font-family:var(--f-display);font-size:var(--t7);font-weight:700;line-height:1.05}
.figure{font-family:var(--f-display);font-size:var(--t8);font-weight:700;line-height:1;
        letter-spacing:-.02em}
.figure-l{font-family:var(--f-body);font-size:var(--t1);letter-spacing:.14em;
          text-transform:uppercase;color:var(--sub);font-weight:700}


.hero-q{font-size:var(--t5)!important;padding:.9rem 1.1rem!important}
.go{font-family:var(--f-body);font-weight:700;letter-spacing:.02em}


table{font-size:var(--t3)}
thead th{font-family:var(--f-body);font-size:var(--t1);letter-spacing:.1em;
         text-transform:uppercase;color:var(--sub);font-weight:700;
         border-bottom:2px solid var(--rule)!important}
tbody th{font-weight:600}
tbody tr td,tbody tr th{padding-top:.6rem;padding-bottom:.6rem}


.src{font-family:var(--f-mono);font-size:var(--t1);color:var(--sub);
     border-top:1px solid var(--line);padding-top:.5rem;margin-top:.8rem}


.card > h2:first-child{display:flex;align-items:baseline;gap:.5rem}


.top{border-bottom:4px solid var(--gold,#c8971f)}
.brand{font-family:var(--f-display);letter-spacing:.22em;font-weight:700}


@media print{
  h1,h2{font-family:var(--f-display)}
  .alarm{border:2px solid #000}
}


.gate{background:linear-gradient(180deg,#0b3d5c 0%,#09314a 100%);
      color:#fff;padding:3.2rem 1.2rem 2.8rem;margin:0 0 1.2rem;
      border-bottom:4px solid #c8971f}
.gate-in{max-width:860px;margin:0 auto}
.gate-k{font-family:var(--f-body);font-size:var(--t1);letter-spacing:.18em;
        color:#a9c6da;font-weight:700;margin-bottom:.8rem}
.gate-h{font-family:var(--f-display);font-size:clamp(1.9rem,4.4vw,3.2rem);
        line-height:1.1;font-weight:700;color:#fff;margin:0 0 .6rem;border:0!important}
.gate-p{font-size:var(--t5);color:#dbe8f1;max-width:44em;margin:0 0 1.4rem}
.gate-form{display:flex;gap:.6rem;flex-wrap:wrap}
.gate-form input{flex:3 1 340px;border:0;border-radius:8px;padding:1rem 1.1rem;
                 font-size:var(--t5);font-family:var(--f-body)}
.gate-form .go{flex:0 0 auto;padding:1rem 1.6rem;font-size:var(--t4);
               background:#c8971f;color:#12181f;border:0;border-radius:8px;cursor:pointer}
.gate-form .go:hover{background:#dcaa2c}
.gate-note{margin-top:.8rem;font-size:var(--t2);color:#a9c6da;letter-spacing:.02em}
@media(max-width:640px){ .gate{padding:2.2rem 1rem 2rem} .gate-p{font-size:var(--t4)} }




.card h2{font-variant-numeric:lining-nums}


.seal{display:inline-flex;align-items:center;gap:.35rem;
      font-family:var(--f-body);font-size:var(--t1);letter-spacing:.1em;
      text-transform:uppercase;font-weight:700;color:var(--seal);
      border:1.5px solid var(--seal);border-radius:3px;padding:.16rem .45rem}
.seal-gov{color:#0b3d5c;border-color:#0b3d5c}
.seal-un{color:#8a6d1f;border-color:#8a6d1f}


.statute{font-family:var(--f-mono);font-size:var(--t2);line-height:1.7;
         border-left:4px solid var(--rule);background:#f2f5f8;
         padding:.7rem .9rem;margin:.7rem 0;white-space:pre-wrap}


.kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
     gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;
     overflow:hidden;margin:1rem 0}
.kpi > div{background:var(--card);padding:1rem 1.1rem}
.kpi .k{font-family:var(--f-body);font-size:var(--t1);letter-spacing:.12em;
        text-transform:uppercase;color:var(--sub);font-weight:700;margin-bottom:.3rem}
.kpi .v{font-family:var(--f-display);font-size:var(--t6);font-weight:700;line-height:1.1}
.kpi .v.warn{color:var(--danger)}
.kpi .s{font-size:var(--t2);color:var(--sub);margin-top:.2rem}


.card ul li{margin:.4rem 0}


.card > p{max-width:62em}


.card > h1 + p{font-size:var(--t5);color:var(--ink)}


#cfr-body h3{font-family:var(--f-display);font-size:var(--t4);color:var(--seal);
             border-bottom:1px solid var(--line);padding-bottom:.25rem;margin-top:1.4rem}
#cfr-body .cfr-p{font-family:var(--f-body);font-size:var(--t3);line-height:1.8;
                 max-width:62em;margin:.55rem 0}
#cfr-body .cfr-p:first-letter{font-weight:600}





.card > h2{
  font-family:var(--f-display);
  font-size:var(--t6);
  line-height:1.25;
  margin:0 0 .5rem;
  padding-bottom:.35rem;
  border-bottom:1px solid var(--line);
}

.card{counter-reset:sec}
.card > h2::before{
  counter-increment:sec;
  content:counter(sec,decimal-leading-zero);
  font-family:var(--f-mono);
  font-size:var(--t2);
  font-weight:700;
  color:var(--seal);
  background:rgba(11,61,92,.07);
  border:1px solid rgba(11,61,92,.22);
  border-radius:3px;
  padding:.12rem .38rem;
  margin-right:.55rem;
  vertical-align:.16em;
  letter-spacing:.06em;
}

.card > h2:first-of-type:last-of-type::before{content:none;margin:0}

.card > h3{
  font-family:var(--f-body);
  font-size:var(--t4);
  font-weight:700;
  letter-spacing:.02em;
  text-transform:none;
  margin:1.2rem 0 .35rem;
  padding-left:.55rem;
  border-left:3px solid var(--seal);
}


.card > h1 + p,
.card > h2 + p{
  font-size:var(--t5);
  line-height:1.62;
  color:var(--ink);
}
.card > h1 + p{ max-width:60ch }


.card p{ line-height:1.72; max-width:74ch }
.card li{ line-height:1.68; margin:.28rem 0 }
.card ul,.card ol{ padding-left:1.15rem }
.card ul li::marker{ color:var(--seal) }
.card ol li::marker{ font-family:var(--f-mono); font-weight:700; color:var(--seal) }


.card table{ font-size:var(--t3) }
.card thead th{
  font-family:var(--f-body);
  font-size:var(--t1);
  letter-spacing:.09em;
  text-transform:uppercase;
  font-weight:700;
  color:var(--dim);
  border-bottom:2px solid var(--rule);
  white-space:nowrap;
}
.card tbody tr:nth-child(even){ background:rgba(0,0,0,.018) }
.card td.num,.card td .money,.card .mono{
  font-family:var(--f-mono);
  font-variant-numeric:tabular-nums;
}

.card table td{ font-variant-numeric:tabular-nums }


.card blockquote,.quote{
  font-family:var(--f-display);
  font-size:var(--t4);
  line-height:1.6;
  border-left:4px solid var(--seal);
  background:rgba(11,61,92,.04);
  margin:.9rem 0;
  padding:.75rem 1rem;
}
.quote cite{
  display:block;
  margin-top:.5rem;
  font-family:var(--f-body);
  font-size:var(--t2);
  font-style:normal;
  color:var(--dim);
}


.src{
  font-family:var(--f-mono);
  font-size:var(--t1);
  letter-spacing:.04em;
  color:var(--dim);
  margin-top:.7rem;
  padding-top:.45rem;
  border-top:1px dotted var(--line);
}


.stake{
  display:flex; align-items:baseline; gap:.7rem; flex-wrap:wrap;
  margin:.2rem 0 1.1rem;
  padding:.6rem .85rem;
  border-left:5px solid var(--danger);
  background:var(--dangerbg);
  border-radius:0 6px 6px 0;
}
.stake .stake-k{
  font-family:var(--f-body); font-size:var(--t1); font-weight:700;
  letter-spacing:.12em; text-transform:uppercase; color:var(--danger);
  white-space:nowrap;
}
.stake .stake-v{ font-size:var(--t3); line-height:1.55; color:var(--ink) }
.stake .stake-n{
  font-family:var(--f-display); font-size:var(--t5); font-weight:700;
  color:var(--danger); font-variant-numeric:tabular-nums; white-space:nowrap;
}


.seal + .seal{ margin-left:.35rem }

@media(max-width:640px){
  .card > h2{ font-size:var(--t5) }
  .card > h1 + p,.card > h2 + p{ font-size:var(--t4) }
  .stake{ flex-direction:column; gap:.25rem }
}

@media print{
  .stake,.alarm{ border-left-width:3px }
  .card > h2::before{ background:none }
}



@media(max-width:760px){

  
  .card > table,
  .card > * > table:not(.wrap table){
    display:block;
    max-width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
  
  .card th{ white-space:normal }

  
  .card td,.card th,.card li,.card p,.card a{
    overflow-wrap:anywhere;
    word-break:normal;
  }

  
  .fl{ flex-wrap:wrap }
  .fl > *{ min-width:0 }
  .fl span:first-of-type{ flex:1 1 auto; min-width:0 }
  .fc{ flex:none }
  .row > *{ min-width:0 }
  .kpi > *{ min-width:0 }
  .stake > *{ min-width:0 }
  .tiles,.map,.c4-grid{ grid-template-columns:1fr }
}


@media(max-width:1024px){
  .card > table,
  .card > * > table:not(.wrap table){
    display:block; max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch;
  }
  .card th{ white-space:normal }
  .card td,.card th,.card li,.card p,.card a{ overflow-wrap:anywhere; word-break:normal }
  .fl{ flex-wrap:wrap }
  .fl > *{ min-width:0 }
  .fl span:first-of-type{ flex:1 1 auto; min-width:0 }
  .row > *,.kpi > *,.stake > *{ min-width:0 }
  .big-screen{ margin-left:-1.2rem; margin-right:-1.2rem; max-width:100vw; overflow-x:hidden }
}


@media(max-width:760px){
  .big-screen{ margin-left:-1.2rem; margin-right:-1.2rem; max-width:100vw; overflow-x:hidden }
}


.src-badge{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap;
  padding:.5rem .7rem;border-left:4px solid var(--seal);
  background:rgba(11,61,92,.04);border-radius:0 6px 6px 0}





.sb, .pg{
  min-height:36px;
  padding:.5rem .85rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.go{ min-height:44px }
.ghost{ min-height:40px }


.ad-tag{ font-size:.75rem }      
.sh-l{ font-size:.75rem }
.sh-foot{ font-size:.75rem }
.card svg text{ font-size:11px } 


.big-screen{ max-width:100%; overflow-x:hidden }


.sortbar, .pager{ gap:.5rem }


.card svg{ max-width:100%; height:auto; overflow:hidden }


body.landing{ max-width:56rem; margin:0 auto; padding:0 1rem 4rem; }
.landing .lp-head{ display:flex; align-items:baseline; gap:.9rem;
  padding:1.4rem 0 .9rem; border-bottom:1px solid var(--line); margin-bottom:1.2rem; }
.landing .lp-brand{ font-size:1.5rem; font-weight:700; letter-spacing:.06em; color:var(--ink); }
.landing .lp-sub{ font-size:.86rem; color:var(--dim); }
.landing .lp-hero h1{ font-size:2rem; line-height:1.25; margin:0 0 .8rem; }
.landing .lp-lead{ font-size:1.06rem; line-height:1.7; margin:.6rem 0; }
.landing .lp-price{ font-size:1.5rem; margin:.4rem 0 .2rem; }
.landing .lp-f{ margin:.85rem 0; }
.landing .lp-f label{ display:block; font-weight:600; margin-bottom:.25rem; }

.landing .lp-f input{ width:100%; padding:.55rem .6rem; font:inherit;
  border:1px solid #767f8a; border-radius:.35rem; background:#fff; color:var(--ink); }
.landing .lp-f input:focus{ outline:2px solid var(--accent); outline-offset:1px; }
.landing .req{ color:var(--warn); }
.landing .go2{ background:transparent; color:var(--ink);
  border:1px solid var(--line); border-radius:.35rem; padding:.5rem .9rem;
  font:inherit; cursor:pointer; }
.landing .go2:hover{ border-color:var(--accent); }
.landing footer{ margin-top:2rem; padding-top:1rem; border-top:1px solid var(--line); }
@media (max-width:640px){ .landing .lp-hero h1{ font-size:1.55rem; } }


.mh-hero{
  background:linear-gradient(160deg,#12384f 0%,#0b2637 100%);
  color:#fff; border-radius:.6rem; padding:2.2rem 1.6rem 1.8rem;
  margin:0 0 1rem; text-align:center; border-top:4px solid var(--gold,#e0a83c);
}
.mh-hero.mh-amber{ border-top-color:#e0a83c; }
.mh-hero.mh-red{ border-top-color:#b3261e; }
.mh-kicker{
  text-transform:uppercase; letter-spacing:.16em; font-size:.74rem;
  opacity:.82; margin-bottom:.3rem;
}
.mh-bignum{
  font-size:7.5rem; line-height:.92; font-weight:700;
  font-variant-numeric:tabular-nums; letter-spacing:-.02em;
}
.mh-hero.mh-amber .mh-bignum{ color:#f2c96b; }
.mh-hero.mh-red .mh-bignum{ color:#ff8a80; }
.mh-days{
  text-transform:uppercase; letter-spacing:.22em; font-size:.9rem;
  opacity:.9; margin-top:.1rem;
}
.mh-date{ font-size:1.45rem; margin-top:.8rem; font-weight:600; }
.mh-ag{ font-size:1rem; opacity:.85; margin-top:.25rem; }
.mh-actions{ margin:1.4rem 0 0; display:flex; gap:.6rem; justify-content:center; flex-wrap:wrap; }
.mh-cta{
  display:inline-block; background:var(--gold,#e0a83c); color:#12384f;
  font-weight:700; padding:.7rem 1.4rem; border-radius:.35rem; text-decoration:none;
}
.mh-cta:hover{ filter:brightness(1.08); }
.mh-cta2{
  display:inline-block; border:1px solid rgba(255,255,255,.45); color:#fff;
  padding:.7rem 1.2rem; border-radius:.35rem; text-decoration:none;
}
.mh-cta2:hover{ border-color:#fff; }

.mh-risk{
  background:var(--warnbg,#fdecea); border:1px solid var(--warnline,#f3c6c1);
  border-radius:.6rem; padding:1.1rem 1.2rem; margin:0 0 1rem;
}
.mh-risk-h{
  text-transform:uppercase; letter-spacing:.14em; font-size:.74rem;
  color:#8a1c13; font-weight:700; margin-bottom:.7rem;
}
.mh-risk-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:.9rem; }
.mh-rk{ font-size:.74rem; text-transform:uppercase; letter-spacing:.08em; color:var(--dim); }
.mh-rv{ font-size:1.75rem; font-weight:700; color:#b3261e; font-variant-numeric:tabular-nums; }
.mh-rv.mh-ok{ color:#1d6b3f; }
.mh-rv span{ font-size:.85rem; font-weight:400; }

.mh-rs{ font-size:.72rem; line-height:1.45; color:var(--sub); margin-top:.25rem; max-width:22rem; }
.mh-note{ font-size:.8rem; color:var(--dim); margin:.7rem 0 0; }

.mh-tiles{ display:grid; grid-template-columns:repeat(3,1fr); gap:.9rem; }
.mh-tile{
  background:var(--card,#fff); border:1px solid var(--line);
  border-radius:.6rem; padding:1rem 1.1rem;
}
.mh-tk{ font-size:.74rem; text-transform:uppercase; letter-spacing:.1em; color:var(--dim); }
.mh-tv{ font-size:1.05rem; font-weight:600; margin:.3rem 0 .2rem; }
.mh-ts{ font-size:.82rem; color:var(--dim); margin-bottom:.5rem; }

@media (max-width:820px){
  .mh-bignum{ font-size:5rem; }
  .mh-risk-grid{ grid-template-columns:repeat(2,1fr); }
  .mh-tiles{ grid-template-columns:1fr; }
}


.mh-hero{ text-align:left; padding:1.6rem 1.6rem 1.4rem; }
.mh-split{ display:grid; grid-template-columns:230px 1fr; gap:1.8rem; align-items:start; }
.mh-left{ text-align:center; border-right:1px solid rgba(255,255,255,.18); padding-right:1.4rem; }
.mh-left .mh-bignum{ font-size:5.6rem; }
.mh-left .mh-date{ font-size:1.05rem; margin-top:.7rem; }
.mh-wd{ font-size:.8rem; opacity:.85; margin-top:.55rem; line-height:1.45; }
.mh-wd b{ font-size:1.05rem; }
.mh-h2{ font-size:1.35rem; margin:.1rem 0 .5rem; line-height:1.3; }

.mh-h1{ font-size:2.1rem; line-height:1.25; margin:.2rem 0 .6rem; font-weight:700; }
.mh-lead{ font-size:1.02rem; line-height:1.65; opacity:.94;
          margin:0 auto .2rem; max-width:44rem; }
.mh-p{ font-size:.95rem; line-height:1.6; margin:0 0 .9rem; opacity:.94; }
.mh-facts{ display:grid; gap:.5rem; }
.mh-facts > div{
  display:grid; grid-template-columns:11rem 1fr; gap:.8rem;
  padding:.45rem 0; border-top:1px solid rgba(255,255,255,.14);
}
.mh-fk{
  font-size:.72rem; text-transform:uppercase; letter-spacing:.09em;
  opacity:.7; padding-top:.15rem;
}
.mh-fv{ font-size:.88rem; line-height:1.5; }
.mh-hero .mh-actions{ justify-content:flex-start; margin-top:1.1rem; }
@media (max-width:820px){
  .mh-split{ grid-template-columns:1fr; gap:1rem; }
  .mh-left{ border-right:0; border-bottom:1px solid rgba(255,255,255,.18);
            padding-right:0; padding-bottom:1rem; }
  .mh-facts > div{ grid-template-columns:1fr; gap:.15rem; }
  .mh-hero .mh-actions{ justify-content:center; }
}


.ac-fac{ border:1px solid var(--line); border-radius:.5rem;
  padding:.9rem 1rem; margin:.8rem 0; background:var(--bg); }
.ac-fk{ font-size:.7rem; text-transform:uppercase; letter-spacing:.12em; color:var(--dim); }
.ac-fn{ font-size:1.15rem; font-weight:700; margin:.15rem 0 .1rem; }
.ac-fs{ font-size:.88rem; color:var(--dim); margin-bottom:.6rem; }


.ds-bad{ color:#b3261e; }


.landing .lp-cards{ display:flex; align-items:baseline; gap:.6rem; flex-wrap:wrap; margin:.9rem 0 .3rem; }
.landing .lp-cards-k{ font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; color:var(--dim); }
.landing .lp-cards-v{ font-size:.86rem; color:var(--ink); }
