/* The approved homepage card, reused by the services hub and live catalogue.
   Grid sizing is separate from the homepage's horizontal-rail sizing. */
:is(.ds-site,.ds-home) .catalog-service-card [hidden]{display:none!important}
:is(.ds-site,.ds-home) .catalog-service-card{position:relative;display:flex;overflow:hidden;min-width:0;min-height:430px;flex-direction:column;padding:24px;border:0;border-radius:30px;background:#E4E7F2;color:#3B3240;font-family:'CoFo Sans',sans-serif;transition:transform 220ms cubic-bezier(.25,.1,.25,1)}
:is(.ds-site,.ds-home) .catalog-service-card:hover{transform:translateY(-4px)}
.ds-home #dc-root .v61-service-card,.ds-home #dc-root .v61-service-card:hover{border:0}
.ds-home #dc-root .v61-service-card--soft,:is(.ds-site,.ds-home) .catalog-service-card.v61-service-card--soft{background:#E4E7F2}
.ds-home #dc-root .v61-service-card--neutral,:is(.ds-site,.ds-home) .catalog-service-card.v61-service-card--neutral{background:#F2E9DC}
.ds-home #dc-root .v61-service-card--warm,:is(.ds-site,.ds-home) .catalog-service-card.v61-service-card--warm{background:#F6E2D7}
.ds-home #dc-root .v61-service-card--gold,:is(.ds-site,.ds-home) .catalog-service-card.v61-service-card--gold{background:#F6EAD2}
.ds-home #dc-root .v61-service-card--neutral .v61-service-card__tag,.ds-home #dc-root .v61-service-card--gold .v61-service-card__tag{background:rgba(59,50,64,.08)}
:is(.ds-site,.ds-home) .catalog-service-card.v61-service-card--photo{border:0;background:#342C3C var(--v61-card-image) 50% 45%/cover no-repeat;color:#F4EDDF}
:is(.ds-site,.ds-home) .catalog-service-card.v61-service-card--photo::before{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,rgba(35,27,39,.04) 28%,rgba(35,27,39,.28) 54%,rgba(35,27,39,.9) 100%);content:''}
:is(.ds-site,.ds-home) .catalog-service-card .v61-service-card__tag{position:relative;z-index:1;align-self:flex-start;padding:8px 13px;border-radius:999px;background:rgba(59,50,64,.08);color:#3B3240;font:500 11px/1 'CoFo Sans',sans-serif;letter-spacing:.06em;text-transform:uppercase}
:is(.ds-site,.ds-home) .catalog-service-card.v61-service-card--photo .v61-service-card__tag{background:rgba(251,246,234,.8)}
:is(.ds-site,.ds-home) .catalog-service-card .v61-service-card__content{position:relative;z-index:1;display:flex;flex:1;min-width:0;flex-direction:column;justify-content:flex-end;padding-top:80px}
:is(.ds-site,.ds-home) .catalog-service-card :is(h2,h3){margin:0;font:500 clamp(23px,2.05vw,30px)/1.13 'CoFo Sans',sans-serif;letter-spacing:-.025em;text-wrap:wrap;overflow-wrap:break-word}
:is(.ds-site,.ds-home) .catalog-service-card :is(h2,h3) a{color:inherit;text-decoration:none}
:is(.ds-site,.ds-home) .catalog-service-card :is(h2,h3) a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
:is(.ds-site,.ds-home) .catalog-service-card p{margin:14px 0 0;color:var(--text-secondary-readable,#6B626E);font:400 14px/1.52 'CoFo Sans',sans-serif}
:is(.ds-site,.ds-home) .catalog-service-card.v61-service-card--photo p{color:rgba(251,246,234,.76)}
:is(.ds-site,.ds-home) .catalog-service-card .v61-service-card__footer{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:24px;padding-top:18px;border-top:1px solid rgba(59,50,64,.14)}
:is(.ds-site,.ds-home) .catalog-service-card.v61-service-card--photo .v61-service-card__footer{border-color:rgba(251,246,234,.25)}
:is(.ds-site,.ds-home) .catalog-service-card .v61-service-card__footer strong{max-width:190px;font:500 18px/1.18 'CoFo Sans',sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap}
:is(.ds-site,.ds-home) .catalog-service-card .v61-service-card__footer .v61-service-card__price-pending{white-space:normal}
:is(.ds-site,.ds-home) .catalog-service-card .v61-service-card__footer a{display:inline-flex;min-height:43px;align-items:center;justify-content:center;flex-shrink:0;padding:0 17px;border-radius:999px;background:#5066B3;color:#fff;text-decoration:none;font:500 13px/1 'CoFo Sans',sans-serif}
:is(.ds-site,.ds-home) .catalog-service-card .v61-service-card__footer a:hover{background:#40549D;color:#fff}
:is(.ds-site,.ds-home) .catalog-service-card.v61-service-card--photo .v61-service-card__footer a{background:#FCF8F1;color:#3B3240}
:is(.ds-site,.ds-home) .catalog-service-card.v61-service-card--photo .v61-service-card__footer a:hover{background:#fff}
:is(.ds-site,.ds-home) .catalog-service-card a:focus-visible{outline:3px solid #5066B3;outline-offset:5px;border-radius:4px}
:is(.ds-site,.ds-home) .catalog-service-card.v61-service-card--photo a:focus-visible{outline-color:#FCF8F1}
.ds-site .service-catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.service-hub .page-head{padding-bottom:0}
.service-hub .page-head .lead{margin-bottom:0}
.service-hub .service-catalog{margin-top:32px}
.service-catalog .category-filter{margin:0 0 24px}
.service-catalog__fallback a{text-decoration:underline}
.ds-site .service-hub .clinic-final-cta{padding-top:64px}
:is(.ds-site,.ds-home).a11y-large .catalog-service-card :is(h2,h3){font-size:30px;line-height:1.3}
:is(.ds-site,.ds-home).a11y-large .catalog-service-card p{font-size:18px;line-height:1.6}
:is(.ds-site,.ds-home).a11y-large .catalog-service-card .v61-service-card__tag{font-size:16px}
:is(.ds-site,.ds-home).a11y-large .catalog-service-card .v61-service-card__footer strong{font-size:24px}
:is(.ds-site,.ds-home).a11y-large .catalog-service-card .v61-service-card__footer a{font-size:18px;min-height:48px}
:is(.ds-site,.ds-home).a11y-no-images .catalog-service-card.v61-service-card--photo{background:#342C3C}
:is(.ds-site,.ds-home).a11y-high .catalog-service-card{background:#fff;color:#000;border:0}
:is(.ds-site,.ds-home).a11y-high .catalog-service-card::before{display:none}
:is(.ds-site,.ds-home).a11y-high .catalog-service-card p{color:#292929}
:is(.ds-site,.ds-home).a11y-high .catalog-service-card .v61-service-card__tag{background:#eee;color:#000}
:is(.ds-site,.ds-home).a11y-high .catalog-service-card .v61-service-card__footer{border-color:#000}
:is(.ds-site,.ds-home).a11y-high .catalog-service-card .v61-service-card__footer a{background:#173A8A;color:#fff}
:is(.ds-site,.ds-home).a11y-high .catalog-service-card a:focus-visible{outline-color:#173A8A}
@media(max-width:1100px){.ds-site .service-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){:is(.ds-site,.ds-home) .catalog-service-card{min-height:420px}}
@media(max-width:720px){.ds-site .service-hub .clinic-final-cta{padding-top:48px}}
@media(max-width:680px){.service-hub .service-catalog{margin-top:24px}}
@media(max-width:680px){.ds-site .service-catalog-grid{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){:is(.ds-site,.ds-home) .catalog-service-card{transition:none}:is(.ds-site,.ds-home) .catalog-service-card:hover{transform:none}}
/* Keep the approved home source intact; share readable secondary text with its cards. */
.ds-home:not(.a11y-high) #dc-root .v61-service-card:not(.v61-service-card--photo):not(.v61-service-card--ink) .v61-service-card__content>p{color:var(--text-secondary-readable,#6B626E)}
/* A native detail link covers the card; the independent booking link stays above it.
   Static flex content keeps its paint layer without limiting the stretched link. */
:is(.ds-site,.ds-home) .v61-service-card .v61-service-card__content{position:static}
:is(.ds-site,.ds-home) .v61-service-card :is(h2,h3)>a::after{position:absolute;inset:0;z-index:2;border-radius:30px;content:''}
:is(.ds-site,.ds-home) .v61-service-card .v61-service-card__footer a{position:relative;z-index:3}
:is(.ds-site,.ds-home) .v61-service-card :is(h2,h3)>a:focus-visible{outline:none}
:is(.ds-site,.ds-home) .v61-service-card :is(h2,h3)>a:focus-visible::after{outline:3px solid #5066B3;outline-offset:-5px}
:is(.ds-site,.ds-home) .v61-service-card--photo :is(h2,h3)>a:focus-visible::after{outline-color:#FCF8F1}
:is(.ds-site,.ds-home).a11y-high .v61-service-card :is(h2,h3)>a:focus-visible::after{outline-color:#173A8A}
