/* The interior pages share the typography and palette of the home page. */
.sp-page-hero{position:relative;overflow:hidden;padding:72px 0 102px;background:var(--cream);text-align:center}
.sp-page-hero::after{content:"";position:absolute;inset:auto 0 -1px;height:36px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1440' height='40' viewBox='0 0 1440 40'%3E%3Cpath fill='white' d='M0 15C180 45 340 1 530 16s285 28 465 2 300-1 445 0v22H0Z'/%3E%3C/svg%3E") center bottom/100% 100% no-repeat;pointer-events:none}
.sp-page-hero h1{font-size:clamp(36px,4.5vw,54px);line-height:1.25;margin:13px 0 0;color:var(--ink)}
.sp-page-hero .eyebrow{margin:24px 0 0}
.sp-breadcrumb{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;font-size:15px;color:var(--muted)}
.sp-breadcrumb a{color:var(--ink);text-decoration:none}
.sp-breadcrumb a:hover{text-decoration:underline;text-underline-offset:4px}
.sp-section-head{max-width:790px;text-align:center;margin:0 auto 60px}
.sp-section-head h2,.sp-split h2,.sp-hours-block h2,.sp-cta h2{font-size:clamp(29px,3.2vw,42px);line-height:1.3;margin:12px 0 22px;color:var(--ink)}
.sp-section-head>p:not(.eyebrow){max-width:740px;margin:20px auto 0;font-size:18px;line-height:1.75;color:var(--muted)}
.sp-soft-section{background:#f5f8f8}
.sp-card-grid,.sp-values-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}
.sp-values-grid{gap:52px 44px}
.sp-two-column,.sp-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px}
.sp-split{align-items:center;gap:80px}
.sp-four-column{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px}
.sp-value h3,.sp-stacked-items h3,.sp-support-person h3{font-size:22px;line-height:1.45;margin:16px 0 12px;color:var(--ink)}
.sp-value p,.sp-stacked-items p,.sp-support-person>p,.sp-person>p,.sp-split>div>p,.sp-card-body>p,.sp-price-card>p:not(.sp-price):not(.sp-age){font-size:17px;line-height:1.75;color:var(--muted);margin:0}
.sp-split>div>p:not(.eyebrow){margin:20px 0 24px}
.sp-number{display:inline-flex;align-items:center;justify-content:center;width:62px;height:62px;border-radius:50%;background:var(--cream);color:var(--apricot);font:25px/1 Capriola,sans-serif}
.sp-soft-section .sp-number{background:#fff}
.sp-image-card{min-width:0;background:#fff;overflow:hidden;border-radius:24px}
.sp-image-card>img{width:100%;height:255px;display:block;object-fit:cover}
.sp-card-body{padding:30px}
.sp-card-body h3{font-size:24px;line-height:1.4;margin:10px 0 16px;color:var(--ink)}
.sp-age{display:block;color:var(--blue);font-size:14px;font-weight:700;letter-spacing:.055em;text-transform:uppercase;margin:0}
.sp-text-link{display:inline-flex;align-items:center;gap:14px;max-width:100%;margin-top:24px;color:var(--ink);text-decoration:none;font-weight:700;font-size:16px}
.sp-text-link span{color:var(--apricot);font-size:23px;line-height:1}
.sp-text-link:hover{text-decoration:underline;text-underline-offset:5px}
.sp-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.sp-gallery a{overflow:hidden;display:block;border-radius:24px;background:var(--cream)}
.sp-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .25s ease}
.sp-gallery a:hover img{transform:scale(1.025)}
.sp-quote{margin:0;background:#fff;padding:32px;border-radius:24px}
.sp-quote-mark{font:74px/.85 Georgia,serif;display:block;height:52px;color:var(--apricot)}
.sp-quote blockquote{margin:0}
.sp-quote blockquote p{font-size:17px;line-height:1.8;color:var(--ink);margin:6px 0 28px}
.sp-quote figcaption{padding-top:20px;border-top:1px solid #e8eeee}
.sp-quote figcaption strong{display:block;font-size:17px;color:var(--ink)}
.sp-quote figcaption span{display:block;color:var(--muted);font-size:15px;margin-top:3px}
.sp-cta{padding:80px 0 90px;background:var(--pale);text-align:center;scroll-margin-top:110px}
.sp-cta .container{max-width:900px}
.sp-cta .eyebrow{color:var(--ink)}
.sp-cta h2{margin-bottom:24px}
.sp-cta p:not(.eyebrow){max-width:670px;margin:0 auto 30px;line-height:1.75;color:var(--ink);font-size:18px}
.sp-cta .button{margin-top:10px}
.sp-cta-phone{display:inline-block;margin:20px 0 0 30px;font-size:22px;font-weight:700;text-decoration:none;color:var(--ink);vertical-align:middle}
.sp-cta-phone:hover{text-decoration:underline;text-underline-offset:5px}
.sp-person{text-align:center}
.sp-person-photo{position:relative;max-width:350px;margin:0 auto 28px;overflow:hidden;border-radius:180px 180px 26px 26px;background:var(--cream)}
.sp-person-photo>img{display:block;width:100%;height:350px;object-fit:cover;object-position:center top}
.sp-person-label{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);background:var(--apricot);color:var(--ink);border-radius:50px;padding:8px 22px;font-size:14px;font-weight:700}
.sp-person h3{font-size:25px;margin:0 0 10px;line-height:1.4;color:var(--ink)}
.sp-person>p.sp-role,.sp-support-person>p.sp-role{font-size:15px;color:var(--blue);margin:0 0 17px;font-weight:600}
.sp-support-person{text-align:center;padding:36px 30px;background:#fff;border-radius:24px}
.sp-initials{display:inline-flex;width:76px;height:76px;align-items:center;justify-content:center;border-radius:50%;background:var(--cream);color:var(--ink);font:22px/1 Capriola,sans-serif}
.sp-head-later{margin-top:86px;margin-bottom:44px}
.sp-small-grid{max-width:840px;margin:0 auto;gap:34px}
.sp-price-card{padding:39px 30px;border:1px solid #e5ecee;border-radius:24px;display:flex;flex-direction:column;min-width:0}
.sp-price-featured{background:var(--cream);border-color:var(--cream)}
.sp-price-card h3{font-size:27px;line-height:1.4;margin:12px 0 15px;color:var(--ink)}
.sp-price{font-family:Capriola,sans-serif;font-size:38px;line-height:1.4;color:var(--ink);margin:0 0 18px}
.sp-price>span{font:16px/1.5 'Source Sans Pro',sans-serif;color:var(--muted)}
.sp-price small{display:block;font:16px/1.5 'Source Sans Pro',sans-serif;color:var(--muted);margin-top:1px}
.sp-check-list{padding:22px 0 24px;margin:0;list-style:none}
.sp-check-list li{position:relative;padding:8px 0 8px 25px;font-size:16px;line-height:1.5;color:var(--ink)}
.sp-check-list li::before{content:'✓';position:absolute;left:0;color:var(--blue);font-weight:700}
.sp-price-card .button{align-self:flex-start;margin-top:auto}
.sp-table-card{min-width:0;background:#fff;padding:34px;border-radius:24px}
.sp-table-card h3{font-size:24px;margin:0 0 24px;color:var(--ink);line-height:1.4}
.sp-table-card h3 span{font-family:'Source Sans Pro',sans-serif;font-size:16px;white-space:nowrap}
.sp-fee-table{border-collapse:collapse;width:100%;color:var(--ink);font-size:17px}
.sp-fee-table th,.sp-fee-table td{padding:17px 0;border-bottom:1px solid #e5edef;text-align:left;line-height:1.5}
.sp-fee-table thead th{padding-top:0;font-size:13px;letter-spacing:.02em;color:var(--muted);font-weight:600}
.sp-fee-table tbody th{font-weight:400}
.sp-fee-table td,.sp-fee-table th:last-child{text-align:right;padding-left:16px}
.sp-fee-table td{font-weight:700;white-space:nowrap}
.sp-table-note{font-size:14px;line-height:1.65;color:var(--muted);margin:22px 0 0}
.sp-included{margin-top:52px;text-align:center}
.sp-included h3{font-size:24px;color:var(--ink);margin:0 0 22px}
.sp-inline-list{list-style:none;padding:0;display:flex;justify-content:center;flex-wrap:wrap;gap:18px 40px;margin:0;color:var(--ink);font-size:17px}
.sp-inline-list li::before{content:'✓';color:var(--blue);margin-right:10px;font-weight:700}
.sp-stacked-items article+article{border-top:1px solid #e5edef;margin-top:24px;padding-top:24px}
.sp-stacked-items h3{margin-top:0}
.sp-faq{max-width:900px;margin:0 auto}
.sp-faq details{background:#fff;border-radius:18px;margin-bottom:14px;padding:0 28px}
.sp-faq summary{cursor:pointer;list-style:none;position:relative;padding:25px 32px 25px 0;color:var(--ink);font:18px/1.5 Capriola,sans-serif}
.sp-faq summary::-webkit-details-marker,.sp-news-details summary::-webkit-details-marker{display:none}
.sp-faq summary::after{content:'+';position:absolute;right:0;top:22px;color:var(--blue);font:27px/1.2 'Source Sans Pro',sans-serif}
.sp-faq details[open] summary::after{content:'−'}
.sp-faq details>p{padding:0 26px 25px 0;margin:0;color:var(--muted);font-size:17px;line-height:1.8}
.sp-news-grid{row-gap:44px}
.sp-news-card{border:1px solid #e6eded;border-radius:24px}
.sp-news-card>img{height:240px}
.sp-news-card .sp-card-body{padding:28px}
.sp-news-meta{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;font-size:14px;color:var(--muted);margin-bottom:16px}
.sp-news-meta>span{color:var(--blue);font-weight:700}
.sp-news-card h2{font-size:23px;line-height:1.55;margin:0 0 21px;color:var(--ink)}
.sp-news-details summary{list-style:none;cursor:pointer;font-weight:700;color:var(--ink);font-size:16px;display:inline-block}
.sp-news-details summary::after{content:' +';color:var(--apricot);margin-left:10px;font-size:20px}
.sp-news-details[open] summary::after{content:' −'}
.sp-news-details>p{margin:16px 0 0;line-height:1.75;font-size:17px;color:var(--muted)}
.sp-schedule{margin:24px 0 0}
.sp-schedule>div{display:flex;justify-content:space-between;gap:14px 20px;padding:19px 0;border-bottom:1px solid #dbe6e8;font-size:17px;line-height:1.6}
.sp-schedule dt{color:var(--ink);font-weight:600}
.sp-schedule dd{margin:0;text-align:right;color:var(--muted)}
.sp-closure-list{margin:0;background:#fff;padding:18px 30px;border-radius:24px}
.sp-closure-list>div:last-child{border-bottom:0}
.sp-contact-card{text-align:center;padding:14px 20px}
.sp-contact-symbol{display:flex;width:76px;height:76px;border-radius:50%;align-items:center;justify-content:center;background:var(--cream);color:var(--blue);margin:0 auto 26px}
.sp-contact-symbol svg{width:33px;height:33px}
.sp-contact-card h3{font-size:20px;margin:0 0 14px;color:var(--ink)}
.sp-contact-value{font:22px/1.55 Capriola,sans-serif;color:var(--ink);text-decoration:none;overflow-wrap:anywhere}
.sp-contact-card a:hover{text-decoration:underline;text-underline-offset:5px}
.sp-contact-card>p{font-size:17px;color:var(--muted);line-height:1.65;max-width:290px;margin:16px auto 0}
.sp-hours-block h2{font-size:30px;max-width:440px}
.sp-address-note{border-left:3px solid var(--apricot);padding-left:23px;margin-top:30px;color:var(--ink)}
.sp-address-note>span{font-weight:700;display:block;margin-bottom:10px}
.sp-address-note address{font-style:normal;font-size:18px;line-height:1.7;color:var(--muted)}
.sp-button-row{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}
.sp-button-light{background:#fff!important;color:var(--ink)!important}
.sp-button-light:hover{background:var(--cream)!important}
.sp-faq summary:focus-visible,.sp-news-details summary:focus-visible,.sp-gallery a:focus-visible,.sp-text-link:focus-visible,.sp-breadcrumb a:focus-visible,.sp-contact-card a:focus-visible{outline:3px solid var(--blue);outline-offset:5px;border-radius:4px}
.sp-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1000px){
.sp-card-grid{gap:24px}.sp-card-body,.sp-news-card .sp-card-body{padding:24px}.sp-two-column,.sp-split{gap:36px}.sp-four-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}.sp-values-grid{gap:36px 28px}.sp-person-photo>img{height:290px}.sp-person h3{font-size:22px}.sp-price-card{padding:28px 22px}.sp-price-card h3{font-size:24px}.sp-price{font-size:34px}.sp-price-card .button{font-size:14px;padding-left:22px;padding-right:22px}.sp-contact-value{font-size:19px}.sp-table-card{padding:27px}.sp-fee-table{font-size:16px}
}
@media(max-width:760px){
.sp-page-hero{padding:44px 0 76px}.sp-page-hero .eyebrow{margin-top:20px}.sp-section-head{margin-bottom:40px}.sp-card-grid,.sp-values-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.sp-pricing-grid,.sp-contact-grid,.sp-team-grid{grid-template-columns:1fr;max-width:520px;margin:0 auto}.sp-two-column,.sp-split{grid-template-columns:1fr;gap:44px}.sp-values-grid{gap:34px}.sp-gallery{gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.sp-image-card>img{height:220px}.sp-card-body{padding:23px}.sp-card-body h3{font-size:22px}.sp-quote{padding:25px}.sp-quote blockquote p{font-size:16px}.sp-person{max-width:460px;margin:0 auto}.sp-person-photo>img{height:350px}.sp-person h3{font-size:25px}.sp-support-person{padding:30px 22px}.sp-small-grid{max-width:520px}.sp-head-later{margin-top:64px}.sp-price-card{padding:34px}.sp-price-card h3{font-size:27px}.sp-price{font-size:40px}.sp-price-card .button{font-size:16px}.sp-faq details{padding:0 23px}.sp-faq summary{font-size:17px}.sp-faq details>p{padding-right:0}.sp-news-card .sp-card-body{padding:22px}.sp-news-card h2{font-size:21px}.sp-news-meta{font-size:13px}.sp-contact-value{font-size:23px}.sp-contact-card{padding:5px 15px 22px}.sp-cta{padding:64px 0 70px}.sp-cta-phone{display:block;margin:24px 0 0}.sp-hours-block h2{max-width:none}
}
@media(max-width:480px){
.sp-card-grid,.sp-values-grid,.sp-four-column{grid-template-columns:1fr}.sp-section-head h2,.sp-split h2,.sp-hours-block h2,.sp-cta h2{font-size:29px}.sp-section-head>p:not(.eyebrow){font-size:17px}.sp-gallery{gap:12px}.sp-gallery a{border-radius:15px}.sp-gallery img{aspect-ratio:1}.sp-schedule>div{font-size:16px;gap:6px 12px;flex-wrap:wrap}.sp-schedule dt{flex:1 1 160px}.sp-schedule dd{flex:1 1 135px;text-align:left}.sp-closure-list{padding:12px 24px}.sp-table-card{padding:25px 21px}.sp-fee-table{font-size:16px}.sp-fee-table thead th{font-size:12px}.sp-fee-table td,.sp-fee-table th:last-child{padding-left:8px}.sp-table-card h3{font-size:22px}.sp-faq summary{font-size:16px}.sp-price-card{padding:30px}.sp-contact-value{font-size:21px}.sp-button-row{display:grid;justify-content:stretch;max-width:330px;margin:0 auto}.sp-button-row .button{justify-content:center}.sp-cta .eyebrow{font-size:18px}
}
@media(prefers-reduced-motion:reduce){.sp-gallery img{transition:none}}

.sp-portrait-initials{display:grid;place-items:center;min-height:280px;font:80px/1 Capriola,sans-serif;color:var(--blue);background:var(--cream)}.sp-person:nth-child(2) .sp-portrait-initials{background:var(--pale);color:var(--ink)}.sp-person:nth-child(3) .sp-portrait-initials{background:#fae3d0}

.sp-page-hero::after{height:32px;background:var(--wave) repeat-x bottom;background-size:184px 32px}

/* Staff photos retain the prepared portrait frames. */
.sp-support-person .sp-person-photo{max-width:260px;margin-bottom:22px;border-radius:45% 46% 38% 43%;aspect-ratio:1}.sp-support-person .sp-person-photo>img{height:100%;aspect-ratio:1;object-fit:cover}

/* Wave transition: main content → footer */
main{position:relative}
main::after{content:'';position:absolute;left:0;right:0;bottom:0;height:32px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='184' height='32' viewBox='0 0 184 32'%3E%3Cpath d='M0 1C38 1 54 31 92 31S146 1 184 1V32H0Z' fill='%23f4eee5'/%3E%3C/svg%3E") repeat-x;background-size:184px 32px}
.site-footer::before{display:none}
