.procedure-pricing-section { padding-block: 48px 56px; scroll-margin-top: calc(var(--header-height) + 20px); }
.procedure-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-block-end: 20px; }
.procedure-heading h2 { margin-block: 0 16px; font-size: clamp(1.8rem,1.25rem + 1.2vw,2.6rem); }
.procedure-heading p { max-width: 65ch; margin: 0; color: var(--color-text-muted); line-height: 1.65; }
.procedure-disclosure { max-width: 100ch; margin-block: 0 28px; font-size: .875rem; line-height: 1.7; color: var(--color-text-muted); }
.procedure-rail-controls { display: flex; gap: 8px; flex-shrink: 0; }
.procedure-rail-controls button { display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid var(--color-slate-light); background: #fff; color: var(--color-teal-primary); border-radius: 4px; cursor: pointer; }
.procedure-rail-controls button:disabled { opacity: .35; cursor: default; }
.procedure-rail-controls i { width: 20px; height: 20px; }
.procedure-rail { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(300px,calc((100% - 48px) / 3)); gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-color: #76998e #edf4f1; padding-block-end: 20px; }
.procedure-card { display: flex; flex-direction: column; min-width: 0; background: #fff; border: 1px solid var(--color-slate-light); border-radius: 4px; overflow: hidden; scroll-snap-align: start; }
.procedure-card[hidden],.procedure-empty[hidden] { display: none; }
.procedure-card figure { margin: 0; }
.procedure-card img { display: block; width: 100%; height: auto; aspect-ratio: 8 / 5; object-fit: contain; background: #f6f7f2; }
.procedure-card figcaption { padding: 10px 22px 0; font-size: .72rem; line-height: 1.5; color: var(--color-text-muted); }
.procedure-card-copy { display: flex; flex-direction: column; flex: 1; padding: 26px 26px 24px; border-block-start:3px solid var(--color-teal-primary); }
.procedure-provider { display:flex; align-items:flex-start; gap:8px; color: var(--color-text-muted); font-size: .78rem; line-height: 1.6; margin-block: 0 16px; }
.procedure-provider .uw-icon { width:18px; height:18px; flex:0 0 18px; color:var(--color-teal-primary); filter:none; }
.procedure-card h3 { font-size: 1.5rem; line-height: 1.25; margin-block: 0 16px; overflow-wrap: anywhere; }
.procedure-clinical-context { margin:0 0 24px; font-size:.875rem; line-height:1.65; color:var(--color-text-muted); }
.procedure-explainer { border-top:1px solid var(--color-slate-light); }
.procedure-explainer summary { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:48px; padding-block:10px; cursor:pointer; font-size:.85rem; font-weight:500; color:var(--color-teal-primary); list-style:none; }
.procedure-explainer summary::-webkit-details-marker { display:none; }
.procedure-explainer summary .uw-icon { width:17px; height:17px; flex:0 0 17px; filter:none; transition:transform .15s ease; }
.procedure-explainer[open] summary .uw-icon { transform:rotate(90deg); }
.procedure-explainer > div { padding:4px 0 18px; }
.procedure-explainer-label { margin:0 0 8px; color:var(--color-text-muted); font-size:.75rem; }
.procedure-patient-question { margin:0; padding-inline-start:14px; border-inline-start:2px solid var(--color-gold); font-size:.9375rem; line-height:1.55; color:var(--color-text-dark); }
.procedure-technical-name { font-size:.75rem; line-height:1.55; color:var(--color-text-muted); margin:14px 0 0; }
.procedure-actions { display:grid; gap:10px; }
.procedure-detail-link { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px 14px; min-height:46px; border:1px solid var(--color-slate-light); border-radius:4px; color:var(--color-teal-primary); font-size:.85rem; text-decoration:none; line-height:1.4; }
.procedure-detail-link:visited { color:var(--color-teal-primary); }
.procedure-detail-link:hover { background:#f0f6f2; border-color:var(--color-teal-primary); }
.procedure-detail-link .uw-icon { width:18px; height:18px; flex:0 0 18px; filter:none; }
.procedure-amount { display: flex; flex-direction: column; gap: 6px; color: var(--color-teal-primary); margin-block: auto 12px; }
.procedure-amount .procedure-reference-label { font-size: .8rem; color: var(--color-text-muted); }
.procedure-amount strong { font-size: 1.85rem; font-weight: 500; font-variant-numeric: tabular-nums; line-height: 1.25; }
.procedure-amount > span:last-child { font-size: .8rem; }
.procedure-currency-note { margin-block: 0 16px; font-size: .75rem; line-height: 1.6; color: var(--color-text-muted); }
.procedure-source { border-block: 1px solid var(--color-slate-light); margin-block: 0 20px; padding-block: 10px; }
.procedure-source summary { cursor: pointer; min-height: 30px; line-height: 1.8; color: var(--color-teal-primary); font-size: .85rem; }
.procedure-source p { margin-block: 12px; font-size: .8rem; line-height: 1.7; color: var(--color-text-muted); }
.procedure-source-links { display: grid; gap: 8px; }
.procedure-source-links a { font-size: .8rem; line-height: 1.65; text-underline-offset: 4px; color: var(--color-teal-primary); }
.procedure-card .btn { min-height: 48px; font-size: .85rem; width: 100%; margin-block-start: 0; }
.procedure-view-all { display: inline-flex; align-items: center; gap: 12px; min-height: 48px; color: var(--color-teal-primary); text-underline-offset: 5px; margin-block-start: 20px; }
.procedure-view-all i { width: 18px; height: 18px; }
.procedure-filters { display: flex; flex-wrap: wrap; gap: 20px; padding-block: 12px 28px; }
.procedure-filters label { display: grid; gap: 10px; font-size: .85rem; color: var(--color-text-muted); flex: 1; min-width: 230px; }
.procedure-filters :is(input,select) { width: 100%; min-width: 0; padding: 13px 15px; min-height: 48px; font: inherit; font-size: 1rem; border: 1px solid var(--color-slate-light); color: var(--color-teal-dark); border-radius: 4px; background: #fff; }
.procedure-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px 24px; }
.procedure-empty { padding-block: 30px; color: var(--color-text-muted); }
.procedure-pricing-section :is(a,button,input,select,summary,[tabindex]):focus-visible { outline: 3px solid var(--color-teal-light); outline-offset: 4px; }
.procedure-pricing-section .btn:hover { background: var(--color-teal-dark); }
.procedure-pricing-section ::selection { background: #d0e9df; color: #053332; }
@media(prefers-reduced-motion:reduce) { .procedure-explainer summary .uw-icon { transition:none; } }
@media(max-width:1000px) { .procedure-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .procedure-rail { grid-auto-columns: calc((100% - 24px)/2); } }
@media(max-width:600px) { .procedure-pricing-section { padding-block: 32px 40px; } .procedure-heading { align-items: start; } .procedure-heading h2 { font-size: 1.8rem; } .procedure-heading p { font-size: .9375rem; } .procedure-rail-controls { display: none; } .procedure-rail { grid-auto-columns: 88%; gap: 16px; } .procedure-grid { grid-template-columns: minmax(0,1fr); gap: 24px; } .procedure-card img { height: auto; } .procedure-filters label { min-width: 100%; } }

.procedure-art + .procedure-card-copy { border-block-start: 0; }
