/* FUNUP Nature: one brand system. Blue for identity, white for space,
   dark ink for readable information, orange for the primary next step, yellow for text accents. */
.funup-site,body.recruitment-page,body.review-index{
 --brand:#01b0f1;--brand-ink:#006b8f;--ink:#173e50;--muted:#526b76;--paper:#fff;
 --mypage-purple:#51359b;--mypage-hover:#432885;--footer-silver:#f1f2f3;--soft:#f0faff;--line:#c8dde6;--yellow:#ffe16a;--action:#f7a64b;--action-line:#835300;
 --cyan:var(--brand);--funup-brand-blue:var(--brand);--funup-label-ink:var(--brand-ink);
 --teal:var(--brand-ink);--forest:var(--brand-ink);--action-color:var(--brand-ink);
 color:var(--ink);background:white;
}
.funup-site #siteFrame{--action-color:#006b8f;--section-green:#f0faff;background:white}
.funup-site #siteFrame :is(h1,h2,h3,h4),.funup-site .compact-page h1{color:var(--ink)}
.funup-site #siteFrame .eyebrow,.funup-site .compact-page .eyebrow{color:var(--brand-ink);font-size:12px;letter-spacing:.12em}
.funup-site #siteFrame .eyebrow::before{background:var(--brand)}
.funup-site #siteFrame .brand-ribbon{height:4px;background:var(--brand)}
.funup-site #siteFrame .site-header{background:var(--brand);min-height:100px;padding-top:20px;padding-bottom:20px;color:white}
.funup-site .brand.brand-wordmark .wordmark-text{font-family:Verdana,Geneva,sans-serif}
.funup-site :is(#siteFrame,#recruitmentFooterFrame) .brand-wordmark:is(:link,:visited,:hover,:active,:focus){text-decoration:none;box-shadow:none}
.funup-site .brand.brand-wordmark{background:var(--brand);color:white;padding:12px 18px}
.funup-site #siteFrame .site-header .brand-wordmark{background:transparent;color:white;padding-left:0;padding-right:0}
.funup-site #siteFrame .site-header :is(a,button){color:white}
.funup-site #siteFrame .site-header :is(.mypage,.calendar-link){color:white;border-color:currentColor}
.funup-site #siteFrame .site-header a:not(.brand-wordmark):not(.calendar-link):not(.mypage):hover{color:white;text-decoration:underline;text-underline-offset:5px}
.funup-site #siteFrame .site-header :is(a,button):focus-visible{outline-color:white}
.funup-site #siteFrame .menu-button span{border-color:white}
.funup-site #siteFrame .hero{background:white;grid-template-columns:1fr 1.08fr;min-height:620px;gap:3cqw;padding:24px 5.5cqw 48px}
.funup-site #siteFrame .hero-copy{padding:24px 0 20px 2cqw}
.funup-site #siteFrame .hero h1{color:var(--ink);font-size:clamp(36px,3.45cqw,52px);font-weight:700;line-height:1.6;letter-spacing:.025em}
.funup-site #siteFrame .hero-description{font-size:17px;color:var(--muted);line-height:1.95;margin-top:22px}
.funup-site #siteFrame .hero-photo{min-height:580px;overflow:hidden;border-radius:0}
.funup-site #siteFrame .hero-photo img{object-position:55% 25%}
.funup-site #siteFrame .hero-booking{margin-top:25px;max-width:440px;background:white}
.funup-site #siteFrame .hero-booking-label{color:var(--ink);font-size:14px;margin-bottom:10px}
.funup-site #siteFrame .hero-booking-note{font-size:13px;color:var(--muted);line-height:1.7}
.funup-site :is(#siteFrame,.compact-page) .button.primary,.funup-site #siteFrame .funup-buc-actions .button.primary{
 background:var(--brand-ink);color:white;border:1px solid var(--brand-ink);border-radius:5px;box-shadow:0 2px 0 #173e500d;font-weight:750;
}
.funup-site :is(#siteFrame,.compact-page) .button.primary:hover{background:#005a78;color:white}
.funup-site :is(#siteFrame,.compact-page) :is(.button.secondary,.button.outline),.funup-site #siteFrame .buc-content>.text-link{
 background:white;color:var(--brand-ink);border:1px solid var(--brand-ink);border-radius:5px;box-shadow:none;
}
.funup-site #siteFrame .hero .hero-booking .button{min-height:52px;font-size:16px}
.funup-site #siteFrame .hero-search-option+.hero-search-option{margin-top:15px}
.funup-site #siteFrame .section{padding-top:80px;padding-bottom:80px}
.funup-site #siteFrame .purpose-copy small{background:#eff9fd;color:var(--brand-ink);border-color:#a7cad9;border-radius:3px;font-size:14px}
.funup-site #siteFrame .purpose-copy h3{font-size:24px}
.funup-site #siteFrame .purpose-copy p{color:var(--muted)}
.funup-site #siteFrame .circle-arrow{color:var(--brand-ink);border-color:#7898a6}
.funup-site #siteFrame .buc-section{background:var(--soft)}
.funup-site #siteFrame .buc-content>p:not(.eyebrow),.funup-site #siteFrame .buc-photo-bottom p{color:var(--muted)}
.funup-site #siteFrame .buc-mark{color:var(--brand-ink)}
.funup-site #siteFrame .feature-card{outline:1px solid #adc8d4;outline-offset:0;border-radius:var(--ui-radius-card,8px);overflow:hidden}
.funup-site #siteFrame .family-feature{background:var(--soft);color:var(--ink)}
.funup-site #siteFrame .family-feature :is(h2,p.eyebrow,p:not(.eyebrow)){color:var(--ink)}
.funup-site #siteFrame .family-feature .eyebrow::before{background:var(--ink)}
.funup-site #siteFrame .tour-feature{border:0;background:white}
.funup-site #siteFrame .tour-copy{background:var(--soft)}
.funup-site #siteFrame .guides-section{background:white}
.funup-site #siteFrame :is(.guide-role,.guide p,.tour-lead,.tour-description){color:var(--muted)}
.funup-site #siteFrame .guide p{font-size:14px;white-space:normal;min-height:0}
.funup-site #siteFrame .help-next>a{background:var(--soft);border-color:var(--line)}
.funup-site #siteFrame :is(.help-step,.help-heading>span){color:var(--brand-ink)}
.funup-site :is(#siteFrame,#recruitmentFooterFrame) .site-footer{background:var(--footer-silver);color:var(--ink)}
.funup-site :is(#siteFrame,#recruitmentFooterFrame) .site-footer .brand-wordmark{display:inline-flex;background:var(--brand);color:white;padding:12px 18px}
.funup-site :is(#siteFrame,#recruitmentFooterFrame) .site-footer p,.funup-site :is(#siteFrame,#recruitmentFooterFrame) .site-footer a:not(.brand-wordmark){color:var(--ink)}
.funup-site :is(#siteFrame,#recruitmentFooterFrame) .site-footer small{color:var(--ink);border-color:#d3d7da}

/* Purpose icons: one motif per concept, line by default; approved badge retained. */
.funup-site .fsite-purpose-icon{--purpose-size:28px;display:inline-flex;flex:none;align-items:center;justify-content:center;color:var(--brand-ink);vertical-align:middle}
.funup-site .fsite-purpose-symbol{position:relative;display:block;width:var(--purpose-size);height:var(--purpose-size);flex:none}
.funup-site .fsite-purpose-symbol svg{display:block;width:100%;height:100%;stroke-width:1.8}
.funup-site .fsite-purpose-symbol .fsite-icon-mountain{position:absolute;inset:18.75% 0 0;width:100%;height:85%}
.funup-site .fsite-purpose-symbol .fsite-icon-sun{position:absolute;right:-3.125%;top:-9.375%;width:45%;height:45%}
.funup-site .fsite-purpose-icon.is-badge{--purpose-size:30px;padding:11px;border-radius:50%;background:#e9f7fd;color:var(--brand-ink)}
.funup-site :is(#siteFrame,#recruitmentHeaderFrame) .fsite-purpose-heading{display:flex;align-items:center;gap:12px}
.funup-site #siteFrame .purpose-copy .fsite-purpose-label{display:flex;align-items:center;gap:10px;width:auto;max-width:100%;min-height:64px;margin:0 0 14px;padding:0;background:none;border:0;border-radius:0;font-size:14px;line-height:1.5;text-wrap:initial}
.funup-site .fsite-purpose-label .fsite-purpose-icon{--purpose-size:64px}
.funup-site #mobileMenu .fsite-purpose-heading{display:flex;align-items:center;gap:12px}
.funup-site #mobileMenu .fsite-purpose-icon{--purpose-size:36px;color:inherit}
.funup-site .funup-buc-hero .fsite-purpose-icon{--purpose-size:48px}
.funup-site #siteFrame .eyebrow.fsite-purpose-heading::before{content:none;display:none}
.funup-site .eyebrow.fsite-purpose-heading .fsite-purpose-icon{--purpose-size:32px}
.funup-site .funup-buc-hero .eyebrow.fsite-purpose-heading .fsite-purpose-icon{--purpose-size:54px}
.funup-site .family-feature .fsite-purpose-icon{color:inherit}

@media(max-width:1000px){
 .funup-site #siteFrame .purpose-copy .fsite-purpose-label{flex-direction:column;align-items:flex-start;gap:12px;min-height:103px}
 .funup-site #siteFrame .purpose-copy .circle-arrow{top:33px}
}
@media(max-width:700px){
 .funup-site #siteFrame .purpose-grid{row-gap:24px}
 .funup-site #siteFrame .purpose-copy{padding-top:12px;padding-bottom:12px}
 .funup-site #siteFrame .purpose-copy h3{line-height:1.3;margin:2px 0 8px}
 .funup-site #siteFrame .purpose-copy p{line-height:1.6}
 .funup-site #siteFrame .purpose-copy .fsite-purpose-label{gap:6px;min-height:0;margin-bottom:8px}
 .funup-site #siteFrame .purpose-copy .fsite-purpose-icon{--purpose-size:40px}
 .funup-site #siteFrame .purpose-copy .circle-arrow{top:20px}
}

/* Clickable purpose cards: visible boundary and a labelled destination cue. */
.funup-site #siteFrame .purpose-grid .purpose{border:1px solid #adc8d4;border-radius:10px;background:white;overflow:hidden;box-shadow:0 2px 7px #173e500a;text-decoration:none;transition:border-color .18s,box-shadow .18s}
.funup-site #siteFrame .purpose-grid .purpose-copy{display:flex;flex-direction:column;padding:16px}
.funup-site #siteFrame .purpose-grid .purpose-image>span{padding:6px 12px 4px 16px}
.funup-site #siteFrame .purpose-grid .purpose-copy p{margin-bottom:12px}
.funup-site #siteFrame .purpose-more{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:auto;padding-top:10px;border-top:1px solid #d9e5ea;color:var(--brand-ink);font-size:14px;font-weight:600;line-height:1.5}
.funup-site #siteFrame .purpose-more>span{font-size:19px;line-height:1}
.funup-site #siteFrame .purpose-grid .purpose:focus-visible{outline:3px solid var(--brand-ink);outline-offset:3px}
@media(hover:hover) and (pointer:fine){.funup-site #siteFrame .purpose-grid .purpose:hover{border-color:var(--brand-ink);box-shadow:0 5px 18px #173e5026}}
@media(max-width:700px){.funup-site #siteFrame .purpose-grid .purpose-image>span{padding:5px 10px 3px 8px}.funup-site #siteFrame .purpose-grid .purpose-copy{padding:12px 8px}.funup-site #siteFrame .purpose-more{font-size:13px;padding-top:8px}}
@media(max-width:700px){
 .funup-site #siteFrame .choose-section{padding-left:12px;padding-right:12px}
 .funup-site #siteFrame .choose-section .section-head{margin-bottom:24px}
 .funup-site #siteFrame .purpose-grid{column-gap:12px;row-gap:16px}
 .funup-site #siteFrame .purpose-grid .purpose-copy .fsite-purpose-label{flex-direction:row;align-items:center;gap:6px;min-height:42px;margin-bottom:6px}
 .funup-site #siteFrame .purpose-grid .fsite-purpose-label>span:last-child{min-width:0;word-break:keep-all;overflow-wrap:normal}
}
@media(max-width:360px){.funup-site #siteFrame .purpose-grid .purpose-copy h3{font-size:21px}.funup-site #siteFrame .purpose-grid .fsite-purpose-label{font-size:12px}}
@media(prefers-reduced-motion:reduce){.funup-site #siteFrame .purpose-grid .purpose{transition:none}}

/* The round FUN mark belongs to social channels, not the site wordmark. */
.funup-site .fsite-social-logo{display:block;flex:none;width:56px;height:56px;aspect-ratio:1;border-radius:50%;object-fit:cover}
.funup-site #siteFrame .fsite-social-heading{display:flex;align-items:center;gap:18px}
.funup-site :is(#siteFrame,#recruitmentFooterFrame) .footer-social-block{grid-column:1/-1;display:flex;align-items:center;gap:16px}
.funup-site .footer-social-block .fsite-social-logo{width:52px;height:52px}
.funup-site :is(#siteFrame,#recruitmentFooterFrame) .site-footer .footer-social-label{margin:0 0 4px;font-size:13px;line-height:1.5;font-weight:600}
.funup-site .footer-social-block .footer-social{display:flex;align-items:center;gap:4px 24px;flex-wrap:wrap}
.funup-site .footer-social-block .footer-social a{display:inline-flex;align-items:center;min-height:44px}
.funup-site :is(#siteFrame,#recruitmentFooterFrame) .site-footer>small{padding-left:52px;text-align:right}
@container site (min-width:701px){
 .funup-site :is(#siteFrame,#recruitmentFooterFrame) .site-footer>div:first-child{grid-column:1;grid-row:1 / 3;align-self:start}
 .funup-site :is(#siteFrame,#recruitmentFooterFrame) .footer-social-block{grid-column:2;justify-self:end;align-self:start}
}
@media(max-width:700px){
 .funup-site #siteFrame .fsite-social-heading{gap:12px}
 .funup-site .fsite-social-heading .fsite-social-logo{width:48px;height:48px}
 .funup-site .footer-social-block{align-items:flex-start}
 .funup-site .footer-social-block .footer-social{gap:0 18px}
}
.funup-site #siteFrame .mobile-menu{background:white;color:var(--ink);border-color:var(--line)}
.funup-site :is(button,a,summary,input,select,textarea):focus-visible{outline:3px solid #005a78;outline-offset:4px}
.funup-site #siteFrame .funup-buc-guide{color:var(--ink)}
.funup-site #siteFrame .funup-buc-guide p{color:var(--muted)}
.funup-site #siteFrame .funup-buc-guide .eyebrow{color:var(--brand-ink)}
.funup-site #siteFrame .funup-buc-hero{background:white;padding-top:32px;padding-bottom:48px;gap:4cqw}
.funup-site #siteFrame .funup-buc-title{color:var(--ink);font-weight:700}
.funup-site #siteFrame .funup-buc-hero img{border-radius:0}
.funup-site #siteFrame :is(.fsite-buc-jump-links,.fsite-buc-roles,.fsite-buc-recommend,.fsite-buc-reading,.funup-buc-note,.funup-buc-reference,.funup-family-intro-note,.funup-snow-note,.funup-family-course-stat,.fsite-event-filters,.fsite-cal-weekdays span,.fsite-cal-event,.fsite-series-guide,.fsite-support-page th,.fsite-buc-table-scroll th){background:var(--soft);color:var(--ink);border-color:var(--line)}
.funup-site #siteFrame :is(.funup-buc-badge,.funup-family-badge){background:#eaf7fc;color:var(--brand-ink);border-color:#a7cad9}
.funup-site #siteFrame .funup-buc-schedule{background:var(--soft);color:var(--ink)}
.funup-site #siteFrame .funup-buc-schedule :is(h2,p,.eyebrow){color:var(--ink)}
.funup-site #siteFrame .fsite-event-filters :is(select,input){color:var(--ink);border-color:#7898a6}
.funup-site #siteFrame :is(.fsite-event-badge,.fsite-cal-event small){color:var(--muted)}
.funup-site #siteFrame :is(.funup-buc-card,.funup-buc-role-card,.fsite-event-record){border-color:var(--line)}
.funup-site .compact-page{background:white;color:var(--ink)}
.funup-site .compact-header{background:var(--brand);color:white;border-top-color:var(--brand)}
.funup-site .compact-header .brand-wordmark{background:transparent;color:white;padding-left:0}
.funup-site .compact-header a{color:white}
.funup-site .compact-header a:focus-visible{outline-color:white}
.funup-site .compact-page :is(.month-group h2,.compact-event time){color:var(--brand-ink);border-color:#7898a6}
.funup-site .compact-page .snapshot-note{background:var(--soft);color:var(--muted)}
.funup-site .series-filter-buttons :is(button,a[data-funup-link]){color:var(--ink);border-color:#7898a6;min-height:44px}
.funup-site .series-filter-buttons :is(button,a[data-funup-link])[aria-pressed=true]{background:var(--brand-ink);color:white;border-color:var(--brand-ink)}
.funup-site .series-filter-buttons :is(button,a[data-funup-link]):hover{box-shadow:inset 0 0 0 1px var(--brand-ink)}
/* Search, reference and legal pages reach their main content sooner. */
.funup-site:is([data-view=photo_search],[data-view=family_schedule],[data-view=snow_schedule],[data-view=calendar],[data-view=calendar_front],[data-view=blog],[data-view=sitemap],[data-view=terms],[data-view=privacy],[data-view=trade_law],[data-view=faq],[data-view=contact]) #siteFrame .funup-buc-hero{padding-top:24px;padding-bottom:28px;grid-template-columns:1.3fr .7fr}
.funup-site:is([data-view=photo_search],[data-view=family_schedule],[data-view=snow_schedule],[data-view=calendar],[data-view=calendar_front],[data-view=blog],[data-view=sitemap],[data-view=terms],[data-view=privacy],[data-view=trade_law],[data-view=faq],[data-view=contact]) #siteFrame .funup-buc-title{font-size:clamp(28px,2.8cqw,38px);margin-bottom:14px}
.funup-site:is([data-view=photo_search],[data-view=family_schedule],[data-view=snow_schedule],[data-view=calendar],[data-view=calendar_front],[data-view=blog],[data-view=sitemap],[data-view=terms],[data-view=privacy],[data-view=trade_law],[data-view=faq],[data-view=contact]) #siteFrame .fsite-buc-section{padding-top:36px}
/* Static review directory and recruitment share these exact brand tokens. */
body.recruitment-page{background:white;color:var(--ink)}
body.recruitment-page .recruitment-nav{background:white;color:var(--ink);border-top:4px solid var(--brand)}
body.recruitment-page .recruitment-logo{background:white;color:var(--brand);padding-left:0}
body.recruitment-page :is(h1,h2,h3){color:var(--ink)}
body.recruitment-page .recruitment-hero{gap:32px;margin:24px 0}
body.recruitment-page .recruitment-hero img{border-radius:0;aspect-ratio:4/3}
body.recruitment-page .recruitment-cta{background:var(--action);color:var(--ink);border:1px solid var(--action-line);border-radius:5px;min-height:48px;box-shadow:0 2px 0 #173e500d}
body.recruitment-page .recruitment-notice{background:var(--soft);border-color:var(--brand-ink);color:var(--muted);font-size:13px;margin-top:20px}
body.recruitment-page .recruitment-content{border-color:var(--line);border-radius:8px;margin-top:28px;padding-top:18px}
body.recruitment-page .recruitment-content :is(th,td:first-child:not(:last-child),details){background:var(--soft)}
body.recruitment-page .recruitment-content h2{color:var(--ink)}
body.recruitment-page .recruitment-jumps{display:flex;gap:12px 24px;flex-wrap:wrap;padding:16px 0;border-bottom:1px solid var(--line);font-size:14px}
body.recruitment-page .recruitment-jumps a{min-height:44px;display:flex;align-items:center;color:var(--brand-ink);font-weight:650}
body.recruitment-page .recruitment-facts{background:var(--soft);padding:24px;margin-top:24px;border-radius:8px;scroll-margin-top:20px}
body.recruitment-page .recruitment-facts h2{font-size:20px;margin:0 0 16px}
body.recruitment-page .recruitment-facts dl{display:grid;grid-template-columns:1fr 1fr;gap:20px 28px;margin:0}
body.recruitment-page .recruitment-facts dt{font-size:13px;color:var(--muted);font-weight:650}
body.recruitment-page .recruitment-facts dd{margin:5px 0 0;font-size:16px;color:var(--ink);font-weight:650}
body.recruitment-page .recruitment-date{font-size:24px;color:var(--brand-ink);font-weight:700;line-height:1.4;letter-spacing:0;white-space:nowrap}
@media(max-width:700px){body.recruitment-page .recruitment-date{font-size:clamp(20px,5.8vw,24px)}}
body.recruitment-page .recruitment-grid article{border-radius:8px}
body.recruitment-page .recruitment-grid h2{color:var(--ink)}
body.recruitment-page .recruitment-grid a:hover h2{text-decoration:underline;text-underline-offset:4px}
body.recruitment-page :is(a,summary):focus-visible{outline:3px solid #005a78;outline-offset:4px}
body.review-index{background:white;color:var(--ink)}
body.review-index main>h1{color:var(--ink)}
body.review-index main>section>article{border-color:var(--line);background:white}
body.review-index main>section>article a{color:var(--brand-ink)}
body.review-index .review-home-link{display:inline-flex;background:var(--action);color:var(--ink);border:1px solid var(--action-line);padding:14px 22px;border-radius:5px;font-weight:700;text-decoration:none;margin:12px 0}
#review-tools>button{background:#006b8f}
@container site (max-width:700px){
 .funup-site #siteFrame .site-header{min-height:78px;padding:16px 5cqw;gap:12px}
 .funup-site #siteFrame .hero{display:flex;flex-direction:column;gap:0;padding:0;min-height:0}
 .funup-site #siteFrame .hero-photo{order:-1;min-height:0;height:220px;width:100%;border-radius:0}
 .funup-site #siteFrame .hero-copy{padding:28px 7cqw 36px;width:100%}
 .funup-site #siteFrame .hero h1{font-size:31px;line-height:1.5;letter-spacing:.015em}
 .funup-site #siteFrame .hero h1 .mobile-break{display:block}
 .funup-site #siteFrame .hero-description{font-size:16px;line-height:1.85;margin-top:18px}
 .funup-site #siteFrame .hero-booking{margin-top:22px}
 .funup-site #siteFrame .hero .eyebrow{margin-bottom:16px}
 .funup-site #siteFrame .section{padding-top:52px;padding-bottom:52px}
 .funup-site #siteFrame .guide p{font-size:13px;line-height:1.8;white-space:normal}
 .funup-site #siteFrame .funup-buc-hero{padding-top:24px;padding-bottom:32px;gap:22px}
 .funup-site #siteFrame .funup-buc-title{font-size:31px;line-height:1.55}
 .funup-site:is([data-view=photo_search],[data-view=family_schedule],[data-view=snow_schedule],[data-view=calendar],[data-view=calendar_front],[data-view=blog],[data-view=sitemap],[data-view=terms],[data-view=privacy],[data-view=trade_law],[data-view=faq],[data-view=contact]) #siteFrame .funup-buc-hero{display:flex;flex-direction:column-reverse;align-items:stretch}
 .funup-site .compact-header{padding:16px 5%;gap:12px}
}
@media(max-width:700px){
 body.recruitment-page .recruitment-detail{padding:24px 18px 70px}
 body.recruitment-page .recruitment-hero{display:flex;flex-direction:column-reverse;align-items:stretch;gap:20px}
 body.recruitment-page .recruitment-hero img{height:190px;width:100%;aspect-ratio:auto;object-fit:cover}
 body.recruitment-page .recruitment-hero h1{font-size:26px;line-height:1.55}
 body.recruitment-page .recruitment-facts{padding:20px 16px}
 body.recruitment-page .recruitment-facts dl{grid-template-columns:1fr;gap:16px}
 body.recruitment-page .recruitment-content{padding:16px}
 body.recruitment-page .recruitment-jumps{gap:8px 18px}
}
@media(prefers-reduced-motion:reduce){.funup-site{scroll-behavior:auto}}

/* Yellow is used only as lettering on a small dark field, never as a button fill. */
.funup-site #siteFrame .family-feature .feature-copy>.eyebrow{width:fit-content;padding:7px 12px;background:var(--ink);color:var(--yellow);border-radius:3px}
.funup-site #siteFrame .family-feature .feature-copy>.eyebrow::before{display:none}
/* Keep availability text readable on the existing semantic status backgrounds. */
.funup-site #siteFrame .funup-buc-guide p.status-chip{color:#28523f}
.funup-site #siteFrame .funup-buc-guide p.status-chip.is-few{color:#73500b}
.funup-site #siteFrame .funup-buc-guide p.status-chip.is-waitlist{color:#784338}

/* Reserve orange for date/booking actions. Other buttons retain their hierarchy. */
.funup-site :is(#siteFrame,.compact-page) .button[data-action=booking],.funup-site #siteFrame .funup-buc-actions .button[data-action=booking]{background:var(--action);color:var(--ink);border:1px solid var(--action-line)}
.funup-site :is(#siteFrame,.compact-page) .button[data-action=booking]:hover{background:#f5a03a;color:var(--ink)}

/* Native plugin presentation, shared with exported review galleries. */
.fsite-plugin-gallery{width:100%;min-width:0;margin:24px 0}.fsite-smartslider{display:block;width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:12px;background:#f0faff}.fsite-plugin-gallery details{margin-top:12px}.fsite-contact-preview .wpcf7{width:100%}.fsite-contact-preview p{margin:0 0 18px}.fsite-contact-preview label{display:block}.fsite-contact-preview input,.fsite-contact-preview textarea{box-sizing:border-box;width:100%}.fsite-contact-preview .screen-reader-response,.fsite-contact-preview .wpcf7-response-output{display:none}

/* Small payment marks: size the visible marks, not the source image canvas. */
.recruitment-page img.fsite-payment-mark{display:inline-block;width:auto;height:28px;max-width:100%;max-height:none;object-fit:contain;vertical-align:middle;border-radius:0;margin:4px 8px 4px 0}
.recruitment-page img.fsite-payment-mark--wide{height:22px}
.recruitment-page img.fsite-payment-mark--transit{width:160px;height:auto}

/* Recruitment review refinements: readable data, clear references and a decisive next step. */
body.recruitment-page .recruitment-content table.recruitment-event-table{table-layout:auto}
body.recruitment-page .recruitment-event-table>tbody>tr>th{width:1%;white-space:nowrap;padding:14px 10px;font-size:14px}
body.recruitment-page .recruitment-event-table>tbody>tr>td{width:auto;background:white}
body.recruitment-page .recruitment-guide-row a{color:inherit;text-decoration:none}
body.recruitment-page .recruitment-guide-row a:hover{color:var(--brand-ink)}
body.recruitment-page a.fsite-reference-card{display:flex;flex-direction:column;gap:6px;margin:18px 0;padding:16px 18px;border:1px solid #a8cddc;border-left:4px solid var(--brand);border-radius:8px;background:white;color:var(--ink);text-decoration:none;overflow-wrap:anywhere;line-height:1.6}
.fsite-reference-title{font-weight:750}.fsite-reference-domain{font-size:12px;color:var(--brand-ink)}.fsite-reference-excerpt{font-size:13px;color:var(--muted)}
body.recruitment-page a.fsite-reference-card:hover{border-color:var(--brand-ink);background:var(--soft)}
body.recruitment-page .recruitment-detail .recruitment-content details.fsite-important-notice{padding:0;border:2px solid #b94e40;background:#fff5f1;overflow:hidden}
body.recruitment-page .fsite-important-notice>summary{display:flex;align-items:center;gap:12px;padding:20px;color:#84362d;list-style:none;font-size:18px;line-height:1.5}
body.recruitment-page .fsite-important-notice>summary::-webkit-details-marker{display:none}
body.recruitment-page .fsite-important-notice>summary:after{content:'＋';margin-left:auto;flex-shrink:0;font-size:24px}
body.recruitment-page .fsite-important-notice[open]>summary:after{content:'−'}
body.recruitment-page .fsite-important-notice>summary small{display:block;margin-top:5px;font-size:13px;font-weight:500}
.fsite-required-label{background:#84362d;color:white;border-radius:4px;padding:5px 8px;white-space:nowrap;font-size:13px}
body.recruitment-page .fsite-important-notice>div{padding:16px 20px 12px;background:#fff;border-top:1px solid #ead5cf;color:var(--ink)}
body.recruitment-page .recruitment-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;width:100%;max-width:410px;padding:18px 22px;min-height:84px;border:1px solid #a45e09;border-bottom:4px solid #a45e09;border-radius:12px;background:#f7a64b;color:#35230e;box-shadow:0 7px 16px #83530022;text-decoration:none;text-align:left;line-height:1.4;transition:background .15s,box-shadow .15s,transform .15s}
.recruitment-cta-copy strong{display:block;font-size:21px;font-weight:800;letter-spacing:.03em}.recruitment-cta-copy small{display:block;margin-top:5px;font-size:12px;font-weight:500}.recruitment-cta-arrow{display:grid;place-items:center;flex-shrink:0;width:38px;height:38px;border-radius:50%;background:#ffffffb3;font-size:24px}
body.recruitment-page .recruitment-cta:active{transform:translateY(1px)}
@media(max-width:700px){body.recruitment-page .recruitment-event-table>tbody>tr>th{font-size:13px;padding:10px 7px}body.recruitment-page .fsite-important-notice>summary{padding:16px 12px;gap:9px;font-size:16px}body.recruitment-page .fsite-important-notice>summary small{font-size:12px}body.recruitment-page .recruitment-cta{padding:17px 18px}.recruitment-cta-copy strong{font-size:20px}}
@media(prefers-reduced-motion:reduce){body.recruitment-page .recruitment-cta{transition:none}}

/* Faces use the same circular portrait treatment throughout FUNUP Nature. */
.funup-site #siteFrame :is(.guide,.guide-profile,.fsite-buc-guide-card,.fsite-series-guide,.fsite-staff-identity,.fsite-staff-hero-portraits) img{aspect-ratio:1;object-fit:cover;border-radius:50%}
body.recruitment-page .recruitment-guides{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px;align-items:start}
body.recruitment-page .recruitment-guide-card{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:start;gap:16px;padding:16px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink);background:white;line-height:1.65}
body.recruitment-page .recruitment-guides:has(>:only-child){max-width:480px}
body.recruitment-page img.fsite-guide-portrait{display:block;width:88px;height:88px;aspect-ratio:1;object-fit:cover;border-radius:50%;margin:0}
.recruitment-guide-copy strong{display:block;font-size:18px;margin:2px 0 8px}.recruitment-guide-credentials{font-size:12px;color:var(--muted)}
body.recruitment-page a.fsite-reference-card{display:grid;grid-template-columns:112px minmax(0,1fr);gap:16px;align-items:center;padding:14px;line-height:1.5}
.fsite-reference-media{display:grid;place-items:center;width:112px;height:100px;overflow:hidden;border-radius:6px;background:var(--soft);color:var(--brand-ink);font-size:32px}
body.recruitment-page .fsite-reference-media img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0;margin:0}
.fsite-reference-copy{display:flex;flex-direction:column;gap:5px;min-width:0}.fsite-reference-kind{font-size:10px;color:var(--muted);letter-spacing:.04em}.fsite-reference-title{font-size:17px}.fsite-reference-excerpt{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font-size:12px;line-height:1.6}.fsite-reference-domain{font-size:10px}
.recruitment-badges{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}.recruitment-series-badge,.recruitment-grade-badge{display:inline-flex;align-items:center;padding:5px 11px;border-radius:5px;font-size:13px;font-weight:750;line-height:1.5;border:1px solid #b7cddb}
.recruitment-series-badge{background:#e9f7fd;color:#005a78}.recruitment-series-badge.is-family{background:#edf7ef;color:#2b6245;border-color:#b1d0bb}.recruitment-series-badge:is(.is-english,.is-zensou,.is-hyakumeizan,.is-yurujikan){background:#f5effa;color:#624380;border-color:#d5c4e4}
.recruitment-grade-badge{color:white;border-color:transparent}.recruitment-grade-badge.is-teal{background:#08757a}.recruitment-grade-badge.is-blue{background:#255aa0}.recruitment-grade-badge.is-purple{background:#6d4196}.recruitment-grade-badge.is-green{background:#2f6d4f}.recruitment-grade-badge.is-amber{background:#8b4f0b}
.recruitment-status-panel{margin:20px 0 18px;padding:14px 16px;border-left:4px solid var(--brand);background:var(--soft);border-radius:0 8px 8px 0}.recruitment-status-panel>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.recruitment-status-panel>small{display:block;font-size:10px;color:var(--muted);margin-top:8px}.recruitment-deadline{font-size:12px;color:var(--ink)}
.recruitment-status-chip{display:inline-block;padding:4px 9px;border-radius:5px;font-size:13px;font-weight:800;line-height:1.5;white-space:nowrap;background:#edf1f4;color:#455762;margin:2px 3px 2px 0}.recruitment-status-chip.is-few{color:white;background:#b73532}.recruitment-status-chip.is-open{color:#205d48;background:#e3f3e9;border:1px solid #91bca8}.recruitment-status-chip.is-confirmed{color:white;background:#2f6d4f}.recruitment-status-chip.is-waitlist{color:white;background:#704a75}.recruitment-status-chip.is-waitlist-action{color:#754713;background:#fff0d4;border:1px solid #d0aa6d}.recruitment-status-chip.is-closed{color:#4a5862;background:#e8edf0}
.funup-site #siteFrame .fsite-event-record[data-event-series=snow] .fsite-event-badge{color:#005a78;font-weight:750}.funup-site #siteFrame .fsite-event-record[data-event-series=family] .fsite-event-badge{color:#2b6245;font-weight:750}.funup-site #siteFrame .fsite-event-record[data-event-series=buc] .fsite-event-badge{color:#08757a;font-weight:750}
.funup-site #siteFrame .funup-buc-guide p.status-chip.is-few{background:#b73532;color:white;font-weight:800}.funup-site #siteFrame .funup-buc-guide p.status-chip.is-waitlist{background:#704a75;color:white;font-weight:800}
@media(max-width:700px){body.recruitment-page .recruitment-guides{grid-template-columns:minmax(0,1fr);gap:12px}body.recruitment-page .recruitment-guide-card{grid-template-columns:60px minmax(0,1fr);padding:10px;gap:11px}body.recruitment-page img.fsite-guide-portrait{width:60px;height:60px}.recruitment-guide-copy strong{font-size:16px}.recruitment-guide-credentials{font-size:12px}body.recruitment-page a.fsite-reference-card{grid-template-columns:72px minmax(0,1fr);padding:11px;gap:11px}.fsite-reference-media{width:72px;height:88px}.fsite-reference-title{font-size:15px}.fsite-reference-excerpt{font-size:12px}.recruitment-series-badge,.recruitment-grade-badge{font-size:12px}.recruitment-status-panel{padding:12px}.recruitment-cta-copy strong{font-size:19px}}
.fsite-reference-domain{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:700px){.recruitment-guide-copy{display:contents}.recruitment-guide-copy strong{grid-column:2;grid-row:1;align-self:center;margin:0}.recruitment-guide-credentials{grid-column:1 / -1}}
@media(max-width:360px){body.recruitment-page .recruitment-cta{gap:12px;padding:17px 16px}.recruitment-cta-copy strong{font-size:17px}.recruitment-cta-arrow{width:34px;height:34px;font-size:22px}}

/* Read before applying; equal guide cards grow with the longer profile. */
body.recruitment-page .recruitment-guides{align-items:stretch;grid-auto-rows:1fr}
body.recruitment-page .recruitment-guide-card{height:100%;align-content:start}
body.recruitment-page .recruitment-read-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;width:100%;max-width:410px;min-height:82px;padding:16px 19px;border:1.5px solid var(--brand-ink);border-bottom-width:4px;border-radius:12px;background:white;color:var(--brand-ink);font-size:18px;font-weight:750;line-height:1.6;text-decoration:none;box-shadow:0 4px 10px #006b8f14}
body.recruitment-page .recruitment-read-cta:hover{background:var(--soft)}
.recruitment-read-copy{min-width:0}.recruitment-read-copy strong{display:block;font-size:18px;font-weight:750;line-height:1.6}.recruitment-read-copy small{display:block;font-size:12px;font-weight:500;line-height:1.6;color:var(--muted);margin-top:3px}.recruitment-read-arrow{display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:50%;background:var(--brand-ink);color:white;font-size:23px;font-weight:500;line-height:1}
@media(max-width:700px){body.recruitment-page .recruitment-read-cta{padding:14px 12px;gap:9px}.recruitment-read-copy strong{font-size:16px}.recruitment-read-arrow{flex-basis:30px;height:30px;font-size:21px}}
body.recruitment-page .recruitment-facts dl{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
@media(max-width:700px){body.recruitment-page .recruitment-facts dl{grid-template-columns:1fr}.recruitment-read-cta{font-size:15px}}

/* One compact decision panel under the title. */
body.recruitment-page .recruitment-status-panel{padding:12px 14px;margin:18px 0 16px}
.recruitment-compact-facts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:6px 16px;margin:10px 0 0;padding-top:10px;border-top:1px solid #c8dde6}
.recruitment-compact-facts>div{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px;align-items:baseline;min-width:0}
.recruitment-compact-facts>.is-location{grid-column:1 / -1}
.recruitment-compact-facts dt{font-size:12px;font-weight:500;color:var(--muted);white-space:nowrap}
.recruitment-compact-facts dd{margin:0;font-size:14px;font-weight:650;line-height:1.6;min-width:0}
.recruitment-fact-note{display:block;font-size:12px;font-weight:500;line-height:1.5;margin-top:2px}
@media(max-width:360px){.recruitment-compact-facts{column-gap:10px}.recruitment-compact-facts>div{gap:6px}.recruitment-compact-facts dd{font-size:13px}}
@media(max-width:700px){.recruitment-compact-facts{grid-template-columns:minmax(0,1fr)}.recruitment-compact-facts>div{grid-template-columns:48px minmax(0,1fr)}}

/* A quiet rate benefit, subordinate to availability and the application action. */
.recruitment-discount{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:2px 7px;max-width:100%;padding:3px 7px;margin:3px 0;border:1px solid #b8d2dd;border-radius:5px;background:#ffffffcc;color:#4b6672;font-size:12px;font-weight:500;line-height:1.5;vertical-align:middle}
.recruitment-discount-condition{white-space:nowrap}
.recruitment-discount .recruitment-discount-rate{color:#006b8f;font-size:13px;font-weight:750;white-space:nowrap}

/* Cancellation periods stay on one line; the explicit (no-show) line remains. */
body.recruitment-page .recruitment-content table.recruitment-cancellation-table{table-layout:auto}
body.recruitment-page .recruitment-cancellation-table>tbody>tr>th{width:1%;white-space:nowrap;font-weight:600}
@media(max-width:700px){body.recruitment-page .recruitment-cancellation-table>tbody>tr>th{padding:9px 6px;font-size:13px}body.recruitment-page .recruitment-cancellation-table>tbody>tr>td{padding:9px 7px}}

.recruitment-cancellation-table caption{text-align:left;padding:0 0 7px;color:var(--muted);font-size:12px;line-height:1.6}
body.recruitment-page .recruitment-cancellation-table td.is-cancellation-rate{font-size:16px;font-weight:750}

/* A consistent reading hierarchy within the white important-notice body. */
body.recruitment-page .fsite-important-section{padding:20px 0;border-bottom:1px solid var(--line)}
body.recruitment-page .fsite-important-section:first-child{padding-top:4px}
body.recruitment-page .fsite-important-section:last-child{padding-bottom:0;border-bottom:0}
body.recruitment-page .fsite-important-section>h3{margin:0 0 14px;padding:0 0 0 10px;border-left:3px solid var(--brand);font-size:18px;font-weight:750;line-height:1.6;color:var(--ink)}
body.recruitment-page .fsite-important-section>p,body.recruitment-page .fsite-important-list{margin:0 0 14px;font-size:15px;line-height:1.9}
body.recruitment-page .fsite-important-list{padding-left:1.4em}
body.recruitment-page .fsite-important-list>li{padding-left:3px;margin:0 0 8px}
.fsite-important-list>li::marker{color:var(--brand-ink)}
body.recruitment-page .fsite-important-section>p.fsite-important-cost-note{padding:12px 14px;border-left:3px solid #b8d2dd;background:var(--soft);font-size:13px;line-height:1.8}
.fsite-important-cost-note strong{font-weight:600}
body.recruitment-page .fsite-important-section .recruitment-cancellation-table{margin:14px 0}
@media(max-width:700px){body.recruitment-page .fsite-important-section{padding:18px 0}body.recruitment-page .fsite-important-section>h3{font-size:16px;margin-bottom:12px}body.recruitment-page .fsite-important-section>p,body.recruitment-page .fsite-important-list{font-size:14px}}

/* Alternative dates follow the compact schedule's date / grade / name / status order. */
body.recruitment-page .recruitment-related-dates>div{padding:16px 18px;background:white}
body.recruitment-page .recruitment-related-dates>div>p{margin:0 0 12px;font-size:14px}
.recruitment-related-list{border-top:1px solid var(--line)}
body.recruitment-page a.recruitment-related-event{display:grid;grid-template-columns:148px 96px minmax(0,1fr) 76px;align-items:center;gap:10px;padding:12px 5px;min-height:48px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;line-height:1.6}
body.recruitment-page a.recruitment-related-event:hover{background:var(--soft)}
body.recruitment-page a.recruitment-related-event:focus-visible{outline:3px solid var(--brand-ink);outline-offset:2px}
.recruitment-related-date{font-size:13px;font-variant-numeric:tabular-nums;color:var(--brand-ink)}
.recruitment-related-name{font-size:15px;min-width:0}
.recruitment-related-event .recruitment-grade-badge{justify-self:start;margin:0;font-size:12px;white-space:normal}
.recruitment-related-event .recruitment-status-chip{justify-self:end;margin:0;font-size:12px;white-space:nowrap}
body.recruitment-page .recruitment-related-dates>div>p.recruitment-related-more{margin:16px 0 0;font-size:13px}
@media(max-width:700px){body.recruitment-page .recruitment-related-dates>div{padding:12px}body.recruitment-page a.recruitment-related-event{grid-template-columns:minmax(0,1fr) auto auto;gap:6px 8px;padding:12px 2px}.recruitment-related-date{font-size:12px}.recruitment-related-name{grid-column:1/-1;grid-row:2;font-size:15px}.recruitment-related-event .recruitment-grade-badge,.recruitment-related-event .recruitment-status-chip{font-size:11px}}

/* Start times belong to the event date, distinct from meeting/check-in times. */
.fsite-start-time{display:inline-block;white-space:nowrap;margin-left:.5em;font-size:.85em;font-weight:700;color:var(--brand-ink)}
.funup-site .compact-event time .fsite-start-time,.recruitment-related-date .fsite-start-time{display:block;margin-left:0;font-size:12px;line-height:1.6}
.funup-site .compact-event:has(.fsite-start-time){min-height:52px}
.recruitment-hero .recruitment-date .fsite-start-time{font-size:.85em}
@media(max-width:700px){.recruitment-date .fsite-start-time{display:block;margin-left:0}.recruitment-related-date .fsite-start-time{font-size:11px}}
@media(max-width:360px){body.recruitment-page a.recruitment-related-event{grid-template-columns:minmax(0,1fr) auto}.recruitment-related-date{grid-column:1;grid-row:1;white-space:nowrap}.recruitment-related-event .recruitment-status-chip{grid-column:2;grid-row:1}.recruitment-related-event .recruitment-grade-badge{grid-column:1/-1;grid-row:2}.recruitment-related-name{grid-row:3}}

/* Group size leads availability so the small-group promise is visible immediately. */
.recruitment-capacity{display:inline-flex;align-items:baseline;gap:3px;white-space:nowrap;color:var(--ink);font-size:13px;line-height:1.5;margin-right:4px}
.recruitment-capacity strong{font-size:20px;font-weight:800;color:var(--brand-ink);font-variant-numeric:tabular-nums}
.recruitment-compact-facts>div:last-child:nth-child(2){grid-column:1/-1}



/* A deadline is a label-and-value unit, including inside the event information table. */
.recruitment-deadline{display:inline-block;white-space:nowrap}
body.recruitment-page summary.recruitment-criteria-summary{display:flex;align-items:center;gap:10px;list-style:none;padding:4px 0;line-height:1.6}
.recruitment-criteria-summary::-webkit-details-marker{display:none}
.recruitment-criteria-summary:before{content:'＋';flex:0 0 20px;font-size:20px;color:var(--brand-ink)}
details[open]>summary.recruitment-criteria-summary:before{content:'−'}
.recruitment-criteria-summary>span{min-width:0}
.recruitment-criteria-label{display:block;white-space:nowrap}
.recruitment-criteria-summary small{display:block;font-size:12px;font-weight:500;color:var(--muted);margin-top:2px}



/* Keep the recruitment header menu label intact at narrow widths. */
body.recruitment-page .menu-button{min-width:44px;width:44px;flex-shrink:0}body.recruitment-page .menu-button small{white-space:nowrap}


body.recruitment-page .recruitment-shell,body.recruitment-page .recruitment-footer{min-height:0;height:auto}



/* Recruitment navigation stays reachable; the open menu scrolls within the screen. */
body.recruitment-page .recruitment-shell{position:sticky;top:0;z-index:300}
body.recruitment-page .recruitment-shell #siteFrame{position:relative}
body.recruitment-page .recruitment-shell .site-header.is-hidden{transform:none}
.funup-site.menu-open .menu-button small{white-space:nowrap}
.funup-site.menu-open .menu-button i span:first-child{transform:translateY(3px) rotate(45deg)}
.funup-site.menu-open .menu-button i span:last-child{transform:translateY(-3px) rotate(-45deg)}


.funup-site #siteFrame .site-header{position:sticky;top:0;z-index:310}



/* Native modal top layer avoids clipping by site containers and keeps Close on screen. */
.funup-site .funup-mobile-dialog{position:fixed;inset:0;width:100%;max-width:none;height:100vh;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:white;color:var(--ink);box-sizing:border-box}
.funup-site .funup-mobile-dialog:not([open]):not(:popover-open){display:none}
.funup-site .funup-mobile-dialog:is([open],:popover-open){display:flex;flex-direction:column}
.funup-mobile-dialog::backdrop{background:#173e5066}
.funup-mobile-dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:0 0 auto;min-height:72px;padding:12px 20px;border-bottom:1px solid var(--brand);background:var(--brand);color:white}
.funup-mobile-dialog-bar strong{font-size:19px;font-weight:700;color:white}
.funup-site .funup-mobile-dialog-bar button{border:1px solid var(--brand-ink);border-radius:5px;color:var(--brand-ink);background:white;padding:8px 12px;min-height:44px;white-space:nowrap}
.funup-site .funup-mobile-dialog #mobileMenu{position:static;display:block;flex:1 1 auto;min-height:0;max-height:none;width:100%;margin:0;padding:20px 7cqw 40px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:white;color:var(--ink);box-sizing:border-box}


@media(max-width:700px){.funup-mobile-dialog .menu-groups{grid-template-columns:1fr;gap:26px}.funup-mobile-dialog .menu-head h2{font-size:22px}.funup-mobile-dialog .menu-head p{font-size:14px}}



/* Menu hierarchy follows the relationship between overview and series pages. */
.funup-site #mobileMenu .menu-tree,.funup-site #mobileMenu .menu-tree ul{list-style:none;margin:0;padding:0}
.funup-site #mobileMenu .menu-tree li{margin:0;padding:0}
.funup-site #mobileMenu .menu-tree ul{margin:6px 0 14px 7px;padding-left:14px;border-left:2px solid #c8dde6}
.funup-site #mobileMenu .menu-tree .menu-parent{font-weight:700;color:var(--brand-ink)}
.funup-site #mobileMenu .menu-tree.menu-season-tree{margin:6px 0 0 7px;padding-left:14px;border-left:2px solid #c8dde6}
.funup-site #mobileMenu .menu-season-heading{margin:22px 0 6px;font-size:14px;font-weight:700;line-height:1.6;color:var(--brand-ink)}
.funup-site #mobileMenu .menu-ideas{margin-top:18px}

/* Auto-hide the whole recruitment header wrapper so no empty sticky strip remains. */
body.recruitment-page .recruitment-shell{transition:transform .2s ease}
body.recruitment-page .recruitment-shell:has(.site-header.is-hidden):not(.menu-open){transform:translateY(calc(-100% - 2px));pointer-events:none}
@media(prefers-reduced-motion:reduce){body.recruitment-page .recruitment-shell{transition:none}}

/* Match the current Mobile Menu's 55px / 80% blue header on phones. */
@container site (max-width:700px){
 .funup-site #siteFrame .brand-ribbon{display:none}
 .funup-site #siteFrame .site-header{box-sizing:border-box;height:55px;min-height:55px;padding:0 5cqw;gap:10px;background:rgb(1 176 241 / 80%)}
 .funup-site #siteFrame .site-header .brand.brand-wordmark{min-height:0;padding:0;background:transparent}
 .funup-site #siteFrame .site-header .brand-wordmark .wordmark-text{font-family:Verdana,Geneva,sans-serif;font-size:24px;font-weight:700;letter-spacing:normal;line-height:1.15}
 .funup-site #siteFrame .site-header .menu-button{height:44px;min-height:44px}
}
@container site (max-width:370px){.funup-site #siteFrame .site-header .calendar-link{display:none}}
@media(max-width:700px){
 body.recruitment-page .recruitment-shell,body.recruitment-page .recruitment-shell #siteFrame{background:transparent}
 .funup-site .compact-header{box-sizing:border-box;height:55px;min-height:55px;padding:0 5%;border:0;gap:10px;background:rgb(1 176 241 / 80%)}
 .funup-site .compact-header .brand.brand-wordmark{min-height:0;padding:0;background:transparent}
 .funup-site .compact-header .brand-wordmark .wordmark-text{font-family:Verdana,Geneva,sans-serif;font-size:24px;font-weight:700;letter-spacing:normal;line-height:1.15}
 .funup-site .compact-header>a:last-child{font-size:11px;max-width:90px}
}

/* My Page is a separate account destination, using the current site's purple. */
.funup-site #siteFrame .site-header .mypage,.funup-site .funup-mobile-dialog #mobileMenu .menu-mypage{display:inline-flex;align-items:center;justify-content:center;gap:7px;box-sizing:border-box;min-height:44px;padding:8px 14px;border:1px solid transparent;border-radius:5px;background:var(--mypage-purple);color:white;font-size:13px;font-weight:700;line-height:1.3;text-decoration:none;white-space:nowrap}
.funup-site .mypage-icon{display:block;width:20px;height:20px;fill:currentColor;flex:0 0 auto}
.funup-site #siteFrame .site-header .mypage:hover,.funup-site .funup-mobile-dialog #mobileMenu .menu-mypage:hover{background:var(--mypage-hover);color:white;text-decoration:none}
.funup-site .funup-mobile-dialog #mobileMenu .menu-mypage{justify-content:flex-start;width:100%;margin:4px 0 10px;padding:12px 14px;font-size:15px}
@container site (max-width:700px){
 .funup-site #siteFrame .site-header .calendar-link{display:none}
 .funup-site #siteFrame .site-header .header-actions{gap:8px}
 .funup-site #siteFrame .site-header .mypage{display:inline-flex;flex-direction:column;gap:2px;width:52px;min-width:52px;height:44px;padding:3px 0;font-size:9px;line-height:1.2}
 .funup-site #siteFrame .site-header .mypage-icon{width:19px;height:19px}
 .funup-site #siteFrame .site-header .menu-button{width:44px;min-width:44px}
}
@container site (max-width:370px){
 .funup-site #siteFrame .site-header{padding-left:10px;padding-right:10px;gap:4px}
 .funup-site #siteFrame .site-header .header-actions{gap:4px}
}

/* Useful destinations come before the series navigation. */
.funup-site .funup-mobile-dialog #mobileMenu .menu-quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 28px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.funup-site .funup-mobile-dialog #mobileMenu .menu-quick-actions a{box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;width:100%;margin:0;padding:12px;border-radius:5px;font-size:15px;font-weight:700;line-height:1.4;text-decoration:none;white-space:nowrap}
.funup-site .funup-mobile-dialog #mobileMenu .menu-schedule{background:var(--brand-ink);color:white;border:1px solid var(--brand-ink)}
.funup-site .funup-mobile-dialog #mobileMenu .menu-schedule:hover{background:#005a78;color:white}
@media(max-width:370px){.funup-site .funup-mobile-dialog #mobileMenu .menu-quick-actions{gap:8px}.funup-site .funup-mobile-dialog #mobileMenu .menu-quick-actions a{padding:12px 6px;font-size:14px;gap:6px}}

/* Home-only section links belong in the page, below the shared header. */
.funup-site #siteFrame .home-section-nav{display:flex;align-items:center;justify-content:center;gap:32px;padding:8px 5%;background:var(--soft);border-bottom:1px solid var(--line);color:var(--brand-ink)}
.funup-site #siteFrame .home-section-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 4px;font-size:14px;font-weight:700;white-space:nowrap;text-decoration:none}
.funup-site #siteFrame .home-section-nav a:hover{text-decoration:underline;text-underline-offset:5px}
@container site (max-width:700px){.funup-site #siteFrame .home-section-nav{gap:16px;padding:4px 5%}.funup-site #siteFrame .home-section-nav a{font-size:13px}}

/* One primary action per area: quick booking above, a grouped invitation below. */
body.recruitment-page .recruitment-hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:8px;max-width:410px;margin-top:16px}
body.recruitment-page .recruitment-hero-actions .recruitment-read-cta{width:auto;max-width:100%;min-height:44px;padding:6px 0;gap:8px;border:0;border-radius:0;background:transparent;box-shadow:none;font-size:14px}
body.recruitment-page .recruitment-hero-actions .recruitment-read-copy strong{font-size:14px;text-decoration:underline;text-underline-offset:4px}
body.recruitment-page .recruitment-hero-actions .recruitment-read-copy small{display:none}
body.recruitment-page .recruitment-hero-actions .recruitment-read-arrow{flex-basis:22px;width:22px;height:22px;background:transparent;color:var(--brand-ink);font-size:20px}
body.recruitment-page .recruitment-bottom{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,410px);align-items:center;gap:28px;max-width:1000px;margin:40px auto;padding:32px;background:var(--soft);border:1px solid var(--line);border-radius:12px;text-align:left}
body.recruitment-page .recruitment-bottom h2{margin:0 0 10px;font-size:24px;line-height:1.5}
body.recruitment-page .recruitment-bottom p{margin:0;font-size:16px;line-height:1.8}
.recruitment-apply-action{min-width:0}
.recruitment-apply-destination{display:block;margin-top:10px;color:var(--muted);font-size:12px;line-height:1.7;text-align:left}
@media(max-width:700px){body.recruitment-page .recruitment-bottom{grid-template-columns:minmax(0,1fr);gap:20px;padding:20px;margin:28px 0}body.recruitment-page .recruitment-bottom h2{font-size:22px}body.recruitment-page .recruitment-bottom p{font-size:15px}}
@media(max-width:370px){body.recruitment-page .recruitment-bottom{padding:16px}body.recruitment-page .recruitment-bottom .recruitment-cta{padding:14px 12px;gap:8px}body.recruitment-page .recruitment-bottom .recruitment-cta-copy strong{font-size:16px}.recruitment-bottom .recruitment-cta-arrow{width:28px;height:28px;font-size:20px}}

/* Calendar cards retain the current information order; semantic colors use the shared system. */
.funup-site #siteFrame a.fsite-cal-event{background:white;border:1px solid var(--line);border-radius:5px;padding:8px;text-decoration:none;line-height:1.5;overflow-wrap:anywhere}
.funup-site #siteFrame .fsite-cal-event:hover{border-color:var(--brand-ink);box-shadow:0 2px 7px #173e5014}
.fsite-cal-time{display:block;font-size:12px;font-weight:700;color:var(--brand-ink);margin-bottom:5px}
.fsite-cal-badges{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:6px}
.fsite-cal-series,.fsite-cal-level,.fsite-cal-status{display:inline-block;border:1px solid var(--line);border-radius:3px;padding:2px 4px;font-size:11px;font-weight:700;line-height:1.5}
.fsite-cal-series{background:#edf1f4;color:#455762}
.fsite-cal-place{display:block;font-size:13px;font-weight:700;margin:0 0 8px}
.fsite-cal-meta{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:5px}
.fsite-cal-fee{font-size:12px;font-weight:600;line-height:1.5;color:var(--ink)}
.fsite-cal-status{white-space:nowrap}
.funup-site #siteFrame [data-mode="calendar"] .fsite-event-filters{grid-template-columns:minmax(0,1fr) auto;gap:16px;background:white;padding:0;margin:24px 0}
.funup-site #siteFrame .fsite-cal-series-filter h2{font-size:15px;font-weight:500;margin:0 0 12px}
.fsite-cal-series-filter{grid-column:1/-1;width:100%;margin:0!important}
[data-mode="calendar"] .fsite-event-filters>label:has(select[data-event-filter="series"]){display:none}
.funup-site #siteFrame .fsite-cal-toolbar{display:flex;align-items:center;justify-content:center;gap:12px;margin:24px 0 16px;flex-wrap:wrap}
.funup-site #siteFrame .fsite-cal-toolbar button{min-width:44px;min-height:44px;height:44px;line-height:1.2;background:white;color:var(--brand-ink);border:1px solid var(--brand-ink);border-radius:5px;padding:6px 12px;font-size:22px;font-weight:700;cursor:pointer}
.funup-site #siteFrame .fsite-cal-toolbar [data-cal-today]{font-size:14px}
.fsite-cal-toolbar label{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}
.fsite-cal-toolbar select{min-height:44px;padding:6px 10px;border:1px solid var(--line);border-radius:5px;background:white;color:var(--ink);font-size:18px;font-weight:700}
[data-mode="calendar"] .fsite-cal-month>h3{display:none}
@media(max-width:700px){.funup-site #siteFrame .fsite-cal-event{padding:12px}.fsite-cal-place{font-size:16px}.fsite-cal-series,.fsite-cal-level,.fsite-cal-status,.fsite-cal-fee,.fsite-cal-time{font-size:13px}.funup-site #siteFrame [data-mode="calendar"] .fsite-event-filters{grid-template-columns:1fr}.funup-site #siteFrame .fsite-cal-toolbar{gap:8px;justify-content:space-between}.fsite-cal-toolbar label{font-size:0;gap:0}.fsite-cal-toolbar select{font-size:16px;max-width:156px}.funup-site #siteFrame .fsite-cal-toolbar button{padding:6px 10px}.funup-site #siteFrame .fsite-cal-toolbar [data-cal-today]{font-size:13px}}

[data-subfilters][hidden]{display:none!important}
@media(max-width:700px){.funup-site #siteFrame .fsite-cal-toolbar{flex-wrap:nowrap;gap:4px}.fsite-cal-toolbar [data-cal-month-slot]{flex:1;min-width:0}.fsite-cal-toolbar label,.fsite-cal-toolbar select{width:100%;min-width:0;max-width:none}.fsite-cal-toolbar select{font-size:15px;padding:6px}.funup-site #siteFrame .fsite-cal-toolbar button{flex:0 0 44px;width:44px;padding:6px}.funup-site #siteFrame .fsite-cal-toolbar [data-cal-today]{font-size:12px}.funup-site #siteFrame .fsite-cal-series-filter .filter-main button{font-size:13px;padding:8px 10px}}

.funup-site #siteFrame .fsite-calendar-title{font-size:28px;line-height:1.5;margin:0 0 10px}
.funup-site[data-view="calendar"] .fsite-buc-section:first-child,.funup-site[data-view="calendar_front"] .fsite-buc-section:first-child{padding-top:16px}
.funup-site #siteFrame .fsite-cal-series-filter{padding-top:16px}
@media(max-width:700px){.funup-site #siteFrame .fsite-calendar-title{font-size:24px}}

.funup-site #siteFrame .fsite-cal-filter-panel{border:1px solid var(--line);border-radius:5px;padding:0 16px;margin:20px 0 12px;background:white}
.funup-site #siteFrame .fsite-cal-filter-panel>summary{display:list-item;min-height:44px;padding:12px 0;font-size:14px;font-weight:700;color:var(--brand-ink);cursor:pointer}
.fsite-cal-filter-panel>summary span{font-size:13px;font-weight:500;margin-left:10px;color:var(--muted)}
.funup-site #siteFrame .fsite-cal-filter-panel .fsite-event-filters{margin:0 0 16px}
.funup-site #siteFrame .fsite-cal-filter-panel .fsite-cal-series-filter{border-top:0;padding-top:0}

/* Compact calendar cards; a white surface and explicit badge outlines separate layers. */
.funup-site #siteFrame a.fsite-cal-event{background:#fff;padding:6px;margin:5px 0;line-height:1.4;border-color:#a9c2ce}
.funup-site #siteFrame .fsite-cal-day,.funup-site #siteFrame .fsite-cal-padding{min-height:90px;padding:6px}
.fsite-cal-badges{gap:3px;margin-bottom:4px}
.fsite-cal-series,.fsite-cal-level,.fsite-cal-status{padding:1px 3px;font-size:11px;line-height:1.35}
.fsite-cal-series{border-left-width:3px}
.fsite-cal-place{font-size:13px;line-height:1.4;margin-bottom:4px}
.fsite-cal-meta{gap:3px}.fsite-cal-fee{font-size:11px;line-height:1.4}.fsite-cal-time{font-size:11px;margin-bottom:3px}
@media(max-width:700px){.funup-site #siteFrame .fsite-cal-day{min-height:0;padding:10px;margin:10px 0}.funup-site #siteFrame a.fsite-cal-event{padding:8px;margin:6px 0}.fsite-cal-series,.fsite-cal-level,.fsite-cal-status,.fsite-cal-fee,.fsite-cal-time{font-size:12px}.fsite-cal-place{font-size:15px}}

/* Desktop branding and hover navigation; mobile retains its compact tap-open header. */
.header-brand{display:flex;flex-direction:column;align-items:flex-start;flex-shrink:0;gap:4px}
.funup-site #siteFrame .brand-tagline{display:none;margin:0;color:white}
.funup-site #siteFrame .site-header :is(.calendar-link,.mypage):is(:hover,:focus,:active){text-decoration:none}
@media(min-width:701px){
 .funup-site [id],body.recruitment-page [id]{scroll-margin-top:135px}
 .funup-site #siteFrame .site-header .brand-wordmark{padding-top:0;padding-bottom:0;min-height:0}
 .funup-site #siteFrame .site-header .wordmark-text{font-size:clamp(28px,3.25vw,41.6px);font-weight:800}
 .funup-site #siteFrame .brand-tagline{display:block;font-size:clamp(12px,1.25vw,16px);line-height:1.4}
 .funup-site .site-header.is-hidden{transform:none}
 body.recruitment-page .recruitment-shell:has(.site-header.is-hidden){transform:none;pointer-events:auto}
 .funup-site .funup-mobile-dialog.is-desktop-menu{inset:var(--menu-top,100px) auto auto var(--menu-left,0px);width:var(--menu-width,100%);max-width:100vw;height:auto;max-height:calc(100dvh - var(--menu-top,100px) - 12px);z-index:500;box-shadow:0 10px 22px #173e5026;border-bottom:1px solid var(--line)}
 .funup-site .funup-mobile-dialog.is-desktop-menu::backdrop{background:transparent;backdrop-filter:none;pointer-events:none}
 .is-desktop-menu .funup-mobile-dialog-bar{display:none}
 .funup-site .funup-mobile-dialog.is-desktop-menu #mobileMenu{max-height:calc(100dvh - var(--menu-top,100px) - 12px);padding:24px 5.5cqw;flex:0 1 auto}
 .is-desktop-menu .menu-quick-actions{max-width:560px;margin-bottom:20px!important;padding-bottom:16px!important}
}
.funup-site #siteFrame .fsite-cal-weekdays span{padding:4px 6px;font-size:14px;font-weight:700;line-height:1.35;min-height:0}
.funup-site #siteFrame .fsite-cal-weekdays span:first-child{color:white;background:#b73532}
.funup-site #siteFrame .fsite-cal-weekdays span:last-child{color:white;background:#255aa0}

.funup-site #siteFrame .fsite-cal-date>time{font-size:17px;font-weight:700;line-height:1.35}

/* The closed filter panel is a visible secondary control, not a faint field outline. */
.funup-site #siteFrame .fsite-cal-filter-panel{border:1.5px solid var(--brand-ink);box-shadow:0 2px 0 #006b8f14}
.funup-site #siteFrame .fsite-cal-filter-panel>summary{display:flex;align-items:center;gap:10px;list-style:none;margin:0 -16px;padding:12px 16px;background:var(--soft);border-radius:4px;min-height:56px}
.funup-site #siteFrame .fsite-cal-filter-panel>summary::-webkit-details-marker{display:none}
.funup-site #siteFrame .fsite-cal-filter-panel>summary::after{content:none}
.fsite-cal-filter-panel>summary strong{font-size:16px;white-space:nowrap}
.fsite-cal-filter-panel>summary .fsite-filter-icon{width:18px;height:18px;flex:0 0 18px}
.funup-site #siteFrame .fsite-cal-filter-panel>summary [data-filter-summary]{flex:1;min-width:0;margin:0;font-size:15px;line-height:1.6;color:var(--ink)}
.funup-site #siteFrame .fsite-cal-filter-panel>summary .fsite-filter-toggle{display:grid;place-items:center;flex:0 0 28px;height:28px;margin:0;border-radius:50%;background:var(--brand-ink);color:white;font-size:20px;line-height:1}
.fsite-filter-toggle::before{content:'＋'}
.fsite-cal-filter-panel[open] .fsite-filter-toggle::before{content:'−'}
.funup-site #siteFrame .fsite-cal-filter-panel[open]>summary{border-bottom:1px solid var(--line);margin-bottom:16px}

[data-buc-types][hidden]{display:none!important}
.tour-subfilters[data-subfilters="buc"]{display:block}
.tour-subfilters[data-subfilters="buc"]>.subfilter-heading{display:block;margin-bottom:8px}
.tour-subfilters[data-buc-types]{margin-top:12px}
.fsite-cal-date{display:flex;align-items:baseline;gap:5px;margin-bottom:4px;min-width:0}
.fsite-cal-date>time{flex:0 0 auto}
.fsite-cal-holiday{min-width:0;font-size:14px;line-height:1.35;color:#b73532;font-weight:700;overflow-wrap:anywhere}
.funup-site #siteFrame .fsite-cal-day.is-sunday .fsite-cal-date>time{color:#b73532}
.funup-site #siteFrame .fsite-cal-day.is-saturday .fsite-cal-date>time{color:#255aa0}
.funup-site #siteFrame .fsite-cal-day.is-holiday .fsite-cal-date>time{color:#b73532}
.funup-site #siteFrame .fsite-cal-source,.funup-site #siteFrame [data-holiday-note]{font-size:12px;color:var(--muted);line-height:1.6;margin:12px 0}
.funup-site #siteFrame .site-header .calendar-link{border-bottom:0}
@media(max-width:700px){.funup-site #siteFrame .fsite-cal-day.is-empty.is-holiday{display:block}}

.funup-site #siteFrame [data-mode="calendar"] .fsite-event-filters{grid-template-columns:minmax(180px,.6fr) minmax(0,1fr) auto}
.fsite-schedule-guide{display:flex;align-items:center;gap:12px;margin:16px 0;font-size:14px;font-weight:700}
.fsite-schedule-guide select{min-height:44px;max-width:100%;border:1px solid var(--brand-ink);border-radius:5px;padding:8px 12px;font:inherit;background:white;color:var(--ink)}
@media(max-width:700px){.funup-site #siteFrame [data-mode="calendar"] .fsite-event-filters{grid-template-columns:1fr}.fsite-schedule-guide{flex-wrap:wrap}}

.funup-site #siteFrame .fsite-cal-day,.funup-site #siteFrame .fsite-cal-padding{border-width:0 0 1px;border-style:solid}

/* Overview uses the same filter panel and responsive control layout as the calendar. */
.funup-site #siteFrame [data-mode="overview"] .fsite-event-filters{display:grid;grid-template-columns:minmax(180px,.6fr) minmax(0,1fr) auto;gap:16px;background:white;padding:0;margin:0 0 16px}
[data-mode="overview"] .fsite-event-filters>label:has(select[data-event-filter="series"]){display:none}
.funup-site #siteFrame [data-mode="overview"] .series-filter{grid-column:1/-1;border:0;padding:0;margin:16px 0 0}
.funup-site #siteFrame [data-mode="overview"] .fsite-event-filters>label:has(select[data-event-filter="month"]){grid-column:1/-1;max-width:220px}
.funup-site #siteFrame [data-mode="overview"] .fsite-cal-filter-panel>summary{background:white}
@media(max-width:700px){.funup-site #siteFrame [data-mode="overview"] .fsite-event-filters{grid-template-columns:1fr}}

/* Shared filter controls also apply to the compact overview without buc.css. */
.funup-site [data-event-browser] [hidden]{display:none!important}
.funup-site .fsite-event-filters label{font-size:14px;font-weight:700;min-width:0}
.funup-site .fsite-event-filters :is(select,input){display:block;width:100%;min-width:0;box-sizing:border-box;padding:12px;margin-top:8px;border:1px solid #7898a6;background:#fff;font:16px system-ui;color:var(--ink);border-radius:0}
.funup-site .fsite-event-filters button{align-self:end}


/* Shared opening photos: preserve one 16:9 frame across all explanatory pages. */
.funup-site #siteFrame .funup-buc-guide .funup-buc-hero .fsite-buc-hero-photo img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:16/9;object-fit:cover}



/* Mobile: keep the event list one tap away; My Page remains first in the menu. */
.funup-site #siteFrame .site-header .calendar-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;box-sizing:border-box;min-height:44px;padding:8px 14px;border:1px solid #006080;border-radius:5px;background:#006b8f;color:white;font-size:13px;font-weight:700;line-height:1.3;white-space:nowrap;text-decoration:none}
.funup-site #siteFrame .site-header .calendar-label{display:inline;padding:0}
.funup-site #siteFrame .site-header .calendar-icon{display:block;width:18px;height:18px;flex:none}
.funup-site #siteFrame .site-header .calendar-link:is(:hover,:focus-visible){background:#006080;color:white}
@container site (max-width:700px){
 .funup-site #siteFrame .site-header .mypage{display:none}
 .funup-site #siteFrame .site-header .calendar-link{display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;box-sizing:border-box;min-width:76px;min-height:44px;padding:3px 5px;border:1px solid #006080;border-radius:5px;background:#006b8f;color:#fff;font-size:10px;font-weight:700;line-height:1.2;white-space:nowrap;text-decoration:none}
 .funup-site #siteFrame .site-header .calendar-icon{display:block;width:18px;height:18px;flex:none}
 .funup-site #siteFrame .site-header .calendar-link:hover{background:#006080;color:#fff}
}
@container site (max-width:370px){.funup-site #siteFrame .site-header .brand-wordmark .wordmark-text{font-size:20px}}



@media(max-width:480px){.funup-site .funup-mobile-dialog #mobileMenu .menu-schedule-label{line-height:1.3;text-align:center}.funup-site .funup-mobile-dialog #mobileMenu .menu-schedule-label span{display:block}}



/* Compact mobile AI launcher keeps its name and a 44px touch target. */
@media(max-width:600px){
 body #funup-public-chat .fpc-launch{left:8px;bottom:calc(12px + env(safe-area-inset-bottom,0px));width:58px;min-width:58px;height:52px;min-height:52px;padding:4px 3px;gap:1px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:14px;font-size:10px;line-height:1.2;box-shadow:0 2px 9px #183f4d26}
 body #funup-public-chat .fpc-launch .fpc-ai{font-size:10px;line-height:1.1;padding:1px 5px;border-radius:4px}
}



:root{--yanocchi-portrait-background:#eaf3f5 url("../images/yanocchi-ai-avatar-head-v2.png") center / 100% no-repeat}

/* Mobile AI avatar uses the supplied photo; the original button remains the control. */
@media(max-width:600px){
 body #funup-public-chat .fpc-launch{width:64px;min-width:64px;height:64px;min-height:64px;padding:0;display:block;position:fixed;border:2px solid #fff;border-radius:50%;background:var(--yanocchi-portrait-background);color:transparent;font-size:0;box-shadow:0 2px 8px #183f4d40}
 body #funup-public-chat .fpc-launch .fpc-ai{position:absolute;right:-3px;bottom:-3px;padding:1px 4px;border:1px solid white;border-radius:5px;background:#006b8f;color:white;font-size:10px;line-height:1.2;box-shadow:0 1px 3px #183f4d40}
}



/* Portrait and name remain visible on the desktop AI launcher. */
@media(min-width:601px){
 body #funup-public-chat .fpc-launch{min-height:60px;padding:5px 13px 5px 5px;gap:8px}
 body #funup-public-chat .fpc-launch::before{content:"";display:block;flex:0 0 48px;width:48px;height:48px;border:1px solid #fff;border-radius:50%;background:var(--yanocchi-portrait-background)}
}



/* One shared figurine crop; the conversation header has a larger portrait. */
body #funup-public-chat .fpc-head::before{content:"";display:block;flex:0 0 84px;width:84px;height:84px;border:2px solid #fff;border-radius:50%;background:var(--yanocchi-portrait-background);box-shadow:0 1px 4px #183f4d30}
body #funup-public-chat .fpc-head>div{flex:1;min-width:0}
body #funup-public-chat .fpc-head h2{text-wrap:balance}
@media(max-width:600px){body #funup-public-chat .fpc-head::before{flex-basis:80px;width:80px;height:80px}}

@media(max-width:360px){body #funup-public-chat .fpc-head{gap:4px;padding-left:10px;padding-right:10px}body #funup-public-chat .fpc-head::before{flex-basis:72px;width:72px;height:72px}body #funup-public-chat .fpc-head h2{font-size:14px;line-height:1.4}}

/* Leave breathing room at both screen edges; honour iPhone safe areas. */
body #funup-public-chat{--fsite-ai-left:max(28px,env(safe-area-inset-left,0px));--fsite-ai-bottom:calc(32px + env(safe-area-inset-bottom,0px))}
body #funup-public-chat .fpc-launch{left:var(--fsite-ai-left);bottom:var(--fsite-ai-bottom)}
body #funup-public-chat .fsite-ai-dismiss{position:fixed;left:calc(var(--fsite-ai-left) - 13px);bottom:calc(var(--fsite-ai-bottom) + 47px);z-index:10002;width:32px;height:32px;min-width:32px;min-height:32px;padding:0;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:#355363;font:20px/1 sans-serif;cursor:pointer}
body #funup-public-chat .fsite-ai-dismiss::before{content:"";position:absolute;inset:6px;border-radius:50%;background:white;box-shadow:0 1px 4px #183f4d40;z-index:-1}
body #funup-public-chat .fsite-ai-dismiss:focus-visible{outline:2px solid #006b8f;outline-offset:1px}
html.funup-ai-hidden body #funup-public-chat .fpc-launch,html.funup-ai-hidden body #funup-public-chat .fsite-ai-dismiss{display:none!important}
.funup-site .menu-ai-visibility{display:block;min-height:44px;margin-top:8px;padding:8px 12px;border:1px solid #adc8d4;border-radius:5px;background:#fff;color:#006b8f;font:inherit;font-size:13px;cursor:pointer;text-align:left}
.funup-site .menu-ai-visibility:hover{background:#edf7fb}
@media(max-width:600px){body #funup-public-chat{--fsite-ai-left:calc(36px + env(safe-area-inset-left,0px));--fsite-ai-bottom:calc(48px + env(safe-area-inset-bottom,0px))}body #funup-public-chat .fsite-ai-dismiss{bottom:calc(var(--fsite-ai-bottom) + 51px)}}



/* Footer: stable purpose-based columns, shared by every page including legal pages. */
.funup-site :is(#siteFrame,#recruitmentFooterFrame) .site-footer{grid-template-columns:minmax(260px,.9fr) minmax(0,1.4fr);gap:20px 48px;align-items:start}
.funup-site :is(#siteFrame,#recruitmentFooterFrame) .footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;grid-column:2;grid-row:1;justify-content:normal}
.funup-site :is(#siteFrame,#recruitmentFooterFrame) .footer-link-group{min-width:0}
.funup-site :is(#siteFrame,#recruitmentFooterFrame) .footer-link-group h2{margin:0 0 8px;padding:0;border:0;color:var(--brand-ink);font-size:14px;line-height:1.6;font-weight:700;letter-spacing:0}
.funup-site :is(#siteFrame,#recruitmentFooterFrame) .footer-link-group ul{list-style:none;margin:0;padding:0;display:grid;gap:0}
.funup-site :is(#siteFrame,#recruitmentFooterFrame) .footer-link-group li{list-style:none;margin:0;padding:0}
.funup-site :is(#siteFrame,#recruitmentFooterFrame) .footer-link-group a{display:flex;align-items:center;min-height:32px;font-size:14px;line-height:1.6;padding:3px 0;overflow-wrap:anywhere}
.funup-site :is(#siteFrame,#recruitmentFooterFrame) .footer-social-block{grid-column:2;grid-row:2;justify-self:start;gap:14px}
.funup-site :is(#siteFrame,#recruitmentFooterFrame) .footer-social{display:grid;grid-template-columns:repeat(3,max-content);gap:0 18px}
.funup-site :is(#siteFrame,#recruitmentFooterFrame) .footer-social a{display:block;min-height:32px;align-content:center;white-space:nowrap;font-size:14px}
.funup-site :is(#siteFrame,#recruitmentFooterFrame) .footer-legal{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:4px 28px;border-top:1px solid #d3d7da;padding-top:16px}
.funup-site :is(#siteFrame,#recruitmentFooterFrame) .footer-legal a{display:flex;align-items:center;min-height:32px;font-size:13px;line-height:1.6}
.funup-site :is(#siteFrame,#recruitmentFooterFrame) .site-footer>small{grid-column:1/-1;margin:0;padding:16px 0 0 68px;text-align:left;font-size:12px;line-height:1.8}
@container site (max-width:900px){
 .funup-site :is(#siteFrame,#recruitmentFooterFrame) .site-footer{grid-template-columns:1fr;gap:20px;padding:32px 20px 24px}
 .funup-site :is(#siteFrame,#recruitmentFooterFrame) .site-footer>.footer-brand{grid-column:1;grid-row:auto}
 .funup-site :is(#siteFrame,#recruitmentFooterFrame) .footer-links{grid-column:1;grid-row:auto;gap:20px}
 .funup-site :is(#siteFrame,#recruitmentFooterFrame) .footer-social-block{grid-column:1;grid-row:auto;display:grid;grid-template-columns:40px minmax(0,1fr);gap:8px 12px;align-items:center;width:100%}
 .funup-site :is(#siteFrame,#recruitmentFooterFrame) .footer-social-block>.fsite-social-logo{width:40px;height:40px;grid-column:1;grid-row:1}
 .funup-site :is(#siteFrame,#recruitmentFooterFrame) .footer-social-block>div{display:contents}
 .funup-site :is(#siteFrame,#recruitmentFooterFrame) .footer-social-label{grid-column:2;grid-row:1}
 .funup-site :is(#siteFrame,#recruitmentFooterFrame) .footer-social{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 8px}
 .funup-site :is(#siteFrame,#recruitmentFooterFrame) .footer-social a{font-size:13px;min-height:36px}
 .funup-site :is(#siteFrame,#recruitmentFooterFrame) .footer-legal{flex-direction:column;gap:0}
 .funup-site :is(#siteFrame,#recruitmentFooterFrame) .footer-link-group a{min-height:36px}
 .funup-site :is(#siteFrame,#recruitmentFooterFrame) .site-footer .brand-wordmark .wordmark-text{font-size:clamp(20px,6cqw,27px)}
}



/* Legal documents: compact chapters, readable body, no promotional heading scale. */
.funup-site:is([data-view=terms],[data-view=privacy]) #siteFrame .fsite-buc-section{padding-top:24px;padding-bottom:0}
.funup-site:is([data-view=terms],[data-view=privacy]) #siteFrame .fsite-buc-section:last-child{padding-bottom:40px}
.funup-site:is([data-view=terms],[data-view=privacy]) #siteFrame .fsite-buc-section h2{font-size:20px;line-height:1.5;font-weight:700;margin:0 0 10px;letter-spacing:0}
.funup-site:is([data-view=terms],[data-view=privacy]) #siteFrame .fsite-buc-section :is(p,li){font-size:16px;line-height:1.8}
.funup-site:is([data-view=terms],[data-view=privacy]) #siteFrame .fsite-buc-section p{margin:0 0 10px}
.funup-site:is([data-view=terms],[data-view=privacy]) #siteFrame .fsite-buc-section :is(ul,ol){margin:8px 0 0;padding-left:1.5em}
.funup-site:is([data-view=terms],[data-view=privacy]) #siteFrame .fsite-buc-section li{margin:0 0 4px}
.funup-site:is([data-view=terms],[data-view=privacy]) #siteFrame .fsite-buc-section>:last-child{margin-bottom:0}



/* Shared yellow lettering on a dark field for every large home feature. */
.funup-site #siteFrame [data-home-feature] .eyebrow.fsite-feature-kicker{display:inline-flex;align-items:center;gap:10px;width:fit-content;max-width:100%;padding:7px 12px;background:var(--ink);color:var(--yellow);border-radius:3px;font-size:12px;line-height:1.8;letter-spacing:.12em;margin-bottom:16px}
.funup-site #siteFrame [data-home-feature] .fsite-feature-kicker::before{display:none;content:none}
.funup-site #siteFrame [data-home-feature] .fsite-feature-kicker .fsite-purpose-icon{color:inherit;--purpose-size:32px}
.funup-site #siteFrame .snow-feature{background:var(--soft);color:var(--ink)}
.funup-site #siteFrame [data-home-feature][hidden]{display:none!important}



/* Product links reuse the same motif as the corresponding feature and introduction. */
.funup-site #mobileMenu .fsite-menu-product-link{display:flex;align-items:center;gap:8px;color:var(--brand-ink);font-weight:700;text-decoration:none}
.funup-site #mobileMenu .fsite-menu-product-link>.fsite-purpose-icon{--purpose-size:22px;color:inherit}
.funup-site #mobileMenu .fsite-menu-product-link>span:last-child{min-width:0}
.funup-site #mobileMenu .fsite-menu-product-link:hover{color:#004d69;text-decoration:none}



/* Main seasonal story plus a stable, smaller catalogue; family is always present. */
.funup-site #siteFrame .fsite-home-more{padding:36px 0 52px}
.funup-site #siteFrame .fsite-home-more>h2{font-size:clamp(23px,2.4vw,30px);line-height:1.5;margin:12px 0 24px}
.funup-site #siteFrame .fsite-home-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.funup-site #siteFrame .fsite-home-product{display:flex;flex-direction:column;overflow:hidden;border:1px solid #adc8d4;border-radius:var(--ui-radius-card,8px);background:#fff;color:var(--ink);text-decoration:none;box-shadow:0 3px 12px #173e500a;transition:box-shadow .18s,border-color .18s}
.funup-site #siteFrame .fsite-home-product>img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.funup-site #siteFrame .fsite-home-product>div{padding:18px;display:flex;flex-direction:column;flex:1}
.funup-site #siteFrame .fsite-home-product h3{display:flex;gap:10px;align-items:center;font-size:19px;line-height:1.45;margin:0 0 10px;padding:0;border:0;background:none}
.funup-site #siteFrame .fsite-home-product h3::before{display:none}
.funup-site #siteFrame .fsite-home-product h3 .fsite-purpose-icon{--purpose-size:32px;color:var(--brand-ink)}
.funup-site #siteFrame .fsite-home-product p{font-size:15px;line-height:1.75;margin:0 0 16px}
.funup-site #siteFrame .fsite-home-product-link{display:block;text-align:right;margin-top:auto;color:var(--brand-ink);font-size:14px;font-weight:700}
.funup-site #siteFrame .fsite-home-product:is(:hover,:focus-visible){border-color:var(--brand-ink);box-shadow:0 5px 18px #173e5026}
.funup-site #siteFrame .fsite-home-product[hidden]{display:none}
@media(max-width:900px){.funup-site #siteFrame .fsite-home-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media(max-width:600px){.funup-site #siteFrame .fsite-home-product-grid{grid-template-columns:1fr;gap:14px}.funup-site #siteFrame .fsite-home-product{flex-direction:row;align-items:stretch}.funup-site #siteFrame .fsite-home-product>img{width:32%;min-width:0;aspect-ratio:auto;object-fit:cover}.funup-site #siteFrame .fsite-home-product>div{padding:14px;min-width:0}.funup-site #siteFrame .fsite-home-product h3{font-size:17px;gap:7px}.funup-site #siteFrame .fsite-home-product h3 .fsite-purpose-icon{--purpose-size:26px}.funup-site #siteFrame .fsite-home-product p{font-size:14px;margin-bottom:8px}.funup-site #siteFrame .fsite-home-more{padding-top:24px}}
.funup-site #siteFrame .fsite-home-more{width:85%;margin:0 auto}
@media(max-width:700px){.funup-site #siteFrame .fsite-home-more{width:86%}}


/* Email enquiry screens share the site components; preview has no send endpoint. */
.funup-site .fsite-contact-page{max-width:880px;margin:auto}
.funup-site .fsite-contact-review-note{padding:14px 18px;background:#f0f8fc;border-left:3px solid #006b8f;font-size:14px}
.funup-site .fsite-contact-progress{display:flex;gap:8px;list-style:none;padding:0;margin:28px 0}
.funup-site .fsite-contact-progress li{flex:1;padding:10px;text-align:center;background:#f0f2f4;border-radius:5px;font-size:15px}
.funup-site .fsite-contact-progress [aria-current]{background:#006b8f;color:white;font-weight:700}
.funup-site [data-contact-fields]{border:0;padding:0;margin:20px 0}
.funup-site [data-contact-fields] label{display:block;font-size:16px;font-weight:600;margin:0 0 20px}
.funup-site [data-contact-fields] input,.funup-site [data-contact-fields] textarea{display:block;width:100%;max-width:100%;margin-top:8px;font:inherit;font-weight:400;color:#173e50;background:#fff;border:1px solid #9db6c3;border-radius:6px;padding:12px;box-sizing:border-box}
.funup-site [data-contact-fields] input:focus,.funup-site [data-contact-fields] textarea:focus{outline:2px solid #006b8f;outline-offset:2px}
.funup-site .fsite-required{font-size:12px;color:#6b4550;margin-left:6px}
.funup-site .fsite-contact-confirm{margin:24px 0}
.funup-site .fsite-contact-confirm dt{font-weight:700;margin-top:18px;font-size:14px}
.funup-site .fsite-contact-confirm dd{margin:5px 0 0;padding:12px 14px;border:1px solid #d6e2e8;border-radius:5px;white-space:pre-wrap;overflow-wrap:anywhere}
.funup-site [data-contact-step][hidden]{display:none}

.funup-site [data-contact-fields]>.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

.funup-site [data-contact-step] h2{scroll-margin-top:140px}
@media(max-width:700px){.funup-site [data-contact-step] h2{scroll-margin-top:85px}}

.funup-site #siteFrame .fsite-event-record .fsite-event-catch{margin-bottom:4px}
.funup-site #siteFrame .fsite-event-record .fsite-event-card-guides{margin:0 0 8px;font-size:13px;font-weight:400;line-height:1.5;color:var(--muted);overflow-wrap:anywhere}
.funup-site #siteFrame .fsite-event-card-guides>span{margin-right:4px}

/* Original goods: isolated, non-transactional checkout preview. */
.funup-site #siteFrame .fsite-shop{max-width:1120px;margin:auto;padding:32px 24px 64px}
.funup-site #siteFrame .fsite-shop [hidden]{display:none!important}
.funup-site #siteFrame .fsite-shop-preview-note{padding:16px 20px;border:1px solid #b6d5e1;border-radius:8px;background:#eff8fc;margin:20px 0}
.funup-site #siteFrame .fsite-shop-preview-note p{margin:6px 0 0;font-size:14px}
.funup-site #siteFrame .fsite-shop-progress{display:flex;gap:12px;list-style:none;padding:0;margin:24px 0;font-size:14px;font-weight:700;flex-wrap:wrap}
.funup-site #siteFrame .fsite-shop-progress li{padding:8px 12px;border-bottom:3px solid #dae5ea}
.funup-site #siteFrame .fsite-shop-progress [aria-current]{border-color:var(--brand-ink);color:var(--brand-ink)}
.funup-site #siteFrame .fsite-shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.funup-site #siteFrame .fsite-shop-product{border:1px solid #c8dde6;border-radius:12px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.funup-site #siteFrame .fsite-shop-photo{aspect-ratio:16/9;background:#f2f6f8;overflow:hidden}
.funup-site #siteFrame .fsite-shop-photo img{display:block;width:100%;height:100%;object-fit:contain}
.funup-site #siteFrame .fsite-shop-photo-pending{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#526b76;gap:4px}
.funup-site #siteFrame .fsite-shop-photo-pending strong{font-family:Verdana,sans-serif;color:#006b8f;font-size:22px}
.funup-site #siteFrame .fsite-shop-photo-pending span{font-size:14px;letter-spacing:.12em}
.funup-site #siteFrame .fsite-shop-photo-pending small{font-size:12px}
.funup-site #siteFrame .fsite-shop-product-body{padding:20px;display:flex;flex-direction:column;flex:1}
.funup-site #siteFrame .fsite-shop-product h3{font-size:20px;line-height:1.5;margin:0 0 10px;border:0;padding:0;background:none}
.funup-site #siteFrame .fsite-shop-product p{font-size:15px;margin:0 0 12px}
.funup-site #siteFrame .fsite-shop-product .fsite-shop-detail-note{font-size:13px;color:#526b76}
.funup-site #siteFrame .fsite-shop-price{font-weight:700;margin-top:auto!important}
.funup-site #siteFrame .fsite-shop label{display:grid;gap:6px;font-size:14px;font-weight:600;min-width:0}
.funup-site #siteFrame .fsite-shop :is(input,select){width:100%;min-width:0;box-sizing:border-box;padding:10px 12px;border:1px solid #8eaab7;border-radius:5px;background:#fff;color:#173e50;font:inherit;font-size:16px}
.funup-site #siteFrame .fsite-shop :is(input,select):focus-visible{outline:2px solid #006b8f;outline-offset:2px}
.funup-site #siteFrame .fsite-shop input::placeholder{color:#9caeb6;opacity:1}
.funup-site #siteFrame .fsite-shop-selection{padding:20px;background:#eff8fc;border-radius:8px;margin:24px 0}
.funup-site #siteFrame .fsite-shop-selection p{margin:0 0 12px}
.funup-site #siteFrame .fsite-shop button:disabled{opacity:.5;cursor:not-allowed}
.funup-site #siteFrame .fsite-shop-address{display:grid;grid-template-columns:1fr 1fr;gap:18px;border:0;padding:20px 0;margin:0;max-width:800px}
.funup-site #siteFrame .fsite-shop-address label:has([data-shop-field=address]){grid-column:1/-1}
.funup-site #siteFrame .fsite-shop-total,.funup-site #siteFrame .fsite-shop-address-summary{display:grid;grid-template-columns:140px minmax(0,1fr);gap:10px 16px;max-width:800px;padding:20px;background:#f5f8fa;border-radius:8px}
.funup-site #siteFrame .fsite-shop :is(dt,dd){margin:0;overflow-wrap:anywhere}
.funup-site #siteFrame .fsite-shop dd{font-size:15px}
.funup-site #siteFrame .fsite-shop [data-shop-step]{scroll-margin-top:140px}
.funup-site #siteFrame .fsite-shop-guide ol{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:0;list-style:none;counter-reset:delivery}
.funup-site #siteFrame .fsite-shop-guide li{counter-increment:delivery;padding:16px;border-top:3px solid #01b0f1;background:#f4f9fb}
.funup-site #siteFrame .fsite-shop-guide li::before{content:'0' counter(delivery);display:block;color:#006b8f;font-size:24px;font-weight:700}
.funup-site #siteFrame .fsite-shop-guide strong{display:block;margin:8px 0;font-size:16px}
.funup-site #siteFrame .fsite-shop-guide li span{font-size:14px;line-height:1.7}
@media(max-width:700px){.funup-site #siteFrame .fsite-shop{padding:24px 16px 48px}.funup-site #siteFrame .fsite-shop-grid{grid-template-columns:1fr}.funup-site #siteFrame .fsite-shop-photo{max-height:220px}.funup-site #siteFrame .fsite-shop-address{grid-template-columns:1fr}.funup-site #siteFrame .fsite-shop-total,.funup-site #siteFrame .fsite-shop-address-summary{grid-template-columns:1fr;gap:4px;padding:16px}.funup-site #siteFrame .fsite-shop dd{margin-bottom:8px}.funup-site #siteFrame .fsite-shop-guide ol{grid-template-columns:1fr 1fr}.funup-site #siteFrame .fsite-shop-progress{gap:6px;font-size:13px}.funup-site #siteFrame .fsite-shop-progress li{padding:6px}.funup-site #siteFrame .fsite-shop [data-shop-step]{scroll-margin-top:85px}}


.funup-site #siteFrame .fsite-shop>.fsite-buc-section{padding:20px 0;margin:0;max-width:none}
.funup-site #siteFrame .fsite-shop>.fsite-shop-guide{padding-top:40px}



.funup-site #siteFrame .fsite-shop-product .fsite-shop-availability{font-size:13px;color:#526b76;margin:0 0 12px}.funup-site #siteFrame .fsite-shop-product-body>label+label{margin-top:10px}



.funup-site #siteFrame .fsite-shop-photo{aspect-ratio:4/3}
.funup-site #siteFrame .fsite-shop-photo-open{display:block;position:relative;width:100%;height:100%;padding:0;border:0;border-radius:0;background:#f2f6f8;cursor:zoom-in}
.funup-site #siteFrame .fsite-shop-photo-open img{width:100%;height:100%;object-fit:contain}
.funup-site #siteFrame .fsite-shop-photo-open>span{position:absolute;bottom:6px;right:6px;padding:4px 7px;background:#ffffffed;color:#006b8f;border-radius:4px;font-size:12px;font-weight:700}
.funup-site #siteFrame .fsite-shop-photo-rotated{transform:rotate(180deg)}
.funup-site #siteFrame .fsite-shop-photo-extra{border:0;background:none;padding:0;font:inherit;font-size:13px;text-align:left;margin:0 0 12px;cursor:pointer}
.funup-site #siteFrame .fsite-shop-photo-dialog{max-width:min(1100px,92vw);max-height:90vh;box-sizing:border-box;padding:16px;border:0;border-radius:10px;background:#fff;color:#173e50;overflow:auto}
.funup-site #siteFrame .fsite-shop-photo-dialog::backdrop{background:#173e50bb}
.funup-site #siteFrame .fsite-shop-photo-dialog>img{display:block;max-width:100%;max-height:68vh;width:auto;height:auto;object-fit:contain;margin:12px auto}
.funup-site #siteFrame .fsite-shop-photo-dialog p{font-size:14px;margin:8px 0 0}



/* Shared cart supports independent colour variants; payment stays off in static review. */
.funup-site #siteFrame .fsite-shop-add{margin-top:14px;width:100%;font-size:15px}
.funup-site #siteFrame .fsite-shop-cart{margin-top:28px;border:1px solid #b7cdd7;border-radius:10px;padding:20px}
.funup-site #siteFrame .fsite-shop-cart h2{font-size:22px;margin:0 0 14px;padding:0;border:0}
.funup-site #siteFrame .fsite-shop-cart ul{list-style:none;margin:0;padding:0}
.funup-site #siteFrame .fsite-shop-cart-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0;border-top:1px solid #d9e4e9}
.funup-site #siteFrame .fsite-shop-cart-row strong{display:block;font-size:15px;line-height:1.6}
.funup-site #siteFrame .fsite-shop-cart-row span{font-size:13px;color:#526b76}
.funup-site #siteFrame .fsite-shop-cart-controls{display:flex;align-items:end;gap:16px;flex-shrink:0}
.funup-site #siteFrame .fsite-shop-cart-controls input{width:86px}
.funup-site #siteFrame .fsite-shop-cart-controls button{font-size:14px;min-height:44px;background:none;border:0;cursor:pointer}
@media(max-width:700px){.funup-site #siteFrame .fsite-shop-cart{padding:16px}.funup-site #siteFrame .fsite-shop-cart-row{align-items:start;flex-direction:column;gap:10px}.funup-site #siteFrame .fsite-shop-cart-controls{width:100%;justify-content:flex-end}}



/* A compact, secondary goods introduction before the home page's SNS section. */
.funup-site #siteFrame .fsite-home-goods{display:grid;grid-template-columns:1fr 1.15fr;align-items:center;gap:32px;padding:28px;margin:48px 7.5cqw 32px;border:1px solid #b9cfd9;border-radius:12px;background:#f8fbfc}
.funup-site #siteFrame .fsite-home-goods-copy .eyebrow{margin:0 0 12px;font-size:12px}
.funup-site #siteFrame .fsite-home-goods h2{margin:0 0 12px;padding:0;border:0;font-size:26px;line-height:1.5}
.funup-site #siteFrame .fsite-home-goods-copy>p:not(.eyebrow){margin:0 0 16px;font-size:14px;line-height:1.8}
.funup-site #siteFrame .fsite-home-goods-copy>a{display:inline-block;font-size:15px;min-height:44px;align-content:center}
.funup-site #siteFrame .fsite-home-goods-photos>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.funup-site #siteFrame .fsite-home-goods figure{margin:0;min-width:0}
.funup-site #siteFrame .fsite-home-goods figure img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#fff;border:1px solid #dce6eb;border-radius:6px;box-sizing:border-box}
.funup-site #siteFrame .fsite-home-goods figcaption{margin-top:6px;text-align:center;font-size:13px;line-height:1.5;color:#173e50}
.funup-site #siteFrame .fsite-home-goods-note{margin:10px 0 0;font-size:11px;line-height:1.6;color:#526b76}
@media(max-width:700px){.funup-site #siteFrame .fsite-home-goods{grid-template-columns:1fr;gap:18px;padding:20px 16px;margin:32px 7cqw 24px}.funup-site #siteFrame .fsite-home-goods h2{font-size:23px}.funup-site #siteFrame .fsite-home-goods-photos>div{gap:8px}.funup-site #siteFrame .fsite-home-goods-note{font-size:11px}}

/* Only one portrait while opening or talking. Restore instantly on native close. */
#funup-public-chat.fsite-ai-intro :is(.fpc-launch,.fsite-ai-dismiss),
html.fpc-modal-open #funup-public-chat :is(.fpc-launch,.fsite-ai-dismiss),
#funup-public-chat:has(dialog[open]) :is(.fpc-launch,.fsite-ai-dismiss){visibility:hidden!important;pointer-events:none}

/* Occasional playful greeting; the native dialog still owns focus and chat. */
.fsite-ai-flight{position:fixed;left:0;top:0;width:80px;height:80px;box-sizing:border-box;border:2px solid #fff;border-radius:50%;background:var(--yanocchi-portrait-background);box-shadow:0 5px 22px #173e5038;pointer-events:none;z-index:2147483647;transform-origin:center;will-change:transform}
/* One glasses reflection near the peak of the existing 3-second approach.
   Positions follow the shared 190px head crop, not a regenerated face. */
.fsite-ai-flight .fsite-ai-lens{position:absolute;top:48%;width:24%;height:18%;border-radius:50%;overflow:hidden;pointer-events:none}
.fsite-ai-flight .fsite-ai-lens-left{left:26%}
.fsite-ai-flight .fsite-ai-lens-right{left:51%}
.fsite-ai-flight .fsite-ai-lens::before{content:"";position:absolute;inset:-35% 25%;background:linear-gradient(90deg,transparent,#45dfff99 24%,#fff 50%,#baf5ffcc 72%,transparent);filter:drop-shadow(0 0 1px #4de8ff);opacity:0;transform:translateX(-180%) rotate(20deg);animation:fsite-ai-glasses-sweep 3000ms linear both}
.fsite-ai-flight .fsite-ai-glint-star{position:absolute;left:68%;top:46%;width:11%;height:11%;background:radial-gradient(circle,#fff 0 14%,#baf5ff 24%,#38d9ff 55%,transparent 72%);clip-path:polygon(50% 0,59% 40%,100% 50%,59% 60%,50% 100%,41% 60%,0 50%,41% 40%);filter:drop-shadow(0 0 1px #fff);opacity:0;transform:scale(.2) rotate(12deg);animation:fsite-ai-glasses-star 3000ms linear both;pointer-events:none}
@keyframes fsite-ai-glasses-sweep{0%,76%{opacity:0;transform:translateX(-180%) rotate(20deg)}78%{opacity:.85}88%{opacity:.95;transform:translateX(180%) rotate(20deg)}90%,100%{opacity:0;transform:translateX(180%) rotate(20deg)}}
@keyframes fsite-ai-glasses-star{0%,84%{opacity:0;transform:scale(.2) rotate(12deg)}87%{opacity:1;transform:scale(1) rotate(12deg)}90%,100%{opacity:0;transform:scale(.25) rotate(12deg)}}
#funup-public-chat.fsite-ai-intro dialog{opacity:0;pointer-events:none}
#funup-public-chat.fsite-ai-intro dialog::backdrop{background:transparent}
@media(prefers-reduced-motion:reduce){.fsite-ai-flight{display:none}#funup-public-chat.fsite-ai-intro dialog{opacity:1;pointer-events:auto}}


/* Optional MyPage reuse; delivery editing belongs to Square. */
.funup-site .fsite-shop-account-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:20px 0}
.funup-site .fsite-shop-account-choices>section{border:1px solid #b9cbd4;border-radius:12px;padding:24px}
.funup-site .fsite-shop-account-choices h3{font-size:20px;margin:0 0 12px}
.funup-site .fsite-shop-account-status{font-weight:700;color:#006b8f}
.funup-site .fsite-shop-square-preview{max-width:600px;width:calc(100% - 32px);max-height:85dvh;border:1px solid #b9cbd4;border-radius:16px;padding:24px;box-sizing:border-box;color:#173e50}
.funup-site .fsite-shop-square-preview::backdrop{background:#173e5066}
.funup-site .fsite-shop-square-preview h2{font-size:22px}
.funup-site .fsite-shop-square-preview label{display:grid;gap:5px;margin:12px 0}
.funup-site .fsite-shop-square-preview input{box-sizing:border-box;width:100%;padding:10px;border:1px solid #8ca5b1;border-radius:6px;font:inherit;color:#173e50;background:#fff}
@media(max-width:700px){.funup-site .fsite-shop-account-choices{grid-template-columns:1fr;gap:14px}.funup-site .fsite-shop-account-choices>section{padding:18px}}


.funup-site #siteFrame .fsite-shop label.fsite-shop-consent{display:flex;align-items:flex-start;gap:10px;margin:18px 0;line-height:1.7}
.funup-site #siteFrame .fsite-shop .fsite-shop-consent input[type=checkbox]{width:20px;height:20px;flex:0 0 20px;padding:0;margin:2px 0 0;accent-color:#006b8f}
.funup-site #siteFrame .fsite-shop .fsite-shop-consent>span{flex:1;min-width:0}
.funup-site [data-shop-registration]{max-width:720px;margin:24px 0;padding:24px;border:1px solid #b9cbd4;border-radius:12px}
.funup-site .fsite-shop-order{padding:22px;margin:20px 0;border:1px solid #b9cbd4;border-radius:12px;background:#fff}
.funup-site .fsite-shop-order h2{font-size:22px;margin:0 0 10px}
.funup-site .fsite-shop-order-parcel{padding:10px 14px;background:#f4f8fa;border-radius:6px}
@media(max-width:700px){.funup-site [data-shop-registration]{padding:16px}.funup-site .fsite-shop-order{padding:16px}.funup-site .fsite-shop-order h2{font-size:20px}}



/* Sticker shapes remain separate cards and align as one group. */
.funup-site #siteFrame .fsite-shop-category{margin:0 0 32px}.funup-site #siteFrame .fsite-shop-category>h2{font-size:24px;margin:0 0 16px}.funup-site #siteFrame .fsite-shop-grid--other{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:700px){.funup-site #siteFrame .fsite-shop-grid--other{grid-template-columns:1fr}}

/* BEGIN GENERATED COLOR SYSTEM */
body.recruitment-page .recruitment-series-badge,.funup-site .compact-page .series-chip{color:#526e8d;background:#ffffff;border-color:#526e8d}
.funup-site #siteFrame .fsite-cal-series.is-buc{color:#8551c9;background:#ffffff;border-color:#8551c9}
body.recruitment-page .recruitment-series-badge.is-buc,.funup-site .compact-page .series-chip.is-buc{color:#8551c9;background:#ffffff;border-color:#8551c9}
body.recruitment-page .recruitment-series-badge.is-buc{color:#ffffff;background:#8551c9;border-color:#8551c9;border-radius:3px}
.funup-site #siteFrame .fsite-cal-series.is-buc{display:inline-flex;flex-wrap:wrap;align-items:center;padding:0;border-left-width:1px;color:#173e50;background:#ffffff;overflow:hidden}.funup-site #siteFrame .fsite-cal-series.is-buc>.badge-series{background:#8551c9;color:#ffffff;padding:1px 3px}.funup-site #siteFrame .fsite-cal-series.is-buc>.badge-detail{padding:1px 3px}
.funup-site #siteFrame .fsite-event-record[data-event-series=buc] .fsite-event-card-photo .fsite-event-badge{display:inline-flex;align-items:center;flex-wrap:wrap;gap:0;padding:0;overflow:hidden;color:#173e50;background:#ffffff;border-color:#8551c9;border-radius:3px}.funup-site #siteFrame .fsite-event-record[data-event-series=buc] .fsite-event-badge>.badge-series{background:#8551c9;color:#ffffff;padding:6px 8px}.funup-site #siteFrame .fsite-event-record[data-event-series=buc] .fsite-event-badge>.badge-detail{padding:6px 7px;color:#173e50}.funup-site #siteFrame .fsite-event-record[data-event-series=buc] .fsite-event-badge .badge-divider{display:none}
.funup-site #siteFrame .fsite-cal-series.is-snow{color:#0075d4;background:#ffffff;border-color:#0075d4}
body.recruitment-page .recruitment-series-badge.is-snow,.funup-site .compact-page .series-chip.is-snow{color:#0075d4;background:#ffffff;border-color:#0075d4}
body.recruitment-page .recruitment-series-badge.is-snow{color:#ffffff;background:#0075d4;border-color:#0075d4;border-radius:3px}
.funup-site #siteFrame .fsite-cal-series.is-snow{display:inline-flex;flex-wrap:wrap;align-items:center;padding:0;border-left-width:1px;color:#173e50;background:#ffffff;overflow:hidden}.funup-site #siteFrame .fsite-cal-series.is-snow>.badge-series{background:#0075d4;color:#ffffff;padding:1px 3px}.funup-site #siteFrame .fsite-cal-series.is-snow>.badge-detail{padding:1px 3px}
.funup-site #siteFrame .fsite-event-record[data-event-series=snow] .fsite-event-card-photo .fsite-event-badge{display:inline-flex;align-items:center;flex-wrap:wrap;gap:0;padding:0;overflow:hidden;color:#173e50;background:#ffffff;border-color:#0075d4;border-radius:3px}.funup-site #siteFrame .fsite-event-record[data-event-series=snow] .fsite-event-badge>.badge-series{background:#0075d4;color:#ffffff;padding:6px 8px}.funup-site #siteFrame .fsite-event-record[data-event-series=snow] .fsite-event-badge>.badge-detail{padding:6px 7px;color:#173e50}.funup-site #siteFrame .fsite-event-record[data-event-series=snow] .fsite-event-badge .badge-divider{display:none}
.funup-site #siteFrame .fsite-cal-series.is-family{color:#d13c7a;background:#ffffff;border-color:#d13c7a}
body.recruitment-page .recruitment-series-badge.is-family,.funup-site .compact-page .series-chip.is-family{color:#d13c7a;background:#ffffff;border-color:#d13c7a}
body.recruitment-page .recruitment-series-badge.is-family{color:#ffffff;background:#d13c7a;border-color:#d13c7a;border-radius:3px}
.funup-site #siteFrame .fsite-cal-series.is-family{display:inline-flex;flex-wrap:wrap;align-items:center;padding:0;border-left-width:1px;color:#173e50;background:#ffffff;overflow:hidden}.funup-site #siteFrame .fsite-cal-series.is-family>.badge-series{background:#d13c7a;color:#ffffff;padding:1px 3px}.funup-site #siteFrame .fsite-cal-series.is-family>.badge-detail{padding:1px 3px}
.funup-site #siteFrame .fsite-event-record[data-event-series=family] .fsite-event-card-photo .fsite-event-badge{display:inline-flex;align-items:center;flex-wrap:wrap;gap:0;padding:0;overflow:hidden;color:#173e50;background:#ffffff;border-color:#d13c7a;border-radius:3px}.funup-site #siteFrame .fsite-event-record[data-event-series=family] .fsite-event-badge>.badge-series{background:#d13c7a;color:#ffffff;padding:6px 8px}.funup-site #siteFrame .fsite-event-record[data-event-series=family] .fsite-event-badge>.badge-detail{padding:6px 7px;color:#173e50}.funup-site #siteFrame .fsite-event-record[data-event-series=family] .fsite-event-badge .badge-divider{display:none}
.funup-site #siteFrame .fsite-cal-series.is-yurujikan{color:#008579;background:#ffffff;border-color:#008579}
body.recruitment-page .recruitment-series-badge.is-yurujikan,.funup-site .compact-page .series-chip.is-yurujikan{color:#008579;background:#ffffff;border-color:#008579}
body.recruitment-page .recruitment-series-badge.is-yurujikan{color:#ffffff;background:#008579;border-color:#008579;border-radius:3px}
.funup-site #siteFrame .fsite-cal-series.is-yurujikan{display:inline-flex;flex-wrap:wrap;align-items:center;padding:0;border-left-width:1px;color:#173e50;background:#ffffff;overflow:hidden}.funup-site #siteFrame .fsite-cal-series.is-yurujikan>.badge-series{background:#008579;color:#ffffff;padding:1px 3px}.funup-site #siteFrame .fsite-cal-series.is-yurujikan>.badge-detail{padding:1px 3px}
.funup-site #siteFrame .fsite-event-record[data-event-series=yurujikan] .fsite-event-card-photo .fsite-event-badge{display:inline-flex;align-items:center;flex-wrap:wrap;gap:0;padding:0;overflow:hidden;color:#173e50;background:#ffffff;border-color:#008579;border-radius:3px}.funup-site #siteFrame .fsite-event-record[data-event-series=yurujikan] .fsite-event-badge>.badge-series{background:#008579;color:#ffffff;padding:6px 8px}.funup-site #siteFrame .fsite-event-record[data-event-series=yurujikan] .fsite-event-badge>.badge-detail{padding:6px 7px;color:#173e50}.funup-site #siteFrame .fsite-event-record[data-event-series=yurujikan] .fsite-event-badge .badge-divider{display:none}
.funup-site #siteFrame .fsite-cal-series.is-hyakumeizan{color:#008579;background:#ffffff;border-color:#008579}
body.recruitment-page .recruitment-series-badge.is-hyakumeizan,.funup-site .compact-page .series-chip.is-hyakumeizan{color:#008579;background:#ffffff;border-color:#008579}
body.recruitment-page .recruitment-series-badge.is-hyakumeizan{color:#ffffff;background:#008579;border-color:#008579;border-radius:3px}
.funup-site #siteFrame .fsite-cal-series.is-hyakumeizan{display:inline-flex;flex-wrap:wrap;align-items:center;padding:0;border-left-width:1px;color:#173e50;background:#ffffff;overflow:hidden}.funup-site #siteFrame .fsite-cal-series.is-hyakumeizan>.badge-series{background:#008579;color:#ffffff;padding:1px 3px}.funup-site #siteFrame .fsite-cal-series.is-hyakumeizan>.badge-detail{padding:1px 3px}
.funup-site #siteFrame .fsite-event-record[data-event-series=hyakumeizan] .fsite-event-card-photo .fsite-event-badge{display:inline-flex;align-items:center;flex-wrap:wrap;gap:0;padding:0;overflow:hidden;color:#173e50;background:#ffffff;border-color:#008579;border-radius:3px}.funup-site #siteFrame .fsite-event-record[data-event-series=hyakumeizan] .fsite-event-badge>.badge-series{background:#008579;color:#ffffff;padding:6px 8px}.funup-site #siteFrame .fsite-event-record[data-event-series=hyakumeizan] .fsite-event-badge>.badge-detail{padding:6px 7px;color:#173e50}.funup-site #siteFrame .fsite-event-record[data-event-series=hyakumeizan] .fsite-event-badge .badge-divider{display:none}
.funup-site #siteFrame .fsite-cal-series.is-zensou{color:#008579;background:#ffffff;border-color:#008579}
body.recruitment-page .recruitment-series-badge.is-zensou,.funup-site .compact-page .series-chip.is-zensou{color:#008579;background:#ffffff;border-color:#008579}
body.recruitment-page .recruitment-series-badge.is-zensou{color:#ffffff;background:#008579;border-color:#008579;border-radius:3px}
.funup-site #siteFrame .fsite-cal-series.is-zensou{display:inline-flex;flex-wrap:wrap;align-items:center;padding:0;border-left-width:1px;color:#173e50;background:#ffffff;overflow:hidden}.funup-site #siteFrame .fsite-cal-series.is-zensou>.badge-series{background:#008579;color:#ffffff;padding:1px 3px}.funup-site #siteFrame .fsite-cal-series.is-zensou>.badge-detail{padding:1px 3px}
.funup-site #siteFrame .fsite-event-record[data-event-series=zensou] .fsite-event-card-photo .fsite-event-badge{display:inline-flex;align-items:center;flex-wrap:wrap;gap:0;padding:0;overflow:hidden;color:#173e50;background:#ffffff;border-color:#008579;border-radius:3px}.funup-site #siteFrame .fsite-event-record[data-event-series=zensou] .fsite-event-badge>.badge-series{background:#008579;color:#ffffff;padding:6px 8px}.funup-site #siteFrame .fsite-event-record[data-event-series=zensou] .fsite-event-badge>.badge-detail{padding:6px 7px;color:#173e50}.funup-site #siteFrame .fsite-event-record[data-event-series=zensou] .fsite-event-badge .badge-divider{display:none}
.funup-site #siteFrame .fsite-cal-series.is-english{color:#008579;background:#ffffff;border-color:#008579}
body.recruitment-page .recruitment-series-badge.is-english,.funup-site .compact-page .series-chip.is-english{color:#008579;background:#ffffff;border-color:#008579}
body.recruitment-page .recruitment-series-badge.is-english{color:#ffffff;background:#008579;border-color:#008579;border-radius:3px}
.funup-site #siteFrame .fsite-cal-series.is-english{display:inline-flex;flex-wrap:wrap;align-items:center;padding:0;border-left-width:1px;color:#173e50;background:#ffffff;overflow:hidden}.funup-site #siteFrame .fsite-cal-series.is-english>.badge-series{background:#008579;color:#ffffff;padding:1px 3px}.funup-site #siteFrame .fsite-cal-series.is-english>.badge-detail{padding:1px 3px}
.funup-site #siteFrame .fsite-event-record[data-event-series=english] .fsite-event-card-photo .fsite-event-badge{display:inline-flex;align-items:center;flex-wrap:wrap;gap:0;padding:0;overflow:hidden;color:#173e50;background:#ffffff;border-color:#008579;border-radius:3px}.funup-site #siteFrame .fsite-event-record[data-event-series=english] .fsite-event-badge>.badge-series{background:#008579;color:#ffffff;padding:6px 8px}.funup-site #siteFrame .fsite-event-record[data-event-series=english] .fsite-event-badge>.badge-detail{padding:6px 7px;color:#173e50}.funup-site #siteFrame .fsite-event-record[data-event-series=english] .fsite-event-badge .badge-divider{display:none}
.funup-site #siteFrame .fsite-cal-series.is-lecture{color:#526e8d;background:#ffffff;border-color:#526e8d}
body.recruitment-page .recruitment-series-badge.is-lecture,.funup-site .compact-page .series-chip.is-lecture{color:#526e8d;background:#ffffff;border-color:#526e8d}
body.recruitment-page .recruitment-series-badge.is-lecture{color:#ffffff;background:#526e8d;border-color:#526e8d;border-radius:3px}
.funup-site #siteFrame .fsite-cal-series.is-lecture{display:inline-flex;flex-wrap:wrap;align-items:center;padding:0;border-left-width:1px;color:#173e50;background:#ffffff;overflow:hidden}.funup-site #siteFrame .fsite-cal-series.is-lecture>.badge-series{background:#526e8d;color:#ffffff;padding:1px 3px}.funup-site #siteFrame .fsite-cal-series.is-lecture>.badge-detail{padding:1px 3px}
.funup-site #siteFrame .fsite-event-record[data-event-series=lecture] .fsite-event-card-photo .fsite-event-badge{display:inline-flex;align-items:center;flex-wrap:wrap;gap:0;padding:0;overflow:hidden;color:#173e50;background:#ffffff;border-color:#526e8d;border-radius:3px}.funup-site #siteFrame .fsite-event-record[data-event-series=lecture] .fsite-event-badge>.badge-series{background:#526e8d;color:#ffffff;padding:6px 8px}.funup-site #siteFrame .fsite-event-record[data-event-series=lecture] .fsite-event-badge>.badge-detail{padding:6px 7px;color:#173e50}.funup-site #siteFrame .fsite-event-record[data-event-series=lecture] .fsite-event-badge .badge-divider{display:none}
.funup-site #siteFrame .fsite-cal-series.is-sawara{color:#a56500;background:#ffffff;border-color:#a56500}
body.recruitment-page .recruitment-series-badge.is-sawara,.funup-site .compact-page .series-chip.is-sawara{color:#a56500;background:#ffffff;border-color:#a56500}
body.recruitment-page .recruitment-series-badge.is-sawara{color:#ffffff;background:#a56500;border-color:#a56500;border-radius:3px}
.funup-site #siteFrame .fsite-cal-series.is-sawara{display:inline-flex;flex-wrap:wrap;align-items:center;padding:0;border-left-width:1px;color:#173e50;background:#ffffff;overflow:hidden}.funup-site #siteFrame .fsite-cal-series.is-sawara>.badge-series{background:#a56500;color:#ffffff;padding:1px 3px}.funup-site #siteFrame .fsite-cal-series.is-sawara>.badge-detail{padding:1px 3px}
.funup-site #siteFrame .fsite-event-record[data-event-series=sawara] .fsite-event-card-photo .fsite-event-badge{display:inline-flex;align-items:center;flex-wrap:wrap;gap:0;padding:0;overflow:hidden;color:#173e50;background:#ffffff;border-color:#a56500;border-radius:3px}.funup-site #siteFrame .fsite-event-record[data-event-series=sawara] .fsite-event-badge>.badge-series{background:#a56500;color:#ffffff;padding:6px 8px}.funup-site #siteFrame .fsite-event-record[data-event-series=sawara] .fsite-event-badge>.badge-detail{padding:6px 7px;color:#173e50}.funup-site #siteFrame .fsite-event-record[data-event-series=sawara] .fsite-event-badge .badge-divider{display:none}
.funup-site #siteFrame .fsite-cal-series.is-workshops{color:#526e8d;background:#ffffff;border-color:#526e8d}
body.recruitment-page .recruitment-series-badge.is-workshops,.funup-site .compact-page .series-chip.is-workshops{color:#526e8d;background:#ffffff;border-color:#526e8d}
body.recruitment-page .recruitment-series-badge.is-workshops{color:#ffffff;background:#526e8d;border-color:#526e8d;border-radius:3px}
.funup-site #siteFrame .fsite-cal-series.is-workshops{display:inline-flex;flex-wrap:wrap;align-items:center;padding:0;border-left-width:1px;color:#173e50;background:#ffffff;overflow:hidden}.funup-site #siteFrame .fsite-cal-series.is-workshops>.badge-series{background:#526e8d;color:#ffffff;padding:1px 3px}.funup-site #siteFrame .fsite-cal-series.is-workshops>.badge-detail{padding:1px 3px}
.funup-site #siteFrame .fsite-event-record[data-event-series=workshops] .fsite-event-card-photo .fsite-event-badge{display:inline-flex;align-items:center;flex-wrap:wrap;gap:0;padding:0;overflow:hidden;color:#173e50;background:#ffffff;border-color:#526e8d;border-radius:3px}.funup-site #siteFrame .fsite-event-record[data-event-series=workshops] .fsite-event-badge>.badge-series{background:#526e8d;color:#ffffff;padding:6px 8px}.funup-site #siteFrame .fsite-event-record[data-event-series=workshops] .fsite-event-badge>.badge-detail{padding:6px 7px;color:#173e50}.funup-site #siteFrame .fsite-event-record[data-event-series=workshops] .fsite-event-badge .badge-divider{display:none}
.funup-site #siteFrame .fsite-cal-level.is-teal{color:#173e50;background:#ffffff;border-color:#c8dde6}
body.recruitment-page .recruitment-grade-badge.is-teal{color:#173e50;background:#ffffff;border-color:#c8dde6}
.funup-site #siteFrame .fsite-cal-level.is-blue{color:#173e50;background:#ffffff;border-color:#c8dde6}
body.recruitment-page .recruitment-grade-badge.is-blue{color:#173e50;background:#ffffff;border-color:#c8dde6}
.funup-site #siteFrame .fsite-cal-level.is-purple{color:#173e50;background:#ffffff;border-color:#c8dde6}
body.recruitment-page .recruitment-grade-badge.is-purple{color:#173e50;background:#ffffff;border-color:#c8dde6}
.funup-site #siteFrame .fsite-cal-level.is-neutral{color:#173e50;background:#ffffff;border-color:#c8dde6}
body.recruitment-page .recruitment-grade-badge.is-neutral{color:#173e50;background:#ffffff;border-color:#c8dde6}
.funup-site #siteFrame .fsite-cal-status.is-open{color:#583100;background:#ffc24b;border-color:#ffc24b}
body.recruitment-page .recruitment-status-chip.is-open,.funup-site .compact-page .status-chip.is-open,.funup-site #siteFrame .funup-buc-guide p.status-chip.is-open,.funup-site #siteFrame .fsite-event-record .status-chip.is-open{color:#583100;background:#ffc24b;border-color:#ffc24b}
.funup-site #siteFrame .fsite-cal-status.is-few{color:#ffffff;background:#bf3442;border-color:#bf3442}
body.recruitment-page .recruitment-status-chip.is-few,.funup-site .compact-page .status-chip.is-few,.funup-site #siteFrame .funup-buc-guide p.status-chip.is-few,.funup-site #siteFrame .fsite-event-record .status-chip.is-few{color:#ffffff;background:#bf3442;border-color:#bf3442}
.funup-site #siteFrame .fsite-cal-status.is-confirmed{color:#ffffff;background:#2f6d4f;border-color:#2f6d4f}
body.recruitment-page .recruitment-status-chip.is-confirmed,.funup-site .compact-page .status-chip.is-confirmed,.funup-site #siteFrame .funup-buc-guide p.status-chip.is-confirmed,.funup-site #siteFrame .fsite-event-record .status-chip.is-confirmed{color:#ffffff;background:#2f6d4f;border-color:#2f6d4f}
.funup-site #siteFrame .fsite-cal-status.is-waitlist{color:#126187;background:#dff2fc;border-color:#2580aa}
body.recruitment-page .recruitment-status-chip.is-waitlist,.funup-site .compact-page .status-chip.is-waitlist,.funup-site #siteFrame .funup-buc-guide p.status-chip.is-waitlist,.funup-site #siteFrame .fsite-event-record .status-chip.is-waitlist{color:#126187;background:#dff2fc;border-color:#2580aa}
.funup-site #siteFrame .fsite-cal-status.is-waitlist-action{color:#126187;background:#dff2fc;border-color:#2580aa}
body.recruitment-page .recruitment-status-chip.is-waitlist-action,.funup-site .compact-page .status-chip.is-waitlist-action,.funup-site #siteFrame .funup-buc-guide p.status-chip.is-waitlist-action,.funup-site #siteFrame .fsite-event-record .status-chip.is-waitlist-action{color:#126187;background:#dff2fc;border-color:#2580aa}
.funup-site #siteFrame .fsite-cal-status.is-closed{color:#526b76;background:#ffffff;border-color:#526b76}
body.recruitment-page .recruitment-status-chip.is-closed,.funup-site .compact-page .status-chip.is-closed,.funup-site #siteFrame .funup-buc-guide p.status-chip.is-closed,.funup-site #siteFrame .fsite-event-record .status-chip.is-closed{color:#526b76;background:#ffffff;border-color:#526b76}
.funup-site #siteFrame .fsite-cal-status.is-unknown{color:#455762;background:#edf1f4;border-color:#b7cddb}
body.recruitment-page .recruitment-status-chip.is-unknown,.funup-site .compact-page .status-chip.is-unknown,.funup-site #siteFrame .funup-buc-guide p.status-chip.is-unknown,.funup-site #siteFrame .fsite-event-record .status-chip.is-unknown{color:#455762;background:#edf1f4;border-color:#b7cddb}
.funup-site #siteFrame #event-panel-overview .series-chip.is-buc{color:#173e50;background:#ffffff;border-color:#8551c9}.funup-site #siteFrame #event-panel-overview .series-chip.is-buc .badge-series{color:#ffffff;background:#8551c9}
.funup-site #siteFrame #event-panel-overview .series-chip.is-snow{color:#173e50;background:#ffffff;border-color:#0075d4}.funup-site #siteFrame #event-panel-overview .series-chip.is-snow .badge-series{color:#ffffff;background:#0075d4}
.funup-site #siteFrame #event-panel-overview .series-chip.is-family{color:#173e50;background:#ffffff;border-color:#d13c7a}.funup-site #siteFrame #event-panel-overview .series-chip.is-family .badge-series{color:#ffffff;background:#d13c7a}
.funup-site #siteFrame #event-panel-overview .series-chip.is-yurujikan{color:#173e50;background:#ffffff;border-color:#008579}.funup-site #siteFrame #event-panel-overview .series-chip.is-yurujikan .badge-series{color:#ffffff;background:#008579}
.funup-site #siteFrame #event-panel-overview .series-chip.is-hyakumeizan{color:#173e50;background:#ffffff;border-color:#008579}.funup-site #siteFrame #event-panel-overview .series-chip.is-hyakumeizan .badge-series{color:#ffffff;background:#008579}
.funup-site #siteFrame #event-panel-overview .series-chip.is-zensou{color:#173e50;background:#ffffff;border-color:#008579}.funup-site #siteFrame #event-panel-overview .series-chip.is-zensou .badge-series{color:#ffffff;background:#008579}
.funup-site #siteFrame #event-panel-overview .series-chip.is-english{color:#173e50;background:#ffffff;border-color:#008579}.funup-site #siteFrame #event-panel-overview .series-chip.is-english .badge-series{color:#ffffff;background:#008579}
.funup-site #siteFrame #event-panel-overview .series-chip.is-lecture{color:#173e50;background:#ffffff;border-color:#526e8d}.funup-site #siteFrame #event-panel-overview .series-chip.is-lecture .badge-series{color:#ffffff;background:#526e8d}
.funup-site #siteFrame #event-panel-overview .series-chip.is-sawara{color:#173e50;background:#ffffff;border-color:#a56500}.funup-site #siteFrame #event-panel-overview .series-chip.is-sawara .badge-series{color:#ffffff;background:#a56500}
.funup-site #siteFrame #event-panel-overview .series-chip.is-workshops{color:#173e50;background:#ffffff;border-color:#526e8d}.funup-site #siteFrame #event-panel-overview .series-chip.is-workshops .badge-series{color:#ffffff;background:#526e8d}
.funup-site #siteFrame #event-panel-overview .status-chip.is-open{color:#583100;background:#ffc24b;border-color:#ffc24b}
.funup-site #siteFrame #event-panel-overview .status-chip.is-waitlist{color:#126187;background:#dff2fc;border-color:#2580aa}
.funup-site #siteFrame #event-panel-overview .status-chip.is-waitlist-action{color:#126187;background:#dff2fc;border-color:#2580aa}
.funup-site #siteFrame #event-panel-overview .status-chip.is-closed{color:#526b76;background:#ffffff;border-color:#526b76}
body.recruitment-page .recruitment-grade-badge,.funup-site #siteFrame .fsite-cal-level{color:#173e50;background:#ffffff;border-color:#c8dde6;border-radius:3px}.funup-site #siteFrame .compact-event>.series-chip{border-radius:3px}.funup-site #siteFrame [data-event-panel] .compact-event>.status-chip,.funup-site #siteFrame .fsite-event-record .status-chip.fsite-event-card-status,.funup-site #siteFrame .fsite-cal-event .fsite-cal-status,body.recruitment-page .recruitment-detail .recruitment-status-chip{border-radius:999px}
.funup-site #siteFrame [data-mode=calendar]{--calendar-paper:#faf9f6;--calendar-today:#e1f3fc;--calendar-line:#dfdbd2;--calendar-weekday:#f4f2ec;--calendar-card:#ffffff;--calendar-card-border:#bcb8ae}.funup-site #siteFrame .fsite-cal-grid{background:var(--calendar-paper)}.funup-site #siteFrame .fsite-cal-day,.funup-site #siteFrame .fsite-cal-padding{background:var(--calendar-paper);border-color:var(--calendar-line)}.funup-site #siteFrame .fsite-cal-day.is-today{background:var(--calendar-today)}.funup-site #siteFrame a.fsite-cal-event{background:var(--calendar-card);border-color:var(--calendar-card-border)}.funup-site #siteFrame .fsite-cal-weekdays span:not(:first-child):not(:last-child){background:var(--calendar-weekday)}.funup-site #siteFrame .fsite-cal-filter-panel>summary{background:#ffffff}
.funup-site,body.recruitment-page{--channel-line-background:#06c755;--channel-line-foreground:#ffffff;--channel-line-border:#008a3b;--channel-line-hover:#05b34d;--channel-line-active:#048b3c}
.funup-site,body.recruitment-page{--cta-booking-background:#f7a64b;--cta-booking-foreground:#35230e;--cta-booking-border:#a45e09;--cta-booking-hover-background:#de9544;--cta-booking-hover-foreground:#35230e;--cta-standard-background:#006b8f;--cta-standard-foreground:#ffffff;--cta-standard-border:#006b8f;--cta-standard-hover-background:#006080;--cta-standard-hover-foreground:#ffffff;--cta-secondary-background:#ffffff;--cta-secondary-foreground:#006b8f;--cta-secondary-border:#006b8f;--cta-secondary-hover-background:#f0faff;--cta-secondary-hover-foreground:#006b8f}
body.recruitment-page .recruitment-cta.is-closed{color:#006b8f;background:#ffffff;border-color:#006b8f;box-shadow:0 4px 10px #006b8f14}
.funup-site #siteFrame .series-chip .buc-event-level,.funup-site #siteFrame .buc-calendar-classification .buc-event-level,.funup-site #siteFrame .fsite-event-badge .buc-event-level{color:#63359d;background:#f0e9fb;border-color:#f0e9fb;border:0;border-radius:2px;padding:2px 5px;font-weight:700}
.funup-site #siteFrame .badge-detail .fsite-snow-format.is-lesson{color:#005da8;background:#e4f2ff;border-color:#e4f2ff;display:inline-block;border:0;border-radius:2px;padding:1px 4px;font-size:inherit;font-weight:700;line-height:1.4;white-space:nowrap}
.funup-site #siteFrame .badge-detail .fsite-snow-format.is-tour{color:#005da8;background:#e4f2ff;border-color:#e4f2ff;display:inline-block;border:0;border-radius:2px;padding:1px 4px;font-size:inherit;font-weight:700;line-height:1.4;white-space:nowrap}
.funup-site #siteFrame .badge-detail .fsite-snow-step{white-space:nowrap}
.funup-site #siteFrame .fsite-level-meter{display:inline-flex;align-items:flex-end;gap:2px;width:13px;height:11px;margin-right:4px;vertical-align:baseline}.funup-site #siteFrame .fsite-level-meter>.fsite-level-bar{display:block;width:3px;background:currentColor;opacity:.18}.funup-site #siteFrame .fsite-level-meter>.fsite-level-bar:nth-child(1){height:4px}.funup-site #siteFrame .fsite-level-meter>.fsite-level-bar:nth-child(2){height:7px}.funup-site #siteFrame .fsite-level-meter>.fsite-level-bar:nth-child(3){height:10px}.funup-site #siteFrame .fsite-level-meter>.fsite-level-bar.is-filled{opacity:1}
.funup-site #siteFrame [data-event-series=family] .fsite-level-meter{color:#9c2f61;background:#fce8f0;border-color:#fce8f0;box-sizing:content-box;padding:2px 4px;border-radius:3px;vertical-align:-2px}
.funup-site #siteFrame [data-event-series=sawara] .fsite-level-meter{color:#805000;background:#fff0cf;border-color:#fff0cf;box-sizing:content-box;padding:2px 4px;border-radius:3px;vertical-align:-2px}
.funup-site #siteFrame [data-event-series=snow] .fsite-level-meter{color:#005da8;background:#e4f2ff;border-color:#e4f2ff;box-sizing:content-box;padding:2px 4px;border-radius:3px;vertical-align:-2px}
.funup-site #siteFrame .fsite-event-new[data-new-until]{display:inline-block;margin:0 6px 0 0;padding:3px 6px;border:0;border-radius:999px;color:#ffffff;background:#00aaff;border-color:#00aaff;box-shadow:none;font-size:15px;font-weight:700;line-height:1.1;white-space:nowrap;vertical-align:baseline}.funup-site #siteFrame .fsite-event-new[data-new-until][hidden]{display:none!important}
.funup-site #siteFrame .fsite-event-record .fsite-event-new[data-new-until]{display:block;width:fit-content;margin:0 0 6px;padding:5px 10px}.funup-site #siteFrame .fsite-cal-place .fsite-event-new[data-new-until]{padding:2px 5px;font-size:12px}
.funup-site #siteFrame .compact-event:has(.fsite-event-new:not([hidden])),.funup-site #siteFrame :is(.fsite-event-record,.fsite-cal-place):has(.fsite-event-new:not([hidden])){background:#fff4c2}.funup-site #siteFrame .fsite-event-record:has(.fsite-event-new:not([hidden])){border:3px solid #00aaff}
/* END GENERATED COLOR SYSTEM */
