/* Service collections inherit the homepage list, including on detail pages. */
.ref8-interior .ref8-services-related{display:block;min-width:0;gap:0;margin:0}
.ref8-interior .ref8-service-row.service-card,
.ref8-interior .ref8-services-related .ref8-service-row.service-card{display:block;min-width:0;padding:0;border:0;border-bottom:1px solid var(--color-line);border-radius:0;background:var(--color-white);overflow:visible;box-shadow:none}
.ref8-interior [data-ref-services]>.ref8-service-row:first-of-type{border-top:1px solid var(--color-line)}
.ref8-interior .ref8-service-row.service-card[open]{background:#f1f5fd}
.ref8-interior .ref8-service-row .ref8-service-summary{display:grid;grid-template-columns:32% 36% 24% 8%;grid-template-rows:auto;align-items:center;gap:0;min-height:148px;padding-top:28px;padding-bottom:28px;list-style:none}
.ref8-interior .ref8-service-row .ref8-service-summary h3{font-size:22px;font-weight:500;line-height:1.35;letter-spacing:normal;margin:0;max-width:300px;padding-right:28px;min-width:0}
.ref8-interior .ref8-service-row .ref8-service-summary>p{display:block;font-size:15px;font-weight:400;line-height:1.5;max-width:350px;padding-right:32px;margin:0;color:var(--color-muted);min-width:0}
.ref8-interior .ref8-service-row .ref8-service-amount{font-size:23px;line-height:1.4;font-weight:400;letter-spacing:normal;padding-right:8px;white-space:nowrap;font-variant-numeric:tabular-nums;align-self:center}
.ref8-interior .ref8-service-row .ref8-service-amount strong{font-weight:500}
.ref8-interior .ref8-service-row .ref8-service-arrow{grid-column:4;grid-row:1;width:52px;height:52px;justify-self:end}
.ref8-interior :not(.article-related-services)>.ref8-services-related .ref8-service-summary.container,
.ref8-interior :not(.article-related-services)>.ref8-services-related .ref8-service-content.container{width:100%;max-width:none;margin-inline:0}
.ref8-interior .ref8-service-row .ref8-service-content{grid-template-columns:32% 68%;min-width:0;padding-top:0;padding-bottom:36px}
.ref8-interior .ref8-service-row .ref8-service-expanded{min-width:0}
.ref8-interior>.article-related-services{min-width:0;margin-top:80px}
.ref8-interior>.article-related-services>.container>h2{font-size:clamp(28px,2.8vw,40px);font-weight:500;line-height:1.22;letter-spacing:-.025em;margin:0 0 28px}

/* Doctor directions keep the content grid while dividers reach both screen edges. */
.interior-doctor #doctor-services .ref8-service-row.service-card{
 border-image-source:linear-gradient(var(--color-line),var(--color-line));
 border-image-slice:1;
 border-image-width:1;
 border-image-outset:0 100vw;
}

/* Procedure prices use the same quiet dividers, typography and blue action. */
.ref8-interior :is(.table-scroll,.table-wrap):has(>.price-table){border:0;border-radius:0;overflow:visible;background:transparent}
.ref8-interior .data-table.price-table{width:100%;table-layout:fixed;border-collapse:collapse;border-spacing:0;border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line)}
.ref8-interior .price-table .price-column-name{width:60%}
.ref8-interior .price-table .price-column-amount{width:22%}
.ref8-interior .price-table .price-column-action{width:18%}
.ref8-interior .data-table.price-table thead{display:table-header-group;position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap}
.ref8-interior .data-table.price-table tbody :is(th,td){padding:28px 0;border-bottom:1px solid var(--color-line);background:transparent;vertical-align:middle}
.ref8-interior .data-table.price-table tbody tr:last-child :is(th,td){border-bottom:0}
.ref8-interior .data-table.price-table .price-table-name{width:60%;padding-right:28px;font-size:18px;line-height:1.5;font-weight:400;text-align:left;overflow-wrap:break-word}
.ref8-interior .data-table.price-table .price-table-amount{width:22%;padding-right:16px;white-space:nowrap}
.ref8-interior .data-table.price-table :is(.price-table-amount,.price-table-amount .price-amount){font-size:23px;font-weight:500;line-height:1.4;letter-spacing:normal;font-variant-numeric:tabular-nums}
.ref8-interior .data-table.price-table .price-table-action{width:18%;text-align:right;white-space:nowrap}
.ref8-interior .data-table.price-table .price-table-title{font-size:inherit;font-weight:inherit;line-height:inherit}
.ref8-interior .data-table.price-table a.price-table-title{text-decoration:underline;text-decoration-color:var(--color-line);text-underline-offset:4px;text-decoration-thickness:1px}
.ref8-interior .data-table.price-table a.price-table-title:hover{color:var(--color-primary);text-decoration-color:currentColor}
.ref8-interior .data-table.price-table .price-note{display:block;font-size:14px;line-height:1.5;font-weight:400;color:var(--color-muted);margin-top:8px}
.ref8-interior .data-table.price-table .price-table-action .price-appointment{display:inline-flex;justify-content:center;align-items:center;min-height:44px;padding:10px 20px;border:1px solid transparent;border-radius:999px;background:var(--color-primary);color:var(--color-on-primary);font-size:14px;font-weight:600;line-height:1.3;text-align:center;text-decoration:none;gap:0}
.ref8-interior .data-table.price-table .price-table-action .price-appointment:hover{background:var(--color-primary-hover);border-color:transparent;color:var(--color-on-primary);text-decoration:none}
.ref8-interior .data-table.price-table .price-table-action .price-appointment:active{background:var(--color-primary-pressed)}

@media(max-width:1199px){
 .ref8-interior>.article-related-services{margin-top:72px}
 .ref8-interior .ref8-service-row .ref8-service-summary h3{font-size:20px}
 .ref8-interior .ref8-service-row .ref8-service-amount{font-size:20px}
}

@media(max-width:767px){
 .ref8-interior>.article-related-services{margin-top:60px}
 .ref8-interior .ref8-service-row .ref8-service-summary{grid-template-columns:minmax(0,1fr) 56px;grid-template-rows:auto auto;min-height:115px;padding-top:24px;padding-bottom:24px;gap:10px 12px}
 .ref8-interior .ref8-service-row .ref8-service-summary h3{grid-column:1;grid-row:1;font-size:18px;font-weight:500;max-width:none;padding-right:0}
 .ref8-interior .ref8-service-row .ref8-service-summary>p{display:none}
 .ref8-interior .ref8-service-row .ref8-service-amount{grid-column:1;grid-row:2;font-size:16px;font-weight:400;color:var(--color-muted);padding-right:0}
 .ref8-interior .ref8-service-row .ref8-service-amount strong{font-weight:400}
 .ref8-interior .ref8-service-row .ref8-service-arrow{grid-column:2;grid-row:1/3;width:44px;height:44px}
 .ref8-interior .ref8-service-row .ref8-service-content{grid-template-columns:minmax(0,1fr);padding-bottom:24px}
 .ref8-interior .ref8-service-row .ref8-service-content>[data-ref-service-image]{display:none}
 .ref8-interior .data-table.price-table,
 .ref8-interior .data-table.price-table tbody{display:block;width:100%;min-width:0}
 .ref8-interior .data-table.price-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px 12px;padding:24px 0;border-bottom:1px solid var(--color-line)}
 .ref8-interior .data-table.price-table tbody tr:last-child{border-bottom:0}
 .ref8-interior .data-table.price-table tbody :is(th,td){width:auto;padding:0;border:0;min-width:0}
 .ref8-interior .price-table colgroup{display:none}
 .ref8-interior .data-table.price-table .price-table-name{grid-column:1/-1;grid-row:1;width:100%;font-size:16px;line-height:1.5;padding:0;overflow-wrap:anywhere}
 .ref8-interior .data-table.price-table .price-table-amount{grid-column:1;grid-row:2;width:auto;padding:0}
 .ref8-interior .data-table.price-table :is(.price-table-amount,.price-table-amount .price-amount){font-size:20px;font-weight:500}
 .ref8-interior .data-table.price-table .price-table-action{grid-column:2;grid-row:2;width:auto;padding:0;text-align:right}
 .ref8-interior .data-table.price-table .price-table-action .price-appointment{min-height:44px;padding:10px 18px;font-size:14px}
 .ref8-interior .data-table.price-table .price-note{font-size:13px;margin-top:6px}
}

@media(max-width:359px){
 .ref8-interior .data-table.price-table .price-table-action .price-appointment{padding-inline:14px}
 .ref8-interior .data-table.price-table :is(.price-table-amount,.price-table-amount .price-amount){font-size:18px}
}

/* Shared direction rows: actions anchor to the grid's lower edge. */
[data-ref-services] .ref8-service-content{align-items:stretch}
[data-ref-services] .ref8-service-expanded{align-self:stretch;gap:var(--space-6)}
[data-ref-services] .ref8-service-expanded>.ref8-service-more{margin-top:auto;gap:var(--space-4) var(--space-6)}

/* Quiet, coordinated motion for the disclosure and its controls. */
[data-ref-services] .ref8-service-row{--service-ease:cubic-bezier(.2,.8,.2,1);transition:background-color 160ms var(--service-ease)}
[data-ref-services] .ref8-service-summary h3{transition:color 160ms var(--service-ease)}
[data-ref-services] .ref8-service-arrow{transition:background-color 160ms var(--service-ease),border-color 160ms var(--service-ease),color 160ms var(--service-ease),transform 160ms var(--service-ease)}
[data-ref-services] .ref8-service-arrow>.icon{transition:transform 180ms var(--service-ease)}
[data-ref-services] .ref8-service-more :is(.btn,.text-link){transition:background-color 160ms var(--service-ease),color 160ms var(--service-ease),transform 160ms var(--service-ease),text-decoration-color 160ms var(--service-ease)}
[data-ref-services] .ref8-service-more .text-link>.icon{transition:transform 160ms var(--service-ease)}
[data-ref-services] .ref8-service-procedure-link{transition:color 160ms var(--service-ease),text-decoration-color 160ms var(--service-ease);text-decoration-color:var(--color-input-border)}
[data-ref-services] .ref8-service-procedure-link:is(:hover,:focus-visible){color:var(--color-primary);text-decoration-color:currentColor}
[data-ref-services] .ref8-service-more .btn:active{transform:translateY(1px);box-shadow:none}
body [data-ref-services] .ref8-service-row.service-card[data-service-state=closing]{background:var(--color-white)}
[data-ref-services] .ref8-service-row[data-service-state=closing] .ref8-service-summary h3{color:var(--color-ink)}
[data-ref-services] .ref8-service-row[data-service-state=closing] .ref8-service-arrow{background:transparent;border-color:var(--color-input-border);color:var(--color-muted)}
[data-ref-services] .ref8-service-row[data-service-state=closing] .ref8-service-arrow>.icon{transform:rotate(-45deg)}
/* reference.js animates the row once, keeping photos, copy and actions together. */
@media(hover:hover) and (pointer:fine){
 [data-ref-services] .ref8-service-summary:hover .ref8-service-arrow{transform:translateY(-1px)}
 [data-ref-services] .ref8-service-more .btn:hover:not(:active){transform:translateY(-1px);box-shadow:none}
 [data-ref-services] .ref8-service-more .text-link:hover>.icon{transform:translateX(2px)}
}
[data-ref-services] .ref8-service-summary:focus-visible .ref8-service-arrow{transform:translateY(-1px)}
[data-ref-services] .ref8-service-more .text-link:focus-visible>.icon{transform:translateX(2px)}
@media(max-width:767px){[data-ref-services] .ref8-service-expanded{gap:var(--space-6)}}
@media(prefers-reduced-motion:reduce){
 [data-ref-services] .ref8-service-row,[data-ref-services] .ref8-service-summary h3,[data-ref-services] .ref8-service-arrow,[data-ref-services] .ref8-service-arrow>.icon,[data-ref-services] .ref8-service-more :is(.btn,.text-link),[data-ref-services] .ref8-service-more .text-link>.icon,[data-ref-services] .ref8-service-procedure-link{transition:none!important}
 [data-ref-services] .ref8-service-row [data-ref-service-image],[data-ref-services] .ref8-service-row .ref8-service-procedures>li,[data-ref-services] .ref8-service-row .ref8-service-more{animation:none!important}
 [data-ref-services] .ref8-service-summary:is(:hover,:focus-visible) .ref8-service-arrow,[data-ref-services] .ref8-service-more .btn:is(:hover,:active),[data-ref-services] .ref8-service-more .text-link:is(:hover,:focus-visible)>.icon{transform:none!important}
}

/* Both service views share live content and one global block setting. */
body [data-ref-services].service-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-block:24px}
body .service-tile{display:flex;flex-direction:column;overflow:hidden;border-radius:24px;background:var(--color-surface-blue,#e8f1ff);color:var(--color-ink,#1e293b);min-width:0;border:1px solid var(--color-line,#d4e1f5)}
body .service-tile[hidden]{display:none}
body .service-tile-photo{aspect-ratio:16/10;overflow:hidden;padding:0}
body .service-tile-photo img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0}
body .service-tile-copy{display:flex;flex-direction:column;gap:16px;padding:24px;flex:1}
body .service-tile-copy h3{font-size:24px;line-height:1.25;margin:0}
body .service-tile-copy p{margin:0;line-height:1.55;font-size:16px}
body .service-tile-copy .ref8-service-amount{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;max-width:100%}
body .service-tile-copy .ref8-service-amount small{width:100%;white-space:normal}
body .service-tile-copy .ref8-service-more{display:flex;flex-wrap:wrap;gap:16px;margin:0;padding:0;border:0}
body .service-tile-copy .ref8-service-more .btn{width:100%}
@media(max-width:1000px){body [data-ref-services].service-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){body [data-ref-services].service-tiles{grid-template-columns:1fr;gap:16px}body .service-tile-copy{padding:20px}}
