.gap-page { gap: 0; padding-bottom: 0; color: #193334; }
.gap-hero { padding: 32px 0 48px; background: #edf5f3; }
.gap-hero .structure-breadcrumbs { margin-bottom: 32px; font-size: 14px; }
.gap-hero-grid { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(280px, .8fr); gap: 64px; align-items: start; }
.gap-eyebrow { font-size: 14px; line-height: 1.5; margin-bottom: 16px; font-weight: 600; }
.gap-page h1 { font-family: var(--second-family), sans-serif; font-size: clamp(32px, 3.8vw, 54px); line-height: 1.12; margin: 0 0 24px; text-transform: none; }
.gap-page h1 span { display: block; margin-top: 16px; font-family: var(--font-family), sans-serif; font-size: clamp(22px, 2.2vw, 28px); line-height: 1.3; font-weight: 500; }
.gap-lead { font-size: 20px; line-height: 1.65; max-width: 780px; }
.gap-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.gap-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 14px 22px; border-radius: 14px; background: #216f6b; color: white; font-size: 16px; line-height: 1.4; font-weight: 600; }
.gap-button:hover { background: #185551; }
.gap-button-light { background: white; color: #215c59; }
.gap-button-light:hover { background: #dbece7; }
.gap-contact { padding: 28px; border-radius: 24px; background: white; box-shadow: 0 8px 28px #17333308; }
.gap-phone { display: block; font-size: clamp(20px, 2vw, 28px); line-height: 1.3; font-weight: 600; margin-bottom: 20px; white-space: nowrap; }
.gap-contact p:not(.gap-eyebrow) { font-size: 16px; line-height: 1.65; margin-bottom: 16px; }
.gap-contact > a:last-child { display: inline-block; padding-block: 8px; color: #216f6b; text-decoration: underline; text-underline-offset: 4px; }
.gap-body { max-width: 1180px; }
.gap-page .gap-body > section { padding-block: 40px; }
.gap-page h2 { font-family: var(--second-family), sans-serif; font-size: clamp(25px, 2.6vw, 36px); line-height: 1.25; margin: 0 0 24px; scroll-margin-top: 180px; }
.gap-page h3 { font-size: 21px; line-height: 1.4; margin: 0 0 12px; }
.gap-body p, .gap-body li { font-size: 18px; line-height: 1.75; }
.gap-body p + p, .gap-body p + ul, .gap-body p + ol { margin-top: 16px; }
.gap-body p + h3, .gap-body ul + h3 { margin-top: 28px; }
.gap-body ul, .gap-body ol { padding-left: 24px; }
.gap-body li + li { margin-top: 10px; }
.gap-body a:not(.gap-button) { color: #216f6b; text-decoration: underline; text-underline-offset: 4px; }
.gap-toc { display: flex; flex-wrap: wrap; gap: 10px; padding-block: 28px; }
.gap-toc a { display: inline-flex; padding: 10px 16px; align-items: center; min-height: 44px; background: #f2f6f9; border-radius: 12px; font-size: 15px; line-height: 1.5; text-decoration: none !important; }
.gap-alert { padding: 24px; margin-bottom: 8px; border-left: 4px solid #9d5040; border-radius: 8px 20px 20px 8px; background: #fbf3ef; }
.gap-alert strong { display: block; margin-bottom: 8px; font-size: 20px; }
.gap-alert p { font-size: 16px; }
.gap-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.gap-card { padding: 28px; border-radius: 22px; background: #f2f6f9; }
.gap-card p, .gap-card li { font-size: 17px; }
.gap-table-wrap { overflow-x: auto; margin-top: 24px; border: 1px solid #cfdddd; border-radius: 18px; }
.gap-table { width: 100%; border-collapse: collapse; font-size: 17px; line-height: 1.6; }
.gap-table th, .gap-table td { padding: 20px; text-align: left; vertical-align: top; border-bottom: 1px solid #dbe5e4; }
.gap-table th { background: #edf5f3; font-weight: 600; }
.gap-table tbody tr:last-child > * { border-bottom: 0; }
.gap-table td:last-child { min-width: 150px; }
.gap-price { font-size: 23px; font-weight: 600; white-space: nowrap; }
.gap-step-list { list-style: decimal-leading-zero; padding-left: 32px !important; }
.gap-step-list li { padding: 8px 0 12px 12px; }
.gap-step-list strong { display: block; }
.gap-doctor { display: flex; gap: 24px; align-items: center; margin-block: 24px; }
.gap-doctor img { width: 130px; height: 150px; object-fit: cover; border-radius: 18px; background: #e3f0eb; }
.gap-faq details { border-bottom: 1px solid #dbe5e4; padding-block: 18px; }
.gap-faq summary { font-size: 20px; line-height: 1.45; cursor: pointer; padding-block: 8px; font-weight: 600; }
.gap-faq details p { margin-top: 14px; max-width: 950px; }
.gap-page .gap-small, .gap-sources p, .gap-sources li { font-size: 14px; line-height: 1.65; }
.gap-page .gap-small { margin-top: 16px; }
.gap-sources { border-top: 1px solid #dbe5e4; }
.gap-sources h2 { font-size: 24px; }
.gap-page a:focus-visible, .gap-page summary:focus-visible { outline: 2px solid #193334; outline-offset: 4px; }
@media (max-width: 1023px) {
 .gap-hero-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
 .gap-hero { padding-block: 24px 32px; }
 .gap-contact { max-width: 650px; }
 .gap-page .gap-body > section { padding-block: 28px; }
 .gap-page h2 { scroll-margin-top: 160px; }
}
@media (max-width: 600px) {
 .gap-page .container { padding-inline: 20px; }
 .gap-lead, .gap-body p, .gap-body li { font-size: 16px; line-height: 1.7; }
 .gap-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
 .gap-card, .gap-contact { padding: 22px; }
 .gap-actions { flex-direction: column; }
 .gap-table { font-size: 14px; }
 .gap-table th, .gap-table td { padding: 12px; }
 .gap-table td:last-child { min-width: 110px; }
 .gap-table-wrap { border-radius: 12px; }
 .gap-doctor { align-items: flex-start; gap: 16px; }
 .gap-doctor img { width: 85px; height: 110px; }
 .gap-doctor h3 { font-size: 18px; }
 .gap-faq summary { font-size: 18px; }
}
@media (max-width: 600px) {
 .gap-hero .gap-contact { display: none; }
}

/* Service pages use the homepage's cards, price rows, photographs and contact bands. */
.service-designed .gap-body { max-width: none; width: 100%; }
.service-designed .gap-body > .service-section { padding-block: 64px; }
.service-designed .service-section-inner { max-width: 1440px; }
.service-designed .gap-body h2 { font-size: clamp(28px, 3.2vw, 44px); margin-bottom: 28px; color: #151516; }
.service-designed .service-section-inner > p { max-width: 1050px; }
.service-designed .service-section-inner > p + p { margin-top: 20px; }
.service-designed .gap-card { border-radius: 30px; padding: 32px; }
.service-designed .gap-grid { margin-block: 28px; }
.service-designed .gap-grid h3 { font-family: var(--second-family), sans-serif; font-size: 26px; }
.service-designed .service-steps-section { background: #f2f6f9; border-radius: 32px; width: calc(100% - 20px); margin-inline: auto; }
.service-designed .service-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; list-style: none; padding: 0; margin-block: 32px; }
.service-designed .service-steps > .step-card { display: flex; flex-direction: column; grid-column: auto; padding: 0; margin: 0; gap: 18px; min-width: 0; }
.service-designed .service-steps .label-second { width: fit-content; font-size: 16px; }
.service-designed .service-steps .card-info { padding: 32px; border-radius: 32px; background: #fff; display: block; }
.service-designed .service-steps h3 { font-family: var(--second-family), sans-serif; font-size: 26px; line-height: 1.35; margin: 0; }
.service-designed .service-steps .flex-align-top { align-items: flex-start; gap: 20px; }
.service-designed .service-steps .card-txt img { width: 56px; height: 56px; }
.service-designed .service-steps p { font-size: 17px; line-height: 1.65; padding: 0; margin-top: 20px; }
.service-designed .service-feature { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .85fr); gap: 48px; align-items: center; margin-block: 24px 36px; }
.service-designed .service-feature p { font-size: 22px; line-height: 1.6; }
.service-photo { margin: 0; }
.service-photo img { width: 100%; aspect-ratio: 7 / 5; object-fit: cover; border-radius: 32px; }
.service-photo figcaption { margin-top: 12px; font-size: 14px; color: #676767; }
.service-designed .service-price-section .gap-table-wrap { border: 0; border-radius: 0; overflow: visible; }
.service-designed .service-price-table { width: 100%; }
.service-designed .service-price-table thead th { background: transparent; font-size: 14px; color: #676767; font-weight: 400; }
.service-designed .service-price-table th, .service-designed .service-price-table td { padding: 24px 16px; vertical-align: middle; border-bottom: 1px dashed #b1cadd; }
.service-designed .service-price-table tbody th { width: 50%; background: transparent; font-size: 20px; font-weight: 500; }
.service-designed .service-price-table .gap-price { font-family: var(--second-family), sans-serif; font-size: 30px; color: #151516; }
.service-designed .service-price-action { text-align: right; min-width: 200px !important; }
.service-designed .service-price-action .btn-light { min-height: 48px; padding: 14px 22px; border-radius: 30px; background: #edf5f3; font-size: 15px; color: #183c3d; text-decoration: none; }
.service-designed .service-price-action .btn-light:hover { background: #dcece7; }
.service-designed .service-price-table + * { margin-top: 28px; }
.service-designed .service-price-section h3 { margin-top: 32px; }
.service-designed .service-doctor-layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 64px; align-items: center; }
.service-designed .service-doctor { min-width: 0; display: grid; grid-template-columns: minmax(150px, .85fr) minmax(0, 1fr); border-radius: 32px; overflow: hidden; background: #f2f6f9; }
.service-designed .service-doctor .card-image { min-width: 0; position: relative; }
.service-designed .service-doctor .card-image img { display: block; width: 100%; height: 100%; min-height: 350px; object-fit: cover; object-position: 50% 15%; }
.service-designed .service-doctor .card-text { padding: 28px; display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.service-designed .service-doctor h3 { font-family: var(--second-family), sans-serif; font-size: 25px; line-height: 1.35; margin: 0; }
.service-designed .service-doctor p { font-size: 15px; line-height: 1.6; margin: 0; }
.service-designed .service-doctor a { font-size: 15px; }
.service-designed .service-doctor-note p { font-size: 19px; line-height: 1.7; }
.service-designed .service-doctor-action { margin-top: 28px; }
.service-designed .service-button { color: white; text-decoration: none; max-width: 100%; }
.service-designed .service-button .btn-txt { white-space: normal; }
.service-designed .service-faq-section { background: #f2f6f9; border-radius: 32px; width: calc(100% - 20px); margin-inline: auto; }
.service-designed .gap-faq details { padding: 0; background: white; border: 0; border-radius: 24px; margin-top: 16px; overflow: hidden; }
.service-designed .gap-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 26px 30px; font-family: var(--second-family), sans-serif; font-size: 24px; list-style: none; }
.service-designed .gap-faq summary::-webkit-details-marker { display: none; }
.service-designed .gap-faq summary::after { content: '+'; flex: 0 0 44px; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; background: #e1ebf2; font-family: var(--font-family), sans-serif; font-size: 26px; }
.service-designed .gap-faq details[open] summary::after { content: '−'; }
.service-designed .gap-faq details p { margin: 0; padding: 0 30px 28px; max-width: 1100px; }
.service-contact-band { padding-block: 64px; }
.service-contact-band .slogan-content { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(240px, 1fr); align-items: center; gap: 48px; padding: 48px; border-radius: 32px; background: linear-gradient(135deg, #267272, #3d9b9c); color: white; }
.service-designed .service-contact-band h2 { color: white; margin-bottom: 20px; }
.service-designed .service-contact-band p { font-size: 18px; line-height: 1.65; }
.service-contact-actions { display: flex; flex-direction: column; align-items: center; gap: 24px; }
.service-designed .service-contact-phone { color: white !important; text-decoration: none !important; font-family: var(--second-family), sans-serif; font-size: 30px; white-space: nowrap; }
.service-designed .service-contact-actions .btn-light { text-decoration: none; padding: 18px 28px; border-radius: 40px; font-size: 16px; }
.service-designed .gap-sources { padding-block: 32px 48px; }
.service-designed .gap-sources h2 { font-size: 24px; }
.service-room-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-block: 32px; }
.service-room-gallery figure { margin: 0; border-radius: 28px; overflow: hidden; background: white; }
.service-room-gallery a { display: block; }
.service-room-gallery img { display: block; width: 100%; aspect-ratio: 3 / 2; height: auto; object-fit: cover; }
.service-room-gallery figcaption { padding: 22px 24px; font-family: var(--second-family), sans-serif; font-size: 23px; }
.service-n03 .service-stay-section { background: #f2f6f9; border-radius: 32px; width: calc(100% - 20px); margin-inline: auto; }
.service-n03 .service-stay-section .gap-card { background: white; }
.service-n03 .service-steps-section { background: white; }
.service-n03 .service-steps .card-info { background: #f2f6f9; }
.service-n03 .service-price-section .service-section-inner { background: #edf5f3; border-radius: 32px; padding-block: 40px; }
.service-n03 .service-price-action .btn-light { background: white; }
.service-n04 .service-visit-section .gap-card:first-child { background: #267272; color: white; }
.service-n04 .service-steps { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.service-n04 .service-steps .card-info { padding: 24px; }
.service-n04 .service-steps .flex-align-top { flex-direction: column-reverse; gap: 18px; }
.service-n04 .service-steps h3 { font-size: 23px; }
.service-n04 .service-steps p { font-size: 16px; }
.service-n04 .service-limits-section .service-section-inner { border-inline-start: 4px solid #c49e90; }
@media (max-width: 1279px) {
 .service-designed .service-doctor-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; }
 .service-designed .service-doctor { grid-template-columns: minmax(0, 1fr); }
 .service-designed .service-doctor .card-image img { aspect-ratio: 4 / 3; min-height: 0; max-height: 380px; object-position: 50% 18%; }
 .service-n04 .service-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .service-contact-band .slogan-content { gap: 28px; padding: 36px; }
 .service-designed .service-contact-phone { font-size: 24px; }
}
@media (max-width: 767px) {
 .service-designed .gap-body > .service-section { padding-block: 36px; }
 .service-designed .service-steps, .service-n04 .service-steps { grid-template-columns: minmax(0, 1fr); gap: 24px; }
 .service-designed .service-steps .card-info, .service-designed .gap-card { padding: 24px; border-radius: 24px; }
 .service-designed .service-steps h3, .service-designed .gap-grid h3 { font-size: 23px; }
 .service-designed .service-steps .card-txt img { width: 44px; height: 44px; }
 .service-designed .service-steps p { font-size: 16px; }
 .service-n04 .service-steps .flex-align-top { flex-direction: row; }
 .service-designed .service-feature, .service-designed .service-doctor-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
 .service-designed .service-feature p { font-size: 18px; }
 .service-photo img { border-radius: 24px; }
 .service-designed .service-doctor { max-width: 500px; margin-inline: auto; }
 .service-designed .service-doctor .card-image img { aspect-ratio: 4 / 3; max-height: 360px; }
 .service-designed .service-doctor .card-text { padding: 24px; }
 .service-designed .service-doctor h3 { font-size: 25px; }
 .service-designed .service-doctor-note p { font-size: 17px; }
 .service-room-gallery { grid-template-columns: minmax(0, 1fr); gap: 20px; }
 .service-designed .gap-faq summary { font-size: 19px; padding: 20px; gap: 16px; }
 .service-designed .gap-faq details p { padding: 0 20px 22px; }
 .service-contact-band { padding-block: 36px; }
 .service-contact-band .slogan-content { grid-template-columns: minmax(0, 1fr); padding: 28px 24px; gap: 28px; }
 .service-contact-actions { align-items: flex-start; gap: 20px; }
 .service-designed .service-contact-phone { font-size: 24px; }
 .service-designed .service-contact-band p { font-size: 16px; }
 .service-n03 .service-price-section .service-section-inner { width: calc(100% - 20px); }
 .service-designed .service-price-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
 .service-designed .service-price-table, .service-designed .service-price-table tbody { display: block; }
 .service-designed .service-price-table tr { display: grid; grid-template-columns: minmax(0, 1fr); padding-block: 20px; border-bottom: 1px dashed #b1cadd; gap: 16px; }
 .service-designed .service-price-table th, .service-designed .service-price-table td { display: block; width: 100% !important; min-width: 0 !important; padding: 0; border: 0; }
 .service-designed .service-price-table tbody th { font-size: 18px; }
 .service-designed .service-price-table .gap-price { font-size: 28px; }
 .service-designed .service-price-action { text-align: left; }
}
@media (prefers-reduced-motion: reduce) { .service-designed * { scroll-behavior: auto; } }
.service-designed .gap-body a.service-button { color: #fff; text-decoration: none; }
.service-designed .service-price-table .gap-price { white-space: normal; }
.service-designed .service-price-unit { display: inline-block; font-family: var(--font-family), sans-serif; font-size: 16px; white-space: nowrap; }

/* Contextual contact blocks between the editorial sections. */
.service-designed .gap-body > .service-capture { padding-block: 40px; }
.service-capture .capture-shell { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(260px, 1fr); gap: 48px; align-items: center; padding: 48px; border-radius: 32px; background: #eaf4f1; }
.service-designed .service-capture h2 { max-width: 760px; margin-bottom: 20px; }
.service-capture .capture-eyebrow { margin: 0 0 16px; font-size: 14px; font-weight: 600; color: #216f6b; }
.service-capture .capture-action { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.service-capture .capture-call-label { font-size: 14px; }
.service-designed .service-capture .capture-phone { display: inline-block; padding-block: 6px; color: #193334; font-family: var(--second-family), sans-serif; font-size: clamp(23px, 2.2vw, 30px); line-height: 1.4; text-decoration: none; white-space: nowrap; }
.service-capture .capture-button { text-align: center; line-height: 1.5; white-space: normal; max-width: 100%; }
.service-capture .capture-secondary { display: inline-block; padding-block: 10px; font-size: 15px; line-height: 1.6; }
.service-capture .capture-topics { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; padding: 0; margin-top: 24px; }
.service-capture .capture-topics li { margin: 0; padding: 8px 14px; border: 1px solid #c1d9d3; border-radius: 24px; font-size: 14px; line-height: 1.6; }
.service-capture-booking .capture-shell { align-items: stretch; background: #f2f6f9; }
.service-capture-booking .capture-booking-copy > .capture-button { margin-top: 24px; }
.service-capture-booking .capture-booking-copy > .capture-secondary { display: block; width: fit-content; margin-top: 8px; }
.service-capture .capture-checklist { padding: 28px; background: white; border-radius: 24px; }
.service-capture .capture-checklist h3 { font-family: var(--second-family), sans-serif; font-size: 26px; }
.service-capture .capture-checklist ol { list-style: decimal; padding-inline-start: 24px; margin-block: 20px; }
.service-capture .capture-checklist li { font-size: 16px; padding-inline-start: 6px; }
@media (max-width: 1100px) {
 .service-capture .capture-shell { gap: 28px; padding: 32px; grid-template-columns: minmax(0, 1.2fr) minmax(250px, 1fr); }
}
@media (max-width: 767px) {
 .service-designed .gap-body > .service-capture { padding-block: 28px; }
 .service-capture .capture-shell { grid-template-columns: minmax(0, 1fr); padding: 28px 20px; gap: 28px; border-radius: 28px; }
 .service-capture .capture-checklist { padding: 24px 20px; border-radius: 20px; }
 .service-capture .capture-topics { gap: 8px; }
 .service-capture .capture-action { width: 100%; }
 .service-capture .capture-button { width: 100%; padding-inline: 16px; }
 .service-capture .capture-checklist .capture-phone { font-size: 22px; }
}

/* Original service Hero: hero-inner / grey rounded surface / original button components. */
.service-designed .service-original-hero { min-height: 0; padding-block: 24px 48px; isolation: isolate; }
.service-original-hero::before { content: ''; position: absolute; inset: 0; background: url('/img/boss-bg.webp') center / cover; opacity: .07; pointer-events: none; z-index: -1; }
.service-original-hero > .container { flex-direction: column; gap: 40px; }
.service-original-hero .hero-inner-content { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 48px; align-items: center; }
.service-original-hero .hero-inner-left, .service-original-hero .hero-inner-right { width: 100%; min-width: 0; }
.service-original-hero .hero-inner-left { display: block; }
.service-designed .service-original-hero h1 { color: #151516; font-size: clamp(32px, 3.8vw, 64px); line-height: 1.1; margin-bottom: 28px; }
.service-designed .service-original-hero h1 .service-hero-city { font-family: var(--font-family); font-size: clamp(20px, 1.8vw, 28px); font-weight: 500; line-height: 1.4; margin-top: 18px; color: #387b79; }
.service-hero-lead { font-size: 20px; line-height: 1.65; max-width: 760px; }
.service-hero-actions { display: flex; flex-wrap: wrap; gap: 16px; margin-block: 32px; }
.service-original-hero .btn-primary, .service-original-hero .btn-outline, .service-capture .capture-button { height: auto; min-height: 64px; padding: 14px 24px 14px 78px; max-width: 100%; white-space: normal; font-size: 16px; }
.service-original-hero .btn-circle, .service-capture .capture-button .btn-circle { width: 64px; height: 64px; top: 50%; transform: translateY(-50%); }
.service-hero-note { font-size: 16px; line-height: 1.65; max-width: 650px; }
.service-hero-request { display: inline-block; margin-top: 12px; padding-block: 10px; color: #216f6b; text-decoration: underline; text-underline-offset: 4px; font-size: 15px; }
.service-original-hero .hero-inner-right { padding: 0; gap: 0; position: relative; display: flex; flex-direction: column; align-items: stretch; }
.service-hero-photo { width: 100%; margin: 0; position: relative; border-radius: 32px; overflow: hidden; background: #e1ebf2; }
.service-hero-photo > img { width: 100%; height: 480px; display: block; object-fit: cover; object-position: center; }
.service-n04 .service-hero-photo > img { object-position: 50% 20%; }
.service-hero-photo figcaption { position: absolute; bottom: 0; inset-inline: 0; padding: 20px 24px 54px; background: linear-gradient(transparent, #193334e6); color: white; font-size: 14px; }
.service-hero-photo figcaption a { color: white; text-decoration: underline; text-underline-offset: 3px; }
.service-original-hero .service-hero-contact { width: calc(100% - 48px); align-self: center; margin-top: -28px; padding: 24px 28px; border-radius: 25px; text-align: center; }
.service-hero-contact p { font-size: 14px; margin-bottom: 8px; }
.service-hero-contact .phone-link { font-size: clamp(22px, 2.2vw, 30px); color: #193334; white-space: nowrap; }
.service-original-hero .hero-inner-labels { display: flex; justify-content: center; gap: 10px; margin-top: 24px; }
.service-original-hero .hero-inner-labels .label { font-size: 14px; padding-inline: 18px; color: #193334; }

/* Original slogan surfaces, gradient buttons and decorative artwork. */
.service-designed .service-banner-intro { width: 100%; }
.service-designed .service-banner-intro > .container { max-width: 1900px; padding-inline: 0; }
.service-designed .service-banner-intro .capture-shell { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, 1fr); padding: 72px max(48px, calc((100vw - 1380px) / 2)); gap: 56px; text-align: left; color: white; background-image: linear-gradient(#003b3b66, #003b3b66), linear-gradient(135deg, #05817d, #51bcb2 50%, #05817d); }
.service-designed .service-banner-intro h2, .service-designed .service-banner-intro .capture-eyebrow, .service-designed .service-banner-intro .capture-phone, .service-designed .service-banner-intro .capture-secondary { color: white; }
.service-banner-intro .capture-topics li { background: #07585566; border-color: #ffffff55; }
.service-designed .service-banner-intro .capture-button { color: white; }
.service-designed .service-banner-intro .capture-action { align-self: center; }
.service-designed .service-banner-intro .capture-action a:focus-visible { outline-color: white; }
.service-designed .service-banner-final { width: 100%; }
.service-banner-final > .container { padding-inline: 0; max-width: 1900px; }
.service-designed .service-banner-final .slogan-content { position: relative; display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(260px, 1fr); text-align: left; padding: 72px max(48px, calc((100vw - 1380px) / 2)); gap: 48px; overflow: hidden; background-image: linear-gradient(#38221955, #38221955), linear-gradient(135deg, #96837c, #c8aa96 50%, #96837c); }
.service-banner-final .slogan-content::before { content: ''; position: absolute; inset: 0; background: url('/img/hero-bg.webp') center / cover; opacity: .17; pointer-events: none; }
.service-banner-final .slogan-content > * { position: relative; z-index: 1; }
.service-designed .service-capture-booking .capture-shell { position: relative; overflow: hidden; background: #e1ebf2 url('/img/direction-card-bg.webp') right bottom / auto 100% no-repeat; }
.service-capture-booking .capture-shell > * { position: relative; z-index: 1; }
.service-designed .service-capture-booking .capture-checklist { background: #ffffffed; }
.service-designed [data-gap-section="doctors"] { background: #f2f6f9; position: relative; isolation: isolate; overflow: hidden; width: calc(100% - 20px); margin-inline: auto; border-radius: 35px; }
.service-designed .service-doctor { background: white; }
.service-designed .service-doctor-note { padding: 32px; border-radius: 28px; background: #fffffff2; }


/* Progressive sliders: all items remain visible if scripts are unavailable. */
.service-carousel { position: relative; min-width: 0; width: 100%; overflow: hidden; }
.service-carousel .swiper-wrapper { box-sizing: border-box; }
.service-carousel.swiper-initialized > .swiper-wrapper { display: flex; gap: 0; }
.service-designed .service-carousel.swiper-initialized .step-card { height: auto; }
.service-designed .service-carousel .step-card .card-info { flex-grow: 1; }
.service-photo-carousel .service-room-gallery { margin-block: 32px 16px; }
.service-photo-carousel .swiper-slide { height: auto; }
.service-slider-controls { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: 16px; }
.service-slider-controls[hidden] { display: none; }
.service-slider-status { font-family: var(--second-family); font-size: 24px !important; }
.service-slider-controls .swiper-nav { display: flex; gap: 12px; }
.service-slider-controls button { width: 56px; height: 56px; border: 1px solid #aac4c4; border-radius: 50%; display: grid; place-items: center; background: white; color: #216f6b; cursor: pointer; }
.service-slider-controls button svg { width: 20px; height: 20px; fill: currentColor; }
.service-slider-controls button:hover { background: #e1ebf2; }
.service-slider-controls button:disabled { opacity: .35; cursor: default; }
.service-slider-controls button:focus-visible { outline: 2px solid #193334; outline-offset: 3px; }
.service-designed .service-carousel .service-steps { margin-bottom: 12px; }
.service-designed .service-carousel:not(.swiper-initialized) .swiper-wrapper { transform: none; }
@media (max-width: 1100px) {
 .service-original-hero .hero-inner-content { gap: 28px; }
 .service-hero-photo > img { height: 420px; }
 .service-designed .service-banner-intro .capture-shell, .service-designed .service-banner-final .slogan-content { padding: 48px 32px; gap: 32px; grid-template-columns: minmax(0, 1.2fr) minmax(250px, 1fr); }
}
@media (max-width: 767px) {
 .service-designed .service-original-hero { padding-block: 20px 28px; border-radius: 25px; }
 .service-original-hero > .container { gap: 24px; }
 .service-original-hero .hero-inner-content { grid-template-columns: minmax(0, 1fr); gap: 28px; }
 .service-hero-lead { font-size: 16px; }
 .service-hero-actions { flex-direction: column; gap: 14px; margin-block: 24px; }
 .service-original-hero .btn-primary, .service-original-hero .btn-outline, .service-capture .capture-button { width: 100%; min-height: 58px; padding: 14px 18px 14px 70px; font-size: 14px; }
 .service-original-hero .btn-circle, .service-capture .capture-button .btn-circle { width: 58px; height: 58px; }
 .service-hero-note { font-size: 14px; }
 .service-hero-photo > img { height: 300px; }
 .service-n04 .service-hero-photo > img { height: 360px; }
 .service-original-hero .service-hero-contact { padding: 20px 16px; width: calc(100% - 24px); }
 .service-original-hero .hero-inner-labels { gap: 8px; margin-top: 20px; }
 .service-original-hero .hero-inner-labels .label { font-size: 12px; padding-inline: 12px; height: 44px; }
 .service-designed .service-banner-intro .capture-shell, .service-designed .service-banner-final .slogan-content { padding: 40px 24px; grid-template-columns: minmax(0, 1fr); gap: 32px; border-radius: 25px; }
 .service-designed .service-banner-intro .capture-action { width: 100%; }
 .service-designed .service-doctor-note { padding: 24px; }
 .service-designed .service-carousel .service-steps { grid-template-columns: minmax(0, 1fr); }
}

.service-designed [data-gap-section="doctors"]::before { content: ""; position: absolute; inset: 0; background: url("/img/boss-bg.webp") center / cover; opacity: .1; mix-blend-mode: exclusion; pointer-events: none; z-index: -1; }

/* 2026-11-07: return the consultation banner to the designer's centered slogan. */
.service-designed .service-banner-simple .slogan-content{display:flex;flex-direction:column;gap:32px;text-align:center;padding:100px 24px;background-image:linear-gradient(#003b3b55,#003b3b55),linear-gradient(135deg,#05817d,#51bcb2 50%,#05817d)}
.service-designed .service-banner-simple .slogan-title{max-width:1100px;width:90%}
.service-designed .service-banner-simple h2{color:white;font-size:clamp(30px,3.4vw,58px);line-height:1.15;margin:0 0 25px}
.service-designed .service-banner-simple .slogan-title p{max-width:750px;margin:auto;font-size:20px;line-height:1.5}
.service-designed .service-banner-simple .btn-secondary{color:white;text-decoration:none;height:auto;min-height:69px;padding:16px 35px 16px 89px;white-space:normal}
.service-designed .service-banner-simple .control-banner-phone{color:white;text-decoration:none;font-size:18px}
@media(max-width:767px){.service-designed .service-banner-simple .slogan-content{padding:60px 22px;gap:25px}.service-designed .service-banner-simple .slogan-title{width:100%}.service-designed .service-banner-simple .slogan-title p{font-size:17px}.service-designed .service-banner-simple .btn-secondary{font-size:15px;min-height:58px;padding-left:75px;padding-right:24px}.service-banner-simple .btn-circle{width:58px;height:58px;top:50%;transform:translateY(-50%)}}
