:root{--purple:#8300e9;--ink:#333;--muted:#615a68;--line:#e8e0ee}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:white;color:var(--ink);font:16px/1.75 Roboto,Arial,'Hiragino Kaku Gothic ProN',sans-serif}a{color:inherit}button,input,select,textarea{font:inherit}button,a,input,select,textarea:focus{outline-offset:5px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8300e9}header{height:82px;padding:10px max(4%,calc((100vw - 1220px)/2));display:flex;gap:24px;align-items:center;justify-content:space-between;background:#fff;border-bottom:0;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}.brand img{width:52px;height:52px;object-fit:contain}.brand span{font-family:'Zen Tokyo Zoo',sans-serif;font-size:20px;color:#333}.brand small{display:block;font:11px Roboto,sans-serif;letter-spacing:1px;margin-top:12px}nav{display:flex;gap:23px;align-items:center}nav a{font-size:12px;font-weight:700;text-decoration:none;color:#555}nav a:hover{color:var(--purple)}#language{background:none;border:1px solid #ddd;border-radius:4px;padding:8px 12px;cursor:pointer;font-size:13px;font-weight:700;white-space:nowrap}.button{display:inline-flex;justify-content:center;align-items:center;padding:17px 25px;border:0;border-radius:4px;background:linear-gradient(90deg,#f92c8b,#b02cd6);color:#fff;font:700 14px/1.5 Roboto,sans-serif;letter-spacing:2px;text-transform:uppercase;text-decoration:none;box-shadow:0 15px 25px -15px #b02cd6;cursor:pointer;transition:filter .2s,transform .2s}.button:hover{filter:brightness(1.12);transform:translateY(-2px)}.hero{position:relative;height:min(57vw,730px);min-height:570px;background:linear-gradient(130deg,#8624e1,#3607a6);overflow:hidden;isolation:isolate}.hero-banner{position:absolute;inset:0;max-width:1280px;width:100%;height:100%;margin:auto;object-fit:cover;z-index:-2}.hero:before,.hero:after{content:'';position:absolute;left:0;right:0;height:45px;background:url('assets/divider0.svg') center/100% 100% no-repeat;z-index:2;pointer-events:none}.hero:before{top:0;transform:rotate(180deg)}.hero:after{bottom:-1px}.hero-copy{position:relative;color:#fff;text-align:center;padding-top:120px;margin:auto;max-width:1000px}.hero .eyebrow{color:white;letter-spacing:7px;font-size:20px;margin:0 0 20px;text-shadow:0 2px 8px #4e1020}.hero h1{font-family:'Zen Tokyo Zoo',sans-serif;font-weight:400;font-size:clamp(64px,7.6vw,106px);line-height:1.2;letter-spacing:-3px;margin:0 0 28px;text-shadow:0 2px 8px #722437}.hero .intro{font-size:21px;font-weight:700;text-shadow:0 2px 8px #411b32;margin:0 auto 30px;max-width:800px}.hero .button{padding:20px 34px}.original-purpose{padding:45px 7% 75px;max-width:1300px;margin:auto;text-align:center}.original-purpose>h2{font:700 clamp(25px,2.6vw,36px)/1.35 Roboto,sans-serif;margin:0 0 8px;color:#333}.japanese-motto{color:var(--purple);font-size:18px;margin:0 0 45px}.purpose-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;text-align:left}.purpose-grid>img{width:100%;max-width:470px;border-radius:12px;box-shadow:0 2px 20px #dfbaf4}.purpose-grid h3{font:400 clamp(25px,2.65vw,38px)/1.35 'Zen Tokyo Zoo',sans-serif;color:var(--purple);margin:0 0 23px}.purpose-grid p{font-size:18px;line-height:1.7;margin:0 0 26px}.section{padding:72px max(7%,calc((100vw - 1120px)/2));scroll-margin-top:20px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:3px;color:var(--purple);margin:0 0 12px}.section-heading{text-align:center;margin:0 auto 35px}.section-heading>p{max-width:660px;margin:15px auto}.section-heading h2{margin-bottom:12px}h2{font:400 clamp(31px,3.25vw,46px)/1.3 'Zen Tokyo Zoo',Roboto,sans-serif;margin:0 0 25px}h3{font-size:21px;line-height:1.35;margin:0 0 12px}p{margin:0 0 22px}em{font-style:normal;color:var(--purple)}#experiences{background:#fcfaff;padding-top:55px}.directory{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.directory a{display:flex;flex-direction:column;text-align:center;padding:25px 12px 28px;text-decoration:none;background:white;border-radius:10px;box-shadow:0 6px 30px #6e82d024;border-bottom:4px solid var(--purple);transition:transform .2s}.directory a:hover{transform:translateY(-6px)}.directory b{display:grid;place-items:center;width:50px;height:50px;margin:0 auto 20px;background:#efdeff;color:var(--purple);border-radius:100%;font-size:18px}.directory span{font-weight:700;font-size:17px;line-height:1.3;margin-bottom:15px}.directory small{font-size:10px;letter-spacing:1px;color:#615a68;margin-top:auto}.service-heading{display:flex;gap:15px;align-items:baseline;margin-bottom:25px}.number{font-size:14px;font-weight:700;color:var(--purple)}.split{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.split p{color:var(--muted)}.entertainment{position:relative;padding-top:90px;padding-bottom:95px;background:linear-gradient(130deg,#8624e1,#3607a6);color:white}.entertainment .eyebrow,.entertainment .number,.entertainment .split p{color:white}.entertainment .programs{display:grid;gap:17px}.programs article{background:white;color:#333;padding:24px;display:flex;gap:18px;border-radius:10px;box-shadow:0 10px 30px #3607a63b}.programs article>span{font-size:13px;color:var(--purple);font-weight:700}.entertainment .programs p{color:#666;font-size:15px;margin:0}.entertainment .button{margin-top:12px}.talent-photo img{display:block;width:100%;border-radius:8px;border:1px solid #eee}.talent .name{font-size:14px;font-weight:700;letter-spacing:1px;color:var(--purple)}.tags{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 25px}.tags span{border:1px solid #d9c4e9;padding:5px 12px;border-radius:20px;font-size:13px;color:#682da1}.santa{background:#fff4f7}.santa-photo{display:block;width:100%;height:380px;object-fit:cover;object-position:25% center;border-radius:12px}.santa h2,.santa .number,.santa .eyebrow{color:#b01e56}.santa .button{background:linear-gradient(90deg,#f92c8b,#b51b3f)}.finds{background:#fffcf1}.pill{display:inline-block;background:#f7e4a9;padding:6px 12px;border-radius:3px;font-size:12px;letter-spacing:2px;margin-bottom:20px;font-weight:700}.fine{font-size:13px!important;line-height:1.6}.mission{background:#f9f5ff}.mission h2{color:var(--purple)}.mission .split{align-items:start}.mission .split>div:first-child>p{font-size:23px;line-height:1.5}.stats{display:flex;gap:40px;margin:25px 0 15px}.stats div{display:flex;flex-direction:column}.stats strong{font-size:44px;color:var(--purple);line-height:1.2}.stats span{font-size:14px}.actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap}.text-link{font-size:14px;font-weight:700;color:var(--purple);text-underline-offset:4px}.charity-photo{display:block;width:100%;max-height:480px;object-fit:cover;margin-top:45px;border-radius:10px}.funding{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:30px;margin-top:35px;border-top:1px solid #d8c5e9;font-size:14px}.funding b,.plus{color:var(--purple)}.plus{font-size:24px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:60px}.contact>div p{color:var(--muted)}form{padding:28px;background:#f9f5fd;border-radius:10px;border:1px solid #eddef8}label{display:block;margin-bottom:18px}label>span{display:block;font-size:14px;font-weight:700;margin-bottom:8px}input,select,textarea{border:1px solid #d4c4df;border-radius:4px;padding:12px;background:#fff;color:#333;width:100%;display:block;font-size:16px}textarea{resize:vertical}form .button{width:100%}form .fine{margin:18px 0 0;color:#666}#form-status{font-size:14px;color:var(--purple);margin:16px 0 0}footer{background:#29202e;color:white;padding:36px 7%;display:flex;justify-content:space-between;gap:25px;align-items:center}footer .brand{display:block;font:400 27px 'Zen Tokyo Zoo',sans-serif}footer .brand span{color:white;font:inherit}footer p,footer a{font-size:13px;margin:0 0 5px;color:#e7d9ed}.skip{position:absolute;top:-100px;left:15px;background:#fff;padding:10px;z-index:30}.skip:focus{top:10px}html[lang=ja] h2,html[lang=ja] .purpose-grid h3{font-family:Roboto,'Hiragino Kaku Gothic ProN',sans-serif;font-weight:700;line-height:1.55}html[lang=ja] .japanese-motto{display:none}html[lang=ja] .hero .eyebrow{font-size:16px;letter-spacing:2px}html[lang=ja] .directory span{font-size:15px}
@media(max-width:1150px){header .brand span{display:none}nav{gap:17px}.split{gap:40px}.directory{gap:10px}}@media(max-width:900px){header{height:74px}nav a{font-size:10px}nav{gap:13px}.hero{min-height:510px}.hero-copy{padding-top:115px}.hero h1{font-size:70px}.hero .eyebrow{font-size:16px;letter-spacing:4px}.hero .intro{font-size:18px}.purpose-grid{gap:35px}.directory{grid-template-columns:repeat(3,1fr)}.section{padding:55px 6%}.split{gap:35px}.contact{gap:30px}.funding{flex-wrap:wrap}}@media(max-width:650px){header{height:auto;min-height:72px;flex-wrap:wrap;padding:8px 5%;gap:5px}.brand img{width:43px;height:43px}header .brand span{display:block;font-size:20px}nav{order:3;flex-basis:100%;overflow-x:auto;white-space:nowrap;gap:20px;padding:8px 0}nav a{font-size:10px}.hero{height:530px;min-height:0}.hero-banner{height:auto;object-fit:contain;top:0;bottom:auto;width:100%;}.hero:before{height:22px}.hero:after{height:28px}.hero-copy{padding:260px 15px 65px;background:linear-gradient(0deg,#640acb 0%,#640acb 45%,transparent 65%);height:100%}.hero .eyebrow{font-size:11px;letter-spacing:2px;margin-bottom:10px}.hero h1{font-size:49px;letter-spacing:-1.5px;margin-bottom:12px}.hero .intro{font-size:15px;line-height:1.5;margin-bottom:20px}.hero .button{padding:13px 23px;font-size:12px}.original-purpose{padding:30px 6% 45px}.original-purpose>h2{font-size:26px}.japanese-motto{font-size:15px;margin-bottom:30px}.purpose-grid{grid-template-columns:1fr;gap:27px}.purpose-grid>img{max-width:100%}.purpose-grid h3{font-size:29px}.purpose-grid p{font-size:16px}.section{padding:45px 6%}h2{font-size:31px}.directory{grid-template-columns:1fr 1fr;gap:13px}.directory a:last-child{grid-column:1/-1}.directory a:last-child b{margin-bottom:12px}.directory a{padding:20px 15px}.directory span{font-size:16px}.split,.contact{grid-template-columns:1fr;gap:30px}.talent-photo{order:2}.santa-photo{height:300px}.mission .split>div:first-child>p{font-size:19px}.charity-photo{height:230px;object-fit:cover}.funding{display:grid;grid-template-columns:1fr;text-align:center;gap:6px}.funding b{margin-bottom:15px}.button{font-size:12px;padding:16px 20px;letter-spacing:1.6px}.actions{gap:20px}footer{display:block;padding:30px 6%}footer>div+div{margin-top:25px}form{padding:22px}html[lang=ja] .hero .eyebrow{font-size:11px;letter-spacing:0}html[lang=ja] h2{font-size:27px}html[lang=ja] .purpose-grid h3{font-size:28px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.party-detail{max-width:960px;margin:auto}.party-detail h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.15}.party-detail h2{font-size:1.65rem;margin-top:2rem}.party-photo{max-width:100%;width:480px;height:auto;border-radius:10px}.party-detail details{border-bottom:1px solid #ddd;padding:18px 0}.party-detail summary{cursor:pointer;font-weight:700;font-size:1rem}a#language{text-decoration:none;color:inherit;font-size:14px}

.placeholder-note{padding:20px;border:1px dashed #8468ac;border-radius:8px}.video-placeholder{aspect-ratio:16/9;max-width:640px;display:grid;place-items:center;background:#f0eafa;border:1px dashed #8468ac;border-radius:8px;text-align:center;padding:20px}

.organ-feature,.organ-home{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:32px;align-items:center;margin:40px 0}.organ-feature>img,.organ-home>img{display:block;width:100%;height:auto;border-radius:10px}.organ-home{margin-top:48px}.organ-home>img{max-height:520px;object-fit:contain}.organ-home h3{font-size:1.8rem}.organ-feature h2{margin-top:0}@media(max-width:650px){.organ-feature,.organ-home{grid-template-columns:1fr}.organ-feature>img,.organ-home>img{max-height:480px;object-fit:contain}}

header{height:auto;min-height:106px}header .brand img{width:86px;height:86px}header .brand-home{text-decoration:none}.company-page{max-width:1120px;margin:auto}.company-page h1{font-size:clamp(2.4rem,5vw,4rem)}.company-page h2{font-size:2rem;margin-top:48px}.company-page h3{font-size:1.3rem}.company-team{display:grid;grid-template-columns:1fr 1fr;gap:40px}.company-team img{width:100%;height:360px;object-fit:contain;background:#f4f0f8;border-radius:10px}.company-role{font-weight:700;color:var(--purple)}.company-entities{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.company-entities a,.company-smile{display:block;text-align:center;font-weight:700;text-decoration:none}.company-entities img{width:100%;aspect-ratio:1;object-fit:contain}.company-entities span,.company-smile span{display:block;margin-top:12px}.company-smile{max-width:260px;margin:32px auto 0}.company-smile img{width:100%;height:auto}@media(max-width:650px){header{min-height:94px}header .brand img{width:72px;height:72px}.company-team,.company-entities{grid-template-columns:1fr}.company-team img{height:320px}}

/* Company page: compact sections in the established site palette. */
.company-page{max-width:none;margin:0}.company-band{padding:34px 6%}.company-inner{max-width:1080px;margin:0 auto}.company-page h1{margin:0 0 18px}.company-page h2{margin:0 0 20px;font-size:1.85rem}.company-page h3{margin:20px 0 8px}.company-page p{margin:0 0 14px;line-height:1.65}.company-intro{background:#f9f5ff}.company-businesses{background:linear-gradient(130deg,#8624e1,#3607a6);color:white}.company-businesses h2,.company-businesses h3,.company-businesses a,.company-businesses p{color:white}.company-purpose{background:#fff4f7}.company-purpose h2{color:#b01e56}.company-family{background:#f9f5ff}.company-family h2{color:var(--purple)}.company-team{gap:32px}.company-team img{height:260px;background:white}.company-affiliates{background:#efe4ff}.company-entities{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:start}.company-entities a,.company-entities .company-smile{margin:0;max-width:none;font-size:14px}.company-entities img,.company-entities .company-smile img{display:block;width:100%;height:130px;aspect-ratio:auto;object-fit:contain}.company-entities span{margin-top:8px}@media(max-width:650px){.company-band{padding:28px 6%}.company-team{grid-template-columns:1fr}.company-entities{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}.company-entities img,.company-entities .company-smile img{height:100px}}

.company-back-home{display:inline-block;padding:10px 18px;margin:0 0 20px;border:2px solid var(--purple);border-radius:6px;background:white;color:var(--purple);font-size:16px;font-weight:700;text-decoration:none}.company-back-home:hover{background:var(--purple);color:white}.company-back-home:focus-visible{outline:3px solid #b02cd6;outline-offset:3px}.company-return{padding:24px 6%;text-align:center;background:#f9f5ff}.company-return .company-back-home{margin:0}

/* Preserve cloud artwork proportions instead of clipping it into a shallow strip. */
.hero:before,.hero:after{height:43px;background-size:640px 43px;background-repeat:repeat-x;background-position:center center}.hero:before{top:-1px}.hero:after{bottom:-1px}@media(max-width:650px){.hero:before,.hero:after{height:32.25px;background-size:480px 32.25px}}

/* Seamless cloud tile: matching heights and horizontal tangents at both ends. */
.hero:before,.hero:after{height:44px;background-image:url('assets/cloud-border.svg');background-size:640px 44px;background-repeat:repeat-x}@media(max-width:650px){.hero:before,.hero:after{height:33px;background-size:480px 33px}}

/* Original cloud silhouettes, mirrored at joins for a continuous border. */
.hero:before,.hero:after{height:60.2px;background-size:1792px 60.2px;background-image:url(assets/cloud-border.svg);background-repeat:repeat-x}@media(max-width:650px){.hero:before,.hero:after{height:43px;background-size:1280px 43px}}

/* Hero title hierarchy, with the central performer's face left clear. */
.hero-copy{height:100%;max-width:1100px;padding:0 24px 74px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}.hero .hero-kicker{position:absolute;top:68px;left:0;right:0;margin:0;line-height:1.15}.hero-party{display:block;font-size:46px;font-weight:900;letter-spacing:5px}.hero-more{display:block;margin-top:8px;font-size:20px;letter-spacing:4px}.hero h1{margin:0 0 16px}.hero .intro{margin:0 auto 22px}.hero .button{flex-shrink:0}@media(max-width:900px) and (min-width:651px){.hero-copy{padding-bottom:60px}.hero .hero-kicker{top:52px}.hero-party{font-size:38px}.hero-more{font-size:17px}}@media(max-width:650px){.hero-copy{padding:0 15px 55px}.hero .hero-kicker{top:35px}.hero-party{font-size:30px;letter-spacing:3px}.hero-more{font-size:12px;letter-spacing:2px;margin-top:5px}.hero h1{margin-bottom:16px}.hero .intro{margin-bottom:22px}}

/* Bring the bilingual mission statement closer to the hero. */
.original-purpose{padding-top:12px}.original-purpose>h2{font-size:clamp(30px,3.3vw,46px);line-height:1.3}.original-purpose>.japanese-motto{font-size:clamp(20px,2.1vw,28px);font-weight:700;line-height:1.5}@media(max-width:650px){.original-purpose{padding-top:10px}.original-purpose>h2{font-size:30px}.original-purpose>.japanese-motto{font-size:20px}}

.programs article{grid-template-columns:1fr}

/* Direct access to packages before visitors scroll through the services. */
.hero-actions{display:flex;align-items:center;justify-content:center;gap:14px;flex-shrink:0;max-width:100%}.hero-actions .party-plans-button{background:#fff;color:#6520a5;box-shadow:0 10px 22px -15px #260047;text-transform:none;letter-spacing:.5px}.hero-actions .party-plans-button:focus-visible{outline-color:#fff;outline-offset:5px}@media(max-width:650px){.hero-actions{gap:10px}.hero-actions .button{padding:13px 12px;font-size:12px;letter-spacing:.4px}}@media(max-width:340px){.hero-actions .button{font-size:11px;padding:13px 9px}}

/* Compact organ presentation and user-approved party photography. */
.organ-feature,.organ-home{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:28px;align-items:center}
.organ-photos{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1fr);gap:12px;align-items:center;min-width:0}
.organ-photos img{display:block;width:100%;height:auto;max-height:300px;object-fit:contain;border-radius:10px}
.party-photo-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:30px 0;align-items:start}
.party-photo-gallery a{display:block;min-width:0;border-radius:10px;overflow:hidden}
.party-photo-gallery img{display:block;width:100%;height:auto;border-radius:10px}
.party-photo-gallery a:focus-visible{outline:3px solid #952abf;outline-offset:4px}
@media(max-width:700px){.organ-feature,.organ-home{grid-template-columns:1fr;gap:18px}.organ-photos{max-width:520px;width:100%;margin:auto}.organ-photos img{max-height:240px}.party-photo-gallery{gap:12px}}
@media(max-width:480px){.party-photo-gallery{grid-template-columns:1fr}.organ-photos img{max-height:210px}}

.big-event-photo{max-width:960px;margin:28px auto}.big-event-photo a{display:block}.big-event-photo img{display:block;width:100%;height:auto;max-height:280px;object-fit:contain;border-radius:10px}.big-event-photo a:focus-visible{outline:3px solid #fff;outline-offset:4px}

/* Approved compact layout and photographic service cards — October 2026. */
body{line-height:1.6}.section{padding-top:48px;padding-bottom:48px}p{margin-bottom:16px}h2{margin-bottom:18px}.split{gap:32px}
.entertainment{padding-top:52px;padding-bottom:48px}.entertainment>.split{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:start}
.programs{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.programs article{display:block;padding:0;overflow:hidden}.programs article>div{padding:13px}.programs .program-photo{display:block;width:100%;height:132px;object-fit:cover}.programs h3{font-size:17px;line-height:1.3;margin:0 0 8px}.entertainment .programs p{font-size:15px;line-height:1.5}
.music-portrait{float:left;width:100px;height:150px;object-fit:contain;margin:2px 18px 12px 0;border-radius:8px}.entertainment .button{clear:both}
.directory>div{gap:12px}.directory span{font-size:16px;white-space:nowrap}
.stories-feature{display:flex;align-items:center;gap:24px;margin-top:24px;padding:16px;background:#7023b5;color:white;border-radius:12px;text-decoration:none;font-size:clamp(20px,2.4vw,28px);font-weight:700;line-height:1.3}.stories-feature img{width:150px;height:110px;object-fit:cover;border-radius:8px}.stories-feature:hover,.stories-feature:focus-visible{background:#512098;outline:3px solid #f5be41;outline-offset:3px}
.page-finale{padding:22px 7%;background:#f9f5ff}.page-finale .big-event-photo{margin:0 auto}.party-photo-gallery{gap:14px;margin:22px 0}.party-photo-gallery img{height:220px;object-fit:contain;background:#f9f5ff}.performance-video{display:block;width:100%;max-width:720px;max-height:420px;margin:18px auto;border-radius:10px;background:#19101f}
@media(max-width:1100px){.entertainment>.split{grid-template-columns:1fr}.programs .program-photo{height:180px}}
@media(max-width:600px){.section{padding-top:32px;padding-bottom:32px}.programs{grid-template-columns:1fr}.programs .program-photo{height:170px}.programs article>div{padding:14px}.stories-feature{gap:14px;padding:12px;font-size:19px}.stories-feature img{width:95px;height:100px}.party-photo-gallery img{height:180px}}

.contact.contact-link-section{display:block}.contact-link-section>div{max-width:760px}.booking-heading-link{color:inherit;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}.booking-heading-link:hover{color:#7023b5}.booking-heading-link:focus-visible{outline:3px solid #7023b5;outline-offset:6px;border-radius:3px}

/* Match Guy's compact Family Entertainment mockup. */
.section{padding-top:28px;padding-bottom:28px}.section-heading{margin-bottom:20px}.service-heading{margin-bottom:10px}.service-heading .eyebrow{margin-bottom:0}.split{gap:26px}.section p{margin-bottom:12px}.section h2{margin-bottom:14px}.section h3{margin-bottom:8px}
.original-purpose{padding-bottom:28px}.original-purpose>.japanese-motto{margin-bottom:22px}.purpose-grid{gap:30px}.purpose-grid p{margin-bottom:14px;line-height:1.55}.purpose-grid h3{margin-bottom:14px}#experiences{padding-top:28px}.directory a{padding-top:18px;padding-bottom:18px}.directory span{margin-bottom:9px}.tags{margin-bottom:14px}.charity-photo{margin-top:20px}.funding{padding-top:18px;margin-top:20px}.stats{margin:16px 0 12px}.stories-feature{margin-top:18px}
.entertainment>.split{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:30px}.entertainment .program-column{min-width:0}.entertainment .programs{gap:14px}.entertainment .program-photo{height:132px}.entertainment .programs article>div{padding:12px}.entertainment .programs p{margin:0;line-height:1.45}.entertainment .programs h3{line-height:1.25}.entertainment .party-rate-summary{margin:16px 0 0;padding:14px 16px;border-radius:8px;line-height:1.5;background:#f9f5ff;color:#333;font-size:14px}.entertainment-booking{display:grid;grid-template-columns:94px minmax(0,1fr);gap:20px;align-items:start;margin-top:16px}.entertainment-booking .music-portrait{float:none;width:94px;height:156px;margin:0;object-fit:contain}.entertainment-booking .party-proof{font-weight:700;margin:0 0 14px}.entertainment-booking .button{margin:0 0 5px;padding:14px 18px;letter-spacing:1px}.entertainment-booking p:last-child{margin:0}.entertainment .text-link{color:white}.entertainment>.support-links{margin:20px 0 0;justify-content:center}.section .split>div>p:last-child{margin-bottom:0}
@media(max-width:950px){.entertainment>.split{grid-template-columns:1fr;gap:20px}.entertainment .program-photo{height:160px}}@media(max-width:600px){.section{padding-top:24px;padding-bottom:24px}.entertainment .programs{grid-template-columns:1fr;gap:12px}.entertainment .program-photo{height:170px}.entertainment-booking{grid-template-columns:76px minmax(0,1fr);gap:14px}.entertainment-booking .music-portrait{width:76px;height:140px}.entertainment-booking .button{font-size:12px;letter-spacing:.5px;padding:12px}.purpose-grid{gap:20px}}

/* Balance the mission photos and correct the relocated price-panel contrast. */
.entertainment .split .party-rate-summary{color:#333}.entertainment .split .party-rate-summary strong{color:#333}.entertainment-booking{display:block}.purpose-photos{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.62fr);gap:16px;align-items:center;max-width:470px;width:100%;margin:auto}.purpose-photos>img,.purpose-photos>.music-portrait{display:block;float:none;width:100%;height:260px;max-width:100%;margin:0;object-fit:contain;border-radius:8px}.purpose-grid{align-items:center}@media(max-width:650px){.purpose-photos{max-width:390px;gap:12px}.purpose-photos>img,.purpose-photos>.music-portrait{height:210px}}

/* Rounded photo panel matched to the adjacent mission text column. */
.original-purpose .purpose-grid{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);align-items:stretch;gap:28px}
.original-purpose .purpose-photos{max-width:none;width:100%;height:100%;margin:0;padding:20px;gap:16px;border-radius:26px;background:#f1e7fb;grid-template-columns:minmax(0,1fr) minmax(0,.615fr);align-content:center;align-items:center}
.original-purpose .purpose-photos>img,.original-purpose .purpose-photos>.music-portrait{width:100%;height:auto;max-height:none;margin:0;border-radius:22px;object-fit:contain;box-shadow:0 4px 14px #54207718}
.original-purpose .purpose-grid>.purpose-photos+div{align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.original-purpose .purpose-grid>.purpose-photos+div>.button{align-self:flex-start}
@media(max-width:650px){.original-purpose .purpose-grid{grid-template-columns:1fr;gap:20px}.original-purpose .purpose-photos{height:auto;max-width:500px;margin:0 auto;padding:16px;gap:12px;border-radius:22px}.original-purpose .purpose-photos>img,.original-purpose .purpose-photos>.music-portrait{height:auto;border-radius:18px}}

/* Smile Ambassadors and blog feature, approved October 8. */
footer{background:#333333}.mission-columns{align-items:start}.mission .mission-identity>.service-purpose,.mission .mission-identity>.mission-intent{font-size:20px;line-height:1.5;margin-bottom:10px}.mission-logo{display:block;width:min(100%,300px);height:auto;margin:18px auto;background:white;border-radius:12px;padding:14px}.mission-quotes{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mission-quotes blockquote{margin:0;padding:14px;background:white;border-radius:10px;border-left:3px solid #8300e9}.mission-quotes blockquote p{font-size:15px;line-height:1.55;margin:0 0 8px;color:#49404f}.mission-quotes cite{font-size:13px;font-style:normal;color:#6520a5}.mission-synopsis .actions{gap:12px}.mission-synopsis .actions .button{font-size:12px;letter-spacing:1px;padding:13px 16px}.mission .mission-event-photo{max-width:960px;margin:24px auto}.mission-event-photo img{max-height:280px}
.stories-bookends{display:grid;grid-template-columns:minmax(65px,150px) minmax(0,1fr) minmax(65px,150px);align-items:center;gap:20px;max-width:900px;margin:30px auto 10px;--bookend-height:180px}.stories-bookends .stories-feature{display:flex;justify-content:center;text-align:center;min-height:120px;margin:0;padding:20px;font-size:clamp(20px,2.5vw,30px);line-height:1.35}.stories-bookends .story-bookend{display:block;width:100%;height:var(--bookend-height);object-fit:contain;max-height:none}.stories-bookends .stories-feature span{overflow-wrap:break-word}
@media(max-width:650px){.mission-quotes{grid-template-columns:1fr}.stories-bookends{grid-template-columns:65px minmax(0,1fr) 65px;gap:8px;margin-top:24px}.stories-bookends .stories-feature{padding:14px 10px;font-size:19px;min-height:120px}.mission-synopsis .actions .button{width:100%}}

/* Supa Finds: portrait and two-line recommendation heading. */
.finds>.split{align-items:center}.finds-person{text-align:center}.finds-person h2{margin-bottom:14px}.finds-person img{display:block;width:190px;max-width:65%;height:auto;margin:0 auto;background:transparent}.finds-copy h3{font:400 clamp(25px,2.6vw,34px)/1.3 'Zen Tokyo Zoo',Roboto,sans-serif;color:#6520a5;margin:0 0 18px}.finds .finds-copy p{font-size:17px;line-height:1.65;margin:0 0 18px;max-width:560px}.finds .finds-copy p.fine{margin:24px 0 0;font-size:14px!important}.finds .finds-copy p:last-child{margin-bottom:0}@media(max-width:650px){.finds-person img{width:160px}.finds>.split{gap:24px}.finds .finds-copy p{font-size:16px}.finds-copy h3{font-size:27px}}

/* Santa layout follows Guy's supplied mockup. */
.santa .santa-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center}.santa-copy h2{margin:0 0 4px}.santa-copy h2 a{text-decoration:none;color:inherit}.santa .santa-subtitle{color:#222;font-size:18px;line-height:1.4;margin:0 0 38px}.santa-details{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:18px;align-items:center}.santa .santa-details p{color:#222;font-size:16px;line-height:1.35;margin:0 0 20px}.santa .santa-details p:last-child{margin-bottom:0}.santa-ornaments{display:block;width:100%;height:auto}.santa-image-link{display:block;min-width:0}.santa .santa-photo{width:100%;height:auto;aspect-ratio:1.44;object-fit:cover;object-position:25% center;border-radius:12px}.santa-copy-break{display:none}
@media(min-width:1250px){.santa-copy-break{display:block}.santa .santa-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media(max-width:900px){.santa .santa-layout{grid-template-columns:1fr;gap:24px}.santa .santa-subtitle{margin-bottom:22px}.santa-details{grid-template-columns:1.15fr 1fr}.santa-ornaments{max-width:300px}.santa .santa-photo{max-height:430px}}
@media(max-width:430px){.santa-details{grid-template-columns:1fr}.santa-ornaments{max-width:250px}.santa .santa-subtitle{font-size:17px}}

/* Niko Niko Taishi: compact logo, quotes and TEDx beside impact figures. */
.mission-logo{width:min(100%,210px);margin:16px auto;padding:8px}
.mission-quotes{border-top:1px solid #d9c9e6;padding-top:16px}
.mission-impact{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:14px}
.mission-impact .stats{gap:24px;flex-wrap:wrap;margin:0}
.mission-tedx{display:block;flex:0 0 160px}
.mission-tedx img{display:block;width:100%;height:auto;border-radius:10px}
@media(max-width:420px){.mission-impact{gap:12px}.mission-tedx{flex-basis:115px}.mission-impact .stats{gap:12px}.mission-impact .stats strong{font-size:32px}}
/* Supa Finds follows the October 9 mockup. */
.finds-person{display:grid;grid-template-columns:1fr 150px;align-items:start;text-align:left;gap:0 10px}.finds-person h2{grid-column:1/-1;margin:0 0 0 12%;line-height:1.35}.finds-person img{grid-column:2;width:150px;max-width:100%;margin:0;align-self:end}.finds-copy h4{font:700 clamp(20px,2vw,26px)/1.4 Roboto,Arial,sans-serif;margin:0 0 12px}.finds .finds-copy p{font-size:18px;line-height:1.5}.finds .finds-copy p.fine{font-size:16px!important;margin-top:24px}.santa-copy>.button,.santa-copy>p:last-child{margin-top:20px}@media(max-width:650px){.finds-person{grid-template-columns:1fr 125px}.finds-person h2{margin-left:0}.finds-person img{width:125px}.finds .finds-copy p{font-size:16px}}
/* Approved final review: video placement, portfolio and Santa layout. */
.original-purpose .purpose-grid{align-items:start}.purpose-media-column{min-width:0}.original-purpose .purpose-media-column .purpose-photos{height:auto}.original-purpose .purpose-description{align-self:stretch;display:flex;flex-direction:column;justify-content:center}.purpose-description .button{align-self:flex-start}.purpose-grid .purpose-description p{font-size:clamp(18px,1.55vw,22px);line-height:1.75;text-wrap:pretty}.purpose-video{margin-top:20px}.purpose-grid .purpose-video h3{font:700 23px/1.4 Roboto,Arial,sans-serif;margin:0 0 10px;color:#333}.purpose-video video{display:block;width:100%;height:auto;border-radius:14px}.purpose-copy-break{display:block}.portfolio-additions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.portfolio-additions>article{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.portfolio-additions h3{font-size:26px;line-height:1.3;margin:0 0 16px;text-wrap:balance}.portfolio-additions p{font-size:21px;line-height:1.5;margin:0 0 14px}.portfolio-additions .coming-label{font-size:18px;margin-bottom:18px}.portfolio-additions .button{margin-top:auto;max-width:100%;white-space:normal;text-align:center;font-size:13px;letter-spacing:.06em;padding:15px 18px}.portfolio-additions button:disabled{opacity:.65;cursor:default;background:#e7dbee;color:#493455;border:0}.santa .santa-layout{gap:38px;align-items:center}.santa .santa-subtitle{margin-bottom:34px}.santa-details{grid-template-columns:1fr 1fr;gap:24px;align-items:start}.santa-gifts{margin:0;text-align:center}.santa-gifts figcaption{font-size:16px;line-height:1.4;margin-top:8px}.santa-visit-copy .button{font-size:13px;letter-spacing:0;padding:15px 18px;white-space:normal;text-align:center}.santa .santa-details p{margin-bottom:13px}.santa .santa-photo{aspect-ratio:1.44;object-fit:cover}.santa-copy-break{display:none}p{text-wrap:pretty}h1,h2,h3{text-wrap:balance}
@media(max-width:1100px){.purpose-copy-break{display:none}.portfolio-additions h3{font-size:23px}.portfolio-additions p{font-size:19px}}
@media(max-width:700px){.portfolio-additions{grid-template-columns:1fr;gap:28px}.portfolio-additions>article+article{border-top:1px solid #ffffff55;padding-top:24px}.portfolio-additions p{font-size:19px}.purpose-grid .purpose-description p{font-size:18px}.santa-details{gap:16px}.santa-visit-copy .button{font-size:12px;padding:13px 12px}.santa-gifts figcaption{font-size:15px}}
/* Photo/video mockup: one continuous pink panel and balanced right column. */
.original-purpose .purpose-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.1fr);align-items:stretch;gap:44px}
.original-purpose .purpose-media-column{background:#f1e7fb;border-radius:24px;padding:24px;align-self:start}
.original-purpose .purpose-media-column .purpose-photos{padding:0;background:transparent;border-radius:0;gap:16px;grid-template-columns:minmax(0,1fr) minmax(0,.615fr)}
.original-purpose .purpose-media-column .purpose-photos img{border-radius:20px;box-shadow:none}
.original-purpose .purpose-video{background:transparent;margin:20px 0 0;padding:0}
.original-purpose .purpose-video h3{font:700 21px/1.4 Roboto,Arial,sans-serif;margin:0 0 12px;color:#333}
.original-purpose .purpose-video video{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;display:block;background:#000;border-radius:12px}
.original-purpose .purpose-description{display:flex;flex-direction:column;justify-content:space-between;gap:24px;padding:10px 0 0;min-width:0}
.original-purpose .purpose-description>h3{font-size:clamp(30px,3.1vw,46px);line-height:1.65;margin:0;text-wrap:initial}
.original-purpose .purpose-description .purpose-body p{font-size:clamp(18px,1.65vw,23px);line-height:1.65;margin:0 0 12px;text-wrap:pretty}
.original-purpose .purpose-description .purpose-body p:first-child{max-width:28ch}
.original-purpose .purpose-description .purpose-body p:last-child{margin:0}
.original-purpose .purpose-description>.button{margin:0;align-self:flex-start}
@media(max-width:1000px){.original-purpose .purpose-grid{gap:26px}.original-purpose .purpose-media-column{padding:18px}.original-purpose .purpose-description{gap:18px}.original-purpose .purpose-description>h3{font-size:30px;line-height:1.5}.original-purpose .purpose-description .purpose-body p{font-size:18px;line-height:1.55}}
@media(max-width:700px){.original-purpose .purpose-grid{grid-template-columns:1fr;gap:24px}.original-purpose .purpose-media-column{padding:18px;border-radius:20px}.original-purpose .purpose-description{padding:0;gap:20px}.original-purpose .purpose-description>h3{font-size:clamp(26px,6vw,34px)}.original-purpose .purpose-description .purpose-body p:first-child{max-width:none}.original-purpose .purpose-video h3{font-size:20px}}
/* Smile Ambassadors mockup: centered quotations and paired resource links. */
.mission .mission-quotes blockquote{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:20px 16px;min-height:160px;background:#fff}.mission .mission-quotes blockquote p{text-align:center;line-height:1.5;margin:0 0 14px}.mission .mission-quotes blockquote cite{display:block;text-align:center;color:#6520a5;font-size:14px;line-height:1.5}.mission-statistics{text-align:center;margin:24px 0 10px}.mission-statistics .stats{display:flex;justify-content:center;gap:32px;margin:0 0 8px}.mission-statistics .fine{margin:0;font-size:14px;line-height:1.5}.mission-resources{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:end;margin-top:36px}.mission-resource{display:flex;flex-direction:column;align-items:center;gap:20px;min-width:0}.mission-resource .mission-logo{width:220px;max-width:100%;height:130px;object-fit:contain;margin:0;padding:8px}.mission-resource .mission-tedx{flex:none;width:180px;max-width:100%}.mission-resource .mission-tedx img{width:100%;height:130px;object-fit:cover}.mission-resource .button{max-width:100%;text-align:center;font-size:12px;letter-spacing:.04em;padding:14px 16px}.mission-columns{align-items:stretch}.mission-synopsis{display:flex;flex-direction:column}.mission-synopsis .mission-resources{margin-top:auto;padding-top:32px}@media(max-width:650px){.mission .mission-quotes{grid-template-columns:1fr 1fr;gap:10px}.mission .mission-quotes blockquote{padding:16px 10px}.mission .mission-quotes blockquote p{font-size:14px}.mission-resources{gap:14px}.mission-resource .button{font-size:11px;padding:12px 10px}.mission-statistics .stats{gap:24px}}@media(max-width:380px){.mission .mission-quotes{grid-template-columns:1fr}}
/* Let the opening social-enterprise sentence use the full text column. */
html[lang="en"] .original-purpose .purpose-description .purpose-body p:first-child{max-width:none;text-wrap:initial}
@media(min-width:1100px){html[lang="en"] .original-purpose .purpose-description{container-type:inline-size}html[lang="en"] .original-purpose .purpose-description .purpose-body p:first-child{white-space:nowrap;font-size:min(23px,3.8cqw)}}

/* Keep the English stories link on one line at desktop widths. */
@media(min-width:700px){html[lang="en"] .stories-bookends{max-width:1100px}html[lang="en"] .stories-bookends .stories-feature{container-type:inline-size}html[lang="en"] .stories-bookends .stories-feature span{white-space:nowrap;overflow-wrap:normal;font-size:min(30px,4.3cqw)}}
