/* Integration-only adjustments; canonical components retain their original styling. */
#component-footer{margin-top:40px;min-height:0}#component-footer .school-title{margin-top:0}#component-footer .lsa-footer{min-height:300px}#component-footer img{max-width:100%}
#component-classrooms{max-width:1200px;margin:0 auto;padding:30px 24px}
#component-worship{height:auto;min-height:0;padding:40px 24px}#component-voices{height:auto!important;min-height:0;background:linear-gradient(180deg,transparent 0%,transparent 78%,rgba(243,248,240,.72) 100%)}#component-staff{height:auto!important}#component-home{height:auto!important}
#component-contact{min-height:0}#component-calendar{min-height:0;background:var(--lsa-bg)!important}#component-codebreaker{height:auto;min-height:80vh}
#component-documents .pdf-frame{background:white}#component-scholarship video{max-width:100%}
#component-scholarship .lsa-copy-shell .lsa-cta{align-self:center}
#component-scholarship .lsa-scholarship-section{overflow:visible;padding-bottom:clamp(28px,4vw,54px)}
#component-documents .lsa-resources{padding-top:clamp(26px,3vw,42px)}
#component-scholarship .ap-ui{display:flex;align-items:flex-end;pointer-events:none}#component-scholarship .ap-controls{width:100%;pointer-events:auto;background:linear-gradient(180deg,rgba(20,30,45,.22),rgba(20,30,45,.42))}#component-scholarship .ap-btn{--size:44px}#component-scholarship .ap-track{height:16px;background:transparent;touch-action:none}#component-scholarship .ap-track::before{content:"";position:absolute;inset:6px 0;border-radius:999px;background:rgba(255,255,255,.2)}#component-scholarship .ap-buffered,#component-scholarship .ap-fill{top:6px;bottom:6px}#component-scholarship .ap-ui.is-hidden .ap-controls{pointer-events:none}#component-scholarship .ap-ui:focus-within{opacity:1;pointer-events:auto}
#component-calendar iframe{min-width:0}#component-classrooms .ap-track{touch-action:none}
@media(prefers-reduced-motion:reduce){.legacy-component *,.legacy-component *::before,.legacy-component *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.legacy-component .ap-ambient{display:none}}

#component-worship .embed-shell{width:100%;min-height:0;padding:24px;max-width:1440px;margin:auto;border-radius:28px}
#component-worship .embed-shell::before{position:absolute}
#component-worship .player-card{max-height:none}
@media(max-width:780px){#component-footer .lsa-footer,#component-footer .footer-layout{height:auto;min-height:0}#component-footer .footer-layout{gap:28px;padding:28px 18px}#component-footer .action-panel{padding:0;justify-content:start}#component-footer .org-logo{background:#003f87;border-radius:12px;padding:8px;width:170px;height:64px}#component-worship{padding:24px 12px}#component-worship .embed-shell{padding:16px}}
@media(prefers-reduced-motion:reduce){#component-home [data-reveal]{opacity:1;transform:none}#component-staff .staff-card{opacity:1}}
#component-footer .js-spring{transition:transform .35s var(--liquid-spring)}#component-footer .js-spring:hover{transform:scale(1.035)}#component-footer .js-spring:active{transform:scale(.95)}
#component-footer .map-stage:not(.unused){max-width:100%}
#component-footer .school-title{white-space:normal;line-height:1.08;overflow-wrap:normal}
#component-worship .embed-shell{position:relative}#component-worship .player-card{min-height:0}#component-worship .copy-panel{will-change:auto}#component-voices{overflow:visible}
/* Let the two worship cards float directly on the About page. */
#component-worship .embed-shell{width:100%;max-width:1500px;min-height:0;overflow:visible;padding:0;margin:auto;border-radius:0;background:none;isolation:auto}
#component-worship .embed-shell::before{display:none}
#component-worship .player-card{width:100%;max-height:none}
#component-worship .video-frame{box-shadow:0 24px 64px rgba(0,63,135,.19),0 8px 22px rgba(0,0,0,.08)}
/* Match the other glass players: slim timeline above a balanced control row. */
#component-worship .glass-controls{left:0;right:0;bottom:0;display:grid;grid-template-columns:44px minmax(0,1fr) 44px 44px;grid-template-rows:16px 44px;gap:8px 12px;min-height:0;padding:12px 14px 14px;border:0;border-top:1px solid rgba(255,255,255,.18);border-radius:0;background:linear-gradient(180deg,rgba(20,30,45,.24),rgba(20,30,45,.55));box-shadow:none;backdrop-filter:blur(12px) saturate(130%);-webkit-backdrop-filter:blur(12px) saturate(130%)}
#component-worship .video-frame:hover .glass-controls{transform:none;background:linear-gradient(180deg,rgba(20,30,45,.3),rgba(20,30,45,.6))}
#component-worship .time-group{display:contents}
#component-worship .progress-track{grid-column:1/-1;grid-row:1;align-self:center;height:16px;background:linear-gradient(0deg,transparent 0 6px,rgba(255,255,255,.25) 6px 10px,transparent 10px);touch-action:none}
#component-worship .progress-fill{height:4px;position:absolute;top:6px;left:0;background:linear-gradient(90deg,#79a6da,#fff)}
#component-worship .play-toggle{grid-column:1;grid-row:2}#component-worship .current-time{grid-column:2;grid-row:2;align-self:center}#component-worship .duration-time{display:none}#component-worship .mute-toggle{grid-column:3;grid-row:2}#component-worship .fullscreen-toggle{grid-column:4;grid-row:2}
#component-worship .control-button{border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.1);box-shadow:0 8px 20px rgba(0,0,0,.22)}
#component-worship .video-frame:fullscreen,#component-classrooms .ap-shell:fullscreen{width:100vw;height:100dvh;max-height:none;aspect-ratio:auto;border:0;border-radius:0;clip-path:none;contain:none;transform:none;animation:none;background:#000}
#component-worship .video-frame:fullscreen .worship-video,#component-classrooms .ap-shell:fullscreen .ap-video{object-fit:contain}
#component-classrooms .ap-shell:fullscreen .ap-frame{border-radius:0}
@media(max-width:750px){#component-worship .player-card{min-height:0}#component-worship .video-frame::before,#component-worship .video-frame::after{display:none}#component-worship .glass-controls{display:grid;gap:6px 8px;grid-template-columns:40px minmax(0,1fr) 40px 40px;padding:8px 10px 10px}#component-worship .control-button{width:40px;height:40px}#component-worship .video-frame{max-height:none}}
@media(prefers-reduced-motion:reduce){#component-worship .copy-panel,#component-worship .glass-controls{opacity:1!important;transform:none!important;animation:none!important}#component-footer .js-spring:hover,#component-footer .js-spring:active{transform:none}}
#component-contact .switch:focus-within,#component-footer .switch:focus-within{outline:3px solid #003f87;outline-offset:4px}

/* Leave the shared fixed navigation unobscured while a staff bio is open. */
#component-staff,#component-staff .lsa-staff-embed{overflow:visible;isolation:auto}
#component-staff .staff-overlay{z-index:2000}
body:has(#component-staff.spotlight-open){overflow:hidden}
#component-staff{--staff-nav-clearance:78px}#component-staff .staff-overlay{inset:var(--staff-nav-clearance) 0 0;height:calc(100dvh - var(--staff-nav-clearance));max-height:calc(100dvh - var(--staff-nav-clearance));padding:16px clamp(16px,3vw,36px)}#component-staff .spotlight-panel{height:min(760px,calc(100dvh - var(--staff-nav-clearance) - 32px));max-height:calc(100dvh - var(--staff-nav-clearance) - 32px)}
@media(max-width:879px){#component-staff{--staff-nav-clearance:62px}#component-staff .staff-overlay{padding:12px}#component-staff .spotlight-panel{height:min(700px,calc(100dvh - var(--staff-nav-clearance) - 24px));max-height:calc(100dvh - var(--staff-nav-clearance) - 24px)}}
/* On small screens the photo and full biography scroll together inside the dialog. */
@media(max-width:750px){#component-staff .spotlight-panel{height:auto;max-height:none;margin:0 auto;padding-bottom:24px}#component-staff .spotlight-photo{position:relative;top:auto;max-height:calc(100dvh - var(--staff-nav-clearance) - 60px)}#component-staff .spotlight-close{z-index:10}}

#component-voices .lsa-voices-embed{overflow:visible;background:transparent}

/* Give the classroom introduction the same floating glass-card language as worship. */
#component-classrooms .lsavs-grid{grid-template-columns:minmax(280px,.76fr) minmax(0,1.58fr);align-items:stretch;gap:clamp(18px,3.2vw,44px)}
#component-classrooms .lsavs-copy{position:relative;min-width:0;min-height:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:clamp(24px,3.1vw,48px);border:1px solid rgba(255,255,255,.72);border-radius:clamp(18px,2.2vw,28px);color:var(--lsa-ink);background:linear-gradient(145deg,rgba(255,255,255,.7),rgba(243,248,240,.42)),rgba(255,255,255,.5);box-shadow:18px 22px 48px rgba(0,63,135,.1),-14px -14px 34px rgba(255,255,255,.92),inset 1px 1px 0 rgba(255,255,255,.82),inset -1px -1px 0 rgba(0,63,135,.05)}
#component-classrooms .lsavs-title{max-width:100%;margin:0;color:var(--lsa-blue);font:700 clamp(2rem,3.8vw,3.1rem)/1.04 Poppins,sans-serif;letter-spacing:0;overflow-wrap:anywhere;text-wrap:balance}
#component-classrooms .lsavs-blurb{max-width:44rem;margin:clamp(14px,2.2vw,24px) 0 0;color:var(--lsa-ink);font:400 clamp(.96rem,1.22vw,1.2rem)/1.62 Poppins,sans-serif;text-wrap:pretty}
#component-classrooms .lsavs-cta{align-self:flex-start;margin-top:clamp(18px,2.2vw,24px);font-family:Poppins,sans-serif}
@media(max-width:1000px){#component-classrooms .lsavs-grid{display:grid;grid-template-columns:1fr;gap:20px}#component-classrooms .lsavs-copy{display:flex;text-align:left;margin:0;padding:clamp(18px,3vw,28px)}#component-classrooms .lsavs-title{font-size:clamp(1.8rem,5.8vw,3.35rem)}#component-classrooms .lsavs-blurb,#component-classrooms .lsavs-cta{display:block!important}#component-classrooms .lsavs-cta{align-self:flex-start}}

/* Quick Find is a true page-level search mode, not a footer-bound panel. */
body.quickfind-open{overflow:hidden}
#component-footer .lsa-footer.search-open{isolation:auto;overflow:visible}
#component-footer .quickfind-backdrop{z-index:9000;overflow:clip;contain:paint;background:linear-gradient(135deg,rgba(4,22,42,.58),rgba(11,60,92,.49) 48%,rgba(4,20,40,.64));backdrop-filter:blur(14px) saturate(122%) brightness(.88);-webkit-backdrop-filter:blur(14px) saturate(122%) brightness(.88)}
#component-footer .quickfind-backdrop::after{content:"";position:absolute;inset:-20%;background:radial-gradient(circle at 18% 78%,rgba(121,166,218,.48),transparent 22%),radial-gradient(circle at 82% 18%,rgba(18,180,213,.30),transparent 25%),radial-gradient(circle at 54% 58%,rgba(0,63,135,.34),transparent 35%);filter:blur(40px);animation:quickfind-overlay-drift 13s ease-in-out infinite alternate}
#component-footer .lsa-footer.search-open .bottom-bar{z-index:9100}
#component-footer .lsa-footer.search-open .search-exit{z-index:9200}
@keyframes quickfind-overlay-drift{0%{transform:translate3d(-2%,2%,0) scale(1)}50%{transform:translate3d(3%,-2%,0) scale(1.08)}100%{transform:translate3d(-1%,-3%,0) scale(1.03)}}
@media(prefers-reduced-motion:reduce){#component-footer .quickfind-backdrop::after{animation:none}}
