/* Small, focused refinements; preserve the cream, blue and yellow identity. */
.theme-b > .header { position:relative; z-index:50; grid-template-columns:auto minmax(0,1fr) auto; padding:17px 3%; gap:16px; }
.theme-b > .header > nav { grid-column:2; grid-row:1; display:flex; flex-wrap:nowrap; width:auto; justify-content:flex-end; gap:clamp(9px,1vw,18px); }
.theme-b > .header nav a { white-space:nowrap; font-size:13px; }
.theme-b > .header > .nav-cta { grid-column:3; grid-row:1; min-height:45px; padding:11px 17px; font-size:13px; }
.theme-b > .header .brand { gap:10px; }
.theme-b > .header .brand b { font-size:25px; }
.theme-b > .header .brand small { font-size:10px; }
.theme-b .site-menu-toggle,.theme-b .header .nav-consult { display:none; }
.site-menu-toggle { width:46px; min-height:46px; padding:8px; border:1px solid #c5d1e7; border-radius:50%; background:#fffdf7; color:#102b81; align-items:center; justify-content:center; flex-direction:column; gap:4px; cursor:pointer; }
.site-menu-toggle span { display:block; width:17px; height:1px; background:currentColor; }
.site-menu-toggle small { font:8px/1.2 Arial,sans-serif; letter-spacing:.08em; }
.site-menu-toggle:focus-visible { outline:2px solid #1648ce; outline-offset:4px; }
.school-opening-hours { display:block; font-size:17px; padding:0 0 20px; }
.school-opening-hours strong { display:block; margin-left:0; font-size:23px; }
.footer-opening-hours { margin:0; font-size:13px; text-align:center; }
.footer-opening-hours strong { display:block; margin-left:0; font-size:17px; font-weight:500; }
.theme-b .learning-first-feed { grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; max-width:940px; }
.theme-b .learning-first-feed .post-study .post-image { height:auto; aspect-ratio:3/4; max-width:230px; }
.theme-b .learning-first-feed .post-study img { width:100%; height:100%; aspect-ratio:auto; object-fit:contain; background:#fff; }
.theme-b .learning-first-feed .post-study .post-text { border-top:0; }
.theme-b .voice-grid { grid-template-columns:1fr 1fr; }
.theme-b .voice-grid .cafe-voice { grid-column:auto; }
.theme-b .voice-grid .voice-story { grid-column:1/-1; }
.theme-b .schedule { padding-block:85px 75px; }
.theme-b .schedule-layout { grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); gap:42px; align-items:start; }
.theme-b .schedule-heading h2 { font-size:clamp(27px,2.6vw,36px); }
.theme-b .schedule-heading > p { font-size:16px; line-height:1.85; }
.theme-b .schedule-heading .schedule-note { font-size:13px; line-height:1.8; }
.theme-b .schedule-heading > p:not(.eyebrow) { margin-top:15px; }
.theme-b .schedule-heading .draft-tag { margin-top:15px; font-size:12px; padding:4px 10px; }
.theme-b .pace-illustration { width:160px; margin-top:20px; }
.theme-b .timeline { display:block; padding:0; margin:0; }
.theme-b .timeline::before { display:none; }
.theme-b .timeline-item { display:grid; grid-template-columns:64px minmax(0,1fr); gap:24px; padding:0 0 12px; margin:0; }
.theme-b .timeline-item:not(:last-child)::before { display:block; content:''; position:absolute; left:76px!important; top:28px; bottom:-15px; width:1px; background:#aabde9; }
.theme-b .timeline-item::after { display:block; left:72px; top:21px; width:9px; height:9px; border-width:2px; }
.theme-b .timeline-item time { display:block; padding:13px 0 0; margin:0; font-size:18px; line-height:1.5; }
.theme-b .timeline-card { padding:12px 16px; border-radius:12px; height:auto; }
.theme-b .timeline-card header { gap:9px; }
.theme-b .timeline-card .timeline-icon { width:24px; height:24px; flex:0 0 24px; }
.theme-b .timeline-card h3 { font-size:16px; line-height:1.65; }
.theme-b .timeline-card p { font-size:14px; line-height:1.75; margin-top:4px; }
.theme-b .faq-teaser .atmosphere-image-frame { border-radius:15px 75px 15px 15px; }
.theme-b .faq-teaser .atmosphere-faq-image img { object-position:52% 58%; }
.sponsor-hero-image { margin:0; overflow:hidden; border-radius:16px 75px 16px 16px; box-shadow:0 9px 30px #102b8112; }
.sponsor-hero-image img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
.operator-profile { padding-block:90px; background:#fffdf7; }
.operator-profile-grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:55px; align-items:start; }
.operator-profile h2 { font:500 clamp(27px,2.7vw,37px)/1.7 var(--font-heading); color:#102b81; margin:12px 0 25px; }
.operator-profile p { color:#435984; font-size:16px; line-height:2; }
.operator-profile p + p { margin-top:20px; }
.operator-profile .text-link { margin-top:22px; display:inline-block; }
.operator-profile-facts { margin:0; border-top:1px solid #c4d1ec; }
.operator-profile-facts > div { display:grid; grid-template-columns:112px minmax(0,1fr); gap:18px; padding:20px 0; border-bottom:1px solid #d5dfed; }
.operator-profile-facts dt { font-size:14px; color:#52678c; }
.operator-profile-facts dd { margin:0; font-size:16px; line-height:1.9; overflow-wrap:anywhere; }
.operator-profile-facts dd small { display:block; font-size:13px; color:#52678c; }
.operator-profile-facts a { text-underline-offset:4px; }
.nature-video-background video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity 1s; }
.nature-video-background video.is-playing { opacity:1; }
.nature-video-background img { width:100%; height:100%; object-fit:cover; }
.theme-b .visit.has-atmosphere-background { background:#d6eaff; color:#102b81; }
.theme-b .atmosphere-background-visit { opacity:.76; bottom:auto; height:1050px; max-height:100%; mask-image:linear-gradient(#000 0%,#000 80%,transparent 100%); }
.theme-b .atmosphere-background-visit::after { background:linear-gradient(90deg,#f0f8ffed 0%,#edf7ffb8 55%,#deefff66); }
.theme-b .visit .visit-inner p:not(.eyebrow) { color:#243e78; }
.theme-b .visit .visit-actions .button { background:#1648ce; color:#fff; }
.theme-b .visit .visit-actions .secondary { background:#ffffffb8; color:#102b81; border-color:#8da9d8; }
.theme-b .visit .phone,.theme-b .visit .booking-heading,.theme-b .visit .booking-inline > p a,.theme-b .visit .contact-email { color:#102b81; }
.theme-b .flatlay { object-position:63% 57%; }
.theme-b .atmosphere-footer { padding-top:164px; }
.theme-b .atmosphere-footer-lead { padding-bottom:28px; margin-bottom:20px; }
.footer-invitation { margin-bottom:42px; }
.footer-invitation .eyebrow { color:#d0dcfa; font-size:11px; }
.footer-invitation-title { margin-top:14px; color:#fffdf7; font:500 clamp(28px,3vw,43px)/1.7 var(--font-heading); letter-spacing:.06em; }
.theme-b .atmosphere-footer .footer-mail { color:#dce6ff; }
@media(max-width:1320px) {
 .theme-b > .header { grid-template-columns:minmax(0,1fr) auto auto; }
 .theme-b > .header > .nav-cta { grid-column:2; }
 .theme-b .site-menu-toggle { display:flex; grid-column:3; grid-row:1; }
 .theme-b > .header > nav { display:none; position:absolute; inset:100% 3% auto; grid-column:auto; grid-row:auto; width:auto; padding:22px; margin:0; background:#fffdf7; border:1px solid #c4d1ec; border-radius:0 0 16px 16px; box-shadow:0 16px 26px #102b8116; }
 .theme-b > .header > .site-menu-toggle[aria-expanded="true"] + nav { display:grid; grid-template-columns:1fr 1fr; gap:6px 20px; }
 .theme-b > .header nav a { display:block; padding:12px 9px; text-align:left; border-bottom:1px solid #dce4f3; font-size:14px; }
 .theme-b > .header nav a:last-child { grid-column:auto; }
}
@media(max-width:800px) {
 .theme-b > .header { padding-inline:5%; }
 .theme-b .learning-first-feed { grid-template-columns:1fr; gap:28px; }
 .theme-b .learning-first-feed .post-study { grid-column:auto; }
 .theme-b .learning-first-feed .post-study .post-image { height:auto; max-width:180px; }
 .theme-b .voice-grid { grid-template-columns:1fr; }
 .theme-b .schedule { padding-block:65px 55px; }
 .theme-b .schedule-layout { grid-template-columns:1fr; gap:24px; }
 .theme-b .schedule-heading .pace-illustration { display:none; }
 .theme-b .timeline-item { grid-template-columns:45px minmax(0,1fr); gap:21px; align-items:start; padding-bottom:10px; }
 .theme-b .timeline-item:not(:last-child)::before { left:55px!important; }
 .theme-b .timeline-item::after { left:51px; top:21px; }
 .theme-b .timeline-item time { margin:0; padding-top:15px; font-size:13px; }
 .theme-b .timeline-card { height:auto; padding:12px 13px; }
 .theme-b .timeline-card header { display:flex; }
 .theme-b .timeline-card h3 { font-size:14px; margin-top:0; }
 .theme-b .timeline-card p { font-size:13px; line-height:1.75; margin-top:4px; }
 .operator-profile { padding-block:65px; }
 .operator-profile-grid { grid-template-columns:1fr; gap:30px; }
 .operator-profile-facts > div { grid-template-columns:95px minmax(0,1fr); gap:14px; }
 .footer-invitation { margin-bottom:28px; }
 .footer-opening-hours { text-align:left; }
 .theme-b .atmosphere-footer { padding-top:144px; }
}
@media(max-width:600px) {
 .theme-b > .header { grid-template-columns:minmax(0,1fr) auto; gap:12px; }
 .theme-b > .header > .nav-cta { display:none; }
 .theme-b .site-menu-toggle { grid-column:2; }
 .theme-b .header .nav-consult { display:block; }
 .theme-b > .header > nav { inset-inline:5%; padding:15px; }
 .theme-b > .header nav a { font-size:13px; padding:12px 5px; }
 .theme-b > .header .brand b { font-size:23px; }
 .theme-b > .header .brand small { font-size:9px; }
 .theme-b > .header .brand img { width:42px; height:42px; }
 .operator-profile-facts > div { grid-template-columns:1fr; gap:5px; }
}
@media(prefers-reduced-motion:reduce) { .nature-video-background video { transition:none; } }
@media print { .site-menu-toggle,.nature-video-background video { display:none!important; } .theme-b > .header > nav { display:none; } }
