:root{--green:#305922;--ink:#243b28;--paper:#fffefa;--soft:#f0f3eb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #accb83;outline-offset:6px}h1,h2,h3,p,figure{margin:0}p{line-height:2}img{display:block;max-width:100%}.header{position:absolute;inset:0 0 auto;z-index:30;display:flex;justify-content:space-between;align-items:center;padding:30px 4%;color:white}.brand{font-family:Georgia,serif;font-size:17px;letter-spacing:1.2px}.brand span{margin-left:8px}.menu-toggle{background:var(--green);color:white;border:0;width:58px;height:58px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;position:fixed;right:4%;top:20px;border-radius:50%;z-index:50}.menu-toggle span{display:block;width:25px;height:1px;background:currentColor;transition:transform .25s}.menu-toggle small{font-size:8px;letter-spacing:1.5px}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){transform:translateY(-4px) rotate(-45deg)}.hero{min-height:100svh;background:var(--green);color:white;position:relative;display:grid;place-items:center;padding:110px 24px 90px}.hero-kicker{position:absolute;top:130px;left:4%;font-size:10px;line-height:1.9;letter-spacing:2px}.hero-center{text-align:center}.logo-crop{width:250px;height:250px;position:relative;overflow:hidden;margin:0 auto 20px;mix-blend-mode:screen}.logo-crop img{position:absolute;width:180%;max-width:none;left:-40%;top:-109%;filter:grayscale(1) contrast(8);mix-blend-mode:screen}.hero h1{font-size:clamp(25px,3vw,41px);line-height:1.7;letter-spacing:.15em;font-weight:500}.hero-invite{font-size:12px;letter-spacing:.1em;margin:25px 0}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:45px;padding:21px 27px;font-size:13px;letter-spacing:.04em;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.button-light{background:var(--paper);color:var(--green)}.button span{font-size:20px}.hero-bottom{position:absolute;bottom:30px;left:4%;right:4%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px}.mobile{display:none}.section{padding:85px max(6%,calc((100vw - 1200px)/2))}.section-top{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #bcc6b5;padding-top:19px;margin-bottom:65px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600}.section-top>span{font-size:11px}.about-copy,.split{display:grid;grid-template-columns:1fr 1fr;gap:8%}h2{font-size:clamp(28px,3.5vw,45px);line-height:1.7;font-weight:500;letter-spacing:.06em}.about-copy p{font-size:14px;margin-bottom:20px}.about-copy strong{font-weight:600}.team-photo{margin-top:55px}.team-photo img{width:100%;height:auto}.team-photo figcaption{font-size:11px;text-align:right;margin-top:14px;letter-spacing:.1em}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:70px}.values article{border-top:1px solid #bcc6b5;padding-top:22px}.values span{font-size:9px;letter-spacing:1.5px}.values h3{font-size:19px;font-weight:500;margin:24px 0 15px}.values p{font-size:12px}.practice{background:var(--soft)}.details>div{display:grid;grid-template-columns:90px 1fr;gap:15px;border-bottom:1px solid #ccd4c5;padding:25px 0}.details>div:first-child{padding-top:0}.details h3{font-size:12px;font-weight:500;padding-top:6px}.details p{font-size:14px}.details small{font-size:11px}.schedule b{font-family:Georgia,serif;font-size:24px;font-weight:400;margin-left:10px}.coach-content{display:flex;justify-content:space-between;gap:40px;align-items:center}.coach-content>div{min-width:42%}.coach h3{font-size:34px;font-weight:500;margin:18px 0}.coach h3 span{font-size:10px;letter-spacing:2px;margin-left:25px}.coach-content>div>p:last-child{font-size:13px}.trial{background:#e9eede}.trial-main{text-align:center;padding:0 0 15px}.trial h2{margin:22px 0;font-size:clamp(32px,4.5vw,60px)}.trial h2 span{display:inline-block;color:var(--green)}.trial-main>p{font-size:13px}.trial-main>.eyebrow{font-size:9px}.trial-tags{display:flex;justify-content:center;gap:10px;margin:28px 0}.trial-tags span{font-size:11px;border:1px solid #a4b79b;padding:5px 16px;border-radius:30px}.button-green{background:var(--green);color:white}.trial-main .note{font-size:10px;margin-top:15px}.sns>a{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #bcc6b5;padding:30px 0}.sns h2{font-family:Georgia,serif;font-size:38px;letter-spacing:0}.sns a p{font-size:12px}.sns a>span{font-size:30px}footer{background:var(--green);color:white;padding:55px 6%;display:flex;justify-content:space-between;gap:25px;align-items:center}footer>a{font-family:Georgia,serif;font-size:16px}footer p,footer small{font-size:8px;letter-spacing:1px}.menu{position:fixed;inset:0;background:var(--green);color:white;width:100%;max-width:none;height:100svh;max-height:none;border:0;margin:0;padding:0;z-index:40}.menu::backdrop{background:var(--green)}.menu-inner{max-width:760px;margin:auto;padding:90px 8% 35px}.menu nav{display:flex;flex-direction:column;margin-top:25px}.menu nav a{display:flex;gap:28px;align-items:center;font-size:clamp(22px,4vw,34px);padding:14px 0;border-bottom:1px solid #ffffff2e}.menu nav small{font-size:10px;letter-spacing:2px;opacity:.65}.menu-foot{font-size:8px;letter-spacing:2px;margin-top:25px}.intro{position:fixed;inset:0;background:var(--green);z-index:100;display:grid;place-items:center;animation:intro-out .6s 2.5s both}.intro-art{position:relative;width:min(600px,95vw);aspect-ratio:1;mix-blend-mode:screen}.intro img{width:100%;height:100%;object-fit:contain;filter:grayscale(1) contrast(5)}.intro-letters{clip-path:polygon(0 0,100% 0,100% 35%,0 35%,0 46%,100% 46%,100% 55%,0 55%,0 64%,100% 64%,100% 100%,0 100%);animation:letters-in .6s both}.wave{position:absolute;inset:0;animation:wave-in 1.4s .5s both;transform-origin:left center}.wave-one{clip-path:inset(35% 0 54% 0)}.wave-two{clip-path:inset(55% 0 36% 0);animation-delay:.75s}.skip{position:absolute;bottom:35px;right:30px;background:none;border:0;color:white;font-size:10px;letter-spacing:2px;cursor:pointer}.visited .intro{display:none}@keyframes letters-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes wave-in{0%{clip-path:inset(35% 100% 54% 0);transform:scaleY(.02)}100%{transform:scaleY(1)}}@keyframes intro-out{to{opacity:0;visibility:hidden}}@media(max-width:700px){.header{padding:26px 6%}.brand{font-size:12px}.menu-toggle{right:5%;top:12px}.hero{padding-top:95px}.hero-kicker{top:95px;left:6%;font-size:8px}.logo-crop{width:205px;height:205px;margin-top:50px}.hero h1{font-size:25px;letter-spacing:.08em}.hero-invite{font-size:11px;line-height:1.9;margin:20px 0}.mobile{display:block}.hero-bottom{font-size:7px;letter-spacing:1px;left:6%;right:6%}.button{gap:25px;padding:19px 22px;font-size:12px}.section{padding:58px 7%}.section-top{margin-bottom:38px}.eyebrow{font-size:9px}.section-top>span{font-size:10px}.about-copy,.split{grid-template-columns:1fr;gap:30px}.about-copy p{font-size:13px}.team-photo{margin-top:30px}.team-photo figcaption{font-size:9px}.values{grid-template-columns:1fr;gap:25px;margin-top:40px}.values h3{margin:12px 0 8px;font-size:20px}.values p{font-size:12px}.coach-content{flex-direction:column;align-items:stretch;gap:30px}.coach h3{font-size:30px}.trial-main>p{font-size:12px}.trial-tags{gap:7px}.trial-tags span{font-size:10px;padding:5px 12px}.trial .button{width:100%;gap:10px;font-size:11px}.trial-main .note{font-size:9px}.sns h2{font-size:32px}.sns a p{font-size:10px}footer{flex-direction:column;align-items:flex-start;padding:40px 7%;gap:15px}.menu-inner{padding-top:80px}.menu nav a{font-size:24px;padding:16px 0}.details>div{grid-template-columns:75px 1fr}.intro-art{width:100vw}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-delay:0ms!important;transition:none!important}.intro{display:none}}
/* Reveal each waveform independently, preserving its position in the supplied logo. */
.wave{transform:none;mask-image:linear-gradient(#000,#000);mask-repeat:no-repeat;mask-size:0% 100%;animation:wave-reveal 1.4s .5s both}.wave-two{animation-delay:.75s}@keyframes wave-reveal{from{mask-size:0% 100%;opacity:0}15%{opacity:1}to{mask-size:100% 100%;opacity:1}}
.events{background:#f6f5ef}.events-heading{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;margin-bottom:45px}.events-heading>p{font-size:13px}.events-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.event img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.event-copy{padding-top:25px}.event h3{font-size:22px;font-weight:500;letter-spacing:.04em;margin:13px 0}.event-copy>p:last-child{font-size:13px}.menu{overflow-y:auto}@media(max-width:700px){.events-heading{grid-template-columns:1fr;gap:20px;margin-bottom:30px}.events-heading>p{font-size:12px}.events-grid{grid-template-columns:1fr;gap:38px}.event-copy{padding-top:20px}.event h3{font-size:20px}.event-copy>p:last-child{font-size:12px}.menu nav a{padding:12px 0}.menu-inner{padding-bottom:35px}}
.event figure{margin:0}.event figcaption{font-size:10px;line-height:1.8;margin-top:10px;color:#52654d}.events-grid{row-gap:48px}.trial-main .trial-eligibility{font-size:13px;font-weight:600;margin-top:24px;letter-spacing:.04em}@media(max-width:700px){.trial-main .trial-eligibility{font-size:12px}.event figcaption{font-size:9px}}
.coach-content{align-items:flex-start}.coach-list{flex:1;min-width:0!important}.coach-profile{padding:30px 0;border-bottom:1px solid #bcc6b5}.coach-profile:first-child{padding-top:0}.coach-profile:last-child{border-bottom:0;padding-bottom:0}.coach-profile ul{padding-left:1.3em;margin:0;font-size:13px;line-height:2}.coach-profile li+li{margin-top:6px}.trial-tags{flex-wrap:wrap}.trial-main .trial-eligibility{font-size:inherit;font-weight:400;gap:10px;max-width:650px;margin:28px auto 0}.trial-eligibility span{white-space:nowrap}.trial-eligibility+.trial-tags{margin-top:12px}@media(max-width:700px){.coach-profile ul{font-size:12px}.coach-profile{padding:25px 0}.trial-main .trial-eligibility{gap:7px}}
.support{background:var(--soft)}.support-heading{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.support-heading>p{font-size:13px}.support-options{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:45px 0 35px}.support-options article{border-top:1px solid #bcc6b5;padding-top:23px}.support-options h3{font-size:22px;font-weight:500;margin:18px 0}.support-options article>p:last-child{font-size:13px}.coach-profile h3 span{display:inline-block;font-size:10px;letter-spacing:2px;font-weight:400;margin-left:20px;vertical-align:middle;color:#52654d}@media(max-width:700px){.support-heading{grid-template-columns:1fr;gap:23px}.support-heading>p{font-size:12px}.support-options{grid-template-columns:1fr;gap:30px;margin-top:35px}.support-options article>p:last-child{font-size:12px}.support .button{width:100%;font-size:11px;gap:10px}.support-options h3{font-size:20px}.menu nav a{padding:10px 0}}
.support-options article>p:not(.eyebrow),.poster-story p{font-size:13px;line-height:2}.support-media{margin:25px 0}.support-media img{width:100%;height:auto}.support-media figcaption{font-size:10px;line-height:1.8;margin-top:10px;color:#52654d}.poster-media{max-width:400px}.poster-media a{display:block}.poster-story{border-left:2px solid #a4b79b;padding-left:18px}.poster-story .artist-credit{font-size:11px;margin-top:12px}.artist-credit a{text-decoration:underline;text-underline-offset:4px}@media(max-width:700px){.support-options article>p:not(.eyebrow),.poster-story p{font-size:12px}.support-options h3{line-height:1.7}.support-media figcaption{font-size:9px}.poster-story .artist-credit{font-size:10px}}

/* Safari: transparent SVG replaces background blending; clip paths reveal each wave. */
.intro-art{mix-blend-mode:normal;isolation:isolate;width:min(560px,90vw)}.intro img{filter:none;mix-blend-mode:normal}.wave{mask-image:none;-webkit-mask-image:none;mask-size:auto;transform:none;animation:safari-wave-reveal 1.4s .5s both}.wave-one{--wave-top:35%;--wave-bottom:54%}.wave-two{--wave-top:55%;--wave-bottom:36%;animation-delay:.75s}@keyframes safari-wave-reveal{from{clip-path:inset(var(--wave-top) 100% var(--wave-bottom) 0)}to{clip-path:inset(var(--wave-top) 0 var(--wave-bottom) 0)}}.intro{height:100%;height:100dvh}.skip{bottom:max(30px,env(safe-area-inset-bottom))}@media(prefers-reduced-motion:reduce){.intro{display:none}.wave{animation:none}}

.philosophy-heading{margin-top:65px;max-width:760px}.philosophy-heading h2{margin:20px 0}.philosophy-heading>p:last-child{font-size:13px}.philosophy-heading+.values{margin-top:35px}@media(max-width:700px){.philosophy-heading{margin-top:45px}.philosophy-heading h2{font-size:26px}.philosophy-heading>p:last-child{font-size:12px}}

/* Year-by-year album archive */
.album-banner{background:var(--green);color:white;padding:150px 7% 65px}.album-banner h1{font-family:Georgia,serif;font-size:clamp(60px,10vw,110px);font-weight:400;margin:20px 0;letter-spacing:.02em}.album-banner h1 small{font-family:inherit;font-size:20px;display:inline-block;margin-left:20px}.album-banner>p:last-child{font-size:13px}.album-content{min-height:45vh}.album-back{display:inline-block;font-size:12px;margin-bottom:40px}.album-years{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.album-year-card{padding:30px;border:1px solid #bcc6b5;display:grid;grid-template-columns:1fr auto;gap:20px;transition:background .2s}.album-year-card:hover{background:var(--soft)}.year-number{font:52px Georgia,serif}.year-summary{grid-row:2;font-size:12px}.year-arrow{grid-column:2;grid-row:1;font-size:28px}.year-picker{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}.year-chip{padding:8px 22px;border:1px solid #bcc6b5;border-radius:30px;font-size:13px}.year-chip[aria-current]{background:var(--green);color:white}.album-empty{padding:70px 24px;background:var(--soft);text-align:center}.album-empty h2{margin:20px 0}.album-empty>p:last-child{font-size:13px}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.photo-open{display:block;padding:0;border:0;width:100%;background:transparent;cursor:zoom-in}.photo-open img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.album-photo figcaption{font-size:12px;margin-top:12px;line-height:1.8}.photo-viewer{background:var(--paper);border:0;padding:55px 20px 20px;max-width:95vw;max-height:95dvh}.photo-viewer::backdrop{background:#10200ee8}.photo-viewer img{max-height:75dvh;object-fit:contain;margin:auto}.viewer-close{position:absolute;right:18px;top:12px;background:none;border:0;padding:8px;cursor:pointer}.photo-viewer p{font-size:12px;text-align:center;margin-top:12px}@media(max-width:700px){.album-banner{padding:120px 7% 45px}.album-banner h1 small{font-size:16px;margin-left:12px}.album-banner>p:last-child{font-size:12px}.album-years{grid-template-columns:1fr}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.album-empty{padding:45px 20px}.album-empty>p:last-child{font-size:12px}.album-photo figcaption{font-size:11px}.menu nav a{padding:8px 0;font-size:22px}.menu-inner{padding-top:75px}}

.hero-logo{width:min(350px,76vw);margin:35px auto 30px}.hero-logo img{width:100%;height:auto;display:block}@media(max-width:700px){.hero-logo{width:min(290px,74vw);margin-top:65px;margin-bottom:30px}}

/* Date-led news list and article pages */
.news-home{padding-top:60px;padding-bottom:60px}.news-home .section-top{margin-bottom:15px}.news-row{display:grid;grid-template-columns:190px minmax(0,1fr) 20px;gap:25px;align-items:center;padding:30px 0;border-bottom:1px solid #bcc6b5}.news-meta{display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:11px;letter-spacing:.05em}.news-meta time{font-family:Georgia,serif;font-size:13px}.news-category{font-size:10px;border:1px solid #bcc6b5;padding:3px 10px;border-radius:20px}.news-row h2{font-size:17px;font-weight:400;line-height:1.8;letter-spacing:.03em}.news-row:hover .news-row-title{text-decoration:underline;text-underline-offset:5px}.news-arrow{font-size:20px}.news-all{display:block;text-align:right;margin-top:25px;font-size:12px}.news-filters{display:flex;gap:10px;flex-wrap:wrap}.news-filters button{background:transparent;border:1px solid #a4b79b;color:var(--green);padding:10px 20px;border-radius:30px;cursor:pointer;font-size:12px}.news-filters button[aria-pressed=true]{background:var(--green);color:white}.news-count{font-size:10px;margin-top:25px}.news-content{min-height:45vh}.news-empty{padding:45px 0;font-size:13px}#news-detail{max-width:850px;margin:auto}.news-detail-title{font-size:clamp(23px,3vw,36px);font-weight:500;line-height:1.7;margin:25px 0 35px}.news-paragraph{font-size:14px;margin-bottom:22px;white-space:pre-line}.news-image{width:100%;height:auto;margin:30px 0}#news-detail .button{margin-top:20px}.menu-inner{padding-bottom:35px}@media(max-width:700px){.news-row{grid-template-columns:minmax(0,1fr) 20px;gap:14px;padding:25px 0}.news-row .news-meta{grid-column:1/-1}.news-row h2{font-size:15px}.news-arrow{grid-column:2;grid-row:2}.news-paragraph{font-size:13px}.news-filters{gap:7px}.news-filters button{padding:8px 13px;font-size:11px}.menu nav a{font-size:20px;padding:7px 0}.menu nav{margin-top:16px}#news-detail .button{font-size:12px;gap:15px;max-width:100%}.news-home{padding-top:45px;padding-bottom:45px}}

.album-event-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}.album-event-card{display:block}.album-event-card>img{width:100%;aspect-ratio:4/3;object-fit:cover}.album-event-text{padding:22px 0;border-bottom:1px solid #bcc6b5}.album-event-text time{font:14px Georgia,serif;letter-spacing:.05em}.album-event-text h2{font-size:21px;line-height:1.7;margin:12px 0}.album-event-text p{font-size:10px;letter-spacing:2px}.event-album-title{font-size:clamp(23px,3vw,36px);margin:15px 0}.event-album-description{font-size:13px;margin-bottom:35px}.photo-viewer{padding-left:45px;padding-right:45px}.viewer-prev,.viewer-next{position:absolute;top:50%;width:40px;height:48px;background:var(--paper);color:var(--green);border:0;font-size:24px;cursor:pointer;z-index:2}.viewer-prev{left:0}.viewer-next{right:0}.photo-viewer img{height:auto;max-width:100%;object-fit:contain}@media(max-width:700px){.album-event-grid{grid-template-columns:1fr;gap:25px}.album-event-text h2{font-size:19px}.album-banner h1 #album-event-heading{font-size:clamp(38px,10vw,65px)}.event-album-description{font-size:12px}.photo-viewer{padding-left:30px;padding-right:30px}.viewer-prev,.viewer-next{width:30px}.photo-viewer p{font-size:10px}}

/* White photo journal with an oversized, quiet club emblem. */
.album-page{background:#fff;color:#282e28;position:relative;isolation:isolate}.album-page::before{content:"";position:fixed;inset:12vh 0 0;background:url('assets/album-watermark.svg') no-repeat center;background-size:min(900px,90vw) auto;opacity:.045;pointer-events:none;z-index:-1}.album-page .album-banner{background:transparent;color:inherit;padding-bottom:32px}.album-page .header{color:var(--green)}.album-page .album-content{background:transparent}.album-page .album-empty{background:#f0f3ebcc}.album-page .album-back{margin-bottom:26px}.album-page .album-banner h1{margin:15px 0}.album-page[data-view="event"] .album-banner>p:last-child{display:none}.album-page[data-view="event"] .album-banner{padding-bottom:10px}.album-page[data-view="event"] .album-content{padding-top:28px}.album-page[data-view="event"] .event-album-title{font-size:clamp(23px,3vw,34px);font-weight:600;line-height:1.7}.album-page[data-view="event"] .event-album-description{margin-bottom:30px;color:#596259}.album-mosaic{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;align-items:stretch}.album-mosaic .album-photo{grid-column:span 1;min-width:0;overflow:hidden}.album-mosaic .mosaic-feature{grid-column:span 4;grid-row:span 2}.album-mosaic .photo-open{height:100%;position:relative;overflow:hidden}.album-mosaic .photo-open img{width:100%;height:100%;aspect-ratio:1;object-fit:cover;transition:transform .35s}.album-mosaic .mosaic-feature img{aspect-ratio:2/1}.album-mosaic .photo-open:hover img{transform:scale(1.025)}.album-mosaic .album-photo:nth-child(n+6){grid-column:span 2}.album-mosaic .album-photo:first-child{border-radius:7px 0 0 7px}.album-page .photo-viewer{background:white;box-shadow:0 15px 70px #0003}.album-page .photo-viewer::backdrop{background:#151915d9}.album-page .photo-viewer #viewer-caption{font:11px Georgia,serif;color:#6d736c;letter-spacing:2px;margin-top:14px}.album-page .viewer-close{font-size:12px;letter-spacing:.06em}.album-page .viewer-prev,.album-page .viewer-next{background:white}@media(max-width:700px){.album-page::before{inset:20vh -20vw 0;background-size:120vw auto;opacity:.04}.album-page .album-banner{padding:115px 7% 22px}.album-page .album-banner h1{font-size:60px}.album-page[data-view="event"] .album-banner h1{font-size:44px}.album-page[data-view="event"] .album-content{padding-top:20px}.album-page[data-view="event"] .event-album-title{font-size:23px}.album-mosaic{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.album-mosaic .mosaic-feature{grid-column:1/-1;grid-row:auto}.album-mosaic .mosaic-feature img{aspect-ratio:4/3}.album-mosaic .album-photo:not(.mosaic-feature){grid-column:span 2}.album-mosaic .album-photo:first-child{border-radius:5px 5px 0 0}.album-page .photo-viewer{max-width:96vw;padding-top:48px}.album-page .photo-viewer img{max-height:76dvh}.album-page .year-picker{margin-bottom:24px}}@media(prefers-reduced-motion:reduce){.album-mosaic .photo-open img{transition:none}}

/* Coach profile dialog */
.coach-name-button{font:inherit;letter-spacing:inherit;text-align:left;color:inherit;background:none;border:0;padding:0;cursor:pointer;display:flex;align-items:center;gap:0;flex-wrap:wrap}.coach-name-button small{font-size:9px;letter-spacing:1.5px;margin-left:auto;padding-left:20px;color:#64715f}.coach-name-button:hover{text-decoration:underline;text-underline-offset:8px}.coach-profile h3 .coach-name-button span{margin-left:20px}.coach-dialog{width:min(900px,94vw);max-width:94vw;max-height:90vh;max-height:90dvh;border:1px solid #e5e7e3;background:white;color:#202720;border-radius:22px;padding:24px;overscroll-behavior:contain;box-shadow:0 20px 100px #0003}.coach-dialog::backdrop{background:#11220fd9}.profile-dialog-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e5e7e3;padding-bottom:22px;margin-bottom:24px}.profile-dialog-head p{font-size:10px;color:#667060}.profile-dialog-head h2{font:600 27px/1.5 Arial,sans-serif;letter-spacing:0;margin-top:4px}.profile-x{font-size:30px;border:0;background:transparent;color:inherit;cursor:pointer;width:42px;height:42px;flex:none}.profile-dialog-body{background:#f5f6f3;border-radius:20px;padding:22px}.profile-summary{display:grid;grid-template-columns:115px minmax(0,1fr);gap:20px;align-items:start;padding-bottom:25px;border-bottom:1px solid #e2e6dd}.profile-portrait{min-height:145px;display:grid;place-content:center;text-align:center;background:white;border-radius:17px;color:#93998f;padding:15px 8px}.profile-portrait svg{width:70px;height:80px;margin:auto}.profile-portrait small{font-size:9px;margin-top:5px}.profile-main h3{font-size:32px;line-height:1.5;margin:8px 0 10px;font-weight:600}.profile-main h3 span{font-size:10px;letter-spacing:2px;color:#7a8575;margin-left:15px;display:inline-block;font-weight:400}.profile-main ul{font-size:12px;padding-left:1.2em;line-height:1.9;margin:0 0 14px}.profile-close{background:#1d251d;color:white;width:100%;padding:12px 18px;border:0;border-radius:30px;font-size:13px;font-weight:600;cursor:pointer}.profile-close span{margin-left:12px}.profile-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:25px 0 20px}.profile-tabs button{border:0;background:transparent;color:#899081;font-size:14px;padding:10px;border-radius:25px;cursor:pointer}.profile-tabs button[aria-selected=true]{background:#e9ede5;color:#263824}.profile-panel{min-height:165px;padding:10px 0}.profile-panel[hidden]{display:none}.profile-pending{font-size:13px;color:#6b7566;padding:18px 22px;background:white;border-radius:18px;display:inline-block}@media(max-width:700px){.coach-dialog{padding:16px;border-radius:20px}.profile-dialog-head{padding-bottom:15px;margin-bottom:16px}.profile-dialog-head h2{font-size:22px}.profile-dialog-body{padding:16px}.profile-summary{grid-template-columns:82px minmax(0,1fr);gap:14px}.profile-portrait{min-height:115px;padding:10px 4px}.profile-portrait svg{width:52px;height:65px}.profile-portrait small{font-size:8px}.profile-main h3{font-size:27px}.profile-main h3 span{font-size:8px;margin-left:8px}.profile-main ul{font-size:11px;overflow-wrap:anywhere}.profile-main .eyebrow{font-size:8px;letter-spacing:1px}.profile-close{font-size:11px;padding:11px 8px}.profile-tabs button{font-size:12px;padding:10px 4px}.profile-pending{font-size:12px}.coach-name-button small{font-size:8px}.profile-panel{min-height:130px}}@media(max-width:360px){.profile-summary{grid-template-columns:1fr}.profile-portrait{width:85px;min-height:100px}}

/* Portraits and discreet time travel; qualifications stay inside the dialog. */
.profile-summary{grid-template-columns:160px minmax(0,1fr)}.profile-portrait{display:block;padding:0;border:0;overflow:hidden;width:100%;height:200px;min-height:0;background:#e9ece5;cursor:pointer;touch-action:manipulation;position:relative}.profile-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 30%;user-select:none;-webkit-user-drag:none}.profile-portrait img[alt*="中学生"]{object-fit:contain;object-position:center}.profile-voices{padding-top:25px}.profile-voices h4{font-weight:500;font-size:14px;margin:0 0 18px}.profile-voices .profile-pending{font-size:13px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.profile-portrait.time-travel{animation:coach-time-travel .7s ease both}@keyframes coach-time-travel{0%{filter:brightness(1);transform:scale(1)}35%{filter:brightness(2) sepia(.8);transform:scale(.97)}65%{filter:brightness(1.15) sepia(.4)}100%{filter:none;transform:none}}@media(max-width:700px){.profile-summary{grid-template-columns:100px minmax(0,1fr)}.profile-portrait{height:135px}.profile-voices .profile-pending{font-size:12px}}@media(max-width:360px){.profile-summary{grid-template-columns:1fr}.profile-portrait{width:120px;height:150px}}@media(prefers-reduced-motion:reduce){.profile-portrait.time-travel{animation:none}}

/* Supporter introductions */
.support-sponsors{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:center}.support-sponsors p:not(.eyebrow){font-size:13px;line-height:2;max-width:760px}.support-open{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:#305922;color:white;border:1px solid #305922;border-radius:4px;padding:16px 22px;font-family:inherit;font-size:13px;font-weight:500;line-height:1.6;cursor:pointer;text-align:left}.support-open:hover{background:#25461b}.support-open:focus-visible,.supporters-dialog button:focus-visible{outline:2px solid #c27330;outline-offset:4px}.support-update-note{font-size:11px!important;color:#64715e;margin-top:10px}.supporters-dialog{box-sizing:border-box;width:min(820px,calc(100% - 32px));max-height:88dvh;border:1px solid #dce3d7;border-radius:18px;padding:28px;background:#fffefa;color:#243b28;overflow-y:auto;overscroll-behavior:contain;box-shadow:0 20px 80px #0003}.supporters-dialog::backdrop{background:#10250fd1;backdrop-filter:blur(5px)}.supporters-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:1px solid #d6dfcf;padding-bottom:20px}.supporters-head h2{font-size:clamp(21px,4vw,30px);font-weight:500;line-height:1.6;margin:12px 0 0}.supporters-head .eyebrow{font-size:9px}.supporters-x{flex:none;width:44px;height:44px;border:0;background:transparent;color:inherit;font-size:30px;cursor:pointer}.supporters-intro{font-size:13px;line-height:2;margin:22px 0}.supporters-empty{background:#f0f3eb;border-radius:12px;padding:35px 24px;text-align:center}.supporters-empty p{font-size:12px;color:#66725f;line-height:1.9}.supporters-empty .supporters-empty-heading{font-size:16px;color:#305922;margin-bottom:10px}.supporters-list{display:grid;gap:20px}.supporter-card{display:grid;grid-template-columns:180px minmax(0,1fr);border:1px solid #dce3d7;border-radius:12px;overflow:hidden;background:#fff}.supporter-card:not(:has(.supporter-photo)){grid-template-columns:1fr}.supporter-photo{width:100%;height:auto;max-height:260px;object-fit:contain;background:#f0f3eb}.supporter-content{padding:22px}.supporter-content h3{font-size:20px;font-weight:500;line-height:1.6;overflow-wrap:anywhere}.supporter-description{font-size:13px;line-height:2;white-space:pre-line;overflow-wrap:anywhere;margin-top:12px}.supporter-link{display:inline-block;font-size:12px;border-bottom:1px solid #9cab92;margin-top:15px}.supporters-close{display:block;margin:25px auto 0;padding:12px 45px;border:0;border-radius:30px;background:#305922;color:#fff;font-size:13px;cursor:pointer}@media(max-width:700px){.support-sponsors{grid-template-columns:1fr;gap:20px}.support-sponsors p:not(.eyebrow){font-size:12px}.support-open{width:100%;font-size:12px;padding:15px 18px}.supporters-dialog{padding:20px}.supporters-intro{font-size:12px}.supporter-card{grid-template-columns:1fr}.supporter-photo{max-height:230px}.supporter-content{padding:18px}.supporter-content h3{font-size:18px}}

/* Sponsor logos and individual stories */
.support-sponsors{display:block}.sponsor-logos{display:flex;flex-wrap:wrap;gap:26px;margin-top:25px}.sponsor-logo{display:block;width:min(440px,100%);padding:14px 8px 12px;border:0;background:transparent;color:#305922;cursor:pointer;text-align:left;transition:opacity .2s}.sponsor-logo img{display:block;width:100%;height:auto;aspect-ratio:4.9;object-fit:cover;object-position:center 51%}.sponsor-logo>span{display:block;margin-top:12px;font-size:11px;letter-spacing:.1em}.sponsor-logo>span>span{margin-left:10px}.sponsor-logo:hover{opacity:.75}.sponsor-logo:focus-visible{outline:2px solid #c27330;outline-offset:6px;border-radius:4px}.supporters-detail-view{width:min(940px,calc(100% - 28px))}.supporters-detail-view .supporters-head{margin-bottom:22px}.supporter-hero{margin:0 0 24px}.supporter-hero img{display:block;width:100%;height:auto;border-radius:7px}.supporter-story h3,.supporter-relationship h3{font-size:20px;font-weight:500;line-height:1.8;margin:0 0 18px}.supporter-story p,.supporter-relationship>p:not(.eyebrow){font-size:13px;line-height:2.15;margin:0 0 16px}.supporter-story{padding:0 4px}.supporter-relationship{background:#f0f3eb;padding:24px;border-radius:10px;margin:25px 0}.supporter-relationship .eyebrow{font-size:9px;margin-bottom:12px}.supporter-relationship h3{font-size:19px}.supporter-relationship>p:last-child{margin-bottom:0}.supporter-gallery{display:grid;grid-template-columns:1fr 1fr;gap:22px}.supporter-gallery-item{margin:0;min-width:0}.supporter-gallery-item img{display:block;width:100%;height:auto;border-radius:7px}.supporter-gallery-item figcaption{font-size:11px;line-height:1.8;margin-top:9px;color:#617059}.supporter-gallery-item:last-child:nth-child(odd){grid-column:1/-1;max-width:680px;margin:auto;width:100%}@media(max-width:700px){.sponsor-logos{margin-top:22px}.sponsor-logo{width:min(420px,100%);padding:10px 0}.supporters-detail-view{padding:18px}.supporter-story h3{font-size:18px}.supporter-story p,.supporter-relationship>p:not(.eyebrow){font-size:12px}.supporter-relationship{padding:20px;margin:22px 0}.supporter-gallery{grid-template-columns:1fr;gap:22px}.supporter-gallery-item figcaption{font-size:10px}.supporter-relationship h3{font-size:17px}}

.supporter-links{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 8px}.supporter-external{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 22px;border:1px solid #305922;border-radius:4px;color:#305922;font-size:12px;line-height:1.7}.supporter-external:hover{background:#e8eddf}.supporter-external:focus-visible{outline:2px solid #c27330;outline-offset:3px}@media(max-width:450px){.supporter-external{flex:1;white-space:nowrap;padding:11px 15px}}

.sponsor-logos{align-items:flex-end}.sponsor-logo-ishihara img{aspect-ratio:2.6;object-position:center 50%}.sponsor-logo-ishihara{width:min(400px,100%)}

.supporter-hero-dark{background:#000;border-radius:7px;padding:22px 14px}.supporter-hero-dark img{border-radius:0;object-fit:contain}

.supporters-poster-view .supporters-list{gap:25px}.poster-directory-group{border-top:1px solid #d7dfd1;padding-top:20px}.poster-directory-group h3{font-size:18px;font-weight:500;margin:0 0 16px}.poster-directory-names{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:11px 24px}.poster-directory-names li{font-size:13px;line-height:1.9;overflow-wrap:anywhere}.poster-directory-sponsors{background:#f0f3eb;border:0;border-radius:10px;padding:22px}.poster-directory-sponsors h3{font-size:15px}.poster-directory-sponsors li{font-size:16px;color:#305922}.poster-directory-order{font-size:11px;line-height:1.9;color:#63705d;margin:0}.poster-directory-thanks{border-left:2px solid #a9b99c;padding:4px 0 4px 18px}.poster-directory-thanks p{font-size:12px;line-height:2;margin:0}@media(max-width:600px){.poster-directory-names{grid-template-columns:1fr;gap:8px}.poster-directory-group h3{font-size:17px}.poster-directory-names li{font-size:13px}.poster-directory-sponsors li{font-size:15px}.poster-directory-sponsors{padding:20px}.poster-directory-order{font-size:10px}.poster-directory-thanks p{font-size:11px}}

.trial-experience{margin:35px 0;text-align:left}.trial-experience h3{font-size:clamp(17px,2vw,23px);font-weight:500;line-height:1.8}.trial-experience>p{font-size:13px;margin:12px 0 22px}.trial-photos{display:grid;grid-template-columns:1fr 1fr;gap:18px}.trial-photos img{width:100%;height:auto;border-radius:6px}.support-invitation{margin-top:18px;padding-left:15px;border-left:2px solid #8da47e}.support-contact-note{font-size:13px;margin:0 0 18px}@media(max-width:700px){.trial-photos{grid-template-columns:1fr;gap:16px}.trial-experience>p,.support-contact-note{font-size:12px}.trial-experience{margin:30px 0}.trial-experience h3{font-size:18px}}

.hero-section-number{display:block;margin-bottom:18px;letter-spacing:2px}.albums-home{background:#fffefa}.albums-home-content{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:7%}.albums-home-photo{display:block;overflow:hidden;border-radius:6px}.albums-home-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform .3s}.albums-home-photo:hover img{transform:scale(1.025)}.albums-home-copy p{font-size:13px;margin:25px 0}.albums-home-copy .button{width:100%}@media(max-width:700px){.albums-home-content{grid-template-columns:1fr;gap:28px}.albums-home-copy p{font-size:12px;margin:20px 0}.hero-section-number{margin-bottom:12px}}@media(prefers-reduced-motion:reduce){.albums-home-photo img{transition:none}}

.coach-catchcopy{font-size:13px;line-height:1.9;margin-top:12px;color:#52654d}.profile-personality{padding-top:25px}.profile-catchcopy{font-size:clamp(19px,3vw,25px);font-weight:500;line-height:1.8;color:#305922}.profile-character{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.profile-character span{padding:4px 12px;border:1px solid #cdd8c5;border-radius:20px;font-size:11px;color:#52654d}.profile-personality>p:last-child{font-size:13px;line-height:2}.profile-voice-list{list-style:none;padding:0;margin:0;display:grid;gap:13px}.profile-voice-list li{max-width:90%;justify-self:start}.profile-voice-list li:nth-child(even){justify-self:end}.profile-voice-list blockquote{margin:0;background:white;border-radius:18px 18px 18px 4px;padding:16px 20px;font-size:13px;line-height:1.9}.profile-voice-list li:nth-child(even) blockquote{border-radius:18px 18px 4px 18px;background:#eaf0e4}.profile-voice-note{font-size:10px;line-height:1.8;color:#6b7566;margin-top:18px}@media(max-width:700px){.coach-catchcopy{font-size:12px}.profile-personality>p:last-child,.profile-voice-list blockquote{font-size:12px}.profile-voice-list blockquote{padding:14px 16px}.profile-voice-list li{max-width:96%}.profile-character span{font-size:10px}.profile-personality{padding-top:22px}}

.profile-portrait.photo-loading::after,.profile-portrait.photo-error::after{position:absolute;inset:0;display:grid;place-content:center;padding:12px;font-size:10px;line-height:1.8;color:#63705c;background:#e9ece5}.profile-portrait.photo-loading::after{content:"写真を読み込み中"}.profile-portrait.photo-error::after{content:"写真を読み込めませんでした"}.profile-personality p.profile-catchcopy{font-size:clamp(19px,3vw,25px);line-height:1.8;margin-bottom:0}

/* Each coach keeps a distinct accent with a light reading surface. */
.coach-dialog[data-hunt-panel="okumura"]{--coach-surface:#e4e7d9;--coach-accent:#454f2f;--coach-bubble:#d3dac2;--coach-line:#b7c0a4}
.coach-dialog[data-hunt-panel="mugishima"]{--coach-surface:#fbe6d0;--coach-accent:#823c13;--coach-bubble:#f5d2ad;--coach-line:#d8b18a}
.coach-dialog[data-hunt-panel="matsui"]{--coach-surface:#f0dfe4;--coach-accent:#732c42;--coach-bubble:#e7c7d1;--coach-line:#cda5b2}
.coach-dialog .profile-dialog-body{background:var(--coach-surface,#f5f6f3);border-top:5px solid var(--coach-accent,#305922);color:#202720}
.coach-dialog .profile-summary{border-bottom-color:var(--coach-line,#e2e6dd)}
.coach-dialog .profile-main h3 span{color:var(--coach-accent,#52654d)}
.coach-dialog .profile-personality p.profile-catchcopy{color:var(--coach-accent,#305922)}
.coach-dialog .profile-close{background:var(--coach-accent,#1d251d);color:#fff}
.coach-dialog .profile-voice-list blockquote{color:#202720;background:#fffefa}
.coach-dialog .profile-voice-list li:nth-child(even) blockquote{background:var(--coach-bubble,#eaf0e4)}
.coach-dialog .hunt-ball{color:var(--coach-accent,#66785e)}

/* Remove the trailing full-width punctuation space for optical centering. */
.trial h2 .trial-punctuation{display:inline-block;width:.5em;letter-spacing:0;text-align:left;color:inherit}.trial-main>.eyebrow{text-align:center;text-indent:2px}

.profile-coaching-history{margin:0 0 16px;font-size:12px;line-height:1.9;overflow-wrap:anywhere}.profile-coaching-history strong{display:block;font-weight:600}.profile-coaching-history span{display:block;font-size:11px;margin-top:3px}@media(max-width:700px){.profile-coaching-history{font-size:11px;margin-bottom:13px}.profile-coaching-history span{font-size:10px}}

.profile-voice-tabs{display:flex;gap:8px;margin:0 0 22px;border-bottom:1px solid var(--coach-accent)}.profile-voice-tabs[hidden]{display:none}.profile-voice-tabs button{flex:1;border:0;border-bottom:3px solid transparent;background:transparent;color:inherit;padding:12px 5px;font:inherit;font-size:13px;cursor:pointer}.profile-voice-tabs button[aria-selected="true"]{border-bottom-color:var(--coach-accent);color:var(--coach-accent);font-weight:600}.profile-voice-tabs button:focus-visible{outline:2px solid var(--coach-accent);outline-offset:2px}@media(max-width:700px){.profile-voice-tabs button{font-size:12px}}

footer .content-use-notice{max-width:880px;margin:24px auto 0;padding:0 20px;font-size:10px;line-height:1.9;letter-spacing:.03em;opacity:.85;overflow-wrap:anywhere}
