:root{--ink:#141414;--muted:#6d6d69;--line:#deded8;--paper:#fff;--soft:#f6f6f2;--max:1180px;--reading:760px;--font:'Zen Kaku Gothic New','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:18px;line-height:1.85;font-weight:300;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit}strong{font-weight:600}em{font-style:italic}.skip-link{position:absolute;left:1rem;top:-5rem;z-index:1000;background:var(--ink);color:#fff;padding:.7rem 1rem;font-size:.8rem}.skip-link:focus{top:1rem}
.site-header{position:sticky;top:0;z-index:100;border-bottom:1px solid rgba(222,222,216,.92);background:rgba(255,255,255,.95);backdrop-filter:blur(12px)}.header-inner{max-width:var(--max);margin:0 auto;min-height:88px;padding:8px 32px;display:flex;align-items:center;gap:28px}.brand{width:70px;flex:0 0 70px}.brand img{width:70px;height:70px;object-fit:cover}.site-nav{margin-left:auto;display:flex;align-items:center;gap:25px}.site-nav a{font-weight:400;text-decoration:none;text-transform:uppercase;letter-spacing:.18em;font-size:.62rem;padding:.8rem 0;border-bottom:1px solid transparent}.site-nav a:hover,.site-nav a:focus-visible{border-color:var(--ink)}.menu-toggle{display:none}
.hero{position:relative;min-height:610px;display:grid;place-items:center;padding:120px 32px 135px;border-bottom:1px solid var(--line);text-align:center;overflow:hidden}.hero-inner{position:relative;z-index:1;max-width:880px}.hero-mark{position:absolute;right:max(4vw,30px);top:40px;font-size:clamp(5rem,14vw,12rem);font-weight:300;letter-spacing:.08em;color:#f0f0ec;writing-mode:vertical-rl;user-select:none}.eyebrow{margin:0 0 18px;text-transform:uppercase;letter-spacing:.3em;font-size:.63rem;font-weight:500;color:var(--muted)}.hero h1,.section-heading h2,.prose h3,.location-grid h3{font-weight:300;letter-spacing:.01em}.hero h1{margin:0;font-size:clamp(2.5rem,6vw,5.4rem);line-height:1.12}.hero-copy{max-width:640px;margin:30px auto 28px;color:var(--muted);font-size:1.05rem}.quiet-link{display:inline-block;text-decoration:none;font-size:.72rem;font-weight:500;letter-spacing:.13em;text-transform:uppercase;padding-bottom:4px;border-bottom:1px solid var(--ink)}
.section{padding:122px 32px;scroll-margin-top:96px}.section-alt{background:var(--soft)}.section.compact{padding-top:92px;padding-bottom:92px}.section-heading{max-width:var(--reading);margin:0 auto 62px;text-align:center}.section-heading h2{margin:0;font-size:clamp(2.2rem,4vw,3.8rem);line-height:1.16}.prose{max-width:var(--reading);margin:0 auto}.prose p{margin:0 0 1.45em}.prose h3{margin:0 0 22px;font-size:1.52rem}.sequence article{padding:0 0 62px;margin:0 0 62px;border-bottom:1px solid var(--line)}.sequence article:last-child{border:0;margin-bottom:0;padding-bottom:0}.continuation{margin-top:74px}.feature-article{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(270px,.82fr);gap:64px;align-items:start;max-width:1040px;margin-left:-140px!important;margin-right:-140px!important}.feature-copy{padding-top:14px}.editorial-figure{margin:0}.editorial-figure img{display:block;width:100%;height:auto;max-height:310px;object-fit:contain;object-position:center;filter:grayscale(100%)}figcaption,.photo-caption{margin-top:10px;font-size:.68rem;line-height:1.5;letter-spacing:.08em;color:var(--muted);text-transform:uppercase;font-weight:400}
.movement-study{max-width:1040px;margin:0 -140px 74px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.movement-study figure{margin:0;overflow:hidden;background:#eee}.movement-study img{width:100%;height:100%;aspect-ratio:.82/1;object-fit:cover;filter:grayscale(100%)}.wide-figure{max-width:980px;margin:70px auto 0}.wide-figure img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;filter:grayscale(100%)}.wide-figure figcaption{text-align:right}
.expectation-grid{margin-top:34px;display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}.expectation{background:var(--paper);padding:30px}.number{font-size:.64rem;letter-spacing:.18em;color:var(--muted);font-weight:500}.expectation h4{margin:11px 0 10px;font-size:1.08rem;font-weight:500}.expectation p{margin:0;color:var(--muted);font-size:.93rem;line-height:1.72}
.police-story{max-width:1040px;margin:66px auto 72px}.police-main{margin:0}.police-main img{display:block;width:100%;height:auto;object-fit:contain;filter:grayscale(100%)}.police-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.police-pair figure{margin:0}.police-pair img{display:block;width:100%;height:auto;object-fit:contain;filter:grayscale(100%)}.photo-caption{text-align:right;margin-bottom:0}
blockquote{margin:78px 0 0;padding:46px 0 0 38px;border-top:1px solid var(--ink);border-left:1px solid var(--ink);font-size:1.18rem;line-height:1.8;font-weight:300}blockquote cite{display:block;margin-top:26px;font-size:.7rem;font-style:normal;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-weight:500}.lead-prose{text-align:center;font-size:1.12rem}
.practical .section-heading{margin-bottom:50px}.details-grid,.fee-grid,.location-grid{max-width:840px;margin:0 auto}.schedule{border-top:1px solid var(--line)}.detail-row{display:flex;justify-content:space-between;gap:30px;padding:20px 0;border-bottom:1px solid var(--line);font-size:.88rem;letter-spacing:.02em}.detail-row strong{font-weight:500}.small-note{max-width:840px;margin:26px auto 0;text-align:center;color:var(--muted);font-size:.8rem;line-height:1.7}.fee-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;border:1px solid var(--line);background:var(--line)}.fee-card{background:var(--paper);padding:42px 28px;text-align:center}.fee-name{margin:0;text-transform:uppercase;letter-spacing:.16em;font-size:.67rem;font-weight:500;color:var(--muted)}.fee-price{margin:8px 0 3px;font-size:3rem;line-height:1.15;font-weight:300}.fee-detail{margin:0;color:var(--muted);font-size:.8rem}.location-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.location-grid h3{margin:0 0 20px;font-size:1.4rem}.location-grid p{margin-top:0}address{font-style:normal}.contact{text-align:center}.contact .section-heading{margin-bottom:34px}.contact p{margin:0 0 8px}.contact-link{display:inline-block;font-size:clamp(1.15rem,3vw,2rem);font-weight:300;text-decoration-thickness:1px;text-underline-offset:6px}.contact-or{margin:22px 0!important;text-transform:uppercase;letter-spacing:.2em;color:var(--muted);font-size:.67rem}
.site-footer{padding:68px 32px 42px;text-align:center;border-top:1px solid var(--line);font-size:.72rem;color:var(--muted)}.footer-logo{display:block;width:82px;margin:0 auto 18px}.footer-logo img{width:82px;height:82px;object-fit:cover}.footer-name{margin:0 0 2px;font-size:1.1rem;color:var(--ink);font-weight:400}.site-footer>p{margin-top:4px;margin-bottom:0}.legal{max-width:660px;margin:30px auto 0!important;padding-top:22px;border-top:1px solid var(--line);font-size:.64rem;line-height:1.7}
@media(min-width:800px){.expectation-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1040px){.feature-article{margin-left:0!important;margin-right:0!important}.movement-study{margin-left:0;margin-right:0}}
@media(max-width:860px){.header-inner{min-height:76px;padding:8px 20px}.brand,.brand img{width:60px;height:60px;flex-basis:60px}.menu-toggle{margin-left:auto;display:inline-flex;align-items:center;gap:10px;border:0;background:transparent;padding:12px 0 12px 12px;color:var(--ink);text-transform:uppercase;letter-spacing:.14em;font-family:var(--font);font-size:.65rem}.menu-lines,.menu-lines::before,.menu-lines::after{width:18px;height:1px;display:block;background:var(--ink);content:'';transition:transform .2s ease,opacity .2s ease}.menu-lines{position:relative}.menu-lines::before{position:absolute;top:-5px}.menu-lines::after{position:absolute;top:5px}.menu-toggle[aria-expanded=true] .menu-lines{background:transparent}.menu-toggle[aria-expanded=true] .menu-lines::before{transform:translateY(5px) rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-lines::after{transform:translateY(-5px) rotate(-45deg)}.site-nav{position:absolute;top:77px;left:0;right:0;display:none;margin:0;padding:18px 22px 24px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}.site-nav.open{display:flex}.site-nav a{padding:12px 0}.feature-article{grid-template-columns:1fr;gap:30px}.editorial-figure{max-width:620px}.movement-study{grid-template-columns:repeat(2,1fr);gap:10px}.location-grid{grid-template-columns:1fr;gap:45px}.hero-mark{opacity:.6}}
@media(max-width:620px){body{font-size:16.5px}.hero{min-height:500px;padding:92px 22px}.hero-copy{font-size:.96rem}.section{padding:82px 22px;scroll-margin-top:80px}.section.compact{padding-top:72px;padding-bottom:72px}.section-heading{margin-bottom:42px}.sequence article{padding-bottom:42px;margin-bottom:42px}.movement-study{margin-bottom:52px}.wide-figure{margin-top:52px}.police-story{margin-top:52px;margin-bottom:58px}.police-pair{grid-template-columns:1fr;gap:10px}.police-main img,.police-pair img{aspect-ratio:auto}blockquote{margin-top:55px;padding:30px 0 0 22px;font-size:1.02rem}.fee-grid{grid-template-columns:1fr}.detail-row{gap:16px}.contact-link{overflow-wrap:anywhere}.hero-mark{right:8px;top:60px;font-size:5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.001ms!important}}
