/* Life Springs Academy boarding launch v4. All new styles are scoped to lsa- classes. */
:root { --lsa-navy:#102c44; --lsa-ink:#19364c; --lsa-gold:#d7a65f; --lsa-cream:#faf6ef; --lsa-muted:#566779; }
.lsa-kicker { display:block; font-size:12px; font-weight:800; letter-spacing:.17em; color:#ac7838; margin-bottom:18px; }
.lsa-button { display:inline-flex; align-items:center; justify-content:center; gap:14px; padding:15px 24px; background:var(--lsa-navy); color:#fff!important; text-decoration:none; border-radius:7px; font-weight:700; font-size:14px; transition:transform .2s,background .2s; }
.lsa-button:hover { background:#245273; transform:translateY(-2px); }
.lsa-home-boarding { padding:90px 0; background:var(--lsa-cream); color:var(--lsa-ink); }
.lsa-home-boarding-grid { display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:64px; }
.lsa-home-boarding h2 { font-size:clamp(35px,4.5vw,60px); line-height:1.12; font-weight:800; margin:0 0 24px; color:var(--lsa-navy); }
.lsa-home-boarding h2 em,.lsa-boarding-hero h1 em { font-family:Georgia,serif; font-weight:400; color:#bd8747; }
.lsa-home-boarding .lsa-lead { font-size:18px; line-height:1.8; max-width:580px; color:var(--lsa-muted); margin-bottom:25px; }
.lsa-home-points { display:flex; flex-wrap:wrap; gap:12px 20px; margin-bottom:32px; font-size:14px; font-weight:650; }
.lsa-home-points i { color:#bd8747; margin-right:6px; }
.lsa-home-boarding-visual { position:relative; border-radius:20px; overflow:hidden; min-height:365px; box-shadow:0 20px 55px rgba(16,44,68,.15); }
.lsa-home-boarding-visual img { width:100%; height:100%; min-height:365px; position:absolute; inset:0; object-fit:cover; }
.lsa-date-note { position:absolute; bottom:22px; left:22px; background:#fff; padding:15px 20px; border-radius:9px; box-shadow:0 8px 20px #0002; }
.lsa-date-note span { display:block; font-size:11px; letter-spacing:.13em; color:#6c7780; font-weight:700; }
.lsa-date-note strong { font-size:22px; color:var(--lsa-navy); }
/* Boarding page uses existing website header and mobile nav JS. */
.lsa-boarding-page { background:#fff; color:var(--lsa-ink); }
.lsa-boarding-page #header { background:var(--lsa-navy); padding:14px 0; }
.lsa-brand { display:flex; align-items:center; gap:10px; color:white!important; font-weight:800; font-size:17px; text-decoration:none; letter-spacing:.025em; }
.lsa-brand img { height:45px; width:45px; object-fit:contain; }
.lsa-boarding-page .navbar a { color:#fff; }
.lsa-boarding-page .navbar a:hover,.lsa-boarding-page .navbar .active { color:#f1bb77; }
.lsa-boarding-page .mobile-nav-toggle { color:white; }
.lsa-boarding-hero { padding:170px 0 105px; background:linear-gradient(135deg,#f9f5ed,#eef5f4); }
.lsa-boarding-hero-grid { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:70px; }
.lsa-boarding-hero h1 { font-size:clamp(44px,5.2vw,76px); line-height:1.07; letter-spacing:-.035em; color:var(--lsa-navy); font-weight:800; margin-bottom:24px; }
.lsa-hero-copy>p { font-size:19px; line-height:1.8; color:var(--lsa-muted); max-width:580px; }
.lsa-hero-actions { display:flex; align-items:center; gap:22px; flex-wrap:wrap; margin-top:32px; }
.lsa-launch { color:#5c6974; font-weight:700; font-size:13px; }
.lsa-launch i { color:#ad7839; margin-right:5px; }
.lsa-hero-image { min-height:440px; position:relative; border-radius:170px 170px 16px 16px; overflow:hidden; box-shadow:0 22px 55px #17354b22; }
.lsa-hero-image>img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; }
.lsa-image-label { position:absolute; bottom:22px; left:22px; right:22px; background:#fff; color:var(--lsa-navy); border-radius:9px; padding:15px 18px; font-weight:700; box-shadow:0 5px 15px #0002; }
.lsa-image-label i { color:#bd8747; margin-right:9px; }
.lsa-services-section { padding:100px 0 110px; background:#fff; }
.lsa-section-heading { text-align:center; max-width:720px; margin:0 auto 48px; }
.lsa-section-heading h2 { font-size:clamp(32px,3.5vw,47px); color:var(--lsa-navy); font-weight:800; margin-bottom:14px; }
.lsa-section-heading p { color:var(--lsa-muted); font-size:17px; }
.lsa-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.lsa-service { background:#faf9f6; border:1px solid #ede8df; border-radius:15px; padding:33px 30px; transition:transform .2s,box-shadow .2s; }
.lsa-service:hover { transform:translateY(-4px); box-shadow:0 16px 30px #102c4412; }
.lsa-service-icon { display:grid; place-items:center; width:60px; height:60px; border-radius:14px; background:#f1e5d2; color:#9b6932; font-size:27px; margin-bottom:24px; }
.lsa-service h3 { font-size:21px; line-height:1.35; font-weight:750; color:var(--lsa-navy); margin-bottom:12px; }
.lsa-service p { font-size:15px; line-height:1.8; color:var(--lsa-muted); margin:0; }
.lsa-enquiry-section { background:var(--lsa-navy); color:white; padding:85px 0; }
.lsa-enquiry-grid { display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:60px; }
.lsa-enquiry-section .lsa-kicker { color:#e7bb80; }
.lsa-enquiry-section h2 { color:white; font-size:clamp(32px,4vw,50px); font-weight:800; margin-bottom:18px; }
.lsa-enquiry-section p { color:#e4ebf0; line-height:1.8; font-size:17px; }
.lsa-button-light { background:#e6b97c; color:#102c44!important; margin-top:14px; }
.lsa-button-light:hover { background:#f5d3a3; }
.lsa-contact-panel { background:#ffffff12; border:1px solid #ffffff35; border-radius:15px; padding:35px; }
.lsa-contact-panel p { display:flex; gap:14px; align-items:flex-start; margin-bottom:20px; overflow-wrap:anywhere; font-size:15px; }
.lsa-contact-panel p:last-child { margin-bottom:0; }
.lsa-contact-panel i { color:#e6b97c; font-size:20px; }
.lsa-contact-panel a { color:#fff; text-decoration:none; }
.lsa-footer { background:#0b2033; color:#dce6ec; padding:24px 0; text-align:center; font-size:13px; }
.lsa-footer a { color:#dce6ec; }
@media(max-width:991px) { .lsa-home-boarding-grid,.lsa-boarding-hero-grid,.lsa-enquiry-grid { grid-template-columns:1fr; gap:35px; } .lsa-home-boarding,.lsa-services-section { padding:60px 0; } .lsa-boarding-hero { padding:135px 0 65px; } .lsa-hero-image { min-height:350px; } .lsa-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .lsa-boarding-page .navbar-mobile a { color:var(--lsa-navy); } }
@media(max-width:600px) { .lsa-home-boarding-visual { min-height:260px; } .lsa-home-boarding-visual img { min-height:260px; } .lsa-hero-image { min-height:300px; } .lsa-service-grid { grid-template-columns:1fr; } .lsa-enquiry-section { padding:60px 0; } .lsa-contact-panel { padding:24px; } .lsa-brand { font-size:13px; } .lsa-brand img { width:36px; height:36px; } }
