/* Distinct, concise editorial sections for the extended landing page. */
.eyebrow{display:block;margin-bottom:20px;color:#8d7450;font-size:.71rem;font-weight:600;letter-spacing:.19em;text-transform:uppercase;line-height:1.5}
.oab-badge{display:inline-block;margin-left:10px;padding:5px 10px;border:1px solid #c5a46d9c;border-radius:2px;color:#f1d7a7;font-size:.72rem;font-weight:600;letter-spacing:.06em;vertical-align:middle;white-space:nowrap}
.footer-oab{display:inline-block;margin-top:6px;color:#ddc59c;font-weight:600;letter-spacing:.05em}
.services-intro{align-items:end;gap:45px;margin-bottom:43px}
.services-intro h2{max-width:860px;font-size:clamp(3.25rem,4.7vw,5rem);line-height:1.04}
.services-intro h2 em{color:var(--sage)}
.services-intro>p{max-width:295px;margin-bottom:8px;color:#425049}
.service-card{display:grid;grid-template-columns:142px minmax(0,1fr);grid-template-rows:auto auto 1fr auto;column-gap:24px;min-height:265px;align-content:start}
.service-card-image{grid-column:1;grid-row:1/4;align-self:start;width:142px;height:142px;aspect-ratio:1;object-fit:cover;border-radius:4px;border:1px solid #1d2a3818;filter:saturate(.82);transition:filter .35s var(--ease),transform .35s var(--ease)}
.service-card:hover .service-card-image{filter:saturate(1);transform:scale(1.025)}
.service-card h3{grid-column:2;grid-row:1;align-self:start;max-width:none;font-size:clamp(1.9rem,2.45vw,2.35rem)}
.service-card p{grid-column:2;grid-row:2;max-width:none;margin:8px 0 0}
.service-action{grid-column:1/-1;grid-row:4}
.service-action .service-arrow{width:19px;height:19px;stroke-width:1.6;transition:transform .3s var(--ease)}
.service-card:hover .service-arrow{transform:translate(2px,-2px)}
.service-card:nth-child(n+5){grid-template-columns:128px minmax(0,1fr)}
.service-card:nth-child(n+5) .service-card-image{width:128px;height:128px}
.service-card:nth-child(n+5) h3{font-size:clamp(1.8rem,2.2vw,2.1rem)}
.when{background:linear-gradient(135deg,#edf0e9 0%,#f5f1ea 58%,#e5ebe3 100%);border-top:1px solid #d4d9ce}
.when-intro{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(270px,.55fr);gap:0 70px;align-items:end;max-width:1250px;margin:0 auto 42px}
.when-intro .eyebrow{grid-column:1/-1}
.when-intro h2{max-width:790px;font-size:clamp(3.2rem,4.6vw,5rem)}
.when-intro h2 em{color:var(--sage)}
.when-intro>p{color:#4a5852;max-width:360px;margin-bottom:8px}
.when-list{max-width:1250px;margin:auto;border-top:1px solid #b9c4b8}
.when-item{display:block;min-height:0;padding:26px 0;border-bottom:1px solid #b9c4b8}
.when-index{display:flex;align-items:center;gap:13px;color:#728174;font-size:.71rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.when-index{margin-bottom:13px}
.when-index:before{content:'';width:36px;height:1px;background:var(--gold)}
.when-item h3{font:400 clamp(2rem,2.7vw,2.7rem)/1.12 Instrument,Georgia,serif;letter-spacing:-.015em}
.when-item p{max-width:58ch;margin-top:8px;color:#4d5954;font-size:.925rem;line-height:1.65}
.when-action{max-width:1250px;margin:28px auto 0;display:flex;gap:24px;justify-content:space-between;align-items:center;color:#44524b;font-size:.875rem}
.text-cta{display:inline-flex;align-items:center;gap:20px;border-bottom:1px solid currentColor;padding:7px 0;color:var(--navy);font-weight:600}
.cta-arrow{width:17px;height:17px;stroke-width:1.6}
.modalities{background:#f6f4ee}
.modalities-heading{max-width:770px;margin:0 auto 43px;text-align:center}
.modalities-heading h2{font-size:clamp(3.2rem,4.6vw,5rem)}
.modalities-heading h2 em{color:var(--sage)}
.modalities-heading p{margin:18px auto 0;max-width:550px;color:var(--muted)}
.modality-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.modality-card{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;min-height:465px;padding:38px 42px 42px;border:1px solid #cfd5cc;border-radius:8px;isolation:isolate}
.modality-card:after{content:'';position:absolute;right:-70px;top:-110px;width:370px;height:370px;border:1px solid currentColor;border-radius:50%;opacity:.15;z-index:-1}
.modality-card:before{content:'';position:absolute;right:-20px;top:-60px;width:270px;height:270px;border:1px solid currentColor;border-radius:50%;opacity:.12;z-index:-1}
.modality-inperson{background:linear-gradient(130deg,#1d2a38,#354a4f);color:var(--ivory);border-color:#2f4449}
.modality-online{background:linear-gradient(140deg,#e6ece4,#f9f5ed);color:var(--navy)}
.modality-number{display:flex;align-items:center;gap:13px;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.modality-number i{width:28px;height:1px;background:var(--gold)}
.modality-card h3{font:400 clamp(2.9rem,4vw,4.7rem)/1.04 Instrument,Georgia,serif;letter-spacing:-.025em}
.modality-inperson h3 em{color:#e7ca9c}
.modality-online h3 em{color:var(--sage)}
.modality-card p{max-width:42ch;margin:18px 0 0;font-size:.93rem;line-height:1.65}
.modality-inperson p{color:#e1e5e2}
.modality-online p{color:#425047}
.modality-card .button{align-self:flex-start;gap:19px;margin-top:30px;font-size:.82rem}
.reviews-preview{background:linear-gradient(145deg,#e8ece5,#f5f1ea 65%,#ece4d9)}
.review-preview-note{display:block;margin-bottom:20px;color:#7e694c;font-size:.77rem;font-weight:600;letter-spacing:.03em}
.reviews-head{display:flex;justify-content:space-between;align-items:end;gap:65px;margin-bottom:31px}
.reviews-head h2{max-width:720px;font-size:clamp(3.25rem,4.7vw,5rem)}
.reviews-head h2 em{color:var(--sage)}
.reviews-head>p{max-width:340px;margin-bottom:7px;color:#45534b;font-size:.875rem}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.review-controls{display:none}
.review-card{display:flex;flex-direction:column;min-height:260px;padding:30px 29px 27px;background:#fffdf8;border:1px solid #d9d7cd;border-radius:7px;box-shadow:0 12px 28px #1d2a3809}
.quote-mark{font:400 4.5rem/.7 Instrument,Georgia,serif;color:var(--gold)}
.review-card blockquote{margin:27px 0 24px;font:400 clamp(1.7rem,2.25vw,2.2rem)/1.18 Instrument,Georgia,serif;letter-spacing:-.012em}
.review-disclaimer{display:block;margin-top:auto;padding-top:15px;border-top:1px solid #e0e1d9;color:#59665b;font-size:.75rem;font-weight:600;letter-spacing:.01em}
.faq{background:linear-gradient(130deg,#f9f6ef,#f1f1eb);display:grid;grid-template-columns:minmax(280px,.83fr) minmax(0,1.17fr);gap:7vw;align-items:start}
.faq-intro{position:sticky;top:30px}
.faq-intro h2{font-size:clamp(3.3rem,4.55vw,4.85rem)}
.faq-intro h2 em{color:var(--sage)}
.faq-intro p{max-width:390px;margin-top:22px;color:var(--muted)}
.faq-list{border-top:1px solid #cbd0c6}
.faq-list details{border-bottom:1px solid #cbd0c6}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:25px 3px;list-style:none;cursor:pointer;font:400 clamp(1.5rem,1.9vw,1.85rem)/1.2 Instrument,Georgia,serif;transition:color .2s}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:hover,.faq-list details[open] summary{color:#617461}
.faq-plus{position:relative;flex:none;width:18px;height:18px}
.faq-plus:before,.faq-plus:after{content:'';position:absolute;top:8px;left:0;width:18px;height:1px;background:var(--sage)}
.faq-plus:after{transform:rotate(90deg);transition:transform .25s}
.faq-list details[open] .faq-plus:after{transform:rotate(0)}
.faq-list details p{max-width:58ch;padding:0 40px 25px 3px;color:#4c5950;font-size:.9rem;line-height:1.7}
.contact{display:block;padding-top:82px;padding-bottom:82px;background:#fffefa}
.contact-heading{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;text-align:center;max-width:none;min-height:410px;padding:60px 35px;background:linear-gradient(115deg,#1d2a38,#334950 68%,#466052);color:var(--ivory);border-radius:10px;isolation:isolate}
.contact-heading:before,.contact-heading:after{content:'';position:absolute;border:1px solid #c5a46d32;width:440px;height:440px;border-radius:50%;z-index:-1}
.contact-heading:before{left:-160px;bottom:-335px}.contact-heading:after{right:-150px;top:-330px}
.contact-heading .eyebrow{color:#e5c690;margin-bottom:13px}
.contact-heading h2{max-width:780px;font-size:clamp(3.25rem,5vw,5.4rem)}
.contact-heading h2 em{color:#e5c690}
.contact-heading>p:not(.cta-note){max-width:550px;margin:20px auto 25px;color:#e4ebe5}
.contact-heading .button{background:var(--ivory);color:var(--navy);gap:18px}
.contact-heading .button:hover{background:#e7d8c1}
.contact-heading .cta-note{color:#d9e2d9}
.contact .location{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr);gap:5vw;align-items:center;margin-top:48px;scroll-margin-top:30px}
.contact .location-details{padding:0}
.contact .google-map{height:300px}
@media(max-width:1100px){
 .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .service-card,.service-card:nth-child(n){grid-column:span 1}
 .service-card:nth-child(7){grid-column:span 2}
 .service-card{grid-template-columns:130px minmax(0,1fr);column-gap:18px;padding:25px}
 .service-card-image{width:130px;height:130px}
 .service-card:nth-child(n+5){grid-template-columns:130px minmax(0,1fr)}
 .service-card:nth-child(n+5) .service-card-image{width:130px;height:130px}
 .service-card h3{font-size:2rem}
 .when-intro{gap:40px}
}
@media(max-width:850px){
 .services-intro{display:block}.services-intro>p{max-width:550px;margin-top:18px}
 .service-card{min-height:285px;grid-template-columns:118px minmax(0,1fr)}
 .service-card-image{width:118px;height:118px}
 .service-card:nth-child(n+5){grid-template-columns:118px minmax(0,1fr)}
 .service-card:nth-child(n+5) .service-card-image{width:118px;height:118px}
 .service-card,.service-card:nth-child(n){grid-template-rows:auto 1fr auto}
 .service-card-image,.service-card:nth-child(n+5) .service-card-image{grid-row:1}
 .service-card h3{align-self:center}
 .service-card p{grid-column:1/-1;grid-row:2;margin:13px 0 23px}
 .service-action{grid-row:3}
 .when-intro{display:block}.when-intro>p{max-width:650px;margin-top:18px}
 .modality-card{min-height:440px;padding:30px}.modality-card h3{font-size:3.2rem}
 .review-grid{gap:10px}.review-card{padding:24px 20px}.review-card blockquote{font-size:1.7rem}
 .faq{grid-template-columns:1fr;gap:33px}.faq-intro{position:static}.faq-intro p{max-width:620px}
}
@media(max-width:650px){
 .oab-badge{display:block;width:max-content;margin:10px 0 0}
 .services-intro h2{font-size:clamp(3.15rem,10vw,4.2rem)}
 .services-intro h2 br{display:none}.services-intro h2 em{display:block;margin-top:4px}
 .service-grid{grid-template-columns:1fr}
 .service-card,.service-card:nth-child(n){grid-column:1;grid-template-columns:106px minmax(0,1fr);grid-template-rows:auto 1fr auto;column-gap:17px;min-height:0;padding:23px}
 .service-card-image,.service-card:nth-child(n+5) .service-card-image{grid-row:1;width:106px;height:106px}
 .service-card h3{align-self:center;font-size:2rem}
 .service-card:nth-child(n+5) h3{font-size:2rem}
 .service-card p{grid-column:1/-1;grid-row:2;font-size:.875rem;margin:13px 0 23px}
 .service-action{grid-row:3}
 .when-intro{margin-bottom:30px}.when-intro h2{font-size:3.3rem}.when-intro>p{font-size:.93rem}
 .when-item{display:block;min-height:0;padding:23px 0}
 .when-index{margin-bottom:13px}.when-item h3{font-size:2.1rem}.when-item p{font-size:.875rem}
 .when-action{display:block}.when-action .text-cta{margin-top:9px}
 .modalities-heading{text-align:left;margin-bottom:30px}.modalities-heading h2{font-size:3.35rem}.modalities-heading p{margin:16px 0 0}
 .modality-grid{grid-template-columns:1fr;gap:13px}.modality-card{min-height:390px;padding:29px 27px}.modality-card h3{font-size:3.45rem}.modality-card .button{font-size:.8rem;padding:14px}
 .reviews-head{display:block}.reviews-head h2{font-size:3.4rem}.reviews-head>p{max-width:100%;margin:16px 0 0}
 .review-grid{display:flex;grid-template-columns:none;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;padding:0 0 8px}
 .review-grid::-webkit-scrollbar{display:none}
 .review-card{flex:0 0 calc(100% - 38px);min-height:252px;padding:24px;scroll-snap-align:start;scroll-snap-stop:always}
 .review-card blockquote{margin:15px 0 20px;font-size:1.95rem}
 .review-carousel.is-ready .review-controls{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:18px}
 .review-nav{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #9ea99c;border-radius:50%;background:#fffdf8;color:var(--navy);cursor:pointer}
 .review-nav svg{width:18px;height:18px;stroke-width:1.6}
 .review-nav:hover:not(:disabled){background:#e6ede3}
 .review-nav:disabled{opacity:.38;cursor:default}
 .review-position{min-width:48px;text-align:center;font-size:.8rem;font-weight:600;color:#4d5b51;font-variant-numeric:tabular-nums}
 .faq-intro h2{font-size:3.4rem}.faq-list summary{font-size:1.65rem;padding:21px 0}.faq-list details p{padding-bottom:21px}
 .contact{padding-top:54px;padding-bottom:54px}.contact-heading{min-height:0;padding:48px 25px;border-radius:7px}.contact-heading h2{font-size:3.35rem}.contact-heading .button{font-size:.81rem;padding:15px}
 .contact .location{display:block;margin-top:37px;padding-top:29px}.contact .google-map{margin-top:24px;height:260px}
}
@media(max-width:420px){
 .service-card,.service-card:nth-child(n){grid-template-columns:92px minmax(0,1fr);column-gap:14px;padding:19px}
 .service-card-image,.service-card:nth-child(n+5) .service-card-image{width:92px;height:92px}
 .service-card h3,.service-card:nth-child(n+5) h3{font-size:1.77rem}
 .service-card p{font-size:.81rem}
 .service-action{font-size:.76rem}
 .modality-card h3{font-size:3rem}.modality-card .button{font-size:.73rem}
}
@media(prefers-reduced-motion:reduce){.service-card:hover .service-card-image,.service-card:hover .service-arrow{transform:none}.review-grid{scroll-behavior:auto}}
