:root{--ib-indigo:#2b3a67;--ib-indigo2:#3f4f85;--ib-rust:#b5542d;--ib-ink:#222;--ib-grey:#707070;--ib-hair:#cfd3dd;--ib-wash:#f4f5f8;--ib-white:#fff}
*{box-sizing:border-box}
body.ib{margin:0;background:var(--ib-white);color:var(--ib-ink);font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN","MS PMincho",serif;line-height:1.9}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline}
img{display:block;max-width:100%;height:auto}
.ib-masthead{max-width:1060px;margin:0 auto;padding:22px 20px 8px;text-align:center;border-bottom:3px double var(--ib-indigo)}
.ib-issue{margin:0;font-size:12px;color:var(--ib-grey);letter-spacing:.1em}
.ib-title{margin:2px 0 0;font-size:40px;font-weight:700;letter-spacing:.3em;color:var(--ib-indigo)}
.ib-sub{margin:0 0 6px;font-size:13px;color:var(--ib-grey);letter-spacing:.08em}
.ib-menu{max-width:1060px;margin:0 auto;padding:0 20px;border-bottom:1px solid var(--ib-indigo)}
.ib-menu ul{list-style:none;margin:0;padding:0;display:flex;justify-content:center;flex-wrap:wrap}
.ib-menu li a{display:block;padding:9px 18px;font-size:14px;letter-spacing:.06em;color:var(--ib-indigo)}
.ib-menu li.ib-here a{background:var(--ib-indigo);color:#fff;text-decoration:none}
.ib-page{max-width:1060px;margin:0 auto;padding:28px 20px 40px;display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:40px;align-items:start}
.ib-kicker{margin:0 0 4px;font-size:12px;letter-spacing:.14em;color:var(--ib-rust);font-weight:700}
.ib-kicker span{margin-left:10px;color:var(--ib-grey);font-weight:400;letter-spacing:.04em}
.ib-topstory{padding-bottom:26px;border-bottom:1px solid var(--ib-hair)}
.ib-topstory h2{margin:0 0 10px;font-size:28px;line-height:1.5;color:var(--ib-indigo)}
.ib-topstory-lead{margin:0 0 16px;font-size:15px;color:#444}
.ib-topstory-pic img{width:100%;aspect-ratio:3/2;object-fit:cover}
.ib-head{font-size:16px;letter-spacing:.2em;color:var(--ib-indigo);margin:30px 0 14px;padding:4px 0 4px 10px;border-left:6px solid var(--ib-indigo);border-bottom:1px solid var(--ib-hair)}
.ib-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px 30px}
.ib-row{display:grid;grid-template-columns:96px 1fr;gap:14px;padding-bottom:14px;border-bottom:1px dotted var(--ib-hair)}
.ib-row-pic img{width:96px;height:96px;object-fit:cover}
.ib-row-txt h3{margin:0 0 4px;font-size:15.5px;line-height:1.55;font-weight:700}
.ib-row-lead{margin:0;font-size:12.5px;color:var(--ib-grey);line-height:1.6}
.ib-table-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 30px}
.ib-table h3{margin:0 0 6px;font-size:15px;color:var(--ib-indigo);border-bottom:2px solid var(--ib-indigo);padding-bottom:4px}
.ib-table table{width:100%;border-collapse:collapse;font-size:13.5px}
.ib-table td{padding:6px 4px;border-bottom:1px solid var(--ib-hair);vertical-align:top;line-height:1.5}
.ib-table td:first-child{width:84px;color:var(--ib-grey);font-size:12px;white-space:nowrap}
.ib-rail-box{background:var(--ib-wash);padding:16px 16px 14px;margin-bottom:18px}
.ib-rail-box h2{margin:0 0 10px;font-size:14px;letter-spacing:.2em;color:var(--ib-indigo);text-align:center}
.ib-recent,.ib-genres{list-style:none;margin:0;padding:0}
.ib-recent li{padding:8px 0;border-top:1px solid #dde0e8;font-size:13.5px;line-height:1.55}
.ib-recent li span{display:block;font-size:11px;color:var(--ib-grey)}
.ib-genres li{padding:6px 0;border-top:1px solid #dde0e8;font-size:14px}
.ib-genres li a::before{content:"▸ ";color:var(--ib-rust)}
.ib-rail-about p{margin:0 0 8px;font-size:13px;color:#444}
.ib-rail-about a{color:var(--ib-indigo2)}
.ib-entry{max-width:760px}
.ib-trail{margin:0 0 14px;font-size:12px;color:var(--ib-grey)}
.ib-trail a{color:var(--ib-indigo2)}
.ib-entry h1{margin:0 0 8px;font-size:29px;line-height:1.5;color:var(--ib-indigo)}
.ib-meta{margin:0 0 20px;font-size:13px;color:var(--ib-grey);padding-bottom:12px;border-bottom:1px solid var(--ib-hair)}
.ib-photo img{width:100%;aspect-ratio:3/2;object-fit:cover;margin-bottom:26px}
.ib-text{font-size:16.5px}
.ib-text .ib-intro{font-size:17px;padding:14px 18px;background:var(--ib-wash);border-left:4px solid var(--ib-rust);margin:0 0 26px}
.ib-text h1{margin:0 0 18px;font-size:27px;color:var(--ib-indigo)}
.ib-text h2{margin:34px 0 12px;font-size:20px;color:var(--ib-indigo);padding-bottom:6px;border-bottom:1px solid var(--ib-indigo)}
.ib-text p{margin:0 0 18px}
.ib-text dl{margin:0;border:1px solid var(--ib-hair);padding:14px 18px;font-size:15px;background:#fafafc}
.ib-text dt{font-weight:700;color:var(--ib-rust);margin-top:6px}
.ib-text dd{margin:0 0 2px 1em}
.ib-text .ib-src{margin:28px 0 0;font-size:13.5px;color:var(--ib-grey);padding:10px 0 0;border-top:1px dotted var(--ib-hair)}
.ib-text .ib-src a{color:var(--ib-indigo2);text-decoration:underline}
.ib-small{font-size:13px;color:var(--ib-grey)}
.ib-genre-title{margin:0;font-size:27px;color:var(--ib-indigo);letter-spacing:.1em}
.ib-genre-sub{margin:0 0 18px;font-size:14px;color:var(--ib-grey)}
.ib-bottom{border-top:3px double var(--ib-indigo);text-align:center;padding:26px 20px 30px;font-size:13px;color:var(--ib-grey)}
.ib-bottom-title{margin:0 0 8px;font-size:20px;letter-spacing:.3em;color:var(--ib-indigo);font-weight:700}
.ib-bottom-nav{margin:0 0 8px}
.ib-bottom-nav a{color:var(--ib-indigo2)}
.ib-bottom-copy{margin:0;font-size:12px}
@media (max-width:860px){
  .ib-title{font-size:30px}
  .ib-page{grid-template-columns:1fr;gap:28px}
  .ib-cols,.ib-table-grid{grid-template-columns:1fr}
  .ib-topstory h2{font-size:22px}
  .ib-entry h1{font-size:23px}
  .ib-menu li a{padding:8px 10px;font-size:13px}
}
