/* Scottish Academy of Swimming | Family website, V3.
   Near-black styling from the team emails, with cyan and cobalt to complement the original logo. */

#sas-home { --ink:#05080c; --aqua:#31c5ef; --blue:#006d92; --pool:#008ec9; --muted:#52626c; --pale:#edf9fb; width:100%; margin:0; padding:0; background:#fff; color:var(--ink); font:400 16px/1.65 Arial,Helvetica,sans-serif; isolation:isolate; overflow:clip; text-align:left; -webkit-font-smoothing:antialiased; }
#sas-home *, #sas-home *::before, #sas-home *::after { box-sizing:border-box; }
#sas-home :is(h1,h2,h3,p,ul,figure,blockquote) { margin:0; padding:0; color:inherit; font-family:inherit; }
#sas-home :is(h1,h2,h3) { font-family:'Arial Black',Arial,Helvetica,sans-serif; font-weight:900; text-transform:none; font-style:normal; text-decoration:none; }
#sas-home h1 { font-size:clamp(54px,5.1vw,84px); line-height:1.03; letter-spacing:-.06em; }
#sas-home h2 { font-size:clamp(36px,3.6vw,58px); line-height:1.07; letter-spacing:-.055em; }
#sas-home h3 { font-size:28px; line-height:1.15; letter-spacing:-.045em; }
#sas-home p { font-size:16px; line-height:1.7; }
#sas-home a { color:inherit; text-decoration:none; }
#sas-home img { display:block; width:100%; max-width:100%; }
#sas-home a:focus-visible, #sas-home summary:focus-visible { outline:3px solid var(--pool); outline-offset:5px; }
#sas-home .sas-hero a:focus-visible, #sas-home .sas-footer a:focus-visible { outline-color:var(--aqua); }
#sas-home section[id] { scroll-margin-top:25px; }
#sas-home .sas-eyebrow { font-size:12px; font-weight:800; letter-spacing:.16em; line-height:1.5; margin-bottom:18px; color:#2d6a82; text-transform:uppercase; }
#sas-home .sas-eyebrow-light { color:var(--aqua); }
#sas-home .sas-button { display:inline-flex; align-items:center; justify-content:center; gap:27px; padding:17px 28px; min-height:58px; border-radius:100px; font-size:16px; font-weight:800; line-height:1.5; border:1px solid transparent; transition:transform .2s,box-shadow .2s,background-color .2s; }
#sas-home .sas-button:hover { transform:translateY(-3px); box-shadow:0 7px 0 #0002; }
#sas-home .sas-button > span { font-size:24px; line-height:1; font-weight:400; }
#sas-home .sas-button-lime { background:var(--aqua); color:var(--ink); }
#sas-home .sas-button-lime:hover { background:#69d9f5; }
#sas-home .sas-button-navy { background:var(--ink); color:#fff; }
#sas-home .sas-header { display:flex; align-items:center; justify-content:space-between; gap:25px; padding:12px max(32px,calc((100vw - 1260px)/2)); background:#fff; }
#sas-home .sas-logo-link { display:flex; flex-shrink:0; align-items:center; gap:18px; }
#sas-home .sas-logo { height:99px; width:99px; object-fit:contain; }
#sas-home .sas-brand-caption { border-left:1px solid #d6e3e7; padding-left:18px; color:#2d404c; font-size:11px; font-weight:800; line-height:1.65; letter-spacing:.1em; }
#sas-home .sas-main-nav { display:flex; align-items:center; gap:28px; }
#sas-home .sas-main-nav a { display:flex; align-items:center; min-height:44px; font-size:14px; font-weight:700; }
#sas-home .sas-main-nav a:hover { color:var(--blue); }
#sas-home .sas-main-nav .sas-nav-cta { background:var(--ink); color:white; padding:14px 23px; border-radius:100px; }
#sas-home .sas-mobile-menu { display:none; }
#sas-home .sas-hero { position:relative; display:grid; grid-template-columns:48% 52%; background:var(--ink); color:white; padding:36px 30px 100px max(32px,calc((100vw - 1260px)/2)); gap:0; }
#sas-home .sas-hero-copy { position:relative; z-index:2; padding:34px 35px 0 0; align-self:center; }
#sas-home .sas-hero h1 span { display:block; color:var(--aqua); }
#sas-home .sas-hero h1 br { display:none; }
#sas-home .sas-hero-intro { font-size:18px; color:#d4e2e8; line-height:1.75; max-width:455px; margin-top:26px; }
#sas-home .sas-actions { display:flex; align-items:center; flex-wrap:wrap; gap:20px; margin-top:31px; }
#sas-home .sas-hero-link { display:inline-flex; align-items:center; min-height:44px; gap:11px; font-size:14px; border-bottom:1px solid #63767e; }
#sas-home .sas-hero-proof { margin-top:25px; display:flex; flex-wrap:wrap; gap:9px; align-items:center; color:#b8cbd3; font-size:12px; }
#sas-home .sas-check { color:var(--aqua); font-weight:800; font-size:17px; }
#sas-home .sas-proof-divider { display:block; height:14px; width:1px; background:#547079; margin:0 3px; }
#sas-home .sas-hero-visual { position:relative; min-height:515px; align-self:stretch; }
#sas-home .sas-hero-photo-wrap { position:absolute; inset:0 0 0 0; overflow:hidden; border-radius:120px 28px 120px 28px; transform:rotate(2deg); background:#008ec9; }
#sas-home .sas-hero-photo { height:100%; object-fit:cover; object-position:48% center; transform:scale(1.055) rotate(-2deg); }
#sas-home .sas-photo-note { position:absolute; z-index:3; left:-21px; bottom:40px; max-width:94%; background:var(--aqua); color:var(--ink); border:5px solid var(--ink); border-radius:23px; transform:rotate(-5deg); padding:18px 24px; box-shadow:0 8px 0 #0003; }
#sas-home .sas-photo-note strong { display:block; font-size:21px; font-weight:900; letter-spacing:-.04em; line-height:1.25; }
#sas-home .sas-photo-note span { font-size:11px; display:block; margin-top:5px; font-weight:800; letter-spacing:.1em; }
#sas-home .sas-hero-badge { position:absolute; top:4px; right:7px; background:#fff; color:var(--ink); padding:18px 20px; border-radius:50%; width:106px; height:106px; display:flex; align-items:center; justify-content:center; text-align:center; font-size:12px; line-height:1.55; font-weight:800; transform:rotate(11deg); box-shadow:0 4px 0 #0002; }
#sas-home .sas-wave { position:absolute; bottom:-1px; left:0; width:100%; height:65px; fill:var(--pale); display:block; }
#sas-home .sas-area-strip { background:var(--pale); padding:7px max(32px,calc((100vw - 1260px)/2)) 37px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
#sas-home .sas-area-strip > p { font-size:18px; font-weight:800; letter-spacing:-.025em; }
#sas-home .sas-area-choices { display:flex; gap:10px; flex-wrap:wrap; }
#sas-home .sas-area-choices a { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:51px; padding:11px 20px; border:1px solid #a8c9d4; border-radius:100px; background:white; font-size:14px; font-weight:700; transition:background .2s; }
#sas-home .sas-area-choices a:hover { background:var(--aqua); }
#sas-home .sas-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:30px max(32px,calc((100vw - 1260px)/2)); border-bottom:1px solid #deebf0; }
#sas-home .sas-facts > div { padding:0 25px; border-right:1px solid #d8e4e9; display:flex; flex-direction:column; }
#sas-home .sas-facts > div:first-child { padding-left:0; }
#sas-home .sas-facts > div:last-child { border:0; }
#sas-home .sas-facts strong { font-size:27px; font-weight:800; letter-spacing:-.035em; color:var(--blue); line-height:1.35; }
#sas-home .sas-facts span { font-size:13px; color:var(--muted); margin-top:5px; }
#sas-home .sas-section { padding:82px max(32px,calc((100vw - 1260px)/2)); }
#sas-home .sas-section-head { display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin-bottom:37px; }
#sas-home .sas-section-head > p { max-width:340px; color:var(--muted); padding-bottom:4px; }
#sas-home .sas-lesson-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
#sas-home .sas-lesson-card { display:flex; flex-direction:column; min-width:0; background:var(--pale); border-radius:27px; padding:0 27px 28px; overflow:hidden; transition:transform .22s,box-shadow .22s; }
#sas-home .sas-lesson-card:hover { transform:translateY(-6px); box-shadow:0 14px 28px #093c5c14; }
#sas-home .sas-card-photo { height:210px; width:calc(100% + 54px); max-width:none; object-fit:cover; margin:0 -27px 27px; }
#sas-home .sas-card-photo-private { object-position:50% 36%; }
#sas-home .sas-premium-graphic { margin:0 -27px 27px; padding:20px 25px; height:210px; background:var(--aqua); display:flex; justify-content:center; align-items:center; gap:18px; color:#073347; }
#sas-home .sas-premium-graphic > strong { font-family:'Arial Black',Arial,sans-serif; font-size:155px; line-height:1; letter-spacing:-.1em; transform:rotate(-6deg); }
#sas-home .sas-premium-graphic > span { font-size:16px; font-weight:800; line-height:1.5; letter-spacing:.04em; max-width:135px; }
#sas-home .sas-card-top { display:flex; justify-content:space-between; align-items:center; gap:15px; margin-bottom:14px; }
#sas-home .sas-pill { color:#2e6372; font-size:11px; font-weight:800; letter-spacing:.11em; line-height:1.5; }
#sas-home .sas-card-number { font-size:13px; color:#577481; }
#sas-home .sas-lesson-card > p { color:var(--muted); font-size:15px; margin-top:15px; }
#sas-home .sas-lesson-card ul { list-style:none; margin:19px 0 24px; }
#sas-home .sas-lesson-card li { display:flex; gap:9px; font-size:14px; padding:4px 0; line-height:1.5; }
#sas-home .sas-lesson-card li::before { content:'✓'; font-weight:800; color:#066a89; }
#sas-home .sas-card-bottom { margin-top:auto; }
#sas-home .sas-price { display:flex; align-items:baseline; flex-wrap:wrap; gap:9px; margin-bottom:19px; }
#sas-home .sas-price strong { font-size:36px; font-weight:800; letter-spacing:-.045em; line-height:1.2; }
#sas-home .sas-price span { font-size:12px; color:var(--muted); }
#sas-home .sas-card-link { display:flex; align-items:center; justify-content:space-between; min-height:48px; padding-top:13px; border-top:1px solid #b3d2dc; font-size:14px; font-weight:800; }
#sas-home .sas-card-link > span { font-size:26px; font-weight:400; }
#sas-home .sas-card-link:hover { text-decoration:underline; text-underline-offset:4px; }
#sas-home .sas-price-note { color:var(--muted); margin-top:21px; font-size:12px; line-height:1.8; }
#sas-home .sas-price-note a, #sas-home .sas-help-line a, #sas-home details p a { text-decoration:underline; text-underline-offset:3px; }
#sas-home .sas-more-pathways { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:28px; }
#sas-home .sas-more-pathways > a { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:23px 25px; background:#eef2fc; border-radius:20px; }
#sas-home .sas-more-pathways > a:last-child { background:#e5f6fc; }
#sas-home .sas-more-pathways strong { display:block; font-size:18px; line-height:1.4; letter-spacing:-.025em; }
#sas-home .sas-more-pathways a > span > span { display:block; font-size:13px; color:var(--muted); margin-top:6px; }
#sas-home .sas-round-arrow { display:grid; place-items:center; flex-shrink:0; border:1px solid #a8c3cc; width:39px; height:39px; border-radius:50%; font-size:23px; }
#sas-home .sas-locations { background:var(--blue); color:white; position:relative; }
#sas-home .sas-locations .sas-eyebrow { color:#99e5fa; }
#sas-home .sas-locations .sas-section-head > p { color:#d5e5ff; }
#sas-home .sas-location-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:19px; }
#sas-home .sas-location { position:relative; display:flex; flex-direction:column; border:1px solid #8db1ff66; padding:27px; border-radius:23px; min-height:230px; background:#ffffff0c; transition:background .2s,transform .2s; }
#sas-home .sas-location:hover { background:#ffffff20; transform:translateY(-4px); }
#sas-home .sas-location-index { font-size:12px; color:#b2eafa; letter-spacing:.09em; margin-bottom:17px; }
#sas-home .sas-location-main strong { display:block; font-size:28px; font-weight:800; letter-spacing:-.045em; line-height:1.2; }
#sas-home .sas-location-main > span { display:block; color:#d0e0fb; font-size:13px; line-height:1.7; margin:9px 0 14px; }
#sas-home .sas-location-detail { color:#c3d8fb; font-size:12px; margin-top:auto; }
#sas-home .sas-location-action { display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:14px; font-weight:700; border-top:1px solid #aacaff55; margin-top:19px; padding-top:14px; }
#sas-home .sas-location-action > span { font-size:25px; font-weight:400; }
#sas-home .sas-help-line { margin-top:27px; color:#e3edff; font-size:14px; }
#sas-home .sas-confidence { display:grid; grid-template-columns:44% 1fr; gap:75px; padding:85px max(32px,calc((100vw - 1260px)/2)); background:var(--pale); }
#sas-home .sas-confidence-picture { position:relative; align-self:stretch; min-height:620px; }
#sas-home .sas-confidence-picture img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; object-position:50% 36%; border-radius:100px 27px 100px 27px; }
#sas-home .sas-confidence-sticker { position:absolute; bottom:35px; right:-26px; background:var(--aqua); color:var(--ink); padding:20px 27px; transform:rotate(6deg); border-radius:17px; font-size:23px; font-weight:900; line-height:1.2; letter-spacing:-.04em; border:5px solid var(--pale); }
#sas-home .sas-confidence-intro > p:not(.sas-eyebrow) { margin-top:23px; color:var(--muted); }
#sas-home .sas-reasons { margin:28px 0; }
#sas-home .sas-reasons > div { display:flex; gap:17px; padding:19px 0; border-bottom:1px solid #c7dfe5; }
#sas-home .sas-reasons > div:first-child { padding-top:0; }
#sas-home .sas-reasons > div:last-child { border:0; padding-bottom:0; }
#sas-home .sas-reason-number { font-size:12px; color:var(--blue); font-weight:800; padding-top:3px; }
#sas-home .sas-reasons h3 { font-size:20px; letter-spacing:-.035em; }
#sas-home .sas-reasons p { font-size:14px; color:var(--muted); margin-top:7px; line-height:1.7; }
#sas-home .sas-reviews { display:grid; grid-template-columns:.8fr 1.2fr; align-items:center; gap:80px; }
#sas-home .sas-quote { position:relative; background:#e5f6fc; padding:34px 35px; border-radius:30px 30px 30px 5px; }
#sas-home .sas-quote-mark { font-family:Georgia,serif; font-size:90px; line-height:.7; color:#086b8d; display:block; margin-top:13px; }
#sas-home .sas-quote blockquote { font-size:23px; line-height:1.6; letter-spacing:-.025em; }
#sas-home .sas-quote figcaption { display:flex; align-items:center; gap:12px; margin-top:22px; }
#sas-home .sas-review-avatar { display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:var(--aqua); font-weight:800; font-size:14px; }
#sas-home .sas-quote figcaption strong { display:block; font-size:14px; }
#sas-home .sas-quote figcaption > span > span { display:block; color:var(--muted); font-size:12px; }
#sas-home .sas-faq { background:#f7fafb; display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; }
#sas-home .sas-text-link { display:inline-flex; align-items:center; gap:16px; font-size:14px; min-height:44px; font-weight:700; text-decoration:underline; text-underline-offset:4px; }
#sas-home .sas-faq-intro .sas-text-link { margin-top:24px; }
#sas-home .sas-questions details { border-bottom:1px solid #cbdde4; }
#sas-home .sas-questions details:first-child { border-top:1px solid #cbdde4; }
#sas-home summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 0; cursor:pointer; font-size:16px; font-weight:700; line-height:1.6; list-style:none; }
#sas-home summary::-webkit-details-marker { display:none; }
#sas-home summary > span { font-size:24px; font-weight:400; line-height:1; transition:transform .2s; }
#sas-home details[open] summary > span { transform:rotate(45deg); }
#sas-home details p { font-size:15px; color:var(--muted); padding:0 20px 23px 0; }
#sas-home .sas-final-cta { display:flex; justify-content:space-between; align-items:center; gap:40px; background:var(--aqua); padding:63px max(32px,calc((100vw - 1260px)/2)); position:relative; }
#sas-home .sas-final-cta .sas-eyebrow { color:#16485f; }
#sas-home .sas-final-cta h2 { font-size:clamp(36px,4vw,60px); }
#sas-home .sas-final-cta p:not(.sas-eyebrow) { margin-top:19px; }
#sas-home .sas-final-actions { display:flex; flex-direction:column; gap:11px; align-items:center; flex-shrink:0; }
#sas-home .sas-footer { padding:46px max(32px,calc((100vw - 1260px)/2)) 29px; background:var(--ink); color:#fff; }
#sas-home .sas-footer-top { display:flex; justify-content:space-between; align-items:center; gap:30px; padding-bottom:35px; border-bottom:1px solid #273038; }
#sas-home .sas-footer .sas-eyebrow { color:var(--aqua); font-size:10px; letter-spacing:.18em; margin-bottom:14px; }
#sas-home .sas-footer-tagline { font-size:27px; font-weight:800; line-height:1.3; letter-spacing:-.04em; text-transform:uppercase; }
#sas-home .sas-footer-nav { display:flex; gap:25px; flex-wrap:wrap; }
#sas-home .sas-footer-nav a { display:flex; align-items:center; min-height:44px; font-size:13px; color:#c3d0d8; }
#sas-home .sas-footer-nav a:hover { color:var(--aqua); }
#sas-home .sas-footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:24px; font-size:11px; color:#91a1ac; letter-spacing:.03em; }
#sas-home .sas-footer-bottom p { font-size:11px; }
@media(max-width:1100px) {
  #sas-home .sas-brand-caption { display:none; }
  #sas-home .sas-main-nav { gap:19px; }
  #sas-home .sas-hero { padding-left:32px; padding-right:25px; }
  #sas-home .sas-hero-copy { padding-right:23px; }
  #sas-home .sas-hero-visual { min-height:540px; }
  #sas-home .sas-hero-photo-wrap { border-radius:90px 24px 90px 24px; }
  #sas-home .sas-photo-note { padding:16px 19px; }
  #sas-home .sas-photo-note strong { font-size:18px; }
  #sas-home .sas-area-strip { flex-direction:column; align-items:flex-start; }
  #sas-home .sas-lesson-card { padding:0 22px 24px; }
  #sas-home .sas-card-photo, #sas-home .sas-premium-graphic { width:calc(100% + 44px); margin-left:-22px; margin-right:-22px; height:190px; }
  #sas-home .sas-confidence { gap:46px; }
  #sas-home .sas-confidence-picture { min-height:630px; }
  #sas-home .sas-faq, #sas-home .sas-reviews { gap:42px; }
  #sas-home .sas-location { padding:22px; }
  #sas-home .sas-location-main strong { font-size:25px; }
}
@media(max-width:760px) {
  #sas-home h1 { font-size:clamp(44px,8.7vw,64px); }
  #sas-home h2 { font-size:39px; }
  #sas-home .sas-eyebrow { font-size:11px; margin-bottom:16px; }
  #sas-home .sas-header { padding:7px 21px; gap:14px; }
  #sas-home .sas-logo { width:77px; height:77px; }
  #sas-home .sas-main-nav { display:none; }
  #sas-home .sas-mobile-menu { display:block; position:relative; border:0; }
  #sas-home .sas-mobile-menu summary { border:1px solid #b6c8d1; border-radius:100px; padding:10px 19px; min-height:44px; font-size:13px; gap:18px; }
  #sas-home .sas-mobile-menu summary > span { font-size:20px; }
  #sas-home .sas-mobile-links { position:absolute; right:0; top:57px; z-index:10; width:230px; background:#fff; border:1px solid #c4d9e1; border-radius:17px; box-shadow:0 12px 25px #071b3022; padding:10px; }
  #sas-home .sas-mobile-links a { display:block; min-height:44px; padding:10px 14px; font-size:14px; border-radius:8px; }
  #sas-home .sas-mobile-links a:hover { background:var(--pale); }
  #sas-home .sas-mobile-links .sas-mobile-book { background:var(--ink); color:white; }
  #sas-home .sas-hero { grid-template-columns:1fr; padding:34px 22px 78px; }
  #sas-home .sas-hero-copy { padding:0; }
  #sas-home .sas-hero-intro { font-size:17px; margin-top:23px; }
  #sas-home .sas-actions { gap:18px; margin-top:27px; }
  #sas-home .sas-button { padding:15px 24px; font-size:15px; min-height:54px; gap:22px; }
  #sas-home .sas-hero-link { font-size:13px; }
  #sas-home .sas-hero-proof { font-size:11px; gap:7px; margin-top:21px; }
  #sas-home .sas-hero-visual { min-height:330px; margin-top:32px; }
  #sas-home .sas-hero-photo-wrap { border-radius:70px 21px 70px 21px; }
  #sas-home .sas-photo-note { left:-8px; bottom:12px; padding:13px 18px; border-width:4px; border-radius:17px; }
  #sas-home .sas-photo-note strong { font-size:18px; }
  #sas-home .sas-photo-note span { font-size:9px; }
  #sas-home .sas-hero-badge { width:85px; height:85px; font-size:10px; right:0; top:-9px; padding:12px; }
  #sas-home .sas-wave { height:42px; }
  #sas-home .sas-area-strip { padding:0 22px 28px; gap:17px; }
  #sas-home .sas-area-strip > p { font-size:18px; }
  #sas-home .sas-area-choices { width:100%; gap:8px; }
  #sas-home .sas-area-choices a { font-size:13px; padding:9px 15px; min-height:44px; gap:15px; }
  #sas-home .sas-facts { grid-template-columns:1fr 1fr; padding:26px 22px; row-gap:23px; }
  #sas-home .sas-facts > div { padding:0 0 0 20px; }
  #sas-home .sas-facts > div:nth-child(odd) { padding-left:0; }
  #sas-home .sas-facts > div:nth-child(even) { border:0; }
  #sas-home .sas-facts strong { font-size:23px; }
  #sas-home .sas-facts span { font-size:12px; margin-top:4px; }
  #sas-home .sas-section { padding:53px 22px; }
  #sas-home .sas-section-head { display:block; margin-bottom:29px; }
  #sas-home .sas-section-head > p { margin-top:21px; max-width:none; }
  #sas-home .sas-lesson-grid { grid-template-columns:1fr; gap:23px; }
  #sas-home .sas-lesson-card { padding:0 27px 27px; border-radius:24px; }
  #sas-home .sas-card-photo, #sas-home .sas-premium-graphic { width:calc(100% + 54px); margin-left:-27px; margin-right:-27px; height:225px; }
  #sas-home .sas-lesson-card > p { font-size:16px; }
  #sas-home .sas-more-pathways { grid-template-columns:1fr; gap:14px; }
  #sas-home .sas-more-pathways > a { padding:23px; }
  #sas-home .sas-location-list { grid-template-columns:1fr; gap:16px; }
  #sas-home .sas-location { min-height:0; padding:25px; }
  #sas-home .sas-location-main strong { font-size:29px; }
  #sas-home .sas-location-index { margin-bottom:13px; }
  #sas-home .sas-confidence { grid-template-columns:1fr; padding:53px 22px; gap:41px; }
  #sas-home .sas-confidence-picture { min-height:440px; margin-right:12px; }
  #sas-home .sas-confidence-picture img { border-radius:75px 22px 75px 22px; }
  #sas-home .sas-confidence-sticker { right:-17px; padding:17px 23px; font-size:22px; bottom:27px; }
  #sas-home .sas-faq, #sas-home .sas-reviews { grid-template-columns:1fr; gap:31px; }
  #sas-home .sas-quote { padding:28px; }
  #sas-home .sas-quote blockquote { font-size:21px; }
  #sas-home .sas-faq h2 br { display:none; }
  #sas-home .sas-faq-intro .sas-text-link { margin-top:17px; }
  #sas-home .sas-questions summary { font-size:16px; padding:21px 0; }
  #sas-home .sas-final-cta { display:block; padding:46px 22px; }
  #sas-home .sas-final-actions { align-items:flex-start; margin-top:27px; }
  #sas-home .sas-footer { padding:34px 22px 25px; }
  #sas-home .sas-footer-top { display:block; padding-bottom:23px; }
  #sas-home .sas-footer-tagline { font-size:25px; }
  #sas-home .sas-footer-nav { margin-top:23px; gap:7px 24px; }
  #sas-home .sas-footer-bottom { display:block; }
  #sas-home .sas-footer-bottom p + p { margin-top:9px; }
}
@media(prefers-reduced-motion:reduce) { #sas-home *, #sas-home *::before, #sas-home *::after { transition:none; scroll-behavior:auto; } }
/* Avoid duplicate IONOS chrome only when this page includes its new header/footer.
   The body-only variant leaves both native containers visible. */



/* Shared standalone pages. Cobalt, cyan, white and the team-email near-black. */
body { margin:0; background:#edf8fb; }
html { scroll-behavior:smooth; }
#sas-home { font-size:1rem; display:flow-root; }
#sas-home [hidden] { display:none !important; }
#sas-home :focus-visible { outline:3px solid #008ec9; outline-offset:5px; }
#sas-home .sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
#sas-home .skip-link { position:fixed; top:-100px; left:20px; z-index:100; padding:14px 20px; background:#05080c; color:#fff; border-radius:8px; }
#sas-home .skip-link:focus { top:12px; }
#sas-home .site-header { position:relative; z-index:20; display:flex; align-items:center; justify-content:space-between; gap:25px; min-height:116px; padding:11px max(28px,calc((100vw - 1320px)/2)); background:#fff; border-bottom:1px solid #edf2f5; }
#sas-home .site-brand { display:flex; align-items:center; gap:17px; flex-shrink:0; }
#sas-home .site-brand img { width:88px; height:88px; object-fit:contain; }
#sas-home .site-brand > span { border-left:1px solid #d6e3e7; padding-left:17px; font-size:12px; line-height:1.55; font-weight:800; letter-spacing:.055em; }
#sas-home .site-nav { display:flex; align-items:center; gap:24px; }
#sas-home .site-nav summary { display:flex; padding:15px 0; gap:7px; font-size:14px; font-weight:700; line-height:1.5; border:0; }
#sas-home .site-nav summary > span { font-size:17px; line-height:1; transform:none; }
#sas-home .nav-group { position:relative; }
#sas-home .nav-group[open] > summary { color:#006d92; }
#sas-home .nav-panel { position:absolute; left:-22px; top:100%; padding:13px; min-width:260px; background:#fff; box-shadow:0 18px 45px #04203f22; border:1px solid #dce9f2; border-radius:18px; }
#sas-home .nav-panel a { display:block; padding:11px 14px; font-size:14px; border-radius:9px; line-height:1.5; }
#sas-home .nav-panel a:hover { background:#edf9fb; color:#006d92; }
#sas-home .header-actions { display:flex; align-items:center; gap:22px; flex-shrink:0; font-size:14px; font-weight:700; }
#sas-home .portal-link { padding:14px 0; }
#sas-home .header-book { display:inline-flex; justify-content:center; padding:15px 23px; background:#05080c; color:#fff; border-radius:100px; }
#sas-home .header-book:hover { background:#006d92; }
#sas-home .mobile-nav { display:none; }
#sas-home .page-intro { padding:28px max(32px,calc((100vw - 1260px)/2)) 74px; background:#006d92; color:#fff; }
#sas-home .breadcrumbs { display:flex; align-items:center; flex-wrap:wrap; gap:13px; font-size:14px; opacity:.9; margin-bottom:45px; }
#sas-home .breadcrumbs a { text-decoration:underline; text-underline-offset:4px; }
#sas-home .page-intro > .sas-eyebrow { color:#b2eafa; font-size:13px; }
#sas-home .page-intro h1 { max-width:1060px; font-size:clamp(46px,5.6vw,78px); line-height:1.04; letter-spacing:-.055em; }
#sas-home .page-lead { font-size:19px; max-width:690px; margin-top:27px; line-height:1.7; }
#sas-home .page-intro.aqua { background:#31c5ef; color:#05080c; }
#sas-home .page-intro.aqua .sas-eyebrow { color:#16485f; }
#sas-home .page-intro.dark { background:#05080c; }
#sas-home .page-section { padding:72px max(32px,calc((100vw - 1260px)/2)); }
#sas-home .page-section > h2 { margin-bottom:32px; }
#sas-home .page-section > p { margin-top:26px; }
#sas-home .soft { background:#edf9fb; }
#sas-home .card-grid { display:grid; gap:24px; }
#sas-home .card-grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
#sas-home .card-grid.three { grid-template-columns:repeat(3,minmax(0,1fr)); }
#sas-home .content-card { padding:35px; border:1px solid #d2e2ea; border-radius:27px; background:#fff; display:flex; flex-direction:column; min-width:0; }
#sas-home .content-card h2 { font-size:34px; line-height:1.1; max-width:460px; }
#sas-home .content-card > p:not(.card-kicker) { margin-top:20px; margin-bottom:22px; color:#455c69; font-size:16px; }
#sas-home .card-kicker { font-size:12px; font-weight:800; line-height:1.5; letter-spacing:.1em; color:#2d6a82; margin-bottom:20px; text-transform:uppercase; }
#sas-home .content-card.aqua { background:#31c5ef; border-color:#31c5ef; }
#sas-home .content-card.aqua p { color:#16485f; }
#sas-home .content-card.pale { background:#edf9fb; }
#sas-home .content-card.dark { background:#05080c; color:#fff; border-color:#05080c; }
#sas-home .content-card.dark p { color:#c1d7e5; }
#sas-home .content-card.dark .card-kicker { color:#31c5ef; }
#sas-home .card-action { display:flex; align-items:center; justify-content:space-between; gap:18px; border-top:1px solid #a8c9d4; padding-top:19px; margin-top:auto; min-height:48px; font-weight:700; font-size:16px; }
#sas-home .card-action > span { font-size:25px; }
#sas-home .card-action:hover { text-decoration:underline; text-underline-offset:4px; }
#sas-home .split-section { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:80px; padding:78px max(32px,calc((100vw - 1260px)/2)); align-items:start; }
#sas-home .split-section h2 { font-size:clamp(34px,3.5vw,49px); }
#sas-home .split-section p { margin-top:21px; }
#sas-home .split-section .sas-button { margin-top:26px; }
#sas-home .copy-block h3 { font-size:24px; margin-top:30px; }
#sas-home .copy-block h3:first-child { margin-top:0; }
#sas-home .copy-block p { margin-top:10px; color:#455c69; }
#sas-home .copy-block .sas-text-link { margin-top:22px; }
#sas-home .feature-layout { display:grid; grid-template-columns:1fr 1fr; gap:65px; align-items:center; }
#sas-home .feature-layout h2 { font-size:clamp(36px,3.8vw,52px); }
#sas-home .feature-layout p { margin-top:20px; }
#sas-home .feature-layout .sas-button, #sas-home .feature-layout .sas-text-link { margin-top:26px; }
#sas-home .feature-photo { border-radius:100px 25px 100px 25px; overflow:hidden; min-height:450px; background:#008ec9; align-self:stretch; position:relative; }
#sas-home .feature-photo img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
#sas-home .feature-photo.portrait { min-height:620px; }
#sas-home .stat-row { display:flex; gap:45px; padding:26px 0; border-bottom:1px solid #d6e5eb; }
#sas-home .stat-row > div { display:flex; flex-direction:column; }
#sas-home .stat-row strong { font-size:46px; color:#006d92; font-weight:800; letter-spacing:-.05em; line-height:1.2; }
#sas-home .stat-row span { font-size:14px; color:#455c69; }
#sas-home .narrow-section { max-width:930px; padding:65px 32px; margin:0 auto; }
#sas-home .narrow-section > h2 { font-size:40px; margin-bottom:23px; }
#sas-home .narrow-section > p { margin:17px 0 28px; color:#455c69; }
#sas-home .accordion { border-bottom:1px solid #c5d8e2; }
#sas-home .accordion:first-of-type { border-top:1px solid #c5d8e2; }
#sas-home .accordion > summary { padding:23px 0; font-size:18px; gap:16px; }
#sas-home .accordion > summary small { margin-left:auto; font-size:13px; font-weight:400; color:#52626c; }
#sas-home .accordion-body { padding-bottom:28px; }
#sas-home .accordion-body p { padding:0; margin:0 0 15px; font-size:16px; }
#sas-home .accordion-body h3 { font-size:19px; margin-top:20px; }
#sas-home .accordion-body .sas-text-link { margin-top:18px; }
#sas-home .check-list { list-style:none; padding:0; margin:18px 0 0; }
#sas-home .check-list li { position:relative; padding:9px 0 9px 25px; font-size:16px; line-height:1.6; }
#sas-home .check-list li::before { content:'✓'; position:absolute; left:0; color:#066a89; font-weight:800; }
#sas-home .stack-cards { display:grid; gap:23px; }
#sas-home .stack-cards .content-card h2 { font-size:30px; }
#sas-home .inline-actions { display:flex; gap:22px; flex-wrap:wrap; align-items:center; margin-top:25px; }
#sas-home .inline-actions .sas-button { margin-top:0; }
#sas-home .table-wrap { overflow:auto; border:1px solid #d2e2ea; border-radius:15px; margin-top:32px; }
#sas-home table { width:100%; border-collapse:collapse; font-size:16px; }
#sas-home caption { text-align:left; padding:20px; font-size:18px; font-weight:800; }
#sas-home th, #sas-home td { text-align:left; vertical-align:top; padding:17px 20px; border-top:1px solid #d2e2ea; line-height:1.6; }
#sas-home thead { background:#edf9fb; }
#sas-home .table-wrap th:first-child { min-width:105px; }
#sas-home .table-wrap td:last-child { min-width:120px; }
#sas-home .filter-row { display:flex; gap:11px; flex-wrap:wrap; }
#sas-home .filter-row button { font:700 16px/1.5 Arial,Helvetica,sans-serif; cursor:pointer; padding:12px 22px; border:1px solid #adc8d5; border-radius:100px; background:#fff; color:#006d92; min-height:50px; }
#sas-home .filter-row button[aria-pressed="true"] { background:#006d92; color:#fff; border-color:#006d92; }
#sas-home .result-count { font-size:14px; color:#52626c; margin:21px 0; }
#sas-home .venue-card { border:1px solid #d2e2ea; border-radius:26px; background:#f4fafc; padding:28px; display:flex; flex-direction:column; min-width:0; }
#sas-home .venue-card h2 { font-size:28px; line-height:1.15; min-height:66px; }
#sas-home .venue-card > p:not(.card-kicker) { color:#455c69; margin-top:11px; }
#sas-home .venue-card .venue-days { font-size:14px; margin-bottom:25px; }
#sas-home .tag-list { display:flex; flex-wrap:wrap; gap:8px; margin-top:24px; }
#sas-home .tag-list span { padding:5px 11px; border:1px solid #adc8d5; font-size:13px; border-radius:100px; line-height:1.5; }
#sas-home .muted { color:#52626c; font-size:14px; }
#sas-home .pool-detail { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:55px; padding:0 0 60px; margin-bottom:60px; border-bottom:1px solid #c5d8e2; scroll-margin-top:30px; }
#sas-home .pool-detail:last-child { border:0; padding-bottom:0; margin-bottom:0; }
#sas-home .pool-detail h2 { font-size:39px; }
#sas-home .pool-detail p { margin-top:20px; }
#sas-home .pool-detail .pool-area { font-size:18px; color:#006d92; font-weight:700; margin-top:15px; }
#sas-home .schedule { background:#edf9fb; border-radius:22px; padding:16px 19px; }
#sas-home .schedule caption { padding-left:0; }
#sas-home .schedule th, #sas-home .schedule td { padding:12px 0; font-size:15px; }
#sas-home .schedule th { padding-right:15px; }
#sas-home .schedule .muted { margin:14px 0; }
#sas-home .info-panel { border-radius:25px; background:#edf9fb; padding:35px; }
#sas-home .info-panel h2 { font-size:30px; }
#sas-home .info-panel h3 { font-size:23px; margin-top:33px; }
#sas-home .info-panel p { margin-top:20px; overflow-wrap:anywhere; }
#sas-home .info-panel address { font-style:normal; margin-top:18px; line-height:1.8; }
#sas-home .info-panel hr { border:0; border-top:1px solid #c5d8e2; margin:33px 0; }
#sas-home .section-heading { max-width:700px; margin-bottom:35px; }
#sas-home .section-heading p { margin-top:18px; }
#sas-home .price-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
#sas-home .price-grid > div { padding:27px; background:#fff; border-radius:21px; border:1px solid #d2e2ea; }
#sas-home .price-grid h3 { font-size:23px; margin-bottom:18px; }
#sas-home .price-grid strong { font-size:39px; letter-spacing:-.05em; color:#006d92; font-weight:800; }
#sas-home .price-grid p { font-size:14px; color:#52626c; margin-top:12px; }
#sas-home .person-card { padding:30px; background:#edf9fb; border-radius:25px; }
#sas-home .person-initials { width:80px; height:80px; border-radius:50%; display:grid; place-items:center; background:#006d92; color:#fff; font-size:27px; font-weight:800; margin-bottom:26px; }
#sas-home .person-card h2 { font-size:29px; }
#sas-home .person-card p { color:#455c69; margin-top:12px; }
#sas-home .partner-list { list-style:none; }
#sas-home .partner-list li { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 0; border-bottom:1px solid #c5d8e2; }
#sas-home .partner-list span { font-size:14px; color:#455c69; }
#sas-home .document-list { list-style:none; }
#sas-home .document-list li { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:26px 0; border-bottom:1px solid #c5d8e2; }
#sas-home .document-list h2 { font-size:24px; }
#sas-home .document-list p { font-size:14px; color:#52626c; margin-top:11px; }
#sas-home .document-list a { flex-shrink:0; }
#sas-home .legal-copy p { overflow-wrap:anywhere; font-size:16px; }
#sas-home .legal-copy h2 { font-size:26px; margin:34px 0 15px; }
#sas-home .contact-options article + article { margin-top:40px; padding-top:35px; border-top:1px solid #c5d8e2; }
#sas-home .contact-options h2 { font-size:clamp(22px,2.8vw,37px); overflow-wrap:anywhere; letter-spacing:-.04em; }
#sas-home .contact-options h2 a:hover { color:#006d92; }
#sas-home .contact-options h3 { font-size:25px; }
#sas-home .site-footer { background:#05080c; color:#fff; padding:55px max(32px,calc((100vw - 1260px)/2)) 27px; }
#sas-home .footer-grid { display:grid; grid-template-columns:1.6fr 1fr 1.2fr 1fr; gap:32px; }
#sas-home .site-footer .sas-eyebrow { color:#31c5ef; font-size:12px; letter-spacing:.08em; }
#sas-home .site-footer .footer-heading { font-weight:900; font-family:'Arial Black',Arial,sans-serif; font-size:35px; line-height:1.12; letter-spacing:-.045em; }
#sas-home .footer-heading span { color:#31c5ef; }
#sas-home .footer-intro > p:not(.footer-heading):not(.sas-eyebrow) { color:#b8cbd3; margin:18px 0; }
#sas-home .site-footer h2 { font:700 16px/1.5 Arial,Helvetica,sans-serif; letter-spacing:0; margin-bottom:20px; }
#sas-home .site-footer a { display:block; color:#c3d0d8; font-size:14px; padding:7px 0; min-height:36px; overflow-wrap:anywhere; }
#sas-home .site-footer a:hover { color:#31c5ef; text-decoration:underline; text-underline-offset:4px; }
#sas-home .footer-base { border-top:1px solid #273038; padding-top:23px; margin-top:40px; display:flex; gap:28px; justify-content:space-between; }
#sas-home .footer-base p { font-size:12px; color:#91a1ac; max-width:650px; }
@media(min-width:761px) and (max-width:1050px) {
 #sas-home .sas-hero { grid-template-columns:1fr 1fr; }
 #sas-home .sas-hero h1 { font-size:58px; }
 #sas-home .sas-main-nav { display:none; }
}
@media(max-width:1250px) {
 #sas-home .site-brand > span { display:none; }
 #sas-home .site-nav { gap:19px; }
 #sas-home .header-actions { gap:17px; }
}
@media(max-width:1000px) {
 #sas-home .site-nav, #sas-home .header-actions { display:none; }
 #sas-home .site-header { min-height:97px; padding:9px 26px; }
 #sas-home .site-brand img { width:78px; height:78px; }
 #sas-home .site-brand > span { display:block; }
 #sas-home .mobile-nav { display:block; }
 #sas-home .mobile-nav > summary { padding:13px 17px; border:1px solid #c5d8e2; border-radius:100px; font-size:16px; gap:22px; }
 #sas-home .mobile-nav > nav { position:absolute; top:100%; right:0; left:0; max-height:calc(100dvh - 97px); overflow-y:auto; padding:20px 26px 28px; border-bottom:1px solid #c5d8e2; background:#fff; box-shadow:0 20px 25px #05080c20; }
 #sas-home .mobile-nav nav > a { display:block; padding:15px 0; }
 #sas-home .mobile-nav nav .sas-button { display:inline-flex; padding:14px 25px; margin-top:14px; }
 #sas-home .mobile-nav nav summary { padding:15px 0; border-bottom:1px solid #d2e2ea; }
 #sas-home .mobile-nav nav details div { padding:8px 15px; }
 #sas-home .mobile-nav nav details a { display:block; padding:12px 0; font-size:16px; }
 #sas-home .mobile-nav details:not([open]) > summary > span { transform:none; }
 #sas-home .split-section { gap:40px; }
 #sas-home .feature-layout { gap:36px; }
 #sas-home .card-grid.three { grid-template-columns:repeat(2,minmax(0,1fr)); }
 #sas-home .price-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 #sas-home .pool-detail { gap:35px; grid-template-columns:1.1fr .9fr; }
 #sas-home .footer-grid { grid-template-columns:1.3fr 1fr; gap:40px; }
}
@media(max-width:760px) {
 #sas-home .site-header { padding:9px 21px; min-height:91px; }
 #sas-home .site-brand img { width:72px; height:72px; }
 #sas-home .site-brand > span { display:none; }
 #sas-home .page-intro { padding:23px 22px 47px; }
 #sas-home .breadcrumbs { font-size:13px; margin-bottom:29px; }
 #sas-home .page-intro h1 { font-size:clamp(39px,9.3vw,60px); }
 #sas-home .page-lead { font-size:17px; margin-top:23px; }
 #sas-home .page-section { padding:45px 22px; }
 #sas-home .card-grid.two, #sas-home .card-grid.three { grid-template-columns:1fr; gap:20px; }
 #sas-home .content-card { padding:28px; }
 #sas-home .content-card h2 { font-size:31px; }
 #sas-home .split-section { grid-template-columns:1fr; padding:47px 22px; gap:35px; }
 #sas-home .feature-layout { grid-template-columns:1fr; gap:33px; }
 #sas-home .feature-photo { min-height:350px; border-radius:65px 22px 65px 22px; }
 #sas-home .feature-photo.portrait { min-height:470px; }
 #sas-home .narrow-section { padding:45px 22px; }
 #sas-home .narrow-section > h2 { font-size:34px; }
 #sas-home .accordion > summary { font-size:17px; }
 #sas-home .accordion > summary small { font-size:12px; }
 #sas-home .filter-row { gap:8px; }
 #sas-home .filter-row button { padding:11px 17px; font-size:14px; }
 #sas-home .venue-card { padding:25px; }
 #sas-home .venue-card h2 { min-height:0; }
 #sas-home .pool-detail { grid-template-columns:1fr; gap:25px; margin-bottom:43px; padding-bottom:43px; }
 #sas-home .pool-detail h2 { font-size:34px; }
 #sas-home .info-panel { padding:27px; }
 #sas-home .price-grid { gap:12px; }
 #sas-home .price-grid > div { padding:23px 18px; }
 #sas-home .price-grid strong { font-size:34px; }
 #sas-home .price-grid h3 { font-size:20px; }
 #sas-home .partner-list li { align-items:flex-start; flex-direction:column; gap:5px; }
 #sas-home .document-list li { align-items:flex-start; flex-direction:column; gap:12px; }
 #sas-home .site-footer { padding:40px 22px 24px; }
 #sas-home .footer-grid { gap:30px 20px; }
 #sas-home .footer-intro { grid-column:1/-1; }
 #sas-home .footer-base { display:block; margin-top:29px; }
 #sas-home .footer-base p + p { margin-top:12px; }
 #sas-home .sas-hero-proof, #sas-home .sas-facts span, #sas-home .sas-location-main > span, #sas-home .sas-location-detail, #sas-home .sas-lesson-card li { font-size:14px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } #sas-home *, #sas-home *::before, #sas-home *::after { transition:none; animation:none; scroll-behavior:auto; } }

/* Pool-first art direction: real photography, cyan caustics and bold waterline shapes. */
#sas-home { --sunshine:#5bd2e3; --deep-water:#073464; --pale:#eefbff; }
#sas-home .site-header { border-bottom:0; }
#sas-home .header-book { background:#006d92; box-shadow:0 4px 0 #072b71; }
#sas-home .header-book:hover { background:#0b367d; }
#sas-home .sas-hero {
  grid-template-columns:49% 51%;
  padding:52px max(34px,calc((100vw - 1400px)/2)) 110px max(32px,calc((100vw - 1320px)/2));
  background-image:linear-gradient(105deg,rgba(3,30,76,.94) 0%,rgba(4,62,111,.78) 42%,rgba(16,116,164,.12) 100%),url('/assets/water-texture.webp');
  background-size:cover; background-position:center;
  color:#fff; min-height:720px;
}
#sas-home .sas-hero-copy { padding-top:12px; padding-right:26px; }
#sas-home .sas-hero .sas-eyebrow { color:#b9efff; letter-spacing:.1em; font-size:13px; }
#sas-home .sas-hero h1 { font-size:clamp(57px,5.8vw,91px); line-height:1.01; letter-spacing:-.06em; }
#sas-home .sas-hero h1 span { color:#5bd2e3; }
#sas-home .sas-hero-intro { color:#f0fbff; max-width:480px; font-size:18px; }
#sas-home .sas-hero-proof { color:#e6faff; font-size:13px; }
#sas-home .sas-hero .sas-button-lime { background:#5bd2e3; color:#073464; box-shadow:0 5px 0 #072648; }
#sas-home .sas-hero .sas-button-lime:hover { background:#90e4ee; }
#sas-home .sas-hero-link { border-color:#b9efff; }
#sas-home .sas-hero-visual { min-height:560px; }
#sas-home .sas-hero-photo-wrap { inset:13px 9px 0 5px; border:8px solid #fff; border-radius:49% 43% 37% 44% / 39% 38% 51% 50%; transform:rotate(3deg); box-shadow:0 20px 60px #0237644d; background:#28bfe8; }
#sas-home .sas-hero-photo { object-position:52% center; transform:scale(1.06) rotate(-3deg); }
#sas-home .sas-hero-badge { z-index:4; top:-1px; right:10px; width:116px; height:116px; font-size:13px; border:4px solid #fff; background:#5bd2e3; color:#073464; box-shadow:0 5px 0 #0630593b; }
#sas-home .sas-photo-note { background:#fff; color:#073464; border:0; border-radius:18px; bottom:25px; left:-21px; padding:20px 28px; box-shadow:0 8px 0 #0630592b; }
#sas-home .sas-photo-note strong { font-size:25px; }
#sas-home .sas-photo-note span { color:#1a607c; font-size:12px; }
#sas-home .sas-wave { height:70px; fill:#eefbff; }
#sas-home .sas-area-strip { background:#eefbff; padding-top:3px; padding-bottom:32px; }
#sas-home .sas-area-choices a { border:2px solid #b7e5f2; box-shadow:0 4px 0 #d8eef6; }
#sas-home .sas-facts { background:#fff; padding-top:35px; padding-bottom:35px; }
#sas-home .sas-facts strong { font-size:31px; }
#sas-home .sas-lessons { padding-top:70px; }
#sas-home .sas-lesson-card { border:1px solid #c9e5f2; box-shadow:0 7px 0 #edf7fc; background:#f3fbff; border-radius:30px; }
#sas-home .sas-lesson-card:nth-child(2) { background:#e6f8fb; border-color:#b9e4ec; }
#sas-home .sas-card-photo, #sas-home .sas-premium-graphic { height:255px; }
#sas-home .lesson-photo-top { position:relative; height:255px; margin:0 -27px 27px; }
#sas-home .lesson-photo-top img { height:100%; object-fit:cover; }
#sas-home .lesson-photo-label { position:absolute; bottom:17px; left:20px; background:#5bd2e3; color:#073464; font-size:13px; font-weight:800; padding:8px 13px; border-radius:100px; transform:rotate(-4deg); }
#sas-home .sas-locations { background-image:linear-gradient(110deg,rgba(10,44,119,.95),rgba(12,77,144,.87)),url('/assets/water-texture.webp'); background-size:cover; background-position:center; }
#sas-home .sas-location { padding:25px 0 23px; overflow:hidden; background:#fff; color:#073464; border:0; border-radius:27px; box-shadow:0 7px 0 #06225666; }
#sas-home .sas-location:has(.location-cover) { padding-top:0; }
#sas-home .sas-location:hover { background:#eefbff; }
#sas-home .location-cover { height:205px; object-fit:cover; margin-bottom:24px; }
#sas-home .sas-location > span { margin-left:25px; margin-right:25px; }
#sas-home .sas-location-index { color:#2d6a82; }
#sas-home .sas-location-main > span, #sas-home .sas-location-detail { color:#466676; }
#sas-home .sas-location-action { border-color:#cee4ee; }
#sas-home .sas-confidence { background:#eefbff; position:relative; }
#sas-home .sas-confidence-picture img { border:7px solid #fff; border-radius:45% 43% 35% 38% / 27% 28% 31% 31%; box-shadow:0 15px 35px #185b7f1c; }
#sas-home .sas-confidence-sticker { background:#5bd2e3; color:#073464; border-color:#fff; }
#sas-home .academy-gallery { padding:70px 0 75px; background:#fff; overflow:hidden; }
#sas-home .gallery-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:35px; padding:0 max(32px,calc((100vw - 1260px)/2)); margin-bottom:43px; }
#sas-home .gallery-heading h2 { max-width:720px; }
#sas-home .gallery-heading > p { max-width:290px; color:#52626c; }
#sas-home .photo-ribbon { display:grid; grid-template-columns:1.05fr .9fr 1.05fr; gap:23px; margin:0 max(24px,calc((100vw - 1320px)/2)); align-items:center; }
#sas-home .photo-ribbon figure { border:7px solid #fff; border-bottom:0; box-shadow:0 7px 24px #0d426420; border-radius:22px; overflow:hidden; background:#fff; transform:rotate(-3deg); }
#sas-home .photo-ribbon figure:nth-child(2) { transform:rotate(3deg); margin-top:27px; }
#sas-home .photo-ribbon figure:nth-child(3) { transform:rotate(-2deg); }
#sas-home .photo-ribbon img { height:320px; object-fit:cover; }
#sas-home .photo-ribbon figcaption { font-size:14px; font-weight:700; padding:18px 16px; color:#073464; line-height:1.5; }
#sas-home .sas-quote { background:#e6f8fb; border:1px solid #b9e4ec; border-radius:33px 33px 33px 6px; }
#sas-home .sas-quote-mark { color:#006d92; }
#sas-home .sas-review-avatar { background:#31c5ef; }
#sas-home .sas-faq { background:#eefbff; }
#sas-home .sas-final-cta { overflow:hidden; background-image:linear-gradient(105deg,rgba(27,194,229,.84),rgba(90,218,243,.77)),url('/assets/water-texture.webp'); background-size:cover; background-position:50% 65%; color:#073464; padding-top:80px; padding-bottom:80px; }
#sas-home .sas-final-cta::before { content:''; position:absolute; top:-1px; left:0; right:0; height:21px; background:#fff; clip-path:polygon(0 0,100% 0,100% 48%,95% 76%,90% 87%,85% 80%,80% 51%,75% 29%,70% 21%,65% 29%,60% 50%,55% 73%,50% 81%,45% 72%,40% 48%,35% 22%,30% 14%,25% 24%,20% 50%,15% 77%,10% 84%,5% 73%,0 50%); }
#sas-home .sas-final-cta h2 { max-width:850px; }
#sas-home .site-footer { border-top:8px solid #006d92; }
/* Photograph-led opening panels on the lesson, location and parent pages. */
#sas-home .page-intro { position:relative; overflow:hidden; background-image:linear-gradient(110deg,rgba(10,41,118,.93),rgba(9,84,153,.77)),url('/assets/water-texture.webp'); background-size:cover; background-position:center; }
#sas-home .page-intro.aqua { background-image:linear-gradient(110deg,rgba(50,202,236,.87),rgba(163,235,247,.81)),url('/assets/water-texture.webp'); }
#sas-home .page-intro.dark { background-image:linear-gradient(110deg,rgba(3,30,65,.96),rgba(4,54,87,.86)),url('/assets/water-texture.webp'); }
#sas-home .page-intro.with-photo { display:grid; grid-template-columns:1.08fr .92fr; gap:46px; padding-top:27px; padding-bottom:66px; align-items:center; }
#sas-home .page-intro.with-photo .intro-copy { min-width:0; padding-bottom:14px; }
#sas-home .page-intro.with-photo h1 { font-size:clamp(44px,4.7vw,67px); }
#sas-home .page-intro.with-photo .page-lead { font-size:18px; }
#sas-home .page-intro.with-photo .breadcrumbs { margin-bottom:29px; }
#sas-home .intro-copy > .sas-eyebrow { color:#c4f1ff; font-size:13px; }
#sas-home .aqua .intro-copy > .sas-eyebrow { color:#16485f; }
#sas-home .intro-photo { position:relative; padding:20px 0 8px; min-width:0; }
#sas-home .intro-photo img { height:350px; object-fit:cover; border:7px solid #fff; border-radius:43% 39% 33% 35% / 30% 26% 31% 31%; transform:rotate(3deg); box-shadow:0 16px 32px #062c6738; }
#sas-home .intro-photo figcaption { position:absolute; bottom:-4px; left:5px; max-width:92%; padding:10px 18px; border-radius:100px; background:#5bd2e3; color:#073464; transform:rotate(-4deg); font-size:13px; font-weight:800; box-shadow:0 4px 0 #06305920; }
#sas-home .content-card.has-photo { overflow:hidden; padding-top:0; }
#sas-home .content-card-photo { width:calc(100% + 70px); max-width:none; height:260px; object-fit:cover; margin:0 -35px 28px; }
#sas-home .content-card.has-photo:nth-child(2n) .content-card-photo { object-position:50% 42%; }
#sas-home .content-card { box-shadow:0 6px 0 #d7eaf326; }
#sas-home .venue-card { overflow:hidden; background:#fff; box-shadow:0 6px 0 #e7f4fb; }
#sas-home .venue-card.has-photo { padding-top:0; }
#sas-home .venue-card-photo { width:calc(100% + 56px); max-width:none; height:218px; object-fit:cover; margin:0 -28px 24px; }
#sas-home .pool-photograph { margin:0 0 28px; position:relative; }
#sas-home .pool-photograph img { height:320px; width:100%; object-fit:cover; border-radius:28px 70px 28px 28px; }
#sas-home .pool-photograph figcaption { position:absolute; bottom:15px; left:15px; padding:7px 13px; color:#073464; background:#fff; border-radius:100px; font-size:13px; font-weight:700; }
#sas-home .person-card { padding:0 0 27px; background:#eefbff; overflow:hidden; border:1px solid #d2e8f2; box-shadow:0 6px 0 #e6f2f9; }
#sas-home .person-card .team-portrait { height:370px; width:100%; object-fit:cover; object-position:50% 30%; margin-bottom:26px; }
#sas-home .person-card h2, #sas-home .person-card > p { padding-left:28px; padding-right:28px; }
#sas-home .person-card .person-initials { margin:28px; }
#sas-home .partner-portrait { width:61px; height:61px; object-fit:cover; border-radius:50%; flex-shrink:0; }
#sas-home .partner-person { display:flex; gap:15px; align-items:center; }
#sas-home .partner-person strong { display:block; }
#sas-home .support-photo { margin:28px 0 0; }
#sas-home .support-photo img { height:330px; object-fit:cover; width:100%; border-radius:27px 60px 27px 27px; }
#sas-home .support-photo figcaption { margin-top:11px; color:#52626c; font-size:13px; }
#sas-home .photo-credit { color:#91a1ac; font-size:12px; margin-top:12px; }
#sas-home .route-photo-coral img { object-position:50% 42%; }
/* Official accreditation and dated award recognition, with clear staffing information. */
#sas-home .standards-ribbon { display:flex; align-items:center; justify-content:space-between; gap:25px; padding:24px max(32px,calc((100vw - 1260px)/2)); background:#006d92; color:#fff; }
#sas-home .standards-ribbon p { font-size:16px; }
#sas-home .standards-ribbon strong { color:#5bd2e3; }
#sas-home .standards-ribbon a { font-weight:700; font-size:14px; text-decoration:underline; text-underline-offset:5px; white-space:nowrap; }
#sas-home .standards-section { padding:78px max(32px,calc((100vw - 1260px)/2)); background:#eefbff; }
#sas-home .standards-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:35px; margin-bottom:35px; }
#sas-home .standards-heading > p { max-width:370px; color:#405f70; }
#sas-home .standards-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
#sas-home .standards-card { padding:27px; background:#fff; border:1px solid #b6dce9; border-radius:24px; box-shadow:0 6px 0 #d6edf6; }
#sas-home .standards-card .standards-badge { width:100%; height:210px; object-fit:contain; margin-bottom:24px; }
#sas-home .standards-card:first-child .standards-badge { background:transparent; padding:23px; border-radius:18px; }
#sas-home .standards-source { font-size:13px; margin-top:25px; color:#405f70; }
#sas-home .standards-source a { text-decoration:underline; text-underline-offset:3px; }
#sas-home .standards-card .standards-kicker { margin-bottom:12px; color:#006d92; font-size:13px; letter-spacing:.08em; font-weight:800; text-transform:uppercase; }
#sas-home .standards-card h3 { font-size:24px; line-height:1.2; letter-spacing:-.025em; }
#sas-home .standards-card > p:last-child { font-size:15px; line-height:1.65; color:#405f70; margin-top:15px; }
#sas-home .staffing-assurance { display:flex; align-items:center; justify-content:space-between; gap:35px; margin-top:35px; padding:27px 30px; background:#5bd2e3; border-radius:24px; color:#073464; }
#sas-home .staffing-assurance strong { font-size:26px; font-weight:800; letter-spacing:-.035em; }
#sas-home .staffing-assurance > p { max-width:460px; font-size:15px; }
#sas-home .staffing-assurance div p { font-size:15px; margin-top:7px; }
@media (prefers-reduced-motion:no-preference) {
 #sas-home .sas-hero-badge { animation:splash-badge 4.8s ease-in-out 1; }
 #sas-home .sas-photo-note { animation:splash-note 4.8s ease-in-out 1; }
 #sas-home .venue-card, #sas-home .content-card { transition:transform .2s,box-shadow .2s; }
 #sas-home .venue-card:hover, #sas-home .content-card:hover { transform:translateY(-5px); box-shadow:0 12px 24px #0c446b18; }
}
@keyframes splash-badge { 0%,100%{transform:rotate(11deg) translateY(0)} 50%{transform:rotate(5deg) translateY(-9px)} }
@keyframes splash-note { 0%,100%{transform:rotate(-5deg) translateY(0)} 50%{transform:rotate(-2deg) translateY(-5px)} }
@media(max-width:1100px) {
 #sas-home .sas-hero { padding-left:32px; padding-right:23px; min-height:660px; }
 #sas-home .sas-hero h1 { font-size:62px; }
 #sas-home .sas-hero-visual { min-height:530px; }
 #sas-home .sas-photo-note { padding:17px 20px; left:-12px; }
 #sas-home .sas-photo-note strong { font-size:20px; }
 #sas-home .lesson-photo-top { margin-left:-22px; margin-right:-22px; }
 #sas-home .page-intro.with-photo { gap:28px; }
 #sas-home .intro-photo img { height:340px; }
 #sas-home .page-intro.with-photo h1 { font-size:49px; }
 #sas-home .photo-ribbon img { height:250px; }
 #sas-home .content-card-photo { height:220px; }
}
@media(max-width:760px) {
 #sas-home .standards-ribbon { display:block; padding:24px 22px; }
 #sas-home .standards-ribbon a { display:inline-block; margin-top:13px; white-space:normal; }
 #sas-home .standards-section { padding:48px 22px; }
 #sas-home .standards-heading { display:block; }
 #sas-home .standards-heading > p { margin-top:20px; }
 #sas-home .standards-grid { grid-template-columns:1fr; gap:22px; }
 #sas-home .standards-card .standards-badge { height:190px; }
 #sas-home .staffing-assurance { display:block; padding:25px; }
 #sas-home .staffing-assurance > p { margin-top:18px; }
 #sas-home .sas-hero { grid-template-columns:1fr; min-height:0; padding:33px 22px 79px; background-position:60% center; }
 #sas-home .sas-hero-copy { padding:0; }
 #sas-home .sas-hero h1 { font-size:clamp(46px,11vw,70px); }
 #sas-home .sas-hero .sas-eyebrow { font-size:12px; }
 #sas-home .sas-hero-intro { font-size:17px; margin-top:22px; }
 #sas-home .sas-hero-proof { font-size:12px; }
 #sas-home .sas-hero-visual { min-height:370px; margin-top:36px; }
 #sas-home .sas-hero-photo-wrap { inset:7px 0 0; border-width:6px; }
 #sas-home .sas-hero-badge { width:97px; height:97px; padding:11px; font-size:11px; right:1px; top:-12px; }
 #sas-home .sas-photo-note { bottom:12px; left:-6px; padding:16px 20px; }
 #sas-home .sas-photo-note strong { font-size:21px; }
 #sas-home .sas-photo-note span { font-size:10px; }
 #sas-home .sas-wave { height:40px; }
 #sas-home .sas-facts { padding-top:27px; padding-bottom:27px; }
 #sas-home .sas-facts strong { font-size:25px; }
 #sas-home .sas-lessons { padding-top:49px; }
 #sas-home .sas-card-photo, #sas-home .lesson-photo-top { height:240px; }
 #sas-home .lesson-photo-top { margin-left:-27px; margin-right:-27px; }
 #sas-home .sas-location { padding:25px 0 22px; }
 #sas-home .location-cover { height:215px; }
 #sas-home .sas-confidence-picture img { border-width:5px; }
 #sas-home .academy-gallery { padding:45px 0 53px; }
 #sas-home .gallery-heading { display:block; padding:0 22px; margin-bottom:24px; }
 #sas-home .gallery-heading > p { max-width:100%; margin-top:20px; }
 #sas-home .photo-ribbon { gap:18px; grid-template-columns:1fr; margin:0 30px; }
 #sas-home .photo-ribbon figure { transform:rotate(-2deg); }
 #sas-home .photo-ribbon figure:nth-child(2) { margin-top:0; transform:rotate(2deg); }
 #sas-home .photo-ribbon figure:nth-child(3) { transform:rotate(-1deg); }
 #sas-home .photo-ribbon img { height:290px; }
 #sas-home .sas-final-cta { padding:62px 22px 49px; }
 #sas-home .page-intro.with-photo { grid-template-columns:1fr; gap:14px; padding:23px 22px 42px; }
 #sas-home .page-intro.with-photo h1 { font-size:clamp(39px,9.5vw,59px); }
 #sas-home .page-intro.with-photo .page-lead { font-size:17px; }
 #sas-home .intro-photo { padding:8px 4px 14px; margin:0 5px 8px; }
 #sas-home .intro-photo img { height:280px; border-width:5px; }
 #sas-home .intro-photo figcaption { bottom:5px; font-size:12px; }
 #sas-home .content-card-photo { width:calc(100% + 56px); margin-left:-28px; margin-right:-28px; height:245px; }
 #sas-home .venue-card-photo { width:calc(100% + 50px); margin-left:-25px; margin-right:-25px; height:230px; }
 #sas-home .pool-photograph img { height:250px; }
 #sas-home .person-card .team-portrait { height:380px; }
 #sas-home .partner-list li { flex-direction:row; align-items:center; }
 #sas-home .support-photo img { height:280px; }
}
@media(max-width:380px) {
 #sas-home .sas-hero h1 { font-size:45px; }
 #sas-home .sas-hero-visual { min-height:325px; }
 #sas-home .intro-photo img { height:240px; }
 #sas-home .photo-ribbon img { height:250px; }
}

/* Max splash: oversized campaign typography, floating navigation and photo collages. */
#sas-home { --electric:#006d92; --sun:#5bd2e3; --midnight:#082649; --pink:#ff7eb5; background:#006d92; }
#sas-home main { background:#fff; }
#sas-home em { font-style:normal; }
#sas-home section[id], #sas-home article[id] { scroll-margin-top:130px; }
#sas-home .site-topline { color:#fff; background:#0b2e7d; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:7px max(28px,calc((100vw - 1340px)/2)); }
#sas-home .site-topline p, #sas-home .site-topline a { font-size:12px; font-weight:700; }
#sas-home .site-topline > div { display:flex; gap:25px; }
#sas-home .site-topline a:hover { text-decoration:underline; text-underline-offset:4px; }
#sas-home .site-header { position:sticky; top:12px; margin:15px max(20px,calc((100vw - 1440px)/2)) -105px; min-height:90px; padding:10px 22px; background:#fff; border:2px solid #fff; border-radius:26px; box-shadow:0 8px 0 #05286e26,0 15px 45px #031e4622; gap:24px; z-index:40; }
#sas-home .site-brand { gap:12px; }
#sas-home .site-brand img { width:66px; height:66px; }
#sas-home .site-brand > span { display:block; border-left:0; padding-left:0; color:#073464; font-size:12px; line-height:1.4; letter-spacing:.03em; }
#sas-home .site-nav { gap:12px; margin-left:auto; }
#sas-home .site-nav summary { min-height:47px; padding:12px 10px; border-radius:100px; font-size:14px; }
#sas-home .nav-group[open] > summary, #sas-home .site-nav summary:hover { background:#e9f8ff; color:#006d92; }
#sas-home .nav-panel { border:2px solid #d7edff; border-radius:24px; top:calc(100% + 15px); padding:15px; box-shadow:0 12px 0 #0929571a,0 22px 50px #08254826; }
#sas-home .nav-panel a { padding:13px 15px; font-size:15px; }
#sas-home .header-actions { display:flex; }
#sas-home .header-book { display:flex; align-items:center; justify-content:space-between; gap:25px; min-height:62px; padding:10px 11px 10px 24px; background:#5bd2e3; color:#082649; box-shadow:none; font-size:17px; font-weight:800; border:2px solid #082649; border-radius:19px; transition:transform .2s,box-shadow .2s; }
#sas-home .header-book > span { display:grid; place-items:center; border-radius:50%; width:36px; height:36px; background:#082649; color:#fff; font-size:24px; font-weight:400; }
#sas-home .header-book:hover { background:#90e4ee; color:#082649; transform:rotate(-2deg); box-shadow:0 5px 0 #082649; }
#sas-home .splash-button { display:inline-flex; align-items:center; justify-content:space-between; gap:25px; padding:12px 12px 12px 29px; min-height:68px; background:#5bd2e3; color:#082649; border:2px solid #082649; border-radius:20px; font-size:19px; font-weight:800; box-shadow:0 6px 0 #082649; transition:transform .2s,box-shadow .2s; }
#sas-home .splash-button > span { display:grid; place-items:center; width:40px; height:40px; background:#082649; color:#fff; border-radius:50%; font-size:27px; line-height:1; font-weight:400; }
#sas-home .splash-button:hover { transform:translateY(-4px) rotate(-2deg); box-shadow:0 10px 0 #082649; }
#sas-home .splash-secondary { display:inline-flex; align-items:center; justify-content:center; gap:12px; padding:15px 0 8px; font-weight:700; font-size:15px; border-bottom:2px solid currentColor; min-height:48px; }
#sas-home .splash-secondary:hover { color:#5bd2e3; }
/* A full-bleed opening photograph; the left gradient protects the headline. */
#sas-home .max-hero { position:relative; isolation:isolate; overflow:hidden; min-height:870px; padding:151px max(28px,calc((100vw - 1340px)/2)) 105px; background:#006d92; color:#fff; }
#sas-home .max-hero-scene { position:absolute; z-index:-2; inset:0 0 0 22%; }
#sas-home .max-hero-photo { height:100%; width:100%; object-fit:cover; object-position:70% 43%; }
#sas-home .max-hero::before { content:''; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,#1245b9 0%,#1245b9f5 27%,#1245b9b8 40%,#1245b910 64%),linear-gradient(0deg,#0b42abcf,transparent 29%); }
#sas-home .max-hero-copy { position:relative; z-index:3; max-width:610px; }
#sas-home .hero-kicker { font-size:12px; letter-spacing:.1em; font-weight:800; color:#d2f8ff; margin-bottom:24px; }
#sas-home .max-hero h1 { font-family:'Arial Black',Arial,Helvetica,sans-serif; font-size:clamp(88px,8.9vw,144px); font-weight:900; line-height:.96; letter-spacing:-.07em; color:#fff; text-shadow:0 7px 0 #03275930; }
#sas-home .max-hero h1 em { display:inline-block; color:#5bd2e3; transform:rotate(-4deg); transform-origin:left center; }
#sas-home .max-hero-lead { margin-top:29px; font-size:18px; line-height:1.6; max-width:430px; color:#fff; }
#sas-home .hero-actions { display:flex; align-items:center; gap:25px; margin-top:27px; flex-wrap:wrap; }
#sas-home .hero-trust { display:flex; flex-wrap:wrap; gap:12px 20px; margin-top:29px; font-size:13px; color:#e0faff; }
#sas-home .hero-trust a { text-decoration:underline; text-underline-offset:4px; font-weight:700; }
#sas-home .max-hero-sticker { position:absolute; top:157px; right:36%; display:grid; place-content:center; width:137px; height:137px; background:#5bd2e3; border:5px solid #fff; color:#082649; border-radius:32px; font-size:21px; line-height:1.12; font-weight:900; text-align:center; transform:rotate(12deg); box-shadow:0 7px 0 #08264940; }
#sas-home .max-hero-memory { position:absolute; bottom:107px; right:19%; width:209px; padding:7px 7px 0; background:#fff; border-radius:23px; transform:rotate(-9deg); box-shadow:0 12px 0 #08264926; z-index:2; }
#sas-home .max-hero-memory img { height:166px; object-fit:cover; border-radius:17px; }
#sas-home .max-hero-memory figcaption { padding:12px 6px; font-size:12px; color:#082649; font-weight:800; text-align:center; }
#sas-home .max-mascot { position:absolute; right:1%; bottom:56px; width:clamp(170px,21vw,330px); max-width:28%; height:auto; z-index:2; pointer-events:none; }
#sas-home .hero-bottomline { position:absolute; bottom:0; left:0; right:0; display:flex; justify-content:center; gap:5vw; padding:13px 20px 14px; color:#082649; background:#31c5ef; font-size:24px; font-weight:900; letter-spacing:.06em; transform:rotate(-1deg) scale(1.02); transform-origin:left bottom; }
#sas-home .hero-bottomline span:nth-child(2) { color:#fff; }
#sas-home .sas-area-strip { padding:34px max(28px,calc((100vw - 1340px)/2)); background:#fff; border-bottom:1px solid #c4e0f3; gap:24px; }
#sas-home .sas-area-strip > p { font-size:23px; color:#082649; }
#sas-home .sas-area-choices { gap:12px; }
#sas-home .sas-area-choices a { border:2px solid #006d92; color:#006d92; min-height:59px; padding:14px 23px; border-radius:17px; box-shadow:0 4px 0 #006d92; font-size:15px; }
#sas-home .sas-area-choices a:hover { background:#5bd2e3; transform:translateY(-2px); }
#sas-home .standards-ribbon { background:#082649; }
#sas-home .sas-facts { border-bottom:0; background:#edfbff; padding-top:32px; padding-bottom:32px; }
#sas-home .sas-facts strong { font-size:clamp(25px,2.9vw,39px); }
/* Every inner-page opening works as a clear invitation to lessons. */
#sas-home .page-intro, #sas-home .page-intro.with-photo { padding-top:153px; padding-bottom:83px; background-color:#006d92; background-image:linear-gradient(105deg,#123fad90,#006d9200),url('/assets/splash-wave.webp'); color:#fff; border-radius:0 0 64px 0; }
#sas-home .page-intro.with-photo { grid-template-columns:1.12fr .88fr; gap:55px; min-height:680px; }
#sas-home .page-intro.aqua { background-image:linear-gradient(105deg,#006d9280,#006ab800),url('/assets/splash-wave.webp'); }
#sas-home .page-intro.dark { background-image:linear-gradient(105deg,#082649ee,#0c519e40),url('/assets/splash-wave.webp'); }
#sas-home .page-intro .breadcrumbs { margin-bottom:23px; color:#d5f6ff; font-size:13px; }
#sas-home .page-intro .sas-eyebrow, #sas-home .page-intro.aqua .sas-eyebrow, #sas-home .intro-copy > .sas-eyebrow { display:inline-block; background:#31c5ef; color:#082649; padding:8px 13px; border-radius:8px; margin-bottom:22px; font-size:12px; letter-spacing:.07em; transform:rotate(-2deg); }
#sas-home .page-intro h1, #sas-home .page-intro.with-photo h1 { font-size:clamp(46px,5.6vw,81px); line-height:1.02; letter-spacing:-.06em; text-wrap:balance; }
#sas-home .page-intro .page-lead { color:#e1f6ff; max-width:600px; font-size:18px; margin-top:23px; }
#sas-home .intro-actions { display:flex; align-items:center; gap:25px; margin-top:29px; flex-wrap:wrap; }
#sas-home .intro-actions .splash-button { font-size:17px; min-height:62px; }
#sas-home .intro-photo { padding:12px 0 12px; align-self:stretch; min-height:435px; display:flex; align-items:stretch; }
#sas-home .intro-photo img { height:100%; min-height:410px; max-height:540px; width:100%; object-fit:cover; border-radius:64px 25px 80px 25px; border:7px solid #fff; transform:rotate(5deg); box-shadow:13px 13px 0 #31c5ef; }
#sas-home .intro-photo figcaption { bottom:-2px; left:-15px; border:3px solid #082649; border-radius:13px; padding:13px 18px; font-size:14px; line-height:1.4; box-shadow:0 5px 0 #082649; }
#sas-home .intro-mascot { position:absolute; bottom:25px; right:8px; width:165px; height:auto; max-width:18%; pointer-events:none; }
#sas-home .intro-compact { min-height:0; padding-bottom:60px; }
#sas-home .intro-compact h1 { max-width:1000px; }
/* The energy continues down the page: tactile lesson cards and photo boards. */
#sas-home .sas-section h2 em, #sas-home .gallery-heading h2 em { color:#006d92; }
#sas-home .sas-section-head h2 { font-size:clamp(39px,4.5vw,68px); line-height:1.05; }
#sas-home .sas-lesson-grid { gap:29px; align-items:stretch; padding-top:13px; }
#sas-home .sas-lesson-card { border:3px solid #082649; border-radius:28px; background:#fff; box-shadow:0 9px 0 #082649; transform:rotate(-1.5deg); }
#sas-home .sas-lesson-card:nth-child(2) { background:#e6f8fb; border-color:#082649; transform:rotate(1.5deg); }
#sas-home .sas-lesson-card:nth-child(3) { background:#e0f9ff; transform:rotate(-1deg); }
#sas-home .sas-lesson-card:hover { transform:translateY(-8px) rotate(0deg); box-shadow:0 17px 0 #082649; }
#sas-home .sas-card-photo, #sas-home .lesson-photo-top { height:280px; }
#sas-home .sas-lesson-card h3 { font-size:32px; }
#sas-home .sas-card-number { background:#006d92; color:#fff; display:grid; place-items:center; width:33px; height:33px; border-radius:50%; font-weight:800; }
#sas-home .sas-pill { font-size:12px; color:#006d92; }
#sas-home .sas-card-link { font-size:15px; }
#sas-home .sas-card-link > span { display:grid; place-items:center; height:38px; width:38px; border-radius:50%; background:#006d92; color:#fff; flex-shrink:0; }
#sas-home .sas-price-note { margin-top:35px; }
#sas-home .sas-more-pathways { margin-top:32px; }
#sas-home .sas-more-pathways > a { border:2px solid #006d92; background:#fff; box-shadow:0 5px 0 #c2e3f5; border-radius:19px; }
#sas-home .sas-more-pathways > a:last-child { background:#eef8fc; }
#sas-home .sas-locations { background-color:#006d92; background-image:linear-gradient(105deg,#1240aff5,#006d9275),url('/assets/water-texture.webp'); }
#sas-home .sas-locations h2 em { color:#5bd2e3; }
#sas-home .sas-location { border:3px solid #082649; box-shadow:0 8px 0 #082649; }
#sas-home .sas-location-main strong { font-size:30px; }
#sas-home .sas-confidence { gap:65px; background:#fff; }
#sas-home .sas-confidence-picture img { border-radius:34px; transform:rotate(-3deg); border:6px solid #006d92; box-shadow:13px 13px 0 #31c5ef; }
#sas-home .sas-confidence-sticker { border:3px solid #082649; box-shadow:0 6px 0 #082649; border-radius:18px; font-size:25px; }
#sas-home .sas-reason-number { color:#006d92; }
#sas-home .standards-section { background:#e9f9ff; }
#sas-home .standards-card { border:2px solid #006d92; box-shadow:0 7px 0 #bfd9f4; }
#sas-home .standards-heading h2 { font-size:clamp(44px,4.5vw,68px); }
#sas-home .staffing-assurance { border:2px solid #082649; box-shadow:0 6px 0 #082649; }
#sas-home .academy-gallery { background:#006d92; padding-top:75px; padding-bottom:85px; color:#fff; }
#sas-home .gallery-heading .sas-eyebrow { color:#beefff; }
#sas-home .gallery-heading h2 { font-size:clamp(47px,6vw,87px); line-height:1.02; }
#sas-home .gallery-heading h2 em { color:#5bd2e3; }
#sas-home .gallery-heading > p { color:#d9f5ff; }
#sas-home .photo-ribbon { gap:30px; }
#sas-home .photo-ribbon figure { border-radius:25px; box-shadow:0 12px 0 #08264966; }
#sas-home .photo-ribbon img { height:350px; }
#sas-home .sas-reviews { background:#fff; }
#sas-home .sas-quote { border:3px solid #082649; border-radius:28px; background:#5bd2e3; box-shadow:9px 9px 0 #31c5ef; transform:rotate(1deg); }
#sas-home .sas-faq { background:#082649; color:#fff; }
#sas-home .sas-faq .sas-eyebrow { color:#31c5ef; }
#sas-home .sas-faq .sas-faq-intro > p:not(.sas-eyebrow) { color:#d9edff; }
#sas-home .sas-faq .sas-questions details { background:#fff; color:#082649; border:0; border-radius:17px; margin-bottom:12px; padding:0 21px; }
#sas-home .sas-faq details summary { color:#082649; }
#sas-home .sas-faq details p { color:#405a6c; }
#sas-home .content-card, #sas-home .venue-card, #sas-home .person-card { border:2px solid #006d92; box-shadow:0 7px 0 #d2e8fa; border-radius:25px; }
#sas-home .content-card-photo { height:300px; }
#sas-home .venue-card-photo { height:240px; }
#sas-home .filter-row button[aria-pressed="true"] { background:#5bd2e3; color:#082649; border:2px solid #082649; box-shadow:0 4px 0 #082649; }
#sas-home .filter-row button { border-radius:16px; border-width:2px; }
#sas-home .sas-final-cta { background-color:#006d92; background-image:linear-gradient(105deg,#006d9280,#006d9200),url('/assets/splash-wave.webp'); color:#fff; padding-top:90px; padding-bottom:88px; }
#sas-home .sas-final-cta .sas-eyebrow { color:#bff3ff; }
#sas-home .sas-final-cta::before { display:none; }
#sas-home .sas-final-cta h2 { font-size:clamp(42px,5.3vw,78px); line-height:1.05; }
#sas-home .sas-final-cta .sas-button { border:2px solid #082649; background:#5bd2e3; color:#082649; border-radius:20px; box-shadow:0 6px 0 #082649; font-size:18px; }
#sas-home .site-footer { border-top:0; background:#082649; }
#sas-home .footer-heading { font-size:49px; }
/* Motion has a short, finite introduction and respects reduced-motion preferences. */
@media(prefers-reduced-motion:no-preference) {
 #sas-home .max-hero h1 { animation:hero-arrive .8s cubic-bezier(.2,.9,.3,1) both; }
 #sas-home .max-hero-lead, #sas-home .hero-actions { animation:hero-arrive .8s .15s both; }
 #sas-home .max-hero-sticker { animation:sticker-pop 1s .2s both; }
 #sas-home .max-mascot { animation:mascot-bob 4.5s ease-in-out 1; }
 #sas-home .motion-enter { animation:section-arrive .7s ease-out both; }
}
@keyframes hero-arrive { from { opacity:0; transform:translateY(27px); } to { opacity:1; transform:translateY(0); } }
@keyframes sticker-pop { 0% { opacity:0; transform:scale(.65) rotate(-14deg); } 70% { opacity:1; transform:scale(1.07) rotate(15deg); } 100% { opacity:1; transform:scale(1) rotate(12deg); } }
@keyframes mascot-bob { 0%,100% { transform:translateY(0) rotate(0); } 30% { transform:translateY(-15px) rotate(6deg); } 65% { transform:translateY(-5px) rotate(-4deg); } }
@keyframes section-arrive { from { opacity:.35; translate:0 25px; } to { opacity:1; translate:0 0; } }
@media(min-width:1550px) { #sas-home .max-hero-memory { right:calc((100vw - 970px)/2); } #sas-home .max-mascot { right:calc((100vw - 1440px)/2); } }
@media(max-width:1200px) {
 #sas-home .site-brand > span { display:none; }
 #sas-home .site-header { gap:18px; }
 #sas-home .max-hero { min-height:860px; }
 #sas-home .max-hero h1 { font-size:112px; }
 #sas-home .max-hero-memory { right:16%; width:180px; bottom:88px; }
 #sas-home .max-hero-memory img { height:140px; }
 #sas-home .max-hero-copy { max-width:530px; }
 #sas-home .max-hero-lead { max-width:400px; }
 #sas-home .max-hero-sticker { width:113px; height:113px; font-size:18px; right:30%; }
 #sas-home .page-intro.with-photo { gap:38px; grid-template-columns:1.15fr .85fr; }
 #sas-home .page-intro.with-photo h1 { font-size:59px; }
 #sas-home .intro-photo img { min-height:380px; }
 #sas-home .intro-actions { gap:20px; }
 #sas-home .intro-actions .splash-secondary { font-size:14px; }
}
@media(max-width:1000px) {
 #sas-home .site-header { min-height:84px; margin-bottom:-99px; padding:9px 15px; }
 #sas-home .site-brand > span { display:block; }
 #sas-home .site-brand img { width:60px; height:60px; }
 #sas-home .header-actions { display:flex; margin-left:auto; }
 #sas-home .header-book { min-height:54px; font-size:16px; padding:8px 9px 8px 19px; gap:19px; }
 #sas-home .header-book > span { width:32px; height:32px; font-size:22px; }
 #sas-home .mobile-nav > summary { padding:12px 15px; border:2px solid #082649; border-radius:16px; font-size:14px; gap:12px; }
 #sas-home .mobile-nav > nav { top:calc(100% + 10px); border:2px solid #d6eaff; border-radius:24px; max-height:calc(100dvh - 135px); }
 #sas-home .sas-area-strip { display:block; }
 #sas-home .sas-area-choices { margin-top:19px; }
 #sas-home .max-hero h1 { font-size:97px; }
 #sas-home .max-hero { min-height:830px; }
 #sas-home .max-hero-lead { max-width:350px; font-size:17px; }
 #sas-home .hero-actions { gap:20px; max-width:360px; }
 #sas-home .max-hero-memory { width:170px; right:14%; }
 #sas-home .page-intro.with-photo { grid-template-columns:1.1fr .9fr; gap:27px; }
 #sas-home .page-intro.with-photo h1 { font-size:48px; }
 #sas-home .intro-photo img { min-height:370px; }
 #sas-home .intro-photo figcaption { font-size:12px; padding:10px 13px; }
 #sas-home .photo-ribbon img { height:250px; }
 #sas-home .sas-card-photo, #sas-home .lesson-photo-top { height:240px; }
}
@media(max-width:760px) {
 #sas-home .site-topline { justify-content:center; padding:6px 12px; }
 #sas-home .site-topline p { display:none; }
 #sas-home .site-topline > div { width:100%; justify-content:space-between; padding:0 8px; gap:15px; }
 #sas-home .site-topline a { font-size:12px; }
 #sas-home .site-header { top:8px; margin:10px 10px -84px; padding:8px 10px; min-height:74px; border-radius:21px; gap:10px; }
 #sas-home .site-brand img { width:52px; height:52px; }
 #sas-home .site-brand > span { display:none; }
 #sas-home .header-book { min-height:48px; padding:7px 8px 7px 13px; font-size:14px; border-radius:14px; gap:14px; }
 #sas-home .header-book > span { width:29px; height:29px; font-size:21px; }
 #sas-home .mobile-nav > summary { padding:10px 12px; min-height:48px; font-size:13px; gap:9px; border-radius:14px; }
 #sas-home .mobile-nav > nav { max-height:calc(100dvh - 110px); padding:14px 21px 24px; }
 #sas-home .max-hero { min-height:0; padding:123px 23px 451px; }
 #sas-home .max-hero-scene { inset:46% 0 0; }
 #sas-home .max-hero-photo { object-position:70% 45%; }
 #sas-home .max-hero::before { background:linear-gradient(180deg,#006d92 0%,#006d92 42%,#006d9200 66%),linear-gradient(0deg,#0c42967a,transparent 30%); }
 #sas-home .max-hero-copy { max-width:100%; }
 #sas-home .hero-kicker { font-size:12px; letter-spacing:.06em; margin-bottom:21px; }
 #sas-home .max-hero h1 { font-size:clamp(72px,17vw,118px); line-height:.96; letter-spacing:-.065em; }
 #sas-home .max-hero h1 br:first-of-type { display:block; }
 #sas-home .max-hero h1 { max-width:640px; }
 #sas-home .max-hero-lead { max-width:470px; margin-top:26px; font-size:17px; }
 #sas-home .hero-actions { max-width:100%; margin-top:24px; gap:19px; }
 #sas-home .splash-button { min-height:61px; padding:10px 10px 10px 23px; font-size:17px; gap:21px; border-radius:17px; }
 #sas-home .splash-button > span { width:35px; height:35px; font-size:24px; }
 #sas-home .splash-secondary { font-size:14px; }
 #sas-home .hero-trust { margin-top:25px; gap:15px; font-size:12px; }
 #sas-home .max-hero-sticker { top:auto; bottom:329px; width:101px; height:101px; right:auto; left:23px; font-size:16px; border-width:4px; border-radius:24px; }
 #sas-home .max-hero-memory { bottom:66px; right:auto; left:22px; width:147px; border-radius:17px; padding:5px 5px 0; transform:rotate(-7deg); }
 #sas-home .max-hero-memory img { height:112px; border-radius:12px; }
 #sas-home .max-hero-memory figcaption { font-size:12px; padding:10px 2px; }
 #sas-home .max-mascot { width:190px; max-width:46%; right:-8px; bottom:45px; }
 #sas-home .hero-bottomline { font-size:19px; gap:6vw; padding:13px 15px; }
 #sas-home .sas-area-strip { padding:28px 22px 31px; }
 #sas-home .sas-area-strip > p { font-size:24px; }
 #sas-home .sas-area-choices { display:grid; grid-template-columns:1fr; gap:13px; margin-top:19px; }
 #sas-home .sas-area-choices a { width:100%; min-height:53px; font-size:16px; border-radius:15px; }
 #sas-home .page-intro, #sas-home .page-intro.with-photo { padding:126px 23px 59px; border-radius:0 0 40px 0; }
 #sas-home .page-intro.with-photo { grid-template-columns:1fr; gap:32px; min-height:0; }
 #sas-home .page-intro h1, #sas-home .page-intro.with-photo h1 { font-size:clamp(40px,10.4vw,67px); letter-spacing:-.05em; line-height:1.05; }
 #sas-home .page-intro .breadcrumbs { margin-bottom:23px; font-size:12px; }
 #sas-home .page-intro .sas-eyebrow { margin-bottom:21px; font-size:12px; }
 #sas-home .page-intro .page-lead { font-size:17px; margin-top:21px; }
 #sas-home .intro-actions { gap:20px; margin-top:24px; }
 #sas-home .intro-photo { min-height:0; display:block; padding:0 7px 20px 0; margin:0 6px; }
 #sas-home .intro-photo img { height:315px; min-height:0; max-height:none; border-radius:48px 20px 55px 20px; border-width:5px; transform:rotate(3deg); box-shadow:9px 9px 0 #31c5ef; }
 #sas-home .intro-photo figcaption { bottom:2px; left:-7px; font-size:12px; padding:11px 14px; max-width:97%; }
 #sas-home .intro-mascot { right:-12px; bottom:38px; max-width:32%; width:145px; }
 #sas-home .intro-compact { padding-bottom:50px; }
 #sas-home .sas-section-head h2 { font-size:clamp(35px,8.6vw,51px); }
 #sas-home .sas-lesson-grid { gap:29px; padding-top:0; }
 #sas-home .sas-lesson-card, #sas-home .sas-lesson-card:nth-child(2), #sas-home .sas-lesson-card:nth-child(3) { transform:none; }
 #sas-home .sas-card-photo, #sas-home .lesson-photo-top { height:265px; }
 #sas-home .sas-lesson-card h3 { font-size:32px; }
 #sas-home .sas-confidence { gap:44px; }
 #sas-home .sas-confidence-picture img { transform:rotate(-2deg); border-width:5px; box-shadow:9px 9px 0 #31c5ef; }
 #sas-home .sas-confidence-sticker { font-size:23px; }
 #sas-home .academy-gallery { padding:49px 0 61px; }
 #sas-home .gallery-heading h2 { font-size:clamp(39px,11vw,65px); }
 #sas-home .photo-ribbon { gap:26px; }
 #sas-home .photo-ribbon img { height:295px; }
 #sas-home .sas-quote { box-shadow:6px 6px 0 #31c5ef; transform:none; }
 #sas-home .sas-faq .sas-questions details { padding:0 16px; }
 #sas-home .content-card-photo { height:265px; }
 #sas-home .sas-final-cta { padding:65px 23px 59px; }
 #sas-home .sas-final-cta h2 { font-size:clamp(39px,10vw,57px); }
 #sas-home .footer-heading { font-size:43px; }
}
@media(max-width:380px) {
 #sas-home .site-header { gap:7px; padding-left:8px; padding-right:8px; }
 #sas-home .site-brand img { width:46px; height:46px; }
 #sas-home .header-book { gap:9px; padding-left:10px; font-size:13px; }
 #sas-home .mobile-nav > summary { padding:10px; }
 #sas-home .max-hero { padding-left:20px; padding-right:20px; }
 #sas-home .max-hero h1 { font-size:70px; }
 #sas-home .hero-actions { gap:18px; }
 #sas-home .hero-actions .splash-secondary { font-size:13px; }
}

/* Refined brand balance: logo-led ocean colours, compact inner-page introductions. */
#sas-home { --ink:#082f49; --blue:#006d92; --electric:#006d92; --aqua:#28bfd5; --sun:#5bd2e3; --sunshine:#5bd2e3; --midnight:#082f49; background:#edf8fb; }
#sas-home .site-topline { background:#082f49; }
#sas-home .site-header { box-shadow:0 5px 0 #083b5610,0 13px 34px #083b5617; }
#sas-home .site-nav { margin-left:0; }
#sas-home .site-brand { margin-right:auto; }
#sas-home .header-book { background:#28bfd5; border-color:#28bfd5; border-radius:18px; color:#082f49; }
#sas-home .header-book:hover { background:#67d6e4; box-shadow:0 4px 0 #083b5626; transform:translateY(-2px); }
#sas-home .header-book > span, #sas-home .splash-button > span { background:#083b56; }
#sas-home .splash-button { background:#5bd2e3; border-color:#5bd2e3; color:#082f49; box-shadow:0 4px 0 #052f492f; }
#sas-home .splash-button:hover { box-shadow:0 7px 0 #052f492f; transform:translateY(-3px); }
#sas-home .max-hero { background:#083b56; }
#sas-home .max-hero::before { background:linear-gradient(90deg,#083b56 0%,#083b56f5 27%,#083b56b8 40%,#083b560a 64%),linear-gradient(0deg,#083b56bf,transparent 29%); }
#sas-home .max-hero h1 em { color:#79e0ec; }
#sas-home .max-hero-sticker { background:#e1f9fc; color:#083b56; box-shadow:0 5px 0 #083b5633; }
#sas-home .hero-bottomline { background:#28bfd5; }
#sas-home .sas-locations { background-image:linear-gradient(105deg,#083b56f0,#086d89c9),url('/assets/water-texture.webp'); }
#sas-home .academy-gallery { background:#0a4b65; }
#sas-home .sas-final-cta { background-color:#083b56; background-image:linear-gradient(105deg,#083b56f0,#006d9290),url('/assets/splash-wave.webp'); }
#sas-home .sas-final-cta .sas-button { background:#5bd2e3; color:#082f49; border-color:#5bd2e3; box-shadow:0 4px 0 #031f3d3d; }
#sas-home .sas-lesson-card { border:1px solid #b5dce6; box-shadow:0 6px 0 #d8ebf1; }
#sas-home .sas-lesson-card:nth-child(2) { background:#e6f8fb; border-color:#b5dce6; }
#sas-home .sas-lesson-card:hover { box-shadow:0 11px 0 #d8ebf1; }
#sas-home .content-card, #sas-home .venue-card, #sas-home .person-card { border:1px solid #b5dce6; box-shadow:0 5px 0 #e1f0f5; }
#sas-home .sas-location { border:1px solid #d0eaf1; box-shadow:0 6px 0 #052f4966; }
#sas-home .standards-card { border:1px solid #b5dce6; box-shadow:0 5px 0 #d7ebf2; }
#sas-home .staffing-assurance { background:#d8f5f9; border:1px solid #a9dce6; box-shadow:0 4px 0 #c3e7ef; }
#sas-home .sas-quote { background:#d8f5f9; border:1px solid #a9dce6; box-shadow:7px 7px 0 #b6e4ed; }
#sas-home .sas-confidence-sticker { background:#d8f5f9; border-color:#fff; box-shadow:0 5px 0 #083b5626; }
#sas-home .lesson-photo-label { background:#d8f5f9; }
#sas-home .filter-row button[aria-pressed="true"] { background:#006d92; border-color:#006d92; color:#fff; box-shadow:0 3px 0 #083b5633; }

/* Keep compact page headers below the navigation, including the lesson layouts.
   Normal flow reserves the actual navigation height at every screen size. */
#sas-home:has(.page-intro, .lesson-hero) .site-header { margin-bottom:0; }
#sas-home .page-intro, #sas-home .page-intro.with-photo,
#sas-home .page-intro.aqua, #sas-home .page-intro.dark { padding:30px max(32px,calc((100vw - 1260px)/2)) 37px; min-height:0; background:#edf8fb; color:#082f49; border-radius:0 0 32px 0; border-bottom:1px solid #d5ebf1; }
#sas-home .page-intro.with-photo { grid-template-columns:minmax(0,1.65fr) minmax(240px,.75fr); gap:48px; align-items:center; }
#sas-home .page-intro.with-photo .intro-copy { padding:0; }
#sas-home .page-intro .breadcrumbs { margin-bottom:14px; font-size:12px; color:#526f7e; }
#sas-home .page-intro .sas-eyebrow, #sas-home .page-intro.aqua .sas-eyebrow,
#sas-home .intro-copy > .sas-eyebrow { background:transparent; padding:0; border-radius:0; color:#006d92; transform:none; font-size:12px; margin-bottom:12px; letter-spacing:.09em; }
#sas-home .page-intro h1, #sas-home .page-intro.with-photo h1 { font-size:clamp(34px,3.35vw,48px); line-height:1.1; letter-spacing:-.045em; max-width:790px; text-wrap:balance; }
#sas-home .page-intro .page-lead { color:#466575; font-size:16px; line-height:1.6; max-width:720px; margin-top:14px; }
#sas-home .intro-actions { margin-top:20px; gap:22px; }
#sas-home .intro-actions .splash-button { min-height:49px; padding:8px 9px 8px 20px; font-size:15px; gap:20px; border-radius:15px; box-shadow:0 3px 0 #083b561f; }
#sas-home .intro-actions .splash-button > span { width:30px; height:30px; font-size:21px; }
#sas-home .intro-actions .splash-secondary { color:#006d92; padding:10px 0 6px; font-size:14px; min-height:44px; border-bottom-width:1px; }
#sas-home .intro-actions .splash-secondary:hover { color:#083b56; }
#sas-home .intro-photo { display:block; align-self:center; min-height:0; margin:0; padding:0 0 17px; }
#sas-home .intro-photo img { width:100%; height:238px; min-height:0; max-height:238px; border:4px solid #fff; border-radius:32px 14px 34px 14px; transform:rotate(2deg); box-shadow:6px 6px 0 #b4e6ef; }
#sas-home .intro-photo figcaption { bottom:0; left:8px; max-width:calc(100% - 16px); background:#fff; color:#083b56; padding:8px 11px; border:1px solid #c6e2ea; border-radius:10px; box-shadow:0 3px 0 #c6e2ea; font-size:12px; line-height:1.4; transform:rotate(-2deg); }
@media(max-width:1000px) {
 #sas-home .page-intro.with-photo { grid-template-columns:minmax(0,1.5fr) minmax(210px,.8fr); gap:30px; }
 #sas-home .page-intro h1, #sas-home .page-intro.with-photo h1 { font-size:36px; }
 #sas-home .intro-photo img { height:220px; max-height:220px; }
}
@media(max-width:760px) {
 #sas-home .max-hero::before { background:linear-gradient(180deg,#083b56 0%,#083b56 42%,#083b5600 66%),linear-gradient(0deg,#083b567a,transparent 30%); }
 #sas-home .page-intro, #sas-home .page-intro.with-photo,
 #sas-home .page-intro.aqua, #sas-home .page-intro.dark { padding:26px 23px 30px; border-radius:0 0 25px 0; }
 #sas-home .page-intro.with-photo { display:block; min-height:0; }
 #sas-home .page-intro h1, #sas-home .page-intro.with-photo h1 { font-size:clamp(31px,8vw,39px); line-height:1.12; }
 #sas-home .page-intro .breadcrumbs { margin-bottom:13px; }
 #sas-home .page-intro .sas-eyebrow { font-size:12px; margin-bottom:10px; }
 #sas-home .page-intro .page-lead { font-size:16px; margin-top:13px; }
 #sas-home .intro-actions { margin-top:19px; gap:18px; }
 #sas-home .page-intro .intro-photo { display:none; }
 #sas-home .sas-quote { box-shadow:5px 5px 0 #b6e4ed; }
}

/* A concise closing invitation rather than another campaign-sized hero. */
#sas-home .sas-final-cta { padding:37px max(32px,calc((100vw - 1260px)/2)); gap:35px; background:#e5f7fa; background-image:none; color:#082f49; border-top:1px solid #d0eaf0; }
#sas-home .sas-final-cta .sas-eyebrow { color:#006d92; font-size:12px; margin-bottom:11px; }
#sas-home .sas-final-cta h2 { font-size:clamp(28px,2.8vw,41px); line-height:1.15; letter-spacing:-.04em; max-width:780px; }
#sas-home .sas-final-cta p:not(.sas-eyebrow) { font-size:16px; margin-top:11px; }
#sas-home .sas-final-actions { display:flex; flex-direction:column; align-items:flex-start; gap:6px; flex-shrink:0; }
#sas-home .sas-final-cta .sas-button { min-height:51px; padding:12px 22px; font-size:16px; background:#006d92; border:1px solid #006d92; color:#fff; border-radius:15px; box-shadow:none; }
#sas-home .sas-final-cta .sas-button:hover { background:#07536e; transform:translateY(-2px); box-shadow:none; }
#sas-home .sas-final-cta .sas-text-link { color:#006d92; font-size:14px; }
@media(max-width:760px) {
 #sas-home .sas-final-cta { padding:29px 23px 30px; }
 #sas-home .sas-final-cta h2 { font-size:30px; }
 #sas-home .sas-final-actions { margin-top:19px; gap:4px; }
}

/* SVG arrows avoid platform emoji/font substitution and have no backing shape. */
#sas-home svg.action-arrow { display:inline-block; width:20px; height:20px; flex-shrink:0; vertical-align:middle; background:none; border:0; border-radius:0; box-shadow:none; color:inherit; }
#sas-home .header-book > .action-arrow { width:36px; height:36px; padding:7px; }
#sas-home .splash-button > .action-arrow { width:40px; height:40px; padding:8px; }
#sas-home .intro-actions .splash-button > .action-arrow { width:30px; height:30px; padding:5px; }
@media(max-width:1000px) {
 #sas-home .header-book > .action-arrow { width:32px; height:32px; padding:6px; }
}
@media(max-width:760px) {
 #sas-home .header-book > .action-arrow { width:29px; height:29px; padding:4px; }
 #sas-home .splash-button > .action-arrow { width:35px; height:35px; padding:6px; }
}

/* Keep the photograph in its own centred frame when browser zoom narrows the layout. */
#sas-home .max-hero-photo { object-position:50% 43%; }
@media(max-width:1000px) {
 #sas-home .max-hero { display:flex; flex-direction:column; min-height:0; padding:140px 24px 88px; gap:0; }
 #sas-home .max-hero::before { background:#083b56; }
 #sas-home .max-hero-copy { order:1; width:100%; max-width:680px; margin:0 auto; }
 #sas-home .max-hero-scene { position:relative; inset:auto; order:2; z-index:0; width:100%; max-width:680px; height:390px; margin:33px auto 0; overflow:hidden; border-radius:28px; border:4px solid #ffffffd9; }
 #sas-home .max-hero-photo { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 43%; }
 #sas-home .max-hero-sticker, #sas-home .max-hero-memory, #sas-home .max-mascot { display:none; }
 #sas-home .max-hero-lead { max-width:540px; }
 #sas-home .hero-actions { max-width:100%; }
}
@media(max-width:760px) {
 #sas-home .max-hero { padding:123px 23px 76px; }
 #sas-home .max-hero-scene { height:315px; border-radius:23px; margin-top:27px; }
 #sas-home .max-hero-photo { object-position:85% 43%; }
}
@media(max-width:380px) {
 #sas-home .max-hero { padding-left:20px; padding-right:20px; }
 #sas-home .max-hero-scene { height:300px; }
}

/* September content update: ocean colours, real website photos and clearer choices. */
#sas-home .hero-bottomline { gap:clamp(20px,5vw,75px); }
#sas-home .sas-lesson-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; }
#sas-home .sas-lesson-card, #sas-home .sas-lesson-card:nth-child(2) { position:relative; transform:none; background:#fff; border-radius:30px; }
#sas-home .sas-lesson-card:hover { transform:translateY(-4px); }
#sas-home .sas-card-photo { height:310px; }
#sas-home .lesson-capacity { position:absolute; top:22px; left:22px; right:auto; max-width:calc(100% - 44px); padding:11px 16px; border-radius:30px; background:#fff; color:#083b56; font-size:14px; font-weight:800; box-shadow:0 3px 12px #083b5629; }
#sas-home .premium-option { display:grid; grid-template-columns:.75fr 1.6fr; gap:35px; align-items:center; margin-top:29px; padding:28px 32px; border:1px solid #a6dce6; border-radius:25px; background:#e0f5f8; }
#sas-home .premium-option .sas-pill { background:#fff; color:#07556f; font-size:11px; }
#sas-home .premium-option h3 { font-size:28px; line-height:1.18; letter-spacing:-.035em; margin-top:13px; }
#sas-home .premium-option-copy p { font-size:15px; color:#3e6171; }
#sas-home .premium-option-copy strong { color:#083b56; }
#sas-home .premium-option-copy p + p { margin-top:6px; }
#sas-home .premium-venues { display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:14px; }
#sas-home .premium-venues a { font-size:13px; min-height:36px; display:inline-flex; align-items:center; gap:8px; font-weight:700; color:#006582; text-decoration:underline; text-underline-offset:4px; }

/* Destination cards: a large venue photograph and two compact area invitations. */
#sas-home .sas-locations { background:#083b56; overflow:hidden; isolation:isolate; }
#sas-home .sas-locations::before { content:''; position:absolute; z-index:-1; width:650px; height:650px; right:-290px; top:-290px; border:85px solid #27bfd517; box-shadow:0 0 0 60px #27bfd50a; border-radius:50%; }
#sas-home .sas-locations .sas-section-head { align-items:end; }
#sas-home .sas-locations .sas-section-head > p { max-width:360px; font-size:17px; }
#sas-home .sas-location-list { grid-template-columns:1.18fr 1fr; grid-template-rows:auto auto; gap:22px; align-items:stretch; }
#sas-home .sas-location { padding:25px 0; border-radius:25px; border:0; background:#fff; box-shadow:0 6px 0 #002a3d; min-width:0; }
#sas-home .sas-location > span { margin-left:25px; margin-right:25px; }
#sas-home .sas-location:first-child { grid-row:1 / 3; }
#sas-home .sas-location:first-child .location-cover { height:300px; width:100%; object-fit:cover; }
#sas-home .sas-location:first-child .sas-location-index { margin-top:22px; }
#sas-home .sas-location-index { color:#08788e; font-weight:800; margin-bottom:9px; }
#sas-home .sas-location-main strong { font-size:31px; }
#sas-home .sas-location-main > span { font-size:14px; margin:9px 0 13px; }
#sas-home .sas-location-detail { font-size:12px; color:#466676; }
#sas-home .sas-location-action { color:#083b56; margin-top:17px; }
#sas-home .sas-location-action > span { width:34px; height:34px; display:grid; place-items:center; background:#d3f3f7; border-radius:50%; }
#sas-home .sas-location:nth-child(2) { padding-right:75px; }
#sas-home .sas-location:hover { background:#f4fbfc; }
#sas-home .sas-location:nth-child(2) .sas-location-action { border-color:#083b5629; }
#sas-home .sas-location .location-doodle { margin:0; position:absolute; right:-34px; top:18px; width:120px; height:120px; border:23px solid #fff9; border-radius:50%; transform:rotate(-20deg); pointer-events:none; }
#sas-home .location-doodle::before, #sas-home .location-doodle::after { content:''; position:absolute; width:26px; height:23px; background:#0a789a; top:-23px; left:24px; }
#sas-home .location-doodle::after { top:auto; bottom:-23px; }
#sas-home .location-doodle span { position:absolute; inset:11px; border:1px solid #07536e55; border-radius:50%; }
#sas-home .sas-location:nth-child(3) { padding-top:25px; padding-left:38%; }
#sas-home .sas-location:nth-child(3) .location-cover { position:absolute; inset:0 auto 0 0; width:38%; height:100%; object-fit:cover; object-position:center; }
#sas-home .sas-location:nth-child(3) .sas-location-main strong { font-size:28px; }
#sas-home .sas-help-line { position:relative; display:inline-block; border:1px solid #80d8e04d; background:#ffffff0a; border-radius:16px; padding:14px 19px; margin-top:28px; }

/* A photo story with one large underwater moment and two smaller frames. */
#sas-home .academy-gallery { position:relative; isolation:isolate; overflow:hidden; padding:76px 0 49px; background:#0a4b65; }
#sas-home .academy-gallery::before { content:''; position:absolute; z-index:-1; width:800px; height:800px; top:-400px; right:-360px; border:1px solid #79e0ec33; box-shadow:0 0 0 65px #79e0ec0a,0 0 0 130px #79e0ec0a; border-radius:50%; }
#sas-home .gallery-heading { align-items:end; }
#sas-home .gallery-heading h2 { font-size:clamp(42px,5.7vw,79px); }
#sas-home .gallery-heading-copy { max-width:320px; color:#d9f5ff; }
#sas-home .gallery-heading-copy p { font-size:17px; line-height:1.7; }
#sas-home .gallery-heading-copy a { display:inline-flex; margin-top:15px; color:#fff; font-size:14px; }
#sas-home .photo-ribbon { grid-template-columns:1.3fr 1fr; grid-template-rows:255px 255px; gap:22px; margin:0 max(32px,calc((100vw - 1260px)/2)); align-items:stretch; }
#sas-home .photo-ribbon .gallery-moment, #sas-home .photo-ribbon .gallery-moment:nth-child(2), #sas-home .photo-ribbon .gallery-moment:nth-child(3) { position:relative; margin:0; transform:none; border:5px solid #fff; border-radius:24px; background:#083b56; box-shadow:0 6px 0 #002e42; overflow:hidden; }
#sas-home .photo-ribbon .gallery-moment:first-child { grid-row:1 / 3; border-radius:70px 24px 24px 24px; }
#sas-home .photo-ribbon img { display:block; height:100%; width:100%; object-fit:cover; }
#sas-home .photo-ribbon figcaption { position:absolute; inset:auto 0 0; padding:45px 24px 22px; background:linear-gradient(transparent,#032d45e8); color:#fff; }
#sas-home .photo-ribbon figcaption strong { display:block; font-size:25px; letter-spacing:-.025em; line-height:1.18; }
#sas-home .photo-ribbon figcaption span { display:block; margin-top:7px; font-size:13px; color:#e6f9fb; }
#sas-home .photo-ribbon .gallery-moment:first-child figcaption { padding:70px 28px 28px; }
#sas-home .photo-ribbon .gallery-moment:first-child figcaption strong { font-size:39px; max-width:300px; }
#sas-home .gallery-values { display:flex; justify-content:space-between; gap:20px; max-width:950px; margin:35px auto 0; padding:0 24px; color:#bcf0f5; font-size:16px; font-weight:700; }
#sas-home .gallery-values span { display:flex; align-items:center; gap:12px; }
#sas-home .gallery-values span::before { content:''; width:11px; height:11px; border:2px solid #79e0ec; border-radius:50%; }

/* One genuine parent quote, kept separate from the illustrative activity photos. */
#sas-home .sas-reviews { position:relative; grid-template-columns:.9fr 1.15fr; gap:58px; background:#f5fbfc; }
#sas-home .sas-review-label h2 { font-size:clamp(34px,3.7vw,53px); line-height:1.07; }
#sas-home .sas-review-label > p:not(.sas-eyebrow) { margin-top:22px; max-width:330px; color:#486775; font-size:16px; }
#sas-home .sas-review-label .sas-text-link { display:inline-flex; margin-top:21px; }
#sas-home .sas-quote { padding:37px 38px; background:#d8f5f9; border:0; border-radius:40px 40px 40px 8px; box-shadow:9px 9px 0 #b1e4ec; transform:none; }
#sas-home .sas-quote-mark { font-size:108px; margin-top:10px; height:57px; color:#007590; }
#sas-home .sas-quote blockquote { font-size:clamp(21px,2vw,27px); line-height:1.55; }
#sas-home .sas-quote blockquote strong { color:#00637c; font-weight:800; }
#sas-home .sas-review-avatar { background:#083b56; color:#fff; width:45px; height:45px; }
#sas-home .sas-quote figcaption { padding-top:21px; border-top:1px solid #89ceda; margin-top:25px; }

/* Numbered questions invite exploration; native details work without JavaScript. */
#sas-home .sas-faq { display:block; background:#e4f5f8; color:#083b56; }
#sas-home .sas-faq-intro { display:grid; grid-template-columns:1.2fr .8fr; gap:0 65px; margin-bottom:33px; }
#sas-home .sas-faq .sas-faq-intro .sas-eyebrow { grid-column:1 / -1; color:#006d85; }
#sas-home .sas-faq h2 { grid-row:2 / 4; font-size:clamp(34px,3.8vw,55px); line-height:1.08; }
#sas-home .sas-faq .sas-faq-intro > p:not(.sas-eyebrow) { color:#466575; align-self:end; max-width:310px; font-size:17px; }
#sas-home .sas-faq-intro .sas-text-link { justify-self:start; align-self:start; margin-top:16px; color:#006582; }
#sas-home .sas-questions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; align-items:start; counter-reset:question; }
#sas-home .sas-faq .sas-questions details { margin:0; background:#fff; border:1px solid #bbdfe7; border-radius:20px; padding:0 22px; box-shadow:0 4px 0 #cde8ee; counter-increment:question; }
#sas-home .sas-questions summary { display:flex; align-items:center; gap:14px; min-height:98px; padding:20px 0; font-size:16px; line-height:1.45; list-style:none; }
#sas-home .sas-questions summary::before { content:counter(question,decimal-leading-zero); flex-shrink:0; display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:#e2f6f8; color:#05708a; font-size:12px; font-weight:800; }
#sas-home .sas-questions summary > span { margin-left:auto; flex-shrink:0; font-size:23px; color:#00718b; }
#sas-home .sas-faq .sas-questions details[open] { border-color:#6bbdcc; }
#sas-home .sas-faq .sas-questions details[open] summary::before { background:#00718b; color:#fff; }
#sas-home .sas-faq details p { padding:0 0 23px; font-size:15px; line-height:1.7; }

/* A memorable shared footer, keeping contact and parent links easy to find. */
#sas-home .site-footer { position:relative; background:#083b56; padding-top:33px; }
#sas-home .footer-wave { display:block; position:absolute; top:-26px; left:0; width:100%; height:27px; fill:#083b56; pointer-events:none; }
#sas-home .footer-values { display:flex; align-items:center; gap:clamp(15px,3vw,50px); padding:18px 0 34px; margin-bottom:36px; border-bottom:1px solid #7bd9e42e; }
#sas-home .footer-values > span { font-family:'Arial Black',Arial,sans-serif; font-size:clamp(30px,4.6vw,66px); font-weight:900; line-height:1.15; letter-spacing:-.05em; color:#fff; }
#sas-home .footer-values > span:nth-child(2) { color:#a6eaf2; }
#sas-home .footer-values > span:nth-child(3) { color:#5bd2e3; }
#sas-home .site-footer .footer-values > a { display:grid; place-items:center; margin-left:auto; flex-shrink:0; width:68px; height:68px; min-height:0; padding:0; border-radius:50%; color:#083b56; background:#79e0ec; font-size:40px; transition:transform .2s; }
#sas-home .site-footer .footer-values > a:hover { color:#083b56; text-decoration:none; transform:rotate(12deg); }
#sas-home .footer-grid { grid-template-columns:1.7fr 1fr 1.15fr 1fr; gap:35px; }
#sas-home .site-footer .footer-logo { width:74px; height:74px; padding:3px; margin-bottom:17px; border-radius:50%; background:#fff; overflow:hidden; }
#sas-home .footer-logo img { display:block; width:100%; height:100%; border-radius:50%; }
#sas-home .site-footer .footer-heading { font-size:35px; margin-bottom:17px; }
#sas-home .site-footer .footer-heading span { color:#a6eaf2; }
#sas-home .site-footer h2 { margin-top:8px; margin-bottom:18px; color:#a6eaf2; }
#sas-home .site-footer a { color:#ebf7fa; }
#sas-home .site-footer a:hover { color:#8ae4ee; }
#sas-home .footer-intro > .footer-callback { max-width:290px; color:#bdd9e3; font-size:12px; line-height:1.7; margin:9px 0 0; }
#sas-home .footer-base { border-color:#7bd9e42e; }
#sas-home .footer-base p { color:#b6d2de; }

@media(max-width:1000px) {
 #sas-home .sas-location-list { grid-template-columns:1fr 1fr; }
 #sas-home .sas-location:nth-child(3) { padding-left:0; }
 #sas-home .sas-location:nth-child(3) .location-cover { display:none; }
 #sas-home .sas-location:first-child .location-cover { height:270px; }
 #sas-home .sas-location:nth-child(2) { padding-right:25px; }
 #sas-home .sas-location .location-doodle { right:-67px; }
 #sas-home .sas-location-main strong { font-size:27px; }
 #sas-home .gallery-heading-copy { max-width:270px; }
 #sas-home .sas-reviews { gap:35px; }
 #sas-home .sas-quote { padding:28px; }
 #sas-home .sas-questions summary { font-size:15px; gap:10px; }
 #sas-home .footer-grid { grid-template-columns:1.5fr 1fr; gap:33px; }
}
@media(max-width:760px) {
 #sas-home .hero-bottomline { font-size:clamp(16px,4.6vw,24px); gap:7vw; }
 #sas-home .sas-lesson-grid { grid-template-columns:1fr; }
 #sas-home .sas-card-photo { height:280px; }
 #sas-home .lesson-capacity { font-size:12px; top:17px; left:17px; padding:10px 13px; }
 #sas-home .premium-option { grid-template-columns:1fr; gap:17px; padding:25px; }
 #sas-home .premium-option h3 { font-size:27px; }
 #sas-home .premium-option h3 br { display:none; }
 #sas-home .premium-venues { flex-direction:column; align-items:flex-start; gap:3px; }
 #sas-home .sas-location-list { grid-template-columns:1fr; grid-template-rows:auto; gap:20px; }
 #sas-home .sas-location:first-child { grid-row:auto; }
 #sas-home .sas-location:first-child .location-cover { height:240px; }
 #sas-home .sas-location:nth-child(3) { padding-left:34%; }
 #sas-home .sas-location:nth-child(3) .location-cover { display:block; width:34%; }
 #sas-home .sas-location:nth-child(3) > span { margin-left:18px; margin-right:18px; }
 #sas-home .sas-location:nth-child(3) .sas-location-main strong { font-size:25px; }
 #sas-home .sas-help-line { font-size:14px; line-height:1.8; padding:13px 16px; }
 #sas-home .academy-gallery { padding:49px 0 37px; }
 #sas-home .gallery-heading-copy { max-width:none; margin-top:20px; }
 #sas-home .gallery-heading-copy p { font-size:16px; }
 #sas-home .photo-ribbon { margin:0 22px; grid-template-columns:1fr; grid-template-rows:380px 270px 270px; gap:18px; }
 #sas-home .photo-ribbon .gallery-moment:first-child { grid-row:auto; border-radius:50px 22px 22px 22px; }
 #sas-home .photo-ribbon .gallery-moment:first-child figcaption strong { font-size:31px; }
 #sas-home .photo-ribbon figcaption strong { font-size:25px; }
 #sas-home .gallery-values { flex-wrap:wrap; justify-content:center; gap:12px 22px; margin-top:26px; font-size:13px; }
 #sas-home .gallery-values span { gap:7px; }
 #sas-home .gallery-values span::before { width:8px; height:8px; }
 #sas-home .sas-reviews { grid-template-columns:1fr; gap:28px; }
 #sas-home .sas-review-label h2 { font-size:36px; }
 #sas-home .sas-quote { padding:27px; border-radius:28px 28px 28px 6px; box-shadow:6px 6px 0 #b1e4ec; }
 #sas-home .sas-quote blockquote { font-size:21px; }
 #sas-home .sas-faq-intro { display:block; margin-bottom:25px; }
 #sas-home .sas-faq h2 { font-size:36px; }
 #sas-home .sas-faq h2 br { display:block; }
 #sas-home .sas-faq .sas-faq-intro > p:not(.sas-eyebrow) { margin-top:18px; }
 #sas-home .sas-questions { grid-template-columns:1fr; gap:13px; }
 #sas-home .sas-faq .sas-questions details { padding:0 17px; }
 #sas-home .sas-questions summary { min-height:87px; font-size:15px; }
 #sas-home .sas-questions summary::before { width:32px; height:32px; }
 #sas-home .site-footer { padding-top:25px; }
 #sas-home .footer-values { gap:13px; flex-wrap:wrap; margin-bottom:29px; padding:13px 0 26px; }
 #sas-home .footer-values > span { font-size:clamp(26px,6vw,40px); }
 #sas-home .site-footer .footer-values > a { width:40px; height:40px; font-size:27px; }
 #sas-home .footer-grid { grid-template-columns:1fr 1fr; gap:28px 23px; }
 #sas-home .footer-intro { position:relative; grid-column:1 / -1; padding-right:8px; }
 #sas-home .site-footer .footer-logo { position:absolute; top:0; right:0; width:66px; height:66px; }
 #sas-home .site-footer .footer-heading { font-size:32px; }
 #sas-home .footer-intro > .footer-callback { max-width:310px; }
}
@media(prefers-reduced-motion:reduce) {
 #sas-home .site-footer .footer-values > a { transition:none; }
 #sas-home .site-footer .footer-values > a:hover { transform:none; }
}

/* Supplied Academy photography: gentle presentation adjustments, original pixels retained. */
#sas-home img[data-photo="academy-themed-lesson"] { filter:brightness(1.065) contrast(1.025) saturate(1.025); }
#sas-home img[data-photo="academy-small-group"],
#sas-home img[data-photo="academy-dress-up-team"],
#sas-home img[data-photo="academy-building-theme"] { filter:brightness(1.045) contrast(1.015); }
#sas-home .max-hero-photo { object-position:85% 45%; }
@media(min-width:1001px) {
 #sas-home .max-hero-scene { top:135px; bottom:66px; border-radius:30px 0 0 30px; }
}
#sas-home .max-hero-memory img { object-position:50% 18%; }
#sas-home .sas-card-photo[data-photo="academy-coaching"] { object-position:50% 42%; }
#sas-home .sas-card-photo[data-photo="academy-individual-support"] { object-position:50% 22%; }
#sas-home .sas-confidence-picture img { object-position:50% 25%; }
#sas-home img[data-photo="academy-poolside-confidence"] { object-position:50% 30%; }
#sas-home .intro-photo img[data-photo="academy-dress-up-team"] { object-fit:contain; background:#fff; }
#sas-home .intro-photo img[data-photo="academy-playful-team"] { object-position:50% 63%; }
#sas-home .support-photo img[data-photo="academy-swimming-practice"] { height:auto; max-width:330px; max-height:440px; object-fit:contain; border-radius:24px; }

/* Reserve the header's top margin inside the homepage and continue the ocean backdrop. */
#sas-home:has(.max-hero) { display:flow-root; background:#083b56; }
body:has(#sas-home .max-hero) { background:#083b56; }

/* A small Rookie introduction alongside the other homepage lesson options. */
#sas-home .home-rookie { display:grid; grid-template-columns:88px minmax(0,1fr) auto; gap:20px; align-items:center; padding:20px; margin-top:22px; border:1px solid #b9dfe6; border-radius:20px; background:#fff; }
#sas-home .home-rookie > img { display:block; width:88px; height:88px; object-fit:cover; border-radius:14px; }
#sas-home .home-rookie > div { min-width:0; }
#sas-home .home-rookie .sas-eyebrow { color:#08758b; font-size:.875rem; letter-spacing:.04em; margin:0 0 6px; }
#sas-home .home-rookie h3 { color:#083b56; font-size:1.35rem; line-height:1.2; margin:0 0 5px; }
#sas-home .home-rookie p:not(.sas-eyebrow) { color:#426477; font-size:.95rem; line-height:1.5; margin:0; }
#sas-home .home-rookie > a { color:#083b56; font-size:.95rem; white-space:normal; }
@media(max-width:850px) {
 #sas-home .home-rookie { grid-template-columns:72px minmax(0,1fr); gap:12px 16px; padding:18px; }
 #sas-home .home-rookie > img { width:72px; height:72px; align-self:start; }
 #sas-home .home-rookie > a { grid-column:2; }
}

/* Matching photo frames and level cards; only presentation crops change. */
#sas-home .monthly-themes .photo-ribbon { grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:auto; gap:23px; align-items:stretch; padding-bottom:22px; }
#sas-home .monthly-themes .photo-ribbon .gallery-moment { display:flex; flex-direction:column; border:6px solid #fff; border-radius:25px; background:#fff; }
#sas-home .monthly-themes .photo-ribbon .gallery-moment:first-child { grid-row:auto; border-radius:25px; }
#sas-home .monthly-themes .photo-ribbon .gallery-moment:nth-child(2) { margin-top:0; }
#sas-home .monthly-themes .photo-ribbon img { display:block; width:100%; height:auto; aspect-ratio:4 / 3; object-fit:cover; object-position:center 55%; border-radius:17px; }
#sas-home .monthly-themes .photo-ribbon figcaption,
#sas-home .monthly-themes .photo-ribbon .gallery-moment:first-child figcaption { position:static; padding:22px 17px 21px; background:#fff; color:#083b56; flex:1; }
#sas-home .monthly-themes .photo-ribbon figcaption strong,
#sas-home .monthly-themes .photo-ribbon .gallery-moment:first-child figcaption strong { max-width:none; font-size:25px; line-height:1.18; }
#sas-home .monthly-themes .photo-ribbon figcaption span { color:#496876; font-size:14px; line-height:1.6; margin-top:10px; }
@media(min-width:761px) {
 #sas-home .monthly-themes .photo-ribbon figcaption strong { min-height:2.36em; }
}
@media(max-width:1000px) {
 #sas-home .max-hero-scene { height:auto; aspect-ratio:1044 / 540; }
 #sas-home .max-hero-photo { object-position:50% 50%; }
 #sas-home .monthly-themes .photo-ribbon { gap:16px; }
 #sas-home .monthly-themes .photo-ribbon figcaption strong,
 #sas-home .monthly-themes .photo-ribbon .gallery-moment:first-child figcaption strong { font-size:21px; }
}
@media(max-width:760px) {
 #sas-home .max-hero-scene { height:auto; }
 #sas-home .monthly-themes .photo-ribbon { grid-template-columns:1fr; grid-template-rows:auto; padding:0; gap:23px; }
 #sas-home .monthly-themes .photo-ribbon .gallery-moment:nth-child(2) { margin-top:0; }
 #sas-home .monthly-themes .photo-ribbon img { aspect-ratio:4 / 3; max-height:none; }
 #sas-home .monthly-themes .photo-ribbon figcaption strong,
 #sas-home .monthly-themes .photo-ribbon .gallery-moment:first-child figcaption strong { font-size:25px; }
}

/* Venue information: consistent pictograms, explicit labels and photographs at natural proportions. */
#sas-home .venue-icon { display:block; width:25px; height:25px; flex-shrink:0; color:#006d87; }
#sas-home .pool-measurements { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; margin:25px 0 0; }
#sas-home .pool-measurements > div { border:1px solid #b6dce5; border-radius:18px; background:#edf8fa; padding:17px 20px; }
#sas-home .pool-measurements dt { display:flex; align-items:center; gap:10px; color:#466776; font-size:14px; line-height:1.5; }
#sas-home .pool-measurements dd { margin:9px 0 0; font-size:29px; color:#083b56; font-weight:800; letter-spacing:-.035em; line-height:1.25; }
#sas-home .pool-measurements.compact { margin-top:20px; gap:10px; }
#sas-home .pool-measurements.compact > div { padding:12px; border-radius:14px; }
#sas-home .pool-measurements.compact dt { gap:7px; font-size:12px; }
#sas-home .pool-measurements.compact .venue-icon { width:20px; height:20px; }
#sas-home .pool-measurements.compact dd { font-size:20px; margin-top:7px; }
#sas-home .venue-facilities { grid-column:1 / -1; min-width:0; padding:29px; background:#e7f5f8; border:1px solid #c6e4ea; border-radius:26px; }
#sas-home .facilities-heading { margin-bottom:21px; }
#sas-home .facilities-heading .sas-eyebrow { color:#006d87; font-size:12px; margin:0 0 8px; }
#sas-home .facilities-heading h3 { font-size:28px; letter-spacing:-.035em; line-height:1.15; }
#sas-home .facility-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; }
#sas-home .facility-item { min-width:0; padding:18px; background:#fff; border:1px solid #d0e7ec; border-radius:17px; }
#sas-home .facility-item dt { display:flex; align-items:center; gap:11px; font-size:14px; font-weight:700; line-height:1.4; color:#083b56; }
#sas-home .facility-item .venue-icon { box-sizing:content-box; padding:9px; border-radius:13px; background:#ddf2f6; }
#sas-home .facility-item dd { margin:13px 0 0; color:#34596c; font-size:16px; line-height:1.5; }
#sas-home .facility-item.limited, #sas-home .facility-item.unavailable { border-color:#b6ced8; }
#sas-home .facility-item.limited .venue-icon, #sas-home .facility-item.unavailable .venue-icon { background:#ecf0f3; color:#395b6e; }
#sas-home .facility-item.unavailable dd, #sas-home .facility-item.limited dd { font-weight:700; }
#sas-home .venue-access-notes { border-top:1px solid #b6d7e0; margin-top:22px; padding-top:6px; }
#sas-home .venue-access-notes p { font-size:16px; line-height:1.65; color:#34596c; margin:13px 0 0; }
#sas-home .venue-story { border:1px solid #c4dde5; border-radius:15px; padding:0 18px; margin:24px 0 0; }
#sas-home .venue-story summary { display:flex; align-items:center; justify-content:space-between; min-height:55px; gap:20px; padding:13px 0; font-size:15px; font-weight:700; color:#00657e; list-style:none; cursor:pointer; }
#sas-home .venue-story summary::-webkit-details-marker { display:none; }
#sas-home .venue-story summary > span { font-size:23px; font-weight:400; }
#sas-home .venue-story[open] summary > span { transform:rotate(45deg); }
#sas-home .venue-story p { margin:0 0 20px; font-size:16px; line-height:1.75; color:#466575; }
#sas-home .pool-detail { row-gap:31px; align-items:start; }
#sas-home .pool-detail .schedule { align-self:start; }
#sas-home .pool-photograph img { height:auto; max-height:none; width:100%; border-radius:25px; object-fit:contain; }
#sas-home .pool-photograph figcaption { position:static; display:block; margin-top:10px; padding:0; color:#527180; background:transparent; font-size:13px; }
#sas-home .venue-overview { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); align-items:start; gap:36px 48px; padding-top:49px; padding-bottom:43px; }
#sas-home .venue-overview-photo { margin:0; min-width:0; }
#sas-home .venue-overview-photo img { display:block; width:100%; height:auto; object-fit:contain; border:5px solid #fff; border-radius:30px; box-shadow:0 5px 0 #c5e8ee; }
#sas-home .venue-overview-photo figcaption { padding:13px 4px 0; color:#527180; font-size:14px; line-height:1.5; }
#sas-home .venue-overview-copy { min-width:0; }
#sas-home .venue-overview-copy h2 { font-size:clamp(30px,3vw,40px); letter-spacing:-.04em; line-height:1.1; }
#sas-home .venue-overview-copy > p:not(.sas-eyebrow) { font-size:16px; line-height:1.7; margin-top:20px; color:#466575; }
#sas-home .venue-overview-copy > .sas-button { margin-top:23px; }
#sas-home .venue-arrival { padding-top:44px; border-top:1px solid #d7e9ee; }
#sas-home .venue-arrival h2 { font-size:34px; }
#sas-home img[data-photo="pool-house-of-schivas"] { filter:brightness(1.025) contrast(1.015); }
#sas-home .venue-overview-photo img[data-photo="pool-house-of-schivas"],
#sas-home .pool-photograph img[data-photo="pool-house-of-schivas"] { max-width:851px; }
/* The newly identified Landmark photograph also appears in the homepage area card. */
#sas-home .sas-location:nth-child(2):has(.location-cover) { padding:25px 0 25px 38%; }
#sas-home .sas-location:nth-child(2) .location-cover { position:absolute; inset:0 auto 0 0; width:38%; height:100%; object-fit:cover; object-position:58% 50%; }
@media(max-width:1100px) {
 #sas-home .facility-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 #sas-home .venue-overview { gap:32px; }
 #sas-home .facility-item { padding:15px; }
}
@media(max-width:1000px) {
 #sas-home .pool-measurements dd { font-size:25px; }
 #sas-home .pool-measurements.compact { grid-template-columns:1fr; }
 #sas-home .pool-measurements.compact > div { display:flex; align-items:center; justify-content:space-between; gap:9px; }
 #sas-home .pool-measurements.compact dd { margin:0; font-size:18px; }
 #sas-home .sas-location:nth-child(2):has(.location-cover) { padding-left:0; }
 #sas-home .sas-location:nth-child(2) .location-cover { display:none; }
}
@media(max-width:760px) {
 #sas-home .venue-overview { grid-template-columns:1fr; gap:28px; padding-top:30px; padding-bottom:32px; }
 #sas-home .venue-overview-photo img { border-width:4px; border-radius:23px; }
 #sas-home .venue-overview-copy h2 { font-size:31px; }
 #sas-home .venue-facilities { padding:22px 17px; border-radius:22px; }
 #sas-home .facility-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
 #sas-home .facility-item { padding:15px 13px; }
 #sas-home .facility-item dt { flex-direction:column; align-items:flex-start; gap:10px; }
 #sas-home .facility-item dd { font-size:15px; line-height:1.55; }
 #sas-home .facilities-heading h3 { font-size:26px; }
 #sas-home .pool-measurements { gap:11px; }
 #sas-home .pool-measurements > div { padding:15px; }
 #sas-home .pool-measurements dd { font-size:25px; }
 #sas-home .pool-measurements.compact { grid-template-columns:repeat(2,minmax(0,1fr)); }
 #sas-home .pool-measurements.compact > div { display:block; }
 #sas-home .pool-measurements.compact dd { margin-top:7px; font-size:20px; }
 #sas-home .venue-arrival { padding-top:31px; }
 #sas-home .pool-detail { row-gap:25px; }
 #sas-home .sas-location:nth-child(2):has(.location-cover) { padding-left:34%; }
 #sas-home .sas-location:nth-child(2) .location-cover { display:block; width:34%; }
 #sas-home .sas-location:nth-child(2) > span { margin-left:18px; margin-right:18px; }
}
@media(max-width:360px) {
 #sas-home .facility-grid { grid-template-columns:1fr; }
 #sas-home .facility-item dt { flex-direction:row; align-items:center; }
 #sas-home .pool-measurements dd { font-size:23px; }
}

/* Complete addresses and the Academy's story share the existing ocean palette. */
#sas-home .venue-card-address { margin-top:12px; color:#4a6575; font-size:14px; font-style:normal; line-height:1.65; }
#sas-home .venue-postal-address { margin:17px 0; color:#34596c; font-style:normal; font-size:16px; line-height:1.7; }
#sas-home .venue-session-column { min-width:0; display:grid; gap:23px; align-self:start; }
#sas-home .venue-location-box { padding:24px; border:1px solid #b6dce5; border-radius:22px; background:#f4fbfc; }
#sas-home .venue-location-box h3 { font-size:24px; line-height:1.2; letter-spacing:-.035em; }
#sas-home .venue-location-box .sas-text-link { display:inline-flex; font-size:15px; }
#sas-home .about-story .feature-photo.portrait { min-height:590px; }
#sas-home .about-story .feature-photo.portrait:has([data-photo="academy-teacher-guidance"]) { min-height:0; align-self:center; border-radius:28px; }
#sas-home .about-story .feature-photo [data-photo="academy-teacher-guidance"] { position:static; width:100%; height:auto; object-fit:contain; display:block; }
#sas-home .about-story > div > p:not(.sas-eyebrow) { font-size:17px; line-height:1.75; color:#466575; }
#sas-home .about-proof { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; padding:23px 0; margin-top:26px; border-top:1px solid #bfdee7; border-bottom:1px solid #bfdee7; }
#sas-home .about-proof > div { display:flex; flex-direction:column; gap:7px; }
#sas-home .about-proof strong { color:#006d87; font-size:42px; font-weight:900; line-height:1.1; letter-spacing:-.045em; }
#sas-home .about-proof span { font-size:14px; color:#466575; }
#sas-home .about-pathways { background:#e5f6f9; }
#sas-home .about-pathways .section-heading h2, #sas-home .about-commitment .section-heading h2 { font-size:clamp(33px,3.6vw,50px); line-height:1.1; }
#sas-home .about-pathways .section-heading p, #sas-home .about-commitment .section-heading p { font-size:16px; line-height:1.7; }
#sas-home .about-pathway-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:19px; }
#sas-home .about-pathway-grid > a { display:flex; flex-direction:column; min-width:0; padding:26px 23px; border:1px solid #b8dfe7; border-radius:24px; background:#fff; box-shadow:0 5px 0 #c9e7ee; }
#sas-home .about-pathway-grid > a:hover { border-color:#5bb7c8; }
#sas-home .about-pathway-grid > .about-rookie-pathway { grid-column:1 / -1; display:grid; grid-template-columns:1fr auto; gap:10px 35px; padding:24px 28px; }
#sas-home .about-rookie-pathway .about-pathway-tag { grid-column:1 / -1; justify-self:start; }
#sas-home .about-pathway-grid .about-rookie-pathway h3 { margin-top:0; }
#sas-home .about-pathway-grid .about-rookie-pathway p { grid-column:1; margin:0; max-width:800px; }
#sas-home .about-rookie-pathway .about-pathway-action { grid-column:2; grid-row:2 / 4; align-self:center; border:0; padding:0; margin:0; }
#sas-home .about-pathway-tag { align-self:flex-start; display:inline-block; font-size:12px; font-weight:800; letter-spacing:.04em; padding:7px 10px; border-radius:10px; color:#006580; background:#ddf4f7; }
#sas-home .about-pathway-grid h3 { margin-top:20px; font-size:25px; letter-spacing:-.035em; line-height:1.2; }
#sas-home .about-pathway-grid p { font-size:16px; line-height:1.65; color:#486775; margin:15px 0 25px; }
#sas-home .about-pathway-action { display:flex; align-items:center; justify-content:space-between; gap:13px; font-size:14px; font-weight:700; color:#006580; margin-top:auto; padding-top:17px; border-top:1px solid #d5e8ed; line-height:1.5; }
#sas-home .about-pathway-action > span { font-size:23px; }
#sas-home .about-commitment-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:29px; }
#sas-home .about-commitment-grid article { display:flex; flex-direction:column; min-width:0; padding:30px 27px; background:#f2fafb; border:1px solid #c9e5eb; border-radius:25px; }
#sas-home .about-commitment-number { display:grid; place-items:center; width:43px; height:43px; border-radius:50%; color:#fff; background:#006d87; font-size:14px; font-weight:800; margin-bottom:22px; }
#sas-home .about-commitment-grid h3 { font-size:27px; line-height:1.2; letter-spacing:-.03em; }
#sas-home .about-commitment-grid p { margin:19px 0 24px; font-size:16px; line-height:1.75; color:#466575; }
#sas-home .about-commitment-grid .sas-text-link { margin-top:auto; font-size:14px; }
#sas-home .about-theme-note { margin-top:30px; display:flex; align-items:center; justify-content:space-between; gap:30px; padding:25px 28px; border-radius:23px; background:#d8f3f7; border:1px solid #acdce6; }
#sas-home .about-theme-note strong { color:#083b56; font-size:21px; line-height:1.4; }
#sas-home .about-theme-note p { font-size:16px; line-height:1.6; color:#466575; max-width:720px; margin-top:9px; }
#sas-home .about-theme-note .sas-text-link { flex-shrink:0; font-size:14px; }
#sas-home .sas-card-photo[data-photo="academy-first-lesson"] { object-position:50% 38%; }
#sas-home .person-card .team-portrait { object-position:50% 35%; }
#sas-home .person-card .team-portrait[data-photo="person-brier"] { object-position:50% 27%; }
#sas-home .leadership-profiles { padding-top:32px; }
@media(max-width:1100px) {
 #sas-home .about-pathway-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 #sas-home .about-commitment-grid { gap:20px; }
 #sas-home .about-commitment-grid article { padding:25px 21px; }
 #sas-home .about-commitment-grid h3 { font-size:24px; }
}
@media(max-width:760px) {
 #sas-home .about-pathway-grid > .about-rookie-pathway { display:flex; gap:0; }
 #sas-home .about-pathway-grid .about-rookie-pathway h3 { margin-top:20px; }
 #sas-home .about-pathway-grid .about-rookie-pathway p { margin:15px 0 20px; }
 #sas-home .about-rookie-pathway .about-pathway-action { align-self:stretch; }
 #sas-home .about-story .feature-photo.portrait { min-height:440px; }
 #sas-home .about-story > div > p:not(.sas-eyebrow) { font-size:16px; }
 #sas-home .about-proof strong { font-size:35px; }
 #sas-home .about-pathway-grid, #sas-home .about-commitment-grid { grid-template-columns:1fr; gap:21px; }
 #sas-home .about-pathways .section-heading h2, #sas-home .about-commitment .section-heading h2 { font-size:35px; }
 #sas-home .about-pathway-grid > a { padding:25px; }
 #sas-home .about-commitment-grid article { padding:27px 25px; }
 #sas-home .about-commitment-grid h3 { font-size:27px; }
 #sas-home .about-theme-note { display:block; padding:24px; }
 #sas-home .about-theme-note .sas-text-link { display:inline-flex; margin-top:18px; }
 #sas-home .person-card .team-portrait { height:auto; aspect-ratio:1; object-fit:cover; }
}

/* Character-led lesson pages. Scoped to these six routes only. */
#sas-home .lesson-page { --lesson-ocean:#083b56; --lesson-aqua:#28bfd5; --lesson-soft:#eaf8fa; color:var(--lesson-ocean); padding-bottom:28px; }
#sas-home .lesson-page :is(h1,h2,h3) { color:var(--lesson-ocean); }
#sas-home .lesson-page h1 { font-size:clamp(2.5rem,4.4vw,4.1rem); line-height:1.08; letter-spacing:-.055em; }
#sas-home .lesson-page h1 em { color:#07758b; font-style:normal; }
#sas-home .lesson-page h2 { font-size:clamp(1.9rem,3vw,2.8rem); line-height:1.12; letter-spacing:-.045em; }
#sas-home .lesson-page h3 { font-size:1.55rem; line-height:1.18; letter-spacing:-.035em; }
#sas-home .lesson-page p { font-size:1rem; }
#sas-home .lesson-page :is(a,summary) { -webkit-tap-highlight-color:transparent; }
#sas-home .lesson-container { width:min(100% - 64px,1260px); margin-inline:auto; }
#sas-home .lesson-page .lesson-kicker { color:#166780; font-size:.875rem; font-weight:800; letter-spacing:.105em; line-height:1.5; margin-bottom:13px; }
#sas-home .lesson-hero { position:relative; background:linear-gradient(120deg,#f1fbfc 20%,#e0f5f8); padding:24px 0 42px; border-bottom:1px solid #cae7ec; }
#sas-home .lesson-crumbs { display:flex; flex-wrap:wrap; align-items:center; gap:10px; font-size:.875rem; line-height:1.5; color:#426679; margin-bottom:24px; }
#sas-home .lesson-crumbs a { text-decoration:underline; text-underline-offset:4px; }
#sas-home .lesson-hero-grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); align-items:center; gap:48px; }
#sas-home .lesson-hero-copy { max-width:760px; }
#sas-home .lesson-page .lesson-lead { margin-top:18px; max-width:650px; color:#35596b; font-size:1.125rem; line-height:1.65; }
#sas-home .lesson-actions { display:flex; flex-wrap:wrap; align-items:center; gap:18px 26px; margin-top:24px; }
#sas-home .lesson-page .sas-button { font-size:1rem; padding:14px 24px; min-height:52px; border-radius:100px; background:var(--lesson-ocean); color:#fff; box-shadow:none; border:1px solid var(--lesson-ocean); }
#sas-home .lesson-page .sas-button:hover { background:#0b607b; border-color:#0b607b; transform:none; }
#sas-home .lesson-link { display:inline-flex; gap:16px; align-items:center; justify-content:space-between; min-height:44px; font-size:1rem; font-weight:700; line-height:1.5; text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px; }
#sas-home .lesson-link:hover { color:#08748a; }
#sas-home .lesson-link > span[aria-hidden] { font-size:1.3rem; text-decoration:none; }
#sas-home .lesson-hero-art { position:relative; min-width:0; padding:0 14px 10px 0; }
#sas-home .lesson-hero-picture { border-radius:80px 25px 80px 25px; overflow:hidden; border:7px solid #fff; box-shadow:0 10px 30px #083b5610; transform:rotate(2deg); }
#sas-home .lesson-hero-picture > img { width:100%; height:245px; object-fit:cover; object-position:center 40%; }
#sas-home .lesson-hero-picture > img[data-photo="academy-themed-lesson"] { object-position:center; }
#sas-home .lesson-hero-picture > img[data-photo="academy-first-lesson"] { object-position:center 38%; }
#sas-home .ducklings-hero .lesson-hero-picture > img { object-position:50% 12%; }
#sas-home .ducklings-hero .lesson-hero-picture > img[data-photo="academy-clear-swimmer"] { object-position:50% 46%; }
#sas-home .lesson-hero-picture > img[data-photo="academy-supervised-jump"] { height:auto; object-fit:contain; }
#sas-home .lesson-route-photo > img[data-photo="academy-clear-swimmer"] { object-position:50% 46%; }
#sas-home .lesson-character { object-fit:contain; height:auto; aspect-ratio:1; }
#sas-home .lesson-stage-monogram { display:grid; place-items:center; flex-shrink:0; width:205px; height:205px; font-family:'Arial Black',Arial,sans-serif; font-size:8rem; line-height:1; color:#0b607b; }
#sas-home .character-navigation .lesson-stage-monogram { width:104px; height:104px; font-size:4rem; }
#sas-home .guide-stage-name .lesson-stage-monogram { width:75px; height:75px; font-size:3rem; }
#sas-home .lesson-hero-art > .lesson-hero-mascot { position:absolute; left:-45px; bottom:-21px; width:160px; height:160px; filter:drop-shadow(0 8px 6px #083b5618); }
#sas-home .lesson-hero-art.character-only { display:flex; justify-content:center; }
#sas-home .lesson-hero-art.character-only > .lesson-hero-mascot { position:static; width:255px; height:255px; }
#sas-home .lesson-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding-block:25px; border-bottom:1px solid #cce1e8; gap:24px; }
#sas-home .lesson-facts > :is(div,a) { border-right:1px solid #cce1e8; padding-right:16px; }
#sas-home .lesson-facts > :last-child { border:0; padding-right:0; }
#sas-home .lesson-facts strong { display:block; font-size:1.125rem; line-height:1.4; letter-spacing:-.02em; }
#sas-home .lesson-facts > :is(div,a) > span { display:block; font-size:.875rem; line-height:1.5; margin-top:6px; color:#486a7a; }
#sas-home .lesson-facts > a:hover strong { text-decoration:underline; text-underline-offset:4px; }
#sas-home .lesson-section { padding-block:58px; }
#sas-home .lesson-section-head { max-width:760px; margin-bottom:28px; }
#sas-home .lesson-section-head > p:last-child:not(.lesson-kicker) { color:#426477; margin-top:17px; max-width:690px; }
#sas-home .lesson-route-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; }
#sas-home .lesson-route-card { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1fr); min-width:0; border-radius:28px; background:#f0f9fb; border:1px solid #d0e9ee; overflow:hidden; }
#sas-home .lesson-route-card:nth-child(3) { background:#edf4f7; }
#sas-home .lesson-route-card:nth-child(4) { background:#ecf8f8; }
#sas-home .lesson-route-photo { position:relative; min-height:320px; }
#sas-home .lesson-route-photo > img:not(.lesson-character) { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
#sas-home .lesson-route-photo > .lesson-character { position:absolute; right:-22px; bottom:5px; width:115px; height:115px; filter:drop-shadow(0 5px 6px #083b5620); }
#sas-home .lesson-route-photo [data-photo="supplied-adult-swimmer"] { object-position:48% center; }
#sas-home .lesson-route-copy { display:flex; flex-direction:column; padding:30px 28px 24px; min-width:0; }
#sas-home .lesson-route-copy h2 { font-size:1.8rem; line-height:1.13; }
#sas-home .lesson-route-copy > p:not(.lesson-kicker) { margin:16px 0 22px; color:#426477; }
#sas-home .lesson-route-copy .lesson-link { margin-top:auto; }
#sas-home .lesson-format-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
#sas-home .lesson-format-grid article { padding:32px; background:var(--lesson-soft); border-radius:26px; }
#sas-home .lesson-format-grid article:nth-child(2) { background:#083b56; color:#fff; }
#sas-home .lesson-format-grid article:nth-child(2) h3 { color:#fff; }
#sas-home .format-label { display:block; font-size:.875rem; font-weight:700; letter-spacing:.08em; margin-bottom:18px; }
#sas-home .lesson-format-grid p { margin:16px 0 20px; max-width:480px; }
#sas-home .lesson-format-grid article:nth-child(2) .lesson-link:hover { color:#75e0ee; }
#sas-home .premium-note { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:27px 0 0; }
#sas-home .premium-note p { margin-top:6px; max-width:850px; color:#426477; }
#sas-home .premium-note > a { flex-shrink:0; }
#sas-home .character-navigation { margin:30px 0 40px; }
#sas-home .character-navigation ol { padding:0; margin:0; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); list-style:none; gap:15px; }
#sas-home .character-navigation a { display:flex; flex-direction:column; align-items:center; text-align:center; padding:10px 8px 18px; border:1px solid #cee6ec; border-radius:22px; background:#f1fafb; height:100%; transition:background .2s,border-color .2s; }
#sas-home .character-navigation a:hover { background:#dbf5f8; border-color:#08778b; }
#sas-home .character-navigation img { width:104px; height:104px; }
#sas-home .character-navigation strong { font-size:1rem; }
#sas-home .character-navigation a > span { font-size:.875rem; color:#426477; margin-top:2px; }
#sas-home .swim-stage-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; align-items:start; }
#sas-home .swim-stage { border:1px solid #cce1e8; border-radius:28px; overflow:hidden; background:#fff; min-width:0; scroll-margin-top:140px; }
#sas-home .swim-stage:target { box-shadow:0 0 0 3px #28bfd5; }
#sas-home .swim-stage-art { position:relative; display:flex; justify-content:center; align-items:center; background:radial-gradient(ellipse at 50% 80%,#d5eff2 0%,#effafb 70%); padding:38px 18px 14px; }
#sas-home .swim-stage:nth-child(even) .swim-stage-art { background:radial-gradient(ellipse at 50% 80%,#c7e7ed 0%,#e7f5f8 70%); }
#sas-home .swim-stage-art img { width:205px; height:205px; }
#sas-home .stage-number { position:absolute; top:17px; left:18px; font-size:.875rem; font-weight:800; padding:5px 12px; border-radius:100px; background:#fff; border:1px solid #cce1e8; }
#sas-home .stage-category { position:absolute; bottom:14px; right:17px; color:#386275; font-size:.875rem; }
#sas-home .swim-stage-copy { padding:26px; }
#sas-home .swim-stage-copy h3 { font-size:1.65rem; }
#sas-home .swim-stage-copy .stage-intro { margin-top:8px; color:#146780; font-weight:700; }
#sas-home .swim-stage-copy .entry-label { font-size:.875rem; font-weight:700; margin:20px 0 5px; color:#426477; }
#sas-home .swim-stage-copy > p:not(.stage-intro):not(.entry-label) { color:#426477; }
#sas-home .swim-stage-copy > .lesson-link { margin-top:19px; width:100%; }
#sas-home .lesson-skills { margin-top:24px; border-top:1px solid #cce1e8; border-bottom:1px solid #cce1e8; scroll-margin-top:140px; }
#sas-home .lesson-skills > summary { display:flex; align-items:center; justify-content:space-between; padding:17px 0; gap:16px; font-size:1rem; font-weight:700; line-height:1.45; cursor:pointer; border:0; list-style:none; }
#sas-home .lesson-skills > summary::-webkit-details-marker { display:none; }
#sas-home .lesson-skills > summary::marker { content:''; }
#sas-home .lesson-skills > summary .lesson-toggle { display:grid; place-items:center; width:29px; height:29px; border:1px solid #bad8e0; border-radius:50%; flex:0 0 29px; font-size:1.3rem; line-height:1; font-weight:400; transition:transform .2s; }
#sas-home .lesson-skills[open] > summary .lesson-toggle { transform:rotate(45deg); }
#sas-home .lesson-skills > div { padding:0 0 19px; }
#sas-home .lesson-skills .check-list { margin-top:0; }
#sas-home .lesson-skills .check-list li { font-size:1rem; padding-block:8px; }
#sas-home .lesson-support-note { display:flex; justify-content:space-between; align-items:center; gap:32px; background:#e4f6f9; border-radius:25px; padding:32px; margin-top:38px; }
#sas-home .lesson-support-note h2 { font-size:1.7rem; }
#sas-home .lesson-support-note p { color:#426477; margin-top:11px; max-width:720px; }
#sas-home .lesson-support-note > a { flex-shrink:0; }
#sas-home .lesson-page .lesson-small-note { font-size:.875rem; color:#426477; margin-top:22px; line-height:1.7; }
#sas-home .lesson-story { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); align-items:center; gap:70px; }
#sas-home .lesson-story-picture { position:relative; border-radius:35px 90px 35px 35px; overflow:hidden; max-width:450px; }
#sas-home .lesson-story-picture > img { width:100%; height:510px; object-fit:cover; object-position:center 45%; }
#sas-home .lesson-photo-label { position:absolute; bottom:20px; left:20px; right:20px; background:#fff; padding:13px 17px; border-radius:14px; text-align:center; font-size:1rem; font-weight:800; }
#sas-home .duckling-moments { display:grid; gap:20px; }
#sas-home .duckling-moments > div { display:grid; grid-template-columns:42px 1fr; gap:5px 15px; }
#sas-home .duckling-moments span { grid-row:1/3; font-size:.875rem; font-weight:800; background:#dcf2f6; width:42px; height:42px; display:grid; place-items:center; border-radius:50%; }
#sas-home .duckling-moments h3 { font-size:1.25rem; }
#sas-home .duckling-moments p { color:#426477; }
#sas-home .lesson-band { background:#edf8fa; padding:48px 0; }
#sas-home .lesson-outcomes { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:55px; align-items:start; }
#sas-home .lesson-outcomes > div > .lesson-character { float:right; width:115px; height:115px; margin:0 0 12px 12px; }
#sas-home .lesson-outcomes .lesson-section-head { margin-bottom:0; }
#sas-home .ducklings-skills { background:#fff; border:1px solid #cce1e8; border-radius:22px; padding:4px 25px; margin-top:0; }
#sas-home .adult-hero { background:#e9f3f7; }
#sas-home .adult-hero .lesson-hero-picture { transform:none; border-radius:26px 75px 26px 26px; }
#sas-home .adult-hero .lesson-hero-picture > img { object-position:center 37%; }
#sas-home .adult-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:70px; align-items:start; }
#sas-home .adult-layout > div:first-child > p { color:#426477; margin-bottom:20px; }
#sas-home .adult-stages { display:grid; gap:20px; }
#sas-home .adult-stage { border:1px solid #cce1e8; border-radius:24px; padding:28px; background:#f4fafc; scroll-margin-top:140px; }
#sas-home .adult-stage-heading { display:grid; grid-template-columns:48px minmax(0,1fr); gap:20px; }
#sas-home .adult-step { display:grid; place-items:center; width:48px; height:48px; background:#083b56; color:#fff; border-radius:50%; font-size:1rem; font-weight:700; }
#sas-home .adult-stage-heading h3 { font-size:1.65rem; }
#sas-home .adult-stage-heading p { color:#426477; margin-top:10px; }
#sas-home .adult-stage .lesson-skills { border-bottom:0; }
#sas-home .adult-stage .lesson-skills > summary { padding-bottom:0; }
#sas-home .adult-stage .lesson-skills[open] > summary { padding-bottom:17px; }
#sas-home .coral-hero .lesson-hero-picture { transform:none; border-radius:75px 25px 75px 25px; }
#sas-home .coral-hero .lesson-hero-picture img { object-position:50% 43%; }
#sas-home .lesson-route-photo > img[data-photo="coral-reef-lesson"] { object-position:50% 43%; }
#sas-home .coral-opening { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); gap:65px; align-items:center; margin-bottom:10px; }
#sas-home .coral-opening > p { color:#426477; padding-left:26px; border-left:3px solid #28bfd5; }
#sas-home .coral-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
#sas-home .coral-options article { padding:35px; background:#edf8fa; border-radius:28px; border:1px solid #cce6ec; }
#sas-home .coral-options article:nth-child(2) { background:#dff3f6; }
#sas-home .coral-options h3 { font-size:1.8rem; }
#sas-home .coral-options p:not(.lesson-kicker) { margin:20px 0; color:#426477; }
#sas-home .coral-conversation { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:65px; align-items:center; }
#sas-home .conversation-prompts { background:#fff; border-radius:26px; padding:30px; }
#sas-home .conversation-prompts h3 { font-size:1.3rem; }
#sas-home .conversation-prompts ul { padding:18px 0 0 21px; color:#426477; }
#sas-home .conversation-prompts li { padding:7px 0; }
#sas-home .level-guide-intro { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr); gap:50px; align-items:start; }
#sas-home .level-guide-intro aside { border-left:3px solid #28bfd5; padding:8px 0 8px 24px; }
#sas-home .level-guide-intro aside strong { font-size:1.125rem; }
#sas-home .level-guide-intro aside p { margin:9px 0; color:#426477; }
#sas-home .lesson-guide-table { margin-top:28px; overflow:auto; border:1px solid #cce1e8; border-radius:24px; }
#sas-home .lesson-guide-table table { width:100%; }
#sas-home .lesson-guide-table caption { font-size:1.125rem; padding:22px 26px; }
#sas-home .lesson-guide-table th, #sas-home .lesson-guide-table td { vertical-align:middle; padding:18px 26px; font-size:1rem; }
#sas-home .lesson-guide-table th:first-child { width:30%; }
#sas-home .lesson-guide-table td:last-child { width:21%; }
#sas-home .guide-stage-name { display:flex; gap:16px; align-items:center; min-width:200px; }
#sas-home .guide-stage-name img { width:75px; height:75px; }
#sas-home .guide-stage-name > span > span { display:block; font-size:.875rem; font-weight:400; color:#426477; margin-top:3px; }
#sas-home .guide-stage-name:hover strong { text-decoration:underline; text-underline-offset:4px; }
#sas-home .lesson-guide-table tbody tr:nth-child(even) { background:#f6fbfc; }
@media (max-width:1100px) {
 #sas-home .lesson-hero-grid { gap:34px; }
 #sas-home .lesson-route-card { grid-template-columns:1fr; }
 #sas-home .lesson-route-photo { min-height:235px; }
 #sas-home .lesson-route-photo > img:not(.lesson-character) { object-position:center 38%; }
 #sas-home .lesson-route-photo > .lesson-character { right:18px; bottom:-22px; }
 #sas-home .lesson-route-copy { padding:29px; }
 #sas-home .swim-stage-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 #sas-home .character-navigation ol { gap:8px; }
 #sas-home .character-navigation img { width:88px; height:88px; }
 #sas-home .character-navigation .lesson-stage-monogram { width:88px; height:88px; }
 #sas-home .lesson-story, #sas-home .adult-layout, #sas-home .coral-opening, #sas-home .coral-conversation { gap:35px; }
 #sas-home .lesson-support-note { flex-wrap:wrap; }
}
@media (max-width:760px) {
 #sas-home .lesson-container { width:calc(100% - 40px); }
 #sas-home .lesson-hero { padding:19px 0 32px; }
 #sas-home .lesson-crumbs { margin-bottom:23px; }
 #sas-home .lesson-hero-grid { grid-template-columns:1fr; gap:24px; }
 #sas-home .lesson-page h1 { font-size:clamp(2.25rem,7.5vw,3.5rem); }
 #sas-home .lesson-page .lesson-lead { font-size:1.0625rem; }
 #sas-home .lesson-hero-art { max-width:390px; width:100%; justify-self:center; padding:0 8px; }
 #sas-home .lesson-hero-picture { border-width:5px; border-radius:45px 20px 45px 20px; transform:none; }
 #sas-home .lesson-hero-picture > img { height:150px; }
 #sas-home .ducklings-hero .lesson-hero-picture > img { height:220px; object-position:50% 0%; }
 #sas-home .lesson-hero-art > .lesson-hero-mascot { width:100px; height:100px; left:-3px; bottom:-11px; }
 #sas-home .lesson-hero-art.character-only { display:none; }
 #sas-home .lesson-section { padding-block:38px; }
 #sas-home .lesson-facts { grid-template-columns:1fr 1fr; gap:20px; padding-block:24px; }
 #sas-home .lesson-facts > :nth-child(2) { border:0; }
 #sas-home .lesson-facts strong { font-size:1rem; }
 #sas-home .character-navigation ol { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
 #sas-home .character-navigation { margin:24px 0 30px; }
 #sas-home .character-navigation a { padding-bottom:12px; }
 #sas-home .lesson-route-grid, #sas-home .lesson-format-grid, #sas-home .lesson-story, #sas-home .lesson-outcomes, #sas-home .adult-layout, #sas-home .coral-opening, #sas-home .coral-conversation, #sas-home .level-guide-intro { grid-template-columns:1fr; gap:26px; }
 #sas-home .lesson-route-card { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); }
 #sas-home .lesson-route-photo { min-height:280px; }
 #sas-home .lesson-route-photo > .lesson-character { right:-17px; bottom:0; width:95px; height:95px; }
 #sas-home .lesson-route-copy { padding:26px; }
 #sas-home .lesson-route-copy h2 { font-size:1.6rem; }
 #sas-home .premium-note { display:block; }
 #sas-home .premium-note > a { margin-top:14px; }
 #sas-home .swim-stage-grid { gap:18px; }
 #sas-home .swim-stage-copy { padding:22px; }
 #sas-home .swim-stage-art { padding-top:40px; }
 #sas-home .swim-stage-art img { width:160px; height:160px; }
 #sas-home .swim-stage-art .lesson-stage-monogram { width:160px; height:160px; font-size:6rem; }
 #sas-home .swim-stage-copy h3 { font-size:1.45rem; }
 #sas-home .lesson-support-note { padding:25px; gap:20px; margin-top:30px; }
 #sas-home .lesson-story-picture { width:100%; max-width:440px; margin-inline:auto; border-radius:28px 65px 28px 28px; }
 #sas-home .lesson-story-picture > img { height:380px; }
 #sas-home .lesson-band { padding-block:35px; }
 #sas-home .lesson-outcomes > div > .lesson-character { width:95px; height:95px; }
 #sas-home .coral-opening > p { padding-left:20px; margin-bottom:23px; }
 #sas-home .coral-options { gap:18px; }
 #sas-home .coral-options article { padding:25px; }
 #sas-home .coral-options h3 { font-size:1.55rem; }
 #sas-home .lesson-guide-table th, #sas-home .lesson-guide-table td { padding:16px; }
 #sas-home .lesson-guide-table table { min-width:660px; }
 #sas-home .lesson-guide-table caption { padding:18px; text-align:left; }
}
@media (max-width:520px) {
 #sas-home .lesson-route-card { grid-template-columns:1fr; }
 #sas-home .lesson-route-photo { min-height:230px; }
 #sas-home .lesson-route-photo > .lesson-character { right:12px; bottom:-19px; width:115px; height:115px; }
 #sas-home .swim-stage-grid, #sas-home .coral-options { grid-template-columns:1fr; }
 #sas-home .swim-stage-art img { width:190px; height:190px; }
 #sas-home .swim-stage-art .lesson-stage-monogram { width:190px; height:190px; }
 #sas-home .swim-stage-copy h3 { font-size:1.7rem; }
 #sas-home .lesson-page .sas-button { padding:13px 21px; }
 #sas-home .lesson-actions { gap:12px 22px; }
 #sas-home .character-navigation img { width:82px; height:82px; }
 #sas-home .character-navigation .lesson-stage-monogram { width:82px; height:82px; }
 #sas-home .character-navigation a { padding-inline:5px; }
 #sas-home .lesson-crumbs > span:last-child { flex-basis:100%; }
 #sas-home .lesson-crumbs > span:nth-last-child(2) { display:none; }
 #sas-home .adult-stage { padding:23px; }
 #sas-home .adult-stage-heading { grid-template-columns:40px minmax(0,1fr); gap:15px; }
 #sas-home .adult-step { width:40px; height:40px; }
}
@media (prefers-reduced-motion:reduce) {
 #sas-home .lesson-page *, #sas-home .lesson-page *::before, #sas-home .lesson-page *::after { animation:none; transition:none; scroll-behavior:auto; }
}

/* The page header shows the full photograph; the lesson card fills its image column. */
#sas-home .coral-hero .lesson-hero-picture > img[data-photo="academy-teacher-guidance"] { height:auto; aspect-ratio:2048 / 1367; object-fit:contain; }
#sas-home .lesson-route-photo > img[data-photo="academy-teacher-guidance"] { height:100%; aspect-ratio:auto; object-fit:cover; object-position:45% 50%; }

/* RLSS training, Rookie Lifeguard and partner recognition. */
#sas-home .standards-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
#sas-home .standards-card { display:grid; grid-template-columns:150px minmax(0,1fr); column-gap:25px; align-content:center; }
#sas-home .standards-card .standards-badge { grid-row:1/4; height:175px; margin:0; align-self:center; }
#sas-home .standards-card:first-child .standards-badge { padding:17px; }
#sas-home .standards-card h3 { font-size:1.45rem; }
#sas-home .leisure-partnership { display:flex; align-items:center; gap:35px; padding:27px 32px; margin-top:33px; border:1px solid #c5e0e8; border-radius:25px; background:#fff; color:#083b56; }
#sas-home .leisure-partnership > img { width:145px; height:145px; object-fit:contain; flex-shrink:0; }
#sas-home .leisure-partnership .partnership-kicker { font-size:.875rem; letter-spacing:.1em; color:#176780; font-weight:700; margin-bottom:10px; }
#sas-home .leisure-partnership h3 { font-size:clamp(1.5rem,2.6vw,2rem); line-height:1.2; }
#sas-home .leisure-partnership p:last-child { color:#486a7a; margin-top:13px; }
#sas-home .rookie-feature { display:grid; grid-template-columns:180px minmax(0,1fr); gap:28px; align-items:center; margin-top:24px; border:1px solid #bcdfe6; border-radius:24px; background:#fff; color:#083b56; overflow:hidden; padding:24px; }
#sas-home .rookie-feature > div { padding:0; }
#sas-home .rookie-feature h2 { color:#083b56; font-size:1.85rem; }
#sas-home .rookie-feature .lesson-kicker { color:#08758b; }
#sas-home .rookie-feature p:not(.lesson-kicker) { margin:12px 0 13px; max-width:700px; }
#sas-home .rookie-feature figure { margin:0; align-self:center; border-radius:16px; overflow:hidden; }
#sas-home .rookie-feature figure img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; object-position:center; border-radius:14px; }
#sas-home .rookie-feature figcaption { color:#486a7a; font-size:.8125rem; padding:8px 0 0; }
#sas-home .rookie-feature .sas-button { background:#5bd2e3; color:#083b56; border-color:#5bd2e3; }
#sas-home .rookie-feature .sas-button:hover { background:#a4edf5; }
#sas-home .rookie-location-strip { display:flex; align-items:center; justify-content:space-between; gap:25px; padding-block:23px; border-bottom:1px solid #c5e0e8; }
#sas-home .rookie-location-strip strong, #sas-home .rookie-location-strip div > span { display:block; }
#sas-home .rookie-location-strip div > span { color:#486a7a; font-size:.9375rem; margin-top:5px; }
#sas-home .rookie-overview { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:60px; align-items:center; }
#sas-home .rookie-overview figure { max-width:450px; }
#sas-home .rookie-overview figure img { border-radius:30px; width:100%; height:auto; }
#sas-home .rookie-overview figcaption { font-size:.8125rem; color:#486a7a; padding:11px 3px 0; }
#sas-home .rookie-source { margin-top:19px; font-size:.875rem; color:#486a7a; }
#sas-home .rookie-source a, #sas-home .rookie-practical a:not(.sas-button):not(.lesson-link) { text-decoration:underline; text-underline-offset:4px; }
#sas-home .rookie-award-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; }
#sas-home .rookie-award-grid article { padding:30px; background:#fff; border:1px solid #c5e0e8; border-radius:26px; }
#sas-home .rookie-award-number { display:grid; place-items:center; width:46px; height:46px; background:#083b56; color:#fff; border-radius:50%; font-size:1rem; font-weight:700; margin-bottom:23px; }
#sas-home .rookie-award-grid h3 { font-size:1.7rem; }
#sas-home .rookie-award-grid article p { margin-top:13px; color:#486a7a; }
#sas-home .rookie-award-grid article p:first-of-type { font-weight:700; font-size:.875rem; color:#176780; }
#sas-home .rookie-practical { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:55px; align-items:start; }
#sas-home .rookie-practical p { color:#486a7a; margin-top:19px; }
#sas-home .rookie-booking { padding:30px; background:#e4f6f9; border-radius:26px; }
#sas-home .rookie-booking h2 { font-size:1.8rem; }
#sas-home .rookie-booking address { font-size:1rem; font-style:normal; line-height:1.7; margin:20px 0; }
#sas-home .rookie-booking .lesson-link { display:flex; margin-top:15px; }
#sas-home .rookie-approval, #sas-home .training-approval { display:flex; gap:35px; align-items:center; padding:26px 32px; background:#edf8fa; border-radius:27px; margin-bottom:35px; }
#sas-home .rookie-approval > img, #sas-home .training-approval > img { width:160px; height:160px; object-fit:contain; flex-shrink:0; border-radius:18px; }
#sas-home .rookie-approval h2 { font-size:1.65rem; }
#sas-home .rookie-approval p { margin:12px 0; color:#486a7a; }
#sas-home .training-page { color:#083b56; }
#sas-home .training-page .page-intro { padding-bottom:35px; }
#sas-home .training-page .lesson-kicker { color:#176780; font-size:.875rem; font-weight:700; letter-spacing:.09em; margin-bottom:12px; }
#sas-home .training-page .sas-button { background:#083b56; color:#fff; box-shadow:none; border-radius:100px; }
#sas-home .training-page .sas-button:hover { background:#0b607b; }
#sas-home .training-approval { margin-top:35px; background:#fff; border:1px solid #c5e0e8; }
#sas-home .training-approval h2 { font-size:clamp(1.7rem,2.6vw,2.5rem); line-height:1.15; }
#sas-home .training-approval p:last-child { color:#486a7a; max-width:760px; margin-top:16px; }
#sas-home .training-jump { display:flex; flex-wrap:wrap; gap:14px; scroll-margin-top:140px; }
#sas-home .training-jump a { display:flex; align-items:center; gap:22px; padding:13px 19px; background:#e4f6f9; color:#083b56; border:1px solid #c5e0e8; border-radius:100px; font-size:1rem; font-weight:700; min-height:48px; }
#sas-home .training-jump a:hover { background:#cceef3; }
#sas-home .training-course-section { padding-block:48px 12px; }
#sas-home .training-course-section h2 { font-size:clamp(1.9rem,3vw,2.7rem); }
#sas-home .training-course-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px; }
#sas-home .training-course { display:flex; flex-direction:column; min-width:0; border:1px solid #c5e0e8; border-radius:25px; padding:30px; background:#f2fafb; }
#sas-home .training-course-code { align-self:flex-start; padding:5px 11px; border:1px solid #b8d8e1; border-radius:100px; font-size:.875rem; font-weight:700; color:#176780; margin-bottom:18px; }
#sas-home .training-course h3 { font-size:1.5rem; line-height:1.2; }
#sas-home .training-course > p:not(.training-course-code) { font-size:1rem; color:#486a7a; margin:17px 0 24px; }
#sas-home .training-course-links { display:flex; align-items:flex-start; flex-direction:column; gap:10px; margin-top:auto; padding-top:14px; border-top:1px solid #c5e0e8; }
#sas-home .training-source { font-size:.875rem; color:#486a7a; text-decoration:underline; text-underline-offset:4px; min-height:30px; }
#sas-home .training-enquiry { margin-top:48px; padding:47px 0; background:#e4f6f9; }
#sas-home .training-enquiry > div { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:55px; align-items:center; }
#sas-home .training-enquiry h2 { font-size:clamp(1.9rem,3vw,2.7rem); }
#sas-home .training-enquiry h3 { font-size:1.35rem; }
#sas-home .training-enquiry p { color:#486a7a; margin:18px 0 22px; }
#sas-home .training-enquiry aside { background:#fff; padding:30px; border-radius:24px; }
#sas-home .training-enquiry aside a { overflow-wrap:anywhere; text-decoration:underline; text-underline-offset:4px; }
#sas-home .training-rookie-link { display:flex; gap:30px; align-items:center; justify-content:space-between; padding-block:38px; }
#sas-home .training-rookie-link h2 { font-size:1.5rem; }
#sas-home .training-rookie-link p { color:#486a7a; margin-top:10px; }
#sas-home .training-rookie-link > a { flex-shrink:0; }
#sas-home .tag-list a { text-decoration:underline; text-underline-offset:3px; }
@media(min-width:1001px) and (max-width:1200px) {
 #sas-home .site-nav { gap:4px; }
 #sas-home .site-nav summary { padding-inline:7px; }
 #sas-home .site-header { gap:14px; }
}
@media(max-width:1100px) {
 #sas-home .standards-card { grid-template-columns:110px minmax(0,1fr); column-gap:18px; padding:23px; }
 #sas-home .standards-card .standards-badge { height:145px; }
 #sas-home .rookie-feature, #sas-home .rookie-overview, #sas-home .rookie-practical { gap:30px; }
}
@media(max-width:760px) {
 #sas-home .standards-grid { grid-template-columns:1fr; }
 #sas-home .standards-card { grid-template-columns:110px minmax(0,1fr); }
 #sas-home .standards-card h3 { font-size:1.3rem; }
 #sas-home .leisure-partnership { gap:20px; padding:23px; }
 #sas-home .leisure-partnership > img { width:100px; height:100px; }
 #sas-home .rookie-overview, #sas-home .rookie-practical, #sas-home .training-enquiry > div { grid-template-columns:1fr; gap:25px; }
 #sas-home .rookie-feature { grid-template-columns:100px minmax(0,1fr); gap:17px; padding:20px; align-items:start; }
 #sas-home .rookie-feature > div { display:contents; }
 #sas-home .rookie-feature figure { grid-column:1; grid-row:1 / 3; align-self:start; }
 #sas-home .rookie-feature figure img { aspect-ratio:1; }
 #sas-home .rookie-feature .lesson-kicker { margin:0; font-size:.875rem; align-self:end; }
 #sas-home .rookie-feature h2 { font-size:1.6rem; }
 #sas-home .rookie-feature p:not(.lesson-kicker), #sas-home .rookie-feature .sas-button { grid-column:1 / -1; margin:0; }
 #sas-home .rookie-feature figcaption { font-size:.75rem; }
 #sas-home .rookie-location-strip { align-items:flex-start; flex-direction:column; gap:12px; }
 #sas-home .rookie-overview figure { max-width:400px; margin-inline:auto; }
 #sas-home .rookie-award-grid { grid-template-columns:1fr; gap:18px; }
 #sas-home .rookie-award-grid article { padding:25px; }
 #sas-home .rookie-approval, #sas-home .training-approval { gap:20px; padding:23px; align-items:flex-start; }
 #sas-home .rookie-approval > img, #sas-home .training-approval > img { width:100px; height:100px; }
 #sas-home .rookie-approval h2 { font-size:1.35rem; }
 #sas-home .training-course-grid { grid-template-columns:1fr; gap:20px; }
 #sas-home .training-course { padding:25px; }
 #sas-home .training-course-section { padding-top:35px; }
 #sas-home .training-rookie-link { flex-direction:column; align-items:flex-start; gap:15px; }
}
@media(max-width:450px) {
 #sas-home .standards-card { grid-template-columns:1fr; }
 #sas-home .standards-card .standards-badge { grid-row:auto; width:160px; height:160px; margin-bottom:20px; justify-self:center; }
 #sas-home .leisure-partnership, #sas-home .rookie-approval, #sas-home .training-approval { flex-direction:column; }
}

/* Calm, practical welcome guides within the Academy's aqua/navy design. */
#sas-home .venue-welcome { max-width:1320px; margin:0 auto; padding:0 40px; }
#sas-home .welcome-jumps { display:flex; flex-wrap:wrap; gap:12px 25px; padding:25px 0; border-bottom:1px solid #c6e2e8; }
#sas-home .welcome-jumps a { min-height:44px; display:inline-flex; align-items:center; font-size:15px; }
#sas-home .welcome-video-section { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); align-items:center; gap:40px; padding:40px; margin:36px 0; background:#083b56; border-radius:30px; color:white; }
#sas-home .welcome-video-copy { min-width:0; }
#sas-home .welcome-video-copy .sas-eyebrow { color:#83e4ee; }
#sas-home .welcome-video-copy h2 { font-size:clamp(30px,3.7vw,49px); line-height:1.1; letter-spacing:-.045em; color:white; }
#sas-home .welcome-video-copy p { font-size:17px; line-height:1.7; margin:20px 0; color:#e2f5f8; }
#sas-home .welcome-video-copy a, #sas-home .welcome-video-player a { color:white; }
#sas-home .welcome-video-copy .welcome-video-duration { font-weight:700; font-size:15px; color:#83e4ee; }
#sas-home .welcome-video-copy .welcome-video-note { font-size:14px; margin-bottom:0; }
#sas-home .welcome-video-player { margin:0; min-width:0; text-align:center; }
#sas-home .welcome-video-player video { display:block; width:100%; height:auto; aspect-ratio:30 / 17; max-height:520px; object-fit:contain; border-radius:17px; background:#041f30; }
#sas-home .portrait .welcome-video-player video, #sas-home .welcome-video-player.portrait video { aspect-ratio:9 / 16; width:auto; max-width:100%; height:470px; margin:0 auto; }
#sas-home .welcome-video-player figcaption { font-size:14px; line-height:1.6; margin-top:15px; color:#e2f5f8; }
#sas-home .welcome-video-player a { text-decoration:underline; text-underline-offset:4px; }
#sas-home .welcome-video-player figcaption strong, #sas-home .welcome-video-player figcaption span { display:block; }
#sas-home .welcome-video-player figcaption strong { font-size:17px; color:white; margin-bottom:6px; }
#sas-home .welcome-video-section.multi-video { grid-template-columns:1fr; gap:30px; }
#sas-home .multi-video .welcome-video-copy h2 { font-size:clamp(30px,3vw,42px); }
#sas-home .welcome-video-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; align-items:start; }
#sas-home .welcome-video-list .welcome-video-player video { height:400px; width:auto; max-width:100%; margin:auto; }
#sas-home .welcome-video-pending { display:flex; align-items:center; justify-content:space-between; gap:30px; background:#e6f6f8; border:1px solid #b9e2e8; border-radius:25px; padding:30px; margin:36px 0; }
#sas-home .welcome-video-pending h2 { font-size:28px; line-height:1.2; letter-spacing:-.025em; }
#sas-home .welcome-video-pending p:not(.sas-eyebrow) { font-size:16px; line-height:1.7; max-width:680px; margin:12px 0 0; }
#sas-home .welcome-video-pending > a { flex-shrink:0; }
#sas-home .welcome-essentials { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid #bcdfe6; border-radius:22px; overflow:hidden; margin:0 0 44px; }
#sas-home .welcome-essentials > div { padding:23px; background:#f0fafb; }
#sas-home .welcome-essentials > div + div { border-left:1px solid #bcdfe6; }
#sas-home .welcome-essentials span { display:block; font-size:14px; color:#406578; line-height:1.5; margin-bottom:8px; }
#sas-home .welcome-essentials strong { display:block; font-size:19px; line-height:1.4; color:#083b56; }
#sas-home .welcome-content { display:grid; grid-template-columns:minmax(0,1fr) minmax(290px,.46fr); gap:60px; padding-bottom:48px; align-items:start; }
#sas-home .welcome-guide, #sas-home .welcome-sidebar { min-width:0; }
#sas-home .welcome-guide-section { padding:0 0 30px; margin-bottom:30px; border-bottom:1px solid #c6e2e8; }
#sas-home .welcome-guide h2 { font-size:clamp(27px,2.7vw,35px); line-height:1.2; letter-spacing:-.035em; margin-bottom:20px; }
#sas-home .welcome-list { list-style:disc; padding-left:22px; margin:18px 0 0; }
#sas-home .welcome-list li { padding-left:4px; margin:0 0 13px; color:#355b6e; font-size:17px; line-height:1.75; }
#sas-home .welcome-list li::marker { color:#00889d; }
#sas-home .welcome-sidebar .info-panel { padding:28px; background:#e6f6f8; }
#sas-home .welcome-sidebar h2 { font-size:27px; line-height:1.2; }
#sas-home .welcome-sidebar h3 { font-size:20px; margin:28px 0 12px; }
#sas-home .welcome-sidebar p { font-size:16px; line-height:1.7; margin:14px 0; }
#sas-home .welcome-sidebar a { overflow-wrap:anywhere; }
#sas-home .welcome-sidebar .venue-postal-address { margin:20px 0; }
#sas-home .welcome-kit { padding:27px; margin-top:23px; border:1px solid #c6e2e8; border-radius:23px; }
#sas-home .welcome-kit .welcome-list li { font-size:16px; }
#sas-home .welcome-document { padding-top:12px; }
#sas-home .welcome-faqs .accordion { background:#f1fafb; border:1px solid #c6e2e8; padding:0 22px; margin:12px 0; border-radius:17px; }
#sas-home .welcome-faqs .accordion summary { font-size:17px; }
#sas-home .welcome-faqs .accordion-body p { font-size:16px; line-height:1.75; }
#sas-home .welcome-pool-overview { border-top:1px solid #c6e2e8; }
#sas-home .venue-welcome [id], #sas-home .welcome-pool-overview { scroll-margin-top:150px; }
@media(max-width:1000px) {
 #sas-home .venue-welcome { padding:0 28px; }
 #sas-home .welcome-video-section { gap:25px; padding:28px; }
 #sas-home .welcome-content { gap:30px; grid-template-columns:minmax(0,1fr) minmax(250px,.55fr); }
 #sas-home .welcome-essentials { grid-template-columns:repeat(2,minmax(0,1fr)); }
 #sas-home .welcome-essentials > div:nth-child(3) { border-left:0; }
 #sas-home .welcome-essentials > div:nth-child(n+3) { border-top:1px solid #bcdfe6; }
 #sas-home .welcome-video-pending { flex-direction:column; align-items:flex-start; gap:20px; }
}
@media(max-width:760px) {
 #sas-home .welcome-video-list { grid-template-columns:1fr; gap:30px; }
 #sas-home .welcome-video-list .welcome-video-player video { width:100%; height:auto; max-width:280px; }
 #sas-home .venue-welcome { padding:0 20px; }
 #sas-home .welcome-jumps { gap:5px 19px; padding:16px 0; }
 #sas-home .welcome-video-section { grid-template-columns:1fr; padding:25px 20px; border-radius:24px; margin:25px 0; }
 #sas-home .welcome-video-copy h2 { font-size:34px; }
 #sas-home .portrait .welcome-video-player video, #sas-home .welcome-video-player.portrait video { height:auto; width:100%; max-width:280px; max-height:none; }
 #sas-home .welcome-video-pending { padding:25px; margin:25px 0; }
 #sas-home .welcome-video-pending h2 { font-size:25px; }
 #sas-home .welcome-essentials { margin-bottom:34px; }
 #sas-home .welcome-essentials > div { padding:17px; }
 #sas-home .welcome-essentials strong { font-size:17px; }
 #sas-home .welcome-content { grid-template-columns:1fr; gap:15px; }
 #sas-home .welcome-guide-section { padding-bottom:23px; margin-bottom:25px; }
 #sas-home .welcome-list li { font-size:16px; }
 #sas-home .welcome-sidebar { display:grid; grid-template-columns:1fr; gap:20px; }
 #sas-home .welcome-kit { margin:0; }
 #sas-home .venue-welcome [id], #sas-home .welcome-pool-overview { scroll-margin-top:120px; }
}
@media(max-width:360px) {
 #sas-home .welcome-essentials { grid-template-columns:1fr; }
 #sas-home .welcome-essentials > div + div { border-left:0; border-top:1px solid #bcdfe6; }
}

/* A practical parent hub with immediate routes to the portal and pool guides. */
#sas-home .parents-hub-intro { padding-bottom:32px; }
#sas-home .parents-hub-intro .breadcrumbs { margin-bottom:23px; }
#sas-home .parents-hub-intro h1 { font-size:clamp(36px,4.2vw,55px); }
#sas-home .parents-hub-intro .page-lead { margin-top:17px; font-size:18px; }
#sas-home .parents-hub { max-width:1324px; padding:30px 32px 60px; margin:auto; }
#sas-home .parent-start-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:26px; }
#sas-home .parent-start-grid h2 { font-size:clamp(28px,2.8vw,36px); letter-spacing:-.04em; line-height:1.13; }
#sas-home .parent-start-grid p:not(.sas-eyebrow) { font-size:16px; line-height:1.7; margin:17px 0 23px; }
#sas-home .parent-first-visit { display:grid; grid-template-columns:1.2fr .8fr; min-width:0; background:#e4f6f8; border:1px solid #bce3e9; border-radius:25px; overflow:hidden; }
#sas-home .parent-first-visit > div { padding:30px; }
#sas-home .parent-first-visit > figure { margin:0; min-width:0; height:100%; }
#sas-home .parent-first-visit img { width:100%; height:100%; object-fit:cover; object-position:50% 35%; }
#sas-home .parent-portal-panel { min-width:0; padding:32px; background:#083b56; color:white; border-radius:25px; }
#sas-home .parent-portal-panel .sas-eyebrow { color:#96e7f0; }
#sas-home .parent-portal-panel .sas-button { background:#8ae2ec; color:#083b56; border-color:#8ae2ec; box-shadow:none; }
#sas-home .parent-portal-panel .sas-button:hover { background:#b6f0f6; }
#sas-home .parent-portal-panel .parent-portal-help { margin-bottom:0; font-size:14px; }
#sas-home .parent-portal-help a { color:white; text-decoration:underline; text-underline-offset:4px; }
#sas-home .parent-pool-guides { display:grid; grid-template-columns:minmax(0,.65fr) minmax(0,1fr); align-items:start; gap:65px; padding:50px 0; margin-top:25px; border-top:1px solid #c7e0e7; scroll-margin-top:150px; }
#sas-home .parent-pool-heading h2 { font-size:clamp(30px,3vw,42px); line-height:1.12; letter-spacing:-.04em; }
#sas-home .parent-pool-heading > p:not(.sas-eyebrow) { font-size:17px; line-height:1.75; margin:20px 0; }
#sas-home .parent-pool-list { display:grid; gap:10px; }
#sas-home .parent-pool-link { display:flex; justify-content:space-between; align-items:center; gap:25px; background:#f1fafb; border:1px solid #c7e0e7; border-radius:16px; padding:18px 23px; }
#sas-home .parent-pool-link:hover { background:#e1f4f7; border-color:#77c9d4; }
#sas-home .parent-pool-link strong { display:block; font-size:18px; line-height:1.4; }
#sas-home .parent-pool-link small { display:block; font-size:14px; color:#486a7a; margin-top:5px; line-height:1.5; }
#sas-home .parent-pool-link > span:last-child { font-size:25px; }
#sas-home .parent-help-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:23px; }
#sas-home .parent-help-grid article { display:flex; flex-direction:column; min-width:0; padding:28px; border-radius:23px; border:1px solid #c7e0e7; background:white; }
#sas-home .parent-help-grid h2 { font-size:25px; line-height:1.2; letter-spacing:-.03em; }
#sas-home .parent-help-grid article > p:not(.sas-eyebrow) { font-size:16px; color:#486a7a; line-height:1.7; margin:16px 0 22px; }
#sas-home .parent-help-grid .sas-text-link { margin-top:auto; }
@media(max-width:1000px) {
 #sas-home .parent-start-grid { grid-template-columns:1fr 1fr; gap:22px; }
 #sas-home .parent-first-visit { grid-template-columns:1fr; }
 #sas-home .parent-first-visit > figure { display:none; }
 #sas-home .parent-pool-guides { gap:35px; }
 #sas-home .parent-help-grid { gap:15px; }
 #sas-home .parent-help-grid article { padding:23px; }
}
@media(max-width:760px) {
 #sas-home .parents-hub { padding:23px 20px 40px; }
 #sas-home .parent-start-grid, #sas-home .parent-pool-guides, #sas-home .parent-help-grid { grid-template-columns:1fr; gap:20px; }
 #sas-home .parent-first-visit > div, #sas-home .parent-portal-panel { padding:27px; }
 #sas-home .parent-pool-guides { padding:32px 0; margin-top:28px; }
 #sas-home .parent-help-grid article { padding:26px; }
 #sas-home .parent-pool-link { padding:17px 20px; }
 #sas-home .parent-pool-link strong { font-size:17px; }
 #sas-home .parent-pool-heading > p:not(.sas-eyebrow) { font-size:16px; }
}

/* One clear benefit, with the same rules wherever it appears. */
#sas-home .catch-up-highlight {
  display:grid; grid-template-columns:minmax(0,1fr) minmax(210px,260px); gap:32px; align-items:center;
  width:min(1160px,calc(100% - 48px)); max-width:100%; margin:28px auto; padding:28px 32px;
  border:1px solid #b9dfe6; border-radius:24px; background:#eaf8fa; color:#083b56;
}
#sas-home .catch-up-action { min-width:0; border-left:2px solid #9bdce5; padding-left:26px; }
#sas-home .catch-up-action p { margin:0 0 14px; }
#sas-home .catch-up-action strong { display:block; font-size:1.05rem; line-height:1.4; color:#083b56; }
#sas-home .catch-up-action p > span { display:block; font-size:.875rem; color:#426477; }
#sas-home .catch-up-action .sas-text-link { display:inline-flex; max-width:100%; gap:10px; white-space:normal; font-size:.9rem; color:#083b56; text-decoration:underline; text-underline-offset:4px; }
#sas-home .catch-up-copy { min-width:0; }
#sas-home .catch-up-copy .sas-eyebrow { color:#08758b; margin:0 0 10px; white-space:normal; overflow-wrap:anywhere; }
#sas-home .catch-up-copy h2 { color:#083b56; font-size:clamp(1.45rem,2.6vw,2rem); line-height:1.15; margin:0 0 12px; overflow-wrap:anywhere; }
#sas-home .catch-up-copy p:not(.sas-eyebrow) { max-width:65ch; margin:0; }
#sas-home .catch-up-copy .sas-text-link { color:#083b56; text-decoration:underline; text-underline-offset:4px; }
#sas-home .parents-hub > .catch-up-highlight { width:100%; }
#sas-home .catch-up-terms { scroll-margin-top:160px; }
#sas-home .catch-up-steps { list-style:none; counter-reset:catch-up-step; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:26px 0; padding:0; }
#sas-home .catch-up-steps li { counter-increment:catch-up-step; border:1px solid #b9dfe6; border-radius:18px; padding:20px; background:#eaf8fa; min-width:0; }
#sas-home .catch-up-steps li::before { content:'0' counter(catch-up-step); display:block; color:#08758b; font-weight:800; margin-bottom:14px; }
#sas-home .catch-up-steps strong, #sas-home .catch-up-steps span { display:block; }
#sas-home .catch-up-steps strong { margin-bottom:7px; }
#sas-home .catch-up-steps span { font-size:.9rem; }
#sas-home .catch-up-rules { padding-left:1.25rem; margin:20px 0 28px; }
#sas-home .catch-up-rules li { padding-left:4px; margin:0 0 12px; }
@media(max-width:900px) {
  #sas-home .catch-up-highlight { grid-template-columns:minmax(0,1fr); gap:18px; width:calc(100% - 32px); padding:24px; margin:24px auto; }
  #sas-home .catch-up-action { border-left:0; border-top:1px solid #b9dfe6; padding:18px 0 0; }
}
@media(max-width:650px) {
  #sas-home .catch-up-steps { grid-template-columns:minmax(0,1fr); }
}

/* Local search landing pages: useful detail first, with no keyword clutter. */
#sas-home .city-overview .section-heading { max-width:860px; }
#sas-home .city-overview .section-heading h2 { font-size:clamp(2.15rem,4vw,3.5rem); line-height:1.06; letter-spacing:-.045em; }
#sas-home .city-overview .section-heading > p:not(.sas-eyebrow) { max-width:74ch; margin-top:18px; color:#466575; font-size:1rem; line-height:1.75; }
#sas-home .city-key-points { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:38px 0 54px; }
#sas-home .city-key-points article { min-width:0; padding:27px; border:1px solid #b9dfe6; border-radius:22px; background:#fff; box-shadow:0 5px 0 #dceff3; }
#sas-home .city-key-points h3 { color:#083b56; font-size:1.25rem; line-height:1.25; letter-spacing:-.025em; }
#sas-home .city-key-points p { margin-top:13px; color:#466575; font-size:.94rem; line-height:1.68; }
#sas-home .city-price-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(250px,.72fr); gap:45px; align-items:end; padding-top:38px; border-top:1px solid #b9dfe6; }
#sas-home .city-price-heading h2 { font-size:clamp(1.85rem,3vw,2.65rem); line-height:1.1; letter-spacing:-.04em; }
#sas-home .city-price-heading > p { color:#466575; line-height:1.7; }
#sas-home .city-price-grid { margin-top:25px; grid-template-columns:repeat(3,minmax(0,1fr)); }
#sas-home .city-price-grid > div:only-child { grid-column:1 / 2; }
#sas-home .city-price-grid > div:nth-last-child(2):first-child,
#sas-home .city-price-grid > div:nth-last-child(2):first-child ~ div { grid-column:auto; }
#sas-home .city-local-line { max-width:78ch; color:#466575; }
#sas-home .city-link-row { display:flex; flex-wrap:wrap; gap:14px 30px; margin-top:25px; }
#sas-home .city-link-row .sas-text-link { color:#006d85; text-decoration:underline; text-underline-offset:4px; }
#sas-home .city-faq { padding-top:72px; padding-bottom:76px; }
#sas-home .city-faq > h2 { max-width:760px; margin-bottom:30px; font-size:clamp(2rem,3.5vw,3rem); line-height:1.08; letter-spacing:-.04em; }
#sas-home .city-faq .accordion { background:#f1fafb; border:1px solid #c6e2e8; padding:0 22px; margin:12px 0; border-radius:17px; }
#sas-home .city-faq .accordion summary { font-size:1.06rem; }
#sas-home .city-faq .accordion-body p { font-size:1rem; line-height:1.75; }
@media(max-width:900px) {
  #sas-home .city-key-points { grid-template-columns:1fr; gap:14px; margin-bottom:42px; }
  #sas-home .city-price-heading { grid-template-columns:1fr; gap:16px; }
  #sas-home .city-price-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:650px) {
  #sas-home .city-overview .section-heading h2 { font-size:2.15rem; }
  #sas-home .city-key-points article { padding:23px; }
  #sas-home .city-price-grid { grid-template-columns:1fr; }
  #sas-home .city-price-grid > div:only-child { grid-column:auto; }
  #sas-home .city-faq { padding-top:50px; padding-bottom:55px; }
  #sas-home .city-faq .accordion { padding:0 17px; }
}
