/* Desktop joins: transparent header, clear artwork with soft inner edges. */
@media(min-width:701px){
 html.site-story-frame body.home-mobile-branding .site-shell>.forest-header{background:transparent;border:0;box-shadow:none}
 html.site-story-frame body.home-mobile-branding .forest-header :is(.logo-separate,.home-logo-reveal,.home-desktop-name){background:transparent;box-shadow:none}
 html.site-story-frame body.home-mobile-branding .site-shell::before{
  background-position:center 174px,center top;
  mask-image:linear-gradient(to bottom,transparent 0,#000 220px,#000 770px,transparent 1000px),linear-gradient(to right,transparent 0,#000 14%,#000 86%,transparent 100%);
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 220px,#000 770px,transparent 1000px),linear-gradient(to right,transparent 0,#000 14%,#000 86%,transparent 100%);
  mask-composite:intersect;

 }
}
@media(min-width:1051px){
 html.site-story-frame body :is(.site-decor-left,.site-decor-right){opacity:1}
 html.site-story-frame body .site-decor-left{mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 36px),transparent 100%);-webkit-mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 36px),transparent 100%)}
 html.site-story-frame body .site-decor-right{mask-image:linear-gradient(to left,#000 0,#000 calc(100% - 36px),transparent 100%);-webkit-mask-image:linear-gradient(to left,#000 0,#000 calc(100% - 36px),transparent 100%)}
 html.site-story-frame body :is(.site-decor-topLeft,.site-decor-topRight){mask-image:linear-gradient(to bottom,#000 0,#000 60%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 60%,transparent 100%)}
}


/* Lighter introduction copy; scoped to the description card. */
html.site-story-frame body .site-shell #main .home-introduction .home-intro-excerpt{font-size:12.5px;font-weight:400;line-height:1.6}
html.site-story-frame body .site-shell #main .home-introduction .home-intro-more>summary{font-weight:500}
/* Match the expanded description to the lighter excerpt. */
html.site-story-frame body .site-shell #main .home-introduction :is(.home-intro-excerpt,.home-intro-more){max-width:none}
html.site-story-frame body .site-shell #main .home-introduction .home-intro-full{font-size:12.5px;font-weight:400;line-height:1.6;text-align:left}
html.site-story-frame body .site-shell #main .home-introduction .home-intro-full :is(p,acz-content-text,acz-text-block,strong,b){font-size:inherit;font-weight:400;line-height:inherit;max-width:none}
html.site-story-frame body .site-shell #main .home-introduction .home-intro-full p{margin:0 0 10px}
/* Mobile navigation: translucent white tiles and quiet selected states. */
@media(max-width:700px){
 html.site-story-frame body.home-mobile-branding .site-shell .forest-header #nav{background:rgba(255,253,248,.72);border:1px solid rgba(216,218,211,.65);box-shadow:0 2px 8px #28495d08;border-radius:11px;padding:6px;gap:4px}
 html.site-story-frame body.home-mobile-branding .site-shell .forest-header #nav>a,
 html.site-story-frame body.home-mobile-branding .site-shell .forest-header #nav>a.button{background:rgba(255,255,255,.36);border:1px solid rgba(255,255,255,.65);border-radius:8px;box-shadow:none;color:#365568;font-weight:500;transition:background-color .2s ease,border-color .2s ease,color .2s ease}
 html.site-story-frame body.home-mobile-branding .site-shell .forest-header #nav>a:is([aria-current=page],:hover,:active),
 html.site-story-frame body.home-mobile-branding .site-shell .forest-header #nav>a.button:is([aria-current=page],:hover,:active){background:rgba(215,235,246,.56);border-color:rgba(169,202,219,.48);color:#24475f;box-shadow:none}
 html.site-story-frame body.home-mobile-branding .site-shell .forest-header #menu-toggle::after{background:rgba(255,255,255,.66);border-color:rgba(206,218,222,.62);border-radius:8px}
}
@media(max-width:700px) and (prefers-reduced-motion:reduce){html.site-story-frame body.home-mobile-branding .site-shell .forest-header #nav>a{transition:none}}
/* Continue the header backing into the welcome section without a blue strip. */
@media(max-width:700px){
 html.site-story-frame body.home-mobile-branding .site-shell #main>.hero{background:transparent;border:0;box-shadow:none}
}
/* Feather the mobile right-hand leaves before their cropped edges. */
@media(max-width:700px){
 html.site-story-frame body.home-mobile-branding .home-mobile-logo-decor::after{
  mask-image:radial-gradient(ellipse at 44% 52%,#000 14%,#000b 35%,transparent 67%);
  -webkit-mask-image:radial-gradient(ellipse at 44% 52%,#000 14%,#000b 35%,transparent 67%);
 }
 html.site-story-frame:not(.site-decor-hidden) body .site-decor-mobileRight{
  width:22px;
  mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 58%,transparent 94%),linear-gradient(to right,transparent,#000 70%);
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 58%,transparent 94%),linear-gradient(to right,transparent,#000 70%);
  mask-composite:intersect;
 }
}
/* Align both mobile header controls a little below the upper leaf corners. */
@media(max-width:700px){
 html.site-story-frame body.home-mobile-branding .site-shell>.forest-header #menu-toggle{top:0;left:4px;margin:0}
 html.site-story-frame body.home-mobile-branding .site-shell>.forest-header .language-switch{position:absolute;top:22px;right:10px;z-index:4;margin:0}
}



/* Translucent blue quick-question buttons, shared by desktop and mobile. */
html.site-story-frame body #assistant #faq-buttons button{background:rgba(214,234,246,.52)!important;border:1px solid rgba(175,205,223,.52)!important;color:#28495d!important;box-shadow:none;transition:background-color .18s ease,border-color .18s ease}
html.site-story-frame body #assistant #faq-buttons button:is(:hover,:active,[aria-pressed=true]){background:rgba(194,223,241,.68)!important;border-color:rgba(143,185,211,.65)!important}
@media(prefers-reduced-motion:reduce){html.site-story-frame body #assistant #faq-buttons button{transition:none}}
/* Mobile menu tiles match the approved assistant quick-question buttons. */
@media(max-width:700px){
 html.site-story-frame body.home-mobile-branding .site-shell .forest-header #nav>a,
 html.site-story-frame body.home-mobile-branding .site-shell .forest-header #nav>a.button{background:rgba(214,234,246,.52);border-color:rgba(175,205,223,.52);color:#28495d}
 html.site-story-frame body.home-mobile-branding .site-shell .forest-header #nav>a:is([aria-current=page],:hover,:active),
 html.site-story-frame body.home-mobile-branding .site-shell .forest-header #nav>a.button:is([aria-current=page],:hover,:active){background:rgba(194,223,241,.68);border-color:rgba(143,185,211,.65);color:#28495d}
}
/* Mobile navigation follows the white language-selector finish. */
@media(max-width:700px){
 html.site-story-frame body.home-mobile-branding .site-shell .forest-header #nav>a,
 html.site-story-frame body.home-mobile-branding .site-shell .forest-header #nav>a.button{background:rgba(255,250,242,.96);border-color:rgba(219,229,233,.8);color:#28495d}
 html.site-story-frame body.home-mobile-branding .site-shell .forest-header #nav>a:is([aria-current=page],:hover,:active),
 html.site-story-frame body.home-mobile-branding .site-shell .forest-header #nav>a.button:is([aria-current=page],:hover,:active){background:rgba(255,255,255,.96);border-color:rgba(169,202,219,.75);color:#173e5b}
}
@media(max-width:700px){
 html.site-story-frame body.home-mobile-branding .site-shell .forest-header #nav>a:is([aria-current=page],:hover,:active),
 html.site-story-frame body.home-mobile-branding .site-shell .forest-header #nav>a.button:is([aria-current=page],:hover,:active){background:rgba(194,223,241,.68);border-color:rgba(143,185,211,.65);color:#24475f}
}
/* Approved control palette: warm white at rest, a light translucent blue glow. */
html.site-story-frame{--acz-control-rest:rgba(255,250,242,.96);--acz-control-glow:rgba(207,230,245,.50);--acz-control-border:rgba(219,229,233,.8);--acz-control-glow-border:rgba(173,205,224,.48)}
html.site-story-frame body #assistant #faq-buttons button,
html.site-story-frame body #assistant-toggle,
html.site-story-frame body .site-shell .forest-header .language-switch button{background:var(--acz-control-rest)!important;color:#28495d!important;border-color:var(--acz-control-border)!important}
html.site-story-frame body #assistant #faq-buttons button:is(:hover,:active,:focus-visible,[aria-pressed=true]),
html.site-story-frame body #assistant-toggle:is(:hover,:active,:focus-visible,[aria-expanded=true]),
html.site-story-frame body .site-shell .forest-header .language-switch button:is(:hover,:active,:focus-visible,[aria-pressed=true]){background:var(--acz-control-glow)!important;border-color:var(--acz-control-glow-border)!important;color:#24475f!important}
html.site-story-frame body .site-shell .forest-header #nav>a,
html.site-story-frame body .site-shell .forest-header #nav>a.button{background:var(--acz-control-rest);border-color:var(--acz-control-border);color:#28495d}
html.site-story-frame body .site-shell .forest-header #nav>a:is([aria-current=page],:hover,:active,:focus-visible),
html.site-story-frame body .site-shell .forest-header #nav>a.button:is([aria-current=page],:hover,:active,:focus-visible){background:var(--acz-control-glow);border-color:var(--acz-control-glow-border);color:#24475f}
@media(max-width:700px){
 html.site-story-frame body.home-mobile-branding .site-shell .forest-header #nav>a,
 html.site-story-frame body.home-mobile-branding .site-shell .forest-header #nav>a.button{background:var(--acz-control-rest);border-color:var(--acz-control-border)}
 html.site-story-frame body.home-mobile-branding .site-shell .forest-header #nav>a:is([aria-current=page],:hover,:active,:focus-visible),
 html.site-story-frame body.home-mobile-branding .site-shell .forest-header #nav>a.button:is([aria-current=page],:hover,:active,:focus-visible){background:var(--acz-control-glow);border-color:var(--acz-control-glow-border)}
}
html.site-story-frame body #assistant #assistant-question-form button{background:var(--acz-control-rest)!important;border-color:var(--acz-control-border)!important;color:#28495d!important}
html.site-story-frame body #assistant #assistant-question-form button:is(:hover,:active,:focus-visible){background:var(--acz-control-glow)!important;border-color:var(--acz-control-glow-border)!important}
@media(max-width:700px){
 html.site-story-frame body.home-mobile-branding .site-shell .forest-header #menu-toggle::after{background:var(--acz-control-rest);border-color:var(--acz-control-border)}
 html.site-story-frame body.home-mobile-branding .site-shell .forest-header #menu-toggle:is(:hover,:active,:focus-visible,[aria-expanded=true])::after{background:var(--acz-control-glow);border-color:var(--acz-control-glow-border)}
}

/* Assistant panel uses the same pale warm backing as the navigation. */
html.site-story-frame body #assistant,
html.site-story-frame body #assistant .row{background:#fff8e9}
html.site-story-frame body #assistant{border-color:#e5d9bf}
/* Match the actual cream card surface, including its gentle gradient. */
html.site-story-frame body #assistant{background:radial-gradient(ellipse at center,#fffcf0,#fff2d9);border-color:#d8b67d}
html.site-story-frame body #assistant .row{background:transparent}
html.site-story-frame body #assistant #assistant-close{background:var(--acz-control-rest)!important;border:1px solid var(--acz-control-border)!important;color:#28495d!important;box-shadow:none!important}
html.site-story-frame body #assistant #assistant-close:is(:hover,:active,:focus-visible){background:var(--acz-control-glow)!important;border-color:var(--acz-control-glow-border)!important}

/* Unified public content, preserving the individual page illustrations. */
html.site-story-frame body.public-content-page .site-shell::before{background-image:none}
html.site-story-frame body.public-content-page .site-shell #main>.wrap{width:100%;max-width:none;margin:16px auto;padding:0 16px;font:400 13px/1.65 system-ui,-apple-system,"Segoe UI",sans-serif;color:#28495d;border:0;box-shadow:none}
html.site-story-frame body.public-content-page .site-shell #main .page-title{width:100%;max-width:none;margin:0 0 16px;padding:20px 24px;text-align:center;border:1px solid #d8b67d;border-radius:20px;background:radial-gradient(ellipse at center,#fffcf0,#fff2d9)}
html.site-story-frame body.public-content-page .site-shell #main .page-title h1{font:500 clamp(25px,3vw,32px)/1.25 Georgia,serif;letter-spacing:0;color:#173e66;margin:0 0 8px}
html.site-story-frame body.public-content-page .site-shell #main .page-title p{max-width:70ch;margin:0 auto;font-size:13px;font-weight:400;line-height:1.6}
html.site-story-frame body.public-content-page .site-shell #main :is(.card,.cta){min-width:0;border:1px solid #d8b67d;border-radius:20px;box-shadow:0 3px 10px #2445620c;transform:none}
html.site-story-frame body.public-content-page .site-shell #main .card{padding:20px;background:radial-gradient(ellipse at center,#fffcf0eb,#fff2d9df)}
html.site-story-frame body.public-content-page .site-shell #main :is(.grid,.enrollment-page,.calendar-content,.announcement-list,.group-page){gap:16px}
html.site-story-frame body.public-content-page .site-shell #main :is(h2,h3){font-family:Georgia,serif;font-weight:500;line-height:1.3;letter-spacing:0;color:#173e66}
html.site-story-frame body.public-content-page .site-shell #main h2{font-size:22px}
html.site-story-frame body.public-content-page .site-shell #main h3{font-size:18px}
html.site-story-frame body.public-content-page .site-shell #main .card :is(p,li){font-size:13px;font-weight:400;line-height:1.65}
html.site-story-frame body.public-content-page .site-shell #main :is(.button,button):not(.text-button):not(.gallery-dot):not(.media-close){background:var(--acz-control-rest)!important;border:1px solid var(--acz-control-border)!important;color:#28495d!important;box-shadow:none!important;text-shadow:none;transform:none;max-width:100%;white-space:normal;font-weight:500}
html.site-story-frame body.public-content-page .site-shell #main :is(.button,button):not(.text-button):not(.gallery-dot):not(.media-close):is(:hover,:active,:focus-visible,[aria-pressed=true],[aria-selected=true]){background:var(--acz-control-glow)!important;border-color:var(--acz-control-glow-border)!important}
html.site-story-frame body.public-content-page .site-shell #main :is(input,select,textarea){border-color:#d8cbb6;border-radius:8px;background-color:#fffdf7;color:#28495d;max-width:100%}
html.site-story-frame body.public-content-page .site-shell #main :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid #648da6;outline-offset:3px}
@media(max-width:700px){
 html.site-story-frame body.public-content-page .site-shell #main>.wrap{padding:0 8px}
 html.site-story-frame body.public-content-page .site-shell #main .page-title{padding:18px 16px;border-radius:16px}
 html.site-story-frame body.public-content-page .site-shell #main .card{padding:16px;border-radius:16px}
 html.site-story-frame body.public-content-page .site-shell #main h2{font-size:20px}
}
/* Content actions match Home's Discover button; menus keep the white/blue palette. */
html.site-story-frame body.public-content-page .site-shell #main :is(a.button,button):not(.text-button):not(.gallery-dot):not(.media-close){background:#fff8eb!important;color:#28495d!important;border:1px solid #d8cbb6!important;border-radius:7px!important;box-shadow:none!important;text-shadow:none;font-size:11px;line-height:1.4;font-weight:500}
html.site-story-frame body.public-content-page .site-shell #main :is(a.button,button):not(.text-button):not(.gallery-dot):not(.media-close):is(:hover,:active,:focus-visible,[aria-pressed=true],[aria-selected=true]){background:#f3ead8!important;border-color:#bead90!important;color:#173e5b!important}
html.site-story-frame body.public-content-page .site-shell #main :is(.group-picture-card,.enrollment-ages>article,.daily-program>div,.review-card,.public-style-surface){border:1px solid #d8b67d;box-shadow:0 3px 10px #2445620c}
@media(max-width:700px){html.site-story-frame body.public-content-page .site-shell #main :is(a.button,button):not(.text-button):not(.gallery-dot):not(.media-close){min-height:34px!important;padding:5px 10px!important;font-size:11px!important}}
/* Home is the typography and alignment reference for inner pages. */
html.site-story-frame body.public-content-page .site-shell #main>.wrap{padding-inline:0;font-size:12.5px;font-weight:400;line-height:1.6}
html.site-story-frame body.public-content-page .site-shell #main .page-title h1{font-size:28px;line-height:1.25;font-weight:500;text-align:center}
html.site-story-frame body.public-content-page .site-shell #main h2{font-size:18px;line-height:1.3;font-weight:500}
html.site-story-frame body.public-content-page .site-shell #main h3{font-size:16px;line-height:1.35;font-weight:500}
html.site-story-frame body.public-content-page .site-shell #main .card :is(p,li){font-size:12.5px;line-height:1.6;font-weight:400;text-align:left}
html.site-story-frame body.public-content-page .site-shell #main .page-title p{font-size:12.5px;line-height:1.6;text-align:center}
@media(max-width:700px){
 html.site-story-frame body.public-content-page .site-shell #main>.wrap{padding-inline:0}
 html.site-story-frame body.public-content-page .site-shell #main .page-title h1{font-size:clamp(17px,5vw,20px)}
 html.site-story-frame body.public-content-page .site-shell #main h2{font-size:18px}
 html.site-story-frame body.public-content-page .site-shell #main h3{font-size:16px}
}

/* Compact, centered text on the team page. */
html.site-story-frame body.public-content-page .site-shell #main>.wrap:has(.team-intro) .card{padding:14px 18px;text-align:center}
html.site-story-frame body.public-content-page .site-shell #main>.wrap:has(.team-intro) .card :is(p,li){text-align:center;line-height:1.45}
html.site-story-frame body.public-content-page .site-shell #main>.wrap:has(.team-intro) :is(h2,h3){text-align:center}
html.site-story-frame body.public-content-page .site-shell #main .team-intro blockquote{margin:0 0 8px;font:italic 18px/1.4 Georgia,serif;text-align:center}
html.site-story-frame body.public-content-page .site-shell #main .team-intro cite{font-size:12px;line-height:1.4;margin-top:4px}
html.site-story-frame body.public-content-page .site-shell #main .team-intro p{margin:0}
html.site-story-frame body.public-content-page .site-shell #main .team-section{margin-top:16px}
html.site-story-frame body.public-content-page .site-shell #main .team-section>h2{margin:0 0 10px}
html.site-story-frame body.public-content-page .site-shell #main .team-profile{align-items:center;gap:12px}
html.site-story-frame body.public-content-page .site-shell #main .team-profile>div{flex:1;min-width:0}
html.site-story-frame body.public-content-page .site-shell #main .team-profile h3{margin:3px 0 5px}
html.site-story-frame body.public-content-page .site-shell #main .team-role{font-weight:500}
html.site-story-frame body.public-content-page .site-shell #main .team-list li{padding:7px 0}
html.site-story-frame body.public-content-page .site-shell #main .team-list span{font-size:12.5px;line-height:1.4;margin-top:2px}
html.site-story-frame body.public-content-page .site-shell #main>.wrap:has(.team-intro) .card>h2{margin:0 0 8px}
html.site-story-frame body.public-content-page .site-shell #main>.wrap:has(.team-intro) .card>p{margin:0 0 8px}
@media(max-width:700px){html.site-story-frame body.public-content-page .site-shell #main>.wrap:has(.team-intro) .card{padding:12px 14px}}

/* Blue glow belongs to the branding area, not to the team content. */
html.site-story-frame body.public-content-page .site-shell>.forest-header{background:radial-gradient(ellipse at 50% 46%,#a9d9eb 0%,#b9e1f0e6 32%,#dceef780 52%,transparent 72%);border:0;box-shadow:none}
/* Documents: narrower centered content and a comfortable closing note. */
html.site-story-frame body.public-content-page .site-shell #main .documents-logo-background .institutional-documents{width:90%;max-width:860px;margin-inline:auto}
html.site-story-frame body.public-content-page .site-shell #main .documents-logo-background .filter{display:block;width:min(250px,86%);max-width:250px;margin:0 auto 16px}
html.site-story-frame body.public-content-page .site-shell #main .documents-logo-background .institutional-documents>.card{padding:16px 18px}
html.site-story-frame body.public-content-page .site-shell #main .documents-logo-background .documents-note{width:84%;max-width:620px;margin:18px auto 0;padding:0 12px 20px;text-align:center;font-size:12.5px;line-height:1.5}
@media(max-width:700px){html.site-story-frame body.public-content-page .site-shell #main .documents-logo-background .institutional-documents{width:94%}html.site-story-frame body.public-content-page .site-shell #main .documents-logo-background .institutional-documents>.card{padding:14px}}
/* Finish the documents backing with the same fine warm edge as the cards. */
html.site-story-frame body.public-content-page .site-shell #main>.wrap.documents-logo-background{background-color:#fff5df;border:1px solid #d8b67d;border-radius:20px;box-shadow:0 3px 10px #82643914;overflow:hidden;padding-bottom:4px}
html.site-story-frame body.public-content-page .site-shell #main .documents-logo-background .documents-note{background:transparent;color:#59685c}
html.site-story-frame body.public-content-page:has(.documents-logo-background) .site-shell::after{background:linear-gradient(to bottom,transparent 620px,#fff8e9 1000px)}
@media(max-width:700px){html.site-story-frame body.public-content-page .site-shell #main>.wrap.documents-logo-background{border-radius:16px}}
/* Align the documents heading with the centered document grid. */
html.site-story-frame body.public-content-page .site-shell #main .documents-logo-background .page-title{width:90%;max-width:860px;margin:16px auto}
@media(max-width:700px){html.site-story-frame body.public-content-page .site-shell #main .documents-logo-background .page-title{width:94%;margin:12px auto 16px}}
/* Fine shared outline on the green footer panel. */
html.site-story-frame body .site-shell>footer{border:1px solid #d8b67d;box-shadow:0 3px 10px #82643914}
/* Soften only the inner edge of the upper-left foliage against the pale backing. */
@media(min-width:1051px){
 html.site-story-frame body.public-content-page .site-shell::after{mask-image:linear-gradient(to right,transparent,#000 42px,#000 calc(100% - 16px),transparent),linear-gradient(to bottom,#000,#000 calc(100% - 48px),transparent);mask-composite:intersect}
}
/* Match the soft right-hand foliage join on the narrow left edge. */
@media(max-width:700px){
 html.site-story-frame:not(.site-decor-hidden) body .site-decor-mobileLeft{width:22px;mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 58%,transparent 94%),linear-gradient(to right,#000 0,#000 28%,#0009 60%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 58%,transparent 94%),linear-gradient(to right,#000 0,#000 28%,#0009 60%,transparent 100%);mask-composite:intersect;filter:blur(.5px)}
}
html.site-story-frame body.public-content-page .site-shell>.forest-header{background:radial-gradient(ellipse at 50% 46%,#c0e3f0 0%,#cce9f3d9 44%,#e2f1f780 65%,transparent 90%)}
/* Shared approved spacing and fine surfaces across public inner pages. */
html.site-story-frame body.public-content-page .site-shell #main>.wrap{border:1px solid #d8b67d;border-radius:20px;box-shadow:0 3px 10px #82643914;padding-block:16px 20px}
html.site-story-frame body.public-content-page .site-shell #main>.wrap>.page-title{width:90%;max-width:860px;margin:0 auto 16px}
html.site-story-frame body.public-content-page .site-shell #main>.wrap>:is(.card,.grid,.cta,.enrollment-page,.calendar-content,.announcement-list,.group-page){width:90%;max-width:860px;margin-inline:auto}
html.site-story-frame body.public-content-page .site-shell #main>.wrap>.team-section{width:90%;max-width:860px;margin-inline:auto}
html.site-story-frame body.public-content-page .site-shell #main>.wrap>.team-section>.grid{width:100%}
html.site-story-frame body.public-content-page .site-shell #main .card{padding:14px 18px}
html.site-story-frame body.public-content-page .site-shell #main .card p{margin-top:0;margin-bottom:8px;line-height:1.5}
html.site-story-frame body.public-content-page .site-shell #main .card p:last-child{margin-bottom:0}
html.site-story-frame body.public-content-page .site-shell #main .card :is(h2,h3){margin-top:0;margin-bottom:8px}
html.site-story-frame body.public-content-page .site-shell::after{background:linear-gradient(to bottom,transparent 620px,#fff8e9 1000px)}
@media(max-width:700px){
 html.site-story-frame body.public-content-page .site-shell #main>.wrap{border-radius:16px;padding-block:12px 16px}
 html.site-story-frame body.public-content-page .site-shell #main>.wrap>:is(.page-title,.card,.grid,.cta,.enrollment-page,.calendar-content,.announcement-list,.group-page,.team-section){width:94%}
 html.site-story-frame body.public-content-page .site-shell #main .card{padding:12px 14px}
}
/* Desktop branding follows Home's original sky artwork and transparent header. */
@media(min-width:701px){
 html.site-story-frame body:is(.public-content-page,.home-polish-active) .site-shell>.forest-header{position:relative;background:transparent;border:0;box-shadow:none;isolation:isolate}
 html.site-story-frame body:is(.public-content-page,.home-polish-active) .site-shell>.forest-header::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:var(--decor-building-image,url('assets/fundal-pastel-v4.png'));background-position:center top;background-size:100% auto;background-repeat:no-repeat;mask-image:linear-gradient(to right,transparent,#000 14%,#000 86%,transparent),linear-gradient(to bottom,transparent,#000 28%,#000 74%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 14%,#000 86%,transparent),linear-gradient(to bottom,transparent,#000 28%,#000 74%,transparent);mask-composite:intersect}
}
/* Blend the logo's white image backing into the shared header. */
html.site-story-frame body.home-mobile-branding .forest-header :is(.logo-separate img,.home-mobile-official-logo){mix-blend-mode:multiply}
html.site-story-frame body.home-mobile-branding .forest-header .home-mobile-official-logo{mask-image:radial-gradient(ellipse at center,#000 56%,#000e 69%,transparent 93%);-webkit-mask-image:radial-gradient(ellipse at center,#000 56%,#000e 69%,transparent 93%)}
@media(min-width:701px){html.site-story-frame body.home-mobile-branding .forest-header .logo-separate img{mask-image:radial-gradient(ellipse at center,#000 58%,#000e 72%,transparent 96%);-webkit-mask-image:radial-gradient(ellipse at center,#000 58%,#000e 72%,transparent 96%)}}

/* Additional side feathering is desktop-only. */
@media(min-width:701px){
 html.site-story-frame body.home-mobile-branding .forest-header .logo-separate img{mask-image:radial-gradient(ellipse at center,#000 48%,#000e 62%,transparent 88%);-webkit-mask-image:radial-gradient(ellipse at center,#000 48%,#000e 62%,transparent 88%)} 
}
/* Desktop sky fades continuously from top to bottom, as on Home. */
@media(min-width:701px){
 html.site-story-frame body:is(.public-content-page,.home-polish-active) .site-shell>.forest-header::before{opacity:.68;mask-image:linear-gradient(to right,transparent,#000 14%,#000 86%,transparent),linear-gradient(to bottom,transparent 0,#0007 18%,#000c 42%,#0009 65%,#0004 84%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent,#000 14%,#000 86%,transparent),linear-gradient(to bottom,transparent 0,#0007 18%,#000c 42%,#0009 65%,#0004 84%,transparent 100%);mask-composite:intersect}
}
/* Uniform compact title cards, desktop only. */
@media(min-width:701px){
 html.site-story-frame body.public-content-page .site-shell #main .page-title,
 html.site-story-frame body.public-content-page .site-shell #main>.wrap>.page-title,
 html.site-story-frame body.public-content-page .site-shell #main .documents-logo-background .page-title{width:90%;max-width:760px;margin:0 auto 16px;padding:16px 20px;text-align:center;border:1px solid #d8b67d;border-radius:20px;background:radial-gradient(ellipse at center,#fffcf0,#fff2d9)}
 html.site-story-frame body.public-content-page .site-shell #main .page-title h1{font:500 25px/1.25 Georgia,serif;text-align:center;letter-spacing:0;margin:0 0 6px}
 html.site-story-frame body.public-content-page .site-shell #main .page-title>p{max-width:64ch;margin:0 auto;text-align:center;font-size:12.5px;line-height:1.5}
}
/* Mobile photo gallery: inset centered album choices and heading. */
@media(max-width:700px){
 html.site-story-frame body.public-content-page .site-shell #main .photo-collection-heading{width:88%;margin:0 auto;display:flex;flex-direction:column;gap:7px;text-align:center}
 html.site-story-frame body.public-content-page .site-shell #main .photo-collection-heading>div{min-width:0;width:100%}
 html.site-story-frame body.public-content-page .site-shell #main .photo-collection-heading h2{margin:0;text-align:center;font-size:18px}
 html.site-story-frame body.public-content-page .site-shell #main .photo-collection-heading p{margin:5px 0 0;font-size:12.5px;line-height:1.45;text-align:center}
 html.site-story-frame body.public-content-page .site-shell #main .gallery-albums{width:86%;max-width:340px;margin:16px auto 12px;justify-content:center;gap:8px}
 html.site-story-frame body.public-content-page .site-shell #main .gallery-albums button[data-album]{flex:0 1 auto;width:auto;max-width:100%;min-width:0;padding:6px 12px!important;text-align:center}
 html.site-story-frame body.public-content-page .site-shell #main .gallery-description{width:88%;margin:0 auto 14px;text-align:center}
}
/* Mobile photo cards keep equal side gutters and discreet captions. */
@media(max-width:700px){
 html.site-story-frame body.public-content-page .site-shell #main .photo-collection #gallery-cards{width:90%;max-width:100%;margin-inline:auto;gap:12px}
 html.site-story-frame body.public-content-page .site-shell #main .photo-collection #gallery-cards>.card{padding:0;min-width:0;overflow:hidden}
 html.site-story-frame body.public-content-page .site-shell #main .photo-collection #gallery-cards h3{font-size:12px;line-height:1.35;font-weight:500;text-align:center;margin:8px 10px 10px}
}
/* Desktop photo gallery follows the same centered, inset composition. */
@media(min-width:701px){
 html.site-story-frame body.public-content-page .site-shell #main .photo-collection-heading{width:90%;max-width:860px;margin:0 auto;justify-content:center;gap:12px;text-align:center}
 html.site-story-frame body.public-content-page .site-shell #main .photo-collection-heading h2{font-size:18px;text-align:center;margin:0}
 html.site-story-frame body.public-content-page .site-shell #main .photo-collection-heading p{font-size:12.5px;line-height:1.5;text-align:center;margin:5px 0 0}
 html.site-story-frame body.public-content-page .site-shell #main .gallery-albums{width:90%;max-width:860px;margin:16px auto 12px;justify-content:center;gap:10px}
 html.site-story-frame body.public-content-page .site-shell #main .gallery-albums button[data-album]{flex:0 1 auto;width:auto;padding:6px 14px!important;text-align:center}
 html.site-story-frame body.public-content-page .site-shell #main .gallery-description{width:88%;max-width:760px;margin:0 auto 16px;text-align:center}
 html.site-story-frame body.public-content-page .site-shell #main .photo-collection #gallery-cards{width:90%;max-width:860px;margin-inline:auto;gap:16px}
 html.site-story-frame body.public-content-page .site-shell #main .photo-collection #gallery-cards>.card{padding:0;min-width:0;overflow:hidden}
 html.site-story-frame body.public-content-page .site-shell #main .photo-collection #gallery-cards h3{font-size:13px;line-height:1.35;font-weight:500;text-align:center;margin:9px 12px 12px}
}
/* Desktop headings center on their containers; badges sit independently to the left. */
@media(min-width:701px){
 html.site-story-frame body.public-content-page .site-shell #main :is(.virtual-tour-intro,.photo-collection-heading){position:relative;display:block;text-align:center;min-height:48px;padding-inline:72px}
 html.site-story-frame body.public-content-page .site-shell #main :is(.virtual-tour-intro,.photo-collection-heading)>div{width:100%;text-align:center}
 html.site-story-frame body.public-content-page .site-shell #main :is(.virtual-tour-intro,.photo-collection-heading) .virtual-tour-badge{position:absolute;left:8px;top:50%;transform:translateY(-50%);margin:0}
 html.site-story-frame body.public-content-page .site-shell #main :is(.virtual-tour-intro,.photo-collection-heading) :is(h2,p){text-align:center;margin-inline:auto}
}
/* All tour/gallery heading copy shares the center line. */
@media(min-width:701px){
 html.site-story-frame body.public-content-page .site-shell #main .virtual-tour-intro :is(h2,p),
 html.site-story-frame body.public-content-page .site-shell #main .photo-collection-heading :is(h2,p){width:100%;max-width:none;text-align:center;margin-left:auto;margin-right:auto}
 html.site-story-frame body.public-content-page .site-shell #main .virtual-tour-intro p{margin-top:5px;margin-bottom:12px;font-size:12.5px;line-height:1.5}
}
/* Align the two desktop badges on the same vertical axis. */
@media(min-width:701px){
 html.site-story-frame body.public-content-page .site-shell #main .photo-collection-heading{width:90%;max-width:860px;padding-inline:90px}
 html.site-story-frame body.public-content-page .site-shell #main .photo-collection-heading .virtual-tour-badge{left:26px}
}
@media(min-width:701px){
 html.site-story-frame body.public-content-page .site-shell #main :is(.virtual-tour-intro,.photo-collection-heading){width:100%;max-width:660px;margin-inline:auto;padding-inline:72px}
 html.site-story-frame body.public-content-page .site-shell #main :is(.virtual-tour-intro,.photo-collection-heading) .virtual-tour-badge{left:8px;width:54px;min-width:54px;height:44px;box-sizing:border-box;display:grid;place-items:center;padding:0}
}
/* Mobile tour and photo headings share a centered axis and aligned side badges. */
@media(max-width:700px){
 html.site-story-frame body.public-content-page .site-shell #main :is(.virtual-tour-intro,.photo-collection-heading){position:relative;display:block;width:100%;max-width:none;min-height:54px;margin:0 auto 14px;padding:0 44px;text-align:center;box-sizing:border-box}
 html.site-story-frame body.public-content-page .site-shell #main .photo-collection-heading{width:calc(94% - 28px)}
 html.site-story-frame body.public-content-page .site-shell #main :is(.virtual-tour-intro,.photo-collection-heading)>div{width:100%;min-width:0;text-align:center}
 html.site-story-frame body.public-content-page .site-shell #main :is(.virtual-tour-intro,.photo-collection-heading) .virtual-tour-badge{position:absolute;left:0;top:4px;transform:none;width:36px;min-width:36px;height:36px;display:grid;place-items:center;box-sizing:border-box;padding:0;margin:0;font-size:10px}
 html.site-story-frame body.public-content-page .site-shell #main :is(.virtual-tour-intro,.photo-collection-heading) h2{font-size:17px;line-height:1.3;text-align:center;margin:0 0 6px}
 html.site-story-frame body.public-content-page .site-shell #main :is(.virtual-tour-intro,.photo-collection-heading) p{font-size:12px;line-height:1.45;text-align:center;margin:0;max-width:none}
}
/* Shared gutters also cover nested page layouts and their navigation controls. */
html.site-story-frame body.public-content-page .site-shell #main>.wrap>:is(.news-page,.activity-archive-nav,.activity-page-cover,.photo-collection,.filter,.calendar-toolbar){width:90%;max-width:860px;margin-left:auto;margin-right:auto}
html.site-story-frame body.public-content-page .site-shell #main .news-page>.grid{width:100%;margin-inline:auto}
html.site-story-frame body.public-content-page .site-shell #main :is(.video-toolbar,.video-years,.activity-archive-nav,.calendar-toolbar){display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px;margin:16px auto}
html.site-story-frame body.public-content-page .site-shell #main .video-gallery-page>h2{text-align:center}
html.site-story-frame body.public-content-page .site-shell #main>.wrap>.filter{max-width:310px}
html.site-story-frame body.public-content-page .site-shell #main .news-page .video-grid .news-card>details>summary{background:#fff8eb;color:#28495d;border:1px solid #d8cbb6;border-radius:7px;font-size:11px;box-shadow:none}
html.site-story-frame body.public-content-page .site-shell #main .news-page .video-grid .news-card>details>summary:hover{background:#f3ead8;border-color:#bead90}
/* Photo heading and cards already carry their own matching insets. */
html.site-story-frame body.public-content-page .site-shell #main>.wrap>.photo-collection{width:100%;max-width:none}
@media(max-width:700px){
 html.site-story-frame body.public-content-page .site-shell #main>.wrap>:is(.news-page,.activity-archive-nav,.activity-page-cover,.filter,.calendar-toolbar){width:90%}
 html.site-story-frame body.public-content-page .site-shell #main .news-page .page-title{width:100%;max-width:none}
}
/* Programmatic page focus must not draw a second rectangular frame around main. */
html.site-story-frame body .site-shell #main:focus{outline:none}
/* Inset the closing parent-resources panel just like the guide cards above. */
html.site-story-frame body.public-content-page .site-shell #main>.wrap>.parent-resources{width:90%;max-width:860px;margin:16px auto 0;padding:16px 18px;border:1px solid #d8b67d;border-radius:20px;box-shadow:0 3px 10px #82643914}
html.site-story-frame body.public-content-page .site-shell #main>.wrap>.parent-resources :is(.eyebrow,h2){text-align:center}
html.site-story-frame body.public-content-page .site-shell #main>.wrap>.parent-resources h2{font-size:18px;margin:6px 0 12px}
@media(max-width:700px){html.site-story-frame body.public-content-page .site-shell #main>.wrap>.parent-resources{width:94%;padding:12px 14px;border-radius:16px}}
/* Contact map panel uses the common inset and a single centered control column. */
html.site-story-frame body.public-content-page .site-shell #main .contact-map-section{width:90%;max-width:860px;margin:16px auto 0}
html.site-story-frame body.public-content-page .site-shell #main .contact-map-section>.card{width:100%;box-sizing:border-box}
html.site-story-frame body.public-content-page .site-shell #main .contact-map-section :is(.contact-visit-button,#map-cookie-settings,.source>a){display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:220px;max-width:100%;min-height:34px;margin:12px auto;padding:6px 10px;font-size:11px;line-height:1.4;text-align:center;background:#fff8eb!important;color:#28495d!important;border:1px solid #d8cbb6!important;border-radius:7px;text-decoration:none}
html.site-story-frame body.public-content-page .site-shell #main .contact-map-section #map-preferences{max-width:560px;margin:12px auto;text-align:center}
html.site-story-frame body.public-content-page .site-shell #main .contact-map-section #map-preferences p{text-align:center}
html.site-story-frame body.public-content-page .site-shell #main .contact-map-section .source{margin:0;text-align:center}
html.site-story-frame body.public-content-page .site-shell #main .contact-map-section .contact-map-original{display:block;max-width:100%;margin-inline:auto}
html.site-story-frame body.public-content-page .site-shell #main .contact-map-section .contact-map-original[hidden]{display:none}
@media(max-width:700px){html.site-story-frame body.public-content-page .site-shell #main .contact-map-section{width:94%}}
/* Archive year controls stay centered below the gallery navigation button. */
html.site-story-frame body.public-content-page .site-shell #main .video-gallery-page .video-years{width:100%;max-width:100%;display:flex;justify-content:center;align-items:center;gap:10px;margin:12px auto 16px}
html.site-story-frame body.public-content-page .site-shell #main .video-gallery-page .video-years select{display:block;width:220px;max-width:100%;margin-inline:auto}
html.site-story-frame body.public-content-page .site-shell #main .video-gallery-page .video-years label{text-align:center;margin-inline:auto}
/* Map consent keeps its explanation without the yellow warning treatment. */
html.site-story-frame body.public-content-page .site-shell #main .contact-map-section #map-preferences{background:transparent;border:0;box-shadow:none;padding:8px 0}
html.site-story-frame body.public-content-page .site-shell #main .video-gallery-page .video-years{background:transparent;border:0;border-radius:0;box-shadow:none;padding:0;min-height:0}
html.site-story-frame body.public-content-page .site-shell #main .video-description{margin:0 0 12px}
html.site-story-frame body.public-content-page .site-shell #main .video-description details{margin:4px 0 0;padding:0;border:0;background:transparent;box-shadow:none}
html.site-story-frame body.public-content-page .site-shell #main .video-description summary{cursor:pointer;font-size:11px;color:#805d35;list-style:none;text-align:left;padding:3px 0}
html.site-story-frame body.public-content-page .site-shell #main .video-description summary::-webkit-details-marker{display:none}
html.site-story-frame body.public-content-page .site-shell #main .video-description:has(details[open])>p{display:none}
html.site-story-frame body.public-content-page .site-shell #main .video-description details[open] summary{margin-bottom:5px}
/* Equal video cards with a three-line description preview. */
html.site-story-frame body.public-content-page .site-shell #main .video-grid{align-items:stretch}
html.site-story-frame body.public-content-page .site-shell #main .video-grid>.news-card{display:flex;flex-direction:column;height:100%}
html.site-story-frame body.public-content-page .site-shell #main .video-description>p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5;min-height:4.5em;max-height:4.5em;margin-bottom:4px}
html.site-story-frame body.public-content-page .site-shell #main .video-description:has(details[open])>p{display:none}
html.site-story-frame body.public-content-page .site-shell #main .video-grid>.news-card>h2{min-height:2.6em}
/* Mobile enrollment cards share one width and one vertical rhythm. */
@media(max-width:700px){
 html.site-story-frame body.public-content-page .site-shell #main>.wrap.enrollment-background>.enrollment-page{width:94%;margin:0 auto;display:grid;gap:14px}
 html.site-story-frame body.public-content-page .site-shell #main .enrollment-page>:is(.card,.grid,.cta){width:100%;max-width:none;margin:0;box-sizing:border-box}
 html.site-story-frame body.public-content-page .site-shell #main .enrollment-page>.grid{display:grid;grid-template-columns:1fr;gap:14px}
 html.site-story-frame body.public-content-page .site-shell #main .enrollment-page>.grid>.card{width:100%;margin:0;box-sizing:border-box}
 html.site-story-frame body.public-content-page .site-shell #main .enrollment-page .enrollment-ages{gap:12px}
 html.site-story-frame body.public-content-page .site-shell #main .enrollment-page .enrollment-visit{padding:14px;align-items:center;text-align:center;gap:12px}
}
/* Mobile Contact: equal card/form gaps and a compact map control stack. */
@media(max-width:700px){
 html.site-story-frame body.public-content-page .site-shell #main .contact-form-layout{gap:14px;margin-bottom:0}
 html.site-story-frame body.public-content-page .site-shell #main .contact-form-layout>.card{margin:0}
 html.site-story-frame body.public-content-page .site-shell #main .contact-map-section{margin-top:14px}
 html.site-story-frame body.public-content-page .site-shell #main #contact-form{display:grid;gap:12px}
 html.site-story-frame body.public-content-page .site-shell #main #contact-form>.grid{gap:12px;margin:0}
 html.site-story-frame body.public-content-page .site-shell #main #contact-form label{display:grid;gap:5px;margin:0}
 html.site-story-frame body.public-content-page .site-shell #main #contact-form :is(input,textarea){margin:0}
 html.site-story-frame body.public-content-page .site-shell #main #contact-form>p{margin:0}
 html.site-story-frame body.public-content-page .site-shell #main .contact-map-section :is(.contact-visit-button,#map-cookie-settings,.source>a){margin:6px auto;min-height:34px}
 html.site-story-frame body.public-content-page .site-shell #main .contact-map-section #map-preferences{margin:6px auto 0;padding:0}
 html.site-story-frame body.public-content-page .site-shell #main .contact-map-section #map-preferences p{margin:0 0 5px}
 html.site-story-frame body.public-content-page .site-shell #main .contact-map-section .source{margin:0}
}
@media(max-width:700px){
 html.site-story-frame body.public-content-page .site-shell #main #contact-form label{display:block;margin:0}
 html.site-story-frame body.public-content-page .site-shell #main #contact-form label>:is(input,textarea){display:block;width:100%;margin:5px 0 0}
}
/* Fine outlines for every inset fee/meal/benefit panel. */
html.site-story-frame body.public-content-page .site-shell #main .enrollment-page :is(.fee-calculator-result,.fees-contributions>p,.meal-price-grid>p,.family-benefits-grid>article,.family-benefits-grid>div){border:1px solid #d8b67d;box-shadow:0 2px 7px #82643910;border-radius:10px;box-sizing:border-box}
@media(max-width:700px){
 html.site-story-frame body.public-content-page .site-shell #main>.wrap.enrollment-background>.enrollment-page{width:90%}
 html.site-story-frame body.public-content-page .site-shell #main .enrollment-page :is(.fee-calculator-result,.fees-contributions,.meal-price-grid,.family-benefits-grid){width:96%;margin-left:auto;margin-right:auto}
 html.site-story-frame body.public-content-page .site-shell #main .enrollment-page :is(.fees-contributions,.meal-price-grid)>p{margin-block:0}
}
/* Mobile optional activities use the same inset and centered introduction. */
@media(max-width:700px){
 html.site-story-frame body.public-content-page .site-shell #main .optional-section{width:90%;max-width:860px;margin:14px auto 0}
 html.site-story-frame body.public-content-page .site-shell #main .enrollment-page>.optional-section{width:100%;margin:0}
 html.site-story-frame body.public-content-page .site-shell #main .optional-section>h2{text-align:center;margin:0 0 8px}
 html.site-story-frame body.public-content-page .site-shell #main .optional-section>p{width:94%;margin:0 auto 14px;text-align:center;font-size:12.5px;line-height:1.5}
 html.site-story-frame body.public-content-page .site-shell #main .optional-grid{width:100%;margin-inline:auto;gap:14px}
 html.site-story-frame body.public-content-page .site-shell #main .optional-grid>.optional-card{width:100%;margin:0;box-sizing:border-box}
}
/* Mobile weekly menus keep centered controls and matching side gutters. */
@media(max-width:700px){
 html.site-story-frame body.public-content-page .site-shell #main .menu-intro{width:88%;max-width:600px;margin:14px auto;text-align:center;font-size:12.5px;line-height:1.5}
 html.site-story-frame body.public-content-page .site-shell #main :is(.menu-weeks,#weekly-menu){width:90%;max-width:860px;margin:14px auto}
 html.site-story-frame body.public-content-page .site-shell #main .menu-weeks{display:grid;gap:14px}
 html.site-story-frame body.public-content-page .site-shell #main .menu-weeks>.menu-week{width:100%;margin:0;box-sizing:border-box}
 html.site-story-frame body.public-content-page .site-shell #main .menu-week>summary{width:90%;margin-inline:auto;text-align:center;box-sizing:border-box;padding:9px 12px;list-style-position:inside}
 html.site-story-frame body.public-content-page .site-shell #main .menu-days{width:100%;margin-inline:auto;gap:12px}
 html.site-story-frame body.public-content-page .site-shell #main .menu-day{min-width:0;max-width:100%;box-sizing:border-box}
 html.site-story-frame body.public-content-page .site-shell #main .menu-original>summary{text-align:center}
 html.site-story-frame body.public-content-page .site-shell #main :is(.menu-allergens,.meal-absence-policy)>h2{text-align:center}
}
/* Small centered week toggles on mobile, including the expanded week. */
@media(max-width:700px){
 html.site-story-frame body.public-content-page .site-shell #main .menu-weeks>.menu-week{padding:10px 12px}
 html.site-story-frame body.public-content-page .site-shell #main .menu-week>summary{display:table;width:auto;max-width:100%;min-height:0;margin:0 auto;padding:5px 12px;font-size:12px;line-height:1.4;font-weight:500;border:1px solid #d8cbb6;border-radius:7px;background:#fff8eb;list-style:none;text-align:center}
 html.site-story-frame body.public-content-page .site-shell #main .menu-week>summary::-webkit-details-marker{display:none}
 html.site-story-frame body.public-content-page .site-shell #main .menu-week[open]>summary{margin-bottom:12px}
 html.site-story-frame body.public-content-page .site-shell #main .menu-week:not([open]){width:max-content;max-width:100%;justify-self:center;border:0;background:transparent;box-shadow:none;padding:0}
}
/* Event labels keep clear of the shared name and navigation on desktop. */
@media(min-width:701px){
 html.site-story-frame body.home-mobile-branding .forest-header>.decor-event-badge{position:relative;grid-column:1/-1;grid-row:3;justify-self:center;right:auto;top:auto;width:auto;max-width:90%;margin:6px auto 0;padding:7px 18px;font:500 18px/1.3 Georgia,serif;transform:none;border:1px solid #d8b67d;border-radius:12px;background:radial-gradient(ellipse at center,#fffcf0,#fff2d9);box-shadow:0 3px 10px #82643914}
}
/* The new wordmark stays visible for every calendar theme. */
html.site-story-frame body.home-mobile-branding .forest-header .brand-illustrated{display:none!important}
@media(max-width:700px){
 html.site-story-frame body.home-mobile-branding .home-mobile-logo-decor::before,
 html.site-story-frame body.home-mobile-branding .home-mobile-logo-decor::after{opacity:.68;top:14px}
 html.site-story-frame body.home-mobile-branding .home-mobile-logo-decor::before{mask-image:radial-gradient(ellipse at 40% 48%,#000 12%,#0009 35%,transparent 68%);-webkit-mask-image:radial-gradient(ellipse at 40% 48%,#000 12%,#0009 35%,transparent 68%)}
 html.site-story-frame body.home-mobile-branding .home-mobile-logo-decor::after{mask-image:radial-gradient(ellipse at 60% 48%,#000 12%,#0009 35%,transparent 68%);-webkit-mask-image:radial-gradient(ellipse at 60% 48%,#000 12%,#0009 35%,transparent 68%)}
}
/* Candy theme uses artwork alone, without the event plaque. */
html.site-story-frame[data-decor-theme=candy] .forest-header>.decor-event-badge{display:none!important}
/* Tall candy garlands stay on the sides; the logo uses soft autumn corners. */
@media(max-width:700px){
 html.site-story-frame[data-decor-theme=candy] body.home-mobile-branding .home-mobile-logo-decor::before{background-image:url('assets/decor-toamna-colt-stanga.webp');background-size:378px 126px;opacity:.55}
 html.site-story-frame[data-decor-theme=candy] body.home-mobile-branding .home-mobile-logo-decor::after{background-image:url('assets/decor-toamna-colt-dreapta.webp');background-size:378px 126px;opacity:.55}
 html.site-story-frame[data-decor-theme=candy] body::before{background:linear-gradient(to bottom,#e7dce9 0,#f5e8dc 170px,#fff4dc 330px,#f5e7c8 100%)!important}
 html.site-story-frame[data-decor-theme=candy] .site-decor-leftOverlay,
 html.site-story-frame[data-decor-theme=candy] .site-decor-rightOverlay{width:12px;opacity:.55}
}
.logo-halloween-accents{display:none}
@media(max-width:700px){
 html.site-story-frame[data-decor-theme=candy] .home-mobile-logo-decor .logo-halloween-accents{display:block;position:absolute;inset:0;pointer-events:none;z-index:2}
 .logo-halloween-accents .logo-pumpkin{position:absolute;left:-40px;bottom:5px;font-size:38px;line-height:1;transform:rotate(-9deg);filter:drop-shadow(0 2px 2px #75482726)}
 .logo-halloween-accents .logo-bat{position:absolute;right:-40px;top:25px;font-size:26px;line-height:1;transform:rotate(12deg);opacity:.85}
}
/* Mobile Halloween accents sit over the lower corners of the building scene. */
@media(max-width:700px){
 html.site-story-frame[data-decor-theme=candy] body.home-mobile-branding .site-shell #main>.hero{position:relative}
 html.site-story-frame[data-decor-theme=candy] body.home-mobile-branding .site-shell #main>.hero::before{content:'🎃  🍬';display:block;position:absolute;left:18px;bottom:16px;z-index:2;font-size:30px;line-height:1;pointer-events:none;filter:drop-shadow(0 2px 3px #70432930);transform:rotate(-7deg)}
}
/* Pumpkins sit on the garden lawn; remove the candy accent. */
@media(max-width:700px){
 html.site-story-frame[data-decor-theme=candy] body.home-mobile-branding .site-shell #main>.hero::before{content:'🎃';left:20px;bottom:58px;font-size:26px;transform:rotate(-6deg);text-shadow:65px -8px 0 #0000}
 html.site-story-frame[data-decor-theme=candy] body.home-mobile-branding .site-shell #main>.hero .hero-content::after{content:'🎃  🎃';position:absolute;right:23px;bottom:63px;z-index:2;display:block;font-size:19px;line-height:1;letter-spacing:12px;pointer-events:none;filter:drop-shadow(0 2px 2px #70432930);transform:rotate(5deg)}
}
@media(max-width:700px){
 html.site-story-frame[data-decor-theme=candy] body.home-mobile-branding .site-shell #main>.hero::before{content:'🎃　🎃　🎃';left:22px;right:18px;bottom:57px;font-size:22px;letter-spacing:22px;transform:none;text-align:center;white-space:nowrap}
 html.site-story-frame[data-decor-theme=candy] body.home-mobile-branding .site-shell #main>.hero .hero-content::after{content:none}
}
/* Halloween garden: use the desktop artwork at ground level, with visible ghosts. */
@media(max-width:700px){
 html.site-story-frame[data-decor-theme=candy] body.home-mobile-branding .site-shell #main>.hero::before{content:'';left:14px;right:14px;bottom:18px;height:62px;width:auto;background:url('assets/halloween-garden-bats.svg') center bottom/100% 100% no-repeat;font-size:0;letter-spacing:0;transform:none;filter:drop-shadow(0 2px 2px #30213f35)}
 html.site-story-frame[data-decor-theme=candy] body.home-mobile-branding .site-shell #main>.hero::after{background-size:112% auto,140% auto;background-position:center calc(100% - 10px),right 75%}
}
/* Keep the children unobscured: Halloween decorations only in the lower corners. */
@media(min-width:701px){
 html.site-story-frame[data-decor-theme=candy] .site-shell::before{background-image:var(--decor-building-image,url('assets/fundal-pastel-v4.png'));background-position:center 26px;background-size:100% auto}
 html.site-story-frame[data-decor-theme=candy] .site-decor-buildingOverlay{top:200px;right:0;width:100%;height:auto;aspect-ratio:1774/887;mask-image:linear-gradient(to right,#000 0 19%,transparent 34% 67%,#000 82% 100%)}
 html.site-story-frame[data-decor-theme=candy] .site-decor-buildingOverlay img{width:100%;height:auto}
}
@media(max-width:700px){
 html.site-story-frame[data-decor-theme=candy] .site-decor-buildingOverlay{display:none}
 html.site-story-frame[data-decor-theme=candy] body.home-mobile-branding .site-shell #main>.hero::after{background-image:var(--decor-building-image,url('assets/fundal-pastel-v4.png'));background-size:140% auto;background-position:right 75%}
 html.site-story-frame[data-decor-theme=candy] body.home-mobile-branding .site-shell #main>.hero::before{left:0;right:0;bottom:18px;height:150px;background-image:url('assets/halloween-garden-bats.svg'),url('assets/candy-building-overlay.webp');background-size:100% 62px,100% auto;background-position:center bottom,center bottom;background-repeat:no-repeat;mask-image:linear-gradient(to right,#000 0 20%,transparent 34% 67%,#000 82% 100%)}
}

@media(max-width:700px){
 html.site-story-frame[data-decor-theme=candy] body.home-mobile-branding .site-shell #main>.hero::before{background-position:center calc(100% - 45px),center bottom}
}
/* Desktop Halloween: leave the entire building scene clear above the controls. */
@media(min-width:701px){
 html.site-story-frame[data-decor-theme=candy] body.home-mobile-branding .site-shell #main>.home-discover-actions{margin-top:clamp(210px,17vw,280px)}
 html.site-story-frame[data-decor-theme=candy] body.home-mobile-branding .site-shell #main>.hero{position:relative}
 html.site-story-frame[data-decor-theme=candy] body.home-mobile-branding .site-shell #main>.hero::after{content:'';display:block;position:absolute;right:18px;top:210px;width:45%;height:100px;background:url('assets/halloween-garden-bats.svg') center/100% auto no-repeat;pointer-events:none;z-index:1}
}
/* Desktop pumpkin clusters match the mobile lawn corners. */
@media(min-width:701px){
 html.site-story-frame[data-decor-theme=candy] body.home-mobile-branding .site-shell>.site-decor-buildingOverlay{display:block;top:350px;right:0;width:100%;height:auto;aspect-ratio:1774/887;z-index:0;pointer-events:none;mask-image:linear-gradient(to right,#000 0 17%,transparent 32% 70%,#000 85% 100%)}
}
@media(min-width:701px){
 html.site-story-frame[data-decor-theme=candy] body.home-mobile-branding .site-shell #main>.hero::before{content:'';display:block;position:absolute;left:0;right:0;top:80px;width:100%;height:auto;aspect-ratio:1774/887;background:url('assets/candy-building-overlay.webp') center bottom/100% auto no-repeat;mask-image:linear-gradient(to right,#000 0 17%,transparent 32% 70%,#000 85% 100%);pointer-events:none;z-index:1}
}
@media(max-width:700px){
 html.site-story-frame[data-decor-theme=candy] body.home-mobile-branding .site-shell #main>.hero::before{height:205px;background-position:center calc(100% - 100px),center bottom}
}
/* Lower desktop pumpkins into the softly faded bottom corners of the lawn. */
@media(min-width:701px){
 html.site-story-frame[data-decor-theme=candy] body.home-mobile-branding .site-shell #main>.hero::before{top:145px;opacity:.83}
}
/* Desktop: discovery action directly below the introduction, keep lower cards clear of the photo. */
@media(min-width:701px){
 html.site-story-frame[data-decor-theme=candy] body.home-mobile-branding .site-shell #main>.home-discover-actions{margin-top:12px}
 html.site-story-frame[data-decor-theme=candy] body.home-mobile-branding .site-shell #main>.home-discover-actions+.home-accreditation{margin-top:clamp(232px,19vw,302px)}
}
/* National Day: a fine tricolor ribbon, without the text plaque. */
html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) body.home-mobile-branding .forest-header>.decor-event-badge{display:block;width:180px;max-width:65%;height:3px;min-height:0;margin:7px auto 0;padding:0;border:0;border-radius:2px;background:linear-gradient(to right,#164fa2 0 33.333%,#f3cc38 33.333% 66.666%,#c6373e 66.666%);box-shadow:none;font-size:0;line-height:0}
html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) .decor-event-badge>span,
html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) .decor-event-badge::after{display:none!important}
@media(max-width:700px){
 html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) body.home-mobile-branding .home-mobile-logo-decor::before{background-image:url('assets/romania-logo-ribbon.svg');background-size:100% 100%;background-position:center;opacity:.92;mask-image:none;-webkit-mask-image:none;top:35px;left:-50px;width:65px;height:65px}
 html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) body.home-mobile-branding .home-mobile-logo-decor::after{background-image:url('assets/romania-logo-ribbon.svg');background-size:100% 100%;background-position:center;opacity:.92;mask-image:none;-webkit-mask-image:none;top:35px;right:-50px;width:65px;height:65px;transform:scaleX(-1)}
}
/* National Day uses the complete winter scenery, with only a narrow tricolor accent. */
html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) .site-decor-left::after,
html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) .site-decor-right::after{content:'';position:absolute;top:0;bottom:0;width:5px;background:linear-gradient(to right,#2357a1 0 33.333%,#e5bc36 33.333% 66.666%,#ca4245 66.666%);opacity:.7;pointer-events:none}
html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) .site-decor-left::after{left:0}
html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) .site-decor-right::after{right:0}
/* Winter sprigs and soft fabric tricolors frame the mobile logo together. */
@media(max-width:700px){
 html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) body.home-mobile-branding .home-mobile-logo-decor::before{left:-78px;top:13px;width:100px;height:112px;background-image:url('assets/romania-logo-ribbon.svg'),url('assets/nicholas-top-left.webp');background-size:73px 73px,180px auto;background-position:12px 39px,right top;background-repeat:no-repeat;opacity:.9;mask-image:linear-gradient(to bottom,#000 0 83%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0 83%,transparent 100%)}
 html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) body.home-mobile-branding .home-mobile-logo-decor::after{right:-78px;top:13px;width:100px;height:112px;background-image:url('assets/romania-logo-ribbon.svg'),url('assets/nicholas-top-left.webp');background-size:73px 73px,180px auto;background-position:12px 39px,right top;background-repeat:no-repeat;opacity:.9;transform:scaleX(-1);mask-image:linear-gradient(to bottom,#000 0 83%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0 83%,transparent 100%)}
}
/* A broad, softly blurred tricolor arch behind the logo, with lower winter branches. */
@media(max-width:700px){
 html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) body.home-mobile-branding .home-mobile-logo-decor::before{left:50%;right:auto;top:-7px;width:310px;height:164px;transform:translateX(-50%);background:url('assets/romania-logo-arc.svg') center/100% 100% no-repeat;opacity:.8;mask-image:none;-webkit-mask-image:none;z-index:0}
 html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) body.home-mobile-branding .home-mobile-logo-decor::after{left:50%;right:auto;top:33px;width:300px;height:100px;transform:translateX(-50%);background-image:url('assets/nicholas-top-left.webp'),url('assets/nicholas-top-right.webp');background-size:170px auto,170px auto;background-position:left top,right top;background-repeat:no-repeat;opacity:.84;mask-image:linear-gradient(to bottom,#000 0 70%,transparent);-webkit-mask-image:linear-gradient(to bottom,#000 0 70%,transparent);z-index:0}
}
/* Fade the lower ends of the tricolor arch smoothly into the background. */
@media(max-width:700px){
 html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) body.home-mobile-branding .home-mobile-logo-decor::before{mask-image:linear-gradient(to bottom,#000 0 48%,#000d 62%,#0006 79%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0 48%,#000d 62%,#0006 79%,transparent 100%)}
}
/* National flags frame the building photo without covering its center. */
@media(max-width:700px){
 html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) body.home-mobile-branding .site-shell #main>.hero{position:relative}
 html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) body.home-mobile-branding .site-shell #main>.hero::before{content:'';display:block;position:absolute;left:0;right:0;bottom:25px;height:82px;background:url('assets/romania-building-flags.svg') center/100% 100% no-repeat;pointer-events:none;z-index:2;filter:drop-shadow(0 1px 1px #354b5226)}
}
@media(min-width:701px){
 html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) body.home-mobile-branding .site-shell #main>.hero{position:relative}
 html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) body.home-mobile-branding .site-shell #main>.hero::after{content:'';display:block;position:absolute;right:0;top:310px;width:64%;height:150px;background:url('assets/romania-building-flags.svg') center/100% 100% no-repeat;pointer-events:none;z-index:1}
}
/* The National Day illustration now contains its own fence pennants and characters. */
html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) body.home-mobile-branding .site-shell #main>.hero::before,
html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) body.home-mobile-branding .site-shell #main>.hero::after{background-image:none}
@media(max-width:700px){html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) body.home-mobile-branding .site-shell #main>.hero::after{background-image:var(--decor-building-image);background-size:140% auto;background-position:right 75%}}
/* Winter branches start higher and descend inward toward the logo. */
@media(max-width:700px){
 html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) body.home-mobile-branding .home-mobile-logo-decor::after{top:7px;width:290px;height:112px;background-size:145px 100px,145px 100px;background-position:left top,right top;opacity:.84;mask-image:radial-gradient(ellipse at 50% 20%,#000 35%,#000b 64%,transparent 94%);-webkit-mask-image:radial-gradient(ellipse at 50% 20%,#000 35%,#000b 64%,transparent 94%)}
}
/* A single original, asymmetric winter arrangement replaces repeated corner images. */
@media(max-width:700px){
 html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) :is(.site-decor-topLeft,.site-decor-topRight){display:none}
 html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) body.home-mobile-branding .home-mobile-logo-decor::after{top:-4px;width:310px;height:124px;background:url('assets/romania-logo-winter-sprigs.png') center top/100% 100% no-repeat;opacity:.94;mask-image:none;-webkit-mask-image:none}
}
/* Keep the upper winter corners alongside the new logo sprigs. */
@media(max-width:700px){
 html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) :is(.site-decor-topLeft,.site-decor-topRight){display:block}
}
/* Desktop National Day sky carries the same softly fading tricolor arch. */
@media(min-width:701px){
 html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) body.home-mobile-branding .site-shell #main>.hero::after{content:'';display:block;position:absolute;right:12px;top:10px;width:58%;height:280px;background:url('assets/romania-logo-arc.svg') center/100% 100% no-repeat;opacity:.62;mask-image:linear-gradient(to bottom,#000 0 48%,#000c 64%,#0005 81%,transparent);-webkit-mask-image:linear-gradient(to bottom,#000 0 48%,#000c 64%,#0005 81%,transparent);pointer-events:none;z-index:0}
}
@media(min-width:701px){html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) body.home-mobile-branding .site-shell #main>.hero::after{left:auto;bottom:auto;z-index:1;opacity:.7}}
@media(min-width:701px){html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) body.home-mobile-branding .site-shell #main>.hero::after{top:-110px}}
/* Keep the desktop arch entirely in the sky beside and above the navigation. */
@media(min-width:701px){html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) body.home-mobile-branding .site-shell #main>.hero::after{top:-205px;height:230px;width:62%;right:0}}
/* Wide desktop sky arch passes beneath the subtitle across the full content width. */
@media(min-width:701px){html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) body.home-mobile-branding .site-shell #main>.hero::after{left:-1%;right:auto;top:-265px;width:102%;height:300px;opacity:.62;z-index:0}}
/* Stretch horizontally rather than raising the arch; keep the name in the foreground. */
@media(min-width:701px){
 html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) body.home-mobile-branding .site-shell #main>.hero::after{left:-5%;width:110%;height:260px;top:-235px;background-image:url('assets/romania-desktop-arc.svg');background-size:100% 100%;z-index:0}
 html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) body.home-mobile-branding .forest-header{position:relative;z-index:2}
 html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) body.home-mobile-branding .forest-header :is(.home-desktop-name,.home-mobile-brand-title,.home-brand-title){position:relative;z-index:3}
}
@media(min-width:701px){html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) body.home-mobile-branding .site-shell #main>.hero::after{left:4%;width:92%}}
/* Narrower, taller arch sits behind the complete header and navigation. */
@media(min-width:701px){
 html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) body.home-mobile-branding .site-shell #main>.hero::after{left:12%;width:76%;height:310px;top:-270px;z-index:-1}
 html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) body.home-mobile-branding .site-shell>.forest-header{position:relative;z-index:5;isolation:isolate}
 html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) body.home-mobile-branding .forest-header #nav{position:relative;z-index:6;background:rgba(255,253,248,.94)}
 html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) body.home-mobile-branding .forest-header :is(.home-desktop-name,.home-mobile-brand-title,.home-brand-title){position:relative;z-index:7}
}
/* Romanian woven embroidery accents complement the snowy side illustrations. */
@media(min-width:701px){
 html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) .site-decor-left::after,
 html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) .site-decor-right::after{width:22px;top:180px;bottom:12px;background:url('assets/romania-traditional-border.svg') center top/22px 88px repeat-y;opacity:.83;border-radius:3px;mask-image:linear-gradient(to bottom,transparent,#000 45px,#000 calc(100% - 45px),transparent)}
 html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) .site-decor-left::after{left:12px}
 html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) .site-decor-right::after{right:12px}
}
@media(max-width:700px){
 html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) :is(.site-decor-mobileLeft,.site-decor-mobileRight)::after{content:'';position:absolute;top:40px;bottom:15px;width:7px;background:url('assets/romania-traditional-border.svg') center/7px 28px repeat-y;opacity:.7;pointer-events:none}
 html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) .site-decor-mobileLeft::after{left:0}
 html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) .site-decor-mobileRight::after{right:0}
}
/* Remove the woven strips so the winter illustrations remain unobstructed. */
html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) :is(.site-decor-left,.site-decor-right,.site-decor-mobileLeft,.site-decor-mobileRight)::after{display:none}
/* Reveal the tricolor once, from left to right, then leave it fully visible. */
@keyframes romania-tricolor-reveal{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@media(min-width:701px){html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) body.home-mobile-branding .site-shell #main>.hero::after{animation:romania-tricolor-reveal 2.6s ease-in-out .35s both}}
@media(max-width:700px){html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) body.home-mobile-branding .home-mobile-logo-decor::before{animation:romania-tricolor-reveal 2.6s ease-in-out .35s both}}
@media(prefers-reduced-motion:reduce){
 html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) body.home-mobile-branding .site-shell #main>.hero::after,
 html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) body.home-mobile-branding .home-mobile-logo-decor::before{animation:none;clip-path:none}
}
/* Draw the colored bands along their curved paths, without a straight wipe edge. */
@media(min-width:701px){html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) body.home-mobile-branding .site-shell #main>.hero::after{animation:none;clip-path:none;background-image:url('assets/romania-desktop-arc-draw.svg')}}
@media(max-width:700px){html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) body.home-mobile-branding .home-mobile-logo-decor::before{animation:none;clip-path:none;background-image:url('assets/romania-logo-arc-draw.svg')}}
@media(prefers-reduced-motion:reduce){
 html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) body.home-mobile-branding .site-shell #main>.hero::after{background-image:url('assets/romania-desktop-arc.svg')}
 html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) body.home-mobile-branding .home-mobile-logo-decor::before{background-image:url('assets/romania-logo-arc.svg')}
}
/* Let the logo's multiply blend reach the sky instead of an isolated white layer. */
@media(min-width:701px){
 html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) body.home-mobile-branding .site-shell>.forest-header{isolation:auto;z-index:auto}
 html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) body.home-mobile-branding .forest-header .logo-separate{background:transparent;isolation:auto;mix-blend-mode:multiply;position:relative;z-index:2}
 html.site-story-frame:is([data-decor-theme=romania],[data-decor-theme=union]) body.home-mobile-branding .forest-header .home-logo-reveal{background:transparent;isolation:auto}
}
/* Slightly smaller pen; scaling around the nib keeps it aligned with the ink. */
html body.home-mobile-branding .hero-content>h1 .home-writing-pen{transform:rotate(var(--pen-tilt,26deg)) scale(.85)}

/* One approved winter sprig arrangement for all winter celebrations. */
html.site-story-frame:is([data-decor-theme=winter],[data-decor-theme=nicholas],[data-decor-theme=christmas],[data-decor-theme=newyear],[data-decor-theme=union]) .forest-header>.decor-event-badge{display:none!important}
@media(max-width:700px){
 html.site-story-frame:is([data-decor-theme=winter],[data-decor-theme=nicholas],[data-decor-theme=christmas],[data-decor-theme=newyear]) body.home-mobile-branding .home-mobile-logo-decor::before{content:none}
 html.site-story-frame:is([data-decor-theme=winter],[data-decor-theme=nicholas],[data-decor-theme=christmas],[data-decor-theme=newyear],[data-decor-theme=romania],[data-decor-theme=union]) body.home-mobile-branding .home-mobile-logo-decor::after{content:'';left:50%;right:auto;top:-4px;width:310px;height:124px;transform:translateX(-50%);background:url('assets/romania-logo-winter-sprigs.png') center top/100% 100% no-repeat;opacity:.94;mask-image:none;-webkit-mask-image:none;z-index:0}
}
@media(min-width:701px){
 html.site-story-frame:is([data-decor-theme=winter],[data-decor-theme=nicholas],[data-decor-theme=christmas],[data-decor-theme=newyear],[data-decor-theme=romania],[data-decor-theme=union]) body.home-mobile-branding .forest-header .logo-separate{position:relative}
 html.site-story-frame:is([data-decor-theme=winter],[data-decor-theme=nicholas],[data-decor-theme=christmas],[data-decor-theme=newyear],[data-decor-theme=romania],[data-decor-theme=union]) body.home-mobile-branding .forest-header .logo-separate::after{content:'';position:absolute;left:50%;top:-9px;width:216px;height:86px;transform:translateX(-50%);background:url('assets/romania-logo-winter-sprigs.png') center top/100% 100% no-repeat;pointer-events:none;z-index:-1;opacity:.86}
}
/* Show the complete Christmas evening scene, including the sleigh and sky star, on phones. */
@media(max-width:700px){
 html.site-story-frame[data-decor-theme=christmas] body.home-mobile-branding .site-shell #main>.hero::after{height:clamp(225px,72vw,290px);background-size:110% auto;background-position:center 68%;mask-image:linear-gradient(to bottom,transparent,#000 10%,#000 88%,transparent)}
 html.site-story-frame[data-decor-theme=christmas] body.home-mobile-branding .site-shell #main>.hero::before{content:'✦';position:absolute;display:block;right:22%;bottom:194px;z-index:2;color:#fff8c9;font:28px/1 Georgia,serif;text-shadow:0 0 5px #fff,0 0 12px #ffd779,0 0 20px #ffdb7c;pointer-events:none;animation:christmas-star-glow 3s ease-in-out infinite alternate}
}
@keyframes christmas-star-glow{from{opacity:.7;filter:brightness(1)}to{opacity:1;filter:brightness(1.35)}}
@media(prefers-reduced-motion:reduce){html.site-story-frame[data-decor-theme=christmas] body.home-mobile-branding .site-shell #main>.hero::before{animation:none}}
/* Pulse only the original star and its halo, preserving the illustrated rays. */
@keyframes christmas-star-radiance{0%,100%{opacity:.08;filter:brightness(.95) drop-shadow(0 0 2px #ffe0a0)}50%{opacity:1;filter:brightness(1.8) drop-shadow(0 0 12px #ffe5ad)}}
@media(min-width:701px){
 html.site-story-frame[data-decor-theme=christmas] body.home-mobile-branding .site-shell::after{content:'';position:absolute;inset:0 0 auto;height:1000px;background:var(--decor-building-image) center top/100% auto no-repeat;mask-image:radial-gradient(circle 65px at 65.4% min(13.9vw,139px),#000 12%,#0009 45%,transparent 100%);pointer-events:none;z-index:0;animation:christmas-star-radiance 4.5s ease-in-out infinite}
}
@media(max-width:700px){
 html.site-story-frame[data-decor-theme=christmas] body.home-mobile-branding .site-shell #main>.hero::before{content:'';left:0;right:0;bottom:0;height:clamp(225px,72vw,290px);background:var(--decor-building-image) center 68%/110% auto no-repeat;mask-image:radial-gradient(ellipse 38px 38px at 67% 8%,#000 15%,#0008 50%,transparent);font-size:0;text-shadow:none;color:transparent;animation:christmas-star-radiance 4.5s ease-in-out infinite;z-index:2}
}
@media(prefers-reduced-motion:reduce){
 html.site-story-frame[data-decor-theme=christmas] body.home-mobile-branding .site-shell::after,
 html.site-story-frame[data-decor-theme=christmas] body.home-mobile-branding .site-shell #main>.hero::before{animation:none;opacity:.35;filter:none}
}
@media(min-width:701px){html.site-story-frame[data-decor-theme=christmas] body.home-mobile-branding .forest-header .home-desktop-name small{color:#fff;text-shadow:0 1px 3px #17355280}}
/* A slower diamond reflection across the kindergarten name. */
@media(prefers-reduced-motion:no-preference){html body.home-mobile-branding .forest-header .home-name-line::after{animation-duration:4s}}
/* Let the lower part of the Christmas introduction dissolve over the sleigh. */
@media(min-width:701px){
 html.site-story-frame[data-decor-theme=christmas] body.home-mobile-branding .site-shell #main>.hero .hero-content{background:linear-gradient(to bottom,#fffaf0ed 0%,#fffaf0d9 42%,#fffaf08a 72%,#fffaf02b 90%,transparent 100%);box-shadow:none;padding-bottom:35px}
 html.site-story-frame[data-decor-theme=christmas] body.home-mobile-branding .site-shell #main>.hero .hero-content::before{background:transparent;box-shadow:none}
}
/* Keep only a soft white upper-left corner behind the introduction title. */
@media(min-width:701px){
 html.site-story-frame[data-decor-theme=christmas] body.home-mobile-branding .site-shell #main>.hero .hero-content{background:radial-gradient(ellipse 620px 330px at 0 0,#fffaf0f2 0%,#fffaf0d6 25%,#fffaf08c 48%,#fffaf026 67%,transparent 85%);border:0;box-shadow:none}
}
/* Restore the original left-hand white backing; fade only its lower edge by the reindeer. */
@media(min-width:701px){
 html.site-story-frame[data-decor-theme=christmas] body.home-mobile-branding .site-shell #main>.hero .hero-content{background:transparent;position:relative;isolation:isolate;padding-bottom:35px}
 html.site-story-frame[data-decor-theme=christmas] body.home-mobile-branding .site-shell #main>.hero .hero-content::before{content:'';display:block;position:absolute;inset:0 auto 0 0;width:66%;height:100%;background:linear-gradient(90deg,#fffaf0f2 0%,#fffaf0ed 70%,#fffaf0b8 87%,transparent 100%);border-radius:18px;box-shadow:none;z-index:-1;pointer-events:none;mask-image:linear-gradient(to bottom,#000 0%,#000 70%,#000d 82%,#0005 94%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 70%,#000d 82%,#0005 94%,transparent 100%)}
}
/* Soften the upper white backing enough for the evening sky to show through. */
@media(min-width:701px){html.site-story-frame[data-decor-theme=christmas] body.home-mobile-branding .site-shell #main>.hero .hero-content::before{background:linear-gradient(90deg,#fffaf0c9 0%,#fffaf0c0 70%,#fffaf087 87%,transparent 100%)}}
/* Show the evening sky above navigation, and feather the introduction's right edge. */
@media(min-width:701px){
 html.site-story-frame[data-decor-theme=christmas] body.home-mobile-branding .site-shell::before{mask-image:linear-gradient(to bottom,#000 0%,#000 770px,transparent 1000px),linear-gradient(to right,transparent,#000 14%,#000 86%,transparent);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 770px,transparent 1000px),linear-gradient(to right,transparent,#000 14%,#000 86%,transparent);mask-composite:intersect}
 html.site-story-frame[data-decor-theme=christmas] body.home-mobile-branding .site-shell>.forest-header{background:transparent}
 html.site-story-frame[data-decor-theme=christmas] body.home-mobile-branding .site-shell #main>.hero .hero-content::before{border-radius:18px 0 0 18px;background:linear-gradient(90deg,#fffaf0c9 0%,#fffaf0c0 42%,#fffaf099 62%,#fffaf052 79%,#fffaf018 92%,transparent 100%)}
}
/* Restore the soft upper veil with only a modest reduction; white title, red reflection. */
@media(min-width:701px){
 html.site-story-frame[data-decor-theme=christmas] body.home-mobile-branding .site-shell::before{mask-image:linear-gradient(to bottom,transparent 0,#0003 40px,#0006 140px,#000 240px,#000 770px,transparent 1000px),linear-gradient(to right,transparent,#000 14%,#000 86%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent 0,#0003 40px,#0006 140px,#000 240px,#000 770px,transparent 1000px),linear-gradient(to right,transparent,#000 14%,#000 86%,transparent);mask-composite:intersect}
 html.site-story-frame[data-decor-theme=christmas] body.home-mobile-branding .forest-header .home-desktop-name strong{color:#fff;text-shadow:0 1px 4px #18344d66}
}
html.site-story-frame[data-decor-theme=christmas] body.home-mobile-branding .forest-header .home-name-line::after{background-image:linear-gradient(110deg,transparent 43%,#ef5666a6 48%,#df263f 50%,#ef5666a6 52%,transparent 57%)}
/* Desktop retains its original clean logo; winter sprigs belong to the mobile logo. */
@media(min-width:701px){
 html.site-story-frame:is([data-decor-theme=winter],[data-decor-theme=nicholas],[data-decor-theme=christmas],[data-decor-theme=newyear],[data-decor-theme=romania],[data-decor-theme=union]) body.home-mobile-branding .forest-header .logo-separate::after{content:none;display:none}
}
/* The red reflection must not inherit the white title shadow or text fill. */
html.site-story-frame[data-decor-theme=christmas] body.home-mobile-branding .forest-header .home-name-line::after{color:transparent;-webkit-text-fill-color:transparent;text-shadow:none;mix-blend-mode:normal;z-index:4;background-image:linear-gradient(110deg,transparent 43%,#f25e6bb3 47%,#ed1834 50%,#f25e6bb3 53%,transparent 57%);background-clip:text;-webkit-background-clip:text;filter:drop-shadow(0 0 1px #d82d4655)}
/* Match the Christmas brand title to the navigation text color. */
@media(min-width:701px){html.site-story-frame[data-decor-theme=christmas] body.home-mobile-branding .forest-header .home-desktop-name strong{color:#28495d;text-shadow:none}}
/* Warm pale grey-white lettering matches the navigation panel. */
@media(min-width:701px){html.site-story-frame[data-decor-theme=christmas] body.home-mobile-branding .forest-header .home-desktop-name strong{color:#f5f3ed;text-shadow:0 1px 3px #263d5055}}
/* A single shooting star crosses behind navigation, its luminous tail fading away. */
.christmas-shooting-sky{position:absolute;top:0;left:50%;transform:translateX(-50%);width:min(100%,1000px);height:360px;overflow:hidden;pointer-events:none;z-index:2}
.christmas-shooting-star{position:absolute;width:8px;height:8px;left:96%;top:-20px;animation:christmas-star-flight 6.5s cubic-bezier(.12,.42,.45,1) 2s both;pointer-events:none}
.christmas-shooting-star::after{content:'✦';position:absolute;inset:-8px;color:#fff9dd;font:24px/1 Georgia,serif;text-shadow:0 0 5px #fff,0 0 12px #ffe9a2;animation:christmas-star-head 6.5s linear 2s both}
.christmas-shooting-star::before{content:'';position:absolute;left:4px;top:4px;width:180px;height:3px;transform-origin:left center;transform:rotate(-32deg);background:linear-gradient(to right,#fffdf2,#ffe8a99c 22%,#fff3cd26 65%,transparent);border-radius:50%;filter:blur(1px);box-shadow:0 0 8px #fff1b244;animation:christmas-star-tail 6.5s linear 2s both}
@keyframes christmas-star-flight{0%{left:96%;top:-20px}75%,100%{left:27%;top:320px}}
@keyframes christmas-star-head{0%{opacity:0}5%,68%{opacity:1}77%,100%{opacity:0}}
@keyframes christmas-star-tail{0%{opacity:0;scale:.1 1}8%{opacity:.9;scale:1 1}70%{opacity:.85;scale:1 1}100%{opacity:0;scale:.65 1}}
@media(max-width:700px){.christmas-shooting-sky{height:330px}.christmas-shooting-star::before{width:110px;transform:rotate(-55deg)}@keyframes christmas-star-flight{0%{left:96%;top:-20px}75%,100%{left:17%;top:305px}}}
@media(prefers-reduced-motion:reduce){.christmas-shooting-sky{display:none}}
/* Small round comet head, without star points, followed by a fine glowing tail. */
.christmas-shooting-star::after{content:'';inset:auto;left:0;top:0;width:5px;height:5px;border-radius:50%;background:#fffdf0;box-shadow:0 0 4px 1px #fff5cd,0 0 9px #ffe6a0;text-shadow:none;font-size:0}
.christmas-shooting-star::before{left:2px;top:2px;height:2px;width:150px;filter:blur(.65px);background:linear-gradient(to right,#fffce8,#ffe9af99 18%,#fff1c922 60%,transparent)}
@media(max-width:700px){.christmas-shooting-star::after{width:4px;height:4px}.christmas-shooting-star::before{width:100px}}
/* Continuous fine snowfall, independent of scrolling and never blocking controls. */
.christmas-snowfall{position:fixed;inset:0;overflow:hidden;pointer-events:none!important;user-select:none;z-index:8;contain:strict}
.christmas-snowfall>i{position:absolute;display:block;left:var(--snow-left);top:-12px;width:var(--snow-size);height:var(--snow-size);border-radius:50%;background:#fff;box-shadow:0 0 2px #ffffff75;opacity:var(--snow-alpha);pointer-events:none;animation:christmas-snow-fall var(--snow-duration) linear var(--snow-delay) infinite;will-change:transform}
@keyframes christmas-snow-fall{from{transform:translate3d(0,-10px,0)}to{transform:translate3d(var(--snow-drift),calc(100vh + 30px),0)}}
@media(max-width:700px){.christmas-snowfall>i:nth-child(n+23){display:none}}
@media(prefers-reduced-motion:reduce){.christmas-snowfall{display:none}}
/* Depth, gentle wind and varied descent speeds make the snowfall less uniform. */
.christmas-snowfall>i{animation-name:christmas-snow-natural;animation-timing-function:linear}
.christmas-snowfall>i:nth-child(3n){filter:blur(.45px)}
.christmas-snowfall>i:nth-child(5n){box-shadow:0 0 3px #ffffff70;filter:blur(.2px)}
@keyframes christmas-snow-natural{
 0%{transform:translate3d(0,-12px,0);opacity:0}
 8%{opacity:var(--snow-alpha)}
 25%{transform:translate3d(calc(var(--snow-drift) * .35 + 9px),25vh,0)}
 50%{transform:translate3d(calc(var(--snow-drift) * .5 - 7px),50vh,0)}
 75%{transform:translate3d(calc(var(--snow-drift) * .8 + 6px),75vh,0)}
 92%{opacity:var(--snow-alpha)}
 100%{transform:translate3d(var(--snow-drift),calc(100vh + 20px),0);opacity:0}
}
/* A few intricate, softly luminous flakes give the snow a storybook quality. */
.christmas-snowfall>i:nth-child(7n){width:8px;height:8px;background:url('assets/christmas-fairytale-flake.svg') center/contain no-repeat;border-radius:0;box-shadow:none;filter:drop-shadow(0 0 2px #fff6d9a6);opacity:.75}
.christmas-snowfall>i:nth-child(11n){width:6px;height:6px;background:url('assets/christmas-fairytale-flake.svg') center/contain no-repeat;border-radius:0;box-shadow:none;filter:drop-shadow(0 0 3px #cfeaffb3)}
/* Mobile Christmas shows the full illustrated scene, without cropping either side. */
@media(max-width:700px){
 html.site-story-frame[data-decor-theme=christmas] body.home-mobile-branding .site-shell #main>.hero::after{height:auto;aspect-ratio:1374/1145;background-size:100% 100%;background-position:center;mask-image:linear-gradient(to bottom,transparent 0%,#000 7%,#000 91%,transparent 100%)}
 html.site-story-frame[data-decor-theme=christmas] body.home-mobile-branding .site-shell #main>.hero::before{height:auto;aspect-ratio:1374/1145;background-size:100% 100%;background-position:center;mask-image:radial-gradient(ellipse 36px 36px at 65.4% 16.6%,#000 15%,#0008 50%,transparent)}
}
/* Stronger soft edging around all four sides of the mobile Christmas scene. */
@media(max-width:700px){
 html.site-story-frame[data-decor-theme=christmas] body.home-mobile-branding .site-shell #main>.hero::after{mask-image:linear-gradient(to bottom,transparent 0%,#0008 6%,#000 15%,#000 84%,#0008 94%,transparent 100%),linear-gradient(to right,transparent 0%,#0009 5%,#000 12%,#000 88%,#0009 95%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#0008 6%,#000 15%,#000 84%,#0008 94%,transparent 100%),linear-gradient(to right,transparent 0%,#0009 5%,#000 12%,#000 88%,#0009 95%,transparent 100%);mask-composite:intersect}
}
/* Keep the lower scene clearer while retaining the soft top and side edges. */
@media(max-width:700px){
 html.site-story-frame[data-decor-theme=christmas] body.home-mobile-branding .site-shell #main>.hero::after{mask-image:linear-gradient(to bottom,transparent 0%,#0008 6%,#000 15%,#000 94%,#000c 98%,#0008 100%),linear-gradient(to right,transparent 0%,#0009 5%,#000 12%,#000 88%,#0009 95%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#0008 6%,#000 15%,#000 94%,#000c 98%,#0008 100%),linear-gradient(to right,transparent 0%,#0009 5%,#000 12%,#000 88%,#0009 95%,transparent 100%);mask-composite:intersect}
}
/* Small Christmas stars twinkle independently around the mobile crest. */
.logo-christmas-stars{display:none}
@media(max-width:700px){
 html.site-story-frame[data-decor-theme=christmas] .home-mobile-logo-decor .logo-christmas-stars{display:block;position:absolute;inset:0;z-index:2;pointer-events:none}
 .logo-christmas-stars>i{position:absolute;display:block;font:normal 12px/1 Georgia,serif;color:#fff5cd;pointer-events:none;text-shadow:0 0 3px #fff,0 0 8px #ffe19a;animation:logo-christmas-twinkle 3.8s ease-in-out infinite}
 .logo-christmas-stars>i:nth-child(1){left:-53px;top:43px;font-size:15px;animation-delay:-.7s}
 .logo-christmas-stars>i:nth-child(2){left:-24px;top:89px;font-size:8px;animation-delay:-2.3s;animation-duration:4.5s}
 .logo-christmas-stars>i:nth-child(3){left:8px;top:116px;font-size:11px;animation-delay:-1.2s;animation-duration:3.4s}
 .logo-christmas-stars>i:nth-child(4){right:-48px;top:47px;font-size:10px;animation-delay:-2.8s;animation-duration:4.2s}
 .logo-christmas-stars>i:nth-child(5){right:-26px;top:91px;font-size:16px;animation-delay:-1.6s;animation-duration:4.8s}
 .logo-christmas-stars>i:nth-child(6){right:7px;top:122px;font-size:8px;animation-delay:-3.1s;animation-duration:3.6s}
 .logo-christmas-stars>i:nth-child(7){right:-66px;top:115px;font-size:7px;animation-delay:-.2s;animation-duration:4.3s}
}
@keyframes logo-christmas-twinkle{0%,100%{opacity:.12;text-shadow:0 0 1px #ffe8af;filter:brightness(.85)}48%{opacity:1;text-shadow:0 0 4px #fff,0 0 10px #ffe9a9,0 0 17px #ffdf9277;filter:brightness(1.4)}70%{opacity:.5}}
@media(prefers-reduced-motion:reduce){.logo-christmas-stars>i{animation:none;opacity:.65}}
/* Mobile Christmas evening palette, pale lettering and a luminous snowflake under the crest. */
@media(max-width:700px){
 html.site-story-frame[data-decor-theme=christmas] body::before{background:linear-gradient(to bottom,#142c53 0px,#233d63 300px,#354b70 600px,#68788f 830px,#e0ddd3 1050px,#fff8e9 1240px)!important}
 html.site-story-frame[data-decor-theme=christmas] body.home-mobile-branding .site-shell>.forest-header{background:transparent}
 html.site-story-frame[data-decor-theme=christmas] body.home-mobile-branding .site-shell #main>.hero{background:transparent}
 html.site-story-frame[data-decor-theme=christmas] body.home-mobile-branding .forest-header .home-mobile-name,
 html.site-story-frame[data-decor-theme=christmas] body.home-mobile-branding .forest-header .home-mobile-name :is(span,strong,small),
 html.site-story-frame[data-decor-theme=christmas] body.home-mobile-branding .site-shell #main>.hero .hero-content :is(h1,p,.eyebrow){color:#f5f3ed;text-shadow:0 1px 3px #142b4c66}
 html.site-story-frame[data-decor-theme=christmas] body.home-mobile-branding .site-shell #main>.hero h1 .handwriting-letter{color:inherit}
 html.site-story-frame[data-decor-theme=christmas] body.home-mobile-branding .home-mobile-logo-decor::before{content:'';display:block;position:absolute;left:50%;right:auto;top:0;width:186px;height:165px;transform:translateX(-50%);background:radial-gradient(ellipse at 50% 74%,#ffffffc9 0%,#f5faff99 24%,#e6f4ff44 46%,transparent 71%),url('assets/christmas-fairytale-flake.svg') center 74%/145px 145px no-repeat;opacity:.83;mask-image:radial-gradient(ellipse at 50% 66%,#000 30%,transparent 76%);-webkit-mask-image:radial-gradient(ellipse at 50% 66%,#000 30%,transparent 76%);animation:none;z-index:0;pointer-events:none}
}
/* A simple mobile logo and a page-anchored evening sky fading back to the original cream. */
@media(max-width:700px){
 html.site-story-frame[data-decor-theme=christmas] body.home-mobile-branding .home-mobile-logo-decor::before{content:none;display:none}
 html.site-story-frame[data-decor-theme=christmas] body::before{position:absolute;inset:0 0 auto;height:1050px;min-height:0;background:linear-gradient(to bottom,#1b3356 0px,#294363 330px,#385270 470px,#7f8d9b 650px,#d9d9d1 820px,#fff8e9 1020px)!important;opacity:1!important}
 html.site-story-frame[data-decor-theme=christmas] body.home-mobile-branding .site-shell::before{background:none;opacity:0}
}
/* A soft shaft of sky light illuminates the mobile logo without a snowflake. */
@media(max-width:700px){
 html.site-story-frame[data-decor-theme=christmas] body.home-mobile-branding .home-mobile-logo-decor::before{content:'';display:block;position:absolute;left:50%;right:auto;top:-45px;width:180px;height:205px;transform:translateX(-50%);background:linear-gradient(to bottom,#fff9dc08 0%,#fff6d936 30%,#fffce3a6 72%,#fffce338 90%,transparent 100%);clip-path:polygon(45% 0,55% 0,100% 100%,0 100%);mask-image:linear-gradient(to bottom,#000 0 75%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0 75%,transparent 100%);filter:blur(7px);opacity:.72;z-index:0;pointer-events:none;animation:none}
 html.site-story-frame[data-decor-theme=christmas] body.home-mobile-branding .home-mobile-logo-decor .home-logo-reveal{mix-blend-mode:normal}
 html.site-story-frame[data-decor-theme=christmas] body.home-mobile-branding .home-mobile-logo-decor .home-mobile-official-logo{mix-blend-mode:normal;filter:brightness(1.06) saturate(1.08);mask-image:radial-gradient(ellipse at center,#000 48%,#000d 64%,transparent 88%);-webkit-mask-image:radial-gradient(ellipse at center,#000 48%,#000d 64%,transparent 88%)}
}
/* Remove the rejected light beam behind the mobile logo. */
@media(max-width:700px){html.site-story-frame[data-decor-theme=christmas] body.home-mobile-branding .home-mobile-logo-decor::before{content:none;display:none}}
/* True transparent crest retains its natural colors on the dark mobile sky. */
@media(max-width:700px){
 html.site-story-frame[data-decor-theme=christmas] body.home-mobile-branding .home-mobile-logo-decor .home-mobile-official-logo{content:url('assets/sigla-transparenta.png');mix-blend-mode:normal;mask-image:none;-webkit-mask-image:none;filter:none;background:transparent}
 html.site-story-frame[data-decor-theme=christmas] body.home-mobile-branding .home-mobile-logo-decor .home-logo-reveal{mix-blend-mode:normal;background:transparent}
}
/* The transparent, full-color crest is shared by all public pages and calendar themes. */
html.site-story-frame body.home-mobile-branding .forest-header :is(.logo-separate,.home-logo-reveal){mix-blend-mode:normal;background:transparent}
html.site-story-frame body.home-mobile-branding .forest-header :is(.logo-separate img,.home-mobile-official-logo){content:url('assets/sigla-transparenta.png');mix-blend-mode:normal;mask-image:none;-webkit-mask-image:none;filter:none;background:transparent;box-shadow:none}
html.site-story-frame[data-decor-theme] body.home-mobile-branding .site-shell .forest-header :is(.logo-separate,.home-logo-reveal){mix-blend-mode:normal;background:transparent}
html.site-story-frame[data-decor-theme] body.home-mobile-branding .site-shell .forest-header :is(.logo-separate img,.home-mobile-official-logo){content:url('assets/sigla-transparenta.png');mix-blend-mode:normal;mask-image:none;-webkit-mask-image:none;filter:none;background:transparent}
/* Shared content geometry must stay identical across calendar themes. */
html.site-story-frame body.public-content-page .site-shell #main>.wrap>:is(.optional-section,.menu-weeks,.menu-intro,.archive-months,[data-month-panel],.announcement-toolbar){width:90%;max-width:860px;margin-left:auto;margin-right:auto;box-sizing:border-box}
html.site-story-frame body.public-content-page .site-shell #main .optional-section>h2{text-align:center;margin:0 0 8px}
html.site-story-frame body.public-content-page .site-shell #main .optional-section>p{text-align:center;margin:0 auto 14px;font-size:12.5px;line-height:1.5}
html.site-story-frame body.public-content-page .site-shell #main .optional-grid{gap:14px;min-width:0}
html.site-story-frame body.public-content-page .site-shell #main .optional-grid>.optional-card{min-width:0;box-sizing:border-box}
html.site-story-frame body.public-content-page .site-shell #main .menu-intro{text-align:center}
html.site-story-frame body.public-content-page .site-shell #main .announcement-toolbar{justify-content:center}
/* Mobile Christmas header matches the indigo evening sky in the building scene. */
@media(max-width:700px){
 html.site-story-frame[data-decor-theme=christmas] body::before{background:linear-gradient(to bottom,#202f63 0px,#26386b 330px,#334b79 470px,#7f8d9b 650px,#d9d9d1 820px,#fff8e9 1020px)!important}
}
/* Match sampled clear sky pixels from christmas-building-snow-detail.png. */
@media(max-width:700px){
 html.site-story-frame[data-decor-theme=christmas] body::before{background:linear-gradient(to bottom,#002a78 0px,#012d79 330px,#04378a 470px,#ddd9c9 620px,#fff8e9 700px,#fff8e9 1020px)!important}
}
/* Blend the mobile photo sky into the header without a hard top edge. */
@media(max-width:700px){
 html.site-story-frame[data-decor-theme=christmas] body.home-mobile-branding .site-shell #main>.hero::after{border:0;box-shadow:none;border-radius:0;mask-image:linear-gradient(to bottom,transparent 0%,#0001 6%,#0005 15%,#000b 25%,#000 34%,#000 94%,#000c 98%,#0008 100%),linear-gradient(to right,transparent 0%,#0009 5%,#000 12%,#000 88%,#0009 95%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#0001 6%,#0005 15%,#000b 25%,#000 34%,#000 94%,#000c 98%,#0008 100%),linear-gradient(to right,transparent 0%,#0009 5%,#000 12%,#000 88%,#0009 95%,transparent 100%);mask-composite:intersect}
}
/* Warm golden twinkles across the upper mobile Christmas sky. */
@media(max-width:700px){
 html.site-story-frame[data-decor-theme=christmas] .logo-christmas-stars>i{color:#ffd329;text-shadow:0 0 3px #ffe15c,0 0 9px #ffc21f,0 0 15px #ffcc3366}
 .logo-christmas-stars>i:nth-child(8){left:-45px;top:8px;font-size:9px;animation-delay:-1.8s;animation-duration:4.1s}
 .logo-christmas-stars>i:nth-child(9){left:22px;top:-4px;font-size:7px;animation-delay:-.4s;animation-duration:3.7s}
 .logo-christmas-stars>i:nth-child(10){right:-38px;top:12px;font-size:12px;animation-delay:-2.5s;animation-duration:4.6s}
 .logo-christmas-stars>i:nth-child(11){left:-77px;top:69px;font-size:7px;animation-delay:-3.4s;animation-duration:4.4s}
 .logo-christmas-stars>i:nth-child(12){right:-74px;top:76px;font-size:9px;animation-delay:-1.1s;animation-duration:3.9s}
}
/* Continue the golden stars down the clear sides toward the photo sky. */
@media(max-width:700px){
 .logo-christmas-stars>i:nth-child(13){left:-72px;top:172px;font-size:8px;animation-delay:-2.1s;animation-duration:4.3s}
 .logo-christmas-stars>i:nth-child(14){right:-70px;top:218px;font-size:10px;animation-delay:-.6s;animation-duration:4.8s}
 .logo-christmas-stars>i:nth-child(15){left:-65px;top:276px;font-size:7px;animation-delay:-3.2s;animation-duration:3.9s}
 .logo-christmas-stars>i:nth-child(16){right:-64px;top:336px;font-size:9px;animation-delay:-1.4s;animation-duration:4.5s}
 .logo-christmas-stars>i:nth-child(17){left:-38px;top:371px;font-size:8px;animation-delay:-2.7s;animation-duration:4.1s}
}
/* A ruby reflection follows the completed handwriting, one pass only. */
html.site-story-frame[data-decor-theme=christmas] .home-handwritten.christmas-ink-shimmer .handwriting-letter{animation:christmas-written-ruby .85s ease-in-out var(--ruby-delay,0s) 1}
@keyframes christmas-written-ruby{0%,100%{color:inherit;text-shadow:inherit}45%{color:#f35c63;text-shadow:0 0 4px #ffb2a8,0 0 10px #e52c4277}}
@media(prefers-reduced-motion:reduce){html.site-story-frame[data-decor-theme=christmas] .home-handwritten.christmas-ink-shimmer .handwriting-letter{animation:none}}
/* A small crescent peeks from below the upper-right winter branch. */
@media(max-width:700px){
 html.site-story-frame[data-decor-theme=christmas] .home-mobile-logo-decor .logo-christmas-stars::before{content:'';position:absolute;right:-63px;top:51px;width:27px;height:27px;border-radius:50%;background:radial-gradient(circle at 68% 32%,transparent 0 48%,#fff0ad 50% 65%,#ffe293 76%);filter:drop-shadow(0 0 4px #ffe7a9) drop-shadow(0 0 12px #ffdc7877);transform:rotate(-18deg);pointer-events:none}
}
/* Tiny warm lights sit on the upper winter branches, away from the crest. */
@media(max-width:700px){
 html.site-story-frame[data-decor-theme=christmas] .home-mobile-logo-decor .christmas-branch-bulbs{content:'';position:absolute;left:50%;top:-6px;width:3px;height:3px;border-radius:50%;background:#ffe9a6;pointer-events:none;z-index:3;box-shadow:-145px 12px 3px 1px #ffdc83,-116px 29px 4px 1px #ffe6a0,-98px 48px 3px 1px #ffd479,96px 16px 3px 1px #ffe6a0,124px 31px 4px 1px #ffd479,143px 54px 3px 1px #ffe9a6;animation:christmas-branch-lights 4.8s ease-in-out infinite}
 html.site-story-frame[data-decor-theme=christmas] .home-mobile-logo-decor .logo-christmas-stars::after{content:'';position:absolute;left:50%;top:-6px;width:3px;height:3px;border-radius:50%;pointer-events:none;box-shadow:-130px 22px 3px 1px #ffe6a0,-106px 61px 4px 1px #ffd479,-147px 43px 3px 1px #ffe9a6,107px 40px 4px 1px #ffe6a0,135px 11px 3px 1px #ffd479,147px 71px 3px 1px #ffe9a6;animation:christmas-branch-lights 5.4s ease-in-out -2.6s infinite}
}
@keyframes christmas-branch-lights{0%,100%{opacity:.38;filter:brightness(.85)}50%{opacity:1;filter:brightness(1.2) drop-shadow(0 0 3px #ffcf79)}}
@media(prefers-reduced-motion:reduce){html.site-story-frame[data-decor-theme=christmas] .home-mobile-logo-decor .christmas-branch-bulbs,html.site-story-frame[data-decor-theme=christmas] .logo-christmas-stars::after{animation:none;opacity:.7}}
@media(max-width:700px){
 html.site-story-frame[data-decor-theme=christmas] .home-mobile-logo-decor .christmas-branch-bulbs{inset:auto;left:50%;top:-6px;right:auto;bottom:auto;width:3px;height:3px;min-width:0;min-height:0;transform:none;background:#ffe9a6;background-image:none;mask-image:none;-webkit-mask-image:none;border:0;border-radius:50%;opacity:1}
}
/* Small red glass ornament suspended from the left mobile winter branch. */
.christmas-hanging-bauble{display:none}
@media(max-width:700px){
 html.site-story-frame[data-decor-theme=christmas] .home-mobile-logo-decor .christmas-hanging-bauble{display:block;position:absolute;left:-54px;top:48px;width:1px;height:28px;background:linear-gradient(#e3bd68,#ffe6a3);z-index:3;pointer-events:none;transform-origin:50% 0;animation:christmas-bauble-sway 6s ease-in-out infinite}
 .christmas-hanging-bauble::before{content:'';position:absolute;left:-3px;bottom:-3px;width:7px;height:5px;border-radius:2px 2px 0 0;background:linear-gradient(90deg,#a87b2c,#ffe3a0,#b98b36);z-index:1}
 .christmas-hanging-bauble::after{content:'';position:absolute;left:-11px;top:29px;width:23px;height:25px;border-radius:50%;background:radial-gradient(ellipse at 30% 24%,#fff5e9 0%,#ffc0ae 7%,#ef4d4c 17%,#cc152a 45%,#870b20 78%,#610e20 100%);box-shadow:inset -2px -2px 4px #55051d66,0 2px 5px #071a4933}
}
@keyframes christmas-bauble-sway{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}
@media(prefers-reduced-motion:reduce){html.site-story-frame[data-decor-theme=christmas] .home-mobile-logo-decor .christmas-hanging-bauble{animation:none}}
/* Tuck the ornament into the left needles with a short visible hanger. */
@media(max-width:700px){
 html.site-story-frame[data-decor-theme=christmas] .home-mobile-logo-decor .christmas-hanging-bauble{top:41px;height:7px}
 html.site-story-frame[data-decor-theme=christmas] .christmas-hanging-bauble::after{top:8px}
}
/* Bring the mobile Christmas photograph slightly closer to the introduction. */
@media(max-width:700px){
 html.site-story-frame[data-decor-theme=christmas] body.home-mobile-branding .site-shell #main>.hero::after{margin-top:-24px}
}
/* Sparse golden maple leaves emerge from the branches and settle out of view. */
.autumn-falling-leaves{position:fixed;inset:0;pointer-events:none;z-index:5;overflow:hidden}
.autumn-falling-leaves>i{position:absolute;left:var(--leaf-x);top:25px;width:var(--leaf-size);height:calc(var(--leaf-size)*1.1875);background:url('assets/autumn-falling-leaf.svg') center/contain no-repeat;opacity:0;animation:autumn-leaf-fall var(--leaf-duration) ease-in-out var(--leaf-delay) infinite;filter:drop-shadow(0 1px 1px #78501c33)}
@keyframes autumn-leaf-fall{0%,12%{opacity:0;transform:translate3d(0,0,0) rotate(-25deg) rotateY(25deg)}20%{opacity:.9}35%{transform:translate3d(calc(var(--leaf-drift)*.35),25vh,0) rotate(40deg) rotateY(-35deg)}55%{opacity:.95;transform:translate3d(calc(var(--leaf-drift)*-.2),56vh,0) rotate(-35deg) rotateY(40deg)}72%{opacity:.65}82%,100%{opacity:0;transform:translate3d(var(--leaf-drift),96vh,0) rotate(95deg) rotateY(-20deg)}}
@media(prefers-reduced-motion:reduce){.autumn-falling-leaves{display:none}}
/* Optional autumn additions, each isolated for easy removal. */
.autumn-logo-squirrel{display:none}
@media(max-width:700px){html.site-story-frame[data-decor-theme=autumn] .home-mobile-logo-decor .autumn-logo-squirrel{display:block;position:absolute;left:-53px;top:67px;width:53px;height:58px;background:url('assets/autumn-squirrel.svg') center/contain no-repeat;z-index:3;pointer-events:none}}
.autumn-ground-nuts{display:none}
html.site-story-frame[data-decor-theme=autumn] .hero>.autumn-ground-nuts{display:block;position:absolute;right:18px;bottom:5px;width:78px;height:40px;background:url('assets/autumn-acorns-chestnuts.svg') center/contain no-repeat;z-index:2;pointer-events:none;filter:drop-shadow(0 2px 2px #76552c22)}
@media(max-width:700px){
 html.site-story-frame[data-decor-theme=autumn] .home-mobile-logo-decor::before{transform-origin:50% 0;animation:autumn-branch-breeze 9s ease-in-out infinite}
 html.site-story-frame[data-decor-theme=autumn] .hero>.autumn-ground-nuts{right:12px;bottom:2px;width:64px;height:33px}
}
@keyframes autumn-branch-breeze{0%,100%{rotate:-.6deg;translate:0 0}50%{rotate:.6deg;translate:0 2px}}
@media(prefers-reduced-motion:reduce){html.site-story-frame[data-decor-theme=autumn] .home-mobile-logo-decor::before{animation:none}}
/* Keep the nuts on the lawn, above the accreditation strip. */
html.site-story-frame[data-decor-theme=autumn] .hero>.autumn-ground-nuts{bottom:45px}
@media(max-width:700px){html.site-story-frame[data-decor-theme=autumn] .hero>.autumn-ground-nuts{bottom:48px;right:20px}}
/* Seat the squirrel within the left foliage rather than below it. */
@media(max-width:700px){
 html.site-story-frame[data-decor-theme=autumn] .home-mobile-logo-decor .autumn-logo-squirrel{left:-55px;top:27px;width:49px;height:54px}
 html.site-story-frame[data-decor-theme=autumn] .autumn-logo-squirrel::after{content:'';position:absolute;left:3px;right:-7px;bottom:3px;height:4px;background:linear-gradient(#b17b45,#795333);border-radius:70% 35% 50% 50%;transform:rotate(-9deg);z-index:-1;box-shadow:0 1px 1px #6f4a2922}
}
/* Remove the rejected floating squirrel and its disconnected branch. */
html.site-story-frame[data-decor-theme=autumn] .home-mobile-logo-decor .autumn-logo-squirrel{display:none}
/* Falling leaves stop on the lawn in the home photograph, not at the viewport bottom. */
.autumn-falling-leaves{position:absolute;bottom:auto;height:700px}
@keyframes autumn-leaf-fall{0%,12%{top:25px;opacity:0;transform:translateX(0) rotate(-25deg) rotateY(25deg)}20%{opacity:.9}35%{top:28%;transform:translateX(calc(var(--leaf-drift)*.35)) rotate(40deg) rotateY(-35deg)}55%{top:58%;opacity:.95;transform:translateX(calc(var(--leaf-drift)*-.2)) rotate(-35deg) rotateY(40deg)}72%{opacity:.65}82%,100%{top:96%;opacity:0;transform:translateX(var(--leaf-drift)) rotate(95deg) rotateY(-20deg)}}
body.public-content-page>.autumn-falling-leaves{display:none}
/* Remove the rejected acorn and chestnut decoration. */
html.site-story-frame[data-decor-theme=autumn] .hero>.autumn-ground-nuts{display:none}
/* Small Halloween pumpkins fade in and out around the mobile crest. */
@media(max-width:700px){
 html.site-story-frame[data-decor-theme=candy] .logo-halloween-accents .logo-pumpkin{font-size:25px;opacity:0;animation:halloween-pumpkin-appear 10s ease-in-out infinite;pointer-events:none}
 html.site-story-frame[data-decor-theme=candy] .logo-halloween-accents .logo-pumpkin:nth-child(1){left:-48px;top:67px;bottom:auto;animation-delay:-1s}
 html.site-story-frame[data-decor-theme=candy] .logo-halloween-accents .logo-pumpkin:nth-child(2){left:auto;right:-50px;top:93px;bottom:auto;font-size:21px;animation-delay:-4.5s}
 html.site-story-frame[data-decor-theme=candy] .logo-halloween-accents .logo-pumpkin:nth-child(3){left:-23px;top:120px;bottom:auto;font-size:18px;animation-delay:-7.5s}
}
@keyframes halloween-pumpkin-appear{0%,12%,62%,100%{opacity:0;transform:translateY(4px) rotate(-6deg) scale(.92)}25%,45%{opacity:.95;transform:translateY(0) rotate(3deg) scale(1)}}
@media(prefers-reduced-motion:reduce){html.site-story-frame[data-decor-theme=candy] .logo-halloween-accents .logo-pumpkin{animation:none;opacity:.75}}
/* Illustrated lanterns reappear at different points; bats cross the upper sky. */
@media(max-width:700px){
 html.site-story-frame[data-decor-theme=candy] .logo-halloween-accents .logo-pumpkin{width:34px;height:34px;font-size:0!important;background:url('assets/halloween-art-pumpkin.svg') center/contain no-repeat;filter:drop-shadow(0 1px 2px #9d47194d);animation-name:halloween-pumpkin-wander;animation-duration:24s}
 html.site-story-frame[data-decor-theme=candy] .logo-halloween-accents .logo-pumpkin:nth-child(2){width:29px;height:29px;animation-delay:-9s;animation-duration:29s}
 html.site-story-frame[data-decor-theme=candy] .logo-halloween-accents .logo-pumpkin:nth-child(3){width:25px;height:25px;animation-delay:-17s;animation-duration:32s}
 html.site-story-frame[data-decor-theme=candy] .logo-halloween-accents .logo-bat{display:none}
 .halloween-flying-bat{position:absolute;left:-90px;top:145px;width:30px;height:16px;background:url('assets/halloween-flying-bat.svg') center/contain no-repeat;opacity:0;animation:halloween-bat-crossing 19s linear -3s infinite;pointer-events:none}
 .halloween-flying-bat:nth-last-child(2){top:205px;width:22px;height:12px;animation-delay:-11s;animation-duration:25s}
 .halloween-flying-bat:last-child{top:300px;width:26px;height:14px;animation-delay:-17s;animation-duration:28s}
}
@keyframes halloween-pumpkin-wander{0%,4%{opacity:0;transform:translate(0,0) scale(.85)}10%,20%{opacity:1;transform:translate(0,0) scale(1)}27%,35%{opacity:0;transform:translate(0,0) scale(.9)}36%{opacity:0;transform:translate(40px,170px) scale(.85)}43%,54%{opacity:1;transform:translate(40px,170px) scale(1)}61%,69%{opacity:0;transform:translate(40px,170px) scale(.9)}70%{opacity:0;transform:translate(-12px,75px) scale(.85)}77%,88%{opacity:1;transform:translate(-12px,75px) scale(1)}95%,100%{opacity:0;transform:translate(-12px,75px) scale(.9)}}
@keyframes halloween-bat-crossing{0%,12%{opacity:0;transform:translate(0,0) scaleY(.8)}18%{opacity:.85}25%{transform:translate(65px,-14px) scaleY(.55)}38%{transform:translate(130px,8px) scaleY(1)}50%{transform:translate(200px,-18px) scaleY(.6)}62%{opacity:.85;transform:translate(280px,0) scaleY(1)}70%,100%{opacity:0;transform:translate(310px,-15px) scaleY(.65)}}
@media(prefers-reduced-motion:reduce){.halloween-flying-bat{display:none}html.site-story-frame[data-decor-theme=candy] .logo-halloween-accents .logo-pumpkin{animation:none}}
/* Keep the crest's animated lanterns in front of the fine hero divider. */
@media(max-width:700px){
 html.site-story-frame[data-decor-theme=candy] body.home-mobile-branding .site-shell>.forest-header{position:relative;z-index:6}
 html.site-story-frame[data-decor-theme=candy] .logo-halloween-accents{z-index:8!important}
 html.site-story-frame[data-decor-theme=candy] body.home-mobile-branding .site-shell #main>.hero::before{animation:halloween-garden-flight 9s ease-in-out infinite}
}
@keyframes halloween-garden-flight{0%,100%{background-position:40% calc(100% - 45px),center bottom}25%{background-position:55% calc(100% - 61px),center bottom}55%{background-position:65% calc(100% - 39px),center bottom}78%{background-position:47% calc(100% - 56px),center bottom}}
@media(min-width:701px){html.site-story-frame[data-decor-theme=candy] body.home-mobile-branding .site-shell #main>.hero::after{animation:halloween-desktop-garden-flight 10s ease-in-out infinite}}
@keyframes halloween-desktop-garden-flight{0%,100%{transform:translate(0,0) rotate(-2deg)}35%{transform:translate(-22px,-16px) rotate(1deg)}70%{transform:translate(14px,-6px) rotate(-1deg)}}
@media(prefers-reduced-motion:reduce){html.site-story-frame[data-decor-theme=candy] body.home-mobile-branding .site-shell #main>.hero::before,html.site-story-frame[data-decor-theme=candy] body.home-mobile-branding .site-shell #main>.hero::after{animation:none}}
/* Center the Program and fees cards consistently in every theme. */
html.site-story-frame body.public-content-page .site-shell #main .enrollment-page :is(.card,.cta){text-align:center}
html.site-story-frame body.public-content-page .site-shell #main .enrollment-page :is(h2,h3,p,li,th,td,dt,dd){text-align:center}
html.site-story-frame body.public-content-page .site-shell #main .enrollment-page h2{font-size:17px;line-height:1.35;max-width:92%;margin-left:auto;margin-right:auto;text-wrap:balance}
html.site-story-frame body.public-content-page .site-shell #main .enrollment-page h3{font-size:15px;line-height:1.4;max-width:92%;margin-left:auto;margin-right:auto;text-wrap:balance}
html.site-story-frame body.public-content-page .site-shell #main .enrollment-page :is(ul,ol){list-style-position:inside;padding-inline:8px}
@media(max-width:700px){
 html.site-story-frame body.public-content-page .site-shell #main .enrollment-page h2{font-size:16px;max-width:90%}
 html.site-story-frame body.public-content-page .site-shell #main .enrollment-page h3{font-size:14px;max-width:90%}
}
/* Lighter, compact typography for visit booking cards across themes. */
html.site-story-frame body.public-content-page .site-shell #main .booking-layout>.card{font-size:12.5px;line-height:1.55;font-weight:400}
html.site-story-frame body.public-content-page .site-shell #main .booking-layout :is(p,label,.muted,.notice){font-size:12.5px;line-height:1.55;font-weight:400}
html.site-story-frame body.public-content-page .site-shell #main .booking-layout h2{font-size:17px;line-height:1.35;font-weight:500;max-width:92%;margin-inline:auto;text-align:center;text-wrap:balance}
html.site-story-frame body.public-content-page .site-shell #main .booking-layout :is(input,select,textarea,button){font-size:12.5px;font-weight:400}
@media(max-width:700px){html.site-story-frame body.public-content-page .site-shell #main .booking-layout h2{font-size:16px}}
/* Keep longer parent-guide cards compact until the reader expands them. */
html.site-story-frame body.public-content-page .site-shell #main .guide-card-copy{max-height:7.5em;overflow:hidden;mask-image:linear-gradient(#000 0 70%,transparent);-webkit-mask-image:linear-gradient(#000 0 70%,transparent)}
html.site-story-frame body.public-content-page .site-shell #main .guide-card-copy.is-expanded{max-height:none;overflow:visible;mask-image:none;-webkit-mask-image:none}
html.site-story-frame body.public-content-page .site-shell #main .guide-read-more{display:block;width:auto;min-height:32px;margin:10px auto 0;padding:5px 12px;font-size:11.5px;font-weight:400;background:#fff8eb;border:1px solid #d8cbb6;border-radius:8px;color:#6b3b38;box-shadow:none}
/* Fine outlines for each meal-price tile, on the menu and fees pages. */
html.site-story-frame body.public-content-page .site-shell #main .meal-price-grid>p{border:1px solid #d8b67d;border-radius:12px;box-sizing:border-box;box-shadow:0 2px 5px #80623e0a}
/* Optional activity descriptions use three preview lines; practical details remain visible. */
html.site-story-frame body.public-content-page .site-shell #main .optional-description-preview{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;line-height:1.5}
html.site-story-frame body.public-content-page .site-shell #main .optional-description:has(details[open]) .optional-description-preview{display:none}
html.site-story-frame body.public-content-page .site-shell #main .optional-description summary{width:fit-content;margin:7px auto 10px;padding:4px 10px;cursor:pointer;font-size:11.5px;color:#6b3b38;background:#fff8eb;border:1px solid #d8cbb6;border-radius:8px;list-style:none}
.optional-description summary::-webkit-details-marker{display:none}
.optional-description .optional-less,.optional-description details[open] .optional-more{display:none}
.optional-description details[open] .optional-less{display:inline}
/* Fine, regular-weight text in the monthly cost calculator controls. */
html.site-story-frame body.public-content-page .site-shell #main .enrollment-page .fee-calculator .fee-calculator-fields :is(select,input){font-family:inherit;font-size:12px;font-weight:400;line-height:1.45;color:#405662;letter-spacing:0}
html.site-story-frame body.public-content-page .site-shell #main .enrollment-page .fee-calculator .fee-calculator-fields option{font-size:12px;font-weight:400}
html.site-story-frame body.public-content-page .site-shell #main .enrollment-page .fee-calculator .fee-calculator-fields label{font-size:12px;font-weight:400;line-height:1.45}
/* Photo schedule cards reserve their left half for readable text. */
html.site-story-frame body.public-content-page .site-shell #main .enrollment-page .enrollment-schedules>.card{padding:16px 48% 16px 14px;text-align:left;min-height:132px}
html.site-story-frame body.public-content-page .site-shell #main .enrollment-page .enrollment-schedules>.card :is(h2,p,.schedule-hours){text-align:left;max-width:100%;margin-left:0;margin-right:0}
html.site-story-frame body.public-content-page .site-shell #main .enrollment-page .enrollment-schedules h2{font-size:16px;line-height:1.35}
html.site-story-frame body.public-content-page .site-shell #main .enrollment-page .enrollment-schedules .schedule-hours{font-size:18px;font-weight:500;white-space:nowrap}
/* Fade the right logo foliage fully before its rectangular image boundary. */
@media(max-width:700px){
 html.site-story-frame:is([data-decor-theme=autumn],[data-decor-theme=candy]) body.home-mobile-branding .home-mobile-logo-decor::after{mask-image:radial-gradient(ellipse at 55% 45%,#000 10%,#0009 35%,transparent 70%),linear-gradient(to right,transparent 0%,#000 15%,#000 67%,#0008 82%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 15%,#000 65%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse at 55% 45%,#000 10%,#0009 35%,transparent 70%),linear-gradient(to right,transparent 0%,#000 15%,#000 67%,#0008 82%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 15%,#000 65%,transparent 100%);mask-composite:intersect}
}
/* Every announcement, including newly published items, has a compact preview. */
html.site-story-frame body.public-content-page .site-shell #main .announcement-preview{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
html.site-story-frame body.public-content-page .site-shell #main .announcement-copy:has(details[open]) .announcement-preview{display:none}
html.site-story-frame body.public-content-page .site-shell #main .announcement-copy summary{width:fit-content;margin:10px auto;padding:5px 12px;list-style:none;cursor:pointer;font-size:11.5px;font-weight:400;background:#fff8eb;color:#6b3b38;border:1px solid #d8cbb6;border-radius:8px}
.announcement-copy summary::-webkit-details-marker{display:none}
.announcement-copy .announcement-less,.announcement-copy details[open] .announcement-more{display:none}
.announcement-copy details[open] .announcement-less{display:inline}
/* Desktop page-heading panels fit their content and align with the left content edge. */
@media(min-width:701px){
 html.site-story-frame body.public-content-page .site-shell #main .page-title,
 html.site-story-frame body.public-content-page .site-shell #main>.wrap>.page-title,
 html.site-story-frame body.public-content-page .site-shell #main .documents-logo-background .page-title{width:fit-content;max-width:min(90%,660px);min-width:0;margin:0 auto 16px max(5%,calc((100% - 860px)/2));padding:12px 18px;text-align:left;box-sizing:border-box}
 html.site-story-frame body.public-content-page .site-shell #main .news-page .page-title{margin-left:0;max-width:min(100%,660px)}
 html.site-story-frame body.public-content-page .site-shell #main .page-title :is(h1,p,.eyebrow){text-align:left}
 html.site-story-frame body.public-content-page .site-shell #main .page-title h1{font-size:23px;line-height:1.25;margin:0 0 5px}
 html.site-story-frame body.public-content-page .site-shell #main .page-title>p{max-width:62ch;margin:0;font-size:12.5px;line-height:1.5}
}
/* Desktop announcements: group filter beside the heading, above the list. */
.announcement-heading-row{display:contents}
@media(min-width:701px){
 html.site-story-frame body.public-content-page .site-shell #main>.wrap>.announcement-heading-row{display:flex;align-items:center;justify-content:space-between;gap:24px;width:90%;max-width:860px;margin:0 auto 24px}
 html.site-story-frame body.public-content-page .site-shell #main .announcement-heading-row>.page-title{margin:0;max-width:calc(100% - 275px);flex:0 1 auto}
 html.site-story-frame body.public-content-page .site-shell #main .announcement-heading-row>.announcement-toolbar{width:250px;max-width:250px;flex:0 0 250px;margin:0;justify-content:flex-end}
 html.site-story-frame body.public-content-page .site-shell #main .announcement-heading-row .filter{width:100%;margin:0}
 html.site-story-frame body.public-content-page .site-shell #main .announcement-heading-row select{width:100%;margin:0}
}
/* Document categories flow vertically without grid-row gaps as their contents grow. */
@media(min-width:701px){
 html.site-story-frame body.public-content-page .site-shell #main .institutional-documents{display:block;columns:2;column-gap:16px}
 html.site-story-frame body.public-content-page .site-shell #main .institutional-documents>.card{display:inline-block;vertical-align:top;break-inside:avoid;page-break-inside:avoid;width:100%;margin:0 0 16px;box-sizing:border-box}
 html.site-story-frame body.public-content-page .site-shell #main .institutional-documents>.card[hidden]{display:none}
}
/* Desktop video gallery/archive controls sit to the right of the page heading. */
@media(min-width:701px){
 html.site-story-frame body.public-content-page .site-shell #main .video-gallery-page{display:grid;grid-template-columns:minmax(0,1fr) 250px;column-gap:24px;align-items:start}
 html.site-story-frame body.public-content-page .site-shell #main .video-gallery-page>*{grid-column:1/-1;min-width:0}
 html.site-story-frame body.public-content-page .site-shell #main .video-gallery-page>.page-title{grid-column:1;grid-row:1/3;width:fit-content;max-width:100%;margin:0 0 20px}
 html.site-story-frame body.public-content-page .site-shell #main .video-gallery-page>.video-toolbar{grid-column:2;grid-row:1;justify-content:center;width:100%;margin:8px 0}
 html.site-story-frame body.public-content-page .site-shell #main .video-gallery-page>.video-years{grid-column:2;grid-row:2;width:100%;margin:0 0 20px}
 html.site-story-frame body.public-content-page .site-shell #main .video-gallery-page>#film-notice:empty{display:none}
}
/* A larger, clear QR block extends the address card naturally. */
html.site-story-frame body.public-content-page .site-shell #main .contact-form-layout .card:has(.contact-qr-original){padding-bottom:24px}
html.site-story-frame body.public-content-page .site-shell #main .contact-qr-original{display:block;width:160px;height:160px;max-width:100%;object-fit:contain;background:#fff;padding:8px;box-sizing:content-box;margin:16px auto 0;border:1px solid #d8cbb6;border-radius:8px;image-rendering:crisp-edges}
/* Contact: address and map form an equal-height row; the message form follows below. */
html.site-story-frame body.public-content-page .site-shell #main>.wrap>.contact-message{width:90%;max-width:860px;margin:16px auto 0;box-sizing:border-box}
@media(min-width:701px){
 html.site-story-frame body.public-content-page .site-shell #main .contact-form-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;width:90%;max-width:860px;margin-inline:auto}
 html.site-story-frame body.public-content-page .site-shell #main .contact-form-layout>.card{height:auto;box-sizing:border-box;margin:0;width:100%}
 html.site-story-frame body.public-content-page .site-shell #main .contact-form-layout>.card:nth-child(2){display:flex;flex-direction:column;align-items:center;text-align:center}
 html.site-story-frame body.public-content-page .site-shell #main .contact-form-layout>.card:nth-child(2)>h2{margin-top:0}
 html.site-story-frame body.public-content-page .site-shell #main .contact-form-layout .contact-map-original{flex:1;min-height:180px;width:100%;margin-top:12px}
 html.site-story-frame body.public-content-page .site-shell #main .contact-form-layout #map-preferences{width:100%;box-sizing:border-box;margin:12px 0;padding:16px}
 html.site-story-frame body.public-content-page .site-shell #main .contact-form-layout .source{margin:8px 0 0}
}
@media(max-width:700px){html.site-story-frame body.public-content-page .site-shell #main>.wrap>.contact-message{width:94%;margin-top:14px}}
/* Compact, centered contact message form below the address/map row. */
@media(min-width:701px){html.site-story-frame body.public-content-page .site-shell #main>.wrap>.contact-message{width:70%;max-width:620px;margin:20px auto 0;padding:20px 24px}}
/* Compact horizontal contact form: four fields in two rows. */
@media(min-width:701px){
 html.site-story-frame body.public-content-page .site-shell #main>.wrap>.contact-message{width:90%;max-width:860px;padding:16px 22px}
 html.site-story-frame body.public-content-page .site-shell #main>.wrap>.contact-message>h2{margin:0 0 12px}
 html.site-story-frame body.public-content-page .site-shell #main .contact-message #contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px}
 html.site-story-frame body.public-content-page .site-shell #main #contact-form>.grid.two{display:contents}
 html.site-story-frame body.public-content-page .site-shell #main #contact-form label:has([name=name]){grid-column:1;grid-row:1}
 html.site-story-frame body.public-content-page .site-shell #main #contact-form>label:has([name=phone]){grid-column:2;grid-row:1}
 html.site-story-frame body.public-content-page .site-shell #main #contact-form label:has([name=email]){grid-column:1;grid-row:2}
 html.site-story-frame body.public-content-page .site-shell #main #contact-form>label:has([name=subject]){grid-column:2;grid-row:2}
 html.site-story-frame body.public-content-page .site-shell #main #contact-form>:not(.grid.two):not(label:has([name=phone])):not(label:has([name=subject])){grid-column:1/-1}
 html.site-story-frame body.public-content-page .site-shell #main #contact-form label{margin:0;font-size:12px;font-weight:400}
 html.site-story-frame body.public-content-page .site-shell #main #contact-form input:not([type=checkbox]){min-height:32px;height:32px;padding:5px 9px;font-size:12px;box-sizing:border-box}
 html.site-story-frame body.public-content-page .site-shell #main #contact-form textarea{min-height:76px;height:76px;padding:8px 9px;font-size:12px;box-sizing:border-box}
}
/* Four equal daily-program tiles in one desktop row. */
@media(min-width:701px){
 html.site-story-frame body.public-content-page .site-shell #main .daily-program{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0 16px}
 html.site-story-frame body.public-content-page .site-shell #main .daily-program>div{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-width:0;min-height:104px;padding:12px 10px;box-sizing:border-box;text-align:center;border:1px solid #d8b67d;border-radius:12px}
 html.site-story-frame body.public-content-page .site-shell #main .daily-program strong{min-width:0;font-size:16px;font-weight:500;white-space:nowrap}
 html.site-story-frame body.public-content-page .site-shell #main .daily-program span{font-size:12px;font-weight:400;line-height:1.5;text-align:center}
}
/* Existing kindergarten photos illustrate the daily schedule. */
html.site-story-frame body.public-content-page .site-shell #main .daily-program>div{overflow:hidden}
html.site-story-frame body.public-content-page .site-shell #main .daily-program-photo{display:block;width:100%;height:110px;object-fit:cover;border-radius:8px;margin-bottom:4px}
html.site-story-frame body.public-content-page .site-shell #main .daily-meal-placeholder{display:grid;place-items:center;width:100%;height:110px;border-radius:8px;background:radial-gradient(ellipse,#fffaf0,#f3dfb8);font-size:42px;color:#b28a43;margin-bottom:4px}
html.site-story-frame body.public-content-page .site-shell #main .daily-lunch-photo{object-position:center 62%}
/* Uniform centered photographs, with the original unblurred rest photo. */
html.site-story-frame body.public-content-page .site-shell #main .daily-program-photo{width:100%;height:110px;object-fit:cover;object-position:center;margin:0 auto;align-self:start;mask-image:none;-webkit-mask-image:none;filter:none;opacity:1}
html.site-story-frame body.public-content-page .site-shell #main .daily-program-photo[src*="odihna-original"]{object-position:center 43%}
html.site-story-frame body.public-content-page .site-shell #main .daily-lunch-photo{object-position:center 62%}
@media(min-width:701px){html.site-story-frame body.public-content-page .site-shell #main .daily-program>div{display:grid;grid-template-rows:110px auto 1fr;align-items:start;justify-items:center;gap:10px;padding:10px;min-height:210px}}
@media(min-width:701px){html.site-story-frame body.public-content-page .site-shell #main .daily-program>div{grid-template-columns:minmax(0,1fr)}html.site-story-frame body.public-content-page .site-shell #main .daily-program>div>.daily-program-photo{width:100%;min-width:100%;max-width:100%;height:110px;object-fit:cover}}
/* Original portraits retain every facial detail; labels and soft edges are CSS only. */
html.site-story-frame body.public-content-page .site-shell #main .enrollment-ages .group-picture-card{position:relative;overflow:hidden;border:1px solid #d8b67d;border-radius:16px;padding:0;background:#fff8e9}
html.site-story-frame body.public-content-page .site-shell #main .enrollment-ages .group-picture{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;object-position:center 35%;mask-image:linear-gradient(to bottom,#000 0 64%,#000d 78%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0 64%,#000d 78%,transparent 100%)}
html.site-story-frame body.public-content-page .site-shell #main .enrollment-page .enrollment-ages .group-original-label{position:absolute;bottom:10px;left:8px;right:8px;max-width:none;margin:0;text-align:center;font:500 16px/1.25 Georgia,serif;color:#28495d;text-shadow:0 1px 3px #fff9}
html.site-story-frame body.public-content-page .site-shell #main .enrollment-ages .group-original-label small{display:block;margin-top:4px;font:400 11px/1.3 system-ui,sans-serif;color:#435a63}
/* Slightly smaller group portraits, keeping the row centered. */
html.site-story-frame body.public-content-page .site-shell #main .enrollment-ages{width:94%;margin-left:auto;margin-right:auto}
/* Smaller gallery thumbnails sit inside their cards with a consistent cream inset. */
html.site-story-frame body.public-content-page .site-shell #main .photo-collection #gallery-cards>.card{padding:10px;box-sizing:border-box}
html.site-story-frame body.public-content-page .site-shell #main #gallery-cards .gallery-photo-open{width:100%;margin:0 auto;border-radius:10px;overflow:hidden;background:#fff8e9}
html.site-story-frame body.public-content-page .site-shell #main #gallery-cards .gallery-photo-open img{display:block;width:100%;height:140px;aspect-ratio:auto;object-fit:contain;object-position:center;border-radius:8px;margin:0 auto}
@media(min-width:701px){html.site-story-frame body.public-content-page .site-shell #main .photo-collection #gallery-cards{max-width:780px;gap:16px}}
@media(max-width:700px){html.site-story-frame body.public-content-page .site-shell #main #gallery-cards .gallery-photo-open img{height:110px}html.site-story-frame body.public-content-page .site-shell #main .photo-collection #gallery-cards>.card{padding:8px}}
/* Desktop news heading and archive control share the top row. */
@media(min-width:701px){
 html.site-story-frame body.public-content-page .site-shell #main .news-page:not(.video-gallery-page){display:grid;grid-template-columns:minmax(0,1fr) 250px;column-gap:24px;align-items:center}
 html.site-story-frame body.public-content-page .site-shell #main .news-page:not(.video-gallery-page)>*{grid-column:1/-1;min-width:0}
 html.site-story-frame body.public-content-page .site-shell #main .news-page:not(.video-gallery-page)>.page-title{grid-column:1;grid-row:1;max-width:100%;margin:0 0 20px}
 html.site-story-frame body.public-content-page .site-shell #main .news-page:not(.video-gallery-page)>.activity-archive-nav{grid-column:2;grid-row:1;width:100%;max-width:250px;margin:0 0 20px;justify-content:center}
 html.site-story-frame body.public-content-page .site-shell #main .news-page:not(.video-gallery-page)>#news-page-status:empty{display:none}
}
/* Fine, regular typography on the four weekly menu headings. */
html.site-story-frame body.public-content-page .site-shell #main .menu-weeks>.menu-week>summary{font-weight:400;font-size:13px;line-height:1.4;letter-spacing:0;text-shadow:none}
/* A gentle pastel identity for each page heading, shared across themes and devices. */
body[data-title-tone=lavender]{--page-title-pastel:#eee7f5;--page-title-light:#f7f2fb}
body[data-title-tone=sage]{--page-title-pastel:#e7efda;--page-title-light:#f4f8ec}
body[data-title-tone=blue]{--page-title-pastel:#e1edf5;--page-title-light:#f0f7fb}
body[data-title-tone=peach]{--page-title-pastel:#f6e7d8;--page-title-light:#fcf5eb}
body[data-title-tone=rose]{--page-title-pastel:#f2e2e7;--page-title-light:#fbf1f4}
html.site-story-frame body.public-content-page[data-title-tone] .site-shell #main .page-title,
html.site-story-frame body.public-content-page[data-title-tone] .site-shell #main>.wrap>.page-title,
html.site-story-frame body.public-content-page[data-title-tone] .site-shell #main .documents-logo-background .page-title{background:linear-gradient(135deg,var(--page-title-light),var(--page-title-pastel));border-color:#d3c6b1}
/* Team group portrait: keep every person visible on desktop and mobile. */
html.site-story-frame #main .team-group-photo{box-sizing:border-box;width:78%!important;max-width:560px!important;margin:16px auto;padding:12px;border:1px solid #d8b67d;border-radius:20px;text-align:center}
html.site-story-frame #main .team-group-photo img{display:block;width:100%;height:auto;aspect-ratio:1.7;max-height:none;object-fit:cover;object-position:center bottom;border-radius:12px;margin:0 auto}
html.site-story-frame #main .team-group-photo figcaption{margin-top:9px;font-size:12px;font-weight:400;line-height:1.5}
@media(max-width:700px){html.site-story-frame #main .team-group-photo{width:90%;padding:8px;border-radius:16px;margin:14px auto}}
/* Photo gallery activity selector: same centered alignment on both viewports. */
html.site-story-frame #main .gallery-topics{width:90%;max-width:780px;margin:12px auto 18px;text-align:center}
html.site-story-frame #main .gallery-topics label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;font-weight:400}
html.site-story-frame #main .gallery-topics select{box-sizing:border-box;display:block;width:280px;max-width:100%;margin-inline:auto;font-size:12px;font-weight:400;text-align:center}

/* Fotografia educatoarelor: original integral, fără decuparea persoanelor. */
html.site-story-frame #main .educatoare-group-photo{width:85%;max-width:300px;margin:16px auto 24px;padding:12px;box-sizing:border-box;background:#fffaf0;border:1px solid #d8b67d;border-radius:20px;text-align:center}
html.site-story-frame #main .educatoare-group-photo img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:12px}
html.site-story-frame #main .educatoare-group-photo figcaption{margin-top:10px;font-size:12px;font-weight:400}

/* Privacy controls stay usable above decor and on short mobile screens. */
html body #cookies{position:fixed!important;z-index:2147483000!important;box-sizing:border-box!important;left:12px!important;right:auto!important;bottom:12px!important;top:auto!important;width:min(420px,calc(100vw - 24px))!important;max-height:calc(100dvh - 24px)!important;overflow-y:auto!important;overscroll-behavior:contain;touch-action:pan-y;isolation:isolate;padding:16px!important}
html body #cookies .cookie-choice{display:flex!important;align-items:flex-start!important;gap:12px!important;cursor:pointer;touch-action:manipulation;padding:12px!important}
html body #cookies .cookie-choice input[type=checkbox]{display:block!important;position:static!important;appearance:auto!important;-webkit-appearance:checkbox!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;flex:0 0 24px!important;width:24px!important;height:24px!important;margin:2px 0!important;accent-color:#315c46;touch-action:manipulation}
html body #cookies .cookie-choice span{flex:1;min-width:0}
html body #cookies #save-cookies{min-height:44px!important;width:100%;touch-action:manipulation}
html body .video-direct-link{margin:10px 0!important;font-size:12px!important}
html body .video-direct-link a{display:inline-block;min-height:36px;padding:8px;box-sizing:border-box}

/* Mobile privacy settings: separate native input, associated label and explicit choices. */
html body #cookies .external-content-setting{display:grid!important;grid-template-columns:28px minmax(0,1fr)!important;gap:8px 10px!important;padding:12px!important;border:1px solid #c7d8df;border-radius:9px;background:#f2f7fa;visibility:visible!important;opacity:1!important}
html body #cookies .external-content-setting #media{display:block!important;position:static!important;appearance:checkbox!important;-webkit-appearance:checkbox!important;visibility:visible!important;opacity:1!important;width:24px!important;height:24px!important;min-height:24px!important;padding:0!important;margin:0!important;pointer-events:auto!important;accent-color:#315c46}
html body #cookies .external-content-setting label{display:block!important;position:static!important;visibility:visible!important;opacity:1!important;margin:0!important;padding:0!important;border:0!important;background:none!important;font:600 13px/1.5 system-ui,sans-serif!important;cursor:pointer;min-height:44px;touch-action:manipulation}
html body #cookies .external-content-setting p{grid-column:1/-1;text-align:left!important;margin:0!important;font-size:12px!important;line-height:1.5!important}
html body #cookies .external-content-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
html body #cookies .external-content-actions button{display:block!important;visibility:visible!important;opacity:1!important;min-height:44px!important;font-size:13px!important;touch-action:manipulation}
html body #cookies{max-height:calc(100vh - 24px)!important;max-height:calc(100dvh - 24px)!important;-webkit-overflow-scrolling:touch}

/* Inner mobile pages: feather the sky layer, keeping the logo and text sharp. */
@media(max-width:700px){
 html.site-story-frame body.public-content-page .site-shell>.forest-header{position:relative;isolation:isolate;background:transparent;border:0;box-shadow:none}
 html.site-story-frame body.public-content-page .site-shell>.forest-header::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 46%,#c0e3f0 0%,#cce9f3d9 44%,#e2f1f780 65%,transparent 90%);-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 28px,#000 calc(100% - 36px),transparent 100%),linear-gradient(to right,transparent 0,#000 20px,#000 calc(100% - 20px),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 28px,#000 calc(100% - 36px),transparent 100%),linear-gradient(to right,transparent 0,#000 20px,#000 calc(100% - 20px),transparent 100%);-webkit-mask-composite:source-in;mask-composite:intersect}
}
/* Broader sky feathering is mobile-only; preserve the desktop artwork. */
@media(max-width:700px){
html.site-story-frame body.public-content-page .site-shell>.forest-header{background:transparent;border:0;box-shadow:none}
html.site-story-frame body.public-content-page .site-shell>.forest-header::before{filter:blur(16px);-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 64px,#000 calc(100% - 72px),transparent 100%),linear-gradient(to right,transparent 0,#000 64px,#000 calc(100% - 64px),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 64px,#000 calc(100% - 72px),transparent 100%),linear-gradient(to right,transparent 0,#000 64px,#000 calc(100% - 64px),transparent 100%);-webkit-mask-composite:source-in;mask-composite:intersect}
}

/* Left-align all paragraphs inside reading cards; preserve headings and tables. */
html.site-story-frame body .site-shell #main .reading-left{ text-align:left!important;text-justify:auto!important;hyphens:none; }
html.site-story-frame body .site-shell #main .reading-list{ text-align:left!important;padding-inline-start:1.4em!important;list-style-position:outside!important; }

/* Keep reading copy away from the card outlines. */
html.site-story-frame body .site-shell #main .reading-left:not(li):not(acz-text-block){box-sizing:border-box;padding-inline:8px!important}
html.site-story-frame body .site-shell #main .reading-list{margin-inline:8px!important;max-width:calc(100% - 16px);box-sizing:border-box}
/* Footer navigation is consolidated into Useful information. */
@media(min-width:701px){html.site-story-frame body .site-shell>footer:not(:has(.footer-site-links)){grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) minmax(0,1.05fr)}html.site-story-frame body .site-shell>footer .footer-information{justify-self:end}}
/* Facebook now belongs to the shared green footer. */
html.site-story-frame body .site-shell>footer .footer-facebook{display:flex;align-items:flex-start;gap:8px;min-width:0}
html.site-story-frame body .site-shell>footer .footer-facebook>div{flex:0 1 215px;min-width:0}
html.site-story-frame body .site-shell>footer .footer-facebook h2{margin:0 0 8px;font-size:17px;line-height:1.3}
html.site-story-frame body .site-shell>footer .footer-facebook p{margin:0 0 10px;font-size:13px;line-height:1.5}
html.site-story-frame body .site-shell>footer .footer-facebook .button{display:inline-block;padding:8px 12px;border:1px solid #315b41;border-radius:10px;background:#315b41;color:#fffaf0;font-size:12px;line-height:1.4;text-decoration:none}
html.site-story-frame body .site-shell>footer .footer-facebook figure{flex:0 0 92px;margin:0;text-align:center}
html.site-story-frame body .site-shell>footer .footer-facebook img{display:block;width:92px;height:92px;padding:4px;box-sizing:border-box;background:white;border-radius:8px}
html.site-story-frame body .site-shell>footer .footer-facebook figcaption{margin-top:5px;font-size:10px;line-height:1.35}
@media(max-width:700px){html.site-story-frame body .site-shell>footer .footer-facebook{padding-block:16px;border-block:1px solid #c7d6bb;justify-content:flex-start}}

/* Seven distinct pastel links in Useful information, without duplicate News. */
html.site-story-frame body .site-shell #main .useful-panel .useful-links>a:is([href="#program"],[data-route-hash="#program"]){--link-pastel:#dcecf8}
html.site-story-frame body .site-shell #main .useful-panel .useful-links>a:is([href="#program/inscriere"],[data-route-hash="#program/inscriere"]){--link-pastel:#f7e1cd}
html.site-story-frame body .site-shell #main .useful-panel .useful-links>a:is([href="#documente"],[data-route-hash="#documente"]){--link-pastel:#e1edd8}
html.site-story-frame body .site-shell #main .useful-panel .useful-links>a:is([href="#calendar"],[data-route-hash="#calendar"]){--link-pastel:#e9def4}
html.site-story-frame body .site-shell #main .useful-panel .useful-links>a:is([href="#arhiva-video"],[data-route-hash="#arhiva-video"]){--link-pastel:#f5dce5}
html.site-story-frame body .site-shell #main .useful-panel .useful-links>a:is([href="#ghid"],[data-route-hash="#ghid"]){--link-pastel:#f6edc8}
html.site-story-frame body .site-shell #main .useful-panel .useful-links>a:is([href="#meniu"],[data-route-hash="#meniu"]){--link-pastel:#d7efec}

/* Story page only: real building photo, milestones and short educational themes. */
.site-shell #main .acz-story-page{display:grid;gap:24px;min-width:0}
.site-shell #main .acz-story-page .acz-story-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:center;background:#fff9ef}
.site-shell #main .acz-story-page figure{margin:0;min-width:0}
.site-shell #main .acz-story-page figure img{display:block;width:100%;height:auto;border-radius:12px}
.site-shell #main .acz-story-page h2,.site-shell #main .acz-story-page h3{margin:0 0 12px;line-height:1.3}
.site-shell #main .acz-story-page p{margin:0;line-height:1.7}
.site-shell #main .acz-story-milestones{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.site-shell #main .acz-story-year{display:inline-block;margin-bottom:12px;padding:5px 14px;border-radius:20px;background:#e1ede8;color:#31574c;font-size:21px;font-weight:700}
.site-shell #main .acz-story-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.site-shell #main .acz-story-values>.card:nth-child(1){background:#e5f0f7}
.site-shell #main .acz-story-values>.card:nth-child(2){background:#f8e8e6}
.site-shell #main .acz-story-values>.card:nth-child(3){background:#eee6f5}
.site-shell #main .acz-story-values h3{font-size:20px}
.site-shell #main .acz-story-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
@media(max-width:850px){.site-shell #main .acz-story-values{grid-template-columns:1fr}}
@media(max-width:700px){.site-shell #main .acz-story-page .acz-story-intro,.site-shell #main .acz-story-milestones{grid-template-columns:1fr}.site-shell #main .acz-story-page{gap:18px}.site-shell #main .acz-story-actions>a{max-width:100%;box-sizing:border-box;text-align:center}}

/* Keep the story cards centred with breathing room at both edges. */
.site-shell #main .acz-story-page{width:calc(100% - 48px);max-width:1000px;margin-inline:auto;box-sizing:border-box}
@media(max-width:700px){.site-shell #main .acz-story-page{width:calc(100% - 16px)}}

/* Three confirmed locations, with full historic photographs. */
.site-shell #main .acz-story-milestones{grid-template-columns:repeat(3,minmax(0,1fr))}
.site-shell #main .acz-story-milestones figure{margin:0 0 16px}
.site-shell #main .acz-story-milestones figure img{width:100%;aspect-ratio:3/2;object-fit:contain;background:#fff}
.site-shell #main .acz-story-milestones h2{font-size:22px}
@media(max-width:850px){.site-shell #main .acz-story-milestones{grid-template-columns:1fr}}

/* Story refinements: text-only introduction and distinct pastel themes. */
html.site-story-frame .site-shell #main .acz-story-page .acz-story-intro{grid-template-columns:minmax(0,1fr)}
html.site-story-frame .site-shell #main .acz-story-page .acz-story-actions,
html.site-story-frame .site-shell #main .acz-story-page .acz-story-actions>a{border-radius:15px!important}
html.site-story-frame .site-shell #main .acz-story-page .acz-story-values>.card:nth-child(1){background:#e5f0f7!important;border-color:#cbdfe9}
html.site-story-frame .site-shell #main .acz-story-page .acz-story-values>.card:nth-child(2){background:#f8e8e6!important;border-color:#ebd1ce}
html.site-story-frame .site-shell #main .acz-story-page .acz-story-values>.card:nth-child(3){background:#eee6f5!important;border-color:#ddcfe9}

/* Matching soft photo edges for the three historical buildings. */
html.site-story-frame .site-shell #main .acz-story-page .acz-story-milestones figure{
 position:relative;isolation:isolate;overflow:hidden;border-radius:12px;background:#fff;
}
html.site-story-frame .site-shell #main .acz-story-page .acz-story-milestones figure img{
 display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;border-radius:0;
}
html.site-story-frame .site-shell #main .acz-story-page .acz-story-milestones figure::after{
 content:"";position:absolute;inset:0;pointer-events:none;
 background:linear-gradient(to right,#fff,transparent 14%,transparent 86%,#fff),linear-gradient(to bottom,#fff,transparent 16%,transparent 84%,#fff);
}

/* Team: centred sections with readable biographies and independent card heights. */
html.site-story-frame body.public-content-page .site-shell #main>.wrap:has(.team-intro)>.team-section,
html.site-story-frame body.public-content-page .site-shell #main>.wrap:has(.team-intro)>.team-intro{
 width:90%;max-width:860px;margin-inline:auto;box-sizing:border-box;
}
html.site-story-frame body.public-content-page .site-shell #main>.wrap:has(.team-intro) .team-profile{height:auto;align-self:start;box-sizing:border-box;min-width:0}
html.site-story-frame body.public-content-page .site-shell #main>.wrap:has(.team-intro) .team-profile p{text-align:left;white-space:pre-line;line-height:1.65;overflow-wrap:anywhere}
html.site-story-frame body.public-content-page .site-shell #main>.wrap:has(.team-intro) .team-profile h3,
html.site-story-frame body.public-content-page .site-shell #main>.wrap:has(.team-intro) .team-profile .team-role{display:block;text-align:center}
html.site-story-frame body.public-content-page .site-shell #main>.wrap:has(.team-intro) .team-intro blockquote{font-size:15px;line-height:1.5;margin-bottom:16px}
@media(max-width:700px){
 html.site-story-frame body.public-content-page .site-shell #main>.wrap:has(.team-intro)>.team-section,
 html.site-story-frame body.public-content-page .site-shell #main>.wrap:has(.team-intro)>.team-intro{width:94%}
}

/* Match the two leadership cards within their shared row. */
html.site-story-frame body.public-content-page .site-shell #main>.wrap:has(.team-intro) .team-management>.grid{align-items:stretch}
html.site-story-frame body.public-content-page .site-shell #main>.wrap:has(.team-intro) .team-management .team-profile{height:100%;align-self:stretch}
/* Mesajele de încărcare și eroare ale anunțurilor, în toate temele. */
html body .site-shell #main #announcement-load-status{text-align:center!important;margin-inline:auto;width:100%;box-sizing:border-box}
/* Visit request: centered horizontal cards, compact fields in two rows. */
html.site-story-frame body.public-content-page .site-shell #main .booking-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;width:90%;max-width:860px;margin:0 auto}
html.site-story-frame body.public-content-page .site-shell #main .booking-layout>.card{width:100%;height:auto;box-sizing:border-box;margin:0;padding:16px 22px}
html.site-story-frame body.public-content-page .site-shell #main .booking-layout>.card>h2{margin:0 0 12px}
html.site-story-frame body.public-content-page .site-shell #main #visit-form{display:grid;gap:8px 16px}
html.site-story-frame body.public-content-page .site-shell #main #visit-form>label{display:block;margin:0;min-width:0;font-size:12px;font-weight:400}
html.site-story-frame body.public-content-page .site-shell #main #visit-form>label>:is(input,select){display:block;width:100%;box-sizing:border-box;margin:5px 0 0}
html.site-story-frame body.public-content-page .site-shell #main #visit-form>p{margin:0}
@media(min-width:701px){
 html.site-story-frame body.public-content-page .site-shell #main #visit-form{grid-template-columns:repeat(2,minmax(0,1fr))}
 html.site-story-frame body.public-content-page .site-shell #main #visit-form>:not(label){grid-column:1/-1}
 html.site-story-frame body.public-content-page .site-shell #main #visit-form>label>:is(input,select){min-height:32px;height:32px;padding:5px 9px;font-size:12px}
}
@media(max-width:700px){html.site-story-frame body.public-content-page .site-shell #main .booking-layout{width:94%}}
@media(pointer:coarse){html.site-story-frame body.public-content-page .site-shell #main :is(#contact-form,#visit-form) label>:is(input,select){min-height:44px;height:44px;font-size:16px}}
/* Compact contact cards, QR beside the address heading and a wider map. */
html.site-story-frame body.public-content-page .site-shell #main .contact-form-layout>.card{padding:14px 18px}
html.site-story-frame body.public-content-page .site-shell #main .contact-form-layout .card:has(.contact-qr-original){padding-bottom:14px}
html.site-story-frame body.public-content-page .site-shell #main .contact-address-heading{display:flex;align-items:center;justify-content:center;gap:20px;margin:0 0 10px}
html.site-story-frame body.public-content-page .site-shell #main .contact-address-heading>h2{margin:0}
html.site-story-frame body.public-content-page .site-shell #main .contact-address-heading .contact-qr-original{flex:0 0 auto;width:100px;height:100px;margin:0;padding:6px}
html.site-story-frame body.public-content-page .site-shell #main .contact-form-layout>.card>p{margin:8px 0;line-height:1.5}
html.site-story-frame body.public-content-page .site-shell #main .contact-form-layout .contact-map-original{flex:none;width:100%;max-width:none;height:200px;min-height:0;margin-top:10px;box-sizing:border-box}
html.site-story-frame body.public-content-page .site-shell #main>.wrap>.contact-message{padding:14px 18px}
html.site-story-frame body.public-content-page .site-shell #main .contact-welcome{margin:8px 0 12px;line-height:1.5}
html.site-story-frame body.public-content-page .site-shell #main #contact-form>button[type=submit]{justify-self:center;display:block;width:auto;max-width:100%;min-height:32px;margin:4px auto 0;padding:6px 18px;font-size:12px;line-height:1.4}
@media(max-width:480px){html.site-story-frame body.public-content-page .site-shell #main .contact-address-heading{gap:12px}html.site-story-frame body.public-content-page .site-shell #main .contact-address-heading .contact-qr-original{width:88px;height:88px}}
@media(pointer:coarse){html.site-story-frame body.public-content-page .site-shell #main #contact-form>button[type=submit]{min-height:44px}}
/* Address details and QR share a compact centered card. */
html.site-story-frame body.public-content-page .site-shell #main .contact-form-layout>.contact-address-card{width:100%;max-width:620px;justify-self:center;padding:14px 20px}
html.site-story-frame body.public-content-page .site-shell #main .contact-address-card>h2{text-align:center;margin:0 0 10px}
html.site-story-frame body.public-content-page .site-shell #main .contact-address-body{display:flex;align-items:center;justify-content:center;gap:24px;min-width:0}
html.site-story-frame body.public-content-page .site-shell #main .contact-address-details{min-width:0;text-align:left}
html.site-story-frame body.public-content-page .site-shell #main .contact-address-details>p{margin:6px 0;line-height:1.5}
html.site-story-frame body.public-content-page .site-shell #main .contact-address-body>.contact-qr-original{flex:0 0 auto;width:112px;height:112px;margin:0;padding:6px}
@media(max-width:480px){html.site-story-frame body.public-content-page .site-shell #main .contact-address-body{flex-direction:column;gap:10px}html.site-story-frame body.public-content-page .site-shell #main .contact-address-details{text-align:center}}
/* Contact desktop: narrower address card and wider meeting card, equal heights. */
@media(min-width:701px){
 html.site-story-frame body.public-content-page .site-shell #main .contact-form-layout{width:96%;max-width:1040px;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);align-items:stretch;gap:16px}
 html.site-story-frame body.public-content-page .site-shell #main .contact-form-layout>.card{align-self:stretch;height:auto;min-width:0;width:100%;max-width:none;box-sizing:border-box}
 html.site-story-frame body.public-content-page .site-shell #main .contact-address-body{flex-direction:column;gap:12px}
 html.site-story-frame body.public-content-page .site-shell #main .contact-address-details{text-align:center;overflow-wrap:anywhere}
}
html.site-story-frame body.public-content-page .site-shell #main .contact-address-body{flex-direction:column;gap:12px}
html.site-story-frame body.public-content-page .site-shell #main .contact-address-details{text-align:center;overflow-wrap:normal;word-break:normal}
html.site-story-frame body.public-content-page .site-shell #main .contact-address-details a[href^="mailto:"]{display:inline-block;max-width:100%;white-space:nowrap;overflow-wrap:normal;word-break:normal;font-size:11px;letter-spacing:normal}
@media(min-width:701px) and (max-width:850px){html.site-story-frame body.public-content-page .site-shell #main .contact-form-layout{width:100%;gap:12px;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr)}}
/* A little more space above the QR below the contact details. */
html.site-story-frame body.public-content-page .site-shell #main .contact-address-body>.contact-qr-original{margin-top:14px}
/* Matching pastel actions for the contact form and visit invitation. */
html.site-story-frame body.public-content-page .site-shell #main :is(#contact-form>button[type=submit],.contact-form-layout .contact-visit-button){display:inline-flex;align-items:center;justify-content:center;justify-self:center;box-sizing:border-box;width:210px;max-width:100%;min-height:42px;margin:8px auto;padding:10px 16px;border:1px solid #c4b5d9!important;border-radius:12px;background:#e9dff3!important;color:#403452!important;font-family:inherit;font-size:13px;font-weight:600;line-height:1.4;text-align:center;text-decoration:none;box-shadow:none}
html.site-story-frame body.public-content-page .site-shell #main :is(#contact-form>button[type=submit],.contact-form-layout .contact-visit-button):hover{background:#dfd0ed!important;border-color:#ae98c9!important}
html.site-story-frame body.public-content-page .site-shell #main :is(#contact-form>button[type=submit],.contact-form-layout .contact-visit-button):focus-visible{outline:2px solid #70518e;outline-offset:3px}
@media(pointer:coarse){html.site-story-frame body.public-content-page .site-shell #main :is(#contact-form>button[type=submit],.contact-form-layout .contact-visit-button){min-height:44px}}
/* A stable pastel color for each institutional document category. */
html.site-story-frame body.public-content-page .site-shell #main .institutional-documents>.card[data-category=autorizatii]{--document-pastel:#e6f0fa;--document-edge:#b9cee2}
html.site-story-frame body.public-content-page .site-shell #main .institutional-documents>.card[data-category=regulamente]{--document-pastel:#f8e6ed;--document-edge:#dfbccb}
html.site-story-frame body.public-content-page .site-shell #main .institutional-documents>.card[data-category=management]{--document-pastel:#ede5f7;--document-edge:#cbbce1}
html.site-story-frame body.public-content-page .site-shell #main .institutional-documents>.card[data-category=calitate]{--document-pastel:#e5f2e9;--document-edge:#b9d5c3}
html.site-story-frame body.public-content-page .site-shell #main .institutional-documents>.card[data-category=proceduri]{--document-pastel:#fbead9;--document-edge:#e1c6aa}
html.site-story-frame body.public-content-page .site-shell #main .institutional-documents>.card[data-category]{background:var(--document-pastel)!important;border-color:var(--document-edge)!important;color:#293e49}
/* Pastel cards for the parent guide only. */
html.site-story-frame body.public-content-page .site-shell #main .guide-page-cards>.card:nth-child(6n+1){--guide-pastel:#e6f0fa;--guide-edge:#b9cee2}
html.site-story-frame body.public-content-page .site-shell #main .guide-page-cards>.card:nth-child(6n+2){--guide-pastel:#f8e6ed;--guide-edge:#dfbccb}
html.site-story-frame body.public-content-page .site-shell #main .guide-page-cards>.card:nth-child(6n+3){--guide-pastel:#e5f2e9;--guide-edge:#b9d5c3}
html.site-story-frame body.public-content-page .site-shell #main .guide-page-cards>.card:nth-child(6n+4){--guide-pastel:#fbead9;--guide-edge:#e1c6aa}
html.site-story-frame body.public-content-page .site-shell #main .guide-page-cards>.card:nth-child(6n+5){--guide-pastel:#ede5f7;--guide-edge:#cbbce1}
html.site-story-frame body.public-content-page .site-shell #main .guide-page-cards>.card:nth-child(6n+6){--guide-pastel:#faf2d7;--guide-edge:#dfd09f}
html.site-story-frame body.public-content-page .site-shell #main .guide-page-cards>.card{background:var(--guide-pastel)!important;border-color:var(--guide-edge)!important;color:#293e49}
/* Home mobile sky: feather the top and sides without changing desktop. */
@media(max-width:700px){
 html.site-story-frame body.home-polish-active .site-shell>.forest-header{position:relative;isolation:isolate;background:transparent;border:0;box-shadow:none}
 html.site-story-frame body.home-polish-active .site-shell>.forest-header::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 48%,#c0e3f0 0%,#cce9f3d9 40%,#e2f1f780 64%,transparent 90%);mask-image:linear-gradient(to bottom,transparent 0,#0003 32px,#000 80px,#000 calc(100% - 64px),transparent 100%),linear-gradient(to right,transparent 0,#0006 32px,#000 64px,#000 calc(100% - 64px),#0006 calc(100% - 32px),transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0,#0003 32px,#000 80px,#000 calc(100% - 64px),transparent 100%),linear-gradient(to right,transparent 0,#0006 32px,#000 64px,#000 calc(100% - 64px),#0006 calc(100% - 32px),transparent 100%);mask-composite:intersect;filter:blur(12px)}
}
/* Team introduction expands on phones; desktop retains its complete text. */
@media(max-width:700px){
 html.site-story-frame body.public-content-page .site-shell #main .team-intro .team-mobile-more[hidden]{display:none}
 html.site-story-frame body.public-content-page .site-shell #main .team-intro .team-mobile-more>p{margin:12px 0 0}
 html.site-story-frame body.public-content-page .site-shell #main .team-intro .team-mobile-toggle{display:block;min-height:44px;width:auto;margin:12px auto 0;padding:8px 16px;border:1px solid #c9b9da;border-radius:10px;background:#ede5f7;color:#403452;font:500 12px/1.4 system-ui;box-shadow:none}
}
/* Long programme-card prose collapses only on mobile; tables and forms stay visible. */
@media(max-width:700px){
 html.site-story-frame body.public-content-page .site-shell #main .program-mobile-copy{max-height:7.5em;overflow:hidden;mask-image:linear-gradient(#000 0 70%,transparent);-webkit-mask-image:linear-gradient(#000 0 70%,transparent)}
 html.site-story-frame body.public-content-page .site-shell #main .program-mobile-copy.is-expanded{max-height:none;overflow:visible;mask-image:none;-webkit-mask-image:none}
 html.site-story-frame body.public-content-page .site-shell #main .program-mobile-toggle{display:block;width:auto;min-height:44px;margin:10px auto;padding:8px 16px;background:#ede5f7;color:#403452;border:1px solid #c9b9da;border-radius:10px;font:500 12px/1.4 system-ui;box-shadow:none}
}
/* Four distinct pastel benefit cards, shared by mobile and desktop. */
 html.site-story-frame body.public-content-page .site-shell #main .enrollment-page .family-benefits-grid>div:nth-child(1){background:#e6f0fa!important;border-color:#b9cee2!important}
 html.site-story-frame body.public-content-page .site-shell #main .enrollment-page .family-benefits-grid>div:nth-child(2){background:#e5f2e9!important;border-color:#b9d5c3!important}
 html.site-story-frame body.public-content-page .site-shell #main .enrollment-page .family-benefits-grid>div:nth-child(3){background:#ede5f7!important;border-color:#cbbce1!important}
 html.site-story-frame body.public-content-page .site-shell #main .enrollment-page .family-benefits-grid>div:nth-child(4){background:#fbead9!important;border-color:#e1c6aa!important}
/* Center the visit link as a block on mobile, like the message submit button. */
@media(max-width:700px){
 html.site-story-frame body.public-content-page .site-shell #main .contact-form-layout .contact-visit-button{display:flex!important;margin-inline:auto!important}
}
/* Parent-announcement title: comfortable inner and outer spacing on mobile. */
@media(max-width:700px){
 html.site-story-frame body.public-content-page[data-title-tone=anunturi] .site-shell #main .announcement-heading-row>.page-title{box-sizing:border-box;width:94%;max-width:100%;margin-inline:auto;padding:20px 22px}
}
/* Mobile visit submit stays immediately below the four fields. */
@media(max-width:700px){
 html.site-story-frame body.public-content-page .site-shell #main #visit-form>button{justify-self:center;width:210px;max-width:100%;min-height:44px;margin:4px auto;padding:9px 16px}
}
/* Visit discussion: retain a short introduction and expand the rest on mobile. */
@media(max-width:700px){
 html.site-story-frame body.public-content-page .site-shell #main .visit-mobile-more[hidden]{display:none}
 html.site-story-frame body.public-content-page .site-shell #main .visit-mobile-toggle{display:block;width:auto;min-height:44px;margin:12px auto;padding:8px 16px;background:#ede5f7;color:#403452;border:1px solid #c9b9da;border-radius:10px;font:500 12px/1.4 system-ui;box-shadow:none}
}
/* Calendar activity cards share their pastel colors on mobile and desktop. */
html.site-story-frame body.public-content-page .site-shell #main .calendar-content>.calendar-education{background:#e6f0fa!important;border-color:#b9cee2!important}
html.site-story-frame body.public-content-page .site-shell #main .calendar-content .calendar-optional{background:#ede5f7!important;border-color:#cbbce1!important}
html.site-story-frame body.public-content-page .site-shell #main .calendar-content .calendar-extracurricular{background:#e5f2e9!important;border-color:#b9d5c3!important}
/* Parent guide welcome: one compact illustration, shared by both layouts. */
html.site-story-frame body.public-content-page .site-shell #main .page-title.guide-welcome{display:grid;grid-template-columns:minmax(0,1fr) 240px;align-items:center;gap:20px;padding:14px 20px;min-height:192px;box-sizing:border-box}
html.site-story-frame body.public-content-page .site-shell #main .guide-welcome-image{display:block;width:240px;height:160px;max-width:100%;object-fit:contain;border-radius:14px;justify-self:center}
html.site-story-frame body.public-content-page .site-shell #main .guide-welcome-copy{min-width:0}
@media(max-width:700px){
 html.site-story-frame body.public-content-page .site-shell #main .page-title.guide-welcome{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(108px,auto) 160px;gap:12px;padding:16px;min-height:314px}
 html.site-story-frame body.public-content-page .site-shell #main .guide-welcome-image{width:240px;height:160px;margin-inline:auto}
}
/* User-supplied panoramic story artwork: retain the full 3:1 composition. */
html.site-story-frame body.public-content-page .site-shell #main .page-title.guide-welcome.story-banner-title{display:flex;flex-direction:column;gap:12px;min-height:0;padding:14px;width:100%;max-width:none}
html.site-story-frame body.public-content-page .site-shell #main .story-banner-title .guide-welcome-copy{width:100%}
html.site-story-frame body.public-content-page .site-shell #main .story-banner-title .guide-welcome-image{width:100%;height:auto;max-width:none;max-height:none;object-fit:contain;border-radius:14px}
/* Story artwork already includes its title; keep only a screen-reader heading. */
html.site-story-frame body.public-content-page .site-shell #main .story-banner-title .guide-welcome-copy{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
html.site-story-frame body.public-content-page .site-shell #main .page-title.guide-welcome.story-banner-title{position:relative;display:block;max-width:92%;margin:0 auto 16px;padding:8px;background:transparent;border:0;box-shadow:none}
html.site-story-frame body.public-content-page .site-shell #main .story-banner-title .guide-welcome-image{display:block;width:100%;height:auto;margin:0 auto;opacity:.96;mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent),linear-gradient(to bottom,transparent,#000 7%,#000 93%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent),linear-gradient(to bottom,transparent,#000 7%,#000 93%,transparent);-webkit-mask-composite:source-in}
@media(max-width:700px){
 html.site-story-frame body.public-content-page .site-shell #main .page-title.guide-welcome.story-banner-title{width:100%;max-width:100%;padding:0;margin:0}
 html.site-story-frame body.public-content-page .site-shell #main .story-banner-title+.acz-story-intro{margin-top:-8px}
}
html.site-story-frame body.public-content-page .site-shell #main .page-title.guide-welcome.team-banner-title{width:calc(92% - 44px);max-width:920px}
@media(max-width:700px){
 html.site-story-frame body.public-content-page .site-shell #main .page-title.guide-welcome.team-banner-title{width:calc(100% - 16px);max-width:none;margin:0 auto 10px}
}
/* User-supplied page banners share the story artwork proportions and edge fade. */
html.site-story-frame body.public-content-page .site-shell #main .page-title.panoramic-page-title{position:relative;display:block!important;width:calc(92% - 44px)!important;max-width:920px!important;min-height:0!important;height:auto!important;margin:0 auto 16px!important;padding:8px!important;background:transparent!important;border:0!important;box-shadow:none!important;box-sizing:border-box}
html.site-story-frame body.public-content-page .site-shell #main .panoramic-page-title>:not(.panoramic-page-image){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap}
html.site-story-frame body.public-content-page .site-shell #main .panoramic-page-title::before,html.site-story-frame body.public-content-page .site-shell #main .panoramic-page-title::after{display:none!important}
html.site-story-frame body.public-content-page .site-shell #main .panoramic-page-image{display:block;width:100%;height:auto;aspect-ratio:3/1;object-fit:contain;border-radius:14px;opacity:.96;mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent),linear-gradient(to bottom,transparent,#000 7%,#000 93%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent),linear-gradient(to bottom,transparent,#000 7%,#000 93%,transparent);-webkit-mask-composite:source-in}
@media(max-width:700px){html.site-story-frame body.public-content-page .site-shell #main .page-title.panoramic-page-title{width:calc(100% - 16px)!important;max-width:none!important;margin:0 auto 10px!important;padding:0!important}}
/* Match the measured announcement banner: one shared position and size. */
html.site-story-frame body.public-content-page .site-shell #main .page-title.panoramic-page-title{width:586px!important;max-width:100%!important;margin:0 auto 16px!important;padding:8px!important}
@media(max-width:700px){html.site-story-frame body.public-content-page .site-shell #main .page-title.panoramic-page-title{width:calc(100% - 16px)!important;max-width:none!important;margin:0 auto 10px!important;padding:0!important}}
/* Keep the smaller banner card inside the original large page panel, left aligned. */
html.site-story-frame body.public-content-page .site-shell #main .page-title.panoramic-page-title{background:linear-gradient(135deg,var(--page-title-light,#fffcf0),var(--page-title-pastel,#fff2d9))!important;border:1px solid #d3c6b1!important;border-radius:20px!important;box-shadow:0 3px 12px #684c2810!important;margin:0 auto 16px 0!important;padding:8px!important;text-align:left}
@media(max-width:700px){html.site-story-frame body.public-content-page .site-shell #main .page-title.panoramic-page-title{margin:0 auto 10px 8px!important;padding:6px!important;border-radius:16px!important}}
/* Match the content-card inset; nested layouts already provide their own gutter. */
html.site-story-frame body.public-content-page .site-shell #main .page-title.panoramic-page-title{margin:16px auto 16px 0!important;max-width:100%!important}
html.site-story-frame body.public-content-page .site-shell #main>.wrap>.page-title.panoramic-page-title{max-width:90%!important;margin-left:max(5%,calc((100% - 860px)/2))!important}
@media(max-width:700px){
 html.site-story-frame body.public-content-page .site-shell #main .page-title.panoramic-page-title{width:100%!important;max-width:100%!important;margin:12px auto 16px 0!important}
 html.site-story-frame body.public-content-page .site-shell #main>.wrap>.page-title.panoramic-page-title{width:94%!important;max-width:94%!important;margin-left:3%!important}
}
@media(max-width:700px){html.site-story-frame body.public-content-page .site-shell #main>.wrap>.announcement-heading-row>.page-title.panoramic-page-title{width:94%!important;max-width:94%!important;margin-left:3%!important}}
/* Align the archive navigation lower alongside the illustrated heading. */
@media(min-width:701px){html.site-story-frame body.public-content-page .site-shell #main .video-gallery-page:has(.panoramic-page-title)>.video-toolbar{margin-top:32px}}
@media(max-width:700px){html.site-story-frame body.public-content-page .site-shell #main .video-gallery-page:has(.panoramic-page-title)>.video-toolbar{margin-top:16px}}
/* A wider, softer transparent edge only on the video gallery illustration. */
html.site-story-frame body.public-content-page .site-shell #main [data-page-banner="galerie-video"] .panoramic-page-image{opacity:.94;mask-image:linear-gradient(to right,transparent 0%,#000 16%,#000 84%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 20%,#000 80%,transparent 100%);mask-composite:intersect;-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 16%,#000 84%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 20%,#000 80%,transparent 100%);-webkit-mask-composite:source-in}
/* Let the gallery page surface show through the banner card and its faded edges. */
html.site-story-frame body.public-content-page .site-shell #main .page-title.panoramic-page-title[data-page-banner="galerie-video"]{background:transparent!important}
/* Reversible gallery experiment: full content width, blending into the page above. */
html.site-story-frame body.public-content-page .site-shell #main .video-gallery-page>.page-title.panoramic-page-title[data-page-banner="galerie-video"]{grid-column:1/-1;grid-row:auto;width:100%!important;max-width:100%!important;margin:0 0 16px!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}
html.site-story-frame body.public-content-page .site-shell #main .video-gallery-page:has([data-page-banner="galerie-video"])>.video-toolbar{grid-column:1/-1;grid-row:auto;margin:0 0 16px}
html.site-story-frame body.public-content-page .site-shell #main [data-page-banner="galerie-video"] .panoramic-page-image{border-radius:0;mask-image:linear-gradient(to right,transparent 0%,transparent 2%,#0004 5%,#000 12%,#000 88%,#0004 95%,transparent 98%,transparent 100%),linear-gradient(to bottom,transparent 0%,transparent 3%,#0004 8%,#000 30%,#000 78%,#0002 92%,transparent 96%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,transparent 2%,#0004 5%,#000 12%,#000 88%,#0004 95%,transparent 98%,transparent 100%),linear-gradient(to bottom,transparent 0%,transparent 3%,#0004 8%,#000 30%,#000 78%,#0002 92%,transparent 96%,transparent 100%)}
/* Mobile only: let the gallery illustration extend a little into both side gutters. */
@media(max-width:700px){html.site-story-frame body.public-content-page .site-shell #main .video-gallery-page>.page-title.panoramic-page-title[data-page-banner="galerie-video"]{width:calc(100% + 20px)!important;max-width:none!important;margin-left:-10px!important;margin-right:-10px!important}}
/* Approved integrated artwork treatment, shared by every illustrated page heading. */
html.site-story-frame body.public-content-page .site-shell #main#main .page-title.panoramic-page-title{grid-column:1/-1!important;grid-row:auto!important;width:100%!important;max-width:100%!important;margin:0 0 16px!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}
html.site-story-frame body.public-content-page .site-shell #main#main .panoramic-page-image{opacity:.94;border-radius:0;mask-image:linear-gradient(to right,transparent 0%,transparent 2%,#0004 5%,#000 12%,#000 88%,#0004 95%,transparent 98%,transparent 100%),linear-gradient(to bottom,transparent 0%,transparent 3%,#0004 8%,#000 30%,#000 78%,#0002 92%,transparent 96%,transparent 100%);mask-composite:intersect;-webkit-mask-image:linear-gradient(to right,transparent 0%,transparent 2%,#0004 5%,#000 12%,#000 88%,#0004 95%,transparent 98%,transparent 100%),linear-gradient(to bottom,transparent 0%,transparent 3%,#0004 8%,#000 30%,#000 78%,#0002 92%,transparent 96%,transparent 100%);-webkit-mask-composite:source-in}
html.site-story-frame body.public-content-page .site-shell #main#main .video-gallery-page:has(.panoramic-page-title)>.video-toolbar{grid-column:1/-1;grid-row:auto;margin:0 0 16px}
@media(min-width:701px){html.site-story-frame body.public-content-page .site-shell #main#main .announcement-heading-row:has(.panoramic-page-title){flex-wrap:wrap}html.site-story-frame body.public-content-page .site-shell #main#main .announcement-heading-row>.page-title.panoramic-page-title{flex:0 0 100%}}
@media(max-width:700px){html.site-story-frame body.public-content-page .site-shell #main#main .page-title.panoramic-page-title{width:calc(100% + 20px)!important;max-width:none!important;margin-left:-10px!important;margin-right:-10px!important}html.site-story-frame body.public-content-page .site-shell #main>.wrap>.announcement-heading-row>.page-title.panoramic-page-title{width:100%!important;margin-left:0!important;margin-right:0!important}}
/* Identical rendered width across nested containers, using the announcement content width. */
html.site-story-frame body.public-content-page .site-shell #main#main .page-title.panoramic-page-title.panoramic-page-title{width:var(--page-banner-width,100%)!important;max-width:none!important;margin-left:calc((100% - var(--page-banner-width,100%))/2)!important;margin-right:calc((100% - var(--page-banner-width,100%))/2)!important;flex-basis:var(--page-banner-width,100%)!important;justify-self:center}
/* Compact privacy panel shared by the public site and administration. */
html body #cookies{width:min(360px,calc(100vw - 24px))!important;padding:10px!important;border-radius:10px!important;box-shadow:0 5px 24px #203e3924!important}
html body #cookies h2{font:650 16px/1.3 system-ui,sans-serif!important;margin:0 0 6px!important}
html body #cookies p{font-size:12px!important;line-height:1.35!important;margin:5px 0!important}
html body #cookies .required-storage-note{padding:6px!important;border-radius:6px!important}
html body #cookies .external-content-setting{padding:8px!important;gap:6px 8px!important}
html body #cookies .external-content-setting label{font-size:12px!important;line-height:1.4!important;min-height:34px}
html body #cookies .external-content-setting p{font-size:11px!important;line-height:1.45!important}
html body #cookies .external-content-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;margin-top:8px}
html body #cookies .external-content-actions button,html body #cookies #save-cookies{box-sizing:border-box;min-height:36px!important;height:auto!important;padding:6px 8px!important;font:500 12px/1.35 system-ui,sans-serif!important;border-radius:6px!important;white-space:normal}
html body #cookies .cookie-policy-link{display:block;font-size:11px!important;line-height:1.4;margin-top:8px}
@media(pointer:coarse){html body #cookies .external-content-actions button,html body #cookies #save-cookies{min-height:44px!important}html body #cookies .external-content-setting label{min-height:44px}}
