/* 115 Schiller | Signature Loading System v1.0 — sitewide, no fake progress */
.sch-load-overlay{position:fixed;inset:0;z-index:2147482500;isolation:isolate;overflow:hidden;background:#102d25;animation:sch-load-arrive .24s cubic-bezier(.18,.7,.3,1) both}
.sch-load-overlay.sch-load-leaving{opacity:0;pointer-events:none;transition:opacity .16s}
.sch-load-stage{--sch-load-deep:#102d25;--sch-load-pine:#245540;--sch-load-gold:#d9b580;--sch-load-text:#f0f6ed;--sch-load-secondary:#b5d1c3;position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100svh;width:100%;max-width:100%;overflow:hidden;background:radial-gradient(ellipse at 75% 15%,#2a5848 0%,transparent 43%),linear-gradient(155deg,#13362b 0%,#102c24 58%,#0b201c 100%);color:var(--sch-load-text);font:normal 14px/1.5 Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.sch-load-stage *{box-sizing:border-box}
.sch-load-stage button{font:inherit;cursor:pointer}
.sch-load-stage-full{min-height:100vh;min-height:100svh}
.sch-load-inner{position:relative;width:min(530px,100% - 40px);margin:auto;text-align:center;padding:66px 0 56px;z-index:2}
.sch-load-brand{display:inline-flex;align-items:center;gap:11px;color:#f3f8ef;text-align:left}
.sch-load-brand-icon{font:normal 30px/1 Georgia,serif;letter-spacing:-.055em;border:1px solid rgba(233,207,163,.6);width:43px;height:43px;display:grid;place-items:center;border-radius:50%;color:#f3d9a9;background:rgba(255,255,255,.05)}
.sch-load-brand strong{display:block;font-size:12px;letter-spacing:.205em;font-weight:790}
.sch-load-brand small{display:block;color:#afcbb8;margin-top:3px;letter-spacing:.14em;font-size:9px;font-weight:700}
.sch-load-art{position:relative;width:min(246px,48vw);aspect-ratio:1;margin:clamp(25px,4vh,49px) auto 22px;display:grid;place-items:center;transition:transform .6s ease}
.sch-load-art.sch-load-art-shift{transform:rotate(-12deg)}
.sch-load-symbol{width:100%;height:100%;position:relative;overflow:visible;filter:drop-shadow(0 0 34px rgba(214,176,113,.18));z-index:2}
.sch-load-orbit{fill:none;stroke:#6f9a83;stroke-width:.75;opacity:.34;transform-origin:95px 95px}
.sch-load-orbit-a{stroke-dasharray:1 6;animation:sch-load-rotate 23s linear infinite}
.sch-load-orbit-b{stroke:#dfbc8a;stroke-dasharray:3 4;stroke-width:1;opacity:.42;animation:sch-load-rotate 18s linear infinite reverse}
.sch-load-orbit-c{stroke:#bdd2bd;opacity:.18;stroke-dasharray:15 11;animation:sch-load-rotate 12s linear infinite}
.sch-load-river{stroke:#e0ba78;stroke-width:1.7;fill:none;stroke-linecap:round;opacity:.94;stroke-dasharray:5 9;animation:sch-load-river 9s linear infinite}
.sch-load-river-2{stroke:#8eb7a3;opacity:.65;stroke-width:1;animation-duration:13s;animation-direction:reverse}
.sch-load-arch{fill:none;stroke:#d5c6a5;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round;opacity:.6;stroke-dasharray:110;stroke-dashoffset:110;animation:sch-load-draw 2.1s ease forwards}
.sch-load-sigil{fill:none;stroke:#f5d8aa;stroke-width:4.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:195;stroke-dashoffset:195;animation:sch-load-draw 2.5s cubic-bezier(.3,.3,.17,1) forwards,sch-load-sigil-pulse 4s ease-in-out 2.5s infinite}
.sch-load-marker{fill:#e5c290;filter:drop-shadow(0 0 8px #e5c290);animation:sch-load-dot 2.4s ease-in-out infinite}
.sch-load-marker-b{fill:#9fccad;animation-delay:1.2s}
.sch-load-glow{position:absolute;inset:21%;border-radius:50%;background:radial-gradient(circle,rgba(218,181,124,.15) 0%,transparent 67%);filter:blur(18px);animation:sch-load-breathe 5s ease-in-out infinite}
.sch-load-eyebrow{display:block;font-size:10px;letter-spacing:.21em;font-weight:800;color:#deb77e;margin-bottom:12px}
.sch-load-title{font:normal clamp(30px,4vw,43px)/1.17 Georgia,"Times New Roman",serif;letter-spacing:-.05em;margin:0 0 11px;color:#f4f7f0;max-width:100%}
.sch-load-description{font-size:13px;line-height:1.7;color:#bbd1c1;max-width:400px;margin:0 auto}
.sch-load-track{position:relative;overflow:hidden;width:min(286px,80%);height:2px;background:rgba(202,224,208,.20);margin:26px auto 22px;border-radius:100px}
.sch-load-track>span:first-child{position:absolute;width:35%;height:100%;top:0;left:-35%;background:linear-gradient(90deg,transparent,#e8c18b,#f6e6cd);border-radius:100px;animation:sch-load-progress 2.25s cubic-bezier(.7,.08,.3,.9) infinite}
.sch-load-track-shine{position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(234,208,161,.08),transparent);opacity:.35}
.sch-load-interact{display:flex;justify-content:space-between;align-items:center;gap:15px;width:min(440px,100%);margin:0 auto;padding-top:13px;border-top:1px solid rgba(220,235,223,.15);text-align:left}
.sch-load-tip{display:flex;flex-direction:column;min-width:0;flex:1;gap:4px}
.sch-load-tip strong{font-size:10px;letter-spacing:.12em;color:#d4b486;font-weight:800}
.sch-load-tip span{font-size:11px;color:#acccbb;line-height:1.5}
.sch-load-next{display:inline-flex;gap:8px;flex:none;align-items:center;color:#e3d8c8;border:1px solid rgba(226,199,154,.38);background:rgba(255,255,255,.06);border-radius:9px;padding:10px 12px;min-height:42px;font-size:11px!important;font-weight:720;transition:background .18s,border-color .18s}
.sch-load-next:hover{background:rgba(238,198,138,.14);border-color:#ddbd83}
.sch-load-next svg{transition:transform .2s ease}
.sch-load-next:hover svg{transform:translateX(3px)}
.sch-load-next:focus-visible,.sch-load-retry:focus-visible,.sch-load-home:focus-visible{outline:2px solid #e9c992;outline-offset:3px}
.sch-load-background{position:absolute;inset:-40%;pointer-events:none;z-index:0;overflow:hidden}
.sch-load-background i{position:absolute;border:1px solid rgba(197,228,202,.07);border-radius:50%;width:80vmax;aspect-ratio:1;top:20%;left:50%;transform:translate(-50%,-50%) rotate(0deg);animation:sch-load-rotate 90s linear infinite}
.sch-load-background i:nth-child(2){width:109vmax;top:57%;left:20%;border-color:rgba(208,163,99,.07);animation-direction:reverse}
.sch-load-background i:nth-child(3){width:145vmax;top:79%;left:75%;animation-duration:120s}
.sch-load-error .sch-load-symbol{filter:grayscale(.28);opacity:.75}
.sch-load-error .sch-load-track>span{animation:none!important;width:100%;left:0;background:#c89077}
.sch-load-retry,.sch-load-home{display:inline-flex;align-items:center;justify-content:center;min-height:43px;border-radius:8px;padding:10px 19px;text-decoration:none!important;font-size:13px}
.sch-load-retry{background:#e8d0a9;border:1px solid #e8d0a9;color:#153729}
.sch-load-home{border:1px solid rgba(226,199,154,.5);color:#e8d3b4}
.sch-load-error .sch-load-interact{justify-content:center;flex-wrap:wrap}
@keyframes sch-load-arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@keyframes sch-load-rotate{to{transform:rotate(360deg)}}
@keyframes sch-load-river{to{stroke-dashoffset:-112}}
@keyframes sch-load-draw{to{stroke-dashoffset:0}}
@keyframes sch-load-dot{50%{opacity:.35;transform:scale(.7)}}
@keyframes sch-load-breathe{50%{opacity:.6;transform:scale(1.12)}}
@keyframes sch-load-progress{0%{left:-38%;width:24%}45%{width:48%}100%{left:110%;width:28%}}
@keyframes sch-load-sigil-pulse{50%{stroke:#e5ba74;stroke-width:5}}
@media(max-width:540px){.sch-load-inner{width:calc(100% - 34px);padding:54px 0 36px}.sch-load-art{width:min(215px,59vw);margin:28px auto 20px}.sch-load-title{font-size:31px}.sch-load-interact{align-items:stretch;flex-direction:column;text-align:center;gap:12px}.sch-load-next{justify-content:center;width:100%}.sch-load-tip strong{font-size:10px}.sch-load-tip span{font-size:11px}}
@media(max-width:350px){.sch-load-art{width:154px;margin:20px auto}.sch-load-title{font-size:26px}.sch-load-inner{padding:32px 0}.sch-load-brand small{letter-spacing:.07em}}
@media(prefers-reduced-motion:reduce){.sch-load-stage *, .sch-load-overlay *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.sch-load-sigil,.sch-load-arch{stroke-dashoffset:0!important}.sch-load-track>span:first-child{left:0!important;width:43%!important}}
/* Small mode for guest portal while preserving its existing layout. */
.gs-loading .sch-load-stage{min-height:57vh;min-height:57svh;border-radius:12px}
.gs-loading .sch-load-inner{padding:20px 0}
.gs-loading .sch-load-art{width:154px;margin:15px auto}
.gs-loading .sch-load-title{font-size:26px}
.gs-loading .sch-load-brand{transform:scale(.85)}

/* Embedded guest portal: clear but not a second sitewide navigation layer. */
.gs-public #gs-app > .sch-load-stage{min-height:68vh;min-height:68svh;padding:0;border-radius:0}
.gs-public #gs-app > .sch-load-stage .sch-load-inner{padding-block:35px}
.gs-public #gs-app > .sch-load-stage .sch-load-art{width:min(175px,46vw);margin:18px auto 10px}
.gs-public #gs-app > .sch-load-stage .sch-load-title{font-size:clamp(24px,4vw,31px)}
