.content-page main{padding-top:7.5rem}.content-page .page-intro{padding:5rem 0 3.5rem;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(18rem,.7fr);gap:3rem;align-items:end}.page-intro h1{font-size:clamp(3.5rem,7vw,7rem);line-height:.94;letter-spacing:-.045em;margin:.35rem 0 1.2rem}.page-intro h1 em{display:block;color:var(--wine);font-weight:400}.page-intro .intro{max-width:38rem;font-size:1.15rem}.page-intro-aside{border-left:1px solid var(--line);padding-left:2rem;color:#746967;font-size:1.05rem}.subpage-band{background:var(--paper);border-top:1px solid var(--line);padding:4.5rem 0 6rem}.subpage-band.wine{background:var(--wine);color:#fff}.specialist-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.specialist-card{display:flex;flex-direction:column;min-height:25rem;padding:1.6rem;border:1px solid var(--line);border-radius:2rem;background:#fff;color:inherit;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease}.specialist-card:hover,.specialist-card:focus-visible{transform:translateY(-5px);box-shadow:0 20px 45px rgba(78,61,61,.11)}.specialist-avatar{display:grid;place-items:center;width:6.5rem;height:6.5rem;border-radius:50%;background:linear-gradient(145deg,#a9575a,#704648);color:#fff;font-family:"DM Serif Text",serif;font-size:2rem;margin-bottom:auto}.specialist-card:nth-child(2n) .specialist-avatar{background:linear-gradient(145deg,#c8a98f,#8f6f62)}.specialist-card h2{font-size:1.7rem;line-height:1.05;margin:2rem 0 .35rem}.specialist-card p{margin:.25rem 0;color:#746967}.specialist-card .text-link{margin-top:1.25rem;color:var(--wine);font-weight:700}.profile-hero{padding:4rem 0;display:grid;grid-template-columns:15rem minmax(0,1fr);gap:3rem;align-items:center}.profile-avatar{width:15rem;height:15rem;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#a9575a,#5e3f42);color:#fff;font-family:"DM Serif Text",serif;font-size:4.5rem}.profile-hero h1{font-size:clamp(3rem,6vw,6rem);line-height:.95;margin:.4rem 0}.profile-meta{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.5rem}.profile-meta span{border:1px solid var(--line);border-radius:999px;padding:.55rem .9rem}.profile-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(18rem,.65fr);gap:3rem}.profile-copy{font-size:1.08rem;line-height:1.75}.profile-copy blockquote{font-family:"DM Serif Text",serif;font-size:clamp(1.8rem,4vw,3.3rem);line-height:1.12;color:var(--wine);margin:0 0 2.5rem}.profile-facts{display:grid;gap:1rem}.fact-card{padding:1.5rem;border:1px solid var(--line);border-radius:1.5rem;background:#fff}.fact-card small{display:block;color:var(--wine);font-weight:700;text-transform:uppercase;letter-spacing:.12em;margin-bottom:.45rem}.price-notice{padding:1.4rem 1.6rem;border-radius:1.5rem;background:#f2e7e3;color:var(--ink);margin-bottom:2rem}.price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;align-items:start}.price-group{background:#fff;border:1px solid var(--line);border-radius:1.75rem;padding:1.5rem}.price-group h2{font-size:1.75rem;margin:0 0 1rem}.price-list{list-style:none;margin:0;padding:0}.price-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem;padding:.8rem 0;border-top:1px solid var(--line)}.price-list li:first-child{border-top:0}.price-list strong{white-space:nowrap;color:var(--wine)}.contact-layout{display:grid;grid-template-columns:minmax(18rem,.75fr) minmax(0,1.25fr);gap:1.5rem;align-items:start}.branch-list{display:grid;gap:1rem}.branch-card{padding:1.4rem;border:1px solid var(--line);border-radius:1.5rem;background:#fff}.branch-card h2{font-size:1.5rem;margin:0 0 .5rem}.branch-card a{color:var(--wine);font-weight:700}.contact-form{background:#fff;border:1px solid var(--line);border-radius:2rem;padding:2rem}.contact-form h2{font-size:2rem;margin:0 0 1.5rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.field{display:grid;gap:.45rem}.field.full{grid-column:1/-1}.field label{font-weight:700}.field input,.field select,.field textarea{width:100%;font:inherit;color:var(--ink);background:#fff;border:1px solid #d9d0cd;border-radius:.9rem;padding:.9rem 1rem}.field textarea{min-height:9rem;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(161,78,80,.18);border-color:var(--wine)}.consent{display:flex;align-items:flex-start;gap:.7rem;margin:1rem 0 1.25rem;color:#746967}.consent input{margin-top:.25rem}.form-status{margin-top:1rem;padding:1rem;border-radius:1rem;background:#f2e7e3}.form-status[hidden]{display:none}.submission-note{font-size:.9rem;color:#746967;margin-top:1rem}.content-page footer{margin-top:0}
@media(max-width:900px){.content-page main{padding-top:6.5rem}.content-page .page-intro,.profile-layout,.contact-layout{grid-template-columns:1fr}.page-intro-aside{border-left:0;border-top:1px solid var(--line);padding:1.5rem 0 0}.specialist-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-hero{grid-template-columns:9rem minmax(0,1fr)}.profile-avatar{width:9rem;height:9rem;font-size:3rem}.price-grid{grid-template-columns:1fr}}
@media(max-width:620px){.content-page .page-intro{padding:3rem 0 2rem}.specialist-grid{grid-template-columns:1fr}.specialist-card{min-height:21rem}.profile-hero{grid-template-columns:1fr}.profile-avatar{width:7rem;height:7rem;font-size:2.3rem}.form-grid{grid-template-columns:1fr}.price-list li{gap:.75rem}.price-list strong{font-size:.92rem}}
.content-page main{padding-top:0}
.content-page .page-intro{padding-top:4rem;padding-right:48px;padding-bottom:3.5rem;padding-left:48px}
@media(max-width:1000px){.content-page .page-intro{padding-right:26px;padding-left:26px}}
@media(max-width:620px){.content-page .page-intro{padding-top:2.5rem;padding-right:20px;padding-bottom:2rem;padding-left:20px}}

/* A compact team directory: names and clinic information lead, monograms support. */
.specialist-directory .page-intro{display:block;padding-top:48px;padding-bottom:36px;background:url('assets/smile-arcs.svg') no-repeat right center;background-size:430px}
.specialist-directory .page-intro .eyebrow{margin-bottom:18px}
.specialist-directory .page-intro h1{font-size:clamp(42px,5.5vw,72px);line-height:1.06;margin:0 0 18px}
.specialist-directory .page-intro h1 em{display:inline}
.specialist-directory .page-intro .intro{font-size:17px;max-width:530px;margin:0;line-height:1.65}
.specialist-directory .subpage-band{padding:30px 0 64px}
.directory-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}
.directory-heading h2{font-size:28px}
.directory-heading>span{font-size:12px;color:#746967}
.specialist-directory .specialist-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.specialist-directory .specialist-card{display:grid;grid-template-columns:58px minmax(0,1fr);column-gap:18px;align-content:start;min-height:0;padding:26px;border-radius:20px;transition:border-color .2s,box-shadow .2s}
.specialist-directory .specialist-avatar,.specialist-directory .specialist-card:nth-child(2n) .specialist-avatar{grid-column:1;grid-row:1 / span 3;width:58px;height:66px;border-radius:22px 22px 16px 16px;background:#f2e6e3;color:var(--wine);font-size:22px;margin:0}
.specialist-directory .specialist-card h2{grid-column:2;margin:0 0 8px;font-size:25px;line-height:1.2;overflow-wrap:anywhere}
.specialist-directory .specialist-card p{grid-column:2;font-size:13px;line-height:1.6;margin:0 0 6px}
.specialist-directory .specialist-card p:first-of-type{color:var(--wine);font-weight:600}
.specialist-directory .specialist-card .text-link{grid-column:2;font-size:13px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.specialist-directory .specialist-card:hover{transform:none;border-color:#b79780;box-shadow:0 8px 24px #58504f0d}
@media(max-width:720px){.specialist-directory .page-intro{padding-top:32px;padding-bottom:28px;background-size:280px;background-position:right -140px top}.specialist-directory .specialist-grid{grid-template-columns:1fr;gap:12px}.specialist-directory .specialist-card{padding:22px}.specialist-directory .subpage-band{padding-top:24px}.directory-heading h2{font-size:25px}}
@media(max-width:380px){.specialist-directory .specialist-card{grid-template-columns:42px minmax(0,1fr);gap:12px;padding:18px}.specialist-directory .specialist-avatar{width:42px;height:52px;font-size:18px}.specialist-directory .specialist-card h2{font-size:22px}}

/* Continuous tables avoid empty grid cells between categories of unequal length. */
.prices-page .price-grid{display:flex;flex-direction:column;gap:24px}
.prices-page .price-group{width:100%;padding:28px 32px;border-radius:20px;scroll-margin-top:125px}
.prices-page .price-group h2{font-size:clamp(25px,3vw,34px);margin:0 0 22px;max-width:100%;line-height:1.2}
.treatment-prices{width:100%;border-collapse:collapse;table-layout:fixed;font-size:15px}
.treatment-prices thead th{padding:0 16px 12px;color:#746967;font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:500;text-align:left}
.treatment-prices thead th:last-child{width:175px;text-align:right}
.treatment-prices tbody th,.treatment-prices td{padding:16px;border-top:1px solid var(--line);vertical-align:top}
.treatment-prices tbody th{text-align:left;font-weight:400;overflow-wrap:break-word}
.treatment-prices td{text-align:right;white-space:nowrap;color:var(--wine);font-weight:600;font-variant-numeric:tabular-nums}
.treatment-prices tbody tr:nth-child(odd){background:#f8f6f3}
.treatment-prices tbody tr:hover{background:#f2e7e3}
.price-categories{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px}
.price-categories a{padding:8px 14px;border:1px solid var(--line);border-radius:24px;font-size:13px;background:white;line-height:1.5}
.price-categories a:hover,.price-categories a:focus-visible{color:white;background:var(--wine);border-color:var(--wine)}
.prices-page .subpage-band{padding-top:32px}
@media(max-width:620px){.prices-page .price-group{padding:22px 16px;border-radius:16px}.prices-page .price-grid{gap:16px}.treatment-prices{font-size:13px}.treatment-prices thead th:last-child{width:112px}.treatment-prices tbody th,.treatment-prices td{padding:13px 9px}.treatment-prices thead th{padding-left:9px;padding-right:9px}.price-categories{gap:6px}.price-categories a{font-size:12px;padding:7px 11px}}
