:root {
  --ink: #17242a;
  --muted: #5d6a6f;
  --paper: #f6f3ed;
  --white: #ffffff;
  --teal: #174f50;
  --teal-soft: #dfecea;
  --sand: #d9c7aa;
  --line: rgba(23, 36, 42, 0.14);
  --serif: "Newsreader", Georgia, serif;
  --sans: "DM Sans", Arial, sans-serif;
  --shadow: 0 28px 80px rgba(23, 36, 42, 0.14);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); }
body.modal-open { overflow: hidden; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; left: 1rem; top: -5rem; background: var(--white); padding: .8rem 1rem; z-index: 100; }
.skip-link:focus { top: 1rem; }

.prototype-bar { min-height: 34px; display: flex; align-items: center; justify-content: center; gap: 1rem; padding: .45rem 1rem; background: var(--ink); color: #eef4f3; font-size: .74rem; letter-spacing: .02em; }
.prototype-info { padding: 0; border: 0; color: #b8d8d4; background: transparent; text-decoration: underline; cursor: pointer; }
.site-header { height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 0 clamp(1.25rem, 4vw, 4.5rem); background: rgba(246,243,237,.92); backdrop-filter: blur(14px); border-bottom: 1px solid transparent; position: sticky; top: 0; z-index: 30; transition: height .25s ease, border-color .25s ease; }
.site-header.scrolled { height: 68px; border-color: var(--line); }
.brand { display: flex; align-items: center; gap: .85rem; text-decoration: none; }
.brand-mark { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--ink); border-radius: 50%; font-family: var(--serif); font-size: .9rem; }
.brand strong, .brand small { display: block; }
.brand strong { font-family: var(--serif); font-size: 1.05rem; font-weight: 500; }
.brand small { color: var(--muted); font-size: .67rem; margin-top: .1rem; }
.main-nav { display: flex; align-items: center; gap: clamp(1.1rem, 2vw, 2rem); }
.main-nav a { position: relative; font-size: .84rem; text-decoration: none; }
.main-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -.35rem; height: 1px; background: var(--teal); transition: right .2s ease; }
.main-nav a:hover::after, .main-nav a.active::after, .main-nav a[aria-current="page"]::after { right: 0; }
.menu-toggle { display: none; }

.button { border: 1px solid var(--teal); border-radius: 999px; background: var(--teal); color: white; padding: .9rem 1.35rem; font-weight: 600; font-size: .85rem; cursor: pointer; transition: transform .2s ease, background .2s ease, box-shadow .2s ease; }
.button:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(23,79,80,.18); background: #0f4142; }
.button:focus-visible, a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid rgba(23,79,80,.25); outline-offset: 3px; }
.button-small { padding: .68rem 1rem; }
.button-light { background: var(--white); color: var(--teal); border-color: var(--white); }
.text-link { font-size: .88rem; font-weight: 600; text-underline-offset: .35rem; }
.text-link span { display: inline-block; margin-left: .3rem; }

.section-shell { padding-left: clamp(1.25rem, 7vw, 7.5rem); padding-right: clamp(1.25rem, 7vw, 7.5rem); }
.eyebrow { margin: 0 0 1.1rem; color: var(--teal); font-size: .72rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
h1, h2, h3 { font-family: var(--serif); font-weight: 400; line-height: .98; letter-spacing: -.025em; }
h1 { max-width: 820px; margin: 0; font-size: clamp(3.15rem, 7vw, 7.2rem); }
h2 { margin: 0; font-size: clamp(2.5rem, 4.7vw, 5.2rem); }
h3 { font-size: clamp(2rem, 3vw, 3.5rem); }

.hero { min-height: calc(100vh - 116px); display: grid; grid-template-columns: minmax(0,1.25fr) minmax(300px,.75fr); gap: clamp(2rem, 5vw, 6rem); align-items: center; padding-top: clamp(4rem, 9vh, 8rem); padding-bottom: 2rem; position: relative; overflow: hidden; }
.hero::before { content: ""; width: 42vw; height: 42vw; position: absolute; right: -16vw; top: -9vw; border: 1px solid rgba(23,79,80,.12); border-radius: 50%; pointer-events: none; }
.hero-lead { max-width: 650px; margin: 1.75rem 0 0; color: var(--muted); font-size: clamp(1rem, 1.4vw, 1.2rem); line-height: 1.65; }
.hero-actions { display: flex; align-items: center; gap: 1.4rem; margin-top: 2rem; }
.microcopy { max-width: 520px; color: var(--muted); font-size: .72rem; line-height: 1.6; margin-top: 1.5rem; }
.hero-visual { align-self: stretch; min-height: 520px; display: flex; align-items: center; justify-content: center; position: relative; }
.visual-frame { width: min(100%, 400px); height: 72%; min-height: 410px; display: flex; flex-direction: column; align-items: center; justify-content: center; background: linear-gradient(145deg,#d9e5e3,#9ebfba); border-radius: 49% 49% 3rem 3rem; position: relative; overflow: hidden; }
.visual-frame::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(23,79,80,.16), transparent 38%); pointer-events: none; }
.portrait { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center 24%; }
.credential-card { max-width: 330px; position: absolute; left: -2.5rem; bottom: 4rem; padding: 1.25rem 1.4rem; background: rgba(255,255,255,.94); box-shadow: var(--shadow); }
.credential-card span, .credential-card strong, .credential-card small { display: block; }
.credential-card span { color: var(--teal); font-size: .63rem; letter-spacing: .13em; text-transform: uppercase; }
.credential-card strong { margin: .5rem 0; font-family: var(--serif); font-size: 1.2rem; font-weight: 500; line-height: 1.1; }
.credential-card small { color: var(--muted); font-size: .67rem; line-height: 1.5; }
.trust-strip { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3,1fr); gap: 0; margin-top: 1rem; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.trust-strip div { padding: 1.2rem 1.5rem; display: grid; grid-template-columns: auto 1fr; column-gap: .9rem; }
.trust-strip div + div { border-left: 1px solid var(--line); }
.trust-strip span { grid-row: 1 / 3; color: var(--muted); font-family: var(--serif); }
.trust-strip strong { font-size: .8rem; }
.trust-strip small { color: var(--muted); font-size: .68rem; margin-top: .16rem; }

.treatments { padding-top: clamp(6rem, 12vw, 11rem); padding-bottom: clamp(6rem, 12vw, 11rem); background: var(--white); }
.section-intro { display: grid; grid-template-columns: 1fr 2fr; gap: 2rem; align-items: start; margin-bottom: clamp(3rem, 6vw, 6rem); }
.section-intro .eyebrow { grid-row: 1 / 3; }
.section-intro p:last-child { max-width: 570px; color: var(--muted); line-height: 1.7; }
.treatment-layout { display: grid; grid-template-columns: minmax(250px,.8fr) minmax(0,1.4fr); gap: clamp(2rem, 6vw, 7rem); }
.treatment-tabs { display: flex; flex-direction: column; border-top: 1px solid var(--line); }
.treatment-tabs button { display: flex; gap: 1.2rem; align-items: center; padding: 1.25rem .2rem; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--muted); text-align: left; cursor: pointer; transition: padding .2s ease, color .2s ease; }
.treatment-tabs button span { color: var(--muted); font-family: var(--serif); }
.treatment-tabs button[aria-selected="true"] { padding-left: 1rem; background: var(--teal-soft); color: var(--teal); font-weight: 600; }
.treatment-panel { min-height: 430px; padding: clamp(2rem, 4vw, 4rem); background: var(--paper); position: relative; }
.treatment-panel article { animation: panelIn .35s ease both; }
.panel-kicker { margin: 0 0 .7rem; color: var(--teal); font-size: .7rem; letter-spacing: .16em; text-transform: uppercase; }
.treatment-panel h3 { max-width: 600px; margin: 0 0 1.2rem; }
.treatment-panel article > p:not(.panel-kicker) { max-width: 650px; color: var(--muted); line-height: 1.7; }
.treatment-panel ul { display: grid; gap: .65rem; list-style: none; padding: 1rem 0 0; font-size: .83rem; }
.treatment-panel li::before { content: "—"; color: var(--teal); margin-right: .7rem; }
.panel-cta { position: absolute; bottom: 2rem; right: 2rem; border: 0; background: transparent; color: var(--teal); font-weight: 700; cursor: pointer; }
.panel-cta span { margin-left: .4rem; }
@keyframes panelIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

.consult { padding-top: clamp(5rem, 10vw, 9rem); background: var(--teal-soft); }
.consult-card { padding: clamp(2.2rem, 6vw, 6rem); color: var(--white); background: var(--teal); display: grid; grid-template-columns: 1.2fr 1fr; gap: 4rem; }
.consult-card .eyebrow { color: #a7cfca; }
.consult-card > div:first-child > p:last-child { max-width: 580px; color: #c4d9d7; line-height: 1.7; }
.consultation-copy { align-self: end; }
.consultation-copy p { margin: 0; color: #c4d9d7; line-height: 1.75; }
.consultation-copy p + p { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.16); }
.process-list { margin: 0; padding: 0; list-style: none; }
.process-list li { display: grid; grid-template-columns: 38px 1fr; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid rgba(255,255,255,.16); }
.process-list li > span { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; font-family: var(--serif); }
.process-list strong, .process-list small { display: block; }
.process-list strong { font-size: .84rem; }
.process-list small { margin-top: .25rem; color: #b8cecc; font-size: .72rem; }
.consult-actions { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: center; gap: 2rem; padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.16); }
.consult-actions p { max-width: 520px; margin: 0; color: #b8cecc; font-size: .72rem; text-align: right; line-height: 1.5; }
.site-footer { min-height: 180px; display: grid; grid-template-columns: 1fr 1.5fr auto; gap: 2rem; align-items: center; }
.site-footer strong, .site-footer span { display: block; }
.site-footer strong { font-family: var(--serif); font-size: 1.1rem; }
.site-footer span, .site-footer p, .site-footer a { color: var(--muted); font-size: .7rem; line-height: 1.6; }
.site-footer p { max-width: 460px; }
.site-footer a { font-weight: 600; }
.footer-links { display: grid; justify-items: end; gap: .35rem; }

.natural-section { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: clamp(3rem, 8vw, 9rem); align-items: start; padding-top: clamp(6rem, 11vw, 10rem); padding-bottom: clamp(6rem, 11vw, 10rem); background: var(--teal-soft); }
.natural-heading { position: sticky; top: 100px; }
.natural-heading h2 { max-width: 680px; }
.natural-heading blockquote { max-width: 520px; margin: 3rem 0 0; padding-left: 1.5rem; border-left: 2px solid var(--teal); color: var(--teal); font-family: var(--serif); font-size: clamp(1.6rem, 2.5vw, 2.7rem); line-height: 1.12; }
.natural-copy { max-width: 700px; }
.natural-copy p { margin: 0; color: var(--muted); font-size: clamp(.95rem, 1.15vw, 1.08rem); line-height: 1.82; }
.natural-copy p + p { margin-top: 1.6rem; }
.about-preview { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(3rem, 8vw, 9rem); padding-top: clamp(6rem, 11vw, 10rem); padding-bottom: clamp(6rem, 11vw, 10rem); }
.about-preview h2 { max-width: 680px; }
.about-preview-copy { align-self: end; max-width: 610px; }
.about-preview-copy p { color: var(--muted); line-height: 1.75; }
.about-preview-copy .text-link { display: inline-block; margin-top: 1.5rem; }
.about-hero { min-height: 66vh; display: flex; flex-direction: column; justify-content: flex-end; padding-top: 7rem; padding-bottom: 5rem; }
.about-hero .breadcrumbs { margin-bottom: auto; padding-top: 1rem; }
.about-story { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(260px,.65fr); gap: clamp(3rem, 8vw, 9rem); align-items: start; padding-top: clamp(5rem, 9vw, 8rem); padding-bottom: clamp(6rem, 11vw, 10rem); background: var(--white); }
.about-story-copy { max-width: 760px; }
.about-story-copy > p { color: var(--muted); font-size: clamp(1rem, 1.2vw, 1.12rem); line-height: 1.85; }
.about-story-copy > p + p { margin-top: 1.7rem; }
.about-story-copy blockquote { margin: 3.5rem 0; padding: 0 0 0 2rem; border-left: 2px solid var(--teal); color: var(--teal); font-family: var(--serif); font-size: clamp(2rem, 3.5vw, 3.6rem); line-height: 1.08; }
.about-aside { position: sticky; top: 100px; padding: 2rem; background: var(--teal-soft); }
.about-aside strong { display: block; margin: 2.5rem 0 1rem; font-family: var(--serif); font-size: 2rem; font-weight: 400; line-height: 1.05; }
.about-aside > p:not(.eyebrow) { color: var(--muted); font-size: .82rem; line-height: 1.65; }
.about-aside .text-link { display: inline-block; margin-top: 1.5rem; }
.procedure-editorial { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: clamp(3rem, 8vw, 9rem); padding-top: clamp(5rem, 9vw, 8rem); padding-bottom: clamp(5rem, 9vw, 8rem); background: var(--teal-soft); }
.procedure-editorial-heading h2 { max-width: 680px; }
.procedure-editorial-copy { max-width: 720px; }
.procedure-editorial-copy p { margin: 0; color: var(--muted); font-size: clamp(.95rem, 1.15vw, 1.08rem); line-height: 1.82; }
.procedure-editorial-copy p + p { margin-top: 1.6rem; }
.procedure-guide { display: grid; grid-template-columns: minmax(260px,.72fr) minmax(0,1.28fr); gap: clamp(3rem, 8vw, 9rem); padding-top: clamp(5rem, 9vw, 8rem); padding-bottom: clamp(5rem, 9vw, 8rem); background: var(--white); border-top: 1px solid var(--line); }
.procedure-guide:nth-of-type(even) { background: var(--teal-soft); }
.procedure-guide-heading { align-self: start; position: sticky; top: 100px; }
.procedure-guide-heading h2 { font-size: clamp(2.5rem,4.3vw,4.8rem); }
.procedure-guide-heading > p:last-child { max-width: 520px; margin-top: 1.5rem; color: var(--muted); font-size: .88rem; line-height: 1.7; }
.procedure-accordions { border-top: 1px solid var(--line); }
.procedure-accordions details { margin: 0; padding: 0; border-top: 0; border-bottom: 1px solid var(--line); }
.procedure-accordions summary { display: grid; grid-template-columns: 3rem 1fr auto; gap: 1rem; align-items: baseline; padding: 1.4rem .25rem; color: var(--ink); font-family: var(--serif); font-size: clamp(1.45rem,2.2vw,2.25rem); font-weight: 400; line-height: 1.15; list-style: none; }
.procedure-accordions summary::-webkit-details-marker { display: none; }
.procedure-accordions summary::after { content: "+"; color: var(--teal); font-family: var(--sans); font-size: 1.15rem; }
.procedure-accordions details[open] summary::after { content: "−"; }
.procedure-accordions summary span { color: var(--muted); font-family: var(--serif); font-size: .8rem; }
.accordion-copy { padding: 0 3rem 1.8rem 4.25rem; }
.accordion-copy p { margin: 0; color: var(--muted); font-size: .9rem; line-height: 1.78; }
.accordion-copy p + p { margin-top: 1rem; }

.bra-sizing { padding-top: clamp(5rem, 10vw, 9rem); padding-bottom: clamp(5rem, 10vw, 9rem); background: var(--white); border-top: 1px solid var(--line); }
.bra-sizing-intro { display: grid; grid-template-columns: minmax(0,.82fr) minmax(340px,1.18fr); gap: clamp(2.5rem,7vw,8rem); align-items: center; }
.bra-sizing-intro h2 { max-width: 680px; }
.bra-sizing-intro > div > p:last-child { max-width: 620px; margin-top: 1.6rem; color: var(--muted); line-height: 1.78; }
.bra-sizing figure { margin: 0; background: var(--paper); overflow: hidden; }
.bra-sizing figure img { width: 100%; aspect-ratio: 3 / 2; display: block; object-fit: cover; }
.bra-sizing figcaption { padding: .8rem 1rem; color: var(--muted); font-size: .68rem; line-height: 1.5; border: 1px solid var(--line); border-top: 0; }
.bra-size-principles { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: clamp(3rem,6vw,6rem); background: var(--line); border: 1px solid var(--line); }
.bra-size-principles article { min-height: 260px; padding: clamp(1.7rem,3vw,3rem); background: var(--paper); }
.bra-size-principles span { color: var(--muted); font-family: var(--serif); }
.bra-size-principles h3, .bra-sizing-grid h3, .bra-sizing-note h3, .bra-sizing-outcome h3 { margin: 2.4rem 0 1rem; font-size: clamp(1.8rem,3vw,3rem); }
.bra-size-principles p, .bra-sizing-grid p, .bra-sizing-note p, .bra-sizing-outcome p { color: var(--muted); font-size: .88rem; line-height: 1.75; }
.bra-sizing-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem,5vw,5rem); padding-top: clamp(4rem,8vw,7rem); }
.bra-sizing-grid > article > h3 { margin-top: 0; }
.table-scroll { margin-top: 1.6rem; overflow-x: auto; border-top: 1px solid var(--line); }
.bra-sizing table { width: 100%; border-collapse: collapse; font-size: .78rem; font-variant-numeric: tabular-nums; }
.bra-sizing th, .bra-sizing td { padding: .8rem .65rem; text-align: left; border-bottom: 1px solid var(--line); }
.bra-sizing th { color: var(--teal); font-size: .68rem; letter-spacing: .06em; text-transform: uppercase; }
.bra-sizing tbody tr:nth-child(even) { background: var(--teal-soft); }
.bra-sizing-note { margin-top: clamp(4rem,8vw,7rem); padding: clamp(2rem,5vw,5rem); color: var(--white); background: var(--teal); }
.bra-sizing-note .eyebrow { color: #a7cfca; }
.bra-sizing-note h3 { max-width: 820px; margin-top: 1.2rem; }
.bra-sizing-note p { max-width: 860px; color: #c4d9d7; }
.bra-sizing-note p + p { margin-top: 1rem; }
.bra-sizing-outcome { max-width: 940px; margin: clamp(4rem,8vw,7rem) auto 0; }
.bra-sizing-outcome h3 { margin-top: 1.2rem; }
.bra-sizing-outcome p + p { margin-top: 1.2rem; }

.mobile-cta { display: none; }
.modal { width: min(650px, calc(100vw - 2rem)); max-height: 92vh; padding: 0; border: 0; background: transparent; overflow: visible; }
.modal::backdrop { background: rgba(10,25,29,.72); backdrop-filter: blur(5px); }
.modal-shell { max-height: 92vh; overflow-y: auto; padding: clamp(1.5rem, 5vw, 3.5rem); background: var(--paper); box-shadow: var(--shadow); position: relative; }
.modal-close { width: 38px; height: 38px; position: absolute; right: 1rem; top: 1rem; border: 1px solid var(--line); border-radius: 50%; background: transparent; color: var(--ink); font-size: 1.5rem; cursor: pointer; }
.modal-head h2, .note-modal h2 { font-size: clamp(2.4rem, 5vw, 4rem); }
.modal-head > p:last-child { color: var(--muted); font-size: .8rem; line-height: 1.6; }
form { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 2rem; }
label { display: grid; gap: .45rem; color: var(--ink); font-size: .72rem; font-weight: 600; }
label:nth-child(3), label:nth-child(4), .check, form .button { grid-column: 1 / -1; }
input, select, textarea { width: 100%; border: 1px solid var(--line); border-radius: 0; background: var(--white); color: var(--ink); padding: .85rem; }
textarea { resize: vertical; }
.check { grid-template-columns: auto 1fr; align-items: start; color: var(--muted); font-weight: 400; line-height: 1.5; }
.check input { width: auto; margin-top: .15rem; }
.success { padding: 3rem 0 1rem; text-align: center; }
.success > span { width: 64px; height: 64px; margin: auto; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--teal); font-size: 1.7rem; }
.success h3 { margin: 1.5rem 0 .8rem; }
.success p { color: var(--muted); line-height: 1.6; }
.note-modal ul { display: grid; gap: .8rem; margin: 2rem 0; padding-left: 1.2rem; color: var(--muted); line-height: 1.5; }
/* Keep medical content visible immediately, including when JavaScript is unavailable. */
.reveal { opacity: 1; transform: none; }
.reveal.visible { opacity: 1; transform: none; }

.language-link { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; font-weight: 700; }
.language-link::after { display: none; }
.outline-button { margin-top: 2rem; color: var(--teal); background: transparent; }
.text-button { border: 0; background: transparent; color: white; font-weight: 600; cursor: pointer; }
.areas { padding-top: clamp(6rem, 11vw, 10rem); padding-bottom: clamp(6rem, 11vw, 10rem); background: var(--white); }
.area-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.area-card { min-height: 390px; display: flex; flex-direction: column; padding: clamp(1.5rem, 3vw, 3rem); background: var(--white); text-decoration: none; transition: background .2s ease; }
.area-card:hover { background: var(--teal-soft); }
.area-card > span, .procedure-card > span { color: var(--muted); font-family: var(--serif); }
.area-card h3 { margin: auto 0 1rem; }
.area-card p { color: var(--muted); font-size: .84rem; }
.area-card strong, .procedure-card strong { margin-top: 1rem; color: var(--teal); font-size: .78rem; }
.area-card i { float: right; font-style: normal; }
.team-section { padding-top: clamp(5rem, 9vw, 8rem); background: var(--teal-soft); }
.team-card { padding: clamp(2.2rem, 6vw, 6rem); color: var(--white); background: var(--teal); display: grid; grid-template-columns: 1.1fr 1fr; gap: 4rem; }
.team-card .eyebrow, .cta-band .eyebrow, .next-section .eyebrow { color: #a7cfca; }
.team-card > div:first-child > p:last-child { max-width: 600px; color: #c4d9d7; }
.locations article { padding: 1.2rem 0; border-bottom: 1px solid rgba(255,255,255,.16); }
.locations span { color: #a7cfca; font-family: var(--serif); }
.locations h3 { margin: .5rem 0; font-size: 1.4rem; line-height: 1.1; }
.locations p { margin: 0; color: #b8cecc; font-size: .72rem; }
.team-actions { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.16); }
.team-actions a:not(.button) { color: #c4d9d7; font-size: .8rem; }
.team-secondary-links { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 1.25rem; }
.team-secondary-links .text-button { color: #c4d9d7; }
.page-hero { min-height: 64vh; display: flex; flex-direction: column; justify-content: flex-end; padding-top: 7rem; padding-bottom: 5rem; }
.page-hero > p:last-child { max-width: 700px; color: var(--muted); font-size: 1.05rem; }
.procedure-directory { padding-top: 2rem; padding-bottom: 7rem; background: var(--white); }
.directory-group { display: grid; grid-template-columns: .72fr 2fr; gap: 2rem; padding: 5rem 0; border-top: 1px solid var(--line); scroll-margin-top: 90px; }
.directory-group h2 { font-size: clamp(2rem, 3.6vw, 4rem); }
.procedure-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.procedure-card { min-height: 280px; display: flex; flex-direction: column; padding: 2rem; background: var(--paper); text-decoration: none; }
.procedure-card p { margin: auto 0 .4rem; color: var(--teal); font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; }
.procedure-card h3 { margin: 0; }
.cta-band { padding-top: 6rem; background: var(--white); }
.cta-band > div { padding: clamp(2.2rem, 6vw, 6rem); color: white; background: var(--teal); }
.cta-band p { max-width: 640px; color: #c4d9d7; }
.detail-hero { min-height: 72vh; display: grid; grid-template-columns: 1.3fr .7fr; gap: 5rem; align-items: center; padding-top: 6rem; padding-bottom: 6rem; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: 3rem; color: var(--muted); font-size: .72rem; }
.detail-hero .button { margin-top: .8rem; }
.detail-visual { aspect-ratio: .82; display: flex; flex-direction: column; justify-content: flex-end; padding: 2.5rem; color: white; background: linear-gradient(150deg,#9ebfba,var(--teal)); border-radius: 48% 48% 2rem 2rem; }
.detail-visual span, .detail-visual small { font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; }
.detail-visual strong { margin: .6rem 0; font-family: var(--serif); font-size: clamp(2rem,3vw,3.3rem); font-weight: 400; line-height: 1; }
.detail-content { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; padding-top: 1px; padding-bottom: 1px; background: var(--line); }
.detail-content article { min-height: 440px; padding: clamp(1.5rem,3vw,3rem); background: var(--white); }
.detail-content article > span { color: var(--muted); font-family: var(--serif); }
.detail-content h2 { margin-top: 4rem; font-size: clamp(2rem,3vw,3.2rem); }
.detail-content p, .detail-list { color: var(--muted); font-size: .85rem; line-height: 1.65; }
.detail-list { display: grid; gap: .9rem; padding: 0; list-style: none; }
.detail-list li { padding-bottom: .8rem; border-bottom: 1px solid var(--line); }
.detail-list li::before { content: "—"; color: var(--teal); margin-right: .6rem; }
details { margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--line); }
summary { color: var(--teal); font-weight: 600; cursor: pointer; }
.next-section { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; padding-top: 7rem; padding-bottom: 7rem; color: white; background: var(--teal); }
.next-section nav { display: flex; flex-wrap: wrap; gap: .6rem; }
.next-section nav a { padding: .55rem .8rem; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; font-size: .72rem; text-decoration: none; }
.next-section > div:last-child { text-align: right; }
.next-section h2 { margin-bottom: 1.5rem; }
.pathway { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--line); }
.pathway article { min-height: 340px; padding: 3rem; background: var(--white); }
.pathway span { color: var(--muted); font-family: var(--serif); }
.pathway h2 { margin-top: 4rem; font-size: 2.4rem; }
.pathway p { color: var(--muted); font-size: .85rem; }
.site-footer { padding-top: 2rem; padding-bottom: 2rem; background: var(--teal-soft); }
.footer-navigation { display: grid; justify-items: end; gap: 1rem; }
.social-links { display: flex; align-items: center; gap: .55rem; }
.social-link { width: 2.65rem; height: 2.65rem; display: grid; place-items: center; border: 1px solid rgba(52,115,116,.28); border-radius: 50%; color: var(--teal); background: rgba(255,255,255,.48); transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease; }
.social-link svg { width: 1.15rem; height: 1.15rem; fill: currentColor; }
a.social-link:hover, a.social-link:focus-visible { color: var(--white); background: var(--teal); border-color: var(--teal); transform: translateY(-2px); }
.social-link.is-pending { opacity: .42; cursor: default; }

/* Editorial CV and selected scientific work */
.cv-section { padding-top: clamp(5rem, 10vw, 9rem); padding-bottom: clamp(4rem, 8vw, 7rem); background: var(--white); }
.cv-heading { display: grid; grid-template-columns: minmax(0,.85fr) minmax(320px,1.15fr); gap: clamp(2rem,6vw,7rem); align-items: start; }
.cv-heading .eyebrow { grid-column: 1 / -1; margin-bottom: 0; }
.cv-heading > p:last-child { margin: .2rem 0 0; color: var(--muted); font-size: 1rem; line-height: 1.75; }
.cv-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; margin-top: clamp(3rem,6vw,6rem); border: 1px solid var(--line); background: var(--line); }
.cv-grid article { min-height: 270px; padding: clamp(1.5rem,3vw,3rem); background: var(--paper); }
.cv-grid span { color: var(--muted); font-family: var(--serif); }
.cv-grid h3 { margin: 2.5rem 0 1rem; font-size: clamp(1.8rem,3vw,3rem); }
.cv-grid p { color: var(--muted); font-size: .9rem; line-height: 1.72; }
.publications { padding-top: clamp(5rem,9vw,8rem); padding-bottom: clamp(5rem,10vw,9rem); overflow: hidden; }
.publications-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; }
.publications-heading > div:first-child { max-width: 850px; }
.publications-heading p:last-child { max-width: 620px; color: var(--muted); line-height: 1.7; }
.carousel-controls { display: flex; gap: .6rem; flex: 0 0 auto; }
.carousel-controls button { width: 3rem; height: 3rem; border: 1px solid var(--teal); border-radius: 50%; color: var(--teal); background: transparent; cursor: pointer; font-size: 1.25rem; }
.carousel-controls button:hover, .carousel-controls button:focus-visible { color: var(--white); background: var(--teal); }
.publication-carousel { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(330px,42vw); gap: 1.2rem; margin-top: 2.4rem; padding: .4rem .2rem 1.5rem; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: inline mandatory; scrollbar-color: var(--teal) var(--teal-soft); cursor: grab; }
.publication-carousel.is-dragging { cursor: grabbing; scroll-snap-type: none; user-select: none; }
.publication-card { scroll-snap-align: start; display: grid; grid-template-rows: auto 1fr; min-width: 0; border: 1px solid var(--line); background: var(--white); }
.publication-preview { min-height: 310px; display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto 1fr auto auto; gap: 1.2rem; padding: clamp(1.5rem,3vw,2.6rem); color: var(--ink); background: linear-gradient(165deg,#fffdf6 0%,#f3efe4 100%); text-decoration: none; border-bottom: 1px solid var(--line); box-shadow: inset 0 .35rem 0 var(--teal); }
.publication-journal { align-self: start; color: var(--teal); font-family: var(--serif); font-size: 1.05rem; font-weight: 500; letter-spacing: .025em; }
.publication-year { color: var(--muted); font-size: .72rem; }
.publication-preview h3 { grid-column: 1 / -1; align-self: center; margin: 1.2rem 0; font-size: clamp(1.55rem,2.2vw,2.35rem); line-height: 1.04; }
.publication-preview p { grid-column: 1 / -1; margin: 0; color: var(--muted); font-family: var(--serif); font-size: .9rem; line-height: 1.55; }
.publication-abstract { grid-column: 1 / -1; padding-top: .9rem; border-top: 1px solid var(--line); color: var(--teal); font-size: .68rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.publication-copy { display: flex; flex-direction: column; align-items: flex-start; padding: 1.3rem 1.5rem 1.5rem; }
.publication-copy p { margin: 0 0 1.2rem; color: var(--muted); font-size: .84rem; line-height: 1.65; }
.publication-copy a { margin-top: auto; color: var(--teal); font-size: .8rem; font-weight: 700; text-underline-offset: .25rem; }
.scientific-links { display: grid; grid-template-columns: .7fr 1.3fr; gap: 2rem; align-items: start; margin-top: clamp(3rem,6vw,5rem); padding-top: 2rem; border-top: 1px solid var(--line); }
.scientific-links h3 { margin: 0; font-size: clamp(1.8rem,3vw,3rem); }
.scientific-profiles { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.scientific-profiles a { display: grid; grid-template-columns: auto 1fr; gap: .2rem .85rem; align-items: center; padding: 1rem 1.1rem; border: 1px solid var(--line); text-decoration: none; background: var(--white); }
.scientific-profiles a:hover { background: var(--teal-soft); }
.scientific-profiles span { grid-row: 1 / 3; width: 2.35rem; height: 2.35rem; display: grid; place-items: center; border-radius: 50%; color: var(--white); background: var(--teal); font-size: .78rem; font-weight: 700; }
.scientific-profiles strong, .scientific-profiles small { display: block; }
.scientific-profiles small { color: var(--muted); font-size: .7rem; }

@media (max-width: 920px) {
  .site-header { height: 70px; }
  .menu-toggle { width: 44px; height: 44px; display: grid; align-content: center; gap: 5px; padding: 10px; border: 0; background: transparent; }
  .menu-toggle span:not(.sr-only) { height: 1px; background: var(--ink); }
  .main-nav { position: fixed; inset: 104px 0 auto; min-height: calc(100vh - 104px); display: none; align-items: stretch; flex-direction: column; padding: 3rem 1.5rem; background: var(--paper); }
  .site-header.scrolled .main-nav { inset-block-start: 102px; }
  .main-nav.open { display: flex; }
  .main-nav a { padding: .7rem 0; font-family: var(--serif); font-size: 2rem; }
  .main-nav .button { margin-top: 1rem; }
  .hero { grid-template-columns: 1fr; padding-top: 5rem; }
  .hero-visual { min-height: 480px; }
  .visual-frame { width: min(88%, 440px); }
  .credential-card { left: 5%; }
  .section-intro { grid-template-columns: 1fr; }
  .section-intro .eyebrow { grid-row: auto; }
  .treatment-layout, .consult-card, .team-card, .detail-hero, .directory-group { grid-template-columns: 1fr; }
  .natural-section, .about-preview, .about-story, .procedure-editorial, .procedure-guide, .bra-sizing-intro, .cv-heading, .scientific-links { grid-template-columns: 1fr; }
  .natural-heading { position: static; }
  .procedure-guide-heading { position: static; }
  .about-aside { position: static; }
  .area-grid, .detail-content, .pathway, .bra-size-principles, .bra-sizing-grid, .cv-grid { grid-template-columns: 1fr; }
  .area-card { min-height: 300px; }
  .detail-visual { width: 70%; max-width: 460px; margin: auto; }
  .detail-content article { min-height: 330px; }
  .detail-content h2 { margin-top: 2rem; }
  .treatment-tabs { display: grid; grid-template-columns: repeat(5, minmax(150px,1fr)); overflow-x: auto; scroll-snap-type: x mandatory; }
  .treatment-tabs button { min-height: 84px; scroll-snap-align: start; }
  .treatment-tabs button[aria-selected="true"] { padding-left: .8rem; }
  .consult-actions { grid-column: auto; }
  .site-footer { grid-template-columns: 1fr 1fr; }
  .site-footer p { grid-column: 1 / -1; grid-row: 2; }
}

@media (max-width: 620px) {
  body { padding-bottom: 66px; }
  .prototype-bar { justify-content: space-between; }
  .prototype-bar span { max-width: 58vw; }
  .brand small { display: none; }
  .brand-mark { width: 37px; height: 37px; }
  .hero { min-height: auto; padding-top: 4.5rem; }
  h1 { font-size: clamp(3rem, 14vw, 4.5rem); }
  .hero-actions { align-items: flex-start; flex-direction: column; }
  .hero-visual { min-height: 410px; }
  .visual-frame { min-height: 340px; }
  .credential-card { left: 0; right: 0; bottom: 1rem; margin: auto; }
  .trust-strip { grid-template-columns: 1fr; margin-top: 1.5rem; }
  .trust-strip div + div { border-left: 0; border-top: 1px solid var(--line); }
  .treatment-panel { min-height: 510px; padding: 1.6rem; }
  .panel-cta { left: 1.6rem; right: auto; }
  .consult-card { margin-left: -1.25rem; margin-right: -1.25rem; gap: 2rem; }
  .consult-actions { align-items: flex-start; flex-direction: column; }
  .consult-actions p { text-align: left; }
  .procedure-grid, .next-section { grid-template-columns: 1fr; }
  .team-card { margin-left: -1.25rem; margin-right: -1.25rem; gap: 2rem; }
  .team-actions { align-items: flex-start; flex-direction: column; }
  .team-secondary-links { align-items: flex-start; flex-direction: column; }
  .detail-hero { gap: 2rem; }
  .detail-visual { width: 100%; }
  .procedure-accordions summary { grid-template-columns: 2rem 1fr auto; }
  .accordion-copy { padding-left: 3rem; padding-right: .25rem; }
  .next-section > div:last-child { text-align: left; }
  .site-footer { grid-template-columns: 1fr auto; padding: 2rem 0; }
  .publications-heading { align-items: flex-start; flex-direction: column; }
  .publication-carousel { grid-auto-columns: minmax(82vw,82vw); }
  .scientific-profiles { grid-template-columns: 1fr; }
  .footer-navigation { justify-items: start; grid-column: 1 / -1; }
  .footer-links { justify-items: start; }
  .mobile-cta { display: block; position: fixed; left: .75rem; right: .75rem; bottom: .75rem; z-index: 25; padding: .9rem; border: 0; border-radius: 999px; color: white; background: var(--teal); box-shadow: 0 12px 34px rgba(23,36,42,.24); font-weight: 700; }
  form { grid-template-columns: 1fr; }
  form > * { grid-column: 1 !important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
/* Expanded private clinical guides */
.hub-secondary{display:inline-block;margin:20px 0 0 24px}.guide-index{padding-top:24px;padding-bottom:36px;border-bottom:1px solid var(--line,#dce3df)}.guide-index>div{display:flex;flex-wrap:wrap;gap:10px}.guide-index a{font-size:14px;padding:9px 14px;border:1px solid #d8e2dd;border-radius:24px;text-decoration:none;color:#31535c;background:#f8faf8}.guide-return{margin-top:24px;font-size:13px}.guide-return a{color:#526e70}.clinical-gallery{display:grid;gap:24px;padding:16px 0}.clinical-figure{margin:0;background:#fff;border:1px solid #e3e8e3;border-radius:14px;overflow:hidden}.clinical-figure img{display:block;width:100%;height:auto}.clinical-figure figcaption{padding:14px 18px;font-size:12px;line-height:1.6;color:#5c7277}.clinical-figure figcaption a{white-space:nowrap}.illustrations{margin-top:16px}.illustrations>summary{font-weight:600}.review-section{padding-top:24px;padding-bottom:32px}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.review-grid>a{border:1px solid #d8e2dd;border-radius:16px;padding:24px;text-decoration:none;color:#304e58;background:#fafbf8}.review-grid strong,.review-grid span{display:block}.review-grid span{font-size:13px;margin-top:12px;color:var(--muted)}.review-section li{margin-bottom:12px;line-height:1.7}.procedure-guide[id]{scroll-margin-top:110px}.guide-index{scroll-margin-top:110px}.prototype-bar>a{white-space:nowrap}
@media(min-width:1100px){.main-nav{gap:16px}.main-nav>a{font-size:12px}}
@media(max-width:850px){.review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.prototype-bar{flex-wrap:wrap;gap:6px 18px}.prototype-bar>span{width:100%;text-align:center}.hub-secondary{margin-left:0;display:block}.guide-index a{font-size:13px}}
@media(max-width:520px){.review-grid{grid-template-columns:1fr}.clinical-figure figcaption{padding:12px}.guide-return{margin:10px 0}.prototype-bar .prototype-info{font-size:11px}}
@media(max-width:1280px){.menu-toggle{width:44px;height:44px;display:grid;align-content:center;gap:5px;padding:10px;border:0;background:transparent}.menu-toggle span:not(.sr-only){height:1px;background:var(--ink)}.main-nav,.site-header.scrolled .main-nav{position:fixed;inset:var(--nav-top,104px) 0 0;min-height:0;max-height:calc(100dvh - var(--nav-top,104px));overflow-y:auto;display:none;align-items:stretch;flex-direction:column;padding:1.5rem;background:var(--paper)}.main-nav.open{display:flex}.main-nav a{padding:.55rem 0;font-family:var(--serif);font-size:1.65rem}.main-nav .button{margin-top:.5rem}}
@media(max-width:850px){.prototype-bar>span{max-width:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

.request-paths { padding-top: 2rem; padding-bottom: clamp(4rem,8vw,7rem); }
.request-path-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; margin-top: 2rem; }
.request-path-grid article { min-height: 220px; display: flex; flex-direction: column; padding: 1.6rem; border: 1px solid var(--line); background: rgba(255,255,255,.58); }
.request-path-grid article > span { color: var(--teal); font-size: .72rem; font-weight: 700; letter-spacing: .12em; }
.request-path-grid h3 { margin: auto 0 .7rem; font-size: 1.35rem; }
.request-path-grid p { margin: 0; color: var(--muted); line-height: 1.55; }
.request-demo { display: grid; grid-template-columns: minmax(260px,.78fr) minmax(0,1.22fr); gap: clamp(2rem,6vw,6rem); align-items: start; padding-top: clamp(4rem,8vw,7rem); padding-bottom: clamp(4rem,8vw,7rem); border-top: 1px solid var(--line); }
.request-demo-copy { position: sticky; top: 9rem; }
.request-demo-copy h2 { font-size: clamp(2.6rem,5vw,4.8rem); }
.request-demo-copy > p:not(.eyebrow), .request-demo-copy li { color: var(--muted); line-height: 1.7; }
.request-demo-copy ul { padding-left: 1.2rem; }
.request-demo-panel { padding: clamp(1.4rem,4vw,3rem); border: 1px solid var(--line); background: var(--white); box-shadow: 0 24px 70px rgba(33,58,61,.08); }
.request-demo-form { margin: 0; }
.request-demo-form .field-wide, .request-demo-form .request-form-actions, .request-demo-form .prototype-form-note { grid-column: 1 / -1; }
.request-demo-form small { color: var(--muted); font-size: .72rem; font-weight: 400; line-height: 1.5; }
.file-purpose { margin: .25rem 0; padding: 1rem 1.1rem; border-left: 3px solid var(--teal); background: var(--paper); color: var(--muted); font-size: .8rem; line-height: 1.65; }
.request-form-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.button-quiet { color: var(--teal); background: transparent; }
.button-quiet:hover { color: white; }
.prototype-form-note { margin: 0; color: var(--muted); font-size: .75rem; }
.request-result { padding: clamp(2rem,6vw,5rem) 1rem; text-align: center; }
.request-result > span { width: 68px; height: 68px; margin: auto; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--teal); font-size: 1.8rem; }
.request-result h2 { margin: 1.5rem 0 1rem; font-size: clamp(2.2rem,5vw,4rem); }
.request-result p { max-width: 620px; margin: 0 auto 1rem; color: var(--muted); line-height: 1.7; }
.request-result strong { display: block; margin: 1rem 0 2rem; color: var(--teal); }
.request-result [data-result-actions] { display: flex; justify-content: center; }
.form-principles { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; padding-top: 0; padding-bottom: clamp(5rem,9vw,8rem); }
.form-principles article { padding: clamp(1.8rem,5vw,4rem); background: var(--ink); color: white; }
.form-principles article:last-child { background: var(--teal); }
.form-principles h2 { font-size: clamp(2rem,4vw,3.5rem); }
.form-principles p:last-child { color: rgba(255,255,255,.76); line-height: 1.7; }

@media(max-width:980px){.request-path-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.request-demo{grid-template-columns:1fr}.request-demo-copy{position:static}.form-principles{grid-template-columns:1fr}}
@media(max-width:600px){.request-path-grid{grid-template-columns:1fr}.request-path-grid article{min-height:170px}.request-demo-panel{padding:1.1rem}.request-form-actions .button{width:100%}}

.review-primary-actions { display: flex; flex-wrap: wrap; gap: .8rem; }
.cases-priority { padding-top: 2rem; padding-bottom: clamp(4rem,8vw,7rem); }
.cases-priority .section-heading { max-width: 780px; }
.cases-priority .section-heading > p:last-child { color: var(--muted); line-height: 1.7; }
.cases-priority-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: .75rem; margin-top: 2rem; }
.cases-priority-grid article { min-height: 270px; display: flex; flex-direction: column; padding: 1.35rem; border: 1px solid var(--line); background: rgba(255,255,255,.6); }
.cases-priority-grid article > span { color: var(--teal); font-size: .7rem; font-weight: 700; letter-spacing: .12em; }
.cases-priority-grid h3 { margin: auto 0 .8rem; font-size: 1.3rem; }
.cases-priority-grid p { margin: 0 0 1rem; color: var(--muted); font-size: .82rem; line-height: 1.55; }
.cases-priority-grid small { padding-top: .8rem; border-top: 1px solid var(--line); color: var(--teal); font-size: .68rem; line-height: 1.45; }
.gallery-navigation { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(2rem,7vw,7rem); align-items: start; padding-top: clamp(4rem,8vw,7rem); padding-bottom: clamp(4rem,8vw,7rem); border-top: 1px solid var(--line); }
.gallery-navigation h2 { font-size: clamp(2.6rem,5vw,4.7rem); }
.gallery-navigation > div > p:last-child, .gallery-navigation-demo > p { color: var(--muted); line-height: 1.7; }
.gallery-navigation-demo { padding: clamp(1.4rem,3vw,2.4rem); border: 1px solid var(--line); background: var(--white); }
.gallery-paths { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-bottom: 1.4rem; background: var(--line); }
.gallery-paths span { padding: 1rem; background: var(--teal); color: var(--white); font-size: .78rem; font-weight: 700; text-align: center; }
.gallery-paths span:last-child { background: var(--ink); }
.gallery-procedure-chips { display: flex; flex-wrap: wrap; gap: .55rem; padding-bottom: 1.4rem; border-bottom: 1px solid var(--line); }
.gallery-procedure-chips span { padding: .65rem .85rem; border: 1px solid var(--line); border-radius: 999px; color: var(--ink); font-size: .72rem; }
.gallery-navigation-demo > p { margin: 1.4rem 0 0; font-size: .82rem; }
.case-example { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(2rem,6vw,6rem); align-items: center; padding-top: clamp(4rem,8vw,7rem); padding-bottom: clamp(4rem,8vw,7rem); border-top: 1px solid var(--line); }
.case-example-copy h2 { font-size: clamp(2.6rem,5vw,4.7rem); }
.case-example-copy li, .case-example-copy > p:last-child { color: var(--muted); line-height: 1.65; }
.case-example-copy ul { padding-left: 1.2rem; }
.case-card-demo { overflow: hidden; border: 1px solid var(--line); background: var(--white); box-shadow: 0 24px 70px rgba(33,58,61,.08); }
.case-photo-slots { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); }
.case-photo-slots > div { aspect-ratio: 4 / 5; display: flex; flex-direction: column; justify-content: space-between; padding: 1.2rem; background: linear-gradient(145deg,#e6ece9,#f8faf8); color: var(--ink); position: relative; overflow: hidden; }
.case-photo-slots span { color: var(--teal); font-size: .68rem; font-weight: 700; letter-spacing: .14em; }
.case-photo-slots strong { font-family: 'Newsreader',serif; font-size: clamp(1.5rem,3vw,2.5rem); font-weight: 400; }
.case-watermark { width: clamp(88px,32%,132px); height: auto; position: absolute; right: .85rem; bottom: .85rem; opacity: .54; pointer-events: none; user-select: none; }
.case-card-meta { padding: 1.4rem; }
.case-card-meta > span { color: var(--teal); font-size: .68rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.case-card-meta strong { display: block; margin: .55rem 0 .75rem; font-size: 1.1rem; }
.case-card-meta p { margin: 0; color: var(--muted); font-size: .8rem; line-height: 1.6; }
.authenticity-note { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(2rem,7vw,7rem); padding-top: clamp(4rem,8vw,7rem); padding-bottom: clamp(4rem,8vw,7rem); background: var(--ink); color: white; }
.authenticity-note h2 { font-size: clamp(2.5rem,5vw,4.5rem); }
.authenticity-note p { color: rgba(255,255,255,.78); line-height: 1.75; }
.case-safeguards { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 1.6rem 0 0; background: rgba(255,255,255,.18); }
.case-safeguards span { padding: .9rem 1rem; background: var(--ink); color: rgba(255,255,255,.82); font-size: .75rem; line-height: 1.45; }
.case-safeguards-note { font-size: .82rem; }
.authenticity-note small { display: block; margin-top: 1.3rem; padding-top: 1.3rem; border-top: 1px solid rgba(255,255,255,.2); color: rgba(255,255,255,.68); line-height: 1.6; }
.case-standards { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; padding-top: 1px; padding-bottom: clamp(5rem,9vw,8rem); background: var(--line); }
.case-standards article { min-height: 250px; padding: 1.5rem; background: var(--paper); }
.case-standards span { color: var(--teal); font-size: .7rem; font-weight: 700; }
.case-standards h3 { margin-top: 4rem; }
.case-standards p { color: var(--muted); line-height: 1.6; }
.case-governance { padding-top: clamp(4rem,8vw,7rem); padding-bottom: clamp(5rem,9vw,8rem); }
.case-governance > div { display: grid; grid-template-columns: .55fr 1.25fr; gap: 1rem 3rem; align-items: start; }
.case-governance > div .eyebrow { grid-row: 1 / 3; }
.case-governance > div > p:last-child { max-width: 760px; color: var(--muted); line-height: 1.7; }
.case-governance ol { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; margin: 3rem 0 0; padding: 1px; list-style: none; background: var(--line); }
.case-governance li { min-height: 230px; padding: 1.4rem; background: var(--paper); }
.case-governance li > span { color: var(--teal); font-size: .7rem; font-weight: 700; }
.case-governance li strong { display: block; margin: 3.5rem 0 .8rem; font-family: var(--serif); font-size: 1.45rem; font-weight: 400; }
.case-governance li p, .case-governance-note { color: var(--muted); font-size: .78rem; line-height: 1.6; }
.case-governance-note { margin: 1.2rem 0 0; }

@media(max-width:1100px){.cases-priority-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.case-standards,.case-governance ol{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.case-example,.authenticity-note,.gallery-navigation{grid-template-columns:1fr}.cases-priority-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.case-governance > div{grid-template-columns:1fr}.case-governance > div .eyebrow{grid-row:auto}}
@media(max-width:540px){.cases-priority-grid,.case-standards,.case-governance ol{grid-template-columns:1fr}.cases-priority-grid article{min-height:220px}.case-photo-slots,.case-safeguards{grid-template-columns:1fr}.gallery-paths{grid-template-columns:1fr}.review-primary-actions .button{width:100%;text-align:center}}

/* Patient-facing clinical comparisons, aligned with existing guide styling. */
.clinical-visible-copy { padding: 0 0 1.5rem; }
.clinical-visible-copy p, .clinical-table-note { line-height: 1.75; }
.clinical-table table { width: 100%; border-collapse: collapse; font-size: 1rem; line-height: 1.6; }
.clinical-table th, .clinical-table td { padding: 1rem; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); }
.clinical-table th { font-weight: 600; }
.clinical-table th:first-child { width: 30%; }
.clinical-table-note { font-size: .9rem; }
.clinical-evidence .clinical-table table { min-width: 34rem; }
.clinical-evidence a { text-decoration: underline; text-underline-offset: .2em; }
@media(max-width: 600px) { .clinical-table th, .clinical-table td { padding: .75rem .5rem; } }

/* Accessibility updates approved 27 September 2026 */
:focus-visible { outline: 3px solid #174f50 !important; outline-offset: 4px; }
summary:focus-visible { outline: 3px solid #174f50; outline-offset: 4px; }
.social-link, .carousel-controls button { min-width: 44px; min-height: 44px; }
@media(max-width:600px) { input,select,textarea { font-size:16px; } .button { min-height:44px; } }

/* Global bibliography: native disclosure, closed by default and keyboard accessible. */
.references-section { margin-block: 2rem 3rem; }
.references-disclosure { border-block: 1px solid var(--line); padding: 0; }
.references-disclosure > summary { cursor: pointer; padding: 1.25rem .25rem; min-height: 44px; font-size: 1.1rem; color: var(--ink); }
.references-body { max-width: 72rem; padding: .25rem .25rem 1.5rem; }
.references-body h3 { margin-top: 1.8rem; font-size: 1.15rem; }
.reference-list { padding-left: 1.25rem; }
.reference-list li { margin-block: 1.4rem; padding-left: .35rem; }
.reference-list a { overflow-wrap: anywhere; text-decoration: underline; text-underline-offset: .2em; line-height: 1.5; }
.reference-type, .reference-citation, .reference-date { font-size: .9rem; line-height: 1.6; margin: .3rem 0; }
.reference-type { color: var(--teal); }

.clinical-topic-heading{padding:2rem 0 1rem;scroll-margin-top:140px}
.clinical-topic-heading h2{margin:0;font-size:clamp(1.35rem,2vw,1.8rem)}
.clinical-topic-heading .guide-return{margin-top:.75rem}
.references-section[id]{scroll-margin-top:140px}

.editorial-photo { margin: 0; min-width: 0; }
.editorial-photo img { display: block; width: 100%; height: auto; border-radius: 1.5rem; }
.editorial-photo figcaption { margin-top: .75rem; font-size: .75rem; line-height: 1.5; color: var(--muted); }
.dexeus-photo-pair { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.team-card .editorial-photo figcaption { color: #c4d9d7; }
.editorial-hero { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(260px,.65fr); align-items: center; gap: clamp(2rem,5vw,5rem); }
.editorial-hero-copy > p:last-child { max-width: 700px; color: var(--muted); font-size: 1.05rem; }
.surgical-portrait { width: min(100%,390px); justify-self: end; }
.surgical-portrait img { border-radius: 48% 48% 1.5rem 1.5rem; }
.consultation-setting { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(2rem,5vw,5rem); padding-top: 3rem; padding-bottom: 4rem; }
@media (max-width:760px) {
  .editorial-hero, .consultation-setting, .dexeus-photo-pair { grid-template-columns: 1fr; }
  .surgical-portrait { justify-self: center; width: min(100%,340px); }
}

/* A filtered header becomes the containing block for fixed descendants in Safari.
   Keep tablet/mobile navigation positioned against the viewport, not the header. */
@media (max-width:1280px) {
  .site-header { backdrop-filter: none; -webkit-backdrop-filter: none; background: var(--paper); }
  .main-nav, .site-header.scrolled .main-nav {
    z-index: 31;
    max-height: calc(100vh - var(--nav-top,104px));
    max-height: calc(100dvh - var(--nav-top,104px));
    overscroll-behavior-y: contain;
    padding-bottom: max(1.5rem, env(safe-area-inset-bottom));
  }
  .main-nav > * { flex-shrink: 0; }
}

/* Fotos de cabecera Wix - 2026-10-02 */
.detail-visual { position: relative; isolation: isolate; overflow: hidden; background: #244b4c; }
.detail-visual > .detail-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 42%; z-index: 0; }
.detail-visual::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(to bottom, transparent 22%, rgba(15,40,41,.28) 42%, rgba(15,40,41,.94) 100%); pointer-events: none; }
.detail-visual > :not(.detail-photo) { position: relative; z-index: 2; }

/* Maintain text contrast on dark panels and button hover states. */
.form-principles .eyebrow { color: #a7cfca; }
.button-light:hover, .outline-button:hover { color: var(--white); }
