/* FUNUP shared components. Load after brand.css on every full site page.
   Meaning colors remain in color-system.json; geometry and interaction live here. */
.funup-site,body.recruitment-page,body.review-index{
 --ui-radius-control:6px;--ui-radius-card:8px;--ui-radius-cta:12px;
 --ui-control-height:46px;--ui-touch-min:44px;--ui-control-line:#7898a6;
 --ui-field-bg:#fcfeff;--ui-border:#c8dde6;--ui-focus:#006b8f;
 --ui-gap:16px;--ui-padding:20px;--ui-label-size:14px;
}
/* Standard action and compact selection variants. Booking keeps its larger variant. */
.funup-site #siteFrame :is(.button.primary,.button.secondary,.button.outline){border-radius:var(--ui-radius-control);min-height:var(--ui-control-height);font-weight:700;text-decoration:none;box-sizing:border-box}
.funup-site #siteFrame .series-filter-buttons button{border-radius:var(--ui-radius-control);min-height:var(--ui-touch-min);font-weight:700;line-height:1.4}
.funup-site #siteFrame .series-filter-buttons button:focus-visible{outline:2px solid var(--ui-focus);outline-offset:3px}
.funup-site #siteFrame :is(.button,button):disabled{cursor:not-allowed;box-shadow:none}
body.recruitment-page :is(.recruitment-cta,.recruitment-read-cta){border-radius:var(--ui-radius-cta)}
/* Shared form family: event filters, blog search and Contact Form 7 preview. */
.funup-site #siteFrame :is(.fsite-event-filters,.fsite-contact-preview) label{font-size:var(--ui-label-size);font-weight:700;color:var(--ink)}
.funup-site #siteFrame :is(.fsite-event-filters,.fsite-contact-preview) :is(select,textarea,input[type=text],input[type=email],input[type=tel],input[type=url],input[type=number],input[type=date],input[type=search],input:not([type])),
.funup-site #siteFrame .fsite-cal-toolbar select{
 display:block;width:100%;min-width:0;min-height:var(--ui-control-height);box-sizing:border-box;
 padding:11px 14px;border:1.5px solid var(--ui-control-line);border-radius:var(--ui-radius-control);
 background-color:var(--ui-field-bg);color:var(--ink);font:16px/1.4 system-ui;
 transition:border-color .15s,box-shadow .15s;
}
.funup-site #siteFrame :is(.fsite-event-filters,.fsite-contact-preview) select,.funup-site #siteFrame .fsite-cal-toolbar select{
 appearance:none;-webkit-appearance:none;padding-right:38px;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23006b8f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;
}
.funup-site #siteFrame .fsite-event-filters input[type=search]{padding-left:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'%3E%3Ccircle cx='7.5' cy='7.5' r='4.5' fill='none' stroke='%23526b76' stroke-width='1.7'/%3E%3Cpath d='m11 11 4 4' stroke='%23526b76' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:13px center;background-size:18px}
.funup-site #siteFrame :is(.fsite-event-filters,.fsite-contact-preview) textarea{min-height:160px;resize:vertical}
.funup-site #siteFrame :is(.fsite-event-filters,.fsite-contact-preview) :is(input,textarea)::placeholder{color:#627984;opacity:1}
.funup-site #siteFrame :is(.fsite-event-filters,.fsite-contact-preview) :is(input,select,textarea):hover{border-color:var(--ui-focus)}
.funup-site #siteFrame :is(.fsite-event-filters,.fsite-contact-preview) :is(input,select,textarea):focus-visible,.funup-site #siteFrame .fsite-cal-toolbar select:focus-visible{outline:2px solid var(--ui-focus);outline-offset:2px;border-color:var(--ui-focus);box-shadow:0 0 0 4px #01b0f11a}
.funup-site #siteFrame .fsite-contact-preview:disabled :is(input,select,textarea){background-color:#f1f2f3;color:var(--muted);cursor:not-allowed}
.funup-site #siteFrame .fsite-cal-toolbar select{width:auto;min-height:44px;font-weight:700;padding-top:9px;padding-bottom:9px}
/* Accordions: one disclosure sign and hierarchy, with the required-notice semantic variant. */
.funup-site #siteFrame :is(.fsite-buc-faq,.fsite-buc-reading)>summary{
 position:relative;list-style:none;cursor:pointer;min-height:var(--ui-touch-min);padding:18px 48px 18px 16px;
 color:var(--ink);font-size:17px;font-weight:700;line-height:1.6;
}
.funup-site #siteFrame :is(.fsite-buc-faq,.fsite-buc-reading)>summary::-webkit-details-marker{display:none}
.funup-site #siteFrame :is(.fsite-buc-faq,.fsite-buc-reading)>summary::after{content:'＋';position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:22px;line-height:1;color:var(--brand-ink);font-weight:500}
.funup-site #siteFrame :is(.fsite-buc-faq,.fsite-buc-reading)[open]>summary::after{content:'−'}
.funup-site #siteFrame :is(.fsite-buc-faq,.fsite-buc-reading){border-color:var(--ui-border)}
.funup-site #siteFrame .fsite-buc-reading{border-radius:var(--ui-radius-card)}
.funup-site #siteFrame :is(.fsite-buc-faq-answer,.fsite-support-answer){padding:0 16px 18px}
body.recruitment-page :is(.fsite-important-notice,.recruitment-related-dates){border-radius:var(--ui-radius-card)}
body.recruitment-page :is(.fsite-important-notice,.recruitment-related-dates)>summary{min-height:var(--ui-touch-min);cursor:pointer}
/* Cards and tables share structure; semantic badge colors and calendar paper stay separate. */
.funup-site #siteFrame :is(.fsite-event-record,.fsite-blog-card,.funup-buc-role-card,.funup-snow-card,.funup-snow-lesson-card,.fsite-buc-guide-card,.fsite-series-guide){border-radius:var(--ui-radius-card);border-color:var(--ui-border)}
.funup-site #siteFrame :is(.fsite-buc-table-scroll,.fsite-support-table-scroll) :is(th,td),body.recruitment-page .recruitment-content :is(th,td){border-color:var(--ui-border);color:var(--ink);vertical-align:top}
.funup-site #siteFrame :is(.fsite-buc-table-scroll,.fsite-support-table-scroll) th,body.recruitment-page .recruitment-content th{background:var(--soft);font-weight:700}
.funup-site #siteFrame :is(.fsite-cal-series,.fsite-cal-level,.fsite-cal-status,.series-chip,.status-chip),body.recruitment-page :is(.recruitment-series-badge,.recruitment-grade-badge,.recruitment-status-chip){border-radius:3px;font-weight:700;line-height:1.4}
@media(max-width:700px){.funup-site #siteFrame :is(.fsite-buc-faq,.fsite-buc-reading)>summary{font-size:16px;padding:16px 44px 16px 12px}}
@media(prefers-reduced-motion:reduce){.funup-site #siteFrame :is(input,select,textarea){transition:none}}
/* Recruitment disclosures use the same panel vocabulary, including imported classless Q&A. */
body.recruitment-page :is(.recruitment-content,.recruitment-hero-media) details:not(.fsite-important-notice){padding:0;background:white;border:1px solid var(--ui-border);border-radius:var(--ui-radius-card);margin:20px 0}
body.recruitment-page :is(.recruitment-content,.recruitment-hero-media) details:not(.fsite-important-notice)>summary{
 display:block;position:relative;list-style:none;cursor:pointer;min-height:var(--ui-touch-min);
 padding:16px 48px 16px 18px;background:var(--soft);color:var(--ink);border-radius:7px;
 font-size:17px;line-height:1.6;font-weight:700;
}
body.recruitment-page :is(.recruitment-content,.recruitment-hero-media) details:not(.fsite-important-notice)>summary::-webkit-details-marker{display:none}
body.recruitment-page :is(.recruitment-content,.recruitment-hero-media) details:not(.fsite-important-notice)>summary::before{content:none}
body.recruitment-page :is(.recruitment-content,.recruitment-hero-media) details:not(.fsite-important-notice)>summary::after{content:'＋';position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:22px;font-weight:500;color:var(--brand-ink);line-height:1}
body.recruitment-page :is(.recruitment-content,.recruitment-hero-media) details:not(.fsite-important-notice)[open]>summary{border-bottom:1px solid var(--ui-border);border-radius:7px 7px 0 0}
body.recruitment-page :is(.recruitment-content,.recruitment-hero-media) details:not(.fsite-important-notice)[open]>summary::after{content:'−'}
body.recruitment-page :is(.recruitment-content,.recruitment-hero-media) details:not(.fsite-important-notice)>div{padding:18px;background:white;border-radius:0 0 7px 7px}
body.recruitment-page :is(.recruitment-content,.recruitment-hero-media) details summary small{display:block;font-size:13px;font-weight:500;line-height:1.6;color:var(--muted);margin-top:4px}
body.recruitment-page :is(.recruitment-guide-card,.fsite-reference-card){border-radius:var(--ui-radius-card);border-color:var(--ui-border)}
/* One readable typography hierarchy inside all disclosure bodies. */
.funup-site #siteFrame :is(.fsite-buc-faq,.fsite-buc-reading),body.recruitment-page :is(.recruitment-content,.recruitment-hero-media) details{font-size:16px;line-height:1.85;color:var(--ink)}
.funup-site #siteFrame :is(.fsite-buc-faq,.fsite-buc-reading) :is(p,ul,ol),body.recruitment-page :is(.recruitment-content,.recruitment-hero-media) details :is(p,ul,ol){font-size:16px;line-height:1.85;color:var(--ink);margin-top:12px;margin-bottom:12px;letter-spacing:normal}
.funup-site #siteFrame :is(.fsite-buc-faq,.fsite-buc-reading) li,body.recruitment-page :is(.recruitment-content,.recruitment-hero-media) details li{font-size:16px;line-height:1.85;margin:5px 0}
.funup-site #siteFrame :is(.fsite-buc-faq,.fsite-buc-reading) :is(ul,ol),body.recruitment-page :is(.recruitment-content,.recruitment-hero-media) details :is(ul,ol){padding-left:1.5em}
.funup-site #siteFrame :is(.fsite-buc-faq,.fsite-buc-reading) :is(h2,h3),body.recruitment-page :is(.recruitment-content,.recruitment-hero-media) details :is(h2,h3){font-size:18px;line-height:1.6;font-weight:700;color:var(--ink);margin:26px 0 12px;padding:0 0 0 10px;border:0;border-left:3px solid var(--brand);letter-spacing:normal}
.funup-site #siteFrame :is(.fsite-buc-faq,.fsite-buc-reading) :is(h4,h5,h6),body.recruitment-page :is(.recruitment-content,.recruitment-hero-media) details :is(h4,h5,h6){font-size:16px;line-height:1.6;font-weight:700;color:var(--ink);margin:22px 0 10px;padding:0;border:0;letter-spacing:normal}
.funup-site #siteFrame :is(.fsite-buc-faq,.fsite-buc-reading) :is(strong,b),body.recruitment-page :is(.recruitment-content,.recruitment-hero-media) details :is(strong,b){font-weight:700}
.funup-site #siteFrame :is(.fsite-buc-faq,.fsite-buc-reading)>div>:first-child,body.recruitment-page :is(.recruitment-content,.recruitment-hero-media) details>div>:first-child{margin-top:0}
.funup-site #siteFrame :is(.fsite-buc-faq,.fsite-buc-reading)>div>:last-child,body.recruitment-page :is(.recruitment-content,.recruitment-hero-media) details>div>:last-child{margin-bottom:0}
.funup-site #siteFrame :is(.fsite-buc-faq,.fsite-buc-reading) a:not([class]),body.recruitment-page :is(.recruitment-content,.recruitment-hero-media) details a:not([class]){color:var(--brand-ink);text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){body.recruitment-page :is(.recruitment-content,.recruitment-hero-media) details:not(.fsite-important-notice)>summary{font-size:16px;padding:14px 44px 14px 14px}body.recruitment-page :is(.recruitment-content,.recruitment-hero-media) details:not(.fsite-important-notice)>div{padding:16px 14px}}
/* Disclosure title and supporting line are distinct, even in imported legacy markup. */
body.recruitment-page :is(.recruitment-content,.recruitment-hero-media) details:not(.fsite-important-notice)>summary>span>span{display:block}
body.recruitment-page :is(.recruitment-content,.recruitment-hero-media) details:not(.fsite-important-notice)>summary>span>span+span{font-size:13px;font-weight:500;line-height:1.6;color:var(--muted);margin-top:4px}
body.recruitment-page :is(.recruitment-content,.recruitment-hero-media) details:not(.fsite-important-notice)>summary>span:empty{display:none}
.funup-site #siteFrame :is(.fsite-buc-faq,.fsite-buc-reading){padding:0;background:white;border:1px solid var(--ui-border);border-radius:var(--ui-radius-card);margin:16px 0}
.funup-site #siteFrame :is(.fsite-buc-faq,.fsite-buc-reading)>summary{background:var(--soft);border-radius:7px}
.funup-site #siteFrame :is(.fsite-buc-faq,.fsite-buc-reading)[open]>summary{border-bottom:1px solid var(--ui-border);border-radius:7px 7px 0 0}
.funup-site #siteFrame :is(.fsite-buc-faq,.fsite-buc-reading)>div{padding:18px;background:white;border-radius:0 0 7px 7px}
.funup-site #siteFrame :is(.fsite-buc-faq,.fsite-buc-reading)>:is(p,ul,ol,h2,h3,h4,figure){margin-left:18px;margin-right:18px}
@media(max-width:700px){.funup-site #siteFrame :is(.fsite-buc-faq,.fsite-buc-reading)>div{padding:16px 14px}}

/* Recruitment overview: start-aligned photo, nearby alternative dates and compact jump controls. */
body.recruitment-page .recruitment-hero{align-items:start}
.recruitment-hero-copy,.recruitment-hero-media{min-width:0}
body.recruitment-page .recruitment-hero-media>img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
body.recruitment-page .recruitment-hero-media .recruitment-related-dates{margin:16px 0 0}
body.recruitment-page .recruitment-hero-media .recruitment-related-dates>summary{font-size:15px;padding:14px 44px 14px 14px}
body.recruitment-page .recruitment-hero-actions .recruitment-jumps{display:flex;flex-wrap:wrap;gap:8px;width:100%;padding:4px 0 0;margin:0;border:0}
body.recruitment-page .recruitment-hero-actions .recruitment-jumps a{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;width:auto;max-width:100%;padding:8px 12px;border:1px solid var(--brand-ink);border-radius:var(--ui-radius-control);background:white;box-shadow:none;color:var(--brand-ink);font-size:14px;line-height:1.4;text-decoration:none}
body.recruitment-page .recruitment-hero-actions .recruitment-read-copy strong{font-size:14px;text-decoration:none;line-height:1.5}
body.recruitment-page .recruitment-hero-actions .recruitment-jumps .recruitment-read-arrow{flex-basis:auto;width:auto;height:auto;font-size:18px}
body.recruitment-page .recruitment-hero-actions .recruitment-jumps .recruitment-conditions-link{color:#84362d;border-color:#b94e40}
body.recruitment-page .recruitment-hero-actions .recruitment-jumps a:hover{background:var(--soft)}
body.recruitment-page .recruitment-hero-actions .recruitment-jumps a:focus-visible{outline:2px solid var(--ui-focus);outline-offset:3px}
@media(max-width:700px){
 body.recruitment-page .recruitment-hero{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"photo" "intro" "alternatives";gap:20px}
 .recruitment-hero-copy{grid-area:intro}.recruitment-hero-media{display:contents}
 body.recruitment-page .recruitment-hero-media>img{grid-area:photo;height:190px;aspect-ratio:auto}
 body.recruitment-page .recruitment-hero-media .recruitment-related-dates{grid-area:alternatives;margin:0}
 body.recruitment-page .recruitment-hero-actions .recruitment-jumps a{font-size:13px;padding:8px 10px}
 body.recruitment-page .recruitment-hero-actions .recruitment-read-copy strong{font-size:13px}
}
/* Categorized FAQ: compact introduction, stable category links and shared disclosure panels. */
.funup-site #siteFrame .fsite-faq-page .funup-buc-hero{grid-template-columns:minmax(0,1fr) minmax(180px,280px);padding-top:28px;padding-bottom:28px;gap:32px}
.funup-site #siteFrame .fsite-faq-page .funup-buc-title{font-size:clamp(28px,3cqw,38px);margin-bottom:14px}
.funup-site #siteFrame .fsite-faq-page .funup-buc-lead{margin-bottom:0;font-size:16px}
.funup-site #siteFrame .fsite-faq-page .fsite-buc-hero-photo img{object-fit:cover;border-radius:var(--ui-radius-card)}
.funup-site #siteFrame .fsite-faq-index{margin:0 7.5cqw 24px;padding:20px;background:var(--soft);border:1px solid var(--ui-border);border-radius:var(--ui-radius-card)}
.funup-site #siteFrame .fsite-faq-index h2{font-size:17px;margin:0 0 14px;line-height:1.6}
.fsite-faq-index>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.funup-site #siteFrame .fsite-faq-index a{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:46px;padding:10px 12px;border:1px solid var(--ui-control-line);border-radius:var(--ui-radius-control);color:var(--brand-ink);background:white;font-size:14px;font-weight:700;line-height:1.5;text-decoration:none}
.funup-site #siteFrame .fsite-faq-index a>span{color:var(--muted);font-size:12px;font-weight:500;white-space:nowrap}
.funup-site #siteFrame .fsite-faq-index a:hover{border-color:var(--brand-ink);box-shadow:inset 0 0 0 1px var(--brand-ink)}
.funup-site #siteFrame .fsite-faq-category{padding:16px 0;margin:12px 0 24px}
.funup-site #siteFrame .fsite-faq-category>h2{font-size:22px;line-height:1.5;border-left:4px solid var(--brand);padding-left:12px;margin:0 0 16px}
.funup-site #siteFrame .fsite-faq-contact{padding-top:24px;padding-bottom:48px}
.funup-site #siteFrame .fsite-faq-contact h2{font-size:22px;margin-bottom:14px}
@media(max-width:700px){.funup-site #siteFrame .fsite-faq-page .funup-buc-hero{grid-template-columns:minmax(0,1fr);gap:18px;padding-top:24px}.funup-site #siteFrame .fsite-faq-index{padding:14px}.fsite-faq-index>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.funup-site #siteFrame .fsite-faq-index a{font-size:13px;padding:9px 10px}.funup-site #siteFrame .fsite-faq-category>h2{font-size:20px}}
.funup-site #siteFrame .fsite-faq-page>.fsite-support-faqs{margin-left:7.5cqw;margin-right:7.5cqw}

/* Recruitment summary: readable desktop text, selective emphasis on narrow screens. */
@media(min-width:701px){
 body.recruitment-page .recruitment-compact-facts{gap:8px 16px}
 body.recruitment-page .recruitment-compact-facts dt{font-size:14px}
 body.recruitment-page .recruitment-compact-facts dd{font-size:16px;line-height:1.65}
 body.recruitment-page .recruitment-compact-facts :is(.is-location,.is-fee) dd>:is(strong,b){font-size:18px;line-height:1.55}
 body.recruitment-page .recruitment-fact-note{font-size:13px}
 body.recruitment-page .recruitment-status-panel .recruitment-discount{font-size:13px}
 body.recruitment-page .recruitment-status-panel .recruitment-discount-rate{font-size:14px}
 body.recruitment-page .recruitment-status-panel :is(.recruitment-deadline,.recruitment-status-chip){font-size:14px}
 body.recruitment-page .recruitment-status-panel>small{font-size:12px}
}
@media(max-width:700px){
 body.recruitment-page .recruitment-compact-facts :is(.is-location,.is-fee) dd>:is(strong,b){font-size:16px;line-height:1.6}
}
/* Service introductions share one white/blue editorial rhythm and visible people cards. */
.funup-site #siteFrame .fsite-program-page{color:var(--ink);background:white}
.funup-site #siteFrame .fsite-program-page .funup-buc-hero{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:40px;padding-top:32px;padding-bottom:32px;align-items:center}
.funup-site #siteFrame .fsite-program-page .fsite-buc-hero-photo img{width:100%;height:auto;object-fit:cover;border-radius:var(--ui-radius-card)}
.funup-site #siteFrame .fsite-program-page[data-program=media] .fsite-buc-hero-photo img{object-position:50% 25%}
.funup-site #siteFrame .fsite-program-page .funup-buc-title{font-size:clamp(30px,3.3cqw,44px);line-height:1.5;margin:0 0 20px}
.funup-site #siteFrame .fsite-program-page .funup-buc-lead{font-size:17px;line-height:1.9;margin:0 0 20px;color:var(--muted)}
.funup-site #siteFrame .fsite-program-page>.fsite-buc-section{padding-top:40px;padding-bottom:40px}
.funup-site #siteFrame .fsite-program-page .fsite-buc-section h2:not(:where(details *)){font-size:28px;line-height:1.55;border-left:4px solid var(--brand);padding-left:14px;margin:0 0 24px;color:var(--ink)}
.funup-site #siteFrame .fsite-program-page .fsite-buc-section h3:not(:where(details *)){font-size:21px;line-height:1.65;margin:28px 0 12px;color:var(--ink)}
.funup-site #siteFrame .fsite-program-page .fsite-buc-section h4:not(:where(details *)){font-size:18px;line-height:1.65;margin:24px 0 12px;color:var(--ink)}
.funup-site #siteFrame .fsite-program-page .fsite-buc-section :is(p,li):not(:where(details *)){font-size:16px;line-height:1.9;color:var(--ink)}
.funup-site #siteFrame .fsite-program-page .fsite-buc-section>p{max-width:60em;margin-bottom:18px}
.funup-site #siteFrame .fsite-program-page .fsite-series-grades{margin-top:32px;padding:24px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-card);background:var(--soft)}
.funup-site #siteFrame .fsite-program-page .fsite-series-grades h3{border-top-color:var(--ui-border)}
.funup-site #siteFrame .fsite-program-index{display:flex;flex-wrap:wrap;gap:10px;margin:0 7.5cqw 12px;padding:16px 0;border-top:1px solid var(--ui-border);border-bottom:1px solid var(--ui-border)}
.funup-site #siteFrame .fsite-program-index a{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:9px 14px;border:1px solid var(--ui-control-line);border-radius:var(--ui-radius-control);color:var(--brand-ink);background:white;font-size:14px;font-weight:700;line-height:1.5;text-decoration:none}
.funup-site #siteFrame .fsite-program-index a:hover{background:var(--soft);border-color:var(--brand-ink)}
.funup-site #siteFrame .fsite-program-page .funup-buc-card{border-radius:var(--ui-radius-card);border-color:var(--ui-border);border-top:3px solid var(--brand);padding:24px;background:white;gap:12px}
.funup-site #siteFrame .fsite-program-page .funup-buc-card h3{margin:0}
.funup-site #siteFrame .fsite-program-page .funup-buc-card p{font-size:15px;margin:0 0 8px}
.funup-site #siteFrame .fsite-program-page .funup-buc-card .button{margin-top:auto;min-height:44px}
.funup-site #siteFrame .fsite-program-page>.fsite-program-action-section{margin:24px 7.5cqw 48px;padding:28px;background:var(--soft);border:1px solid var(--ui-border);border-top:4px solid var(--brand);border-radius:var(--ui-radius-card)}
.funup-site #siteFrame .fsite-program-page .fsite-program-contact-link{margin-top:20px}
.funup-site #siteFrame .fsite-program-page .fsite-support-table-scroll{margin-top:16px;margin-bottom:24px}
.funup-site #siteFrame .fsite-program-page .fsite-support-table-scroll :is(th,td){font-size:15px;line-height:1.8;padding:14px}
.funup-site #siteFrame .fsite-program-page .fsite-program-guide-section{background:white}
.fsite-program-guides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}
.fsite-program-guides.is-team{grid-template-columns:repeat(3,minmax(0,1fr))}
.fsite-program-guides.is-single{grid-template-columns:minmax(0,1fr);max-width:720px}
.funup-site #siteFrame a.fsite-guide-person{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:20px;min-width:0;height:100%;padding:22px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-card);background:white;color:var(--ink);text-decoration:none}
.funup-site #siteFrame a.fsite-guide-person:hover{border-color:var(--brand-ink);background:var(--soft)}
.funup-site #siteFrame .fsite-guide-person-photo{display:block;width:88px;height:88px;aspect-ratio:1;border-radius:50%;object-fit:cover}
.funup-site #siteFrame .fsite-guide-person-copy{min-width:0}
.funup-site #siteFrame .fsite-guide-person h3{font-size:19px;line-height:1.5;margin:0 0 8px;padding:0;border:0}
.funup-site #siteFrame .fsite-guide-person-credentials{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font-size:13px;color:var(--muted)}
.funup-site #siteFrame .fsite-guide-person-credentials p{font-size:13px;line-height:1.7;color:var(--muted);margin:0}
.funup-site #siteFrame .fsite-guide-person-more{display:block;font-size:12px;font-weight:700;color:var(--brand-ink);margin-top:10px}
.funup-site #siteFrame .is-single .fsite-guide-person{grid-template-columns:112px minmax(0,1fr)}
.funup-site #siteFrame .is-single .fsite-guide-person-photo{width:112px;height:112px}
.funup-site #siteFrame .is-single .fsite-guide-person-credentials{-webkit-line-clamp:5}
.funup-site #siteFrame .is-team .fsite-guide-person{grid-template-columns:80px minmax(0,1fr);gap:14px;padding:18px}
.funup-site #siteFrame .is-team .fsite-guide-person-photo{width:80px;height:80px}
.funup-site #siteFrame .is-team .fsite-guide-person h3{font-size:18px}
@media(max-width:1000px) and (min-width:701px){.fsite-program-guides.is-team{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
 .funup-site #siteFrame .fsite-program-page .funup-buc-hero{grid-template-columns:minmax(0,1fr);gap:22px;padding-top:24px;padding-bottom:26px}

 .funup-site #siteFrame .fsite-program-page .funup-buc-title{font-size:30px;line-height:1.5;margin-bottom:16px}
 .funup-site #siteFrame .fsite-program-page .funup-buc-lead{font-size:16px}
 .funup-site #siteFrame .fsite-program-page>.fsite-buc-section{padding-top:28px;padding-bottom:28px}
 .funup-site #siteFrame .fsite-program-page .fsite-buc-section h2:not(:where(details *)){font-size:23px;margin-bottom:20px;padding-left:11px}
 .funup-site #siteFrame .fsite-program-page .fsite-buc-section h3:not(:where(details *)){font-size:19px}
 .funup-site #siteFrame .fsite-program-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px 0}
 .funup-site #siteFrame .fsite-program-index a{padding:9px 10px;font-size:13px;gap:6px}
 .funup-site #siteFrame .fsite-program-page .fsite-series-grades{padding:18px 14px}
 .funup-site #siteFrame .fsite-program-page>.fsite-program-action-section{padding:22px 18px;margin-bottom:32px}
 .fsite-program-guides,.fsite-program-guides.is-team{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .funup-site #siteFrame a.fsite-guide-person,.funup-site #siteFrame .is-team a.fsite-guide-person{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center;gap:10px;padding:14px 9px}
 .funup-site #siteFrame .fsite-guide-person-photo,.funup-site #siteFrame .is-team .fsite-guide-person-photo{width:56px;height:56px}
 .funup-site #siteFrame .fsite-guide-person h3,.funup-site #siteFrame .is-team .fsite-guide-person h3{font-size:16px;margin:0}
 .funup-site #siteFrame .fsite-guide-person-credentials{display:none}
 .funup-site #siteFrame .fsite-guide-person-more{font-size:11px;margin-top:6px}
 .fsite-program-guides.is-single{grid-template-columns:minmax(0,1fr)}
 .funup-site #siteFrame .is-single a.fsite-guide-person{grid-template-columns:64px minmax(0,1fr);justify-items:start;text-align:left;padding:16px;gap:16px}
 .funup-site #siteFrame .is-single .fsite-guide-person-photo{width:64px;height:64px}
 .funup-site #siteFrame .is-single .fsite-guide-person-credentials{display:-webkit-box;-webkit-line-clamp:2;margin-top:6px}
 .funup-site #siteFrame .is-single .fsite-guide-person-credentials p{font-size:12px}
}
/* Person-card typography wins over the editorial body's heading/paragraph sizes. */
.funup-site #siteFrame .fsite-program-page .fsite-guide-person h3{font-size:19px;line-height:1.5;margin:0 0 8px}
.funup-site #siteFrame .fsite-program-page .fsite-guide-person-credentials p{font-size:13px;line-height:1.7;color:var(--muted);margin:0}
.funup-site #siteFrame .fsite-program-page .is-team .fsite-guide-person h3{font-size:18px}
@media(max-width:700px){.funup-site #siteFrame .fsite-program-page .fsite-guide-person h3,.funup-site #siteFrame .fsite-program-page .is-team .fsite-guide-person h3{font-size:16px;margin:0}.funup-site #siteFrame .fsite-program-page .is-single .fsite-guide-person-credentials p{font-size:12px}}
@media(max-width:700px){
 .funup-site #siteFrame .fsite-program-page .is-team a.fsite-guide-person{grid-template-columns:40px minmax(0,1fr);justify-items:start;text-align:left;gap:8px;padding:12px 10px}
 .funup-site #siteFrame .fsite-program-page .is-team .fsite-guide-person-photo{width:40px;height:40px}
 .funup-site #siteFrame .fsite-program-page .is-team .fsite-guide-person-more{font-size:0;line-height:1;margin-top:4px}
 .funup-site #siteFrame .fsite-program-page .is-team .fsite-guide-person-more::after{content:'紹介 →';font-size:11px;line-height:1.4}
}
/* Do not cut certification names mid-sentence; compact multi-person mobile cards link to profiles. */
.funup-site #siteFrame .fsite-program-page .fsite-guide-person-credentials{display:block;overflow:visible}
@media(max-width:700px){.funup-site #siteFrame .fsite-program-page .fsite-guide-person-credentials{display:none}.funup-site #siteFrame .fsite-program-page .is-single .fsite-guide-person-credentials{display:block}}
/* Two alternative contact channels, not a sequence of required steps. */
.funup-site #siteFrame .fsite-contact-intro{padding:28px 7.5cqw 24px}
.funup-site #siteFrame .fsite-contact-intro h1{font-size:clamp(28px,3cqw,38px);line-height:1.5;margin:0 0 16px}
.funup-site #siteFrame .fsite-contact-intro p{font-size:17px;line-height:1.85;max-width:52em;margin:0;color:var(--ink)}
.fsite-contact-channels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:0 7.5cqw}
.funup-site #siteFrame .fsite-contact-channel{display:flex;flex-direction:column;min-width:0;padding:26px;border:1px solid var(--ui-border);border-top:4px solid var(--brand);border-radius:var(--ui-radius-card);background:white}
.funup-site #siteFrame .fsite-contact-channel h2{font-size:23px;line-height:1.5;margin:0 0 16px;color:var(--ink)}
.funup-site #siteFrame .fsite-contact-channel p{font-size:16px;line-height:1.85;color:var(--muted);margin:0 0 24px}
.funup-site #siteFrame .fsite-contact-channel .button{display:flex;justify-content:space-between;gap:12px;width:100%;margin-top:auto;min-height:50px;padding:12px 18px;font-size:15px}
.funup-site #siteFrame #contact-line.fsite-contact-channel{border-top-color:var(--channel-line-background)}
.funup-site #siteFrame .fsite-contact-supplement{padding-top:24px;padding-bottom:48px}
/* One shared lower-page CTA, matching the snow introduction. */
@media(max-width:700px){
 .funup-site #siteFrame .fsite-contact-intro{padding-top:24px}
 .funup-site #siteFrame .fsite-contact-intro p{font-size:16px}
 .fsite-contact-channels{grid-template-columns:minmax(0,1fr);gap:16px}
 .funup-site #siteFrame .fsite-contact-channel{padding:20px}
 .funup-site #siteFrame .fsite-contact-channel h2{font-size:21px}
 .funup-site #siteFrame .fsite-contact-channel p{margin-bottom:18px}
 .funup-site #siteFrame .fsite-contact-channel .button{font-size:14px;padding:12px 14px}
}
/* Optional reading aid stays subordinate to the page's content and contact routes. */
/* AI is a discoverable service, with examples distinct from the action. */
.funup-site #siteFrame .fsite-help-assistant{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;margin:0 7.5cqw 28px;padding:40px;border:1px solid var(--ui-border);border-top:4px solid var(--brand);border-radius:var(--ui-radius-card);background:var(--soft);align-items:center}
.funup-site #siteFrame .fsite-help-assistant>div{min-width:0}
.funup-site #siteFrame .fsite-help-assistant .fsite-buc-section-heading{margin:0 0 8px}
.funup-site #siteFrame .fsite-help-assistant h2{font-size:32px;line-height:1.4;margin:0;padding:0;border:0;color:var(--ink)}
.funup-site #siteFrame .fsite-help-assistant p{font-size:16px;line-height:1.85;margin:0;color:var(--muted)}
.funup-site #siteFrame .fsite-help-assistant .eyebrow{font-size:12px;color:var(--brand-ink)}
.funup-site #siteFrame .fsite-help-ai-symbol{width:56px;height:56px;color:var(--brand-ink);margin-bottom:20px}
.funup-site #siteFrame .fsite-help-ai-symbol svg{width:100%;height:100%}
.funup-site #siteFrame .fsite-help-assistant .fsite-help-ai-role{font-weight:700;color:var(--ink);margin-bottom:12px}
.funup-site #siteFrame .fsite-help-assistant .fsite-help-ai-cta{margin-top:24px;gap:28px;min-height:52px;font-size:17px;text-decoration:none}
.funup-site #siteFrame .fsite-help-ai-examples h3{margin:0 0 16px;padding:0;border:0;font-size:17px;color:var(--ink)}
.funup-site #siteFrame .fsite-help-ai-examples ul{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:12px}
.funup-site #siteFrame .fsite-help-ai-examples li{background:white;border:1px solid var(--ui-border);border-radius:8px;padding:14px 18px;font-size:16px;font-weight:700;line-height:1.6;color:var(--ink)}
.funup-site #siteFrame .fsite-help-assistant .fsite-help-ai-note{font-size:14px;line-height:1.8}
@media(max-width:700px){.funup-site #siteFrame .fsite-help-assistant{grid-template-columns:1fr;gap:28px;padding:24px 20px}.funup-site #siteFrame .fsite-help-assistant h2{font-size:28px}.funup-site #siteFrame .fsite-help-ai-symbol{width:44px;height:44px;margin-bottom:16px}.funup-site #siteFrame .fsite-help-assistant .fsite-help-ai-cta{display:flex;width:100%;justify-content:space-between;font-size:16px;gap:8px;padding:12px 14px;white-space:nowrap}}

/* Home photographs share a landscape rhythm; feature frames hug their two panels. */
.funup-site #siteFrame .hero{--home-photo-ratio:3/2}
.funup-site #siteFrame .hero .hero-photo{width:100%;height:auto;min-height:0;aspect-ratio:var(--home-photo-ratio);align-self:center}
.funup-site #siteFrame .hero .hero-photo::after{content:none}
.funup-site #siteFrame .purpose-grid .purpose-image{aspect-ratio:3/2}
.funup-site #siteFrame .tour-feature.feature-card{padding:0}
.funup-site #siteFrame .social-actions{display:grid;grid-template-columns:minmax(0,1fr);width:max-content;max-width:100%;align-items:stretch}
.funup-site #siteFrame .social-actions>.button{width:100%;min-height:52px;padding:14px 22px;font-size:15px;justify-content:space-between}
@media(max-width:700px){.funup-site #siteFrame .social-actions{width:100%}}
/* Editorial section headings use the same English/Japanese pair as the winter guide. */
.funup-site #siteFrame .fsite-buc-section-heading>h2{margin:0;padding:0;border:0}
.funup-site #siteFrame .fsite-program-page .fsite-buc-section:not(:where(.fsite-next-day)) .fsite-buc-section-heading{max-width:850px;margin:0 0 32px}
.funup-site #siteFrame .fsite-program-page .fsite-buc-section:not(:where(.fsite-next-day)) .fsite-buc-section-heading>h2{font-size:38px;line-height:1.55;margin:0;padding:0;border:0;color:var(--ink)}
.funup-site #siteFrame .fsite-program-page .fsite-buc-section:not(:where(.fsite-next-day)) .fsite-buc-section-heading>.eyebrow{font-size:12px;font-weight:700;line-height:1.7;letter-spacing:.1em;margin:0 0 18px;color:var(--brand-ink)}
.funup-site #siteFrame .fsite-next-day .fsite-buc-section-heading{margin:0 0 20px}
.funup-site #siteFrame .fsite-next-day .fsite-buc-section-heading>.eyebrow{justify-content:flex-start;margin:0 0 18px;font-size:12px;line-height:1.7}
.funup-site #siteFrame .fsite-next-day .eyebrow::before{background:var(--brand-ink)}
@media(max-width:700px){
 .funup-site #siteFrame .fsite-program-page .fsite-buc-section:not(:where(.fsite-next-day)) .fsite-buc-section-heading{margin-bottom:26px}
 .funup-site #siteFrame .fsite-program-page .fsite-buc-section:not(:where(.fsite-next-day)) .fsite-buc-section-heading>h2{font-size:26px;line-height:1.55}
}
/* One outer editorial grid; readable copy and restrained images sit inside it. */
.funup-site #siteFrame .funup-buc-guide{--editorial-gutter:7.5cqw;--editorial-photo-max:420px;--editorial-grid-gap:26px}
@media(min-width:701px){
 .funup-site #siteFrame .funup-buc-guide>:is(.funup-buc-hero,.fsite-buc-section:not(:is(.fsite-program-action-section,.fsite-next-day)),.funup-buc-footer-help){padding-left:var(--editorial-gutter);padding-right:var(--editorial-gutter)}
 .funup-site #siteFrame .funup-buc-guide>.fsite-buc-section:not(:is(.fsite-program-action-section,.fsite-next-day)){width:100%;max-width:none;margin-left:0;margin-right:0}
 .funup-site #siteFrame .funup-buc-guide>.fsite-buc-section>.fsite-buc-section-heading{max-width:none}
}
.funup-site #siteFrame .fsite-snow-page :is(.funup-snow-step-card,.funup-snow-lesson-card){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,min(39%,var(--editorial-photo-max)));column-gap:var(--editorial-grid-gap);row-gap:0;width:100%;max-width:none;padding:32px;align-items:start}
.funup-site #siteFrame .fsite-snow-page .funup-snow-lesson-card>:is(h4,.funup-snow-theme,p){grid-column:1;min-width:0}
.funup-site #siteFrame .fsite-snow-page .funup-snow-lesson-card>.funup-buc-photo{grid-column:2;grid-row:1/span 3;width:100%;max-width:none;margin:0}
.funup-site #siteFrame .fsite-snow-page .funup-snow-lesson-card p{font-size:16px}
.funup-site #siteFrame .fsite-snow-page .funup-snow-step-card{row-gap:20px}
.funup-site #siteFrame .fsite-snow-page :is(.funup-snow-step-description,.funup-snow-theme){min-width:0;max-width:48em}
.funup-site #siteFrame .fsite-snow-page :is(.fsite-snow-reading-media,.funup-snow-walk-intro){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,min(39%,var(--editorial-photo-max)));gap:var(--editorial-grid-gap);align-items:start}
.funup-site #siteFrame .fsite-snow-page :is(.fsite-snow-reading-copy,.fsite-snow-scene-copy,.funup-snow-walk-copy){min-width:0}
.funup-site #siteFrame .fsite-snow-page .fsite-snow-reading-media>.funup-buc-photo{width:100%;max-width:none;margin:0}
.funup-site #siteFrame .fsite-snow-page .funup-snow-walk-intro>.funup-snow-walk-photo{grid-column:2;grid-row:1;width:100%;max-width:none;margin:0}
.funup-site #siteFrame .fsite-snow-page .funup-snow-walk-copy{grid-column:1;grid-row:1}
.funup-site #siteFrame .fsite-snow-scene-section .fsite-plugin-gallery{margin:0;min-width:0}
.funup-site #siteFrame .fsite-snow-scene-section .fsite-buc-section-heading{margin-bottom:24px}
@media(max-width:900px){
 .funup-site #siteFrame .fsite-snow-page :is(.funup-snow-step-card,.funup-snow-lesson-card,.fsite-snow-reading-media,.funup-snow-walk-intro){grid-template-columns:minmax(0,1fr);gap:22px}
 .funup-site #siteFrame .fsite-snow-page :is(.funup-snow-step-card,.funup-snow-lesson-card)>.funup-buc-photo,.funup-site #siteFrame .fsite-snow-page .funup-snow-walk-intro>.funup-snow-walk-photo{grid-column:auto;grid-row:auto;max-width:var(--editorial-photo-max);width:100%;justify-self:start}
 .funup-site #siteFrame .fsite-snow-page .funup-snow-walk-copy{grid-column:auto;grid-row:auto}
 .funup-site #siteFrame .fsite-snow-page :is(.funup-snow-step-description,.funup-snow-step-card>.funup-snow-actions){grid-column:auto;grid-row:auto}
 .funup-site #siteFrame .fsite-snow-page .fsite-snow-reading-media>.funup-buc-photo{max-width:var(--editorial-photo-max);width:100%}
}
@media(max-width:700px){.funup-site #siteFrame .fsite-snow-page :is(.funup-snow-step-card,.funup-snow-lesson-card){padding:23px}}
@media(min-width:701px){
 body.recruitment-page .recruitment-detail{width:100%;max-width:1800px;padding-left:min(7.5vw,135px);padding-right:min(7.5vw,135px)}
 body.recruitment-page .recruitment-content{width:100%;max-width:none;margin-left:0;margin-right:0}
 body.recruitment-page .recruitment-content>p,body.recruitment-page .recruitment-content details p{max-width:52em}
 body.recruitment-page .recruitment-content .fsite-plugin-gallery{max-width:640px;margin-left:auto;margin-right:auto}
}
@media(min-width:701px){
 .funup-site #siteFrame .compact-main{width:100%;max-width:none;padding-left:7.5cqw;padding-right:7.5cqw}
}
@media(min-width:701px) and (max-width:1200px){.funup-site #siteFrame .months-grid{columns:1}}
/* CTA hierarchy: booking orange, standard blue, secondary outline; branded LINE overrides both. */
.funup-site #siteFrame .button,body.recruitment-page :is(.button,.recruitment-cta,.recruitment-read-cta){transition:background-color .16s,color .16s,border-color .16s,box-shadow .16s;text-decoration:none}
.funup-site #siteFrame .button.primary:not([data-action=booking]):not(.fsite-line-button){background:var(--cta-standard-background);color:var(--cta-standard-foreground);border-color:var(--cta-standard-border)}
.funup-site #siteFrame :is(.button.secondary,.button.outline,.button.cream):not([data-action=booking]):not(.fsite-line-button),body.recruitment-page :is(.recruitment-read-cta,.recruitment-cta.is-closed){background:var(--cta-secondary-background);color:var(--cta-secondary-foreground);border-color:var(--cta-secondary-border)}
.funup-site #siteFrame .button[data-action=booking]:not(.fsite-line-button),body.recruitment-page .recruitment-cta:not(.is-closed){background:var(--cta-booking-background);color:var(--cta-booking-foreground);border-color:var(--cta-booking-border)}
.funup-site #siteFrame .button>span,body.recruitment-page .recruitment-cta-copy :is(strong,small){color:inherit}
.funup-site #siteFrame :is(.button.primary,.button.secondary,.button.outline,.button).fsite-line-button,body.recruitment-page .button.fsite-line-button{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-height:52px;max-width:100%;padding:12px 20px;background:var(--channel-line-background);color:var(--channel-line-foreground);border:1px solid var(--channel-line-border);border-radius:var(--ui-radius-control);font-size:16px;font-weight:700;line-height:1.5;text-decoration:none}
.funup-site #siteFrame .fsite-line-button :is(span,strong,small),body.recruitment-page .fsite-line-button :is(span,strong,small){color:inherit}
.funup-site #siteFrame .button:focus-visible,body.recruitment-page :is(.button,.recruitment-cta,.recruitment-read-cta):focus-visible{outline:3px solid var(--ink);outline-offset:3px}
/* Keyboard gets the same state change as a precise pointer, plus a visible focus ring. */
.funup-site #siteFrame .button.primary:not([data-action=booking]):not(.fsite-line-button):focus-visible{background:var(--cta-standard-hover-background);color:var(--cta-standard-hover-foreground)}
.funup-site #siteFrame :is(.button.secondary,.button.outline,.button.cream):not([data-action=booking]):not(.fsite-line-button):focus-visible,body.recruitment-page :is(.recruitment-read-cta,.recruitment-cta.is-closed):focus-visible{background:var(--cta-secondary-hover-background);color:var(--cta-secondary-hover-foreground)}
.funup-site #siteFrame .button[data-action=booking]:not(.fsite-line-button):focus-visible,body.recruitment-page .recruitment-cta:not(.is-closed):focus-visible{background:var(--cta-booking-hover-background);color:var(--cta-booking-hover-foreground)}
.funup-site #siteFrame :is(.button.primary,.button.secondary,.button.outline,.button).fsite-line-button:focus-visible,body.recruitment-page .button.fsite-line-button:focus-visible{background:var(--channel-line-hover);color:white}
body.recruitment-page .recruitment-read-cta:focus-visible .recruitment-read-copy :is(strong,small){color:inherit}
body.recruitment-page .recruitment-cta:focus-visible .recruitment-cta-arrow{color:inherit}
@media(hover:hover) and (pointer:fine){
 .funup-site #siteFrame .button.primary:not([data-action=booking]):not(.fsite-line-button):not(:disabled):not([aria-disabled=true]):hover{background:var(--cta-standard-hover-background);color:var(--cta-standard-hover-foreground);border-color:var(--cta-standard-border)}
 .funup-site #siteFrame :is(.button.secondary,.button.outline,.button.cream):not([data-action=booking]):not(.fsite-line-button):hover,body.recruitment-page :is(.recruitment-read-cta,.recruitment-cta.is-closed):not(:disabled):not([aria-disabled=true]):hover{background:var(--cta-secondary-hover-background);color:var(--cta-secondary-hover-foreground);border-color:var(--cta-secondary-border)}
 .funup-site #siteFrame .button[data-action=booking]:not(.fsite-line-button):hover,body.recruitment-page .recruitment-cta:not(.is-closed):not(:disabled):not([aria-disabled=true]):hover{background:var(--cta-booking-hover-background);color:var(--cta-booking-hover-foreground);border-color:var(--cta-booking-border);filter:none}
 .funup-site #siteFrame :is(.button.primary,.button.secondary,.button.outline,.button).fsite-line-button:hover,body.recruitment-page .button.fsite-line-button:not(:disabled):not([aria-disabled=true]):hover{background:var(--channel-line-hover);color:white;border-color:var(--channel-line-border)}
 .funup-site #siteFrame .button:not(:disabled):not([aria-disabled=true]):hover,body.recruitment-page :is(.button,.recruitment-cta,.recruitment-read-cta):not(:disabled):not([aria-disabled=true]):hover{box-shadow:0 4px 12px #173e5026;transform:none;text-decoration:none}
 body.recruitment-page .recruitment-read-cta:not(:disabled):not([aria-disabled=true]):hover .recruitment-read-copy :is(strong,small){color:inherit}
 body.recruitment-page .recruitment-cta:not(:disabled):not([aria-disabled=true]):hover .recruitment-cta-arrow{color:inherit}
}
.funup-site #siteFrame :is(.button.primary,.button.secondary,.button.outline,.button).fsite-line-button:active,body.recruitment-page .button.fsite-line-button:active{background:var(--channel-line-active);color:white}
.funup-site #siteFrame .button:disabled{transition:none;box-shadow:none;transform:none}
@media(prefers-reduced-motion:reduce){.funup-site #siteFrame .button,body.recruitment-page :is(.button,.recruitment-cta,.recruitment-read-cta){transition:none}}
.funup-site #siteFrame :is(.button.primary,.button.secondary,.button.outline,.button):disabled,.funup-site #siteFrame :is(.button.primary,.button.secondary,.button.outline,.button)[aria-disabled=true]{background:#e8edf0;color:#526b76;border-color:#b7cddb;opacity:.6;box-shadow:none;transform:none;transition:none;pointer-events:none}
.funup-site #siteFrame .button:not(:disabled):not([aria-disabled=true]):active,body.recruitment-page :is(.button,.recruitment-cta,.recruitment-read-cta):active{box-shadow:inset 0 1px 3px #173e5026;transform:none}
.funup-site #siteFrame .site-header .mypage:focus-visible,.funup-site .funup-mobile-dialog #mobileMenu .menu-mypage:focus-visible{outline:3px solid var(--ink);outline-offset:3px}

.funup-site #siteFrame .fsite-help-assistant .fsite-help-ai-review-note{font-size:13px;line-height:1.7;margin-top:12px}

/* Sawalar grades use the common white canvas, with two offered levels and a scope note. */
.funup-site #siteFrame .fsite-program-page>.fsite-series-grades{margin-top:0;padding:40px 7.5cqw;border:0;border-radius:0;background:white}
.funup-site #siteFrame .fsite-sawalar-grade-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}
.funup-site #siteFrame .fsite-sawalar-grade-card{min-width:0;padding:28px;border:1px solid var(--ui-border);border-top:3px solid var(--brand);border-radius:var(--ui-radius-card);background:white}
.funup-site #siteFrame .fsite-series-grades :is(.fsite-sawalar-grade-card,.fsite-sawalar-scope) h3{margin:0 0 18px;padding:0;border:0;font-size:24px;line-height:1.5;color:var(--ink)}
.funup-site #siteFrame .fsite-series-grades :is(p,ul){margin:0 0 16px}
.funup-site #siteFrame .fsite-series-grades ul{padding-left:1.4em}
.funup-site #siteFrame .fsite-series-grades li::marker{color:var(--brand-ink)}
.funup-site #siteFrame .fsite-series-grades .fsite-sawalar-grade-lead{font-size:18px;font-weight:700;color:var(--brand-ink)}
.funup-site #siteFrame .fsite-series-grades .fsite-sawalar-grade-note{padding-top:16px;border-top:1px solid var(--ui-border);font-size:14px;color:var(--muted)}
.funup-site #siteFrame .fsite-sawalar-related{margin-top:24px;padding:20px 0;display:flex;align-items:center;gap:24px;border-bottom:1px solid var(--ui-border)}
.funup-site #siteFrame .fsite-sawalar-related p{flex:1;min-width:0;margin:0;max-width:52em}
.funup-site #siteFrame .fsite-sawalar-related .button{flex-shrink:0;font-size:14px}
.funup-site #siteFrame .fsite-sawalar-scope{margin-top:28px;padding:28px;background:var(--soft);border:1px solid var(--ui-border);border-radius:var(--ui-radius-card)}
.funup-site #siteFrame .fsite-series-grades .fsite-sawalar-scope h3{font-size:21px}
.funup-site #siteFrame .fsite-sawalar-scope-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.funup-site #siteFrame .fsite-series-grades :is(.fsite-sawalar-grade-card,.fsite-sawalar-scope-columns>div)>:last-child{margin-bottom:0}
@media(max-width:900px){.funup-site #siteFrame .fsite-sawalar-related{display:block}.funup-site #siteFrame .fsite-sawalar-related .button{margin-top:16px;max-width:100%;white-space:normal}}
@media(max-width:700px){.funup-site #siteFrame .fsite-sawalar-grade-grid,.funup-site #siteFrame .fsite-sawalar-scope-columns{grid-template-columns:1fr;gap:20px}.funup-site #siteFrame :is(.fsite-sawalar-grade-card,.fsite-sawalar-scope){padding:22px 20px}.funup-site #siteFrame .fsite-series-grades .fsite-sawalar-grade-card h3{font-size:22px}}

/* Lecture topic rows are reference data, with denser spacing than prose. */
.funup-site #siteFrame .fsite-program-page[data-program=lecture] #lecture-section-4 .fsite-series-theme-row{grid-template-columns:56px minmax(0,1fr);gap:12px;padding:6px 0;font-size:16px;line-height:1.55}
.funup-site #siteFrame .fsite-program-page[data-program=lecture] #lecture-section-4>div:not(.fsite-buc-section-heading)>h3{margin:20px 0 4px}
@media(max-width:700px){.funup-site #siteFrame .fsite-program-page[data-program=lecture] #lecture-section-4 .fsite-series-theme-row{grid-template-columns:44px minmax(0,1fr);gap:10px}}

/* Colored content panels align with the editorial canvas, inside the shared chrome. */
.funup-site #siteFrame .funup-buc-guide>.fsite-next-day{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:center;gap:36px;margin:32px var(--editorial-gutter) 16px;padding:36px clamp(24px,3cqw,48px);width:auto;max-width:none;border:1px solid var(--ui-border);border-top:3px solid var(--brand);border-radius:var(--ui-radius-card);background:var(--soft);color:var(--ink);text-align:left}
.funup-site #siteFrame .fsite-next-day .fsite-next-day-copy{min-width:0}
.funup-site #siteFrame .fsite-next-day .fsite-buc-section-heading{max-width:none;text-align:left}
.funup-site #siteFrame .fsite-next-day .fsite-buc-section-heading h2{font-size:30px;line-height:1.55;text-align:left;margin:0;padding:0;border:0}
.funup-site #siteFrame .fsite-next-day .fsite-next-day-copy>p{max-width:52em;margin:0;font-size:16px;line-height:1.9;color:var(--muted);text-align:left}
.funup-site #siteFrame .fsite-next-day .fsite-buc-section-heading>.eyebrow{color:var(--brand-ink)}
.funup-site #siteFrame .fsite-next-day>.funup-buc-actions{width:100%;max-width:none;margin:0;padding:0;display:grid;gap:12px}
.funup-site #siteFrame .fsite-next-day .button{width:100%;min-width:0;justify-content:space-between;margin:0;font-size:15px;gap:16px}
.funup-site #siteFrame .funup-buc-guide>.fsite-buc-section:is(.fsite-buc-roles,.fsite-buc-recommend,.funup-family-intro-note,.funup-family-media-credit){width:auto;max-width:none;margin:32px var(--editorial-gutter);padding:32px clamp(20px,3cqw,40px);border:1px solid var(--ui-border);border-radius:var(--ui-radius-card);background:var(--soft);color:var(--ink)}
.funup-site #siteFrame .buc-section{width:auto;margin:32px 7.5cqw;padding:36px clamp(24px,3cqw,48px);border:1px solid var(--ui-border);border-radius:var(--ui-radius-card)}
.funup-site #siteFrame :is(.home-section-nav,.fsite-buc-jump-links){width:auto;margin:0 7.5cqw 16px;padding:8px 20px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-control);background:var(--soft)}
.funup-site #siteFrame .fsite-buc-jump-links{justify-content:flex-start;gap:8px 24px}
.funup-site #siteFrame .fsite-buc-jump-links a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:1000px){.funup-site #siteFrame .funup-buc-guide>.fsite-next-day{grid-template-columns:minmax(0,1fr);gap:24px}.funup-site #siteFrame .fsite-next-day>.funup-buc-actions{max-width:640px}}
@media(max-width:700px){.funup-site #siteFrame .funup-buc-guide>.fsite-next-day{padding:24px 20px}.funup-site #siteFrame .fsite-next-day .fsite-buc-section-heading h2{font-size:clamp(20px,6.1vw,24px)}.funup-site #siteFrame .funup-buc-guide>.fsite-buc-section:is(.fsite-buc-roles,.fsite-buc-recommend,.funup-family-intro-note,.funup-family-media-credit){padding:24px 20px}.funup-site #siteFrame .buc-section{padding:24px 20px}.funup-site #siteFrame :is(.home-section-nav,.fsite-buc-jump-links){padding:8px 12px}}

/* Photo-led galleries use the canvas; supporting illustration photos keep their own cap. */
.funup-site #siteFrame .fsite-snow-page .fsite-snow-scene-section{display:block}
.funup-site #siteFrame .fsite-snow-page .fsite-snow-scene-section>.fsite-plugin-gallery{width:100%;max-width:1200px;margin:24px 0 0}
.funup-site #siteFrame .fsite-next-day .fsite-next-day-title{white-space:normal}
@media(max-width:700px){.funup-site #siteFrame .fsite-next-day .fsite-next-day-title{white-space:nowrap}}

/* Product guides share the existing reading grid and restrained photo sizing. */
.funup-site #siteFrame :is(.fsite-workshops-page,.fsite-hyakumeizan-page) .funup-buc-card .funup-buc-photo img{aspect-ratio:16/9;object-fit:cover;border-radius:var(--ui-radius-card)}
.funup-site #siteFrame :is(.fsite-learning-page,.fsite-workshops-page) .funup-buc-card>.button{margin-top:auto;align-self:flex-start}
.funup-site #siteFrame .fsite-workshops-page .workshops-experience{margin-top:32px;align-items:center}
.funup-site #siteFrame .fsite-workshops-page .workshops-experience .fsite-guide-person{height:auto}

/* Private guiding: two clear uses, a bounded offer, then cost and enquiry. */
.funup-site #siteFrame .fsite-private-page .funup-buc-title{font-size:clamp(28px,3.2cqw,42px);line-height:1.5;margin-bottom:8px}
.funup-site #siteFrame .fsite-private-page .private-service-label{font-size:16px;font-weight:700;color:var(--brand-ink);margin:0 0 24px}
.funup-site #siteFrame .fsite-private-page .private-hero-lead{font-size:clamp(21px,2.3cqw,30px);font-weight:700;line-height:1.8;margin-bottom:16px}
.funup-site #siteFrame .fsite-private-page .fsite-buc-section{padding-top:48px;padding-bottom:48px}
.funup-site #siteFrame .fsite-private-page .fsite-buc-section-heading{margin-bottom:24px}
.funup-site #siteFrame .fsite-private-page .fsite-buc-section-heading h2{font-size:clamp(25px,2.8cqw,36px);line-height:1.6;text-wrap:balance}
.funup-site #siteFrame .fsite-private-page .funup-buc-card{border-radius:var(--ui-radius-card);border-color:var(--ui-border);padding:28px;gap:8px}
.funup-site #siteFrame .fsite-private-page h3{font-size:21px;line-height:1.6;margin:0 0 12px;padding:0;border:0;color:var(--ink)}
.funup-site #siteFrame .fsite-private-page :is(p,li,dd){font-size:16px;line-height:1.9}
.funup-site #siteFrame .fsite-private-page .funup-buc-card p{margin:0 0 12px}
.funup-site #siteFrame .fsite-private-page .private-purpose-card{border-top:3px solid var(--brand)}
.funup-site #siteFrame .fsite-private-page .private-purpose-card .private-number{font:700 28px/1 Verdana,sans-serif;color:var(--brand-ink);margin:0 0 16px}
.funup-site #siteFrame .fsite-private-page .private-purpose-card ul{margin:4px 0 0;padding-left:1.3em}
.funup-site #siteFrame .fsite-private-page .private-purpose-card li{margin:8px 0}
.funup-site #siteFrame .fsite-private-page .private-note{font-size:14px;line-height:1.85;color:var(--muted);margin:20px 0 0}
.funup-site #siteFrame .fsite-private-page .private-offerings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 28px;margin-top:28px}
.funup-site #siteFrame .fsite-private-page .private-offering-trip>img{display:block;width:100%;max-width:440px;aspect-ratio:16/9;object-fit:cover;border-radius:var(--ui-radius-card);margin-bottom:24px}
.funup-site #siteFrame .fsite-private-page .private-reference-links{display:flex;flex-wrap:wrap;gap:4px 20px}
.funup-site #siteFrame .fsite-private-page .private-topic-list{margin:0}
.funup-site #siteFrame .fsite-private-page .private-topic-list>div{padding:12px 0;border-bottom:1px solid var(--ui-border)}
.funup-site #siteFrame .fsite-private-page .private-topic-list>div:first-child{padding-top:0}
.funup-site #siteFrame .fsite-private-page .private-topic-list dt{font-size:16px;font-weight:700;color:var(--brand-ink);margin-bottom:4px}
.funup-site #siteFrame .fsite-private-page .private-topic-list dd{margin:0;font-size:15px}
.funup-site #siteFrame .fsite-private-page .private-text-link{display:inline-flex;gap:8px;align-items:center;min-height:44px;font-size:14px;font-weight:700;color:var(--brand-ink);text-underline-offset:4px}
.funup-site #siteFrame .fsite-private-page .private-scope-note{padding:24px;margin-top:32px;border:1px solid var(--ui-border);border-left:3px solid var(--brand);border-radius:var(--ui-radius-card);background:var(--soft)}
.funup-site #siteFrame .fsite-private-page .private-scope-note p:last-child{margin-bottom:0}
.funup-site #siteFrame .fsite-private-page .private-compare-grid .funup-buc-card{background:var(--soft)}
.funup-site #siteFrame .fsite-private-page .private-cost-box{padding:28px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-card);background:var(--soft);margin:28px 0}
.funup-site #siteFrame .fsite-private-page .private-cost-box p{margin-bottom:0}
.funup-site #siteFrame .fsite-private-page .private-unit-rates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:28px 0 0}
.funup-site #siteFrame .fsite-private-page .private-unit-rates>div{padding:20px 24px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-card)}
.funup-site #siteFrame .fsite-private-page .private-unit-rates dt{font-weight:700;font-size:16px;margin-bottom:8px}
.funup-site #siteFrame .fsite-private-page .private-unit-rates dd{margin:0}
.funup-site #siteFrame .fsite-private-page .private-unit-rates strong{display:block;color:var(--brand-ink);font-size:24px;line-height:1.5}
.funup-site #siteFrame .fsite-private-page .private-unit-rates span{display:block;color:var(--muted);font-size:14px;margin-top:4px}
.funup-site #siteFrame .fsite-private-page .private-prices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0 0}
.funup-site #siteFrame .fsite-private-page .private-prices>:is(div,article){padding:20px;background:white;border:1px solid var(--ui-border);border-radius:var(--ui-radius-card)}
.funup-site #siteFrame .fsite-private-page .private-price-card h4{font-size:16px;line-height:1.6;margin:0 0 12px;color:var(--ink)}
.funup-site #siteFrame .fsite-private-page .private-price-main{margin:0 0 20px}
.funup-site #siteFrame .fsite-private-page .private-price-breakdown{margin:16px 0 0;padding-top:12px;border-top:1px solid var(--ui-border)}
.funup-site #siteFrame .fsite-private-page .private-price-breakdown>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;margin-top:8px}
.funup-site #siteFrame .fsite-private-page .private-price-breakdown dt{font-size:13px;font-weight:400;margin:0}
.funup-site #siteFrame .fsite-private-page .private-price-breakdown dd{font-size:14px;white-space:nowrap;margin:0}
.funup-site #siteFrame .fsite-private-page .private-cost-excluded{padding:16px 18px;margin:24px 0 0;border-left:3px solid var(--brand-ink);background:white}
.funup-site #siteFrame .fsite-private-page .private-prices dt{font-size:14px;font-weight:700;margin-bottom:8px}
.funup-site #siteFrame .fsite-private-page .private-prices dd{margin:0}
.funup-site #siteFrame .fsite-private-page .private-prices strong{font-size:28px;line-height:1.5;color:var(--brand-ink)}
.funup-site #siteFrame .fsite-private-page .private-prices small{display:block;font-size:13px;margin-top:4px}
.funup-site #siteFrame .fsite-private-page .private-cost-detail{display:grid;grid-template-columns:220px minmax(0,1fr);column-gap:28px;row-gap:20px}
.funup-site #siteFrame .fsite-private-page .private-cost-detail :is(h3,p){margin:0}
.funup-site #siteFrame .fsite-private-page .private-expenses-body{display:grid;gap:16px}
.funup-site #siteFrame .fsite-private-page .private-expenses-body h4{font-size:16px;line-height:1.6;margin:0 0 6px;color:var(--brand-ink)}
.funup-site #siteFrame .fsite-private-page .private-process{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}
.funup-site #siteFrame .fsite-private-page .private-process>li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;margin:0;padding:24px 0;border-top:1px solid var(--ui-border)}
.funup-site #siteFrame .fsite-private-page .private-step-number{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;font:700 15px/1 Verdana,sans-serif;background:var(--brand-ink);color:white}
.funup-site #siteFrame .fsite-private-page .private-process .private-step-owner{font-size:13px;font-weight:700;color:var(--brand-ink);margin:0 0 6px}
.funup-site #siteFrame .fsite-private-page .private-process h3{font-size:19px;margin:0 0 10px}
.funup-site #siteFrame .fsite-private-page .private-process p{margin:0}
.funup-site #siteFrame .fsite-private-page .private-checklist{margin:28px 0 0;border-top:1px solid var(--ui-border)}
.funup-site #siteFrame .fsite-private-page .private-checklist>div{display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px;padding:18px 0;border-bottom:1px solid var(--ui-border)}
.funup-site #siteFrame .fsite-private-page .private-checklist dt{font-weight:700;color:var(--brand-ink)}
.funup-site #siteFrame .fsite-private-page .private-checklist dd{margin:0}
.funup-site #siteFrame .fsite-private-page .private-contact-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:28px}
.funup-site #siteFrame .fsite-private-page .private-contact-actions .button{min-width:240px;justify-content:space-between;gap:24px}
.funup-site #siteFrame .fsite-private-page .private-inquiry{padding:24px;margin-top:28px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-card);background:var(--soft);min-width:0}
.funup-site #siteFrame .fsite-private-page .private-inquiry legend{font-size:18px;font-weight:700;padding:0 8px;color:var(--ink)}
.funup-site #siteFrame .fsite-private-page .private-inquiry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.funup-site #siteFrame .fsite-private-page .private-inquiry-item.is-wide{grid-column:1/-1}
.funup-site #siteFrame .fsite-private-page .private-inquiry label{display:block;margin:0 0 8px}
.funup-site #siteFrame .fsite-private-page .private-inquiry :is(input,textarea){-webkit-text-fill-color:var(--ink)}
.funup-site #siteFrame .fsite-private-page .private-inquiry :is(input,textarea)::placeholder{color:#aab7be;-webkit-text-fill-color:#aab7be;opacity:1}
.funup-site #siteFrame .fsite-private-page .private-inquiry button{opacity:1}
.funup-site #siteFrame .fsite-private-page .private-inquiry .private-required{display:inline-block;font-size:11px;line-height:1.5;margin-left:8px;padding:1px 6px;border:1px solid var(--brand-ink);border-radius:3px;color:var(--brand-ink)}
.funup-site #siteFrame .fsite-private-page .private-inquiry textarea{resize:vertical}
.funup-site #siteFrame .fsite-private-page .private-inquiry [data-inquiry-status]{font-size:14px;margin:12px 0 0}
.funup-site #siteFrame .fsite-private-page .private-message-preview{border:1.5px solid var(--ui-control-line);background:#fff}
.funup-site #siteFrame .fsite-private-page .private-message-preview>summary{background:#fff;color:var(--brand-ink)}
/* Common enquiry -> email details -> confirmation. Values stay in the DOM. */
.funup-site #siteFrame .fsite-private-page [data-inquiry-step][hidden]{display:none!important}
.funup-site #siteFrame .fsite-private-page .private-mail-step{scroll-margin-top:130px}
.funup-site #siteFrame .fsite-private-page .private-mail-step>h3{font-size:24px;color:var(--ink);margin:28px 0 16px}
.funup-site #siteFrame .fsite-private-page .private-mail-step .private-message-preview{margin-top:24px}
.funup-site #siteFrame .fsite-private-page .private-mail-step .private-message-preview label:not(:first-child){margin-top:16px}
.funup-site #siteFrame .fsite-private-page .private-mail-step [readonly]{background:#fff;color:var(--ink)}
.funup-site #siteFrame .fsite-private-page .private-copy-fallback{margin-top:24px;padding-top:16px;border-top:1px solid var(--ui-border)}
.funup-site #siteFrame .fsite-private-page .private-copy-fallback p{font-size:14px;color:var(--muted);margin:0 0 10px}
.funup-site #siteFrame .fsite-private-page .private-copy-fallback .button{font-size:14px}
.funup-site #siteFrame .fsite-private-page .private-mail-summary{display:grid;gap:0;margin:24px 0;border:1px solid var(--ui-border);border-radius:var(--ui-radius-card);padding:8px 20px}
.funup-site #siteFrame .fsite-private-page .private-mail-summary>div{display:grid;grid-template-columns:180px minmax(0,1fr);gap:16px;padding:12px 0}
.funup-site #siteFrame .fsite-private-page .private-mail-summary dt{font-weight:700}
.funup-site #siteFrame .fsite-private-page .private-mail-summary dd{margin:0;overflow-wrap:anywhere}
.funup-site #siteFrame .fsite-private-page .private-review-notice{padding:14px 18px;border-left:3px solid var(--brand-ink);background:var(--soft);margin:24px 0}
@media(max-width:700px){.funup-site #siteFrame .fsite-private-page .private-mail-step{scroll-margin-top:75px}.funup-site #siteFrame .fsite-private-page .private-mail-summary>div{grid-template-columns:1fr;gap:4px}}
@media(max-width:700px){
 .funup-site #siteFrame .fsite-private-page .fsite-buc-section{padding-top:32px;padding-bottom:32px}
 .funup-site #siteFrame .fsite-private-page .fsite-buc-section-heading h2{font-size:25px}
 .funup-site #siteFrame .fsite-private-page :is(.funup-buc-card,.private-cost-box,.private-scope-note){padding:20px}
 .funup-site #siteFrame .fsite-private-page .private-offerings-grid{grid-template-columns:1fr;gap:28px}
 .funup-site #siteFrame .fsite-private-page .private-prices{grid-template-columns:1fr;gap:16px}
 .funup-site #siteFrame .fsite-private-page .private-prices>:is(div,article){padding:20px}
 .funup-site #siteFrame .fsite-private-page .private-prices strong{font-size:26px;white-space:nowrap}
 .funup-site #siteFrame .fsite-private-page .private-unit-rates{grid-template-columns:1fr;gap:14px}
 .funup-site #siteFrame .fsite-private-page .private-prices dt{font-size:13px}
 .funup-site #siteFrame .fsite-private-page .private-cost-detail{grid-template-columns:1fr;gap:12px}
 .funup-site #siteFrame .fsite-private-page .private-cost-detail h3:not(:first-child){margin-top:16px}
 .funup-site #siteFrame .fsite-private-page .private-process{grid-template-columns:1fr}
 .funup-site #siteFrame .fsite-private-page .private-checklist>div{grid-template-columns:1fr;gap:8px}
 .funup-site #siteFrame .fsite-private-page .private-contact-actions{display:grid;grid-template-columns:1fr}
 .funup-site #siteFrame .fsite-private-page .private-contact-actions .button{width:100%;min-width:0;font-size:15px}
 .funup-site #siteFrame .fsite-private-page .private-inquiry{padding:18px}
 .funup-site #siteFrame .fsite-private-page .private-inquiry-grid{grid-template-columns:1fr}
}

/* Keep one classroom gallery; its desktop frame is two thirds of the text canvas. */
.funup-site #siteFrame .fsite-lecture-gallery>.fsite-plugin-gallery{width:66.666667%;max-width:none;margin:24px auto 0}
@media(max-width:700px){.funup-site #siteFrame .fsite-lecture-gallery>.fsite-plugin-gallery{width:100%}}

/* Staff portraits lead to biographies; event links reuse the shared guide filter. */
.funup-site #siteFrame .fsite-staff-portrait-link{display:block;min-width:0;text-align:center;color:var(--ink);text-decoration:none;border-radius:8px}
.funup-site #siteFrame .fsite-staff-portrait-link span{display:block;margin-top:6px;font-size:14px;font-weight:700;line-height:1.6}
.funup-site #siteFrame .fsite-staff-portrait-link:hover{color:var(--brand-ink);text-decoration:none}
.funup-site #siteFrame .fsite-staff-portrait-link:focus-visible{outline:3px solid var(--ink);outline-offset:5px}
.funup-site #siteFrame .fsite-staff-portrait-hint{grid-column:1/-1;margin:4px 0 0;font-size:13px;line-height:1.7;color:var(--muted)}
.funup-site #siteFrame .fsite-staff-section-heading{padding-bottom:0}
.funup-site #siteFrame .fsite-staff-events{margin-top:24px}
.funup-site #siteFrame .fsite-staff-events-empty{font-size:14px;color:var(--muted)}

/* Sitemap is a utility index: compact title and equally weighted navigation. */
.funup-site[data-view=sitemap] #siteFrame .fsite-sitemap-intro{display:block;padding-bottom:12px}
.funup-site[data-view=sitemap] #siteFrame .fsite-sitemap-intro .funup-buc-title{margin:0}
.funup-site #siteFrame .fsite-sitemap-group+ .fsite-sitemap-group{margin-top:32px}
.funup-site #siteFrame .fsite-sitemap-group h3{margin:0 0 14px;font-size:18px}

/* BUC practice/final difficulty is distinct from the series and W/R type. */
.funup-site #siteFrame .buc-event-level{display:inline-block;width:fit-content;margin:0 0 0 5px;padding:1px 4px;border:1px solid var(--muted);border-radius:3px;background:#fff;color:var(--ink);font-size:12px;font-weight:700;line-height:1.4;white-space:nowrap;vertical-align:middle}

.funup-site #siteFrame .buc-calendar-classification{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:4px}
.funup-site #siteFrame .buc-calendar-classification .buc-event-level{margin:0}
/* The three event views share one filter layout and classification controls. */
.funup-site #siteFrame [data-event-browser] .fsite-event-filters{display:grid;grid-template-columns:minmax(180px,.6fr) minmax(0,1fr) auto;gap:16px;background:#fff;padding:0;margin:0 0 16px}
.funup-site #siteFrame [data-mode=cards] .fsite-event-filters>label:has([data-event-filter=month]){grid-column:1/-1;max-width:220px}
.funup-site #siteFrame [data-filter-scope=buc-advanced]{margin-top:12px}
@media(max-width:700px){.funup-site #siteFrame [data-event-browser] .fsite-event-filters{grid-template-columns:1fr}}
/* Photo cards retain the current site's decision-making information. */
.funup-site #siteFrame .fsite-event-record{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 3px 12px #173e5010;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.funup-site #siteFrame .fsite-event-card-link{display:flex;flex-direction:column;height:100%;color:var(--ink);text-decoration:none}
.funup-site #siteFrame .fsite-event-card-link:hover{text-decoration:none}
.funup-site #siteFrame .fsite-event-card-link:focus-visible{outline:3px solid var(--brand-ink);outline-offset:-3px}
.funup-site #siteFrame .fsite-event-card-head{display:block}
.funup-site #siteFrame .fsite-event-card-photo>img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.funup-site #siteFrame .fsite-event-card-body{display:flex;flex-direction:column;flex:1;padding:10px 14px 14px;min-width:0}
.funup-site #siteFrame .fsite-event-card-date{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;padding:11px 14px 0}
.funup-site #siteFrame .fsite-event-card-date .fsite-event-date{margin:0;font-size:17px;font-weight:600;color:var(--ink)}
.funup-site #siteFrame .fsite-event-duration{font-size:13px;color:var(--muted)}
.funup-site #siteFrame .fsite-event-new{padding:2px 5px;font-size:11px;font-weight:700;border:1px solid var(--brand-ink);border-radius:3px;color:var(--brand-ink)}
.funup-site #siteFrame .fsite-event-record .fsite-event-card-title{font-size:19px;font-weight:700;line-height:1.5;margin:0 0 6px}
.funup-site #siteFrame .fsite-event-record .fsite-event-badge{font-size:13px;margin:0 0 10px}
.funup-site #siteFrame .fsite-event-meeting{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;font-size:14px;line-height:1.55;margin:0 0 10px}
.funup-site #siteFrame .fsite-event-meeting dt{color:var(--muted)}
.funup-site #siteFrame .fsite-event-meeting dd{margin:0;overflow-wrap:anywhere}
.funup-site #siteFrame .fsite-event-card-bottom{margin-top:auto}
.funup-site #siteFrame .fsite-event-record .fsite-event-card-fee{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:10px;margin:0 0 8px}
.funup-site #siteFrame .fsite-event-card-fee>span:not(.fsite-event-capacity){font-size:12px;color:var(--muted);flex-shrink:0}
.funup-site #siteFrame .fsite-event-card-fee strong{font-size:18px;font-weight:600;line-height:1.5;color:var(--ink)}
.funup-site #siteFrame .fsite-event-record .fsite-event-card-status{display:inline-flex;align-items:center;justify-content:flex-start;width:auto;max-width:100%;box-sizing:border-box;margin:0;padding:5px 10px;border:1px solid currentColor;border-radius:4px;font-size:14px;font-weight:600;line-height:1.5;white-space:normal}
.funup-site #siteFrame .fsite-event-waiting{white-space:nowrap;font-variant-numeric:tabular-nums}
.funup-site #siteFrame .fsite-event-capacity{font-size:13px;color:var(--muted);white-space:nowrap}
.funup-site #siteFrame .fsite-event-card-detail{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-height:44px;box-sizing:border-box;text-align:right;font-size:13px;font-weight:400;color:var(--brand-ink);margin-top:6px}

.funup-site #siteFrame .fsite-card-month{margin:28px 0}
.funup-site #siteFrame .fsite-card-month>h3{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:20px;font-weight:700;padding:0 0 8px;margin:0 0 16px;border-bottom:2px solid var(--brand-ink)}
.funup-site #siteFrame .fsite-card-month-count{font-size:13px;font-weight:400;color:var(--muted)}

/* Classification belongs to the photograph; capacity sits at the upper right below it. */
.funup-site #siteFrame .fsite-event-card-photo{position:relative;isolation:isolate;min-height:48px}
.funup-site #siteFrame .fsite-event-record .fsite-event-card-photo .fsite-event-badge{position:absolute;left:10px;bottom:10px;max-width:calc(100% - 20px);box-sizing:border-box;margin:0;padding:6px 11px;background:#fff;border:1px solid currentColor;border-radius:5px;box-shadow:0 2px 7px #173e5033;font-size:15px;font-weight:750;line-height:1.5}
.funup-site #siteFrame .fsite-event-card-date .fsite-event-capacity{margin-left:auto}
.funup-site #siteFrame .fsite-event-record .fsite-event-card-fee{grid-template-columns:auto minmax(0,1fr)}

.funup-site #siteFrame .fsite-event-record .fsite-event-catch{display:block;min-width:0;min-height:1.55em;margin:0 0 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.55;color:var(--muted)}

.funup-site #siteFrame .fsite-event-record:has(.fsite-event-card-link:focus-visible){border-color:var(--brand-ink);box-shadow:0 5px 16px #173e5026}
.funup-site #siteFrame .fsite-event-card-detail>span{font-size:17px;line-height:1}
.funup-site #siteFrame .fsite-event-card-link:focus-visible .fsite-event-card-detail{text-decoration:underline;text-underline-offset:4px}
@media(min-width:701px) and (hover:hover) and (pointer:fine){
.funup-site #siteFrame .fsite-event-record:has(.fsite-event-card-link:hover){box-shadow:0 8px 20px #173e5026;transform:translateY(-3px)}
}

.funup-site #siteFrame .fsite-event-card-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.funup-site #siteFrame .fsite-event-card-actions .fsite-event-card-detail{margin-top:0;margin-left:auto}

/* Availability and classification occupy opposite corners of the photo. */
.funup-site #siteFrame .fsite-event-record .fsite-event-card-photo .fsite-event-card-status{position:absolute;top:10px;right:10px;max-width:calc(100% - 20px);box-shadow:0 2px 7px #173e5033}

/* Keep classification and availability together at the photo's lower edge. */
.funup-site #siteFrame .fsite-event-photo-labels{position:absolute;left:10px;right:10px;bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:wrap-reverse}
.funup-site #siteFrame .fsite-event-record .fsite-event-card-photo .fsite-event-photo-labels :is(.fsite-event-badge,.fsite-event-card-status){position:static;max-width:100%;margin:0}

.funup-site #siteFrame .fsite-event-record .fsite-event-card-photo .fsite-event-photo-labels .fsite-event-card-status{margin-left:auto;flex-shrink:0}

/* Price and availability form one decision-making group. */
.funup-site #siteFrame .fsite-event-card-price-status{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:10px}
.funup-site #siteFrame .fsite-event-card-price-status .fsite-event-card-fee{margin:0;flex:1;min-width:0}
.funup-site #siteFrame .fsite-event-card-price-status .fsite-event-card-status{flex-shrink:0;margin-left:auto}

.funup-site #siteFrame .fsite-event-card-fee .fsite-event-fee-unit{font-size:12px;font-weight:400}

/* Card type hierarchy: title, key facts, then supporting information. */
.funup-site #siteFrame .fsite-event-record[data-event-series] .fsite-event-card-photo .fsite-event-badge{font-size:14px;font-weight:600}

@media(prefers-reduced-motion:reduce){.funup-site #siteFrame .fsite-event-record{transition:none}.funup-site #siteFrame .fsite-event-record:has(.fsite-event-card-link:hover){transform:none}}

/* Unified event listing: shared controls, unchanged event presentations. */
.funup-site #siteFrame .fsite-unified-list .compact-intro{margin-bottom:20px}
.funup-site #siteFrame .fsite-unified-list .compact-intro h1{font-size:clamp(25px,2.4vw,32px);font-weight:700;margin:4px 0 0}
.funup-site #siteFrame .fsite-list-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:16px 0 24px}
.funup-site #siteFrame .fsite-view-tabs{display:flex;padding:4px;gap:4px;background:#edf6fa;border:1px solid #b1cbd7;border-radius:9px}
.funup-site #siteFrame .fsite-view-tabs button{appearance:none;min-height:44px;padding:10px 18px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--brand-ink);line-height:1.3;font-family:inherit;font-size:15px;font-weight:600;cursor:pointer;white-space:nowrap}
.funup-site #siteFrame .fsite-view-tabs button:hover{background:#daeef7}
.funup-site #siteFrame .fsite-view-tabs button[aria-selected=true]{background:#fff;border-color:var(--brand-ink);box-shadow:0 1px 4px #18425322;color:var(--brand-ink)}
.funup-site #siteFrame .fsite-view-tabs button:focus-visible{outline:3px solid var(--brand-ink);outline-offset:2px}
.funup-site #siteFrame [data-unified-events] [hidden]{display:none!important}
.funup-site #siteFrame .fsite-list-tools .fsite-cal-toolbar{margin:0;gap:8px}
.funup-site #siteFrame .fsite-list-tools .fsite-cal-toolbar button:disabled{opacity:.35;cursor:default}
.funup-site #siteFrame .fsite-list-view-note{font-size:13px;color:var(--muted);margin:-12px 0 16px}
.funup-site #siteFrame .fsite-unified-list .snapshot-note{margin-top:32px}
@media(max-width:700px){
 .funup-site #siteFrame .fsite-list-tools{align-items:stretch;gap:12px;margin:12px 0 20px}
 .funup-site #siteFrame .fsite-view-tabs{width:100%}
 .funup-site #siteFrame .fsite-view-tabs button{flex:1}
 .funup-site #siteFrame .fsite-list-tools .fsite-cal-toolbar{width:100%}
 .funup-site #siteFrame .fsite-list-tools .fsite-cal-toolbar label{font-size:13px;gap:12px}
 .funup-site #siteFrame .fsite-list-tools .fsite-cal-toolbar select{font-size:16px;flex:1;width:auto}
 .funup-site #siteFrame [data-event-view=calendar]{display:none}
}

.funup-site #siteFrame .compact-event .fsite-flexible-date{font-size:13px;line-height:1.5}

/* Tours is a series introduction hub; schedules are a secondary shortcut. */
.funup-site #siteFrame .fsite-tours-series-intro{max-width:48em;margin-bottom:24px}
.funup-site #siteFrame .fsite-tours-series-actions{margin-top:auto;display:flex;flex-direction:column;gap:8px}
.funup-site #siteFrame .fsite-tours-series-actions .button{width:100%;justify-content:space-between;gap:12px;padding:12px 16px;font-size:15px;white-space:normal;line-height:1.5}
.funup-site #siteFrame .fsite-tours-schedule-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--brand-ink);font-size:14px;text-decoration:underline;text-underline-offset:4px}
.funup-site #siteFrame .fsite-tours-series-actions .fsite-tours-schedule-link{align-self:flex-start}
.funup-site #siteFrame .fsite-tours-schedule-link:focus-visible{outline:3px solid var(--brand-ink);outline-offset:3px;border-radius:4px}
.funup-site #siteFrame .fsite-tours-other{display:flex;align-items:center;justify-content:space-between;gap:16px 28px;flex-wrap:wrap;margin-top:24px;padding:20px 24px;background:var(--soft);border-radius:var(--ui-radius-card)}
.funup-site #siteFrame .fsite-tours-other h3{margin:0 0 8px;font-size:20px}
.funup-site #siteFrame .fsite-tours-other p{margin:0;font-size:15px}
@media(max-width:700px){.funup-site #siteFrame .fsite-tours-other{padding:20px}}

/* Reuse the AI portrait in the two editorial introductions. */
.funup-site #siteFrame .help-step-ai,.funup-site #siteFrame .fsite-help-ai-symbol{background:var(--yanocchi-portrait-background);border:2px solid #fff;border-radius:50%;box-shadow:0 1px 5px #183f4d30}
.funup-site #siteFrame .help-step-ai{display:block;flex:0 0 48px;width:48px;height:48px;font-size:0}
.funup-site #siteFrame .fsite-help-ai-symbol{width:80px;height:80px}
@media(max-width:700px){.funup-site #siteFrame .fsite-help-ai-symbol{width:64px;height:64px}}

.funup-site #siteFrame .help-step-ai-group{display:flex;flex:0 0 48px;flex-direction:column;align-items:center;gap:5px;line-height:1}

/* Help: two equal information destinations, then a quieter private-tour guide. */
.funup-site #siteFrame .fsite-help-find-grid>.funup-buc-card{display:flex;flex-direction:column;align-items:flex-start}
.funup-site #siteFrame .fsite-help-find-grid>.funup-buc-card>.button{margin-top:auto}
.funup-site #siteFrame .fsite-help-private{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px;padding:24px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-card);background:#fff}
.funup-site #siteFrame .fsite-help-private>div{flex:1;min-width:0}
.funup-site #siteFrame .fsite-help-private h3{margin:0 0 8px;padding:0;border:0;font-size:18px;line-height:1.5}
.funup-site #siteFrame .fsite-help-private p{margin:0;font-size:15px;line-height:1.8}
.funup-site #siteFrame .fsite-help-private>.button{flex-shrink:0;margin:0}
@container site (max-width:700px){.funup-site #siteFrame .fsite-help-private{display:block;padding:20px}.funup-site #siteFrame .fsite-help-private>.button{margin-top:16px;width:100%;box-sizing:border-box}}

/* The full FAQ index is denser on wide screens; reused FAQ blocks keep their layout. */
@container site (min-width:1000px){
 .funup-site #siteFrame .fsite-faq-page .fsite-faq-category{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px;align-items:start;padding:12px 0;margin:10px 0 26px}
 .funup-site #siteFrame .fsite-faq-page .fsite-faq-category>h2{grid-column:1/-1;font-size:21px;line-height:1.5;margin:0 0 6px}
 .funup-site #siteFrame .fsite-faq-page .fsite-faq-category>.fsite-buc-faq{min-width:0;margin:0}
 .funup-site #siteFrame .fsite-faq-page .fsite-faq-category>.fsite-buc-faq>summary{box-sizing:border-box;min-height:56px;padding:15px 44px 15px 16px;font-size:16px;line-height:1.6}
 .funup-site #siteFrame .fsite-faq-page .fsite-faq-category>.fsite-buc-faq>summary::after{right:14px;font-size:20px}
 .funup-site #siteFrame .fsite-faq-page .fsite-faq-category>.fsite-buc-faq>.fsite-support-answer{padding:18px}
 .funup-site #siteFrame .fsite-faq-page .fsite-faq-index{padding:18px;margin-bottom:24px}
 .funup-site #siteFrame .fsite-faq-page .fsite-faq-index h2{margin-bottom:12px}
 .funup-site #siteFrame .fsite-faq-page .fsite-faq-index>div{gap:10px}
 .funup-site #siteFrame .fsite-faq-page .fsite-faq-index a{min-height:46px;padding:10px 12px}
}

/* Overview: date/classification share the left column; the destination gets real reading width. */
.funup-site #siteFrame #event-panel-overview .compact-event{grid-template-columns:160px minmax(0,1fr) 86px;column-gap:10px;row-gap:6px;padding:12px 0;border-bottom-color:#adc3ce;align-items:start}
.funup-site #siteFrame #event-panel-overview .compact-event>time,.funup-site #siteFrame #event-panel-overview .compact-event>.fsite-flexible-date{grid-column:1;grid-row:1;font-size:15px;font-weight:500;line-height:1.6;white-space:normal;color:var(--ink);overflow-wrap:normal}
.funup-site #siteFrame #event-panel-overview .compact-event time wbr{display:inline}
.funup-site #siteFrame #event-panel-overview .compact-event .fsite-start-time{display:block;margin-left:0;font-size:14px;font-weight:400;line-height:1.6;color:inherit}
.funup-site #siteFrame #event-panel-overview .compact-event>.series-chip{grid-column:1;grid-row:2;width:fit-content;max-width:100%;box-sizing:border-box;margin:0;padding:3px 5px;border:1px solid;border-left-width:3px;font-size:13px;line-height:1.4;white-space:normal;overflow:visible}
.funup-site #siteFrame #event-panel-overview .compact-event>.compact-name{grid-column:2;grid-row:1/span 2;font-size:15px;font-weight:500;line-height:1.6;color:var(--ink);min-width:0}
.funup-site #siteFrame #event-panel-overview .compact-event>.status-chip{grid-column:3;grid-row:1;width:86px;box-sizing:border-box;margin:0;padding:3px 4px;border:1px solid;font-size:13px;line-height:1.4;font-weight:700}
.funup-site #siteFrame #event-panel-overview .compact-event>.compact-fee{grid-column:3;grid-row:2;font-size:14px;font-weight:500;line-height:1.5;color:var(--ink)}
.funup-site #siteFrame #event-panel-overview .compact-fee-unit{font-size:11px;font-weight:400}
@media(max-width:700px){
 .funup-site #siteFrame #event-panel-overview .compact-event{grid-template-columns:72px minmax(0,1fr) 78px;column-gap:7px;row-gap:5px}
 .funup-site #siteFrame #event-panel-overview .compact-event>time,.funup-site #siteFrame #event-panel-overview .compact-event>.fsite-flexible-date{grid-column:1;grid-row:1/span 2;font-size:14px}
 .funup-site #siteFrame #event-panel-overview .compact-event>.series-chip{grid-column:2;grid-row:1;font-size:12px}
 .funup-site #siteFrame #event-panel-overview .compact-event>.compact-name{grid-column:2;grid-row:2;font-size:15px}
 .funup-site #siteFrame #event-panel-overview .compact-event>.status-chip{width:78px;font-size:13px}
 .funup-site #siteFrame #event-panel-overview .compact-event>.compact-fee{font-size:13px}
 .funup-site #siteFrame #event-panel-overview .compact-event .fsite-start-time{font-size:13px;font-weight:400}
}

/* Series identity is the filled name tab; course/level stay readable on white. */
.funup-site #siteFrame #event-panel-overview .compact-event>.series-chip{display:inline-flex;align-items:center;flex-wrap:wrap;column-gap:4px;row-gap:3px;max-width:100%;padding:0 5px 0 0;border-left-width:1px}
.funup-site #siteFrame #event-panel-overview .series-chip>.badge-series{align-self:stretch;display:inline-flex;align-items:center;padding:3px 5px;font-weight:700;line-height:1.5;border-radius:2px 0 0 2px;white-space:nowrap}
.funup-site #siteFrame #event-panel-overview .series-chip>.badge-divider{display:none}
.funup-site #siteFrame #event-panel-overview .series-chip>.badge-detail{padding:3px 0;font-weight:500}
.funup-site #siteFrame #event-panel-overview .series-chip>.buc-event-level{margin-left:0;margin-right:1px}

/* PC overview: date at left, classification above destination in the middle. */
@media(min-width:701px){
 .funup-site #siteFrame #event-panel-overview .compact-event{padding:8px 0;row-gap:4px}
 .funup-site #siteFrame #event-panel-overview .compact-event>time,.funup-site #siteFrame #event-panel-overview .compact-event>.fsite-flexible-date{grid-column:1;grid-row:1/span 2}
 .funup-site #siteFrame #event-panel-overview .compact-event>.series-chip{grid-column:2;grid-row:1}
 .funup-site #siteFrame #event-panel-overview .compact-event>.compact-name{grid-column:2;grid-row:2}
}

/* Waku-waku ideas: planned outings are compact rows, not open recruitment. */
.funup-site[data-view="ideas"] #siteFrame .fsite-ideas-intro{max-width:70ch;margin:0 0 24px;line-height:1.8}
.funup-site[data-view="ideas"] #siteFrame .fsite-idea-group+.fsite-idea-group{margin-top:30px}
.funup-site[data-view="ideas"] #siteFrame .fsite-idea-group>h3{margin:0 0 10px;padding:0;border:0;font-size:17px;font-weight:700;line-height:1.6}
.funup-site[data-view="ideas"] #siteFrame .fsite-idea-list{list-style:none;margin:0;padding:0;border-top:1px solid #adc3ce}
.funup-site[data-view="ideas"] #siteFrame .fsite-idea-list>li{list-style:none;margin:0;padding:0;border-bottom:1px solid #adc3ce}
.funup-site[data-view="ideas"] #siteFrame .fsite-idea-row{display:grid;grid-template-columns:210px minmax(0,1fr) 150px;grid-template-rows:auto auto;gap:5px 20px;align-items:center;padding:16px 12px;color:var(--ink);background:#fff;text-decoration:none;transition:background-color .16s ease,box-shadow .16s ease}
.funup-site[data-view="ideas"] #siteFrame .fsite-idea-when{grid-column:1;grid-row:1/span 2;display:block;font-size:15px;font-weight:500;line-height:1.6;overflow-wrap:normal}
.funup-site[data-view="ideas"] #siteFrame .fsite-idea-label{display:block;margin-bottom:3px;color:#526c77;font-size:12px;font-weight:400}
.funup-site[data-view="ideas"] #siteFrame .fsite-idea-main{grid-column:2;grid-row:1/span 2;display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}
.funup-site[data-view="ideas"] #siteFrame .fsite-idea-main>strong{display:block;font-size:17px;font-weight:600;line-height:1.6}
.funup-site[data-view="ideas"] #siteFrame .fsite-idea-series{display:inline-flex;padding:3px 7px;border:1px solid;border-radius:3px;font-size:12px;font-weight:700;line-height:1.4}
.funup-site[data-view="ideas"] #siteFrame .fsite-idea-state{grid-column:3;grid-row:1;justify-self:end;min-width:76px;box-sizing:border-box;padding:3px 9px;border:1px solid #a4b5bc;border-radius:3px;color:#455c66;background:#f6f8f9;font-size:13px;font-weight:600;line-height:1.5;text-align:center}
.funup-site[data-view="ideas"] #siteFrame .fsite-idea-action{grid-column:3;grid-row:2;justify-self:end;display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;line-height:1.6;color:var(--brand-ink,#006b8f);white-space:nowrap}
.funup-site[data-view="ideas"] #siteFrame .fsite-idea-row:focus-visible{outline:3px solid var(--ui-focus);outline-offset:2px;background:#f0f9fd}
.funup-site[data-view="ideas"] #siteFrame .fsite-idea-row:focus-visible .fsite-idea-action{text-decoration:underline;text-underline-offset:3px}
.funup-site[data-view="ideas"] #siteFrame #ideas-contact{scroll-margin-top:100px}
.funup-site[data-view="ideas"] #siteFrame .fsite-ideas-channels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px}
.funup-site[data-view="ideas"] #siteFrame .fsite-ideas-channel{display:flex;flex-direction:column;align-items:flex-start;padding:24px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-card);background:#fff}
.funup-site[data-view="ideas"] #siteFrame .fsite-ideas-channel>h3{margin:0 0 10px;padding:0;border:0;font-size:19px;line-height:1.6}
.funup-site[data-view="ideas"] #siteFrame .fsite-ideas-channel>p{margin:0 0 18px;font-size:16px;line-height:1.8}
.funup-site[data-view="ideas"] #siteFrame .fsite-ideas-channel>.button{margin-top:auto;max-width:100%;box-sizing:border-box}
@media(hover:hover) and (pointer:fine){
 .funup-site[data-view="ideas"] #siteFrame .fsite-idea-row:hover{color:var(--ink);background:#f0f9fd;box-shadow:inset 3px 0 var(--brand-ink,#006b8f);text-decoration:none}
 .funup-site[data-view="ideas"] #siteFrame .fsite-idea-row:hover .fsite-idea-action{text-decoration:underline;text-underline-offset:3px}
}
@media(max-width:700px){
 .funup-site[data-view="ideas"] #siteFrame .fsite-idea-row{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto;gap:8px 10px;padding:14px 6px}
 .funup-site[data-view="ideas"] #siteFrame .fsite-idea-when{grid-column:1;grid-row:1;font-size:13px;line-height:1.6}
 .funup-site[data-view="ideas"] #siteFrame .fsite-idea-label{display:inline;margin:0 5px 0 0;font-size:11px;white-space:nowrap}
 .funup-site[data-view="ideas"] #siteFrame .fsite-idea-main{grid-column:1/-1;grid-row:2;gap:6px}
 .funup-site[data-view="ideas"] #siteFrame .fsite-idea-main>strong{font-size:16px;line-height:1.55}
 .funup-site[data-view="ideas"] #siteFrame .fsite-idea-state{grid-column:2;grid-row:1;min-width:64px;padding:2px 6px;font-size:12px;align-self:start}
 .funup-site[data-view="ideas"] #siteFrame .fsite-idea-action{grid-column:1/-1;grid-row:3;font-size:12px}
 .funup-site[data-view="ideas"] #siteFrame .fsite-ideas-channels{grid-template-columns:1fr;gap:14px}
 .funup-site[data-view="ideas"] #siteFrame .fsite-ideas-channel{padding:20px}
}
@media(prefers-reduced-motion:reduce){.funup-site[data-view="ideas"] #siteFrame .fsite-idea-row{transition:none}}

/* A small, shared preview of unpublished plans; always outside event results. */
.funup-site #siteFrame .fsite-ideas-preview{display:grid;grid-template-columns:minmax(210px,.8fr) minmax(0,1.8fr);gap:28px;padding:24px 28px;border:1px solid #bad2dd;border-left:4px solid var(--cyan,#00b2df);border-radius:var(--ui-radius-card);background:#f4fbfe;color:var(--ink);box-sizing:border-box}
.funup-site #siteFrame .fsite-ideas-preview--home{margin:0 7.5cqw 32px}
.funup-site #siteFrame .fsite-ideas-preview--list{margin-top:28px}
.funup-site #siteFrame .fsite-ideas-preview-intro{min-width:0}
.funup-site #siteFrame .fsite-ideas-preview-intro>.fsite-ideas-preview-kicker{margin:0 0 7px;color:var(--brand-ink,#006b8f);font-size:11px;font-weight:700;letter-spacing:.12em;line-height:1.5}
.funup-site #siteFrame .fsite-ideas-preview-intro>h2{margin:0 0 10px;padding:0;border:0;font-size:22px;font-weight:700;line-height:1.5;letter-spacing:.02em}
.funup-site #siteFrame .fsite-ideas-preview-intro>p:not(.fsite-ideas-preview-kicker){margin:0;font-size:14px;line-height:1.8;color:var(--ink)}
.funup-site #siteFrame .fsite-ideas-preview-content{min-width:0}
.funup-site #siteFrame .fsite-ideas-preview-list{list-style:none;margin:0;padding:0}
.funup-site #siteFrame .fsite-ideas-preview-list>li{list-style:none;margin:0;padding:0;border-bottom:1px solid #d0e1e9}
.funup-site #siteFrame .fsite-ideas-preview-list>li:first-child{border-top:1px solid #d0e1e9}
.funup-site #siteFrame .fsite-ideas-preview-list a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;padding:10px 2px;min-height:44px;box-sizing:border-box;color:var(--ink);text-decoration:none}
.funup-site #siteFrame .fsite-ideas-preview-when{grid-column:1;grid-row:1;color:#526c77;font-size:12px;line-height:1.6}
.funup-site #siteFrame .fsite-ideas-preview-list strong{grid-column:1;grid-row:2;font-size:15px;font-weight:600;line-height:1.5}
.funup-site #siteFrame .fsite-ideas-preview-arrow{grid-column:2;grid-row:1/span 2;align-self:center;color:var(--brand-ink,#006b8f);font-size:20px}
.funup-site #siteFrame .fsite-ideas-preview-more{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}
.funup-site #siteFrame .fsite-ideas-preview-more>small{font-size:11px;line-height:1.6;color:#526c77}
.funup-site #siteFrame .fsite-ideas-preview-more>a{display:inline-flex;align-items:center;gap:7px;min-height:44px;font-size:13px;font-weight:600;line-height:1.6;color:var(--brand-ink,#006b8f);text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
.funup-site #siteFrame .fsite-ideas-preview a:focus-visible{outline:3px solid var(--ui-focus);outline-offset:3px;border-radius:3px}
.funup-site[data-view="ideas"] #siteFrame .fsite-idea-list>li[id]{scroll-margin-top:100px}
@media(hover:hover) and (pointer:fine){
 .funup-site #siteFrame .fsite-ideas-preview-list a:hover{background:#e7f5fb;text-decoration:none}
 .funup-site #siteFrame .fsite-ideas-preview-list a:hover strong{text-decoration:underline;text-underline-offset:3px}
 .funup-site #siteFrame .fsite-ideas-preview-more>a:hover{color:#004d69}
}
@media(max-width:900px){.funup-site #siteFrame .fsite-ideas-preview{grid-template-columns:minmax(180px,.8fr) minmax(0,1.2fr);gap:20px;padding:22px}}
@media(max-width:700px){
 .funup-site #siteFrame .fsite-ideas-preview{grid-template-columns:1fr;gap:16px;padding:18px 16px;border-left-width:3px}
 .funup-site #siteFrame .fsite-ideas-preview--home{margin:0 12px 24px}
 .funup-site #siteFrame .fsite-ideas-preview--list{margin-top:24px}
 .funup-site #siteFrame .fsite-ideas-preview-list>li:nth-child(n+3){display:none}
 .funup-site #siteFrame .fsite-ideas-preview-intro>h2{font-size:21px;margin-bottom:6px}
 .funup-site #siteFrame .fsite-ideas-preview-intro>p:not(.fsite-ideas-preview-kicker){font-size:13px;line-height:1.7}
 .funup-site #siteFrame .fsite-ideas-preview-more{flex-wrap:wrap;justify-content:flex-end;gap:0 10px}
 .funup-site #siteFrame .fsite-ideas-preview-more>small{margin-right:auto}
}

/* Text links: text and trailing arrow share one continuous underline. */
.funup-site #siteFrame :is(.text-link,.fsite-tours-schedule-link,.fsite-ideas-preview-more>a,.footer-social a,.schedule-search,.booking-search),
.funup-site #siteFrame main p>a:not([class]),body.recruitment-page .recruitment-content p>a:not([class]){display:inline;text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-skip-ink:none;line-height:1.8}
.funup-site #siteFrame :is(.text-link,.fsite-tours-schedule-link,.fsite-ideas-preview-more>a,.footer-social a,.schedule-search,.booking-search)>span[aria-hidden="true"]{display:inline;margin-left:0}
.funup-site #siteFrame .fsite-ideas-preview-list{background:#fff;border:1px solid #c4d7df;border-radius:6px;overflow:hidden}
.funup-site #siteFrame .fsite-ideas-preview-list>li:first-child{border-top:0}
.funup-site #siteFrame .fsite-ideas-preview-list>li:last-child{border-bottom:0}
.funup-site #siteFrame .fsite-ideas-preview-list a{padding:12px 14px}
.funup-site #siteFrame .fsite-ideas-preview-list strong{color:var(--brand-ink,#006b8f);font-size:16px}

/* Arrow text links share the home page's dark blue, without underlines. */
.funup-site #siteFrame a.fsite-arrow-link,body.recruitment-page a.fsite-arrow-link{color:var(--brand-ink,#006b8f)!important;text-decoration:none!important}
.funup-site #siteFrame a.fsite-arrow-link *,body.recruitment-page a.fsite-arrow-link *{text-decoration:none!important}
.funup-site #siteFrame a.fsite-arrow-link:hover,body.recruitment-page a.fsite-arrow-link:hover{color:#004d69!important;text-decoration:none!important}

.funup-site #siteFrame :is(a.fsite-arrow-link,.guide .text-link,.fsite-guide-person-more,.season-links a),body.recruitment-page a.fsite-arrow-link{color:var(--brand-ink,#006b8f)!important;font-weight:700!important;text-decoration:none!important}
.funup-site #siteFrame .season-links a{border-bottom:0}
.funup-site #siteFrame :is(.guide:hover .text-link,.fsite-guide-person:hover .fsite-guide-person-more,.season-links a:hover){color:#004d69!important;text-decoration:none!important}

.funup-site #siteFrame .guide .text-link{border-bottom:0}
.funup-site #siteFrame .fsite-ideas-preview-when{font-weight:400}

.funup-site #siteFrame .fsite-private-page .private-inquiry textarea[data-auto-grow]{min-height:52px;overflow-y:hidden;resize:none}

.funup-site #siteFrame .workshop-card-actions{margin-top:auto;display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding-top:12px}
.funup-site #siteFrame .workshop-card-actions .button{margin-top:0}

/* Desktop workshop consultation is subordinate to the public schedule button. */
@media(min-width:701px){.funup-site #siteFrame .workshop-card-actions>.private-text-link{font-size:14px;line-height:1.6}}

/* Search results must remain more prominent than the optional upcoming-ideas preview. */
.funup-site #siteFrame .fsite-event-empty{margin:0 0 32px;padding:30px 32px;border:2px solid var(--brand-ink);border-left-width:6px;border-radius:var(--ui-radius-card);background:#eaf6fb;color:var(--ink)}
.funup-site #siteFrame .fsite-event-empty[hidden]{display:none}
.funup-site #siteFrame .fsite-event-empty>.fsite-event-empty-label{margin:0 0 8px;color:var(--brand-ink);font-size:14px;font-weight:700;line-height:1.5}
.funup-site #siteFrame .fsite-event-empty>h2{margin:0 0 12px;padding:0;border:0;color:var(--ink);font-size:26px;line-height:1.5;font-weight:700;letter-spacing:0}
.funup-site #siteFrame .fsite-event-empty>p:not(.fsite-event-empty-label){margin:0 0 20px;font-size:16px;line-height:1.8}
.funup-site #siteFrame .fsite-event-empty>.button{min-height:44px;font-size:14px}
@media(max-width:700px){
 .funup-site #siteFrame .fsite-event-empty{padding:22px 18px;margin-bottom:28px}
 .funup-site #siteFrame .fsite-event-empty>h2{font-size:22px}
 .funup-site #siteFrame .fsite-event-empty>.button{width:100%;font-size:13px}
}

/* Active conditions share one visual treatment, including the month outside the panel. */
.funup-site #siteFrame [data-event-browser] [data-event-filter].has-active-filter{border:2px solid var(--brand-ink);background-color:#eaf6fb;font-weight:700;color:var(--ink)}
.funup-site #siteFrame [data-filter-choice]:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}

/* Independent cross-series peak filter: entire label communicates selection. */
.funup-site #siteFrame .fsite-hyakumeizan-filter{display:flex;align-items:center;gap:10px;min-height:48px;align-self:end;padding:11px 14px;border:1px solid #7898a6;border-radius:var(--ui-radius-control,6px);background:#fff;color:var(--ink);cursor:pointer;box-sizing:border-box}
.funup-site #siteFrame .fsite-hyakumeizan-filter input[type=checkbox]{appearance:auto;width:20px;height:20px;margin:0;flex:0 0 20px;accent-color:var(--brand-ink);cursor:pointer}
.funup-site #siteFrame .fsite-hyakumeizan-filter span{font-size:15px;line-height:1.5}
.funup-site #siteFrame .fsite-hyakumeizan-filter.is-selected{background:#eaf6fb;border:2px solid var(--brand-ink);padding:10px 13px;box-shadow:inset 4px 0 var(--brand-ink);font-weight:700}
.funup-site #siteFrame .fsite-hyakumeizan-filter:focus-within{outline:2px solid var(--brand-ink);outline-offset:3px}

/* BUC retains its three entry routes in a more compact editorial card. */
.funup-site #siteFrame [data-home-feature=buc]{padding-top:28px;padding-bottom:28px;gap:4cqw}
.funup-site #siteFrame [data-home-feature=buc] .fsite-feature-kicker{margin-bottom:12px}
.funup-site #siteFrame [data-home-feature=buc] .buc-title-line{margin:0 0 10px}
.funup-site #siteFrame [data-home-feature=buc] .buc-content h2{font-size:30px;line-height:1.5;margin-bottom:14px}
.funup-site #siteFrame [data-home-feature=buc] .buc-content>p:not(.eyebrow){line-height:1.8;margin-bottom:10px}
.funup-site #siteFrame [data-home-feature=buc] .buc-content>p:not(.eyebrow) br{display:none}
.funup-site #siteFrame [data-home-feature=buc] .buc-options{margin:12px 0}
.funup-site #siteFrame [data-home-feature=buc] .buc-options a{min-height:44px;padding:8px 0;font-size:14px;line-height:1.6}
.funup-site #siteFrame [data-home-feature=buc] .buc-main{aspect-ratio:1.5}
@container site (max-width:700px){
 .funup-site #siteFrame [data-home-feature=buc]{padding:20px;gap:20px}
 .funup-site #siteFrame [data-home-feature=buc] .buc-content h2{font-size:28px;line-height:1.5}
 .funup-site #siteFrame [data-home-feature=buc] .buc-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;border:0}
 .funup-site #siteFrame [data-home-feature=buc] .buc-options a{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:5px;padding:10px 8px;border:1px solid var(--line);border-radius:4px;background:#fff}
 .funup-site #siteFrame [data-home-feature=buc] .buc-options a b{min-width:0;font-size:14px}
 .funup-site #siteFrame [data-home-feature=buc] .buc-options a span{font-size:12px;line-height:1.5}
 .funup-site #siteFrame [data-home-feature=buc] .buc-options a i{align-self:flex-end;font-size:16px}
 .funup-site #siteFrame [data-home-feature=buc] .buc-photos{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
 .funup-site #siteFrame [data-home-feature=buc] .buc-main{aspect-ratio:1.1}
 .funup-site #siteFrame [data-home-feature=buc] .buc-photo-bottom{display:block;margin:0}
 .funup-site #siteFrame [data-home-feature=buc] .buc-photo-bottom img{width:100%;aspect-ratio:1.1}
 .funup-site #siteFrame [data-home-feature=buc] .buc-photo-bottom p{font-size:13px;line-height:1.6;margin-top:6px}
}
@container site (max-width:700px){
 .funup-site #siteFrame [data-home-feature=buc]{padding-top:16px;padding-bottom:16px}
 .funup-site #siteFrame [data-home-feature=buc] .eyebrow.fsite-feature-kicker{margin-bottom:12px}
 .funup-site #siteFrame [data-home-feature=buc] .buc-title-line{margin-bottom:8px}
 .funup-site #siteFrame [data-home-feature=buc] .buc-photos{row-gap:6px}
 .funup-site #siteFrame [data-home-feature=buc] .buc-photo-bottom{display:contents}
 .funup-site #siteFrame [data-home-feature=buc] .buc-photo-bottom p{grid-column:1/-1;margin:0}
}

@container site (max-width:700px){.funup-site #siteFrame [data-home-feature=buc] .buc-heading-break{display:none}}
