/* Approved aggregator prototype, scoped to the opt-in WordPress layout. */

#service-page.service-aggregator .agency-hero{background:#0e2238}
#service-page.service-aggregator .agency-hero .hero-stage{min-height:calc(100svh - 110px);display:block;padding-top:100px;padding-bottom:100px}
#service-page.service-aggregator .agency-hero .hero-opening{padding:0;width:100%}
#service-page.service-aggregator .agency-hero .hero-claim{max-width:18ch}
#service-page.service-aggregator .agency-hero .hero-scroll-arrow{bottom:calc(25px + var(--hero-top-gap,0px))}
#service-page.service-aggregator .agency-hero .hero-title-text{white-space:pre-line}
#service-page.service-aggregator .agency-title-mask{display:block;overflow:hidden;padding-block:.08em;margin-block:-.08em}
#service-page.service-aggregator .agency-title-line{display:block}
#service-page.service-aggregator .route-section{background:#f5f9fa}
#service-page.service-aggregator .route-section h2{max-width:22ch}
#service-page.service-aggregator .route-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:40px 0 28px}
#service-page.service-aggregator .route-choice{display:flex;flex-direction:column;align-items:flex-start;text-align:left;background:white;border:1px solid #dbe7eb;border-radius:22px;padding:27px;min-height:255px;position:relative;gap:18px;transition:transform .2s,border-color .2s}
#service-page.service-aggregator .route-choice:hover{transform:translateY(-4px);border-color:#087c99}
#service-page.service-aggregator .route-choice[aria-pressed=true]{background:#e3f5f9;border-color:#087c99}
#service-page.service-aggregator .route-choice strong{font-size:1.3rem;line-height:1.25;letter-spacing:-.02em}
#service-page.service-aggregator .route-choice>span:not(.route-icon):not(.route-arrow){font-size:.87rem;color:#495968;line-height:1.5}
#service-page.service-aggregator .route-icon{font-size:.85rem;color:#087c99;border:1px solid #bce6ed;border-radius:50%;width:40px;height:40px;display:grid;place-items:center}
#service-page.service-aggregator .route-arrow{position:absolute;right:25px;top:25px;color:#bd4610;font-size:1.4rem}
#service-page.service-aggregator .route-panel{background:white;border:1px solid #dbe7eb;border-radius:24px;padding:32px;margin:24px 0}
#service-page.service-aggregator .route-panel h3{font-size:2rem;margin-bottom:28px}
@media(max-width:800px){#service-page.service-aggregator .route-picker>#route-panel{grid-column:1/-1;margin:0 0 16px;padding:24px 20px;min-width:0}#service-page.service-aggregator .route-picker>#route-panel .service-options{grid-template-columns:1fr}}
#service-page.service-aggregator .service-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
#service-page.service-aggregator .service-option{display:flex;flex-direction:column;text-align:left;border:1px solid #dae6eb;border-radius:16px;background:#f8fbfc;padding:24px;color:#122b46;text-decoration:none;min-height:190px;gap:12px}
#service-page.service-aggregator .service-option:hover{border-color:#087c99;background:#edf8fb;color:#122b46}
#service-page.service-aggregator .service-option strong{font-size:1.1rem;line-height:1.3}
#service-page.service-aggregator .service-option span{font-size:.88rem;color:#465564;line-height:1.55}
#service-page.service-aggregator .service-option small{color:#087c99;font-weight:600;margin-top:auto}
#service-page.service-aggregator .reference-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:80px;align-items:center}
#service-page.service-aggregator .reference-section h2 span{color:#087c99}
#service-page.service-aggregator .reference-portrait{position:relative;padding:26px;border:1px solid #dbe7eb;border-radius:32px;background:#eff7f8;max-width:410px;justify-self:end}
#service-page.service-aggregator .reference-portrait img{width:100%;height:auto;border-radius:24px}
#service-page.service-aggregator .reference-portrait>span{display:block;margin-top:20px;font-size:.9rem;line-height:1.6;color:#465564}
#service-page.service-aggregator .reference-portrait strong{color:#122b46}
#service-page.service-aggregator .reference-section .text-button{display:block;margin-top:20px;text-decoration:none}
#service-page.service-aggregator .service-preview-dialog .button{margin-top:25px}
#service-page.service-aggregator #service-preview-dialog>p:not(.eyebrow){margin:24px 0}
#service-page.service-aggregator #service-preview-dialog .button{margin-top:28px}
#service-page.service-aggregator .reading-section .reading-card{flex-basis:calc((100% - 54px)/3)}
#service-page.service-aggregator .reading-card__format{position:static;background:transparent;color:white}
#service-page.service-aggregator .final-cta--home h2{color:white}
#service-page.service-aggregator .final-cta--home h2 span{color:#67d8ed}
#service-page.service-aggregator .site-footer{margin-top:0}
@media(max-width:1100px){
#service-page.service-aggregator .route-picker{grid-template-columns:repeat(2,minmax(0,1fr))}
#service-page.service-aggregator .route-choice{min-height:220px}
#service-page.service-aggregator .reference-grid{gap:40px}
#service-page.service-aggregator .service-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){
#service-page.service-aggregator .agency-hero .hero-stage{padding:90px 20px;min-height:calc(100svh - 105px)}
#service-page.service-aggregator .reference-grid{grid-template-columns:1fr;gap:32px}
#service-page.service-aggregator .reference-portrait{justify-self:center;max-width:320px}
#service-page.service-aggregator .route-panel{padding:24px}
#service-page.service-aggregator .reading-section .reading-card{flex-basis:calc((100% - 27px)/2)}}
@media(max-width:600px){
#service-page.service-aggregator .route-picker{grid-template-columns:1fr;gap:12px}
#service-page.service-aggregator .route-choice{min-height:0;padding:22px 24px 22px 80px;gap:10px}
#service-page.service-aggregator .route-icon{position:absolute;left:22px;top:22px}
#service-page.service-aggregator .route-arrow{right:20px;top:22px}
#service-page.service-aggregator .route-choice strong{padding-right:24px;font-size:1.2rem}
#service-page.service-aggregator .service-options{grid-template-columns:1fr}
#service-page.service-aggregator .service-option{min-height:0}
#service-page.service-aggregator .route-panel{padding:22px 18px;margin-inline:-4px}
#service-page.service-aggregator .reading-section .reading-card{flex-basis:100%}
#service-page.service-aggregator .agency-hero .hero-opening h1{max-width:none;font-size:1rem}}
@media(prefers-reduced-motion:reduce){
#service-page.service-aggregator .route-choice,#service-page.service-aggregator .service-option{transition:none}
#service-page.service-aggregator .route-choice:hover{transform:none}}
#service-page.service-aggregator .agency-hero .hero-title-text>.agency-title-mask{display:block}

/* The longer aggregator claim needs a smaller scale than a service headline. */
#service-page.service-aggregator .agency-hero .hero-background img{object-position:center}
#service-page.service-aggregator .agency-hero .hero-background::after{background:linear-gradient(90deg,#071d33c9 0%,#071d33a6 65%,#071d3347 100%),linear-gradient(180deg,#071d331a,#071d3333)}
@media(max-width:800px){
#service-page.service-aggregator .agency-hero .hero-background img{object-position:68% center}
#service-page.service-aggregator .agency-hero .hero-background::after{background:linear-gradient(90deg,#071d33cc,#071d33a6),linear-gradient(180deg,#071d331a,#071d3333)}}
#service-page.service-aggregator .agency-hero .hero-claim{font-size:clamp(3rem,6.2vw,6.5rem);max-width:none;line-height:1.08}
@media(max-width:800px){
#service-page.service-aggregator .agency-hero .hero-claim{font-size:clamp(2.65rem,10.5vw,4.5rem)}}
@media(max-width:360px){
#service-page.service-aggregator .agency-hero .hero-claim{font-size:2.35rem}}
@media(max-height:650px){
#service-page.service-aggregator .agency-hero .hero-claim{font-size:clamp(2.35rem,5.5vw,4.5rem)}}

/* Territorial analyses retain the editorial layout of the existing page. */
#service-page.service-aggregator .reading-section .article-track{scrollbar-width:none;-ms-overflow-style:none}
#service-page.service-aggregator .reading-section .article-track::-webkit-scrollbar{display:none;width:0;height:0}
#service-page.service-aggregator .territory-readings{background:#fff}
#service-page.service-aggregator .territory-readings__layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.65fr);gap:clamp(2rem,5vw,5rem);align-items:start}
#service-page.service-aggregator .territory-section-heading h2{font-size:clamp(2rem,3vw,2.7rem);line-height:1.12;letter-spacing:-.035em;margin:14px 0 20px}
#service-page.service-aggregator .territory-section-heading>p:not(.eyebrow){color:#495968;font-size:1rem;line-height:1.7;max-width:35ch}
#service-page.service-aggregator .territory-section-heading .eyebrow{color:#087c99}
#service-page.service-aggregator .territory-readings__list{min-width:0}
#service-page.service-aggregator .territory-reading{padding:28px 0;border-top:1px solid #dbe7eb}
#service-page.service-aggregator .territory-reading:last-child{border-bottom:1px solid #dbe7eb}
#service-page.service-aggregator .territory-reading__link{display:grid;grid-template-columns:minmax(8rem,.7fr) minmax(0,1.65fr);gap:28px;align-items:center;color:#0e2238;text-decoration:none}
#service-page.service-aggregator .territory-reading__media{display:block;aspect-ratio:3/2;padding:6px 6px 12px;border:1px solid #dbe7eb;border-radius:6px;background:white;box-shadow:0 10px 22px #0e22381a;transform:rotate(-2deg);transition:transform .18s}
#service-page.service-aggregator .territory-reading:nth-child(even) .territory-reading__media{transform:rotate(1.5deg)}
#service-page.service-aggregator .territory-reading__media img{display:block;width:100%;height:100%;object-fit:cover;border-radius:2px}
#service-page.service-aggregator .territory-reading__body{min-width:0}
#service-page.service-aggregator .territory-reading__format{color:#087c99;font-size:.75rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
#service-page.service-aggregator .territory-reading h3{margin:8px 0 0;font-size:clamp(1.2rem,1.8vw,1.55rem);line-height:1.25;letter-spacing:-.015em}
#service-page.service-aggregator .territory-reading__summary{margin:12px 0 0;color:#495968;font-size:.95rem;line-height:1.55}
#service-page.service-aggregator .territory-reading__action{display:inline-flex;align-items:center;gap:12px;margin-top:16px;color:#087c99;font-size:.85rem;font-weight:700}
#service-page.service-aggregator .territory-reading__link:hover h3{color:#087c99}
#service-page.service-aggregator .territory-reading__link:hover .territory-reading__media{transform:rotate(0)}
#service-page.service-aggregator .territory-reading__link:focus-visible{outline:3px solid #087c99;outline-offset:8px;border-radius:4px}
@media(max-width:900px){
#service-page.service-aggregator .territory-readings__layout{grid-template-columns:1fr;gap:24px}
#service-page.service-aggregator .territory-section-heading>p:not(.eyebrow){max-width:60ch}
#service-page.service-aggregator .territory-section-heading h2{max-width:24ch}
#service-page.service-aggregator .territory-reading__link{grid-template-columns:minmax(8rem,.45fr) minmax(0,1fr)}}
@media(max-width:600px){
#service-page.service-aggregator .territory-reading__link{grid-template-columns:6rem minmax(0,1fr);gap:16px;align-items:start}
#service-page.service-aggregator .territory-reading__media{margin-top:4px;padding:4px 4px 8px}
#service-page.service-aggregator .territory-reading h3{font-size:1.15rem}
#service-page.service-aggregator .territory-reading__summary{font-size:.87rem}
#service-page.service-aggregator .territory-reading__action{font-size:.8rem;margin-top:12px}}
@media(prefers-reduced-motion:reduce){
#service-page.service-aggregator .territory-reading__media{transition:none}}
#service-page.service-aggregator .territory-method{background:#fff}
#service-page.service-aggregator .territory-section-heading--center{text-align:center;margin:0 auto;max-width:750px}
#service-page.service-aggregator .territory-section-heading--center>.eyebrow{width:100%;max-width:none;margin-inline:auto;text-align:center}
#service-page.service-aggregator .territory-section-heading--center>h2{max-width:none}
#service-page.service-aggregator .territory-section-heading--center>p:not(.eyebrow){max-width:60ch;margin-inline:auto}
#service-page.service-aggregator .territory-method__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:48px 0 0;padding:0;list-style:none}
#service-page.service-aggregator .territory-method__item{padding:16px 24px 32px;text-align:center;min-width:0}
#service-page.service-aggregator .territory-method__item+.territory-method__item{border-left:1px solid #dbe7eb}
#service-page.service-aggregator .territory-method__number{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#0fb3cf;color:white;font-size:.78rem;font-weight:700}
#service-page.service-aggregator .territory-method__item img{display:block;width:88px;height:88px;object-fit:contain;margin:16px auto}
#service-page.service-aggregator .territory-method__item h3{font-size:1.08rem;margin:0}
#service-page.service-aggregator .territory-method__item p{font-size:.95rem;line-height:1.55;color:#495968;margin:10px 0 0}
#service-page.service-aggregator .territory-center-action{text-align:center;margin:30px 0 0;width:100%;max-width:none}
#service-page.service-aggregator .territory-method .button--outline{border:1px solid #0e2238;background:transparent;color:#0e2238}
#service-page.service-aggregator .territory-method .button--outline:hover{background:#eaf7fa}
#service-page.service-aggregator .territory-audiences{background:#0e2238;color:white}
#service-page.service-aggregator .territory-audiences__layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:80px;align-items:center}
#service-page.service-aggregator .territory-audiences .territory-section-heading h2,#service-page.service-aggregator .territory-audiences .territory-section-heading>p:not(.eyebrow){color:white}
#service-page.service-aggregator .territory-audiences__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;padding:0;margin:0;border-top:1px solid #ffffff33}
#service-page.service-aggregator .territory-audiences__list li{display:flex;align-items:center;gap:13px;padding:14px;min-height:68px;border-bottom:1px solid #ffffff33;font-weight:650;font-size:.95rem}
#service-page.service-aggregator .territory-audiences__list li:nth-child(even){border-left:1px solid #ffffff33}
#service-page.service-aggregator .territory-audiences__list span{display:grid;place-items:center;width:32px;height:32px;flex:none;color:#13b6d2}
#service-page.service-aggregator .territory-audiences__list svg{width:22px;fill:none;stroke:currentColor;stroke-width:1.7}
#service-page.service-aggregator .territory-local{background:#fcf6f2}
#service-page.service-aggregator .territory-local__intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.75fr);gap:64px;align-items:end;margin-bottom:32px}
#service-page.service-aggregator .territory-local__intro .territory-section-heading>p:not(.eyebrow){max-width:65ch}
#service-page.service-aggregator .territory-local__places{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 16px;padding:0;list-style:none}
#service-page.service-aggregator .territory-local__places li{border-left:3px solid #f26924;background:white;padding:9px 13px;font-size:.85rem;font-weight:650}
#service-page.service-aggregator .territory-local__benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #0e223824}
#service-page.service-aggregator .territory-local__benefits article{padding:32px 20px 0}
#service-page.service-aggregator .territory-local__benefits article+article{border-left:1px solid #0e223824}
#service-page.service-aggregator .territory-local__benefits span{display:grid;place-items:center;width:40px;height:40px;color:#087c99;margin-bottom:16px}
#service-page.service-aggregator .territory-local__benefits svg{width:32px;fill:none;stroke:currentColor;stroke-width:1.6}
#service-page.service-aggregator .territory-local__benefits h3{margin:0;font-size:1.1rem;letter-spacing:0}
#service-page.service-aggregator .territory-local__benefits p{margin:9px 0 0;font-size:.95rem;line-height:1.6;color:#495968}
#service-page.service-aggregator .agency-reference-inline{display:flex;align-items:center;gap:24px;margin-top:40px;padding-top:32px;border-top:1px solid #0e223824}
#service-page.service-aggregator .agency-reference-inline img{width:80px;height:80px;border-radius:50%;object-fit:cover;flex:none}
#service-page.service-aggregator .agency-reference-inline strong{font-size:1.1rem}
#service-page.service-aggregator .agency-reference-inline p{color:#495968;font-size:.95rem;line-height:1.6;margin:8px 0}
#service-page.service-aggregator .agency-reference-inline a{color:#087c99;font-weight:650;font-size:.9rem;text-decoration:none}
@media(max-width:1000px){
#service-page.service-aggregator .territory-method__grid,#service-page.service-aggregator .territory-local__benefits{grid-template-columns:repeat(2,minmax(0,1fr))}
#service-page.service-aggregator .territory-method__item:nth-child(3),#service-page.service-aggregator .territory-local__benefits article:nth-child(3){border-left:0}
#service-page.service-aggregator .territory-method__item:nth-child(n+3){border-top:1px solid #dbe7eb}
#service-page.service-aggregator .territory-local__benefits article:nth-child(n+3){padding-top:32px}
#service-page.service-aggregator .territory-audiences__layout{gap:32px}
#service-page.service-aggregator .territory-local__intro{gap:32px}}
@media(max-width:750px){
#service-page.service-aggregator .territory-audiences__layout,#service-page.service-aggregator .territory-local__intro{grid-template-columns:1fr;gap:24px}
#service-page.service-aggregator .territory-local__places{margin-bottom:0}}
@media(max-width:600px){
#service-page.service-aggregator .territory-method__grid{grid-template-columns:1fr}
#service-page.service-aggregator .territory-method__item+.territory-method__item{border-left:0;border-top:1px solid #dbe7eb}
#service-page.service-aggregator .territory-audiences__list{grid-template-columns:1fr}
#service-page.service-aggregator .territory-audiences__list li:nth-child(even){border-left:0}
#service-page.service-aggregator .territory-local__benefits{grid-template-columns:1fr}
#service-page.service-aggregator .territory-local__benefits article{padding:24px 8px}
#service-page.service-aggregator .territory-local__benefits article+article{border-left:0;border-top:1px solid #0e223824}
#service-page.service-aggregator .agency-reference-inline{align-items:start;gap:16px}
#service-page.service-aggregator .agency-reference-inline img{width:56px;height:56px}}

/* Guided service selection: recognizable symbols, clear states and editorial cards. */
#service-page.service-aggregator .route-section{background:linear-gradient(180deg,#edf8fb 0%,#f7fbfc 65%,#fff 100%)}
#service-page.service-aggregator .route-section h2 span{color:#087c99}
#service-page.service-aggregator .route-section>.wrap>.section-lead{max-width:55ch;font-size:1.1rem}
#service-page.service-aggregator .route-section .route-picker{gap:20px;margin:38px 0 32px}
#service-page.service-aggregator .route-section .route-choice{padding:28px;gap:20px;border:1px solid #d5e7ec;border-radius:24px;min-height:330px;background:#fff;box-shadow:0 8px 28px #0e223806;overflow:visible;transition:transform .25s,box-shadow .25s,border-color .25s,background .25s}
#service-page.service-aggregator .route-section .route-choice:hover{transform:translateY(-5px);box-shadow:0 16px 32px #0e22380d;border-color:#7abecd}
#service-page.service-aggregator .route-section .route-choice:focus-visible,#service-page.service-aggregator .route-section .service-option:focus-visible{outline:3px solid #087c99;outline-offset:5px}
#service-page.service-aggregator .route-section .route-choice[aria-pressed=true]{background:linear-gradient(145deg,#fff 20%,#e1f4f7 100%);border-color:#087c99;box-shadow:0 12px 32px #087c9914}
#service-page.service-aggregator .route-section .route-choice[aria-pressed=true]::after{content:'';position:absolute;bottom:-3px;left:28px;right:28px;height:5px;background:#f26924;border-radius:999px}
#service-page.service-aggregator .route-visual{display:grid;place-items:center;width:82px;height:74px;position:relative;isolation:isolate;flex:none}
#service-page.service-aggregator .route-visual::before{content:'';position:absolute;inset:4px 6px;background:#e6f5f8;border-radius:22px;transform:rotate(-8deg);z-index:-1;transition:transform .25s,background .25s}
#service-page.service-aggregator .route-visual::after{content:'';position:absolute;right:1px;bottom:6px;width:12px;height:12px;background:#f26924;border:3px solid #fff;border-radius:50%}
#service-page.service-aggregator .route-visual svg{width:43px;height:43px;fill:none;stroke:#0e2238;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
#service-page.service-aggregator .route-visual svg path:last-child{stroke:#087c99}
#service-page.service-aggregator .route-choice:hover .route-visual::before,#service-page.service-aggregator .route-choice[aria-pressed=true] .route-visual::before{transform:rotate(0);background:#cff0f5}
#service-page.service-aggregator .route-section .route-choice .route-number{position:absolute;top:30px;right:28px;font-size:.75rem;font-weight:650;color:#6b8490;letter-spacing:.1em}
#service-page.service-aggregator .route-selected{display:none;position:absolute;right:24px;top:24px;width:30px;height:30px;color:#c3440d;background:#fff1e9;border-radius:50%}
#service-page.service-aggregator .route-selected svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7}
#service-page.service-aggregator .route-choice[aria-pressed=true] .route-selected{display:grid;place-items:center}
#service-page.service-aggregator .route-choice[aria-pressed=true] .route-number{visibility:hidden}
#service-page.service-aggregator .route-section .route-choice strong{font-size:1.4rem;line-height:1.18;letter-spacing:-.025em;min-height:2.36em}
#service-page.service-aggregator .route-section .route-choice .route-description{font-size:.95rem;line-height:1.55;color:#495968;margin-top:-8px}
#service-page.service-aggregator .route-section .route-choice .route-choice-action{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin-top:auto;padding-top:14px;border-top:1px solid #dbe9ed;font-size:.8rem;font-weight:650;color:#087c99}
#service-page.service-aggregator .route-choice-action .route-arrow{position:static;display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;background:#fff0e7;color:#bd4610;font-size:1.2rem;transition:background .25s,color .25s,transform .25s}
#service-page.service-aggregator .route-choice:hover .route-arrow,#service-page.service-aggregator .route-choice[aria-pressed=true] .route-arrow{background:#f26924;color:#0e2238;transform:translate(1px,-1px)}
#service-page.service-aggregator .route-section .route-panel{margin:32px 0;padding:34px;border:1px solid #cfe5eb;border-radius:28px;background:#eaf6f9;box-shadow:inset 0 1px 0 #fff;animation:route-panel-in .3s ease-out}
#service-page.service-aggregator .route-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:26px}
#service-page.service-aggregator .route-panel-heading .eyebrow{color:#bd4610;font-size:.7rem;margin-bottom:12px}
#service-page.service-aggregator .route-section .route-panel h3{margin:0;font-size:clamp(1.55rem,2.5vw,2rem);line-height:1.2;letter-spacing:-.025em;max-width:29ch}
#service-page.service-aggregator .route-service-count{flex:none;border:1px solid #c2e1e8;background:#fff;border-radius:999px;padding:8px 14px;font-size:.8rem;color:#087c99;font-weight:650;white-space:nowrap}
#service-page.service-aggregator .route-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
#service-page.service-aggregator .route-section .service-options{gap:18px}
#service-page.service-aggregator .route-section .service-option{padding:26px;gap:16px;min-height:290px;border:1px solid #d6e6eb;border-radius:19px;background:#fff;box-shadow:0 5px 16px #0e223804;transition:transform .25s,border-color .25s,box-shadow .25s}
#service-page.service-aggregator .route-section .service-option:hover{transform:translateY(-4px);border-color:#66b8c9;background:#fff;box-shadow:0 12px 24px #0e22380d}
#service-page.service-aggregator .service-option-top{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%}
#service-page.service-aggregator .service-option-icon{display:grid;place-items:center;width:48px;height:48px;flex:none;border-radius:14px;background:#edf7fa}
#service-page.service-aggregator .service-option-icon svg{width:27px;height:27px;fill:none;stroke:#0e2238;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
#service-page.service-aggregator .service-option-icon svg path:last-child{stroke:#087c99}
#service-page.service-aggregator .route-section .service-option .service-option-group{font-size:.66rem;font-weight:650;letter-spacing:.07em;text-transform:uppercase;color:#517480;text-align:right;max-width:14ch}
#service-page.service-aggregator .route-section .service-option strong{font-size:1.25rem;line-height:1.2;letter-spacing:-.015em}
#service-page.service-aggregator .route-section .service-option .service-option-description{font-size:.94rem;line-height:1.6;color:#495968}
#service-page.service-aggregator .service-option-action{display:flex;align-items:center;justify-content:space-between;width:100%;gap:14px;padding-top:18px;border-top:1px solid #e2edf0;margin-top:auto}
#service-page.service-aggregator .route-section .service-option .service-option-action>span:first-child{color:#087c99;font-size:.8rem;font-weight:650}
#service-page.service-aggregator .route-section .service-option .service-option-arrow{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#fff0e7;color:#bd4610;font-size:1.15rem;flex:none;transition:background .25s,transform .25s}
#service-page.service-aggregator .service-option:hover .service-option-arrow{background:#f26924;transform:translate(1px,-1px)}
#service-page.service-aggregator .route-section #all-services{background:#f4f9fa}
#service-page.service-aggregator .route-section #all-services h3{margin-bottom:28px}
#service-page.service-aggregator .route-section #show-all-services{display:flex;align-items:center;gap:16px;width:100%;text-align:left;padding:24px;border:1px dashed #bbd9e1;border-radius:18px;background:#fff;color:#0e2238;font-size:.98rem;font-weight:650;text-decoration:none;transition:border-color .25s,background .25s}
#service-page.service-aggregator .route-section #show-all-services:hover{background:#eff8fa;border-color:#087c99}
#service-page.service-aggregator .show-all-icon{display:grid;place-items:center;width:36px;height:36px;color:#087c99;flex:none}
#service-page.service-aggregator .show-all-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5}
#service-page.service-aggregator .show-all-toggle{display:grid;place-items:center;margin-left:auto;width:30px;height:30px;flex:none;border-radius:50%;background:#e7f5f8;color:#087c99;font-size:1.25rem;font-weight:400}
@keyframes route-panel-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
#service-page.service-aggregator .route-panel[data-has-cross-link="true"] .service-options{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}
#service-page.service-aggregator .marketing-guidance{display:flex;align-items:center;gap:22px;padding:28px;border:1px solid #d6e6eb;border-radius:19px;background:#fff;min-width:0}
#service-page.service-aggregator .marketing-guidance-copy{flex:1;min-width:0}
#service-page.service-aggregator .marketing-guidance .eyebrow{font-size:.66rem;color:#087c99;margin-bottom:12px}
#service-page.service-aggregator .marketing-guidance h4{margin:0;font-size:clamp(1.4rem,2.1vw,1.8rem);line-height:1.15;letter-spacing:-.025em;color:#0e2238}
#service-page.service-aggregator .marketing-guidance-copy>p:not(.eyebrow){font-size:.94rem;line-height:1.6;color:#495968;margin:18px 0 24px}
#service-page.service-aggregator .marketing-guidance a{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid #e2edf0;padding-top:18px;font-size:.85rem;font-weight:650;text-decoration:none;color:#087c99}
#service-page.service-aggregator .marketing-guidance a:hover{color:#bd4610}
#service-page.service-aggregator .marketing-guidance a span{font-size:1.4rem}
#service-page.service-aggregator .marketing-guidance-visual{flex:0 0 36%;height:230px;display:grid;place-items:center;background:radial-gradient(ellipse,#e3f5f8 0%,#edf8fa 40%,transparent 72%)}
#service-page.service-aggregator .marketing-guidance-visual img{width:auto;height:100%;max-width:100%;object-fit:contain}
@media(max-width:900px){
#service-page.service-aggregator .route-panel[data-has-cross-link="true"] .service-options{grid-template-columns:1fr}
#service-page.service-aggregator .marketing-guidance{gap:14px;padding:24px}
#service-page.service-aggregator .marketing-guidance-visual{height:190px;flex-basis:32%}}
@media(max-width:700px){
#service-page.service-aggregator .marketing-guidance{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:12px;padding:22px}
#service-page.service-aggregator .marketing-guidance-copy{display:contents}
#service-page.service-aggregator .marketing-guidance .eyebrow,#service-page.service-aggregator .marketing-guidance h4{grid-column:1}
#service-page.service-aggregator .marketing-guidance .eyebrow{margin:0}
#service-page.service-aggregator .marketing-guidance h4{font-size:1.4rem}
#service-page.service-aggregator .marketing-guidance-copy>p:not(.eyebrow),#service-page.service-aggregator .marketing-guidance a{grid-column:1/-1}
#service-page.service-aggregator .marketing-guidance-visual{grid-column:2;grid-row:1/3;height:145px}
#service-page.service-aggregator .marketing-guidance-copy>p:not(.eyebrow){margin:8px 0}}
@media(max-width:380px){
#service-page.service-aggregator .marketing-guidance{display:grid;grid-template-columns:minmax(0,1fr) 88px;gap:12px}
#service-page.service-aggregator .marketing-guidance-copy{display:contents}
#service-page.service-aggregator .marketing-guidance .eyebrow,#service-page.service-aggregator .marketing-guidance h4{grid-column:1}
#service-page.service-aggregator .marketing-guidance .eyebrow{margin:0}
#service-page.service-aggregator .marketing-guidance-copy>p:not(.eyebrow),#service-page.service-aggregator .marketing-guidance a{grid-column:1/-1}
#service-page.service-aggregator .marketing-guidance-visual{grid-column:2;grid-row:1/3;height:120px}
#service-page.service-aggregator .marketing-guidance-copy>p:not(.eyebrow){margin:8px 0}}
@media(max-width:1100px){
#service-page.service-aggregator .route-section .route-choice{min-height:295px}
#service-page.service-aggregator .route-section .route-choice strong{min-height:0}}
@media(max-width:800px){
#service-page.service-aggregator .route-section .route-panel{padding:24px}
#service-page.service-aggregator .route-panel-heading{align-items:flex-start}
#service-page.service-aggregator .route-section .service-option{padding:22px}}
@media(max-width:600px){
#service-page.service-aggregator .route-section .route-picker{gap:14px;margin-top:28px}
#service-page.service-aggregator .route-section .route-choice{display:grid;grid-template-columns:64px minmax(0,1fr);min-height:0;padding:22px;gap:10px 18px}
#service-page.service-aggregator .route-visual{grid-row:1/4;width:64px;height:64px}
#service-page.service-aggregator .route-visual svg{width:34px;height:34px}
#service-page.service-aggregator .route-section .route-choice strong{font-size:1.22rem;padding-right:18px}
#service-page.service-aggregator .route-section .route-choice .route-description{margin:0;font-size:.9rem}
#service-page.service-aggregator .route-section .route-choice .route-choice-action{grid-column:2;padding-top:10px;font-size:.75rem}
#service-page.service-aggregator .route-choice-action .route-arrow{width:30px;height:30px}
#service-page.service-aggregator .route-section .route-choice .route-number{display:none}
#service-page.service-aggregator .route-selected{right:16px;top:20px;width:24px;height:24px}
#service-page.service-aggregator .route-selected svg{width:18px;height:18px}
#service-page.service-aggregator .route-section .route-panel{padding:22px 16px;margin:26px -4px;border-radius:22px}
#service-page.service-aggregator .route-panel-heading{flex-direction:column;gap:14px}
#service-page.service-aggregator .route-service-count{padding:6px 12px}
#service-page.service-aggregator .route-section .service-option{min-height:0;padding:22px}
#service-page.service-aggregator .route-section #show-all-services{padding:18px;gap:12px;font-size:.9rem}
#service-page.service-aggregator .show-all-icon{width:28px}
#service-page.service-aggregator .route-section .route-choice[aria-pressed=true]::after{left:22px;right:22px}}
@media(prefers-reduced-motion:reduce){
#service-page.service-aggregator .route-section .route-choice,#service-page.service-aggregator .route-visual::before,#service-page.service-aggregator .route-choice-action .route-arrow,#service-page.service-aggregator .route-section .service-option,#service-page.service-aggregator .service-option-arrow,#service-page.service-aggregator .route-section #show-all-services{transition:none}
#service-page.service-aggregator .route-section .route-choice:hover,#service-page.service-aggregator .route-section .service-option:hover{transform:none}
#service-page.service-aggregator .route-section .route-panel{animation:none}}

#service-page.service-aggregator .readings-carousel{--reading-columns:3}
@media(max-width:1000px){#service-page.service-aggregator .readings-carousel{--reading-columns:2}}
@media(max-width:600px){#service-page.service-aggregator .readings-carousel{--reading-columns:1}}
#service-page.service-aggregator .readings-carousel__viewport{scrollbar-width:none}
#service-page.service-aggregator .readings-carousel__viewport::-webkit-scrollbar{display:none}

@media(max-width:800px){body:has(#service-page.service-aggregator #quick-bar:not([hidden])) .egsc{bottom:calc(94px + env(safe-area-inset-bottom,0px))}body:has(#service-page.service-aggregator #quick-bar:not([hidden])) .back-to-top{bottom:calc(166px + env(safe-area-inset-bottom,0px))}body:has(#service-page.service-aggregator #quick-bar:not([hidden])) .cookie-preferences{bottom:calc(94px + env(safe-area-inset-bottom,0px))}}

/* Keep the hero aligned with the section wrap, including its pinned state. */
#service-page.service-aggregator .agency-hero{--agency-gutter:max(48px,calc((100vw - 1240px)/2))}
#service-page.service-aggregator .agency-hero .hero-stage{padding-inline:var(--agency-gutter)}
#service-page.service-aggregator .agency-hero.hero.motion-ready .hero-stage{padding:0}
#service-page.service-aggregator .agency-hero.hero.motion-ready .hero-opening,#service-page.service-aggregator .agency-hero.hero.motion-ready .hero-story-step{padding-inline:var(--agency-gutter)}
#service-page.service-aggregator .readings-carousel .reading-card{flex:1 0 100%;width:100%;min-width:0;max-width:none}
@media(max-width:1100px){#service-page.service-aggregator .agency-hero{--agency-gutter:32px}}
@media(max-width:800px){#service-page.service-aggregator .agency-hero{--agency-gutter:20px}}
@media(max-width:480px){#service-page.service-aggregator .agency-hero{--agency-gutter:18px}}
