/* FAZA visual atmosphere. Reading surfaces and the established role navigation stay calm. */
.preloader{--welcome-logo-size:min(400px,78vw,50dvh);background:#f8f5f0;z-index:9999}
.welcome-backdrop{position:absolute;inset:0;z-index:-4;display:block}
.preloader .preloader-bg{width:100%;height:100%;object-fit:cover;object-position:center;opacity:1}
.preloader::before{background:radial-gradient(ellipse at center,#fffaf48c 5%,#f8f5f029 78%),linear-gradient(0deg,#efe7dba8,transparent 30%,#f8f5f06b)}
.preloader::after{display:none}
.preloader .loader-scene{width:calc(100% - 32px);max-width:620px;max-height:none;padding:16px;text-align:center;background:none;border:0;border-radius:0;box-shadow:none}
.preloader .loader-scene::before,.preloader .loader-scene::after{display:none}
.preloader .loader-kicker{display:block;font-size:12px;letter-spacing:.18em;color:#645640;margin-bottom:24px}
.preloader .loader-logo-wrap{width:var(--welcome-logo-size);height:var(--welcome-logo-size);margin:0 auto 24px}
.preloader .loader-logo{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 12px 24px #59432a35);animation:none}
.preloader .loader-logo-wrap{isolation:isolate;overflow:hidden;border-radius:50%}
.preloader .loader-logo-wrap::before{display:none}
.preloader .loader-logo-wrap::after{content:"";position:absolute;inset:0;border-radius:50%;background:linear-gradient(110deg,transparent 35%,#fff9dfaa 48%,#ffffffc9 50%,transparent 63%);mix-blend-mode:screen;opacity:0;pointer-events:none;animation:welcome-reflection 2.3s ease-in-out 1}
.welcome-sparkle{position:absolute;z-index:2;width:23px;height:23px;left:2%;top:22%;background:#fff9d9;clip-path:polygon(50% 0,59% 41%,100% 50%,59% 59%,50% 100%,41% 59%,0 50%,41% 41%);opacity:0;animation:welcome-sparkle 2.3s ease-in-out 1;pointer-events:none}
.welcome-sparkle.second{left:auto;right:5%;top:auto;bottom:15%;width:16px;height:16px;animation-delay:.35s}
.preloader .loader-title{font:clamp(23px,3vw,32px)/1.2 Georgia,serif;color:var(--deep);margin:0 0 20px}
.preloader .loader-line{width:min(220px,65vw);height:4px;margin:0 auto 16px;background:#ddcfb4;border-radius:4px}
.preloader .loader-line::after{width:40%;border-radius:inherit;animation:welcome-progress 1.35s ease-in-out infinite alternate}
@keyframes welcome-progress{from{transform:translateX(-20%)}to{transform:translateX(170%)}}
@keyframes welcome-reflection{0%,10%{opacity:0;transform:translateX(-110%)}45%{opacity:.7}90%,100%{opacity:0;transform:translateX(110%)}}
@keyframes welcome-sparkle{0%,20%,85%,100%{opacity:0;transform:scale(.45)}50%{opacity:.95;transform:scale(1)}}

.public-page .public-hero{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr);gap:28px;align-items:center;min-height:500px;padding:38px max(4vw,24px);background:radial-gradient(ellipse at 86% 25%,#e3eadc66,transparent 66%),var(--ivory)}
.public-page .public-hero .hero-copy{order:1;max-width:590px}
.public-page .public-hero .hero-photo{order:2;position:relative;inset:auto;width:100%;height:auto;max-height:none;object-fit:contain;object-position:center;z-index:0;border-radius:28px;mask-image:none;box-shadow:0 18px 45px #4c503719}
.public-page .public-hero::before{display:none}
.public-page .public-hero::after{background:linear-gradient(0deg,var(--ivory),transparent 18%);z-index:0;pointer-events:none}
.public-page .hero-copy h1{font-size:clamp(36px,4vw,58px)}
.public-page .hero-perks{flex-wrap:wrap;gap:8px 16px}
.public-page .scene-section{position:relative;isolation:isolate;background:transparent}
.public-page .scene-section::before{content:"";position:absolute;inset:0 calc(-1 * max(0px,(100vw - 100%)/2));width:auto;height:auto;z-index:-1;border:0;border-radius:0;transform:none;animation:none;pointer-events:none;background-image:linear-gradient(0deg,#f8f5f0,#f4f0e2e8 28%,#eef1e7e8 72%,#f8f5f0),var(--section-scene);background-size:100% 100%,cover;background-position:center;background-repeat:no-repeat;opacity:1}
.public-page .scene-section::after{pointer-events:none}
.public-page .scene-section::before{mask-image:none}
.public-page .scene-section:nth-of-type(3n)::before{background-image:linear-gradient(0deg,#f8f5f0,#e8eddfdf 28%,#f3ebdadf 72%,#f8f5f0),var(--section-scene)}
.public-page .benefit,.public-page .v5-course-card,.public-page .v5-book-card,.public-page .experience-grid>div{background:#fffdf9;border-color:#dce2ce;box-shadow:0 8px 24px #5362400a}
.public-page .v5-section-title h2{font-size:clamp(29px,3vw,40px);line-height:1.16;color:var(--deep)}
.public-page .v5-card-content h3{color:var(--deep)}
.public-page .v5-course-photo,.public-page .v5-staff>img{object-fit:contain;object-position:center;background:#f0eee5}
.public-page .section-photo>img,.public-page .about-section>img,.public-page .v5-detail-cover{width:100%;height:auto;max-height:none;object-fit:contain;border-radius:24px}
.public-page .scenic-invitation{display:block;background:#fffaf0d6;max-width:780px;margin-inline:auto;text-align:center;box-shadow:0 15px 45px #7052340c}
.public-page .scenic-invitation .button-row{justify-content:center}
.public-page #final-invitation{padding-block:90px}
.public-site .header .nav a{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.public-site .header .nav .ico{width:17px;height:17px;flex:none}
.public-site .footer a:not(.brand){display:flex;align-items:center;gap:8px}
.public-site .footer .ico{width:17px;height:17px;flex:none}
.public-site .footer .footer-grid>div{min-width:0}
.v5-social .ico{width:20px;height:20px;flex:none}
body.authenticated,body.public-site{isolation:isolate}
.workspace-atmosphere,.public-atmosphere{position:fixed;inset:80px 0 0;z-index:-1;pointer-events:none;overflow:hidden;background:linear-gradient(0deg,#f8f5f0b8,#f8f5f04d)}
.workspace-atmosphere img,.public-atmosphere img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:right center;opacity:.27;mask-image:linear-gradient(90deg,transparent,#000 45%,#000 90%,transparent)}
.workspace-atmosphere::after,.public-atmosphere::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--ivory),transparent 30%,transparent 75%,var(--ivory))}
.public-dock{display:none}
@media(max-width:1150px){
 .public-site .header .nav{display:none}
 .public-site .header .mobile-menu{display:inline-flex}
 .public-page .public-hero{gap:20px;padding-inline:28px}
 .public-page .hero-copy .subtitle{font-size:21px}
}
@media(max-width:800px){
 .public-page .public-hero{grid-template-columns:1fr;gap:12px;min-height:0;padding:28px 22px 0}
 .public-page .public-hero .hero-copy{max-width:620px}
 .public-page .public-hero .hero-photo{max-width:600px;justify-self:center;border-radius:30px}
 .public-page .hero-copy .subtitle{display:none}
 .public-page .hero-copy p{font-size:16px;line-height:1.55;margin-block:12px}
 .public-page .hero-copy .button-row{margin-top:16px;gap:8px}
 .public-page .hero-perks{margin-top:14px;font-size:12px}
 .has-public-dock{padding-bottom:82px}
 .bottom-nav.public-dock{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;inset:auto 0 0;background:#fffcf9f7;border-top:1px solid var(--line);padding:6px 8px calc(6px + env(safe-area-inset-bottom));gap:4px;z-index:45}
 .public-dock a{min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:11px;color:var(--deep);text-decoration:none;border-radius:10px}
 .public-dock a:hover,.public-dock a:focus-visible{background:#e8eddc}
 .public-dock .ico{width:21px;height:21px}
 .workspace-atmosphere img,.public-atmosphere img{object-position:center bottom;opacity:.21}
 .public-page #final-invitation{padding-block:40px}
}
@media(max-width:620px){
 .public-page .program-grid.v5-featured{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .public-page .v5-featured .v5-course-photo{height:auto;aspect-ratio:4/3;object-fit:contain}
 .public-page .v5-featured .v5-card-content{padding:12px;gap:10px}
 .public-page .v5-featured .v5-card-content h3{font-size:19px;line-height:1.18}
 .public-page .v5-featured .v5-card-content p{font-size:13px;line-height:1.45}
 .public-page .v5-featured .eyebrow{font-size:10px;letter-spacing:.04em}
 .public-page .v5-featured .v5-course-card .btn{padding:9px 8px;font-size:13px;gap:5px;white-space:nowrap}
 .public-page .v5-featured .v5-course-card .btn .ico{width:14px;height:14px}
 .public-page .hero-copy h1{font-size:37px}
 .public-page .hero-copy .button-row .btn{font-size:13px;padding-inline:11px;gap:6px}
 .public-page .section-photo>img,.public-page .about-section>img{border-radius:20px}
 .public-page .scene-section::before{background-size:100% 100%,cover;opacity:1}
 .preloader .loader-kicker{font-size:10px;letter-spacing:.14em}
}
@media(max-height:520px){
 .preloader{--welcome-logo-size:min(260px,40dvh)}
 .preloader .loader-scene{padding:10px}
 .preloader .loader-kicker{margin-bottom:10px}
 .preloader .loader-logo-wrap{margin-bottom:12px}
 .preloader .loader-title{font-size:20px;margin-bottom:10px}
 .preloader .loader-line{margin-bottom:6px}
}
@media(prefers-reduced-motion:reduce){
 .preloader::after,.preloader .loader-logo,.preloader .loader-logo-wrap::after,.preloader .welcome-sparkle,.preloader .loader-line::after{animation:none}
 .preloader .loader-line::after{width:100%;opacity:.6}
}
@media print{.workspace-atmosphere,.public-atmosphere,.preloader,.public-dock{display:none!important}.public-page .scene-section::before{display:none}}
