/* Shared member presentation. Existing terms and playback remain unchanged. */
:root .bottom-nav a{min-height:64px;gap:7px;padding:6px 2px;line-height:1.3}
:root .bottom-nav a + a{border-left:1px solid #d7cdb9}
:root .bottom-nav a svg{display:block;width:28px;height:28px;flex-shrink:0;color:#344b40}
:root .bottom-nav a.nav-prohibited svg{color:#884a3d}
:root .bottom-nav a span{font-size:12px;font-weight:600;letter-spacing:0;color:#344b40}
:root .bottom-nav a:hover,:root .bottom-nav a:focus-visible{background:#eae6d9}
:root .site .footer{padding-bottom:calc(115px + env(safe-area-inset-bottom))}
:root:root{--ink:#293832;--paper:#f5f2e9;--white:#fcfaf5;--red:#884a3d;--redsoft:#f5ece5;--green:#344b40;--greensoft:#edf0e7;--blue:#efeee5;--line:#d7cdb9;--muted:#65675d;--gold:#917345;background:#dedbd1;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN","Meiryo",sans-serif;color:var(--ink)}
:root body{margin:0;background:#dedbd1 url('/images/asanoha.svg') repeat;line-height:1.95;color:var(--ink);-webkit-font-smoothing:antialiased}
:root .site,:root .shell{background:var(--paper);border-radius:0;box-shadow:0 0 60px #29383210}
:root .header,:root .masthead{background:#f5f2e9f5;color:var(--ink);border-bottom:1px solid var(--line);border-radius:0;box-shadow:none}
:root .brand,:root h1,:root h2,:root h3,:root .footer-brand,:root .time{font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;font-weight:500;letter-spacing:.09em}
:root .brand{font-size:21px;letter-spacing:.16em}
:root .header-note{color:#72654f;font-size:10px;letter-spacing:.13em}
:root .hero{padding:54px 26px 42px;background:linear-gradient(180deg,#f5f2e900,#f5f2e9 72%),url('/images/asanoha.svg') repeat;position:relative;border-bottom:1px solid var(--line)}
:root .eyebrow,:root .section-kicker{font-size:11px;color:#806641;font-weight:500;letter-spacing:.22em}
:root .hero h1{font-size:clamp(36px,10vw,52px);line-height:1.5;margin:22px 0 18px;letter-spacing:.2em}
:root .hero-lead{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:16px;font-weight:500;line-height:2.2;letter-spacing:.06em;color:#38483d}
:root .member-badge{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:20px 0;margin:30px 0 24px;box-shadow:none}
:root .line-icon{border-radius:2px;background:#344b40;color:#faf7ef;font-size:10px;letter-spacing:.06em}
:root .member-badge strong{font-weight:600;font-size:14px}
:root .member-badge span,:root .membership-detail{color:#66685e;font-size:12px;line-height:1.9}
:root .notice{background:transparent;border:0;border-left:2px solid #987b4d;padding:4px 0 4px 16px;border-radius:0;font-size:13px;color:#4c5147;line-height:2}
:root .notice strong{color:#754337;font-weight:600}
:root .primary,:root .button,:root .rules-cta a{border-radius:1px;background:#344b40;color:#fcfaf2;border:1px solid #344b40;box-shadow:none;min-height:52px;font-size:13px;letter-spacing:.13em;font-weight:500}
:root section{padding-top:52px;padding-bottom:52px;border-color:var(--line)}
:root .section-head{margin-bottom:30px}
:root .section-head h2{font-size:clamp(22px,6.2vw,30px);line-height:1.6;letter-spacing:.08em}
:root .section-head p:not(.section-kicker){font-size:13px;color:#66685e;line-height:2}
:root .prohibition{border-radius:0;box-shadow:none;background:transparent;border:0;border-top:1px solid var(--line);padding:24px 0;gap:18px}
:root .prohibition:last-of-type{border-bottom:1px solid var(--line)}
:root .prohibition-number{background:transparent;border:1px solid #bca988;border-radius:0;color:#896c40;font-family:Georgia,serif;font-size:21px;font-weight:400}
:root .prohibition h3{color:#754337;font-size:19px;line-height:1.65}
:root .prohibition p{font-size:13px;line-height:1.95;color:#4c5147}
:root .poster{border-radius:0;border:1px solid var(--line);box-shadow:none;margin-top:26px}
:root .hours{background:#293d34;color:#f4f0e5;border:0}
:root .hours .section-kicker{color:#d2bd94}
:root .hours h2{color:#fcfaf2}
:root .hours .section-head p:not(.section-kicker){color:#e0e2d6}
:root .hours-card{background:transparent;border:1px solid #819084;border-radius:0;box-shadow:none;color:#f4f0e5;padding:24px 20px}
:root .hours-card h3,:root .hours-card p,:root .hours-card small{color:inherit}
:root .time{color:#f8f3e7;font-size:29px;font-variant-numeric:tabular-nums;letter-spacing:.04em}
:root .closed{border-radius:0;background:#f2ede0;color:#374338;border:0;font-size:13px}
:root .principles{gap:0 24px}
:root .principle{background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none;padding:22px 0}
:root .principle-icon{border-radius:0;background:transparent;color:#8d724a;border:1px solid #cabc9f;font-family:"Yu Mincho",serif}
:root .principle h3{font-size:17px}
:root .principle p{font-size:13px;color:#595f54}
:root .rules-cta{background:#eae6d9 url('/images/asanoha.svg') repeat;border:1px solid #cfc2a7;border-radius:0;box-shadow:none;padding:28px 24px}
:root .rules-cta strong{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:20px;font-weight:500}
:root .forgotten{background:#eeeadd;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
:root .forgotten h3{color:#754337;line-height:1.8}
:root .facts,:root .fact,:root .info-card,:root .related-card,:root .gate-note{border-radius:0;box-shadow:none;border-color:var(--line);background:transparent}
:root .info-card{padding:24px 0;border-width:1px 0 0}
:root .related-card{border-width:0 0 1px;padding-top:23px;padding-bottom:23px}
:root .related-card strong{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500;letter-spacing:.05em}
:root .photo{border-radius:0;box-shadow:none;border:0}
:root .footer{background:#293d34 url('/images/asanoha.svg') repeat;color:#e9e3d3;border-radius:0}
:root .bottom-nav{background:#f5f2e9f7;border:1px solid #cdbf9f;border-bottom:0;border-radius:0;box-shadow:0 -4px 20px #29383208}
:root .bottom-nav a{color:#3e4b3f;font-size:11px;letter-spacing:.07em;font-weight:500}
:root .bottom-nav a span{color:#897048;background:transparent;border-radius:0}
/* Photo-led entrance, informed by the supplied luxury-design reference. */
:root .hero{background:var(--paper);padding-top:0}
:root .member-scene{margin:0 -26px 36px;position:relative;background:#293d34}
:root .member-scene img{display:block;width:100%;height:auto;aspect-ratio:1.75;object-fit:cover}
:root .member-scene figcaption{padding:18px 26px;color:#f5f0e5;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:17px;line-height:1.7;letter-spacing:.14em;text-align:center}
:root .rules-cta{background:#eae6d9}
:root .stage{background:#eeeadd}
@media(min-width:560px){:root .hero{padding-top:0}:root .member-scene{margin:0 -40px 42px}:root .member-scene figcaption{padding:22px 40px;font-size:20px}}
@media(max-width:360px){:root .hero{padding-top:0}:root .member-scene{margin-left:-20px;margin-right:-20px}}
/* Automatic rules: same palette, with legible operational notices. */
:root .masthead h1{font-size:28px;line-height:1.7}
:root .intro{color:#5c6358;background:transparent;font-size:13px}
:root .stage{background:#eeeadd}
:root .rule{background:#fcfaf5;border:1px solid #d4c6aa;border-top:3px solid #94774c;border-radius:0;box-shadow:0 10px 30px #29383208}
:root .rule h2{font-size:clamp(24px,6.5vw,32px);line-height:1.6;font-weight:500}
:root .rule p{font-weight:400;line-height:1.95}
:root .tone-red{--accent:#884a3d;--soft:#f5ece5}
:root .tone-navy{--accent:#344b40;--soft:#efeee5}
:root .tone-green{--accent:#526343;--soft:#edf0e7}
:root .controls,:root .utility{background:var(--paper);border-color:var(--line)}
:root .controls button,:root .utility button,:root .utility a{border-radius:1px;border-color:#b4a384;box-shadow:none;font-weight:500}
:root .progress{accent-color:#917345}
:root a:focus-visible,:root button:focus-visible{outline:3px solid #937044;outline-offset:4px}
@media(min-width:560px){:root .hero{padding:0 40px 48px}:root .site,:root .shell{border-radius:0}:root .hero h1{font-size:50px}}
@media(max-width:360px){:root .hero{padding:0 20px 32px}:root .hero h1{font-size:34px}:root .section-head h2{font-size:23px}:root .time{font-size:25px}}
