/* 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{position:relative;isolation:isolate;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;z-index:2;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 .player-card{position:relative;z-index:1}
/* Headings may balance across words, but should never split a word mid-line. */
#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:normal;word-break:normal;hyphens:none;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}}

/* Introduce the learning section with a full-width heading, then pair its
   image with programs first and explanatory copy second. */
.learning-section{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"eyebrow eyebrow" "title title" "media programs" "media body";align-items:start;column-gap:clamp(30px,5vw,72px);row-gap:clamp(14px,2vw,24px);margin-top:clamp(52px,7vw,96px)}
.learning-section .learning-media{grid-area:media;align-self:stretch}
.learning-section .learning-copy{display:contents}
.learning-section .learning-copy .eyebrow{grid-area:eyebrow;margin:0}
.learning-section .learning-copy h2{grid-area:title;width:100%;max-width:none;margin:0 0 clamp(12px,2vw,24px);font-size:clamp(44px,5.6vw,76px);line-height:.98;letter-spacing:-.055em;text-wrap:balance}
.learning-section .learning-copy>p:not(.eyebrow){grid-area:body;align-self:start;margin:0}
.learning-section .learning-programs{grid-area:programs;align-self:end;margin:0;padding:0 0 clamp(20px,2.5vw,30px);border-top:0;border-bottom:1px solid rgba(0,63,135,.16)}
@media(max-width:800px){.learning-section{grid-template-columns:1fr;grid-template-areas:"eyebrow" "title" "media" "programs" "body";column-gap:0;row-gap:18px;margin-top:clamp(44px,10vw,72px)}.learning-section .learning-copy h2{width:auto;max-width:15ch;margin-bottom:8px;font-size:clamp(38px,10vw,54px)}.learning-section .learning-programs{align-self:auto;padding:4px 0 20px}.learning-section .learning-copy>p:not(.eyebrow){margin:0 4px}}

/* 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}}

/* About and Enrollment use the same hero-cover transition as the homepage. */
.lsa-cover-flow{position:relative;z-index:2;isolation:isolate}
.lsa-cover-flow__hero{position:sticky;top:0;z-index:1}
.lsa-cover-flow__panel{--cover-top-radius:clamp(28px,3vw,40px);position:relative;z-index:2;display:flow-root;min-width:0;margin-top:-56px;overflow:clip;border-radius:var(--cover-top-radius) var(--cover-top-radius) 0 0;background:linear-gradient(180deg,#fff,var(--lsa-bg) 360px);background-clip:padding-box;box-shadow:0 -34px 78px rgba(0,24,58,.15),inset 0 1px 0 rgba(255,255,255,.82)}
.lsa-cover-flow__panel--enrollment{padding-top:clamp(42px,7vw,92px)}
.lsa-cover-flow__panel--enrollment .enrollment-eligibility{margin-top:0;border:0;border-radius:0;background:transparent;box-shadow:none}
@supports not (overflow:clip){.lsa-cover-flow__panel{overflow:hidden}}
@media(max-width:720px){.lsa-cover-flow__panel{margin-top:-40px}.lsa-cover-flow__panel--enrollment{padding-top:48px}}

/* Temporary site-wide closure crawler beneath the fixed navigation. */
.lsa-global-notice{position:fixed;z-index:2990;inset:78px 0 auto;height:40px;overflow:hidden;color:#fff;background:#003f87;box-shadow:0 8px 22px rgba(0,30,68,.2),inset 0 1px rgba(255,255,255,.12);font-family:Poppins,Arial,sans-serif}
.lsa-global-notice__viewport{height:100%;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.lsa-global-notice__track{display:flex;width:max-content;height:100%;will-change:transform;animation:lsa-global-notice-scroll 31s linear infinite}
.lsa-global-notice__message{display:flex;flex:none;align-items:center;height:100%;padding-right:clamp(52px,7vw,100px);white-space:nowrap;color:#fff;font-size:clamp(11px,1vw,13px);font-weight:550;letter-spacing:.015em;line-height:1}
.lsa-global-notice__message strong{margin-right:.38em;font-weight:800;letter-spacing:.08em}
.lsa-global-notice:hover .lsa-global-notice__track,.lsa-global-notice:focus .lsa-global-notice__track{animation-play-state:paused}
body.lsa-global-notice-active .lsa-page-layer{padding-top:118px}
@keyframes lsa-global-notice-scroll{to{transform:translateX(-50%)}}
@media(max-width:879px){.lsa-global-notice{top:calc(62px + env(safe-area-inset-top));height:42px}.lsa-global-notice__track{animation-duration:27s}.lsa-global-notice__message{padding-right:56px;font-size:11px;letter-spacing:.01em}body.lsa-global-notice-active .lsa-page-layer{padding-top:calc(104px + env(safe-area-inset-top))}}
@media(prefers-reduced-motion:reduce){.lsa-global-notice__viewport{overflow-x:auto;mask-image:none;-webkit-mask-image:none}.lsa-global-notice__track{animation:none!important}.lsa-global-notice__message:nth-child(2){display:none}}
