:root{--ink: #1d2430;--ink-soft: #55606f;--ink-faint: #8a94a3;--paper: #fbfaf7;--card: #ffffff;--line: #e3e0d8;--accent: #1f6f5c;--accent-soft: #e8f1ee;--lumiere: #b4762a;--lumiere-soft: #fdf4e6;--radius: 14px;--wrap: 74rem;--shadow: 0 1px 2px rgba(29, 36, 48, .05), 0 8px 24px rgba(29, 36, 48, .05)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:Noto Sans JP,system-ui,-apple-system,Segoe UI,sans-serif;font-size:1rem;line-height:1.85;letter-spacing:.01em}h1,h2,h3{line-height:1.4;letter-spacing:.005em}a{color:var(--accent);text-underline-offset:.2em}a:hover{color:#14513f}img{max-width:100%;height:auto}.wrap{width:min(100% - 2.5rem,var(--wrap));margin-inline:auto}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;z-index:10;background:var(--card);padding:.5rem 1rem;border-radius:8px}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.site-header{background:var(--card);border-bottom:1px solid var(--line)}.site-header__inner{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;align-items:center;justify-content:space-between;padding-block:.9rem}.brand{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;font-size:1.05rem;text-decoration:none;color:var(--ink)}.brand__mark{color:var(--lumiere);font-size:1.15rem}.site-nav{display:flex;flex-wrap:wrap;gap:.35rem 1.25rem;margin:0;padding:0;list-style:none;font-size:.92rem}.site-nav a{text-decoration:none;color:var(--ink-soft)}.site-nav a[aria-current=page]{color:var(--accent);font-weight:700}.lang-switch{border:1px solid var(--line);border-radius:999px;padding:.15rem .85rem}.page{padding-block:2.5rem 4rem}.page__head{max-width:46rem;margin-bottom:2.5rem}.page__eyebrow{margin:0 0 .5rem;font-size:.8rem;color:var(--ink-faint);letter-spacing:.06em}.page__title{margin:0 0 .9rem;font-size:clamp(1.6rem,1.1rem + 2vw,2.4rem)}.page__lead{margin:0;font-size:1.05rem;color:var(--ink-soft)}.section{margin-block:3rem}.section__title{margin:0 0 1.2rem;font-size:1.25rem;padding-bottom:.5rem;border-bottom:2px solid var(--accent-soft)}.prose{max-width:46rem}.prose h2{margin-top:2.5rem;font-size:1.2rem}.prose p{color:var(--ink-soft)}.prose strong{color:var(--ink)}.hero{max-width:46rem;margin-bottom:3rem}.hero__title{margin:0 0 .5rem;font-size:clamp(1.9rem,1.2rem + 3vw,3rem)}.hero__tagline{margin:0 0 1rem;color:var(--accent);font-weight:700}.hero__body{margin:0;color:var(--ink-soft)}.feature{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;text-decoration:none;color:inherit;box-shadow:var(--shadow)}.feature:hover{border-color:var(--accent)}.feature__eyebrow{display:block;font-size:.78rem;color:var(--ink-faint)}.feature__title{display:block;margin-block:.4rem;font-size:1.2rem;font-weight:700;color:var(--accent)}.feature__body{display:block;color:var(--ink-soft);font-size:.95rem}.month-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(7rem,1fr));gap:.75rem;margin:0;padding:0;list-style:none}.month-grid__item a,.month-grid__item span{display:block;text-align:center;padding:.9rem .5rem;border:1px solid var(--line);border-radius:10px;background:var(--card);text-decoration:none;font-weight:700}.month-grid__item.is-soon span{color:var(--ink-faint);background:transparent;border-style:dashed;font-weight:400}.events{display:grid;gap:1.25rem;margin:0;padding:0;list-style:none}.event{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--radius);padding:1.4rem 1.5rem;box-shadow:var(--shadow)}.event__dates{margin:0;font-weight:700;color:var(--accent);font-size:.95rem}.event__name{margin:.2rem 0 .6rem;font-size:1.2rem}.event__time,.event__venue{margin:0 0 .3rem;font-size:.92rem;color:var(--ink-soft)}.event__summary{margin:.7rem 0 .6rem;color:var(--ink-soft)}.event__link{margin:0;font-size:.92rem}.showtimes{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow)}.showtimes__table{width:100%;border-collapse:collapse;font-size:.92rem}.showtimes__table caption{text-align:left;color:var(--ink-soft);padding-bottom:.9rem}.showtimes__table th,.showtimes__table td{text-align:left;padding:.4rem .6rem;border-bottom:1px solid var(--line);vertical-align:top}.showtimes__table thead th{font-size:.8rem;color:var(--ink-faint);font-weight:500}.showtimes__table tbody th{font-weight:400;white-space:nowrap;width:9rem}.showtimes__day{font-weight:700;margin-right:.35rem}.showtimes__wd{color:var(--ink-faint)}.showtimes__holiday{display:inline-block;margin-left:.4rem;font-size:.72rem;color:#b03a3a}.showtimes__list{display:flex;flex-wrap:wrap;gap:.3rem .9rem;margin:0;padding:0;list-style:none}.showtimes__note{color:var(--ink-faint);font-size:.8rem;margin-left:.3rem}.showtimes__table .is-weekend{background:var(--lumiere-soft)}.showtimes__table .is-weekend th,.showtimes__table .is-weekend td{font-weight:500}.showtimes__table .is-marked th{box-shadow:inset 3px 0 0 var(--lumiere)}.showtimes__foot{margin:1rem 0 0;font-size:.85rem;color:var(--ink-faint)}.courses{display:grid;gap:1.5rem}.course{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;box-shadow:var(--shadow)}.course__date{margin:0;font-size:.85rem;font-weight:700;color:var(--lumiere)}.course__title{margin:.2rem 0 .4rem;font-size:1.25rem}.course__who{margin:0;font-size:.9rem;color:var(--ink-faint)}.course__why{margin:1rem 0 1.4rem;color:var(--ink-soft)}.timeline{margin:0;padding:0;list-style:none;border-left:2px solid var(--line)}.timeline__item{display:flex;gap:1rem;padding:.55rem 0 .55rem 1.1rem;position:relative}.timeline__item:before{content:"";position:absolute;left:-5px;top:1.15rem;width:8px;height:8px;border-radius:50%;background:var(--line)}.timeline__item.is-lumiere:before{background:var(--lumiere);box-shadow:0 0 0 3px var(--lumiere-soft)}.timeline__time{flex:0 0 3.6rem;font-variant-numeric:tabular-nums;font-weight:700;color:var(--ink-faint)}.timeline__item.is-lumiere .timeline__time{color:var(--lumiere)}.timeline__body,.timeline__title{display:block}.timeline__item.is-lumiere .timeline__title{font-weight:700}.timeline__note{display:block;font-size:.85rem;color:var(--ink-faint)}.course__cta{margin:1.4rem 0 0}.checklist{margin:0;padding:0;list-style:none;display:grid;gap:.6rem}.checklist li{position:relative;padding-left:1.6rem;color:var(--ink-soft)}.checklist li:before{content:"□";position:absolute;left:0;color:var(--accent)}.note{margin:1rem 0 0;font-size:.875rem;line-height:1.7;color:var(--ink-faint)}.cta{margin-block:3.5rem;background:var(--lumiere-soft);border:1px solid #f0dfc4;border-radius:var(--radius);padding:2rem}.cta__eyebrow{font-size:.75rem;letter-spacing:.12em;color:var(--lumiere);font-weight:700}.cta__heading{margin:.6rem 0 .8rem;font-size:1.35rem}.cta__body{margin:0 0 1.5rem;color:var(--ink-soft);max-width:44rem}.cta__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.8rem}.btn{display:inline-block;padding:.75rem 1.6rem;border-radius:999px;text-decoration:none;font-weight:700;font-size:.95rem}.btn--sm{padding:.5rem 1.2rem;font-size:.9rem}.btn--primary{background:var(--lumiere);color:#fff}.btn--primary:hover{background:#9a6321;color:#fff}.btn--ghost{border:1px solid var(--lumiere);color:var(--lumiere)}.cta__shop{display:grid;gap:.7rem;margin:0;font-size:.9rem}.cta__shop div{display:grid;grid-template-columns:6rem 1fr;gap:.75rem}.cta__shop dt{color:var(--ink-faint)}.cta__shop dd{margin:0;color:var(--ink-soft)}.sources ul{margin:0;padding-left:1.2rem;font-size:.9rem;color:var(--ink-soft)}.site-footer{background:#fff;border-top:1px solid var(--line);padding-block:2.5rem;font-size:.88rem;color:var(--ink-soft)}.site-footer__heading{margin:0 0 .6rem;font-size:1rem}.site-footer__body,.site-footer__note,.site-footer__shop{margin:0 0 .7rem;max-width:48rem}.site-footer__note{color:var(--ink-faint)}.site-footer__copy{margin:1.5rem 0 0;color:var(--ink-faint)}@media(min-width:48rem){.cta__shop{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem 2rem}}@media(max-width:32rem){.cta__shop div{grid-template-columns:1fr;gap:.1rem}.showtimes__table tbody th{width:7rem}}
