:root{--page:#FAFAF9;--card:#FFFFFF;--dark:#16181B;--ink:#1E2126;--text:#4C5157;--red:#C8322A;--deep:#8E211B;--line:#E1E0DD;--r:6px;--deck:70rem;--read:64ch}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0;overflow-x:hidden}
body{background:var(--page);color:var(--text);font-family:"Golos Text",system-ui,sans-serif;font-size:1.05rem;line-height:1.72}
h1,h2,h3,.menu-l,.name-b,.col-h,.unit-h,.qn-head,.unit-facts,.tap-key,.foot-flat a{font-family:"Alexandria",system-ui,sans-serif;color:var(--ink)}
h1{font-weight:700;font-size:clamp(2rem,4.4vw,3.2rem);line-height:1.08;letter-spacing:-.02em;margin:0 0 .7rem}
h2{font-weight:700;font-size:clamp(1.4rem,2.6vw,1.95rem);line-height:1.18;margin:0 0 .5rem}
h3{font-weight:700;font-size:clamp(1.2rem,2vw,1.55rem);line-height:1.2;margin:0 0 .15rem}
p{margin:0 0 1rem}
a{color:var(--red)}
a:hover{color:var(--deep)}
a:focus-visible,button:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.deck{width:100%;max-width:var(--deck);margin:0 auto;padding:0 1.25rem}
.dark-top{position:sticky;top:0;z-index:10;background:var(--dark)}
.dark-top .deck{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 0}
.name-b{color:#FFFFFF;font-weight:700;font-size:1.2rem;text-decoration:none;letter-spacing:-.01em}
.menu-flat[data-open="false"]{display:none}
.menu-flat{list-style:none;margin:0;padding:.6rem 0 .2rem;display:flex;flex-direction:column;gap:.2rem}
.menu-l{display:block;color:#E8E8E6;font-weight:600;font-size:.98rem;text-decoration:none;padding:.4rem 0;border-bottom:2px solid transparent}
.menu-l:hover{color:#FFFFFF}
.menu-l[aria-current="page"]{color:#FFFFFF;border-bottom-color:var(--red)}
.tap-key{display:none;background:transparent;color:#FFFFFF;border:1px solid #3A3D42;font-weight:600;padding:.4rem 1rem;cursor:pointer}
.open-set{padding:clamp(2rem,4.4vw,3.4rem) 0 1.2rem;max-width:46rem}
.open-sub{font-size:1.12rem}
.left-shot{margin:0 0 2.6rem}
.left-shot img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r)}
.hero-shot{margin:0;background:#0a0f1e;display:flex;justify-content:center;align-items:center;overflow:hidden;min-height:min(72vw,28rem)}
.hero-shot img{display:block;width:min(100%,min(72vw,28rem));height:auto;aspect-ratio:1/1;object-fit:contain}
.col-four{display:grid;grid-template-columns:1fr;gap:2rem;padding:2.2rem 0;border-top:1px solid var(--line)}
.col-h{font-weight:700;font-size:1.25rem;margin:0 0 .3rem}
.col-list{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.1rem}
.col-list li{border-top:1px solid var(--line)}
.col-a{display:block;padding:.55rem .1rem;text-decoration:none;color:var(--ink);font-size:.97rem}
.col-a:hover{background:var(--card);color:var(--red)}
.qn-set{padding:2.4rem 0;border-top:1px solid var(--line)}
.qn-head{display:block;font-weight:700;font-size:clamp(1.3rem,2.6vw,1.8rem);line-height:1.16;margin:1.6rem 0 .4rem}
.qn-text{max-width:var(--read)}
.sec-wrap{display:grid;grid-template-columns:1fr;gap:2rem;padding-top:1.4rem}
.side-toc{align-self:start;border-top:2px solid var(--dark);padding-top:1rem}
.side-toc h2{font-size:1rem;margin-bottom:.6rem}
.side-toc ul{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}
.toc-a{text-decoration:none;color:var(--ink);font-size:.96rem}
.toc-a:hover{color:var(--red)}
.unit-band{background:var(--dark);color:#FFFFFF;padding:1.1rem 1.2rem;display:grid;grid-template-columns:1fr;gap:.4rem}
.unit-name{color:#FFFFFF;margin:0}
.unit-place{color:#C8C8C5;font-size:.96rem;margin:0}
.unit-facts{color:#FFFFFF;font-size:.85rem;font-weight:600;letter-spacing:.03em}
.unit-shot{margin:1.4rem 0}
.unit-shot img{display:block;width:100%;height:auto;aspect-ratio:5/3;object-fit:cover;border-radius:var(--r)}
.unit-body{max-width:var(--read)}
.unit-h{display:block;font-weight:700;font-size:1.05rem;color:var(--red);margin:1.4rem 0 .3rem}
.mind-box{border-top:2px solid var(--dark);padding-top:1.5rem;margin-top:2.6rem;max-width:var(--read)}
.back-a{display:inline-block;margin-top:1.4rem;font-weight:600}
.foot-one{border-top:1px solid var(--line);margin-top:3.4rem;padding:2.4rem 0 1.6rem;max-width:52rem}
.foot-p{font-size:.96rem}
.foot-flat{list-style:none;margin:1.2rem 0 1.4rem;padding:0;display:flex;flex-wrap:wrap;gap:.5rem 1.4rem}
.foot-flat a{text-decoration:none;color:var(--ink);font-weight:600;font-size:.96rem}
.foot-flat a:hover{color:var(--red)}
html[data-js="on"] .tap-key{display:inline-block}
@media (min-width:760px){
.col-four{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.2rem}
.left-shot{width:66%}
.hero-shot{min-height:min(52vw,36rem)}
.hero-shot img{width:min(100%,min(52vw,36rem))}
.unit-band{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1.5rem}
.unit-facts{text-align:right}
}
@media (min-width:1080px){
html[data-js="on"] .tap-key{display:none}
.menu-flat[data-open="false"]{display:flex}
.menu-flat{flex-direction:row;align-items:center;gap:1.4rem;padding:0}
.col-four{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.8rem}
.sec-wrap{grid-template-columns:minmax(0,1fr) 15rem;gap:3rem}
.side-toc{order:2}
.sec-wrap > section{order:1}
}
@media (min-width:1420px){
.deck{padding:0 2rem}
.sec-wrap{grid-template-columns:minmax(0,1fr) 17rem}
}
@media (prefers-reduced-motion: no-preference){
html{scroll-behavior:smooth}
.menu-l,.col-a,.toc-a,.foot-flat a{transition:color .18s ease,background-color .18s ease,border-color .18s ease}
}
html[data-js="off"] .menu-flat[data-open="false"]{display:flex}
body > a:first-child{position:absolute;left:-200vw;background:var(--card);color:var(--ink);padding:.6rem 1rem;font-weight:600}
body > a:first-child:focus{left:1rem}
main{display:block;padding-bottom:1rem}
.dark-top .deck{flex-wrap:wrap}
.menu-flat{flex-basis:100%}
.name-b{padding:.2rem 0}
.open-set h1{max-width:20ch}
.col-cell p{margin:0;font-size:.95rem;max-width:34ch}
.col-list li:last-child{border-bottom:1px solid var(--line)}
.col-cell > p:last-child{margin-top:.9rem}
.col-cell > p:last-child a{font-weight:600;padding:0}
.qn-set h2{margin-bottom:0}
.sec-wrap > section > h2{font-size:1rem;border-top:2px solid var(--dark);padding-top:1rem;margin-bottom:1.6rem}
.sec-wrap article{padding-bottom:2.6rem;margin-bottom:2.6rem;border-bottom:1px solid var(--line)}
.sec-wrap article:last-child{border-bottom:0;margin-bottom:0}
.unit-body p:last-child{margin-bottom:0}
.mind-box h2{font-size:1.05rem}
.mind-box p:last-child{margin-bottom:0}
.foot-one h2{font-size:1.15rem;margin-bottom:.6rem}
.unit-body h2{font-size:1.25rem;margin-top:2.2rem}
.unit-body h2:first-child{margin-top:0}
