:root{--bg:#141112;--surface:#211a1b;--ink:#fff8ef;--muted:#c7babb;--accent:#efc45f;--red:#b72e37;--line:#493437}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.85}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.3}h2{font-size:clamp(28px,4vw,44px);letter-spacing:-.03em}h3{font-size:20px}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.wrap{width:min(1120px,calc(100% - 64px));margin-inline:auto}.section{padding-block:96px}.eyebrow{font-size:13px;font-weight:700;letter-spacing:.12em;line-height:1.6;margin-bottom:26px}.masthead{height:94px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-weight:900;letter-spacing:-.05em;font-size:25px;line-height:1}.brand span{display:block;font-size:12px;letter-spacing:.29em;margin-top:7px}.edition{font-size:12px;letter-spacing:.15em}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:36px;padding-top:44px}.hero .eyebrow{color:var(--accent);margin-bottom:10px}.date{font-size:clamp(90px,10vw,140px);font-weight:900;letter-spacing:-.075em;line-height:1;display:flex;align-items:center;gap:22px}.date>span{font-size:16px;letter-spacing:.06em;line-height:1.65}.hero h1{font-size:clamp(54px,6.2vw,84px);font-weight:800;letter-spacing:-.065em;line-height:.99;margin-top:23px}.hero h1>span{display:block;font-size:25px;letter-spacing:-.035em;margin-bottom:12px}.hero h1 em{font-family:Georgia,serif;color:var(--accent);font-weight:400;letter-spacing:-.05em}.hero-ja{font-size:19px;font-weight:700;line-height:1.8;margin-top:25px}.teacher{font-size:14px;color:var(--muted);margin-top:8px}.button{min-height:54px;padding:13px 22px;display:inline-flex;align-items:center;justify-content:space-between;gap:32px;font-weight:700;font-size:15px;border:1px solid transparent;transition:background .2s,color .2s}.button span{font-size:23px;line-height:1}.lime{background:var(--accent);color:var(--bg);margin-top:24px}.lime:hover{background:#ffda80}.photo-slot{position:relative;min-height:590px;background:radial-gradient(ellipse at 85% 10%,#c9913f44,transparent 60%),linear-gradient(145deg,#452126,#1c1517 68%);overflow:hidden;border:1px solid #75343b}.photo-slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}.photo-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:32px}.photo-tag,.photo-note{font-size:12px;letter-spacing:.19em;color:#d8bfc0}.photo-word{font-weight:800;font-size:clamp(60px,7vw,100px);letter-spacing:-.06em;line-height:1;color:#fff0db}.photo-word i{font-family:Georgia,serif;font-weight:400;color:var(--accent)}.photo-slot figcaption{position:absolute;right:20px;bottom:28px;writing-mode:vertical-rl;letter-spacing:.13em;font-size:12px;z-index:3}.day-flow{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;margin-top:12px}.day-flow div{display:flex;flex-direction:column}.day-flow span{font-size:12px;color:var(--muted);letter-spacing:.06em}.day-flow strong{font-size:23px;letter-spacing:-.04em}.day-flow>b{color:var(--accent);font-size:26px;font-weight:400}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px}.prose p+p{margin-top:19px}.prose strong{color:var(--accent);font-weight:700}.intro h2{line-height:1.65}.daytime{background:var(--accent);color:var(--bg)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:40px}.display{font-size:clamp(45px,6.7vw,78px);font-weight:800;letter-spacing:-.06em;line-height:1.1}.display i{font-family:Georgia,serif;font-weight:400}.badge{border:1px solid var(--bg);border-radius:50%;display:grid;place-items:center;min-width:92px;min-height:92px;font-weight:800;transform:rotate(10deg)}.day-details{border-top:1px solid #de737b;padding-top:22px}.day-details .eyebrow{margin-bottom:18px}.day-times{display:flex;justify-content:space-between;margin:0 0 28px;gap:15px}.day-times dt{font-size:12px}.day-times dd{margin:0;font-size:32px;font-weight:700;line-height:1.5;letter-spacing:-.05em}.access{padding-left:1.3em;margin:15px 0 0}.transfer{max-width:820px}.transfer>.eyebrow{color:var(--muted)}.journey{position:relative}.journey:before{content:"";position:absolute;left:9px;top:25px;bottom:25px;width:1px;background:var(--accent)}.stop{position:relative;display:grid;grid-template-columns:24px 145px 1fr;gap:24px;align-items:center}.station-dot{width:19px;height:19px;border:4px solid var(--accent);border-radius:50%;background:var(--bg)}.stop time{font-size:42px;font-weight:700;letter-spacing:-.055em}.stop div{display:flex;flex-direction:column}.stop strong{font-size:18px}.stop div>span{font-size:14px;color:var(--muted)}.ride{padding:27px 0 27px 49px;color:var(--accent);font-weight:700}.ride>span{margin-right:17px}.night{background:var(--surface)}.night .eyebrow{color:var(--accent)}.special-label{font-size:24px;margin-bottom:10px}.night .prose{align-self:center}.night .display i{color:var(--accent)}.social-callout{margin:48px 0 40px;padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px}.social-callout>div>span{font-size:12px;letter-spacing:.14em}.social-callout strong{display:block;font-size:clamp(30px,4.6vw,54px);line-height:1.25;letter-spacing:-.06em}.social-callout b{color:var(--accent);font-size:1.65em}.social-callout b span{font-size:.5em}.social-callout p{font-size:14px;color:var(--accent)}.schedule-row{display:grid;grid-template-columns:1.15fr 1.2fr auto;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding:25px 0}.schedule-row time{font-size:23px;font-weight:700;letter-spacing:-.025em}.schedule-row h3{font-size:23px}.schedule-row h3 span{font-size:12px;color:var(--muted);margin-right:20px}.schedule-row p{font-size:26px;line-height:1.3}.social-row{color:var(--accent)}.price-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:24px;margin-top:40px;align-items:stretch}.price-card{padding:36px;border:1px solid var(--line);position:relative}.price-card .eyebrow{display:block;color:var(--muted);margin-bottom:24px}.price-card h3{font-size:25px}.price{font-size:clamp(54px,7vw,86px);line-height:1.3;letter-spacing:-.06em;font-weight:800;margin-top:24px}.recommended{border-color:var(--accent);background:#efc45f09}.recommended .price{color:var(--accent)}.recommend-tag{position:absolute;right:20px;top:-14px;background:var(--accent);color:var(--bg);font-size:12px;padding:3px 12px;font-weight:700;letter-spacing:.04em}.welcome{margin-top:55px;display:grid;grid-template-columns:1fr 2fr;gap:24px}.welcome ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:15px}.welcome li{color:var(--accent);font-size:15px}.location{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:30px}.location h2{line-height:1.5}.outline{color:var(--ink);border-color:#9d7a7e;background:transparent;width:260px}.outline:disabled{cursor:not-allowed;color:var(--muted)}.map-control>p{font-size:13px;color:var(--muted);margin-top:12px}.final-cta{padding:85px 0;background:var(--accent);color:var(--bg);text-align:center}.final-cta h2{font-size:clamp(33px,5.5vw,64px);font-weight:800;line-height:1.45}.final-cta h2 span{letter-spacing:-.06em}.final-cta p:not(.eyebrow){font-size:18px;line-height:1.9;margin-top:28px}.dark{background:var(--bg);color:var(--accent);margin-top:30px}.dark:hover{background:#452126}footer{display:flex;justify-content:space-between;gap:24px;padding-block:26px;font-size:11px;letter-spacing:.07em;color:var(--muted)}.mobile{display:none}.skip{position:absolute;top:-90px;left:15px;padding:10px;background:var(--accent);color:var(--bg);z-index:10}.skip:focus{top:10px}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.section{padding-block:62px}.masthead{height:72px}.brand{font-size:21px}.brand span{font-size:10px}.edition{font-size:10px;letter-spacing:.07em}.hero{grid-template-columns:1fr;gap:28px;padding-top:27px}.hero .eyebrow{font-size:12px}.date{font-size:102px;gap:22px}.hero h1{font-size:66px;margin-top:19px}.hero h1>span{font-size:24px}.hero-ja{font-size:17px;margin-top:22px}.hero .button{width:100%;margin-top:20px}.teacher{font-size:13px}.photo-slot{min-height:320px}.photo-placeholder{padding:24px}.photo-word{font-size:67px}.photo-slot figcaption{right:15px;font-size:10px}.day-flow{gap:9px;margin-top:0;padding:20px 0}.day-flow span{font-size:10px;letter-spacing:0}.day-flow strong{font-size:15px;letter-spacing:-.04em}.day-flow>b{font-size:18px}.split{grid-template-columns:1fr;gap:30px}.eyebrow{font-size:12px;margin-bottom:22px}.intro h2{font-size:30px}.section-heading{align-items:flex-start;gap:10px;margin-bottom:30px}.section-heading .display{max-width:230px;font-size:48px}.badge{min-width:70px;min-height:70px;font-size:14px}.day-times dd{font-size:31px}.day-details h3{font-size:19px}.stop{grid-template-columns:20px 98px 1fr;gap:14px}.stop time{font-size:32px}.stop strong{font-size:14px;line-height:1.5}.stop div>span{font-size:13px}.ride{padding-left:34px}.display{font-size:58px}.special-label{font-size:20px}.social-callout{display:block;margin:32px 0;padding:24px 0}.social-callout strong{font-size:35px}.social-callout p{margin-top:12px}.schedule-row{grid-template-columns:1fr auto;gap:8px;padding:21px 0}.schedule-row time{grid-column:1/-1;font-size:20px}.schedule-row h3{font-size:20px}.schedule-row h3 span{margin-right:8px}.schedule-row p{font-size:23px}.price-grid{grid-template-columns:1fr;gap:28px;margin-top:30px}.price-card{padding:28px}.price-card .eyebrow{margin-bottom:16px}.price-card h3{font-size:22px}.price{font-size:65px;margin-top:13px}.recommended .price{font-size:80px}.welcome{grid-template-columns:1fr;gap:20px;margin-top:36px}.welcome ul{grid-template-columns:1fr;gap:12px}.location{flex-direction:column;align-items:stretch}.outline{width:100%}.final-cta{padding:60px 0}.final-cta h2{font-size:clamp(28px,8.5vw,42px)}.final-cta p:not(.eyebrow){font-size:16px}.final-cta .button{width:100%}footer{flex-direction:column;gap:4px;font-size:10px}.mobile{display:initial}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

@media(max-width:760px){.hero-copy{order:0}.day-flow{order:1}.photo-slot{order:2}.hero{row-gap:24px}}

/* Flyer palette: charcoal, crimson, warm gold, ivory. */
.daytime,.final-cta{background:var(--red);color:var(--ink)}
.daytime .badge{background:var(--accent);color:var(--bg);border-color:var(--accent)}
.daytime .day-times dd{color:#ffe2a0}
.masthead{border-bottom-color:var(--red)}
.photo-slot{box-shadow:inset 0 0 0 6px var(--red)}
.final-cta .eyebrow{color:#ffe2a0}
.final-cta .dark,.daytime .dark{color:var(--accent)}

/* Show the complete supplied flyer without cropping or text overlays. */
.photo-slot.flyer-slot{min-height:0;align-self:start;background:var(--surface);box-shadow:none}
.flyer-slot a{display:block;line-height:0}
.photo-slot.flyer-slot img{position:static;display:block;width:100%;height:auto;object-fit:contain}
.photo-slot.flyer-slot figcaption{position:static;writing-mode:horizontal-tb;display:flex;justify-content:space-between;gap:12px;padding:13px 16px;font-size:12px;letter-spacing:.02em;line-height:1.6;color:var(--muted)}
.flyer-slot figcaption span{white-space:nowrap;color:var(--accent)}
