.ssh-section,
.ssh-section * { box-sizing: border-box; }
.ssh-section { --blue:#22b6e7; --blue-dark:#087eaf; --navy:#17304b; --lime:#b3d789; --yellow:#ffe34e; color:var(--navy); font-family:inherit; }
.ssh-section__inner { width:min(1160px, calc(100% - 48px)); margin:0 auto; padding:clamp(64px, 8vw, 104px) 0; }
.ssh-section__heading { max-width:720px; margin-bottom:38px; }
.ssh-section__heading--center { margin-right:auto; margin-left:auto; text-align:center; }
.ssh-section__heading--split { max-width:none; display:flex; align-items:end; justify-content:space-between; gap:30px; }
.ssh-section__heading h2 { margin:0; color:var(--navy); font-size:clamp(34px, 4.2vw, 54px); font-weight:850; letter-spacing:-.04em; line-height:1.04; }
.ssh-section__heading p:not(.ssh-section__kicker) { margin:16px 0 0; color:#53697d; font-size:18px; line-height:1.55; }
.ssh-section__kicker { margin:0 0 12px; color:var(--blue-dark); font-size:13px; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.ssh-card-link,.ssh-text-link { display:inline-flex; align-items:center; gap:8px; color:var(--blue-dark); font-weight:900; text-decoration:none; }
.ssh-card-link span,.ssh-text-link span { transition:transform .2s ease; }
a:hover .ssh-card-link span,.ssh-text-link:hover span { transform:translateX(4px); }
.ssh-director { background:#fff; }
.ssh-director .ssh-section__inner { padding:52px 0 34px; }
.ssh-director__card { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:26px; padding:25px 28px; border:2px solid #cce8f2; border-radius:20px; background:linear-gradient(110deg,#fff 0%,#f1fbfe 100%); box-shadow:0 16px 40px rgba(23,48,75,.09); }
.ssh-director__photo { width:100px; height:100px; display:block; object-fit:cover; object-position:top center; border:5px solid #fff; border-radius:50%; box-shadow:0 6px 18px rgba(23,48,75,.16); }
.ssh-director__summary .ssh-section__kicker { margin-bottom:6px; }
.ssh-director__summary h2 { margin:0 0 7px; color:var(--navy); font-size:clamp(26px,3vw,38px); line-height:1.05; letter-spacing:-.035em; }
.ssh-director__summary>p:last-child { max-width:720px; margin:0; color:#536a7d; line-height:1.5; }
.ssh-director__open { margin:0; white-space:nowrap; }
body.ssh-director-modal-open { overflow:hidden; }
.ssh-director-modal,.ssh-director-modal * { box-sizing:border-box; }
.ssh-director-modal { --blue:#22b6e7; --blue-dark:#087eaf; --navy:#17304b; --lime:#b3d789; --yellow:#ffe34e; position:fixed; inset:0; z-index:2147483001; display:grid; place-items:center; padding:22px; opacity:0; visibility:hidden; font-family:inherit; transition:opacity .25s ease,visibility .25s; }
.ssh-director-modal.is-open { opacity:1; visibility:visible; }
.ssh-director-modal__backdrop { position:absolute; inset:0; background:rgba(10,28,45,.76); backdrop-filter:blur(5px); }
.ssh-director-modal__dialog { position:relative; width:min(780px,100%); max-height:calc(100vh - 44px); overflow-y:auto; padding:38px; border:3px solid var(--blue); border-radius:23px; background:#fff; box-shadow:0 30px 90px rgba(0,0,0,.34); color:var(--navy); transform:translateY(25px) scale(.97); transition:transform .35s cubic-bezier(.18,.89,.32,1.18); }
.ssh-director-modal.is-open .ssh-director-modal__dialog { transform:translateY(0) scale(1); }
.ssh-director-modal__close { position:absolute; top:14px; right:14px; z-index:2; width:40px; height:40px; border:0; border-radius:50%; background:#eaf7fb; color:var(--navy); cursor:pointer; font:500 28px/1 inherit; }
.ssh-director-modal__header { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:20px; padding-right:45px; }
.ssh-director-modal__header img { width:112px; height:112px; object-fit:cover; object-position:top center; border:5px solid var(--yellow); border-radius:50%; }
.ssh-director-modal__header .ssh-section__kicker { margin-bottom:6px; }
.ssh-director-modal__header h2 { margin:0 0 7px; color:var(--navy); font-size:clamp(34px,5vw,48px); line-height:1; letter-spacing:-.04em; }
.ssh-director-modal__header p:last-child { margin:0; color:#536a7d; }
.ssh-director-modal__message { margin:28px 0; color:#536a7d; font-size:16px; line-height:1.62; }
.ssh-director-modal__message p { margin:0 0 16px; }
.ssh-director-modal__signature { padding-top:12px; color:var(--navy); }
.ssh-director-modal__close:focus-visible { outline:3px solid var(--yellow); outline-offset:3px; }
.ssh-paths { background:#fff; }
.ssh-paths__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.ssh-path-card { overflow:hidden; display:grid; grid-template-columns:45% 1fr; min-height:320px; border:1px solid #dce9ee; border-radius:22px; background:#fff; box-shadow:0 16px 45px rgba(23,48,75,.09); color:inherit; text-decoration:none; transition:transform .2s ease,box-shadow .2s ease; }
.ssh-path-card:hover { transform:translateY(-5px); box-shadow:0 22px 55px rgba(23,48,75,.14); }
.ssh-path-card__image img { width:100%; height:100%; display:block; object-fit:cover; }
.ssh-path-card__body { display:flex; flex-direction:column; justify-content:center; padding:32px; }
.ssh-path-card__eyebrow { color:#65798b; font-size:12px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.ssh-path-card h3 { margin:8px 0 12px; font-size:29px; letter-spacing:-.03em; line-height:1.05; }
.ssh-path-card p { margin:0 0 20px; color:#596e80; line-height:1.55; }
.ssh-children { background:#f1ead7; }
.ssh-program-grid { display:grid; gap:28px; }
.ssh-program-grid--two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ssh-program-card { overflow:hidden; border-radius:20px; background:#fff; box-shadow:0 14px 34px rgba(83,70,35,.09); }
.ssh-program-card__image { position:relative; height:290px; }
.ssh-program-card__image img { width:100%; height:100%; display:block; object-fit:cover; }
.ssh-program-card__body { padding:28px; }
.ssh-program-card__age { margin:0 0 5px!important; color:var(--blue-dark)!important; font-size:13px!important; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.ssh-program-card h3 { margin:0 0 12px; font-size:30px; letter-spacing:-.025em; }
.ssh-program-card__body>p { color:#5c6d79; line-height:1.55; }
.ssh-group-callout { position:relative; overflow:hidden; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:26px; margin-top:28px; padding:30px; border:3px solid var(--blue); border-radius:20px; background:linear-gradient(115deg,#fff9d8 0%,#fff 44%,#e4f8fd 100%); box-shadow:0 18px 45px rgba(8,126,175,.16); }
.ssh-group-callout.is-animated { opacity:0; transform:translateY(55px) scale(.96); }
.ssh-group-callout.is-animated.is-visible { opacity:1; transform:translateY(0) scale(1); transition:opacity .7s ease,transform .9s cubic-bezier(.18,.89,.32,1.28); }
.ssh-group-callout__number { width:84px; height:76px; display:flex; flex-direction:column; align-items:center; justify-content:center; border-radius:20px; background:var(--yellow); color:var(--navy); font-weight:950; line-height:.9; transform:rotate(-3deg); }
.ssh-group-callout__number strong { font-size:29px; }
.ssh-group-callout__number span { margin-top:6px; font-size:10px; letter-spacing:.04em; text-transform:uppercase; }
.ssh-group-callout.is-visible .ssh-group-callout__number { animation:sshBadgePop 1.1s .55s both; }
.ssh-group-callout .ssh-section__kicker { margin-bottom:6px; }
.ssh-group-callout h3 { margin:0 0 7px; font-size:27px; letter-spacing:-.025em; }
.ssh-group-callout__content>p:not(.ssh-section__kicker):not(.ssh-group-callout__note) { max-width:720px; margin:0; color:#5c6d79; line-height:1.55; }
.ssh-group-callout__content>p.ssh-group-callout__note { display:inline-flex; margin-top:9px; padding:4px 8px; border-radius:999px; background:rgba(23,48,75,.06); color:#526a7d; font-size:11px; font-weight:750; letter-spacing:.01em; line-height:1.35; }
.ssh-group-callout .ssh-section-button { margin:0; white-space:nowrap; }
.ssh-group-callout.is-visible .ssh-section-button { animation:sshButtonGlow 1.5s 1.1s 2; }
@keyframes sshBadgePop { 0%{transform:scale(.65) rotate(-12deg)} 55%{transform:scale(1.18) rotate(5deg)} 100%{transform:scale(1) rotate(-3deg)} }
.ssh-locations { background:#fff; }
.ssh-locations__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:22px; }
.ssh-location-card { overflow:hidden; display:flex; flex-direction:column; border:1px solid #dce9ee; border-radius:19px; background:#fff; box-shadow:0 12px 30px rgba(23,48,75,.08); }
.ssh-location-card__image { height:220px; overflow:hidden; display:grid; place-items:center; background:linear-gradient(135deg,var(--blue),#72d9f1); color:#fff; text-decoration:none; }
.ssh-location-card__image img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .3s ease; }
.ssh-location-card:hover .ssh-location-card__image img { transform:scale(1.035); }
.ssh-location-card__image>span { font-size:39px; font-weight:950; transform:rotate(-4deg); }
.ssh-location-card__body { flex:1; display:flex; flex-direction:column; padding:25px; }
.ssh-location-card h3 { margin:0 0 12px; font-size:25px; line-height:1.1; letter-spacing:-.02em; }
.ssh-location-card h3>a { color:var(--navy); text-decoration:none; }
.ssh-location-card h3>a:hover { color:var(--blue-dark); text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:4px; }
.ssh-location-card h3 .showplace { display:block; margin-top:6px; color:#64798b; font-size:15px; font-weight:700; letter-spacing:0; line-height:1.3; }
.ssh-location-card address { margin:0 0 22px; color:#5b6f80; font-style:normal; line-height:1.5; }
.ssh-location-card address span { display:block; }
.ssh-location-card__actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-top:auto; padding-top:10px; }
.ssh-location-card__directions { color:var(--blue-dark); font-size:14px; font-weight:900; text-decoration:none; }
.ssh-location-custom { position:relative; overflow:hidden; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:25px; margin-top:28px; padding:30px; border:3px solid var(--blue); border-radius:20px; background:linear-gradient(115deg,#e1f7fd 0%,#f7fdff 58%,#fff9d8 100%); box-shadow:0 18px 45px rgba(8,126,175,.16); }
.ssh-location-custom.is-animated { opacity:0; transform:translateY(55px) scale(.96); }
.ssh-location-custom.is-animated.is-visible { opacity:1; transform:translateY(0) scale(1); transition:opacity .7s ease,transform .9s cubic-bezier(.18,.89,.32,1.28); }
.ssh-location-custom__icon { width:66px; height:66px; display:grid; place-items:center; border-radius:18px; background:#fff; font-size:29px; box-shadow:0 8px 20px rgba(23,48,75,.08); }
.ssh-location-custom.is-visible .ssh-location-custom__icon { animation:sshPinPop 1.1s .55s both; }
.ssh-location-custom .ssh-section__kicker { margin-bottom:6px; }
.ssh-location-custom h3 { margin:0 0 7px; font-size:26px; letter-spacing:-.025em; }
.ssh-location-custom__content>p:last-child { max-width:710px; margin:0; color:#526a7d; line-height:1.55; }
.ssh-location-custom .ssh-section-button { margin:0; white-space:nowrap; }
.ssh-location-custom.is-visible .ssh-section-button { animation:sshButtonGlow 1.5s 1.1s 2; }
@keyframes sshPinPop { 0%{transform:scale(.65) rotate(-12deg)} 55%{transform:scale(1.18) rotate(5deg)} 100%{transform:scale(1) rotate(0)} }
@keyframes sshButtonGlow { 0%,100%{box-shadow:0 0 0 0 rgba(34,182,231,0)} 50%{box-shadow:0 0 0 8px rgba(34,182,231,.18),0 10px 24px rgba(8,126,175,.18)} }
.ssh-remote-nudge { position:fixed; right:24px; bottom:96px; z-index:9998; width:min(390px,calc(100vw - 32px)); padding:25px 54px 24px 25px; border:2px solid rgba(8,126,175,.18); border-radius:19px; background:#fff; box-shadow:0 24px 70px rgba(23,48,75,.24); color:var(--navy); opacity:0; visibility:hidden; transform:translateY(35px) scale(.97); transition:opacity .8s ease,transform .8s ease,visibility .8s; }
.ssh-remote-nudge.is-visible { opacity:1; visibility:visible; transform:translateY(0) scale(1); }
.ssh-remote-nudge__close { position:absolute; top:10px; right:12px; width:34px; height:34px; border:0; border-radius:50%; background:#edf7fa; color:var(--navy); cursor:pointer; font:500 24px/1 inherit; }
.ssh-remote-nudge__kicker { margin:0 0 5px!important; color:var(--blue-dark)!important; font-size:11px!important; font-weight:900!important; letter-spacing:.09em; text-transform:uppercase; }
.ssh-remote-nudge h3 { margin:0 0 8px; font-size:24px; line-height:1.08; letter-spacing:-.025em; }
.ssh-remote-nudge>p:not(.ssh-remote-nudge__kicker) { margin:0 0 16px; color:#536a7d; line-height:1.5; }
.ssh-remote-nudge>a { display:inline-flex; align-items:center; gap:8px; color:var(--blue-dark); font-weight:900; text-decoration:none; }
body.ssh-modal-open { overflow:hidden; }
.ssh-form-modal,.ssh-form-modal * { box-sizing:border-box; }
.ssh-form-modal { --blue:#22b6e7; --blue-dark:#087eaf; --navy:#17304b; --lime:#b3d789; --yellow:#ffe34e; position:fixed; inset:0; z-index:100000; display:grid; place-items:center; padding:22px; opacity:0; visibility:hidden; transition:opacity .25s ease,visibility .25s; font-family:inherit; }
.ssh-form-modal.is-open { opacity:1; visibility:visible; }
.ssh-form-modal.ssh-form-inline { position:relative; inset:auto; z-index:auto; display:block; width:100%; padding:clamp(14px,3vw,36px); overflow:visible; opacity:1; visibility:visible; }
.ssh-form-modal.ssh-form-inline .ssh-form-modal__dialog { width:min(1180px,100%); max-height:none; overflow:visible; margin:0 auto; padding:clamp(24px,4vw,48px); transform:none!important; }
.ssh-form-modal.ssh-form-inline .ssh-form-modal__header { max-width:760px; }
.ssh-form-modal__backdrop { position:absolute; inset:0; background:rgba(10,28,45,.72); backdrop-filter:blur(5px); }
.ssh-form-modal__dialog { position:relative; width:min(850px,100%); max-height:calc(100vh - 44px); overflow:auto; padding:36px; border:3px solid var(--blue); border-radius:23px; background:#fff; box-shadow:0 30px 90px rgba(0,0,0,.3); color:var(--navy); transform:translateY(28px) scale(.97); transition:transform .35s cubic-bezier(.18,.89,.32,1.18); }
.ssh-form-modal.is-open .ssh-form-modal__dialog { transform:translateY(0) scale(1); }
.ssh-form-modal__close { position:absolute; top:14px; right:14px; z-index:2; width:40px; height:40px; border:0; border-radius:50%; background:#eaf7fb; color:var(--navy); cursor:pointer; font:500 28px/1 inherit; }
.ssh-form-modal__header { max-width:680px; margin-bottom:26px; padding-right:35px; }
.ssh-form-modal__header .ssh-section__kicker { margin:0 0 8px; color:var(--blue-dark); font-size:12px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.ssh-form-modal__header h2 { margin:0; color:var(--navy); font-size:clamp(32px,5vw,48px); line-height:1; letter-spacing:-.04em; }
.ssh-form-modal__header>p:last-child { margin:13px 0 0; color:#566d80; font-size:17px; line-height:1.5; }
.ssh-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.ssh-form-grid label { min-width:0; display:flex; flex-direction:column; gap:7px; color:var(--navy); font-size:13px; font-weight:850; }
.ssh-form-grid input,.ssh-form-grid select,.ssh-form-grid textarea { width:100%; min-height:48px; padding:11px 13px; border:2px solid #cedde4; border-radius:9px; background:#fff; color:var(--navy); font:500 16px/1.3 inherit; outline:0; transition:border-color .2s ease,box-shadow .2s ease; }
.ssh-form-grid textarea { resize:vertical; }
.ssh-form-grid input:focus,.ssh-form-grid select:focus,.ssh-form-grid textarea:focus { border-color:var(--blue-dark); box-shadow:0 0 0 4px rgba(34,182,231,.14); }
.ssh-form-grid small { color:#6c8192; font-size:11px; font-weight:600; }
.ssh-city-field { position:relative; }
.ssh-city-input-wrap { position:relative; display:block; min-width:0; }
.ssh-city-input-wrap input { padding-right:44px; }
.ssh-city-validation { position:absolute; top:50%; right:13px; width:24px; height:24px; display:grid; place-items:center; border-radius:50%; transform:translateY(-50%); font-size:14px; font-weight:950; }
.ssh-city-validation.is-valid { background:#b3d789; color:#17304b; }
.ssh-city-validation.is-invalid { background:#fee4e2; color:#b42318; }
.ssh-form-grid input.is-valid { border-color:#6ea439; box-shadow:0 0 0 3px rgba(179,215,137,.22); }
.ssh-form-grid input.is-invalid { border-color:#d92d20; box-shadow:0 0 0 3px rgba(217,45,32,.1); }
.ssh-city-options { position:absolute; z-index:50; top:calc(100% + 4px); left:0; right:0; max-height:340px; overflow-y:auto; overscroll-behavior:contain; margin:0; padding:6px; border:2px solid #087eaf; border-radius:10px; background:#fff; box-shadow:0 15px 35px rgba(23,48,75,.18); list-style:none; scrollbar-width:auto; scrollbar-color:#087eaf #eaf7fb; }
.ssh-city-options[hidden] { display:none!important; }
.ssh-city-options li { padding:10px 12px; border-radius:7px; color:#17304b; cursor:pointer; font-size:14px; font-weight:750; }
.ssh-city-options li:hover,.ssh-city-options li.is-active { background:#e5f8fd; color:#087eaf; }
.ssh-form-grid__wide { grid-column:1/-1; }
.ssh-venue-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; padding:18px; border:2px solid #ccebf5; border-radius:13px; background:#f3fbfe; }
.ssh-venue-details[hidden] { display:none!important; }
.ssh-field-error { color:#b42318; font-size:12px; line-height:1.3; }
.ssh-form-consent { position:relative; display:flex; align-items:flex-start; gap:10px; margin:20px 0; color:#344f65; font-size:13px; font-weight:800; cursor:pointer; }
.ssh-form-consent input { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; opacity:0!important; }
.ssh-form-consent__box { flex:0 0 22px; width:22px; height:22px; display:grid; place-items:center; border:2px solid #8ba8b8; border-radius:5px; background:#fff; box-shadow:0 1px 2px rgba(23,48,75,.1); }
.ssh-form-consent input:checked+.ssh-form-consent__box { border-color:var(--blue-dark); background:var(--blue-dark); }
.ssh-form-consent input:checked+.ssh-form-consent__box:after { content:"\f00c"; font-family:"Font Awesome 6 Free"; font-weight:900; color:#fff; font-size:15px; font-weight:950; line-height:1; }
.ssh-form-consent input:focus-visible+.ssh-form-consent__box { outline:3px solid var(--yellow); outline-offset:3px; }
.ssh-form-honeypot { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; opacity:0!important; }
.ssh-form-status { min-height:20px; margin-bottom:8px; color:#b42318; font-size:13px; font-weight:800; }
.ssh-form-submit { min-height:54px; display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:14px 22px; border:2px solid var(--lime); border-radius:5px; background:var(--lime); color:var(--navy); cursor:pointer; font:900 15px/1 inherit; letter-spacing:.02em; text-transform:uppercase; box-shadow:0 11px 24px rgba(99,134,55,.2); }
.ssh-form-submit:disabled { cursor:wait; opacity:.7; }
.ssh-form-success { padding:55px 20px; text-align:center; }
.ssh-form-success>div { width:70px; height:70px; display:grid; place-items:center; margin:0 auto 20px; border-radius:50%; background:var(--lime); color:var(--navy); font-size:34px; font-weight:900; }
.ssh-form-success h2 { margin:0 0 10px; font-size:38px; letter-spacing:-.035em; }
.ssh-form-success p { margin:0 auto 22px; max-width:540px; color:#566d80; font-size:17px; line-height:1.5; }
.ssh-form-success button { padding:12px 20px; border:0; border-radius:5px; background:var(--navy); color:#fff; cursor:pointer; font-weight:900; }
.ssh-section-button { display:inline-flex; align-items:center; gap:9px; margin-top:10px; padding:13px 18px; border:2px solid var(--lime); border-radius:4px; background:var(--lime); color:var(--navy)!important; font-size:14px; font-weight:900; letter-spacing:.02em; text-decoration:none!important; text-transform:uppercase; transition:transform .2s ease,background .2s ease; }
.ssh-section-button:hover { transform:translateY(-2px); background:#a1c873; }
.ssh-adults { background:#f5fbfd; }
.ssh-adults__photo { height:clamp(220px,28vw,340px); overflow:hidden; margin:0 0 28px; border:9px solid #fff; border-radius:22px; background:#dff5fb; box-shadow:0 14px 34px rgba(23,48,75,.09); }
.ssh-adults__photo img { width:100%; height:100%; display:block; object-fit:cover; object-position:center; }
.ssh-level-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.ssh-level-card { position:relative; display:flex; flex-direction:column; min-height:360px; padding:30px; border:1px solid #d9e9ef; border-radius:18px; background:#fff; box-shadow:0 12px 28px rgba(23,48,75,.07); }
.ssh-level-card__top { display:flex; align-items:center; justify-content:space-between; margin-bottom:28px; }
.ssh-level-card__number { width:54px; height:54px; display:grid; place-items:center; border-radius:16px; background:var(--blue); color:#fff; font-size:25px; font-weight:900; box-shadow:7px 7px 0 var(--yellow); }
.ssh-level-card__level { padding:7px 10px; border-radius:999px; background:#e5f8fd; color:var(--blue-dark); font-size:12px; font-weight:900; }
.ssh-level-card h3 { margin:0 0 13px; font-size:25px; line-height:1.12; }
.ssh-level-card>p { margin:0 0 24px; color:#5b6f80; line-height:1.6; }
.ssh-level-card__actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:auto; }
.ssh-level-card__actions a { display:inline-flex; gap:7px; color:var(--blue-dark); font-weight:900; text-decoration:none; }
.ssh-beyond { background:#fff; }
.ssh-beyond__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.ssh-beyond-card { overflow:hidden; display:flex; flex-direction:column; border:1px solid #dce9ee; border-top:5px solid var(--blue); border-radius:18px; background:#fff; color:inherit; text-decoration:none; box-shadow:0 10px 28px rgba(23,48,75,.07); transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.ssh-beyond-card--adults { border-top-color:var(--lime); }
.ssh-beyond-card--business { border-top-color:var(--navy); }
.ssh-beyond-card:hover { transform:translateY(-6px); box-shadow:0 20px 42px rgba(23,48,75,.15); }
.ssh-beyond-card__image { position:relative; overflow:hidden; }
.ssh-beyond-card__image img { width:100%; height:220px; display:block; object-fit:cover; transition:transform .35s ease; }
.ssh-beyond-card:hover .ssh-beyond-card__image img { transform:scale(1.035); }
.ssh-beyond-card__badge { position:absolute; top:15px; left:15px; display:inline-flex; align-items:center; padding:7px 11px; border-radius:999px; background:#ffdf4d; color:#17304b; font-size:11px; font-weight:950; letter-spacing:.06em; text-transform:uppercase; box-shadow:0 5px 14px rgba(23,48,75,.18); }
.ssh-beyond-card__body { flex:1; display:flex; flex-direction:column; align-items:flex-start; padding:24px; }
.ssh-beyond-card__type { display:inline-flex; margin:0 0 11px; padding:6px 9px; border-radius:999px; background:#e5f8fd; color:#005a7d; font-size:11px; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }
.ssh-beyond-card--adults .ssh-beyond-card__type { background:#edf7e4; color:#456b22; }
.ssh-beyond-card--business .ssh-beyond-card__type { background:#e8eef5; color:#17304b; }
.ssh-beyond-card h3 { margin:0 0 10px; font-size:25px; line-height:1.1; }
.ssh-beyond-card__availability { display:flex; align-items:flex-start; gap:7px; margin:0 0 12px; color:#087eaf; font-size:12px; font-weight:900; line-height:1.4; }
.ssh-beyond-card__availability>span { color:#b3d789; font-size:10px; line-height:1.65; }
.ssh-beyond-card p { margin:0 0 21px; color:#5b6f80; line-height:1.5; }
.ssh-beyond-card__cta { margin-top:auto; display:inline-flex; align-items:center; gap:8px; padding:10px 13px; border-radius:9px; background:#005a7d; color:#fff; font-size:13px; font-weight:900; transition:background .2s ease,transform .2s ease; }
.ssh-beyond-card--adults .ssh-beyond-card__cta { background:#639231; }
.ssh-beyond-card--business .ssh-beyond-card__cta { background:#17304b; }
.ssh-beyond-card:hover .ssh-beyond-card__cta { transform:translateX(2px); background:#00a8e6; }
.ssh-trial { overflow:hidden; background:#17304b; }
.ssh-trial__panel { position:relative; overflow:hidden; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); border:1px solid rgba(255,255,255,.16); border-radius:26px; background:linear-gradient(135deg,#005a7d 0%,#17304b 60%,#10253a 100%); box-shadow:0 24px 60px rgba(3,24,42,.28); }
.ssh-trial__panel:after { content:''; position:absolute; right:-90px; top:-100px; width:250px; height:250px; border:42px solid rgba(255,227,78,.16); border-radius:50%; pointer-events:none; }
.ssh-trial__intro { position:relative; z-index:1; padding:clamp(34px,5vw,58px); color:#fff; }
.ssh-trial .ssh-section__kicker { color:#ffe34e; }
.ssh-trial h2 { margin:0 0 18px; color:#fff; font-size:clamp(40px,5vw,62px); line-height:1; letter-spacing:-.045em; }
.ssh-trial__price { width:max-content; display:flex; align-items:center; gap:11px; margin:0 0 20px; padding:8px 14px 8px 10px; border-radius:14px; background:#ffe34e; color:#17304b; transform:rotate(-1deg); box-shadow:0 8px 20px rgba(0,0,0,.18); }
.ssh-trial__price strong { font-size:31px; line-height:1; }
.ssh-trial__price span { font-size:12px; font-weight:950; letter-spacing:.06em; text-transform:uppercase; }
.ssh-trial__intro>p:not(.ssh-section__kicker) { max-width:610px; margin:0 0 20px; color:#d9eff7; font-size:16px; line-height:1.65; }
.ssh-trial__audiences { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 24px; }
.ssh-trial__audiences span { padding:7px 11px; border:1px solid rgba(255,255,255,.28); border-radius:999px; background:rgba(255,255,255,.1); color:#fff; font-size:12px; font-weight:900; }
.ssh-trial__button { display:inline-flex; align-items:center; gap:9px; padding:14px 18px; border-radius:10px; background:#b3d789; color:#17304b!important; font-weight:950; text-decoration:none!important; box-shadow:0 10px 22px rgba(0,0,0,.18); transition:transform .2s ease,background .2s ease; }
.ssh-trial__button:hover { transform:translateY(-2px); background:#c7e7a2; }
.ssh-trial__button span { transition:transform .2s ease; }
.ssh-trial__button:hover span { transform:translateX(4px); }
.ssh-trial__intro small { display:block; margin-top:13px; color:#b9d5df; font-size:11px; }
.ssh-trial__details { position:relative; z-index:1; display:flex; flex-direction:column; justify-content:center; gap:15px; padding:clamp(28px,4vw,48px); background:rgba(255,255,255,.07); backdrop-filter:blur(4px); }
.ssh-trial__detail { display:grid; grid-template-columns:auto 1fr; gap:15px; padding:19px; border:1px solid rgba(255,255,255,.14); border-radius:16px; background:rgba(255,255,255,.08); }
.ssh-trial__detail-icon { width:36px; height:36px; display:grid; place-items:center; border-radius:11px; background:#22b6e7; color:#fff; font-size:15px; font-weight:950; }
.ssh-trial__detail h3 { margin:1px 0 6px; color:#fff; font-size:19px; line-height:1.15; }
.ssh-trial__detail p { margin:0; color:#d0e5ed; font-size:13px; line-height:1.55; }
.ssh-payments { padding:0; background:#f6fafc; }
.ssh-payments .ssh-section__inner { padding:58px 0; }
.ssh-payments__header { max-width:720px; margin:0 auto 28px; text-align:center; }
.ssh-payments__header h2 { margin:5px 0 10px; color:var(--navy); font-size:clamp(34px,5vw,48px); line-height:1.03; letter-spacing:-.04em; }
.ssh-payments__header>p:last-child { margin:0; color:#526a7d; font-size:17px; line-height:1.55; }
.ssh-payments__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; max-width:980px; margin:0 auto; }
.ssh-payment-card { position:relative; min-height:300px; padding:28px; overflow:hidden; border:2px solid #d7e6ec; border-radius:19px; background:#fff; box-shadow:0 12px 30px rgba(23,48,75,.07); }
.ssh-payment-card:after { content:''; position:absolute; right:-45px; bottom:-55px; width:150px; height:150px; border-radius:50%; background:rgba(34,182,231,.08); pointer-events:none; }
.ssh-payment-card--stripe { border-top:6px solid #635bff; }
.ssh-payment-card--etransfer { border-top:6px solid var(--lime); }
.ssh-payment-card__top { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:24px; }
.ssh-payment-card__icon { width:48px; height:48px; display:grid; place-items:center; border-radius:13px; background:#e7e5ff; color:#4038d5; font-size:23px; font-weight:950; }
.ssh-payment-card__icon--cc svg { width:29px; height:29px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.ssh-payment-card--etransfer .ssh-payment-card__icon { background:transparent; color:#355814; }
.ssh-payment-card__icon--interac { overflow:hidden; border-radius:13px; }
.ssh-payment-card__icon--interac img { width:48px; height:48px; display:block; object-fit:contain; }
.ssh-payment-card__provider { padding:7px 11px; border-radius:999px; background:#f2f4f7; color:#536a7d; font-size:12px; }
.ssh-payment-card__provider strong { color:#635bff; font-size:15px; }
.ssh-payment-card h3 { margin:0 0 9px; color:var(--navy); font-size:28px; line-height:1.1; }
.ssh-payment-card>p { margin:0 0 19px; max-width:500px; color:#526a7d; line-height:1.55; }
.ssh-card-brands { display:flex; flex-wrap:wrap; gap:8px; margin:20px 0; }
.ssh-card-brand { min-height:32px; display:inline-flex; align-items:center; justify-content:center; padding:6px 10px; border:1px solid #d8e2e8; border-radius:6px; background:#fff; color:#17304b; font-size:10px; font-weight:950; box-shadow:0 3px 8px rgba(23,48,75,.06); }
.ssh-card-brand--visa { color:#1434cb; font-style:italic; font-size:14px; }
.ssh-card-brand--mc { color:#c53a2e; }
.ssh-card-brand--amex { background:#1f72cd; color:#fff; }
.ssh-card-brand--union { color:#cf2238; }
.ssh-payment-card .ssh-payment-card__note { position:relative; z-index:1; margin:18px 0 0; color:#64798b; font-size:12px; }
.ssh-payment-email { position:relative; z-index:1; width:100%; max-width:390px; display:flex; align-items:center; justify-content:space-between; gap:14px; margin:2px 0 12px; padding:9px 10px 9px 14px; border:1px solid #cde5b7; border-radius:11px; background:#edf7e4; color:#17304b; font:inherit; cursor:pointer; box-shadow:0 5px 14px rgba(58,105,31,.08); transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease; }
.ssh-payment-email:hover { transform:translateY(-2px); border-color:#9fcd76; background:#e3f3d5; box-shadow:0 9px 20px rgba(58,105,31,.14); }
.ssh-payment-email:focus-visible { outline:3px solid rgba(34,182,231,.35); outline-offset:3px; }
.ssh-payment-email__address { min-width:0; color:#17304b; font-size:15px; font-weight:900; text-align:left; word-break:break-word; }
.ssh-payment-email__action { flex:0 0 auto; min-width:79px; display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:8px 10px; border-radius:8px; background:#fff; color:#355814; font-size:12px; font-weight:900; box-shadow:0 2px 7px rgba(23,48,75,.09); }
.ssh-payment-email__action svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.ssh-payment-email.is-copied { border-color:#63b53b; background:#dff3cf; animation:ssh-copy-pop .34s ease; }
.ssh-payment-email.is-copied .ssh-payment-email__action { background:#3f8f29; color:#fff; }
@keyframes ssh-copy-pop { 50% { transform:scale(1.025); } }
.ssh-payments__security { display:flex; align-items:center; justify-content:center; gap:8px; margin:22px 0 0; color:#526a7d; font-size:13px; text-align:center; }
@media (prefers-reduced-motion:reduce) { .ssh-payment-email { transition:none; } .ssh-payment-email.is-copied { animation:none; } }
.ssh-articles { background:#f6fafc; }
.ssh-articles__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.ssh-article-card { overflow:hidden; display:flex; flex-direction:column; border:1px solid #dce9ee; border-radius:18px; background:#fff; box-shadow:0 12px 28px rgba(23,48,75,.07); }
.ssh-article-card__image { height:215px; overflow:hidden; display:block; background:#dff5fb; }
.ssh-article-card__image img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .35s ease; }
.ssh-article-card:hover .ssh-article-card__image img { transform:scale(1.035); }
.ssh-article-card__image--fallback { display:grid; place-items:center; background:linear-gradient(135deg,var(--blue),#6dd5ef); color:#fff; text-decoration:none; }
.ssh-article-card__image--fallback span { font-size:42px; font-weight:950; transform:rotate(-4deg); }
.ssh-article-card__body { flex:1; display:flex; flex-direction:column; padding:24px; }
.ssh-article-card h3 { margin:0 0 12px; font-size:23px; line-height:1.15; letter-spacing:-.02em; }
.ssh-article-card h3 a { color:var(--navy); text-decoration:none; }
.ssh-article-card__excerpt { margin:0 0 20px; color:#5b6f80; line-height:1.5; }
.ssh-article-card .ssh-card-link { margin-top:auto; }
.ssh-testimonials { background:var(--blue-dark); color:#fff; }
.ssh-testimonials .ssh-section__kicker { color:var(--yellow); }
.ssh-testimonials .ssh-section__heading h2 { color:#fff; }
.ssh-testimonials__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.ssh-quote { position:relative; margin:0; padding:38px; border:1px solid rgba(255,255,255,.18); border-radius:19px; background:rgba(255,255,255,.1); }
.ssh-quote__stars { margin-bottom:18px; color:var(--yellow); font-size:19px; letter-spacing:.08em; }
.ssh-quote blockquote { margin:0 0 23px; color:#fff; font-size:17px; font-weight:650; line-height:1.55; }
.ssh-quote blockquote p { margin:0; }
.ssh-quote figcaption { color:#bfefff; font-weight:900; }
.ssh-testimonials__action { margin:30px 0 0; text-align:center; }
.ssh-load-testimonials { cursor:pointer; font-family:inherit; }
.ssh-load-testimonials.is-loading { cursor:wait; opacity:.7; }
.ssh-testimonials__all { margin:18px 0 0; text-align:center; }
.ssh-testimonials__all a { color:#fff; font-size:14px; font-weight:800; text-decoration:underline; text-underline-offset:4px; }
.ssh-section a:focus-visible { outline:3px solid var(--yellow); outline-offset:4px; }
.book_a_trial>a { transition:opacity .18s ease,transform .18s ease,background-color .2s ease!important; }
.book_a_trial>a.ssh-contextual-cta--changing { opacity:.35; transform:translateY(-2px); }
@media(max-width:900px){.ssh-director__card{grid-template-columns:auto 1fr}.ssh-director__open{grid-column:2;justify-self:start}.ssh-path-card{grid-template-columns:1fr}.ssh-path-card__image{height:230px}.ssh-level-grid,.ssh-articles__grid,.ssh-testimonials__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ssh-level-card:last-child,.ssh-article-card:last-child,.ssh-quote:last-child:nth-child(odd){grid-column:1/-1}.ssh-trial__panel{grid-template-columns:1fr}.ssh-trial__details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.ssh-trial__detail{grid-template-columns:1fr}.ssh-group-callout,.ssh-location-custom{grid-template-columns:auto 1fr}.ssh-group-callout .ssh-section-button,.ssh-location-custom .ssh-section-button{grid-column:2}}
@media(max-width:700px){.ssh-section__inner{width:min(100% - 32px,600px);padding:60px 0}.ssh-section__heading--split{display:block}.ssh-section__heading--split .ssh-text-link{margin-top:18px}.ssh-paths__grid,.ssh-program-grid--two,.ssh-level-grid,.ssh-articles__grid,.ssh-testimonials__grid{grid-template-columns:1fr}.ssh-path-card{min-height:0}.ssh-program-card__image{height:240px}.ssh-level-card{min-height:0}.ssh-level-card:last-child,.ssh-article-card:last-child{grid-column:auto}.ssh-beyond__grid{width:calc(100vw - 16px);margin-right:calc((100vw - 100%)/-2);grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(280px,84vw);overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;scroll-padding-inline:0;padding:4px 16px 18px 0;-webkit-overflow-scrolling:touch}.ssh-beyond-card{scroll-snap-align:start}.ssh-beyond-card__image img{height:220px}.ssh-beyond__grid::-webkit-scrollbar{height:7px}.ssh-beyond__grid::-webkit-scrollbar-track{background:#e7f1f5;border-radius:999px}.ssh-beyond__grid::-webkit-scrollbar-thumb{background:#00a8e6;border-radius:999px}.ssh-quote{padding:28px}.ssh-section__heading h2{font-size:38px}.ssh-group-callout{grid-template-columns:1fr;text-align:center}.ssh-group-callout__number{margin:auto}.ssh-group-callout .ssh-section-button{grid-column:auto;justify-self:center}}
@media(max-width:700px){
	.ssh-director .ssh-section__inner { padding:38px 0 22px; }
	.ssh-director__card { grid-template-columns:1fr; gap:18px; padding:25px 20px; text-align:center; }
	.ssh-director__photo { margin:auto; }
	.ssh-director__open { grid-column:auto; justify-self:center; white-space:normal; }
	.ssh-director-modal { padding:10px; }
	.ssh-director-modal__dialog { max-height:calc(100vh - 20px); padding:29px 20px; border-radius:18px; }
	.ssh-director-modal__header { grid-template-columns:1fr; gap:12px; padding-right:30px; text-align:center; }
	.ssh-director-modal__header img { width:92px; height:92px; margin:auto; }
	.ssh-director-modal__header h2 { font-size:36px; }
	.ssh-form-modal { padding:10px; }
	.ssh-form-modal.ssh-form-inline { padding:12px; }
	.ssh-trial__details { grid-template-columns:1fr; }
	.ssh-trial__intro,.ssh-trial__details { padding:28px 22px; }
	.ssh-form-modal__dialog { max-height:calc(100vh - 20px); padding:28px 20px; border-radius:17px; }
	.ssh-form-modal.ssh-form-inline .ssh-form-modal__dialog { padding:26px 18px; border-width:2px; border-radius:16px; }
	.ssh-form-grid { grid-template-columns:1fr; }
	.ssh-form-grid__wide { grid-column:auto; }
	.ssh-venue-details { grid-template-columns:1fr; }
	.ssh-form-modal__header { padding-right:30px; }
	.ssh-form-modal.ssh-form-inline .ssh-form-modal__header { padding-right:0; }
	.ssh-form-modal__header h2 { font-size:clamp(32px,10vw,42px); }
	.ssh-form-modal__header>p:last-child { font-size:15px; }
	.ssh-city-options { max-height:min(300px,45vh); }
	.ssh-form-submit { width:100%; }
	.ssh-locations__grid { display:flex; gap:16px; width:calc(100% + 16px); overflow-x:auto; padding:4px 16px 18px 2px; scroll-snap-type:x mandatory; scroll-padding-left:2px; -webkit-overflow-scrolling:touch; scrollbar-width:thin; scrollbar-color:var(--blue) #dce9ee; }
	.ssh-location-card { flex:0 0 min(84vw,360px); scroll-snap-align:start; }
	.ssh-location-custom { grid-template-columns:1fr; text-align:center; }
	.ssh-location-custom__icon { margin:auto; }
	.ssh-location-custom .ssh-section-button { grid-column:auto; justify-self:center; white-space:normal; }
	.ssh-remote-nudge { right:14px; bottom:82px; width:calc(100vw - 28px); }
	.ssh-articles__grid { display:flex; gap:16px; width:calc(100% + 16px); overflow-x:auto; padding:4px 16px 18px 2px; scroll-snap-type:x mandatory; scroll-padding-left:2px; -webkit-overflow-scrolling:touch; scrollbar-width:thin; scrollbar-color:var(--blue) #dce9ee; }
	.ssh-article-card { flex:0 0 min(84vw,360px); scroll-snap-align:start; }
	.ssh-article-card__image { height:190px; }
	.ssh-payments__grid { grid-template-columns:1fr; }
	.ssh-payment-card { min-height:0; padding:24px 20px; }
}
@media(max-width:430px){.ssh-section__inner{width:calc(100% - 28px)}.ssh-path-card__body,.ssh-program-card__body,.ssh-level-card{padding:23px}.ssh-section-button{width:100%;justify-content:center}.ssh-program-card__image{height:210px}.ssh-form-modal.ssh-form-inline{padding:8px}.ssh-form-modal.ssh-form-inline .ssh-form-modal__dialog{padding:22px 14px}.ssh-form-grid{gap:15px}.ssh-form-grid input,.ssh-form-grid select,.ssh-form-grid textarea{font-size:16px}.ssh-form-consent{line-height:1.45}}
@media(prefers-reduced-motion:reduce){.ssh-section *{scroll-behavior:auto!important;transition:none!important;animation:none!important}.ssh-location-custom.is-animated,.ssh-group-callout.is-animated{opacity:1;transform:none}}

.ssh-payment-card__adjustment{display:inline-flex;vertical-align:middle;margin-left:6px;padding:4px 7px;border-radius:999px;background:#eef9fc;color:#007da8;font-size:11px;font-weight:950;line-height:1;white-space:nowrap}
.ssh-payment-card--etransfer .ssh-payment-card__provider{background:#edf7e4;color:#355814;font-weight:900}
