/*
 * Dr. Saima Waris — production design system.
 * IMPORTANT: hue family is intentionally locked to the client's existing brand direction.
 * Exact legacy Elementor global color values remain to be substituted after isolated restore/export.
 */
:root {
  --dsw-brand-900: #4e273d;
  --dsw-brand-800: #67334f;
  --dsw-brand-700: #7e405f;
  --dsw-brand-500: #b66f91;
  --dsw-brand-300: #d9a9bd;
  --dsw-brand-150: #edd8e1;
  --dsw-brand-075: #f7edf1;
  --dsw-brand-025: #fcf8fa;
  --dsw-ink: #2d2428;
  --dsw-muted: #71666b;
  --dsw-line: #dfd5d9;
  --dsw-white: #ffffff;
  --dsw-success: #2f6956;
  --dsw-display: "GFS Didot", Didot, "Bodoni MT", "Times New Roman", serif;
  --dsw-body: Cabin, "Avenir Next", Avenir, "Segoe UI", Arial, sans-serif;
  --dsw-shell: min(91vw, 1320px);
  --dsw-reading: 68ch;
  --dsw-radius-xs: 5px;
  --dsw-radius-sm: 10px;
  --dsw-radius-md: 18px;
  --dsw-radius-lg: 32px;
  --dsw-space-1: .5rem;
  --dsw-space-2: .75rem;
  --dsw-space-3: 1rem;
  --dsw-space-4: 1.5rem;
  --dsw-space-5: 2rem;
  --dsw-space-6: 3rem;
  --dsw-space-7: 4.5rem;
  --dsw-space-8: 6.5rem;
  --dsw-shadow: 0 22px 60px rgba(78, 39, 61, .12);
  --dsw-z-header: 30;
  --dsw-z-mobile-actions: 40;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--dsw-ink);
  background: var(--dsw-brand-025);
  font-family: var(--dsw-body);
  font-size: 17px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration-thickness: .08em; text-underline-offset: .18em; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
::selection { background: var(--dsw-brand-150); color: var(--dsw-brand-900); }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.dsw-skip-link { position: fixed; top: .75rem; left: .75rem; z-index: 100; padding: .75rem 1rem; transform: translateY(-160%); background: var(--dsw-brand-900); color: #fff; border-radius: var(--dsw-radius-xs); }
.dsw-skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 3px solid var(--dsw-brand-500); outline-offset: 4px; }

.dsw-shell { width: var(--dsw-shell); margin-inline: auto; }
.dsw-section { padding: clamp(5rem, 9vw, 9rem) 0; }
.dsw-main { padding-top: 8rem; padding-bottom: 8rem; }
.dsw-eyebrow { margin: 0 0 1.15rem; color: var(--dsw-brand-700); font-size: .73rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
h1, h2, h3 { font-family: var(--dsw-display); font-weight: 400; letter-spacing: -.025em; line-height: .98; text-wrap: balance; }
h1 { font-size: clamp(3.5rem, 7.2vw, 7.2rem); margin: 0; }
h2 { font-size: clamp(2.7rem, 5vw, 5.15rem); margin: 0; }
h3 { font-size: clamp(1.75rem, 2.6vw, 2.65rem); margin: 0; }
p { text-wrap: pretty; }
.dsw-lede { max-width: 60ch; margin: 1.75rem 0 0; color: #584d52; font-size: clamp(1.05rem, 1.35vw, 1.25rem); line-height: 1.65; }

/* Header */
.dsw-header { position: sticky; top: 0; z-index: var(--dsw-z-header); background: rgba(252,248,250,.94); border-bottom: 1px solid rgba(126,64,95,.11); backdrop-filter: blur(18px); }
.dsw-header__inner { min-height: 92px; display: grid; grid-template-columns: 260px 1fr auto; align-items: center; gap: 2rem; }
.dsw-brand { display: inline-flex; flex-direction: column; text-decoration: none; line-height: 1; }
.dsw-brand__name { font-family: var(--dsw-display); color: var(--dsw-brand-900); font-size: 1.62rem; letter-spacing: -.025em; }
.dsw-brand__descriptor { margin-top: .4rem; color: var(--dsw-muted); font-size: .65rem; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; }
.dsw-nav { justify-self: center; }
.dsw-nav__list { display: flex; list-style: none; padding: 0; margin: 0; gap: clamp(1.2rem, 2.3vw, 2.3rem); }
.dsw-nav__list a { position: relative; color: #55494f; font-size: .86rem; font-weight: 600; text-decoration: none; }
.dsw-nav__list a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -.45rem; height: 1px; background: var(--dsw-brand-700); transition: right .25s ease; }
.dsw-nav__list a:hover::after, .dsw-nav__list .current-menu-item a::after { right: 0; }
.dsw-header__actions { display: flex; align-items: center; gap: .8rem; }
.dsw-icon-action { display: grid; place-items: center; width: 42px; height: 42px; color: var(--dsw-brand-800); border: 1px solid var(--dsw-line); border-radius: 50%; }
.dsw-icon-action svg { width: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.dsw-menu-toggle { display: none; background: none; border: 0; color: var(--dsw-ink); }

/* Buttons */
.dsw-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem; margin-top: 2rem; }
.dsw-btn { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; gap: .6rem; padding: .82rem 1.25rem; border: 1px solid var(--dsw-brand-800); border-radius: var(--dsw-radius-xs); background: var(--dsw-brand-800); color: #fff; font-size: .85rem; font-weight: 700; letter-spacing: .01em; text-decoration: none; transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease; }
.dsw-btn:hover { transform: translateY(-2px); background: var(--dsw-brand-900); border-color: var(--dsw-brand-900); }
.dsw-btn:active { transform: translateY(0); }
.dsw-btn svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.dsw-btn--compact { min-height: 40px; padding: .65rem 1rem; }
.dsw-btn--outline { color: var(--dsw-brand-800); background: transparent; }
.dsw-btn--outline:hover { color: #fff; }
.dsw-text-link { display: inline-flex; align-items: center; gap: .65rem; color: var(--dsw-brand-800); font-size: .88rem; font-weight: 700; text-decoration: none; }
.dsw-text-link svg { width: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; transition: transform .2s ease; }
.dsw-text-link:hover svg { transform: translateX(4px); }

/* Hero */
.dsw-hero { position: relative; overflow: hidden; padding: clamp(4rem, 7vw, 7rem) 0 3rem; background: radial-gradient(circle at 85% 15%, rgba(217,169,189,.32), transparent 30%), linear-gradient(180deg, var(--dsw-brand-025), var(--dsw-brand-075)); }
.dsw-hero::before { content: ""; position: absolute; width: 46vw; height: 46vw; min-width: 520px; min-height: 520px; right: -17vw; bottom: -28vw; border: 1px solid rgba(126,64,95,.13); border-radius: 50%; }
.dsw-hero__grid { position: relative; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(330px, .72fr); align-items: center; gap: clamp(3rem, 6vw, 7rem); }
.dsw-hero h1 { max-width: 15ch; color: var(--dsw-brand-900); font-size: clamp(3.8rem, 6.2vw, 6.5rem); }
.dsw-hero__credential { display: flex; flex-wrap: wrap; gap: .55rem 1.4rem; margin-top: 2.5rem; padding-top: 1.25rem; border-top: 1px solid var(--dsw-line); color: #62575c; font-size: .8rem; font-weight: 600; letter-spacing: .04em; }
.dsw-hero__portrait { position: relative; min-height: clamp(480px, 49vw, 690px); }
.dsw-portrait-placeholder { height: 100%; min-height: 480px; position: relative; overflow: hidden; display: grid; place-items: center; background: linear-gradient(145deg, var(--dsw-brand-150), #f5e8ed 55%, #e8c6d3); border-radius: 46% 46% 12px 12px; box-shadow: var(--dsw-shadow); }
.dsw-portrait-placeholder::before { content: ""; position: absolute; width: 70%; aspect-ratio: 1; border: 1px solid rgba(78,39,61,.15); border-radius: 50%; }
.dsw-portrait-placeholder span { font-family: var(--dsw-display); font-size: clamp(5rem, 11vw, 9rem); color: rgba(78,39,61,.18); letter-spacing: -.06em; }
.dsw-portrait-placeholder small { position: absolute; bottom: 1.5rem; left: 1.5rem; color: var(--dsw-brand-900); font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.dsw-hero__note { position: absolute; right: -2rem; bottom: 2.25rem; min-width: 200px; padding: 1rem 1.2rem; background: rgba(255,255,255,.92); box-shadow: var(--dsw-shadow); border-left: 3px solid var(--dsw-brand-700); }
.dsw-hero__note span, .dsw-hero__note strong { display: block; }
.dsw-hero__note span { color: var(--dsw-muted); font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; }
.dsw-hero__note strong { margin-top: .25rem; font-family: var(--dsw-display); color: var(--dsw-brand-900); font-size: 1.25rem; font-weight: 400; }

/* Trust strip */
.dsw-trust { background: var(--dsw-brand-900); color: #fff; }
.dsw-trust__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.dsw-trust__grid > div { min-height: 142px; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 1rem; padding: 1.3rem 1.4rem; border-right: 1px solid rgba(255,255,255,.14); }
.dsw-trust__grid > div:first-child { padding-left: 0; }
.dsw-trust__grid > div:last-child { border-right: 0; }
.dsw-trust__grid > div > span { align-self: start; margin-top: .35rem; color: var(--dsw-brand-300); font-size: .65rem; letter-spacing: .14em; }
.dsw-trust p { margin: 0; color: rgba(255,255,255,.72); font-size: .78rem; line-height: 1.45; }
.dsw-trust strong { display: block; margin-bottom: .32rem; color: #fff; font-size: .9rem; }

/* Section headings */
.dsw-section-heading { margin-bottom: clamp(2.5rem, 5vw, 5rem); }
.dsw-section-heading h2 { max-width: 12ch; color: var(--dsw-brand-900); }
.dsw-section-heading--split { display: grid; grid-template-columns: 1.15fr .7fr; align-items: end; gap: 4rem; }
.dsw-section-heading--split > p { max-width: 54ch; justify-self: end; margin: 0 0 .55rem; color: var(--dsw-muted); }

/* Finder */
.dsw-procedures { background: #fff; }
.dsw-finder { display: grid; grid-template-columns: minmax(245px,.62fr) 1.6fr; border-top: 1px solid var(--dsw-line); border-bottom: 1px solid var(--dsw-line); }
.dsw-finder__tabs { padding: 1rem 0; border-right: 1px solid var(--dsw-line); }
.dsw-finder__tabs button { width: 100%; min-height: 57px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .8rem 1.4rem .8rem .2rem; border: 0; background: transparent; color: #766a70; text-align: left; cursor: pointer; transition: color .2s ease, padding-left .2s ease; }
.dsw-finder__tabs button span { color: #a2989d; font-size: .68rem; }
.dsw-finder__tabs button[aria-selected="true"] { padding-left: .8rem; color: var(--dsw-brand-900); font-weight: 700; }
.dsw-finder__tabs button[aria-selected="true"]::before { content: ""; width: 22px; height: 1px; margin-right: .3rem; background: var(--dsw-brand-700); }
.dsw-finder__panels { padding: clamp(2rem, 4vw, 4rem); }
.dsw-finder__panel-label { margin: 0 0 1.5rem; color: var(--dsw-brand-700); font-family: var(--dsw-display); font-size: 2rem; }
.dsw-finder__panel ul { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); list-style: none; padding: 0; margin: 0; gap: 0 2.25rem; }
.dsw-finder__panel li { border-top: 1px solid var(--dsw-line); }
.dsw-finder__panel a { min-height: 67px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: #4d4247; text-decoration: none; }
.dsw-finder__panel a svg { width: 19px; fill: none; stroke: var(--dsw-brand-700); stroke-width: 1.6; transition: transform .2s ease; }
.dsw-finder__panel a:hover { color: var(--dsw-brand-800); }
.dsw-finder__panel a:hover svg { transform: translateX(4px); }

/* Transformations */
.dsw-transformations { background: var(--dsw-brand-075); }
.dsw-comparison-grid { display: grid; grid-template-columns: 1.28fr .86fr .86fr; align-items: start; gap: 1rem; }
.dsw-compare { margin: 0; }
.dsw-compare__viewport { --compare-pos: 50%; position: relative; overflow: hidden; aspect-ratio: 4/5; background: #e7d8de; border-radius: var(--dsw-radius-sm); box-shadow: 0 14px 40px rgba(78,39,61,.08); }
.dsw-comparison-grid .dsw-compare:first-child .dsw-compare__viewport { aspect-ratio: 5/6; }
.dsw-compare__image, .dsw-compare__placeholder { width: 100%; height: 100%; object-fit: cover; }
.dsw-compare__placeholder { display: grid; place-items: center; background: linear-gradient(135deg, #e8d3dc, #f4e9ed 50%, #d9b1c0); }
.dsw-compare__placeholder--after { background: linear-gradient(135deg, #e3cbd5, #f9f0f3 50%, #cfa2b4); }
.dsw-compare__placeholder span { max-width: 11ch; color: rgba(78,39,61,.43); font-family: var(--dsw-display); font-size: clamp(1.6rem,3vw,3.4rem); line-height: .95; text-align: center; }
.dsw-compare__after { position: absolute; inset: 0; width: 100%; overflow: hidden; clip-path: inset(0 0 0 var(--compare-pos)); }
.dsw-compare__after > * { width: 100%; min-width: 100%; }
.dsw-compare__handle { position: absolute; top: 0; bottom: 0; left: var(--compare-pos); width: 1px; background: rgba(255,255,255,.95); transform: translateX(-.5px); pointer-events: none; }
.dsw-compare__handle i { position: absolute; top: 50%; left: 50%; width: 42px; height: 42px; transform: translate(-50%,-50%); border: 1px solid rgba(255,255,255,.8); border-radius: 50%; background: var(--dsw-brand-800); box-shadow: 0 8px 22px rgba(78,39,61,.25); }
.dsw-compare__handle i::before, .dsw-compare__handle i::after { content: ""; position: absolute; top: 50%; width: 7px; height: 7px; border-top: 1px solid #fff; border-left: 1px solid #fff; }
.dsw-compare__handle i::before { left: 10px; transform: translateY(-50%) rotate(-45deg); }
.dsw-compare__handle i::after { right: 10px; transform: translateY(-50%) rotate(135deg); }
.dsw-compare__range { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; }
.dsw-compare__tag { position: absolute; top: .8rem; z-index: 2; padding: .35rem .55rem; background: rgba(78,39,61,.82); color: #fff; border-radius: 3px; font-size: .62rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; pointer-events: none; }
.dsw-compare__tag--before { left: .8rem; }
.dsw-compare__tag--after { right: .8rem; }
.dsw-compare figcaption { display: flex; flex-direction: column; gap: .18rem; padding: .9rem .1rem 0; }
.dsw-compare figcaption strong { font-family: var(--dsw-display); color: var(--dsw-brand-900); font-size: 1.2rem; font-weight: 400; }
.dsw-compare figcaption span { color: var(--dsw-muted); font-size: .72rem; line-height: 1.45; }
.dsw-transformations__footer { display: flex; justify-content: space-between; align-items: center; gap: 2rem; margin-top: 2rem; }
.dsw-transformations__footer > span { color: var(--dsw-muted); font-size: .75rem; }

/* Meet */
.dsw-meet { background: #fff; }
.dsw-meet__grid { display: grid; grid-template-columns: .88fr 1fr; align-items: center; gap: clamp(3rem,7vw,8rem); }
.dsw-meet__portrait { padding-left: clamp(0rem, 4vw, 4rem); }
.dsw-portrait-placeholder--tall { min-height: 660px; border-radius: 10px 46% 10px 10px; }
.dsw-meet__copy h2 { max-width: 10ch; color: var(--dsw-brand-900); }
.dsw-meet__copy > p { max-width: 61ch; color: #62575c; }
.dsw-credential-line { display: flex; flex-direction: column; gap: .35rem; margin: 2rem 0; padding: 1.2rem 0; border-block: 1px solid var(--dsw-line); }
.dsw-credential-line strong { color: var(--dsw-brand-900); font-size: .9rem; }
.dsw-credential-line span { color: var(--dsw-muted); font-size: .73rem; }

/* Decisions */
.dsw-decisions { background: var(--dsw-brand-900); color: #fff; }
.dsw-decisions .dsw-eyebrow { color: var(--dsw-brand-300); }
.dsw-decisions h2 { color: #fff; }
.dsw-decision-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 0; border-top: 1px solid rgba(255,255,255,.18); }
.dsw-decision-grid article { position: relative; min-height: 340px; padding: 2.5rem 2.5rem 3rem 0; border-right: 1px solid rgba(255,255,255,.18); }
.dsw-decision-grid article + article { padding-left: 2.5rem; }
.dsw-decision-grid article:last-child { border-right: 0; }
.dsw-decision-grid article > span { color: var(--dsw-brand-300); font-size: .65rem; letter-spacing: .12em; }
.dsw-decision-grid h3 { max-width: 10ch; margin-top: 4rem; color: #fff; font-size: clamp(2rem,3.3vw,3.4rem); }
.dsw-decision-grid p { max-width: 38ch; color: rgba(255,255,255,.68); font-size: .9rem; }

/* Featured */
.dsw-featured { background: var(--dsw-brand-025); }
.dsw-featured-grid { display: grid; grid-template-columns: 1.15fr .85fr .85fr; grid-template-rows: auto auto; gap: 1rem; }
.dsw-feature-card { min-height: 330px; position: relative; display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(1.5rem,3vw,2.5rem); overflow: hidden; background: #fff; border: 1px solid var(--dsw-line); border-radius: var(--dsw-radius-sm); text-decoration: none; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.dsw-feature-card--large { grid-row: span 2; min-height: 676px; background: linear-gradient(165deg, var(--dsw-brand-150), #f9f0f3 62%, #fff); }
.dsw-feature-card:hover { transform: translateY(-4px); border-color: var(--dsw-brand-300); box-shadow: var(--dsw-shadow); }
.dsw-feature-card > span { margin-bottom: auto; color: var(--dsw-brand-700); font-size: .67rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.dsw-feature-card h3 { max-width: 11ch; color: var(--dsw-brand-900); }
.dsw-feature-card p { max-width: 42ch; margin-bottom: 0; color: var(--dsw-muted); font-size: .86rem; }
.dsw-feature-card > svg { position: absolute; right: 1.5rem; top: 1.5rem; width: 22px; fill: none; stroke: var(--dsw-brand-700); stroke-width: 1.6; }

/* Journey */
.dsw-journey { background: #fff; }
.dsw-timeline { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--dsw-line); }
.dsw-timeline li { display: grid; grid-template-columns: 70px 240px 1fr; align-items: baseline; gap: 2rem; padding: 1.5rem 0; border-bottom: 1px solid var(--dsw-line); }
.dsw-timeline li > span { color: var(--dsw-brand-700); font-size: .68rem; letter-spacing: .12em; }
.dsw-timeline h3 { color: var(--dsw-brand-900); font-size: 2rem; }
.dsw-timeline p { max-width: 62ch; margin: 0; justify-self: end; color: var(--dsw-muted); font-size: .86rem; }

/* Travel */
.dsw-travel { background: var(--dsw-brand-150); }
.dsw-travel__grid { display: grid; grid-template-columns: 1fr .85fr; align-items: end; gap: 6rem; }
.dsw-travel h2 { max-width: 11ch; color: var(--dsw-brand-900); }
.dsw-travel__grid > div:last-child p { max-width: 58ch; color: #5d4d54; }

/* Reviews */
.dsw-reviews { background: var(--dsw-brand-025); }
.dsw-review-preview { display: grid; grid-template-columns: .8fr repeat(3,1fr); border-top: 1px solid var(--dsw-line); border-bottom: 1px solid var(--dsw-line); }
.dsw-review-preview > * { min-height: 210px; padding: 2rem; border-right: 1px solid var(--dsw-line); }
.dsw-review-preview > *:last-child { border-right: 0; }
.dsw-review-source { display: flex; align-items: flex-start; gap: 1rem; }
.dsw-review-source__mark { display: grid; place-items: center; width: 40px; height: 40px; background: #fff; border: 1px solid var(--dsw-line); border-radius: 50%; color: var(--dsw-brand-800); font-weight: 700; }
.dsw-review-source strong, .dsw-review-source small { display: block; }
.dsw-review-source strong { color: var(--dsw-brand-900); }
.dsw-review-source small { margin-top: .35rem; color: var(--dsw-muted); }
.dsw-review-skeleton { display: flex; flex-direction: column; gap: .8rem; }
.dsw-review-skeleton span { display: block; height: 10px; background: linear-gradient(90deg,#eadfe4,#f7f0f3,#eadfe4); border-radius: 10px; }
.dsw-review-skeleton span:nth-child(1) { width: 38%; }
.dsw-review-skeleton span:nth-child(2) { width: 90%; margin-top: 2rem; }
.dsw-review-skeleton span:nth-child(3) { width: 70%; }

/* Education */
.dsw-education { background: #fff; }
.dsw-article-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.dsw-article-grid a { min-height: 320px; display: flex; flex-direction: column; padding: 2rem; background: var(--dsw-brand-025); border-top: 3px solid var(--dsw-brand-300); text-decoration: none; }
.dsw-article-grid a > span { color: var(--dsw-brand-700); font-size: .66rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.dsw-article-grid h3 { margin-top: auto; color: var(--dsw-brand-900); font-size: clamp(1.9rem,2.7vw,2.7rem); }
.dsw-article-grid p { color: var(--dsw-muted); font-size: .82rem; }

/* FAQs */
.dsw-faqs { background: var(--dsw-brand-075); }
.dsw-faqs__grid { display: grid; grid-template-columns: .68fr 1.2fr; gap: clamp(3rem,8vw,8rem); }
.dsw-faqs__intro { position: sticky; top: 130px; align-self: start; }
.dsw-faqs__intro h2 { color: var(--dsw-brand-900); }
.dsw-faqs__intro p:last-child { max-width: 38ch; color: var(--dsw-muted); }
.dsw-faq-list { border-top: 1px solid var(--dsw-line); }
.dsw-faq-list details { border-bottom: 1px solid var(--dsw-line); }
.dsw-faq-list summary { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 0; cursor: pointer; list-style: none; color: var(--dsw-brand-900); font-weight: 600; }
.dsw-faq-list summary::-webkit-details-marker { display: none; }
.dsw-faq-list summary svg { flex: 0 0 18px; width: 18px; fill: none; stroke: var(--dsw-brand-700); stroke-width: 1.6; transition: transform .2s ease; }
.dsw-faq-list details[open] summary svg { transform: rotate(180deg); }
.dsw-faq-list details div { padding: 0 3rem 1.5rem 0; }
.dsw-faq-list details p { max-width: 64ch; margin: 0; color: var(--dsw-muted); font-size: .9rem; }

/* Contact band */
.dsw-contact-band { padding: clamp(4rem,7vw,7rem) 0; background: var(--dsw-brand-800); color: #fff; }
.dsw-contact-band__grid { display: grid; grid-template-columns: 1.05fr .75fr; align-items: end; gap: 5rem; }
.dsw-contact-band .dsw-eyebrow { color: var(--dsw-brand-300); }
.dsw-contact-band h2 { max-width: 12ch; color: #fff; }
.dsw-contact-band p { max-width: 62ch; color: rgba(255,255,255,.68); }
.dsw-contact-band__actions { display: flex; flex-direction: column; align-items: stretch; gap: .7rem; }
.dsw-btn--light { background: #fff; border-color: #fff; color: var(--dsw-brand-900); }
.dsw-btn--light:hover { background: var(--dsw-brand-025); border-color: var(--dsw-brand-025); color: var(--dsw-brand-900); }
.dsw-btn--light-outline { background: transparent; border-color: rgba(255,255,255,.55); }
.dsw-btn--light-outline:hover { background: rgba(255,255,255,.1); border-color: #fff; }
.dsw-text-link--light { justify-content: center; margin-top: .6rem; color: #fff; }

/* Footer */
.dsw-footer { padding: 4.5rem 0 2rem; background: #241b20; color: rgba(255,255,255,.72); }
.dsw-footer__grid { display: grid; grid-template-columns: 1.4fr .7fr .7fr; gap: 4rem; }
.dsw-footer__brand { margin: 0; color: #fff; font-family: var(--dsw-display); font-size: 2rem; }
.dsw-footer__copy { max-width: 48ch; font-size: .82rem; }
.dsw-footer__label { color: var(--dsw-brand-300); font-size: .65rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.dsw-footer__links { list-style: none; padding: 0; margin: 0; }
.dsw-footer a, .dsw-footer span { display: block; color: rgba(255,255,255,.72); font-size: .82rem; text-decoration: none; margin-bottom: .5rem; }
.dsw-footer a:hover { color: #fff; }
.dsw-footer__bottom { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: 4rem; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.12); }
.dsw-footer__bottom > span { margin: 0; font-size: .7rem; }
.dsw-footer__bottom div { display: flex; gap: 1rem; }
.dsw-footer__bottom div a { margin: 0; font-size: .7rem; }
.dsw-footer__socials { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1.15rem; }
.dsw-footer__socials .dsw-footer__social { display: inline-flex; align-items: center; justify-content: center; min-height: 34px; margin: 0; padding: .45rem .72rem; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; color: rgba(255,255,255,.82); font-size: .68rem; font-weight: 650; letter-spacing: .025em; transition: border-color .22s ease, color .22s ease, transform .22s ease, background-color .22s ease; }
.dsw-footer__socials .dsw-footer__social:hover { border-color: rgba(255,255,255,.44); background: rgba(255,255,255,.06); color: #fff; transform: translateY(-1px); }
.dsw-footer__socials .dsw-footer__social:focus-visible { outline: 2px solid var(--dsw-brand-300); outline-offset: 3px; }
.dsw-mobile-actions { display: none; }

/* Generic content */
.dsw-prose-shell { max-width: 920px; }
.dsw-prose > header { margin-bottom: 3rem; }
.dsw-prose h1 { color: var(--dsw-brand-900); font-size: clamp(3.2rem,6vw,6rem); }
.dsw-prose .entry-content { max-width: var(--dsw-reading); }
.dsw-prose .entry-content h2 { margin-top: 3.5rem; color: var(--dsw-brand-900); font-size: 2.7rem; }
.dsw-prose .entry-content h3 { margin-top: 2.5rem; color: var(--dsw-brand-900); font-size: 2rem; }
.dsw-prose .entry-content p, .dsw-prose .entry-content li { color: #51474b; }
.dsw-archive-header { margin-bottom: 4rem; }
.dsw-archive-header h1 { color: var(--dsw-brand-900); }
.dsw-post-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.dsw-post-grid article { padding: 2rem; background: #fff; border-top: 3px solid var(--dsw-brand-300); }
.dsw-post-grid a { text-decoration: none; }
.dsw-post-grid h2 { color: var(--dsw-brand-900); font-size: 2rem; }
.dsw-post-grid p { color: var(--dsw-muted); }
.dsw-error-page { min-height: 70vh; display: flex; flex-direction: column; justify-content: center; }
.dsw-error-page h1 { max-width: 10ch; color: var(--dsw-brand-900); }
.dsw-error-page > p:not(.dsw-eyebrow) { max-width: 55ch; color: var(--dsw-muted); }

/* Service pages */
.dsw-service-hero { padding: clamp(4rem,7vw,7rem) 0; background: linear-gradient(180deg,var(--dsw-brand-025),var(--dsw-brand-075)); }
.dsw-service-hero__grid { display: grid; grid-template-columns: 1fr .72fr; gap: clamp(3rem,7vw,7rem); align-items: end; }
.dsw-service-hero h1 { max-width: 12ch; color: var(--dsw-brand-900); }
.dsw-service-hero__aside { padding: 1.5rem; background: #fff; border-left: 3px solid var(--dsw-brand-700); box-shadow: var(--dsw-shadow); }
.dsw-service-hero__aside strong { display: block; color: var(--dsw-brand-900); }
.dsw-service-hero__aside span { display: block; margin-top: .35rem; color: var(--dsw-muted); font-size: .77rem; }
.dsw-service-layout { display: grid; grid-template-columns: minmax(0,1fr) 290px; align-items: start; gap: clamp(3rem,7vw,7rem); }
.dsw-service-content { max-width: 760px; }
.dsw-service-content > section { padding: 3.2rem 0; border-bottom: 1px solid var(--dsw-line); }
.dsw-service-content h2 { color: var(--dsw-brand-900); font-size: clamp(2.4rem,4vw,3.6rem); }
.dsw-service-content h3 { color: var(--dsw-brand-900); font-size: 2rem; }
.dsw-service-content p, .dsw-service-content li { color: #51474b; }
.dsw-answer-box { margin-top: -1.5rem; padding: 2rem; background: #fff; border-top: 3px solid var(--dsw-brand-700); box-shadow: var(--dsw-shadow); }
.dsw-answer-box p { margin: 0; }
.dsw-service-nav { position: sticky; top: 125px; padding: 1.5rem 0; border-top: 1px solid var(--dsw-line); border-bottom: 1px solid var(--dsw-line); }
.dsw-service-nav p { margin: 0 0 .8rem; color: var(--dsw-brand-700); font-size: .67rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.dsw-service-nav a { display: block; padding: .45rem 0; color: var(--dsw-muted); font-size: .78rem; text-decoration: none; }
.dsw-service-nav a:hover { color: var(--dsw-brand-800); }
.dsw-risk-list { display: grid; grid-template-columns: repeat(2,1fr); gap: .6rem 2rem; padding-left: 1.1rem; }
.dsw-review-box { padding: 1.2rem; background: var(--dsw-brand-075); border-left: 2px solid var(--dsw-brand-500); font-size: .82rem; }
.dsw-review-box strong { color: var(--dsw-brand-900); }
.dsw-source-list { font-size: .78rem; word-break: break-word; }
.dsw-source-list a { color: var(--dsw-brand-800); }

@media (max-width: 1100px) {
  .dsw-header__inner { grid-template-columns: 1fr auto auto; }
  .dsw-nav { display: none; position: absolute; top: 92px; left: 0; right: 0; padding: 1.5rem 4.5vw 2rem; background: var(--dsw-brand-025); border-bottom: 1px solid var(--dsw-line); }
  .dsw-nav.is-open { display: block; }
  .dsw-nav__list { flex-direction: column; gap: 0; }
  .dsw-nav__list li { border-bottom: 1px solid var(--dsw-line); }
  .dsw-nav__list a { display: block; padding: .9rem 0; }
  .dsw-menu-toggle { justify-self: end; display: grid; grid-template-columns: auto 18px; grid-template-rows: 1fr 1fr; align-items: center; column-gap: .6rem; row-gap: 4px; padding: .65rem; }
  .dsw-menu-toggle i { grid-column: 2; display: block; width: 18px; height: 1px; background: currentColor; }
  .dsw-menu-toggle i:first-of-type { grid-row: 1; align-self: end; }
  .dsw-menu-toggle i:last-of-type { grid-row: 2; align-self: start; }
  .dsw-menu-toggle span { grid-row: 1 / 3; font-size: .75rem; font-weight: 700; }
  .dsw-hero__grid { grid-template-columns: 1fr .75fr; }
  .dsw-trust__grid { grid-template-columns: repeat(2,1fr); }
  .dsw-trust__grid > div:nth-child(2) { border-right: 0; }
  .dsw-trust__grid > div:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.14); }
  .dsw-comparison-grid { grid-template-columns: 1.2fr 1fr; }
  .dsw-comparison-grid .dsw-compare:last-child { grid-column: 2; }
  .dsw-featured-grid { grid-template-columns: 1fr 1fr; }
  .dsw-feature-card--large { grid-row: span 1; min-height: 420px; }
  .dsw-review-preview { grid-template-columns: 1fr 1fr; }
  .dsw-review-preview > * { border-bottom: 1px solid var(--dsw-line); }
}

@media (max-width: 820px) {
  body { font-size: 16px; padding-bottom: 66px; }
  :root { --dsw-shell: min(90vw, 720px); }
  .dsw-section { padding: 5rem 0; }
  .dsw-header__inner { min-height: 76px; grid-template-columns: 1fr auto; }
  .dsw-header__actions { display: none; }
  .dsw-nav { top: 76px; }
  .dsw-brand__name { font-size: 1.4rem; }
  .dsw-brand__descriptor { font-size: .56rem; }
  .dsw-hero { padding-top: 3.2rem; }
  .dsw-hero__grid, .dsw-meet__grid, .dsw-service-hero__grid, .dsw-contact-band__grid, .dsw-travel__grid, .dsw-faqs__grid { grid-template-columns: 1fr; }
  .dsw-hero__copy { order: 1; }
  .dsw-hero__portrait { order: 2; min-height: 480px; margin-top: 1rem; }
  .dsw-hero__portrait .dsw-portrait-placeholder { min-height: 480px; }
  .dsw-hero__note { right: .8rem; bottom: 1rem; }
  .dsw-section-heading--split { grid-template-columns: 1fr; gap: 1.2rem; }
  .dsw-section-heading--split > p { justify-self: start; }
  .dsw-finder { grid-template-columns: 1fr; }
  .dsw-finder__tabs { display: flex; overflow-x: auto; border-right: 0; border-bottom: 1px solid var(--dsw-line); scrollbar-width: thin; }
  .dsw-finder__tabs button { width: auto; flex: 0 0 auto; min-height: 50px; padding: .6rem .8rem; }
  .dsw-finder__tabs button[aria-selected="true"] { padding-left: .8rem; }
  .dsw-finder__tabs button[aria-selected="true"]::before { display: none; }
  .dsw-finder__panels { padding: 2rem 0; }
  .dsw-finder__panel ul { grid-template-columns: 1fr; }
  .dsw-comparison-grid { display: flex; gap: .9rem; overflow-x: auto; margin-right: -5vw; padding-right: 5vw; scroll-snap-type: x mandatory; }
  .dsw-compare { flex: 0 0 78vw; max-width: 480px; scroll-snap-align: start; }
  .dsw-comparison-grid .dsw-compare:last-child { grid-column: auto; }
  .dsw-transformations__footer { align-items: flex-start; flex-direction: column; }
  .dsw-meet__portrait { padding-left: 0; }
  .dsw-portrait-placeholder--tall { min-height: 540px; }
  .dsw-decision-grid { grid-template-columns: 1fr; }
  .dsw-decision-grid article, .dsw-decision-grid article + article { min-height: auto; padding: 2rem 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.18); }
  .dsw-decision-grid article:last-child { border-bottom: 0; }
  .dsw-decision-grid h3 { margin-top: 2rem; }
  .dsw-featured-grid, .dsw-article-grid, .dsw-post-grid { grid-template-columns: 1fr; }
  .dsw-feature-card--large, .dsw-feature-card { min-height: 330px; }
  .dsw-timeline li { grid-template-columns: 45px 1fr; gap: 1rem; }
  .dsw-timeline p { grid-column: 2; justify-self: start; }
  .dsw-review-preview { grid-template-columns: 1fr; }
  .dsw-review-preview > * { min-height: 150px; border-right: 0; }
  .dsw-faqs__intro { position: static; }
  .dsw-contact-band__grid { gap: 2rem; }
  .dsw-footer__grid { grid-template-columns: 1fr; gap: 2rem; }
  .dsw-footer__bottom { align-items: flex-start; flex-direction: column; }
  .dsw-mobile-actions { position: fixed; left: 0; right: 0; bottom: 0; z-index: var(--dsw-z-mobile-actions); display: grid; transform: translateY(110%); transition: transform .25s ease; grid-template-columns: 1fr 1fr; min-height: 64px; background: #fff; border-top: 1px solid var(--dsw-line); padding-bottom: env(safe-area-inset-bottom); }
  body.dsw-mobile-actions-visible .dsw-mobile-actions { transform: translateY(0); }
  .dsw-mobile-actions a { display: flex; align-items: center; justify-content: center; gap: .5rem; color: var(--dsw-brand-900); font-size: .76rem; font-weight: 700; text-decoration: none; }
  .dsw-mobile-actions a + a { background: var(--dsw-brand-800); color: #fff; }
  .dsw-mobile-actions svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
  .dsw-service-layout { grid-template-columns: 1fr; }
  .dsw-service-nav { position: static; order: -1; }
  .dsw-risk-list { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
  h1 { font-size: clamp(3.25rem,16vw,4.9rem); }
  h2 { font-size: clamp(2.55rem,12vw,3.8rem); }
  .dsw-actions { align-items: stretch; flex-direction: column; }
  .dsw-actions .dsw-btn { width: 100%; }
  .dsw-actions .dsw-text-link { justify-content: center; min-height: 44px; }
  .dsw-hero__portrait { min-height: 420px; }
  .dsw-hero__portrait .dsw-portrait-placeholder { min-height: 420px; }
  .dsw-trust__grid { grid-template-columns: 1fr; }
  .dsw-trust__grid > div, .dsw-trust__grid > div:first-child { min-height: 100px; padding: 1rem 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.14); }
  .dsw-trust__grid > div:last-child { border-bottom: 0; }
  .dsw-finder__panel ul { gap: 0; }
  .dsw-compare { flex-basis: 86vw; }
  .dsw-portrait-placeholder--tall { min-height: 470px; }
  .dsw-feature-card { min-height: 290px; }
  .dsw-timeline h3 { font-size: 1.7rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}

@media print {
  .dsw-header, .dsw-footer, .dsw-mobile-actions, .dsw-actions, .dsw-service-nav { display: none !important; }
  body { background: #fff; color: #000; font-size: 11pt; }
  a { text-decoration: none; }
  .dsw-section, .dsw-main { padding: 1rem 0; }
}

/* Stage 2.2 — approved imagery and service social-video integration */
.dsw-brand { width: min(178px, 100%); }
.dsw-brand__logo { width: 174px; height: auto; object-fit: contain; }
.dsw-hero__portrait-frame,
.dsw-meet__portrait-frame {
  position: relative;
  height: 100%;
  min-height: 480px;
  overflow: hidden;
  background: linear-gradient(145deg, var(--dsw-brand-150), #f5e8ed 55%, #e8c6d3);
  box-shadow: var(--dsw-shadow);
}
.dsw-hero__portrait-frame { border-radius: 46% 46% 12px 12px; }
.dsw-hero__portrait-image,
.dsw-meet__portrait-image { width: 100%; height: 100%; object-fit: cover; }
.dsw-hero__portrait-image { object-position: 50% 28%; }
.dsw-meet__portrait-frame { min-height: 660px; border-radius: 10px 46% 10px 10px; }
.dsw-meet__portrait-image { object-position: 50% 22%; }

.dsw-service-hero { position: relative; overflow: hidden; }
.dsw-service-hero::before { content: ""; position: absolute; inset: auto -10vw -24vw auto; width: 48vw; aspect-ratio: 1; border: 1px solid rgba(126,64,95,.12); border-radius: 50%; }
.dsw-service-hero__grid { position: relative; grid-template-columns: minmax(0,.92fr) minmax(420px,.78fr); align-items: center; }
.dsw-service-hero__copy h1 { max-width: 10ch; }
.dsw-service-hero__media { position: relative; min-height: 590px; display: flex; align-items: stretch; }
.dsw-service-hero__media > img { width: 100%; min-height: 590px; object-fit: cover; object-position: 61% center; border-radius: 48% 48% 10px 10px; box-shadow: var(--dsw-shadow); }
.dsw-service-hero__aside { position: absolute; left: -2.1rem; right: 1.3rem; bottom: 1.5rem; background: rgba(255,255,255,.94); backdrop-filter: blur(14px); }
.dsw-service-hero__micro { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: 2.2rem; }
.dsw-service-hero__micro span { padding: .42rem .62rem; background: rgba(237,216,225,.58); border: 1px solid rgba(126,64,95,.14); border-radius: 999px; color: var(--dsw-brand-800); font-size: .68rem; font-weight: 700; letter-spacing: .04em; }
.dsw-service-layout { grid-template-columns: minmax(0, 860px) 260px; }
.dsw-service-content { max-width: 860px; }
.dsw-review-box { margin: 1.25rem 0 0; }

.dsw-service-heading-row { display: grid; grid-template-columns: 1.12fr .72fr; gap: 3rem; align-items: end; }
.dsw-service-heading-row > p { max-width: 44ch; margin: 0 0 .35rem; color: var(--dsw-muted); font-size: .86rem; }
.dsw-instagram-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem; margin-top: 2.25rem; }
.dsw-instagram-post { overflow: hidden; background: #fff; border: 1px solid var(--dsw-line); border-radius: var(--dsw-radius-sm); box-shadow: 0 18px 46px rgba(78,39,61,.06); }
.dsw-instagram-post__poster { position: relative; overflow: hidden; aspect-ratio: 4/5; background: var(--dsw-brand-075); }
.dsw-instagram-post__poster::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(45,36,40,.30)); }
.dsw-instagram-post__poster img { width: 100%; height: 100%; object-fit: cover; }
.dsw-instagram-post__play { position: absolute; z-index: 2; left: 50%; top: 50%; display: grid; place-items: center; width: 58px; height: 58px; transform: translate(-50%,-50%); background: rgba(255,255,255,.93); border: 1px solid rgba(255,255,255,.72); border-radius: 50%; box-shadow: 0 10px 30px rgba(45,36,40,.18); }
.dsw-instagram-post__play i { width: 0; height: 0; margin-left: 4px; border-top: 7px solid transparent; border-bottom: 7px solid transparent; border-left: 11px solid var(--dsw-brand-800); }
.dsw-instagram-post__meta { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .8rem; padding: 1rem 1rem .72rem; }
.dsw-instagram-post__avatar { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--dsw-brand-800); color: #fff; font-family: var(--dsw-display); font-size: .82rem; }
.dsw-instagram-post__meta strong,
.dsw-instagram-post__meta span { display: block; }
.dsw-instagram-post__meta strong { color: var(--dsw-brand-900); font-size: .78rem; }
.dsw-instagram-post__meta div span { margin-top: .12rem; color: var(--dsw-muted); font-size: .68rem; }
.dsw-instagram-post__mark { color: var(--dsw-brand-700); font-size: 1.45rem; }
.dsw-instagram-post__status { margin: 0; padding: .7rem 1rem 1rem; border-top: 1px solid var(--dsw-line); color: var(--dsw-muted) !important; font-size: .67rem; line-height: 1.45; }
.dsw-instagram-post .instagram-media { min-width: 0 !important; width: 100% !important; margin: 0 !important; }

.dsw-service-media-pair { display: grid; grid-template-columns: 1.15fr .85fr; align-items: end; gap: 1rem; margin: 3.2rem 0 .4rem; }
.dsw-service-media-pair figure { margin: 0; }
.dsw-service-media-pair img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: var(--dsw-radius-sm); }
.dsw-service-media-pair .is-tall img { aspect-ratio: 4/5; }
.dsw-service-media-pair figcaption { padding-top: .65rem; color: var(--dsw-muted); font-size: .7rem; line-height: 1.45; }
.dsw-service-transformations { border-bottom: 0 !important; }
.dsw-service-compare-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; margin: 2rem 0 1.8rem; }
.dsw-service-compare-grid .dsw-compare__viewport { aspect-ratio: 1/1.05; }
.dsw-service-compare-grid .dsw-compare figcaption span { max-width: 45ch; }

@media (max-width: 1100px) {
  .dsw-service-hero__grid { grid-template-columns: 1fr .82fr; gap: 3rem; }
  .dsw-service-hero__media { min-height: 520px; }
  .dsw-service-hero__media > img { min-height: 520px; }
  .dsw-service-layout { grid-template-columns: minmax(0,1fr) 230px; gap: 3rem; }
}
@media (max-width: 820px) {
  .dsw-brand { width: 150px; }
  .dsw-brand__logo { width: 150px; }
  .dsw-hero__portrait-frame { min-height: 500px; }
  .dsw-meet__portrait-frame { min-height: 560px; }
  .dsw-service-hero__grid { grid-template-columns: 1fr; }
  .dsw-service-hero__media { min-height: 460px; margin-top: .5rem; }
  .dsw-service-hero__media > img { min-height: 460px; border-radius: 44% 44% 8px 8px; }
  .dsw-service-hero__aside { left: .8rem; right: .8rem; bottom: .8rem; }
  .dsw-service-heading-row { grid-template-columns: 1fr; gap: 1rem; }
  .dsw-service-heading-row > p { max-width: 58ch; }
  .dsw-instagram-grid { display: flex; overflow-x: auto; margin-right: -5vw; padding-right: 5vw; scroll-snap-type: x mandatory; }
  .dsw-instagram-post { flex: 0 0 78vw; max-width: 430px; scroll-snap-align: start; }
  .dsw-service-media-pair { grid-template-columns: 1fr; }
  .dsw-service-media-pair .is-tall img,
  .dsw-service-media-pair img { aspect-ratio: 16/11; }
  .dsw-service-compare-grid { display: flex; overflow-x: auto; margin-right: -5vw; padding-right: 5vw; scroll-snap-type: x mandatory; }
  .dsw-service-compare-grid .dsw-compare { flex: 0 0 82vw; max-width: 480px; }
}
@media (max-width: 520px) {
  .dsw-hero__portrait-frame { min-height: 430px; }
  .dsw-meet__portrait-frame { min-height: 500px; }
  .dsw-service-hero { padding-top: 3rem; }
  .dsw-service-hero__media { min-height: 410px; }
  .dsw-service-hero__media > img { min-height: 410px; }
  .dsw-service-hero__micro { gap: .35rem; }
  .dsw-service-hero__micro span { font-size: .63rem; }
  .dsw-instagram-post { flex-basis: 86vw; }
}

/* Featured procedure photography */
.dsw-feature-card--image { isolation: isolate; border-color: transparent; background: var(--dsw-brand-900); }
.dsw-feature-card--image::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(45,36,40,.05) 15%, rgba(78,39,61,.28) 50%, rgba(45,36,40,.88) 100%); }
.dsw-feature-card__media { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transform: scale(1.01); transition: transform .5s cubic-bezier(.2,.7,.2,1); }
.dsw-feature-card--image:hover .dsw-feature-card__media { transform: scale(1.045); }
.dsw-feature-card--image > span { color: rgba(255,255,255,.78); }
.dsw-feature-card--image h3 { color: #fff; text-shadow: 0 2px 18px rgba(45,36,40,.24); }
.dsw-feature-card--image p { color: rgba(255,255,255,.82); }
.dsw-feature-card--image > svg { z-index: 2; stroke: #fff; }

/* Final review refinements: richer finder, editorial decision visual, real review cards, location cards. */
.dsw-procedures {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(255,255,255,.94), rgba(255,249,251,.89)),
    url('../images/generated/brand-finder-art.webp') center/cover no-repeat;
}
.dsw-procedures::after { content:""; position:absolute; inset:auto -8% -28% auto; width:42%; aspect-ratio:1; border-radius:50%; background:rgba(119,58,89,.05); filter:blur(2px); pointer-events:none; }
.dsw-procedures .dsw-shell { position:relative; z-index:1; }
.dsw-finder { overflow:hidden; background:rgba(255,255,255,.88); border:1px solid rgba(126,64,95,.16); border-radius:18px; box-shadow:0 28px 80px rgba(78,39,61,.08); backdrop-filter:blur(12px); }
.dsw-finder__tabs { background:rgba(255,248,250,.76); }
.dsw-decisions { position:relative; overflow:hidden; background:linear-gradient(145deg,#4f263d 0%,#6b3552 58%,#7c4561 100%); }
.dsw-decision-visual { position:relative; height:clamp(180px,24vw,310px); margin:1.2rem 0 2rem; overflow:hidden; border-radius:18px; border:1px solid rgba(255,255,255,.18); }
.dsw-decision-visual img { width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(.82) contrast(.98); }
.dsw-decision-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(79,38,61,.08),rgba(79,38,61,.34)); }
.dsw-review-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin:2rem 0 1rem; }
.dsw-review-rating { display:flex; flex-direction:column; min-height:180px; padding:1.5rem; border:1px solid var(--dsw-line); border-radius:14px; background:#fff; text-decoration:none; box-shadow:0 16px 42px rgba(78,39,61,.05); }
.dsw-review-rating > span { color:var(--dsw-brand-800); font-family:var(--dsw-display); font-size:3rem; line-height:1; }
.dsw-review-rating strong { margin-top:auto; color:var(--dsw-brand-900); }
.dsw-review-rating small { margin-top:.35rem; color:var(--dsw-muted); }
.dsw-review-quotes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.dsw-review-quotes article { margin:0; padding:1.5rem; background:var(--dsw-brand-075); border-radius:14px; }
.dsw-review-quotes p { margin:0 0 1rem; color:#51474b; font-size:.86rem; }
.dsw-review-quotes cite { color:var(--dsw-brand-700); font-size:.72rem; font-style:normal; font-weight:700; }
.dsw-locations { background:#fff; }
.dsw-location-grid, .dsw-service-location-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.dsw-location-grid article, .dsw-service-location-grid article { padding:2rem; border:1px solid var(--dsw-line); border-radius:14px; background:linear-gradient(160deg,var(--dsw-brand-025),#fff); }
.dsw-location-grid article > span { color:var(--dsw-brand-500); font-size:.7rem; letter-spacing:.13em; }
.dsw-location-grid h3, .dsw-service-location-grid h3 { color:var(--dsw-brand-900); }
.dsw-location-grid p, .dsw-service-location-grid p { color:var(--dsw-muted); }
.dsw-location-grid strong, .dsw-service-location-grid strong { display:block; margin:.75rem 0 1rem; color:#51474b; font-size:.78rem; }
.dsw-location-grid a, .dsw-service-location-grid a { color:var(--dsw-brand-800); font-weight:700; font-size:.76rem; }
.dsw-practical-strip { display:flex; flex-wrap:wrap; gap:.75rem 1.5rem; margin-top:1rem; padding:1rem 1.25rem; background:var(--dsw-brand-075); border-radius:12px; color:#5d4d54; font-size:.76rem; }
.dsw-review-box--approved { display:grid; gap:.3rem; padding:1.35rem 1.5rem; border-left:0; border:1px solid rgba(126,64,95,.18); border-radius:14px; background:linear-gradient(100deg,var(--dsw-brand-075),#fff); }
.dsw-review-box--approved strong { font-family:var(--dsw-display); font-size:1.35rem; font-weight:600; }
.dsw-review-box--approved span { color:var(--dsw-muted); font-size:.74rem; }
.dsw-instagram-post__cta { display:block; padding:.8rem 1rem 1rem; border-top:1px solid var(--dsw-line); color:var(--dsw-brand-800); font-size:.72rem; font-weight:700; text-decoration:none; }
@media (max-width: 760px) {
  .dsw-review-summary, .dsw-review-quotes, .dsw-location-grid, .dsw-service-location-grid { grid-template-columns:1fr; }
  .dsw-decision-visual { height:190px; }
}

/* Generic production service pages */
.dsw-service-media-pair--gallery img { aspect-ratio: 4/3; object-fit: cover; }
.dsw-risk-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem 2rem; margin:1.4rem 0 0; padding:0; list-style:none; }
.dsw-risk-list li { position:relative; padding-left:1.35rem; color:var(--dsw-muted); }
.dsw-risk-list li::before { content:""; position:absolute; left:0; top:.65em; width:.42rem; height:.42rem; border-radius:50%; background:var(--dsw-brand-500); }
.dsw-service-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-top:2rem; }
.dsw-service-gallery figure { margin:0; overflow:hidden; border-radius:var(--dsw-radius-sm); background:var(--dsw-brand-050); }
.dsw-service-gallery img { width:100%; aspect-ratio:1/1; object-fit:cover; display:block; }
.dsw-related-services { border-top:1px solid var(--dsw-line); padding-top:2.35rem; }
.dsw-related-services h2 { margin:.45rem 0 1.25rem; }
.dsw-related-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
.dsw-related-links a {
  min-height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1rem 1.15rem;
  border:1px solid rgba(126,64,95,.15);
  border-radius:12px;
  background:#fff;
  color:var(--dsw-brand-900);
  font-size:.88rem;
  font-weight:750;
  line-height:1.4;
  text-decoration:none;
  box-shadow:0 8px 24px rgba(78,39,61,.04);
  transition:transform .2s ease,border-color .2s ease,background-color .2s ease,box-shadow .2s ease;
}
.dsw-related-links a span { min-width:0; }
.dsw-related-links svg { flex:0 0 auto; width:1rem; height:1rem; fill:none; stroke:var(--dsw-brand-500); stroke-width:1.7; transition:transform .2s ease; }
@media (hover:hover) and (pointer:fine) {
  .dsw-related-links a:hover {
    transform:translateY(-1px);
    border-color:rgba(126,64,95,.32);
    background:var(--dsw-brand-025);
    box-shadow:0 12px 28px rgba(78,39,61,.075);
  }
  .dsw-related-links a:hover svg { transform:translateX(3px); }
}
.dsw-instagram-embed-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-top:1.5rem; }
.dsw-instagram-embed { overflow:hidden; border:1px solid var(--dsw-line); border-radius:var(--dsw-radius-sm); background:#fff; }
.dsw-instagram-embed iframe { display:block; width:100%; height:620px; border:0; background:#fff; }
.dsw-instagram-embed > a { display:block; padding:.9rem 1rem; border-top:1px solid var(--dsw-line); color:var(--dsw-brand-800); text-decoration:none; font-size:.82rem; }
.dsw-location-grid--service { margin-top:1.4rem; }
@media (max-width: 820px) {
  .dsw-risk-list,.dsw-related-links,.dsw-instagram-embed-grid { grid-template-columns:1fr; }
  .dsw-service-gallery { grid-template-columns:1fr 1fr; }
  .dsw-instagram-embed iframe { height:540px; }
}
@media (max-width: 520px) { .dsw-service-gallery { grid-template-columns:1fr; } }

/* Inner pages */
.dsw-inner-hero { background:linear-gradient(135deg,var(--dsw-brand-050),#fff 62%); border-bottom:1px solid var(--dsw-line); padding:clamp(4rem,8vw,8rem) 0; }
.dsw-inner-hero--compact { padding:clamp(3.5rem,6vw,6rem) 0; }
.dsw-inner-hero h1,.dsw-article-hero h1 { max-width:13ch; margin:.4rem 0 1.4rem; color:var(--dsw-brand-900); font-family:var(--dsw-serif); font-size:clamp(3rem,6vw,6.2rem); line-height:.96; letter-spacing:-.035em; }
.dsw-inner-hero__grid { display:grid; grid-template-columns:1fr .7fr; gap:5rem; align-items:center; }
.dsw-inner-hero__grid figure { margin:0; max-height:620px; overflow:hidden; border-radius:var(--dsw-radius-lg); background:var(--dsw-brand-100); }
.dsw-inner-hero__grid figure img { width:100%; height:100%; object-fit:cover; object-position:50% 18%; display:block; }
.dsw-about-grid,.dsw-contact-grid,.dsw-article-layout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(280px,.7fr); gap:5rem; align-items:start; }
.dsw-check-list { list-style:none; margin:2rem 0; padding:0; display:grid; gap:.75rem; }
.dsw-check-list li { padding:.9rem 0; border-bottom:1px solid var(--dsw-line); }
.dsw-about-card,.dsw-contact-note,.dsw-article-aside { position:sticky; top:7rem; padding:2rem; border-radius:var(--dsw-radius-md); background:var(--dsw-brand-075); }
.dsw-value-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; background:var(--dsw-line); border:1px solid var(--dsw-line); }
.dsw-value-grid article { background:#fff; padding:2rem; }
.dsw-value-grid span { color:var(--dsw-brand-500); font-size:.72rem; letter-spacing:.12em; }
.dsw-service-directory { display:grid; gap:5rem; }
.dsw-service-directory section > header { display:grid; grid-template-columns:.7fr 1fr; gap:2rem; padding-bottom:1.25rem; border-bottom:1px solid var(--dsw-line); }
.dsw-service-directory h2 { margin:0; font-family:var(--dsw-serif); color:var(--dsw-brand-900); font-size:clamp(2rem,4vw,3.7rem); }
.dsw-directory-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 2rem; }
.dsw-directory-grid a { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1.15rem 0; border-bottom:1px solid var(--dsw-line); color:var(--dsw-brand-900); text-decoration:none; }
.dsw-directory-grid svg { width:1rem; height:1rem; fill:none; stroke:currentColor; }
.dsw-contact-list { display:grid; margin:2rem 0 0; }
.dsw-contact-list div { display:grid; grid-template-columns:10rem 1fr; gap:1rem; padding:1rem 0; border-top:1px solid var(--dsw-line); }
.dsw-contact-list dt { color:var(--dsw-muted); }
.dsw-contact-list dd { margin:0; color:var(--dsw-brand-900); font-weight:600; }
.dsw-comparison-grid--wide { grid-template-columns:repeat(3,minmax(0,1fr)); }
.dsw-post-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; }
.dsw-post-card { overflow:hidden; border-bottom:1px solid var(--dsw-line); padding-bottom:2rem; }
.dsw-post-card__image { display:block; aspect-ratio:16/10; overflow:hidden; margin-bottom:1.5rem; border-radius:var(--dsw-radius-sm); }
.dsw-post-card__image img { width:100%; height:100%; object-fit:cover; display:block; }
.dsw-post-card h2 { font-family:var(--dsw-serif); font-size:clamp(2rem,3vw,3.2rem); color:var(--dsw-brand-900); }
.dsw-post-card h2 a { color:inherit; text-decoration:none; }
.dsw-article-hero { padding:clamp(4rem,7vw,7rem) 0 3rem; background:var(--dsw-brand-050); border-bottom:1px solid var(--dsw-line); }
.dsw-article-hero__grid { display:grid; grid-template-columns:1fr .75fr; gap:4rem; align-items:end; }
.dsw-article-hero figure { margin:0; border-radius:var(--dsw-radius-md); overflow:hidden; }
.dsw-article-hero figure img { width:100%; display:block; }
.dsw-article-aside h2 { font-family:var(--dsw-serif); color:var(--dsw-brand-900); }
@media (max-width:900px){ .dsw-inner-hero__grid,.dsw-about-grid,.dsw-contact-grid,.dsw-article-layout,.dsw-article-hero__grid{grid-template-columns:1fr;gap:2rem}.dsw-about-card,.dsw-contact-note,.dsw-article-aside{position:static}.dsw-value-grid{grid-template-columns:1fr 1fr}.dsw-directory-grid,.dsw-comparison-grid--wide{grid-template-columns:1fr 1fr}.dsw-post-grid{grid-template-columns:1fr} }
@media (max-width:560px){ .dsw-value-grid,.dsw-directory-grid,.dsw-comparison-grid--wide{grid-template-columns:1fr}.dsw-contact-list div{grid-template-columns:1fr;gap:.25rem}.dsw-service-directory section>header{grid-template-columns:1fr} }

/* Service-page expansion: same visual system as the approved rhinoplasty page. */
.dsw-service-journey ol {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:0;
  margin:2rem 0 0;
  padding:0;
  list-style:none;
  border-top:1px solid var(--dsw-line);
  border-bottom:1px solid var(--dsw-line);
}
.dsw-service-journey li {
  min-width:0;
  padding:1.3rem 1rem 1.45rem;
  border-right:1px solid var(--dsw-line);
}
.dsw-service-journey li:last-child { border-right:0; }
.dsw-service-journey li > span {
  display:block;
  margin-bottom:.7rem;
  color:var(--dsw-brand-500);
  font-size:.64rem;
  font-weight:700;
  letter-spacing:.13em;
}
.dsw-service-journey strong,
.dsw-service-journey small { display:block; }
.dsw-service-journey strong { color:var(--dsw-brand-900); font-size:.82rem; }
.dsw-service-journey small { margin-top:.42rem; color:var(--dsw-muted); font-size:.7rem; line-height:1.5; }
.dsw-consult-questions ol {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 2rem;
  margin:1.6rem 0 0;
  padding:0;
  list-style:none;
  counter-reset:dsw-question;
  border-top:1px solid var(--dsw-line);
}
.dsw-consult-questions li {
  counter-increment:dsw-question;
  position:relative;
  min-height:84px;
  padding:1.1rem .5rem 1.1rem 2.5rem;
  border-bottom:1px solid var(--dsw-line);
  color:#51474b;
}
.dsw-consult-questions li::before {
  content:counter(dsw-question, decimal-leading-zero);
  position:absolute;
  left:0;
  top:1.15rem;
  color:var(--dsw-brand-500);
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.08em;
}
@media (max-width: 900px) {
  .dsw-service-journey ol { grid-template-columns:1fr; }
  .dsw-service-journey li { border-right:0; border-bottom:1px solid var(--dsw-line); }
  .dsw-service-journey li:last-child { border-bottom:0; }
  .dsw-consult-questions ol { grid-template-columns:1fr; }
}
.dsw-service-final-cta { padding:clamp(3.5rem,6vw,6rem) 0; background:linear-gradient(135deg,var(--dsw-brand-900),#6b3552); color:#fff; }
.dsw-service-final-cta .dsw-shell { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:3rem; align-items:end; }
.dsw-service-final-cta .dsw-eyebrow { color:var(--dsw-brand-300); }
.dsw-service-final-cta h2 { max-width:17ch; color:#fff; }
.dsw-service-final-cta p:not(.dsw-eyebrow) { max-width:64ch; color:rgba(255,255,255,.82); }
.dsw-service-final-cta .dsw-btn { background:#fff; color:var(--dsw-brand-900); }
.dsw-service-final-cta .dsw-btn--outline { background:transparent; color:#fff; border-color:rgba(255,255,255,.65); }
@media (max-width:900px){.dsw-service-final-cta .dsw-shell{grid-template-columns:1fr}.dsw-service-final-cta .dsw-actions{justify-content:flex-start}}

/* Patient-education library: Drive-imported native WordPress posts */
.dsw-article-hero__dek { max-width:62ch; margin:1.35rem 0 0; color:var(--dsw-muted); font-size:clamp(.95rem,1.3vw,1.08rem); line-height:1.75; }
.dsw-article-hero__art { position:relative; min-height:360px; overflow:hidden; border-radius:var(--dsw-radius-md); border:1px solid rgba(126,64,95,.12); background:linear-gradient(135deg,#fff 0%,var(--dsw-brand-075) 52%,var(--dsw-brand-150) 100%); }
.dsw-article-hero__art::before { content:""; position:absolute; inset:8% 8% 8% 22%; opacity:.44; background:url('../images/generated/brand-finder-art.webp') center/cover no-repeat; mix-blend-mode:multiply; }
.dsw-article-hero__art::after { content:""; position:absolute; width:13rem; height:13rem; right:-3rem; bottom:-3rem; border:1px solid rgba(126,64,95,.2); border-radius:50%; box-shadow:0 0 0 2rem rgba(255,255,255,.22),0 0 0 4rem rgba(126,64,95,.035); }
.dsw-article-hero__art span { position:absolute; left:2rem; bottom:2rem; width:4.5rem; height:2px; background:var(--dsw-brand-500); }
.dsw-article-prose { min-width:0; }
.dsw-imported-article-content { max-width:760px; }
.dsw-imported-article-content > :first-child { margin-top:0; }
.dsw-imported-article-content h2 { margin:clamp(3rem,5vw,4.75rem) 0 1.15rem; color:var(--dsw-brand-900); font-family:var(--dsw-serif); font-size:clamp(2.1rem,4vw,3.35rem); line-height:1.06; letter-spacing:-.025em; text-wrap:balance; }
.dsw-imported-article-content h3 { margin:2.7rem 0 .9rem; color:var(--dsw-brand-900); font-family:var(--dsw-serif); font-size:clamp(1.55rem,2.8vw,2.2rem); line-height:1.15; text-wrap:balance; }
.dsw-imported-article-content h4 { margin:2rem 0 .75rem; color:var(--dsw-brand-900); font-size:1.05rem; }
.dsw-imported-article-content p,.dsw-imported-article-content li { color:#51474b; font-size:.96rem; line-height:1.82; }
.dsw-imported-article-content p { margin:0 0 1.35rem; }
.dsw-imported-article-content ul,.dsw-imported-article-content ol { margin:1rem 0 1.8rem; padding-left:1.25rem; }
.dsw-imported-article-content li + li { margin-top:.65rem; }
.dsw-imported-article-content a { color:var(--dsw-brand-800); text-decoration-thickness:1px; text-underline-offset:3px; }
.dsw-imported-article-content blockquote { margin:2.25rem 0; padding:1.4rem 1.65rem; border-left:2px solid var(--dsw-brand-500); background:var(--dsw-brand-050); color:var(--dsw-brand-900); }
.dsw-imported-article-content table { width:100%; min-width:600px; border-collapse:collapse; font-size:.86rem; }
.dsw-imported-article-content table th,.dsw-imported-article-content table td { padding:1rem; border:1px solid var(--dsw-line); vertical-align:top; text-align:left; line-height:1.6; }
.dsw-imported-article-content table th { background:var(--dsw-brand-075); color:var(--dsw-brand-900); font-weight:700; }
.dsw-imported-article-content .dsw-table-scroll { max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.dsw-imported-article-content > table { display:block; max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.dsw-article-faqs { margin:1.5rem 0 2.5rem; }
.dsw-article-faqs details { background:#fff; }
.dsw-article-faqs summary { padding:1.15rem .2rem; font-size:.95rem; }
.dsw-article-faqs summary::after { content:"+"; flex:0 0 auto; color:var(--dsw-brand-600); font-size:1.25rem; font-weight:400; }
.dsw-article-faqs details[open] summary::after { content:"−"; }
.dsw-article-faqs details > div { padding:0 .2rem 1.4rem; }
.dsw-article-faqs details p { margin:0; }
.dsw-article-reviewer { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2rem; align-items:end; margin-top:4rem; padding:2rem 0; border-top:1px solid var(--dsw-line); border-bottom:1px solid var(--dsw-line); }
.dsw-article-reviewer h2 { margin:.25rem 0 .65rem; color:var(--dsw-brand-900); font-family:var(--dsw-serif); font-size:2rem; }
.dsw-article-reviewer p:not(.dsw-eyebrow) { margin:0; color:var(--dsw-muted); font-size:.82rem; }
.dsw-article-reviewer small { display:block; margin-top:.55rem; color:var(--dsw-muted); font-size:.7rem; }
.dsw-article-aside__link { margin-top:1.2rem; }
.dsw-post-card__image--fallback { position:relative; display:grid; place-items:center; background:linear-gradient(135deg,var(--dsw-brand-075),#fff 52%,var(--dsw-brand-150)); }
.dsw-post-card__image--fallback::before { content:""; position:absolute; inset:10%; opacity:.22; background:url('../images/generated/brand-finder-art.webp') center/cover no-repeat; }
.dsw-post-card__image--fallback span { position:relative; z-index:1; display:grid; place-items:center; width:4rem; height:4rem; border:1px solid rgba(126,64,95,.25); border-radius:50%; background:rgba(255,255,255,.7); color:var(--dsw-brand-700); font-family:var(--dsw-serif); font-size:1.7rem; }
.dsw-post-card > div > p:not(.dsw-eyebrow) { color:var(--dsw-muted); line-height:1.7; }
@media (max-width:900px){
  .dsw-article-hero__art{min-height:250px}
  .dsw-article-reviewer{grid-template-columns:1fr;align-items:start}
}
@media (max-width:560px){
  .dsw-imported-article-content h2{margin-top:3rem}
  .dsw-imported-article-content table{min-width:520px}
  .dsw-article-hero__art{min-height:210px}
}

/* ========================================================================
   0.7.0 — LOCKED PATIENT EDUCATION + LOCAL PATIENT TRAVEL SYSTEM
   ======================================================================== */
.dsw-article-hero--locked {
  padding: clamp(3.75rem,6vw,6.25rem) 0 clamp(3rem,4.5vw,4.25rem);
  background: radial-gradient(circle at 88% 15%,rgba(217,169,189,.38),transparent 26%),linear-gradient(180deg,#fcf8fa 0%,#f7edf1 100%);
}
.dsw-article-hero--locked .dsw-article-hero__grid {
  grid-template-columns: minmax(0,1fr) minmax(340px,.72fr);
  gap: clamp(2.5rem,4vw,4.5rem);
  align-items: center;
}
.dsw-article-hero--locked h1 { max-width: 16ch; }
.dsw-article-hero--locked .dsw-article-hero__dek { max-width: 58ch; }
.dsw-article-hero--locked figure {
  position: relative;
  aspect-ratio: 16/10;
  overflow: hidden;
  margin: 0;
  border-radius: 18px;
  background: #eadde3;
  box-shadow: 0 30px 80px rgba(78,39,61,.14);
}
.dsw-article-hero--locked figure img {
  width: 100%; height: 100%; display: block;
  object-fit: cover; object-position: 66% 50%;
}
.dsw-article-hero--locked figure::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  border: 1px solid rgba(255,255,255,.55); border-radius: inherit;
}
.dsw-byline { display:flex; flex-wrap:wrap; align-items:center; gap:.65rem 1.4rem; margin:1.5rem 0 0; color:#6e6267; font-size:.78rem; line-height:1.5; }
.dsw-byline strong { color: var(--dsw-brand-900); }

.dsw-article-review-band {
  padding: clamp(1.35rem,2.2vw,2rem) 0 0;
  background:#fff;
}
.dsw-article-review-band__inner {
  max-width:1174px;
}
.dsw-article-review-band .reviewer-card.reviewer-card--top {
  margin:0;
}
.dsw-article-body { padding: clamp(2.4rem,4vw,4rem) 0 clamp(5rem,8vw,8rem); }
.dsw-article-body .dsw-article-layout {
  grid-template-columns: minmax(0,760px) minmax(290px,350px);
  gap: clamp(2.5rem,4vw,4rem); justify-content:center; align-items:start;
}
.dsw-article-body .dsw-article-prose,
.dsw-article-body .dsw-imported-article-content,
.dsw-article-body .dsw-article-aside { min-width:0; }
.dsw-article-body .dsw-imported-article-content { width:100%; max-width:760px; }

.reviewer-card.reviewer-card--top {
  display:grid; grid-template-columns:84px minmax(0,1fr); gap:1.2rem; align-items:center;
  margin:0 0 2.25rem; padding:1.25rem 1.35rem; border:1px solid rgba(126,64,95,.14);
  border-radius:16px; background:linear-gradient(110deg,#f7edf1 0%,#fcf8fa 100%);
  box-shadow:0 16px 42px rgba(78,39,61,.07);
}
.reviewer-card.reviewer-card--top img { width:84px;height:84px;border-radius:14px;object-fit:cover;object-position:center 20%; }
.reviewer-card.reviewer-card--top .dsw-eyebrow { margin-bottom:.35rem;font-size:.64rem; }
.reviewer-card.reviewer-card--top h3 { margin:0 0 .3rem;font-size:clamp(1.55rem,2.2vw,2rem);line-height:1.08;color:var(--dsw-brand-900); }
.reviewer-card.reviewer-card--top p { max-width:62ch;margin:0;color:#62575c;font-size:.8rem;line-height:1.58; }
.reviewer-card.reviewer-card--top .meta { display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .9rem;margin-top:.55rem; }
.reviewer-card__date { color:#71666b;font-weight:600; }

.dsw-quick-answer {
  margin:0 0 2.25rem; padding:1.7rem 1.8rem; overflow:hidden; border-radius:18px;
  background:linear-gradient(135deg,#4e273d,#67334f); color:#fff; box-shadow:0 24px 55px rgba(78,39,61,.13);
}
.dsw-quick-answer .dsw-eyebrow { margin-bottom:.6rem;color:#edd8e1!important;-webkit-text-fill-color:#edd8e1!important; }
.dsw-quick-answer h2 { margin:0;color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.08; }
.dsw-quick-answer p { color:rgba(255,255,255,.9)!important;-webkit-text-fill-color:rgba(255,255,255,.9)!important; }
.dsw-quick-facts { display:flex;flex-wrap:wrap;align-items:stretch;gap:.65rem;margin-top:1.25rem; }
.dsw-quick-facts span { display:inline-flex;align-items:center;padding:.55rem .75rem;border:1px solid rgba(255,255,255,.28);border-radius:8px;background:rgba(255,255,255,.10);color:#fff;font-size:.75rem;line-height:1.4; }

.dsw-article-toc { margin:0 0 3.25rem;padding:1.45rem 1.5rem;border:1px solid rgba(126,64,95,.15);border-radius:14px;background:#fff; }
.dsw-article-toc .dsw-eyebrow { margin:0 0 .8rem; }
.dsw-article-toc ol { columns:2;column-gap:2rem;margin:0;padding-left:1.15rem; }
.dsw-article-toc li { break-inside:avoid;margin:.45rem 0;color:#62575c;font-size:.8rem;line-height:1.5; }
.dsw-article-toc a { color:#67334f;text-decoration:none; }
.dsw-article-toc a:hover,.dsw-article-toc a:focus-visible { text-decoration:underline; }

.dsw-imported-article-content { color:#40383c; }
.dsw-imported-article-content > p { max-width:68ch; }
.dsw-imported-article-content h2 { scroll-margin-top:120px;margin-top:clamp(3.35rem,5vw,4.5rem); }
.dsw-imported-article-content h3 { scroll-margin-top:120px;margin-top:2.45rem; }
.dsw-imported-article-content ul:not(.dsw-source-list),
.dsw-imported-article-content ol:not(.dsw-local-steps) { padding-left:1.25rem; }
.dsw-imported-article-content li { margin:.58rem 0;line-height:1.72; }
.dsw-imported-article-content ul:not(.dsw-source-list) li::marker { color:var(--dsw-brand-500);font-size:.85em; }
.dsw-imported-article-content ol li::marker { color:var(--dsw-brand-700);font-weight:700; }
.dsw-article-callout { margin:2rem 0;padding:1.4rem 1.5rem;border-left:3px solid #b66f91;background:#f7edf1;border-radius:0 12px 12px 0; }
.dsw-article-callout p { margin:0!important; }

.dsw-table-wrap { width:100%;max-width:100%;overflow-x:auto;margin:1.4rem 0 2.2rem;border:1px solid #dfd5d9;border-radius:14px;background:#fff; }
.dsw-table-wrap table { width:100%;min-width:690px;margin:0;border:0;border-collapse:collapse; }
.dsw-table-wrap th,.dsw-table-wrap td { padding:.9rem 1rem;border:0!important;border-bottom:1px solid #e7dfe2!important;text-align:left;vertical-align:top; }
.dsw-table-wrap th { background:#f7edf1!important;color:var(--dsw-brand-900);font-size:.78rem;font-weight:700; }
.dsw-table-wrap td { color:#5d5257;font-size:.8rem;line-height:1.6; }
.dsw-table-wrap tr:last-child td { border-bottom:0!important; }

.dsw-article-faqs { margin:1.35rem 0 2.6rem;border-top:1px solid #dfd5d9; }
.dsw-article-faqs details { border-bottom:1px solid #dfd5d9;background:transparent; }
.dsw-article-faqs summary { display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.15rem .2rem;cursor:pointer;list-style:none;color:#4e273d;font-size:.95rem;font-weight:700;line-height:1.45; }
.dsw-article-faqs summary::-webkit-details-marker { display:none; }
.dsw-article-faqs summary::after { content:"+";flex:0 0 auto;margin-top:-.08rem;color:#7e405f;font-family:Arial,sans-serif;font-size:1.25rem;font-weight:400; }
.dsw-article-faqs details[open] summary::after { content:"−"; }
.dsw-article-faqs details > div { padding:0 .2rem 1.35rem; }
.dsw-article-faqs details p { margin:0;max-width:64ch;color:#62575c;font-size:.86rem; }

.dsw-source-list { padding-left:1.2rem!important; }
.dsw-source-list li,.dsw-source-panel li { margin:.75rem 0; }
.dsw-source-list a,.dsw-source-panel a { font-weight:600; }
.dsw-medical-disclaimer { display:block;margin-top:3.25rem;padding:1.25rem 1.35rem;border-top:1px solid #dfd5d9;border-bottom:1px solid #dfd5d9;color:#71666b;font-size:.78rem;line-height:1.7; }

.location-band { margin:3.5rem 0 0;padding:2rem;overflow:hidden;border-radius:20px;background:#4e273d;color:#fff; }
.location-band .dsw-eyebrow { color:#edd8e1!important; }
.location-band h2,.location-band p,.location-band strong,.location-band a { color:#fff!important;-webkit-text-fill-color:#fff!important; }
.location-band > h2 { margin:.2rem 0 .7rem;max-width:18ch;font-size:clamp(2rem,3.5vw,3rem); }
.location-band > p:not(.dsw-eyebrow) { max-width:62ch;color:#f4e8ed!important;-webkit-text-fill-color:#f4e8ed!important; }
.locations { display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.3rem; }
.location { padding:1.25rem;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.08); }
.location strong { display:block;font-family:var(--dsw-display);font-size:1.25rem; }
.location span { display:block;margin-top:.35rem;color:#f1e2e8;font-size:.8rem;line-height:1.55; }
.location a { display:inline-flex;align-items:center;gap:.35rem;margin-top:.8rem;font-size:.78rem;font-weight:700;text-decoration:none; }
.location a svg { width:17px;fill:none;stroke:currentColor;stroke-width:1.6; }

.dsw-article-body .dsw-article-aside { width:100%;max-width:350px;justify-self:end;position:sticky;top:6.75rem;padding:clamp(1.55rem,2.2vw,1.9rem);overflow:hidden;border-radius:18px;background:linear-gradient(145deg,#4e273d 0%,#67334f 100%);color:#fff;box-shadow:0 24px 55px rgba(78,39,61,.14); }
.dsw-article-body .dsw-article-aside .dsw-eyebrow { color:#edd8e1!important;-webkit-text-fill-color:#edd8e1!important; }
.dsw-article-body .dsw-article-aside h2 { max-width:11ch;margin:0 0 1rem;color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:clamp(2rem,2.7vw,2.85rem);line-height:1.02; }
.dsw-article-body .dsw-article-aside p { margin:0 0 1.15rem;color:rgba(255,255,255,.86)!important;-webkit-text-fill-color:rgba(255,255,255,.86)!important;font-size:.86rem;line-height:1.68; }
.dsw-article-body .dsw-article-aside .dsw-btn { width:100%;margin-top:.2rem;background:#fff;color:#4e273d!important;-webkit-text-fill-color:#4e273d!important;border-color:#fff; }
.dsw-article-body .dsw-article-aside .dsw-text-link,.dsw-article-body .dsw-article-aside a:not(.dsw-btn) { color:#fff!important;-webkit-text-fill-color:#fff!important; }
.dsw-article-body .dsw-article-aside__link { display:inline-flex;align-items:center;gap:.3rem;margin-top:1rem;font-size:.8rem; }
.dsw-article-body .dsw-article-aside__link svg { width:17px;fill:none;stroke:currentColor;stroke-width:1.6; }
.dsw-article-body .dsw-article-aside hr { margin:1.4rem 0;border:0;border-top:1px solid rgba(255,255,255,.22); }
.dsw-article-body .dsw-article-aside__meta { margin:0;font-size:.74rem;line-height:1.6; }

.dsw-content-final-cta { padding:clamp(3.5rem,6vw,6rem) 0;background:linear-gradient(135deg,var(--dsw-brand-900),#6b3552);color:#fff; }
.dsw-content-final-cta__grid { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3rem;align-items:end; }
.dsw-content-final-cta .dsw-eyebrow { color:var(--dsw-brand-300); }
.dsw-content-final-cta h2 { max-width:18ch;color:#fff; }
.dsw-content-final-cta p:not(.dsw-eyebrow) { max-width:64ch;color:rgba(255,255,255,.82); }
.dsw-content-final-cta .dsw-btn { background:#fff;color:var(--dsw-brand-900); }
.dsw-content-final-cta .dsw-btn--outline { background:transparent;color:#fff;border-color:rgba(255,255,255,.65); }

/* Local / regional patient travel pages. */
.dsw-local-hero { padding:clamp(4rem,7vw,7rem) 0;background:radial-gradient(circle at 80% 18%,rgba(217,169,189,.4),transparent 28%),linear-gradient(180deg,#fcf8fa,#f7edf1); }
.dsw-local-hero__grid { display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.65fr);gap:clamp(3rem,6vw,7rem);align-items:center; }
.dsw-local-hero h1 { max-width:17ch;color:var(--dsw-brand-900); }
.dsw-local-hero .dsw-lede { max-width:62ch; }
.dsw-route-card { position:relative;padding:2rem;border:1px solid rgba(126,64,95,.14);border-radius:22px;background:rgba(255,255,255,.78);box-shadow:0 25px 65px rgba(78,39,61,.1);backdrop-filter:blur(10px); }
.dsw-route-card__place span { display:block;color:#8a7b82;font-size:.64rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase; }
.dsw-route-card__place strong { display:block;margin-top:.18rem;color:var(--dsw-brand-900);font-family:var(--dsw-display);font-size:clamp(1.8rem,3vw,2.6rem);font-weight:400;line-height:1.05; }
.dsw-route-card__line { position:relative;height:46px;margin:.8rem 0 .55rem 9px;border-left:1px solid var(--dsw-brand-400); }
.dsw-route-card__line::before,.dsw-route-card__line::after { content:"";position:absolute;left:-4px;width:7px;height:7px;border:1px solid var(--dsw-brand-600);border-radius:50%;background:#fff; }
.dsw-route-card__line::before { top:0; }.dsw-route-card__line::after { bottom:0; }
.dsw-route-card p:last-child { margin:1.25rem 0 0;padding-top:1rem;border-top:1px solid var(--dsw-line);color:#6d6066;font-size:.78rem;line-height:1.65; }
.dsw-local-surgeon-card { margin-bottom:2.25rem!important; }
.dsw-local-content .dsw-local-steps { counter-reset:travel-step;display:grid;gap:.55rem;padding:0!important;list-style:none; }
.dsw-local-content .dsw-local-steps li { counter-increment:travel-step;position:relative;margin:0;padding:.95rem 1rem .95rem 3.25rem;border-radius:12px;background:#fcf8fa; }
.dsw-local-content .dsw-local-steps li::before { content:counter(travel-step);position:absolute;left:1rem;top:1rem;display:grid;place-items:center;width:1.45rem;height:1.45rem;border:1px solid rgba(126,64,95,.35);border-radius:50%;color:var(--dsw-brand-700);font-size:.7rem;font-weight:700; }
.dsw-local-cards { display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin:1.5rem 0 2.5rem; }
.dsw-local-cards article { padding:1.2rem 1.25rem;border:1px solid var(--dsw-line);border-radius:14px;background:#fff; }
.dsw-local-cards h3 { margin:0 0 .45rem;font-size:1.3rem; }
.dsw-local-cards p { margin:0;color:#6b5f65;font-size:.78rem;line-height:1.6; }
.dsw-local-transformations { margin:2.5rem 0;padding:1.7rem;border-radius:18px;background:#f7edf1; }
.dsw-local-transformations h2 { margin-top:0; }
.dsw-local-transformations > div { display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.1rem; }
.dsw-local-transformations > div a { display:inline-flex;min-height:42px;align-items:center;padding:.65rem .85rem;border:1px solid rgba(126,64,95,.22);border-radius:7px;color:var(--dsw-brand-800);font-size:.76rem;font-weight:700;text-decoration:none; }
.dsw-related-panel,.dsw-source-panel { margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--dsw-line); }
.dsw-area-links { margin:3.5rem 0 0;padding-top:2rem;border-top:1px solid var(--dsw-line); }
.dsw-area-links h2 { max-width:17ch; }
.dsw-area-links__grid { display:grid;grid-template-columns:1fr 1fr;gap:0 1.5rem;margin-top:1.3rem;border-top:1px solid var(--dsw-line); }
.dsw-area-links__grid a { min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--dsw-line);color:#55494f;text-decoration:none; }
.dsw-area-links__grid a svg { width:18px;fill:none;stroke:var(--dsw-brand-600);stroke-width:1.6;transition:transform .2s ease; }
.dsw-area-links__grid a:hover svg { transform:translateX(4px); }

@media (max-width:1120px) {
  .dsw-article-body .dsw-article-layout { grid-template-columns:minmax(0,1fr) minmax(270px,320px);gap:2.5rem; }
  .dsw-article-body .dsw-article-aside { max-width:320px; }
  .dsw-article-body .dsw-article-aside h2 { font-size:2.25rem; }
}
@media (max-width:980px) {
  .dsw-article-hero--locked .dsw-article-hero__grid,.dsw-article-body .dsw-article-layout,.dsw-local-hero__grid { grid-template-columns:1fr; }
  .dsw-article-hero--locked figure { width:min(100%,760px);justify-self:start;aspect-ratio:16/9; }
  .dsw-article-hero--locked figure img { object-position:66% 50%; }
  .dsw-route-card { width:min(100%,620px); }
  .dsw-article-body .dsw-article-aside { position:static;width:100%;max-width:760px;justify-self:start; }
  .dsw-article-body .dsw-article-aside h2 { max-width:16ch; }
  .dsw-content-final-cta__grid { grid-template-columns:1fr; }
}
@media (max-width:760px) {
  .dsw-article-toc ol { columns:1; }
  .locations,.dsw-local-cards,.dsw-area-links__grid { grid-template-columns:1fr; }
}
@media (max-width:620px) {
  .dsw-article-hero--locked,.dsw-local-hero { padding-top:3rem; }
  .dsw-article-body { padding-top:2.5rem; }
  .reviewer-card.reviewer-card--top { grid-template-columns:64px minmax(0,1fr);gap:.95rem;padding:1.05rem; }
  .reviewer-card.reviewer-card--top img { width:64px;height:64px;border-radius:11px; }
  .reviewer-card.reviewer-card--top h3 { font-size:1.45rem; }
  .reviewer-card.reviewer-card--top p { font-size:.76rem; }
  .reviewer-card.reviewer-card--top .meta { display:block; }
  .reviewer-card__date { display:block;margin-top:.3rem; }
  .dsw-quick-answer { padding:1.4rem 1.25rem; }
  .dsw-quick-facts { display:grid;grid-template-columns:1fr; }
  .dsw-article-toc { padding:1.25rem; }
  .location-band { padding:1.4rem; }
  .dsw-route-card { padding:1.5rem; }
}

/* ========================================================================
   0.7.3 — BLOG REVIEW TRUST + LIGHT EDITORIAL CARDS
   FYR-inspired reviewer card; lighter quick answer and consultation CTA.
   ======================================================================== */
.dsw-article-review-band {
  padding: clamp(1.5rem,2.4vw,2.2rem) 0 0;
  background: #fff;
}
.dsw-article-review-band__inner { max-width: 1174px; }
.reviewer-card.reviewer-card--top {
  display:grid;
  grid-template-columns:minmax(0,1fr) 150px;
  gap:clamp(1.4rem,3vw,2.5rem);
  align-items:center;
  margin:0;
  padding:clamp(1.35rem,2.2vw,1.8rem) clamp(1.4rem,2.8vw,2.2rem);
  border:1px solid rgba(126,64,95,.30);
  border-top:3px solid var(--dsw-brand-700);
  border-radius:18px;
  background:#fff;
  box-shadow:0 18px 48px rgba(78,39,61,.10);
}
.reviewer-card__copy { min-width:0; }
.reviewer-card.reviewer-card--top .dsw-eyebrow {
  margin:0 0 .45rem;
  color:var(--dsw-brand-700);
  font-size:.64rem;
}
.reviewer-card.reviewer-card--top h3 {
  max-width:22ch;
  margin:0;
  color:var(--dsw-brand-900);
  font-size:clamp(1.7rem,2.5vw,2.35rem);
  line-height:1.06;
}
.reviewer-card.reviewer-card--top .reviewer-card__role {
  max-width:64ch;
  margin:.7rem 0 0;
  color:#62575c;
  font-size:.82rem;
  line-height:1.6;
}
.reviewer-card__facts {
  display:flex;
  flex-wrap:wrap;
  gap:.55rem .7rem;
  margin-top:1rem;
}
.reviewer-card__facts span {
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  min-height:32px;
  padding:.38rem .62rem;
  border:1px solid rgba(126,64,95,.18);
  border-radius:999px;
  background:var(--dsw-brand-025);
  color:#66595f;
  font-size:.7rem;
  line-height:1.25;
}
.reviewer-card__facts strong { color:var(--dsw-brand-900);font-weight:700; }
.reviewer-card__profile {
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  margin-top:1rem;
  color:var(--dsw-brand-800);
  font-size:.76rem;
  font-weight:700;
  text-decoration:none;
}
.reviewer-card__profile svg { width:17px;fill:none;stroke:currentColor;stroke-width:1.6; }
.reviewer-card__photo {
  width:150px;
  height:150px;
  overflow:hidden;
  justify-self:end;
  border-radius:16px;
  background:var(--dsw-brand-075);
  box-shadow:0 10px 26px rgba(78,39,61,.10);
}
.reviewer-card__photo img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 18%;
}
.dsw-content-reviewer-fallback {
  max-width:760px;
  margin:0 0 2rem;
}
.dsw-content-reviewer-fallback .reviewer-card.reviewer-card--top {
  grid-template-columns:minmax(0,1fr) 118px;
}
.dsw-content-reviewer-fallback .reviewer-card__photo { width:118px;height:118px; }

/* Quick answer: clean white editorial card instead of a large colour block. */
.dsw-quick-answer {
  margin:0 0 2rem;
  padding:clamp(1.25rem,2vw,1.55rem) clamp(1.3rem,2.2vw,1.7rem);
  overflow:hidden;
  border:1px solid rgba(126,64,95,.28);
  border-left:4px solid var(--dsw-brand-700);
  border-radius:14px;
  background:#fff;
  color:var(--dsw-ink);
  box-shadow:0 15px 38px rgba(78,39,61,.08);
}
.dsw-quick-answer .dsw-eyebrow {
  margin:0 0 .5rem;
  color:var(--dsw-brand-700)!important;
  -webkit-text-fill-color:var(--dsw-brand-700)!important;
}
.dsw-quick-answer h2 {
  max-width:29ch;
  margin:0;
  color:var(--dsw-brand-900)!important;
  -webkit-text-fill-color:var(--dsw-brand-900)!important;
  font-size:clamp(1.5rem,2.45vw,2.05rem);
  line-height:1.15;
}
.dsw-quick-answer p {
  margin:.75rem 0 0;
  color:#5d5257!important;
  -webkit-text-fill-color:#5d5257!important;
}
.dsw-quick-facts {
  display:flex;
  flex-wrap:wrap;
  align-items:stretch;
  gap:.5rem;
  margin-top:1rem;
}
.dsw-quick-facts span {
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:.4rem .62rem;
  border:1px solid rgba(126,64,95,.18);
  border-radius:999px;
  background:var(--dsw-brand-025);
  color:var(--dsw-brand-800);
  font-size:.7rem;
  font-weight:650;
  line-height:1.3;
}

/* Consultation CTA: smaller, quieter and visually separate from content. */
.dsw-article-body .dsw-article-aside {
  width:100%;
  max-width:330px;
  justify-self:end;
  position:sticky;
  top:6.75rem;
  padding:1.45rem;
  overflow:hidden;
  border:1px solid rgba(126,64,95,.26);
  border-top:3px solid var(--dsw-brand-700);
  border-radius:16px;
  background:#fff;
  color:var(--dsw-ink);
  box-shadow:0 16px 40px rgba(78,39,61,.09);
}
.dsw-article-body .dsw-article-aside .dsw-eyebrow {
  margin-bottom:.55rem;
  color:var(--dsw-brand-700)!important;
  -webkit-text-fill-color:var(--dsw-brand-700)!important;
}
.dsw-article-body .dsw-article-aside h2 {
  max-width:14ch;
  margin:0 0 .8rem;
  color:var(--dsw-brand-900)!important;
  -webkit-text-fill-color:var(--dsw-brand-900)!important;
  font-size:clamp(1.65rem,2.2vw,2.05rem);
  line-height:1.08;
}
.dsw-article-body .dsw-article-aside p {
  margin:0 0 1rem;
  color:#62575c!important;
  -webkit-text-fill-color:#62575c!important;
  font-size:.8rem;
  line-height:1.62;
}
.dsw-article-body .dsw-article-aside .dsw-btn {
  width:100%;
  min-height:44px;
  margin:0;
  background:var(--dsw-brand-800);
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  border-color:var(--dsw-brand-800);
}
.dsw-article-body .dsw-article-aside .dsw-text-link,
.dsw-article-body .dsw-article-aside a:not(.dsw-btn) {
  color:var(--dsw-brand-800)!important;
  -webkit-text-fill-color:var(--dsw-brand-800)!important;
}
.dsw-article-body .dsw-article-aside__link {
  display:flex;
  justify-content:center;
  width:100%;
  min-height:42px;
  margin-top:.65rem;
  padding:.65rem .8rem;
  border:1px solid rgba(126,64,95,.28);
  border-radius:5px;
  background:var(--dsw-brand-025);
  font-size:.76rem;
  text-decoration:none;
}
.dsw-article-body .dsw-article-aside hr {
  margin:1.1rem 0;
  border:0;
  border-top:1px solid var(--dsw-line);
}
.dsw-article-body .dsw-article-aside__meta { margin:0;font-size:.7rem;line-height:1.55; }

@media (max-width:980px) {
  .reviewer-card.reviewer-card--top { grid-template-columns:minmax(0,1fr) 125px; }
  .reviewer-card__photo { width:125px;height:125px; }
  .dsw-article-body .dsw-article-aside { max-width:760px; }
}
@media (max-width:620px) {
  .reviewer-card.reviewer-card--top,
  .dsw-content-reviewer-fallback .reviewer-card.reviewer-card--top {
    grid-template-columns:78px minmax(0,1fr);
    gap:1rem;
    padding:1.05rem;
  }
  .reviewer-card__photo,
  .dsw-content-reviewer-fallback .reviewer-card__photo {
    grid-column:1;
    grid-row:1;
    width:78px;
    height:88px;
    justify-self:start;
    border-radius:12px;
  }
  .reviewer-card__copy { grid-column:2;grid-row:1; }
  .reviewer-card.reviewer-card--top h3 { font-size:1.45rem; }
  .reviewer-card.reviewer-card--top .reviewer-card__role { font-size:.73rem; }
  .reviewer-card__facts { gap:.35rem;margin-top:.7rem; }
  .reviewer-card__facts span { min-height:28px;padding:.3rem .5rem;font-size:.64rem; }
  .reviewer-card__profile { margin-top:.7rem;font-size:.7rem; }
  .dsw-quick-answer { padding:1.15rem 1.2rem; }
  .dsw-quick-answer h2 { font-size:1.45rem; }
  .dsw-quick-facts { display:grid;grid-template-columns:1fr; }
}

/* ========================================================================
   0.7.4 — SITEWIDE QUICK SUMMARY + MEDICAL REVIEW STANDARD
   Compact paragraph-scale editorial emphasis and one reviewer component.
   ======================================================================== */

/* Shared medical-review card: deliberately compact, paragraph-scale and
   consistent on articles, travel guides and service pages. */
.dsw-medical-review-card {
  width: min(100%, 920px);
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  align-items: center;
  gap: 1rem;
  margin: 0;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(126,64,95,.22);
  border-left: 3px solid var(--dsw-brand-700);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(78,39,61,.07);
}
.dsw-medical-review-card__photo {
  width: 72px;
  height: 72px;
  overflow: hidden;
  display: block;
  border: 1px solid rgba(126,64,95,.16);
  border-radius: 50%;
  background: var(--dsw-brand-025);
  text-decoration: none;
}
.dsw-medical-review-card__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  display: block;
}
.dsw-medical-review-card__content { min-width: 0; }
.dsw-medical-review-card__title,
.dsw-medical-review-card__credentials,
.dsw-medical-review-card__meta {
  font-family: var(--dsw-body);
  text-wrap: pretty;
}
.dsw-medical-review-card__title {
  margin: 0;
  color: var(--dsw-ink);
  font-size: .96rem;
  font-weight: 500;
  line-height: 1.45;
}
.dsw-medical-review-card__title strong,
.dsw-medical-review-card__title a {
  color: var(--dsw-brand-900);
  font-weight: 750;
}
.dsw-medical-review-card__title a { text-decoration-thickness: 1px; }
.dsw-medical-review-card__credentials {
  margin: .2rem 0 0;
  color: #62575c;
  font-size: .8rem;
  font-weight: 600;
  line-height: 1.5;
}
.dsw-medical-review-card__meta {
  margin: .24rem 0 0;
  color: var(--dsw-muted);
  font-size: .7rem;
  font-weight: 500;
  line-height: 1.45;
}
.dsw-medical-review-card__meta a {
  display: inline-flex;
  align-items: center;
  gap: .28rem;
  color: var(--dsw-brand-800);
  font-weight: 700;
  text-decoration: none;
}
.dsw-medical-review-card__meta svg {
  width: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
}
.dsw-article-review-band {
  padding: 1rem 0 0;
  background: transparent;
}
.dsw-article-review-band__inner {
  max-width: 1174px;
  display: flex;
  justify-content: flex-start;
}
.dsw-article-review-band .dsw-medical-review-card { width: min(100%, 920px); }
.dsw-service-content > .dsw-medical-review-card { margin: 1rem 0 2.2rem; }

/* Retire the old oversized reviewer presentation wherever stale markup is
   still encountered after a cache refresh. */
.reviewer-card.reviewer-card--top {
  grid-template-columns: 64px minmax(0,1fr) !important;
  gap: .9rem !important;
  padding: .95rem 1rem !important;
  border: 1px solid rgba(126,64,95,.22) !important;
  border-left: 3px solid var(--dsw-brand-700) !important;
  border-top-width: 1px !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: 0 12px 30px rgba(78,39,61,.07) !important;
}
.reviewer-card.reviewer-card--top h3 {
  font-family: var(--dsw-body) !important;
  font-size: .96rem !important;
  font-weight: 750 !important;
  line-height: 1.45 !important;
}
.reviewer-card.reviewer-card--top p,
.reviewer-card.reviewer-card--top .reviewer-card__role {
  font-family: var(--dsw-body) !important;
  font-size: .8rem !important;
  line-height: 1.5 !important;
}
.reviewer-card__photo,
.reviewer-card.reviewer-card--top img {
  width: 64px !important;
  height: 64px !important;
  border-radius: 50% !important;
}

/* Quick Summary: normal paragraph scale, entirely bold, with emphasis coming
   from the border and weight rather than oversized typography. */
.dsw-quick-answer,
.dsw-answer-box {
  margin: 0 0 1.7rem;
  padding: 1rem 1.15rem;
  overflow: hidden;
  border: 1px solid rgba(126,64,95,.24);
  border-left: 4px solid var(--dsw-brand-700);
  border-radius: 10px;
  background: #fff;
  color: var(--dsw-ink);
  box-shadow: 0 10px 28px rgba(78,39,61,.06);
}
.dsw-quick-answer .dsw-eyebrow {
  display: inline;
  margin: 0 .28rem 0 0;
  color: var(--dsw-brand-800) !important;
  -webkit-text-fill-color: var(--dsw-brand-800) !important;
  font-family: var(--dsw-body);
  font-size: .95rem;
  font-weight: 750;
  letter-spacing: 0;
  line-height: 1.72;
  text-transform: none;
}
.dsw-quick-answer h2 {
  display: inline;
  max-width: none;
  margin: 0;
  color: #4f464a !important;
  -webkit-text-fill-color: #4f464a !important;
  font-family: var(--dsw-body) !important;
  font-size: .95rem !important;
  font-weight: 750 !important;
  letter-spacing: 0 !important;
  line-height: 1.72 !important;
}
.dsw-quick-answer > p:not(.dsw-eyebrow),
.dsw-service-quick-summary > p,
.dsw-answer-box > p {
  margin: 0;
  color: #4f464a !important;
  -webkit-text-fill-color: #4f464a !important;
  font-family: var(--dsw-body);
  font-size: .95rem;
  font-weight: 750;
  line-height: 1.72;
}
.dsw-quick-answer strong,
.dsw-answer-box strong { font-weight: 800; }
.dsw-quick-facts {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin-top: .8rem;
}
.dsw-quick-facts span {
  min-height: 29px;
  padding: .32rem .55rem;
  border: 1px solid rgba(126,64,95,.16);
  border-radius: 999px;
  background: var(--dsw-brand-025);
  color: var(--dsw-brand-800);
  font-size: .68rem;
  font-weight: 700;
  line-height: 1.3;
}

/* Article/travel side CTA: body-size bold title, compact spacing. */
.dsw-article-body .dsw-article-aside {
  max-width: 330px;
  padding: 1.2rem;
  border: 1px solid rgba(126,64,95,.24);
  border-left: 3px solid var(--dsw-brand-700);
  border-top-width: 1px;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(78,39,61,.07);
}
.dsw-article-body .dsw-article-aside .dsw-eyebrow {
  margin: 0 0 .4rem;
  font-size: .66rem;
}
.dsw-article-body .dsw-article-aside h2 {
  max-width: none;
  margin: 0 0 .55rem;
  color: var(--dsw-brand-900) !important;
  -webkit-text-fill-color: var(--dsw-brand-900) !important;
  font-family: var(--dsw-body) !important;
  font-size: .95rem !important;
  font-weight: 750 !important;
  letter-spacing: 0 !important;
  line-height: 1.5 !important;
}
.dsw-article-body .dsw-article-aside p {
  margin: 0 0 .8rem;
  font-size: .78rem;
  line-height: 1.55;
}
.dsw-article-body .dsw-article-aside .dsw-btn,
.dsw-article-body .dsw-article-aside__link {
  min-height: 40px;
  font-size: .74rem;
}
.dsw-article-body .dsw-article-aside hr { margin: .9rem 0; }

/* Bottom CTAs use the same editorial scale rather than another hero-sized
   headline. */
.dsw-content-final-cta,
.dsw-service-final-cta {
  padding: clamp(2.2rem,4vw,3.2rem) 0;
}
.dsw-content-final-cta h2,
.dsw-service-final-cta h2 {
  max-width: 48ch;
  margin: 0;
  font-family: var(--dsw-body) !important;
  font-size: 1rem !important;
  font-weight: 750 !important;
  letter-spacing: 0 !important;
  line-height: 1.5 !important;
}
.dsw-content-final-cta p:not(.dsw-eyebrow),
.dsw-service-final-cta p:not(.dsw-eyebrow) {
  margin: .6rem 0 0;
  font-size: .82rem;
  line-height: 1.6;
}
.dsw-content-final-cta__grid,
.dsw-service-final-cta .dsw-shell { gap: 2rem; }
.dsw-content-final-cta .dsw-btn,
.dsw-service-final-cta .dsw-btn { min-height: 42px; font-size: .76rem; }

@media (max-width: 980px) {
  .dsw-article-review-band .dsw-medical-review-card { width: 100%; }
  .dsw-article-body .dsw-article-aside { max-width: 760px; }
}
@media (max-width: 620px) {
  .dsw-medical-review-card {
    grid-template-columns: 58px minmax(0,1fr);
    gap: .8rem;
    padding: .85rem .9rem;
  }
  .dsw-medical-review-card__photo { width: 58px; height: 58px; }
  .dsw-medical-review-card__title { font-size: .9rem; }
  .dsw-medical-review-card__credentials { font-size: .72rem; }
  .dsw-medical-review-card__meta { font-size: .66rem; }
  .dsw-quick-answer,
  .dsw-answer-box { padding: .9rem 1rem; }
  .dsw-quick-answer .dsw-eyebrow,
  .dsw-quick-answer h2,
  .dsw-quick-answer > p:not(.dsw-eyebrow),
  .dsw-service-quick-summary > p,
  .dsw-answer-box > p { font-size: .9rem !important; }
}


/* 0.7.5 — reviewer band background cleanup
   Keep the reviewer card itself white, but let the band behind it inherit the
   page background so no full-width empty white strip appears between hero
   and article content. */
.dsw-article-review-band { background: transparent; }

/* 0.7.6 — FINAL HOMEPAGE UI/UX POLISH
   Content remains locked. These rules only correct spacing, alignment, image
   occupancy and responsive rhythm on the flagship homepage. */
.dsw-front-page .dsw-header__inner {
  grid-template-columns: minmax(190px, 220px) minmax(0, 1fr) auto;
  gap: clamp(1rem, 2vw, 1.75rem);
}
.dsw-front-page .dsw-nav__list { gap: clamp(.9rem, 1.55vw, 1.6rem); }
.dsw-front-page .dsw-section { padding: clamp(4.75rem, 7vw, 7rem) 0; }
.dsw-front-page .dsw-section-heading { margin-bottom: clamp(2.6rem, 4.5vw, 4rem); }
.dsw-front-page .dsw-section-heading--split {
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, .72fr);
  gap: clamp(2rem, 4vw, 5rem);
  align-items: end;
}
.dsw-front-page .dsw-section-heading--split > p {
  width: 100%;
  max-width: 54ch;
  justify-self: end;
}

/* Hero: keep the existing approved portrait, but give the content and image a
   calmer shared baseline and prevent the location card from hanging outside. */
.dsw-front-page .dsw-hero {
  padding: clamp(4.5rem, 6.5vw, 6.5rem) 0 clamp(3.8rem, 5vw, 5rem);
}
.dsw-front-page .dsw-hero__grid {
  grid-template-columns: minmax(0, 1.03fr) minmax(360px, .82fr);
  gap: clamp(3rem, 5vw, 5.5rem);
}
.dsw-front-page .dsw-hero__copy { align-self: center; }
.dsw-front-page .dsw-hero__portrait {
  width: min(100%, 520px);
  min-height: 0;
  justify-self: end;
}
.dsw-front-page .dsw-hero__portrait-frame {
  min-height: 0;
  aspect-ratio: 4 / 5;
  border-radius: 30px 30px 12px 12px;
}
.dsw-front-page .dsw-hero__portrait-image { object-position: 50% 28%; }
.dsw-front-page .dsw-hero__note {
  right: 1rem;
  bottom: 1rem;
  min-width: 180px;
  border-radius: 8px;
}

/* Trust strip: equal visual weight and no first/last-cell optical drift. */
.dsw-front-page .dsw-trust__grid { align-items: stretch; }
.dsw-front-page .dsw-trust__grid > div,
.dsw-front-page .dsw-trust__grid > div:first-child {
  min-height: 126px;
  padding: 1.35rem 1.25rem;
}

/* Procedure finder: maintain the rich panel but align the two halves. */
.dsw-front-page .dsw-finder { grid-template-columns: minmax(230px, .56fr) minmax(0, 1.5fr); }
.dsw-front-page .dsw-finder__panels { min-width: 0; }

/* The three transformation sliders are intentionally equal on desktop. The
   previous asymmetric ratios left the two smaller cards visually stranded. */
.dsw-front-page .dsw-comparison-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(.9rem, 1.6vw, 1.25rem);
  align-items: stretch;
}
.dsw-front-page .dsw-comparison-grid .dsw-compare { min-width: 0; }
.dsw-front-page .dsw-comparison-grid .dsw-compare__viewport,
.dsw-front-page .dsw-comparison-grid .dsw-compare:first-child .dsw-compare__viewport {
  aspect-ratio: 4 / 5;
}
.dsw-front-page .dsw-compare figcaption { min-height: 76px; }

/* Doctor section: remove the historic left indent that made the image/copy
   look as if they belonged to different containers. */
.dsw-front-page .dsw-meet__grid {
  grid-template-columns: minmax(320px, .82fr) minmax(0, 1.08fr);
  gap: clamp(3rem, 6vw, 6.5rem);
}
.dsw-front-page .dsw-meet__portrait { padding-left: 0; }
.dsw-front-page .dsw-meet__portrait-frame {
  width: min(100%, 500px);
  min-height: 0;
  aspect-ratio: 4 / 5;
  margin-inline: auto;
}

/* Real editorial photography replaces the decorative placeholder in the
   decision-support section. */
.dsw-front-page .dsw-decision-visual {
  height: clamp(220px, 25vw, 330px);
  margin: 0 0 2rem;
  background: #fff;
}
.dsw-front-page .dsw-decision-visual img {
  object-position: 50% 40%;
  filter: saturate(.9) contrast(.98);
}
.dsw-front-page .dsw-decision-grid article {
  min-height: 315px;
  display: flex;
  flex-direction: column;
}
.dsw-front-page .dsw-decision-grid h3 { margin-top: 2.6rem; }
.dsw-front-page .dsw-decision-grid p { margin-top: auto; }

/* Featured procedures: true 4-card bento. The old 3-column auto-flow left an
   empty sixth cell, which read as a missing image/card on the homepage. */
.dsw-front-page .dsw-featured-grid {
  grid-template-columns: 1.12fr .94fr .94fr;
  grid-template-rows: repeat(2, minmax(295px, 1fr));
  gap: 1rem;
}
.dsw-front-page .dsw-featured-grid > .dsw-feature-card { min-height: 295px; }
.dsw-front-page .dsw-featured-grid > .dsw-feature-card:nth-child(1) {
  grid-column: 1;
  grid-row: 1 / span 2;
  min-height: 606px;
}
.dsw-front-page .dsw-featured-grid > .dsw-feature-card:nth-child(2) {
  grid-column: 2 / span 2;
  grid-row: 1;
}
.dsw-front-page .dsw-featured-grid > .dsw-feature-card:nth-child(3) {
  grid-column: 2;
  grid-row: 2;
}
.dsw-front-page .dsw-featured-grid > .dsw-feature-card:nth-child(4) {
  grid-column: 3;
  grid-row: 2;
}
.dsw-front-page .dsw-feature-card h3 { max-width: 13ch; }
.dsw-front-page .dsw-featured-grid > .dsw-feature-card:nth-child(2) h3 { max-width: 18ch; }

/* Journey: descriptions align from the same left edge instead of being pushed
   to the far right of the shell. */
.dsw-front-page .dsw-timeline li {
  grid-template-columns: 52px minmax(150px, 220px) minmax(0, 1fr);
  gap: clamp(1.25rem, 2.5vw, 2.4rem);
  align-items: center;
  padding: 1.4rem 0;
}
.dsw-front-page .dsw-timeline p {
  justify-self: start;
  width: 100%;
  max-width: 66ch;
}

/* Travel, review and location sections share a tighter editorial rhythm. */
.dsw-front-page .dsw-travel__grid {
  grid-template-columns: minmax(0, .92fr) minmax(0, 1fr);
  gap: clamp(3rem, 6vw, 6rem);
  align-items: center;
}
.dsw-front-page .dsw-review-summary,
.dsw-front-page .dsw-review-quotes,
.dsw-front-page .dsw-location-grid,
.dsw-front-page .dsw-article-grid { align-items: stretch; }
.dsw-front-page .dsw-review-rating { min-height: 160px; }
.dsw-front-page .dsw-review-quotes article,
.dsw-front-page .dsw-location-grid article,
.dsw-front-page .dsw-article-grid > a { height: 100%; }
.dsw-front-page .dsw-location-grid article { display: flex; flex-direction: column; }
.dsw-front-page .dsw-location-grid article > a { margin-top: auto; align-self: flex-start; }
.dsw-front-page .dsw-article-grid > a {
  min-height: 285px;
  border: 1px solid rgba(126,64,95,.14);
  border-top: 3px solid var(--dsw-brand-300);
  border-radius: 12px;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.dsw-front-page .dsw-article-grid > a:hover {
  transform: translateY(-3px);
  border-color: rgba(126,64,95,.26);
  box-shadow: 0 16px 42px rgba(78,39,61,.07);
}

@media (max-width: 1100px) {
  .dsw-front-page .dsw-header__inner { grid-template-columns: 1fr auto auto; }
  .dsw-front-page .dsw-featured-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto;
  }
  .dsw-front-page .dsw-featured-grid > .dsw-feature-card:nth-child(n) {
    grid-column: auto;
    grid-row: auto;
    min-height: 340px;
  }
  .dsw-front-page .dsw-featured-grid > .dsw-feature-card:nth-child(1) { min-height: 430px; }
}
@media (max-width: 900px) {
  .dsw-front-page .dsw-section-heading--split,
  .dsw-front-page .dsw-hero__grid,
  .dsw-front-page .dsw-meet__grid,
  .dsw-front-page .dsw-travel__grid { grid-template-columns: 1fr; }
  .dsw-front-page .dsw-section-heading--split > p { justify-self: start; }
  .dsw-front-page .dsw-hero__portrait { width: min(100%, 600px); justify-self: start; }
  .dsw-front-page .dsw-comparison-grid {
    display: flex;
    gap: .9rem;
    overflow-x: auto;
    margin-right: -5vw;
    padding-right: 5vw;
    scroll-snap-type: x mandatory;
  }
  .dsw-front-page .dsw-comparison-grid .dsw-compare {
    flex: 0 0 min(78vw, 430px);
    scroll-snap-align: start;
  }
  .dsw-front-page .dsw-decision-grid article { min-height: auto; }
  .dsw-front-page .dsw-decision-grid p { margin-top: 1rem; }
}
@media (max-width: 720px) {
  .dsw-front-page .dsw-featured-grid { grid-template-columns: 1fr; }
  .dsw-front-page .dsw-featured-grid > .dsw-feature-card:nth-child(n) { min-height: 310px; }
  .dsw-front-page .dsw-timeline li { grid-template-columns: 42px minmax(0, 1fr); align-items: start; }
  .dsw-front-page .dsw-timeline p { grid-column: 2; }
}

/* 0.8.0 — FLAGSHIP HOMEPAGE SYSTEM
   A cohesive editorial rebuild of the approved homepage content. The brand hue,
   copy and conversion hierarchy stay intact; scale, rhythm, composition and
   responsive behavior are rebuilt as one system instead of a stack of isolated
   sections. */
.dsw-front-page {
  --dsw-home-shell: min(calc(100vw - 64px), 1240px);
  --dsw-home-radius: 24px;
  --dsw-home-radius-sm: 16px;
  --dsw-home-shadow: 0 24px 70px rgba(78,39,61,.09);
  --dsw-home-shadow-soft: 0 14px 42px rgba(78,39,61,.06);
  background: #fff;
}
.dsw-front-page .dsw-shell { width: var(--dsw-home-shell); }
.dsw-front-page .dsw-section { padding: clamp(5.25rem, 7vw, 7.5rem) 0; }
.dsw-front-page .dsw-eyebrow {
  margin-bottom: .9rem;
  font-size: .68rem;
  letter-spacing: .18em;
}
.dsw-front-page .dsw-section-heading { margin-bottom: clamp(2.6rem, 4vw, 4rem); }
.dsw-front-page .dsw-section-heading h2,
.dsw-front-page .dsw-meet__copy h2,
.dsw-front-page .dsw-travel h2,
.dsw-front-page .dsw-faqs__intro h2,
.dsw-front-page .dsw-contact-band h2 {
  font-size: clamp(2.55rem, 4.1vw, 4.15rem);
  line-height: 1.01;
  letter-spacing: -.035em;
}
.dsw-front-page .dsw-section-heading h2 { max-width: 14ch; }
.dsw-front-page .dsw-section-heading--split {
  grid-template-columns: minmax(0, 1fr) minmax(280px, .62fr);
  align-items: end;
  gap: clamp(2rem, 5vw, 5.5rem);
}
.dsw-front-page .dsw-section-heading--split > p {
  max-width: 50ch;
  margin-bottom: .25rem;
  font-size: .92rem;
  line-height: 1.72;
}

/* Header — smaller, calmer and structurally aligned with the homepage shell. */
.dsw-front-page .dsw-header {
  background: rgba(255,255,255,.92);
  border-bottom-color: rgba(78,39,61,.08);
  box-shadow: 0 8px 32px rgba(45,36,40,.035);
}
.dsw-front-page .dsw-header__inner {
  min-height: 82px;
  grid-template-columns: minmax(168px, 205px) minmax(0, 1fr) auto;
  gap: clamp(1rem, 2vw, 1.7rem);
}
.dsw-front-page .dsw-brand,
.dsw-front-page .dsw-brand__logo { width: 166px; }
.dsw-front-page .dsw-nav__list { gap: clamp(.8rem, 1.35vw, 1.35rem); }
.dsw-front-page .dsw-nav__list a { font-size: .82rem; font-weight: 650; }
.dsw-front-page .dsw-header__actions { gap: .65rem; }
.dsw-front-page .dsw-header__actions .dsw-btn { min-height: 42px; padding-inline: 1rem; }

/* Hero — controlled scale, strong editorial left edge and an art-directed image. */
.dsw-front-page .dsw-hero {
  isolation: isolate;
  padding: clamp(3.8rem, 5.6vw, 5.4rem) 0 clamp(6.8rem, 8vw, 8rem);
  background:
    radial-gradient(circle at 79% 24%, rgba(217,169,189,.28), transparent 24%),
    radial-gradient(circle at 89% 78%, rgba(126,64,95,.07), transparent 25%),
    linear-gradient(180deg, #fff 0%, #fdf9fb 62%, #f8eef2 100%);
}
.dsw-front-page .dsw-hero::before {
  width: min(46vw, 700px);
  height: min(46vw, 700px);
  min-width: 0;
  min-height: 0;
  right: -12vw;
  bottom: -22vw;
  border-color: rgba(126,64,95,.1);
}
.dsw-front-page .dsw-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 12%;
  right: 4.5%;
  width: clamp(220px, 28vw, 470px);
  aspect-ratio: 1;
  border: 1px solid rgba(126,64,95,.07);
  border-radius: 50%;
  box-shadow: 0 0 0 44px rgba(217,169,189,.045), 0 0 0 88px rgba(217,169,189,.025);
}
.dsw-front-page .dsw-hero__grid {
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, .82fr);
  gap: clamp(3.2rem, 6vw, 6.25rem);
  align-items: center;
}
.dsw-front-page .dsw-hero__copy { max-width: 690px; }
.dsw-front-page .dsw-hero h1 {
  max-width: 11.6ch;
  font-size: clamp(3.25rem, 4.55vw, 5.2rem);
  line-height: .98;
  letter-spacing: -.048em;
}
.dsw-front-page .dsw-lede {
  max-width: 53ch;
  margin-top: 1.45rem;
  font-size: clamp(1rem, 1.08vw, 1.12rem);
  line-height: 1.72;
}
.dsw-front-page .dsw-hero .dsw-actions { margin-top: 1.65rem; gap: .7rem; }
.dsw-front-page .dsw-hero .dsw-btn { min-height: 47px; padding: .75rem 1.12rem; }
.dsw-front-page .dsw-hero .dsw-text-link { margin-left: .2rem; }
.dsw-front-page .dsw-hero__credential {
  max-width: 590px;
  margin-top: 1.75rem;
  padding-top: 1rem;
  gap: .4rem 1.1rem;
  border-top-color: rgba(126,64,95,.16);
  font-size: .74rem;
}
.dsw-front-page .dsw-hero__portrait {
  width: min(100%, 500px);
  min-height: 0;
  justify-self: end;
}
.dsw-front-page .dsw-hero__portrait-frame {
  min-height: 0;
  aspect-ratio: 4 / 5;
  border: 1px solid rgba(126,64,95,.12);
  border-radius: 28px 28px 10px 10px;
  background: #eee4e8;
  box-shadow: 0 30px 90px rgba(78,39,61,.14);
}
.dsw-front-page .dsw-hero__portrait-image {
  object-position: 50% 26%;
  transform: scale(1.005);
}
.dsw-front-page .dsw-hero__note {
  right: auto;
  left: -1.8rem;
  bottom: 1.35rem;
  min-width: 176px;
  padding: .9rem 1rem;
  border: 1px solid rgba(126,64,95,.14);
  border-left: 3px solid var(--dsw-brand-700);
  border-radius: 10px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 18px 44px rgba(78,39,61,.1);
}
.dsw-front-page .dsw-hero__note strong { font-size: 1.08rem; }

/* Trust becomes a single floating object rather than a disconnected full-width band. */
.dsw-front-page .dsw-trust {
  position: relative;
  z-index: 3;
  margin-top: -3.1rem;
  background: transparent;
}
.dsw-front-page .dsw-trust__grid {
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 20px;
  background: linear-gradient(135deg, #442033, #63324c);
  box-shadow: 0 28px 70px rgba(78,39,61,.18);
}
.dsw-front-page .dsw-trust__grid > div,
.dsw-front-page .dsw-trust__grid > div:first-child {
  min-height: 116px;
  padding: 1.2rem 1.25rem;
}
.dsw-front-page .dsw-trust__grid > div > span { margin-top: .2rem; opacity: .82; }
.dsw-front-page .dsw-trust strong { font-size: .82rem; }
.dsw-front-page .dsw-trust p { font-size: .73rem; line-height: 1.48; }

/* Procedure finder — a single concierge-style surface. */
.dsw-front-page .dsw-procedures {
  padding-top: clamp(6rem, 8vw, 8rem);
  background: #fff;
}
.dsw-front-page .dsw-procedures::after { display: none; }
.dsw-front-page .dsw-finder {
  grid-template-columns: minmax(220px, .55fr) minmax(0, 1.45fr);
  overflow: hidden;
  border: 1px solid rgba(126,64,95,.13);
  border-radius: var(--dsw-home-radius);
  background: #fff;
  box-shadow: var(--dsw-home-shadow-soft);
  backdrop-filter: none;
}
.dsw-front-page .dsw-finder__tabs {
  padding: .7rem;
  border-right-color: rgba(126,64,95,.12);
  background: #fbf6f8;
}
.dsw-front-page .dsw-finder__tabs button {
  min-height: 51px;
  margin: .08rem 0;
  padding: .7rem .9rem;
  border-radius: 10px;
  color: #6e6267;
  font-size: .78rem;
}
.dsw-front-page .dsw-finder__tabs button[aria-selected="true"] {
  padding-left: .9rem;
  background: #fff;
  color: var(--dsw-brand-900);
  box-shadow: 0 7px 22px rgba(78,39,61,.055);
}
.dsw-front-page .dsw-finder__tabs button[aria-selected="true"]::before { display: none; }
.dsw-front-page .dsw-finder__panels { padding: clamp(2.1rem, 4vw, 3.5rem); }
.dsw-front-page .dsw-finder__panel-label {
  margin-bottom: 1.15rem;
  font-family: var(--dsw-body);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.dsw-front-page .dsw-finder__panel ul { gap: 0 2rem; }
.dsw-front-page .dsw-finder__panel a {
  min-height: 58px;
  font-size: .86rem;
}

/* Meet Dr Saima — editorial portrait with copy anchored to the same vertical rhythm. */
.dsw-front-page .dsw-meet { background: #fbf7f9; }
.dsw-front-page .dsw-meet__grid {
  grid-template-columns: minmax(330px, .78fr) minmax(0, 1fr);
  gap: clamp(3.5rem, 7vw, 7rem);
  align-items: center;
}
.dsw-front-page .dsw-meet__portrait { padding-left: 0; }
.dsw-front-page .dsw-meet__portrait-frame {
  width: min(100%, 500px);
  min-height: 0;
  aspect-ratio: 1 / 1;
  margin-inline: auto;
  border: 1px solid rgba(126,64,95,.12);
  border-radius: 28px 28px 130px 28px;
  box-shadow: var(--dsw-home-shadow);
}
.dsw-front-page .dsw-meet__portrait-image { object-position: 50% 5%; }
.dsw-front-page .dsw-meet__copy { max-width: 650px; }
.dsw-front-page .dsw-meet__copy h2 { max-width: 11.5ch; }
.dsw-front-page .dsw-meet__copy > p {
  max-width: 58ch;
  margin: 1.05rem 0 0;
  font-size: .92rem;
  line-height: 1.75;
}
.dsw-front-page .dsw-credential-line {
  margin: 1.6rem 0 1.25rem;
  padding: 1rem 0;
}

/* Decision support — image and questions become one composed spread. */
.dsw-front-page .dsw-decisions {
  background: linear-gradient(145deg, #432032 0%, #592a43 58%, #6d3652 100%);
}
.dsw-front-page .dsw-decisions .dsw-shell {
  display: grid;
  grid-template-columns: minmax(300px, .82fr) minmax(0, 1.18fr);
  gap: clamp(2.2rem, 5vw, 5rem);
  align-items: stretch;
}
.dsw-front-page .dsw-decisions .dsw-section-heading { grid-column: 1 / -1; margin-bottom: .2rem; }
.dsw-front-page .dsw-decisions .dsw-section-heading h2 { max-width: 14ch; color: #fff; }
.dsw-front-page .dsw-decision-visual {
  grid-column: 1;
  grid-row: 2;
  height: auto;
  min-height: 430px;
  margin: 0;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 22px;
  box-shadow: 0 24px 70px rgba(20,10,15,.22);
}
.dsw-front-page .dsw-decision-visual img { object-position: 50% 44%; }
.dsw-front-page .dsw-decision-visual::after { background: linear-gradient(180deg, transparent 45%, rgba(45,20,34,.28)); }
.dsw-front-page .dsw-decision-grid {
  grid-column: 2;
  grid-row: 2;
  display: grid;
  grid-template-columns: 1fr;
  border: 0;
}
.dsw-front-page .dsw-decision-grid article,
.dsw-front-page .dsw-decision-grid article + article {
  min-height: 0;
  padding: 1.4rem 0;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.16);
}
.dsw-front-page .dsw-decision-grid article:first-child { padding-top: .25rem; }
.dsw-front-page .dsw-decision-grid article:last-child { padding-bottom: .25rem; border-bottom: 0; }
.dsw-front-page .dsw-decision-grid article > span { color: #e8bfd0; }
.dsw-front-page .dsw-decision-grid h3 {
  max-width: 24ch;
  margin-top: .7rem;
  font-size: clamp(1.45rem, 2.2vw, 2.15rem);
  line-height: 1.08;
}
.dsw-front-page .dsw-decision-grid p {
  max-width: 60ch;
  margin: .7rem 0 0;
  color: rgba(255,255,255,.72);
  font-size: .84rem;
  line-height: 1.66;
}

/* Featured procedures — one intentional bento composition with consistent overlays. */
.dsw-front-page .dsw-featured { background: #fff; }
.dsw-front-page .dsw-featured-grid {
  grid-template-columns: 1.05fr .95fr .95fr;
  grid-template-rows: repeat(2, minmax(286px, 1fr));
  gap: 1rem;
}
.dsw-front-page .dsw-featured-grid > .dsw-feature-card {
  min-height: 286px;
  padding: clamp(1.35rem, 2.5vw, 2rem);
  border-radius: 18px;
  box-shadow: none;
}
.dsw-front-page .dsw-featured-grid > .dsw-feature-card:nth-child(1) {
  grid-column: 1;
  grid-row: 1 / span 2;
  min-height: 588px;
}
.dsw-front-page .dsw-featured-grid > .dsw-feature-card:nth-child(2) { grid-column: 2 / span 2; grid-row: 1; }
.dsw-front-page .dsw-featured-grid > .dsw-feature-card:nth-child(3) { grid-column: 2; grid-row: 2; }
.dsw-front-page .dsw-featured-grid > .dsw-feature-card:nth-child(4) { grid-column: 3; grid-row: 2; }
.dsw-front-page .dsw-feature-card--image::after {
  background: linear-gradient(180deg, rgba(45,36,40,.03) 15%, rgba(45,36,40,.16) 50%, rgba(40,25,33,.86) 100%);
}
.dsw-front-page .dsw-feature-card h3 {
  max-width: 15ch;
  font-size: clamp(1.65rem, 2.25vw, 2.35rem);
  line-height: 1.04;
}
.dsw-front-page .dsw-feature-card p { font-size: .8rem; line-height: 1.6; }
.dsw-front-page .dsw-featured-grid > .dsw-feature-card:nth-child(2) h3 { max-width: 20ch; }

/* Transformations — premium gallery rhythm without losing the interactive sliders. */
.dsw-front-page .dsw-transformations { background: #f8f1f4; }
.dsw-front-page .dsw-comparison-grid {
  grid-template-columns: 1.14fr .93fr .93fr;
  gap: clamp(.85rem, 1.5vw, 1.15rem);
  align-items: start;
}
.dsw-front-page .dsw-comparison-grid .dsw-compare__viewport,
.dsw-front-page .dsw-comparison-grid .dsw-compare:first-child .dsw-compare__viewport {
  aspect-ratio: 4 / 5;
  border: 1px solid rgba(126,64,95,.11);
  border-radius: 18px;
  box-shadow: 0 18px 52px rgba(78,39,61,.09);
}
.dsw-front-page .dsw-compare figcaption { min-height: 70px; padding-top: .85rem; }
.dsw-front-page .dsw-compare figcaption strong { font-size: 1.05rem; }
.dsw-front-page .dsw-transformations__footer { margin-top: 1.8rem; }

/* Care journey — five disciplined steps on desktop, cards rather than drifting rows. */
.dsw-front-page .dsw-journey { background: #fff; }
.dsw-front-page .dsw-timeline {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid rgba(126,64,95,.13);
  border-radius: 18px;
  background: rgba(126,64,95,.13);
}
.dsw-front-page .dsw-timeline li {
  display: block;
  min-width: 0;
  min-height: 230px;
  padding: 1.45rem 1.25rem;
  background: #fff;
  border: 0;
}
.dsw-front-page .dsw-timeline li > span {
  display: block;
  margin-bottom: 2.5rem;
  color: var(--dsw-brand-500);
}
.dsw-front-page .dsw-timeline h3 { font-size: 1.45rem; line-height: 1.08; }
.dsw-front-page .dsw-timeline p {
  width: auto;
  max-width: none;
  margin: .7rem 0 0;
  color: var(--dsw-muted);
  font-size: .76rem;
  line-height: 1.62;
}

/* Travel — a deliberate conversion/editorial pause instead of another pale band. */
.dsw-front-page .dsw-travel {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #ead4dd 0%, #f6e9ee 60%, #fff 100%);
}
.dsw-front-page .dsw-travel::after {
  content: "";
  position: absolute;
  right: -7rem;
  top: 50%;
  width: 24rem;
  aspect-ratio: 1;
  transform: translateY(-50%);
  border: 1px solid rgba(126,64,95,.13);
  border-radius: 50%;
  box-shadow: 0 0 0 4rem rgba(255,255,255,.22), 0 0 0 8rem rgba(255,255,255,.12);
}
.dsw-front-page .dsw-travel__grid {
  position: relative;
  z-index: 1;
  grid-template-columns: minmax(0, .95fr) minmax(0, .9fr);
  gap: clamp(3rem, 7vw, 7rem);
  align-items: center;
}
.dsw-front-page .dsw-travel h2 { max-width: 11ch; }
.dsw-front-page .dsw-travel__grid > div:last-child { max-width: 580px; }
.dsw-front-page .dsw-travel__grid > div:last-child p { font-size: .92rem; line-height: 1.75; }

/* Reviews — ratings read first; commentary reads as a quieter supporting layer. */
.dsw-front-page .dsw-reviews { background: #fff; }
.dsw-front-page .dsw-review-summary { gap: .85rem; }
.dsw-front-page .dsw-review-rating {
  min-height: 150px;
  padding: 1.25rem;
  border-radius: 14px;
  box-shadow: none;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.dsw-front-page .dsw-review-rating:hover {
  transform: translateY(-2px);
  border-color: rgba(126,64,95,.28);
  box-shadow: var(--dsw-home-shadow-soft);
}
.dsw-front-page .dsw-review-rating > span { font-size: 2.55rem; }
.dsw-front-page .dsw-review-quotes { gap: .85rem; margin-top: .85rem; }
.dsw-front-page .dsw-review-quotes article {
  padding: 1.25rem;
  border: 1px solid rgba(126,64,95,.09);
  border-radius: 14px;
  background: #fbf7f9;
}

/* Education — editorial cards with less vertical bulk. */
.dsw-front-page .dsw-education { background: #fbf7f9; }
.dsw-front-page .dsw-article-grid { gap: .85rem; }
.dsw-front-page .dsw-article-grid > a {
  min-height: 270px;
  padding: 1.5rem;
  border: 1px solid rgba(126,64,95,.12);
  border-top: 2px solid var(--dsw-brand-300);
  border-radius: 14px;
  background: #fff;
}
.dsw-front-page .dsw-article-grid h3 {
  font-size: clamp(1.65rem, 2.25vw, 2.25rem);
  line-height: 1.04;
}

/* FAQ — keep the sticky editorial intro, remove the sense of a disconnected block. */
.dsw-front-page .dsw-faqs { background: #fff; }
.dsw-front-page .dsw-faqs__grid {
  grid-template-columns: minmax(250px, .58fr) minmax(0, 1fr);
  gap: clamp(3rem, 8vw, 8rem);
}
.dsw-front-page .dsw-faqs__intro { top: 110px; }
.dsw-front-page .dsw-faqs__intro h2 { max-width: 8ch; }
.dsw-front-page .dsw-faq-list summary { min-height: 70px; font-size: .88rem; }
.dsw-front-page .dsw-faq-list details div { padding-bottom: 1.25rem; }

/* Locations — last practical block before the final CTA. */
.dsw-front-page .dsw-locations { background: #f8f1f4; }
.dsw-front-page .dsw-location-grid { gap: .85rem; }
.dsw-front-page .dsw-location-grid article {
  min-height: 260px;
  padding: 1.6rem;
  border-radius: 16px;
  background: #fff;
  box-shadow: none;
}
.dsw-front-page .dsw-location-grid h3 { font-size: clamp(1.55rem, 2.2vw, 2.15rem); line-height: 1.06; }
.dsw-front-page .dsw-practical-strip {
  margin-top: .85rem;
  padding: .9rem 1rem;
  border: 1px solid rgba(126,64,95,.1);
  background: rgba(255,255,255,.66);
}

/* Final CTA — strong but not oversized. */
.dsw-front-page .dsw-contact-band {
  padding: clamp(4rem, 6vw, 5.6rem) 0;
  background: linear-gradient(135deg, #4b253a, #6a3551);
}
.dsw-front-page .dsw-contact-band__grid {
  grid-template-columns: minmax(0, 1fr) minmax(250px, .42fr);
  gap: clamp(2.5rem, 6vw, 6rem);
  align-items: center;
}
.dsw-front-page .dsw-contact-band h2 { max-width: 13ch; }
.dsw-front-page .dsw-contact-band__actions { max-width: 330px; justify-self: end; width: 100%; }

/* Tablet — preserve composition until it genuinely needs to stack. */
@media (max-width: 1180px) {
  .dsw-front-page .dsw-header__inner { grid-template-columns: 1fr auto auto; }
  .dsw-front-page .dsw-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(330px, .72fr); gap: 3rem; }
  .dsw-front-page .dsw-hero h1 { font-size: clamp(3.15rem, 5.1vw, 4.45rem); }
  .dsw-front-page .dsw-hero__portrait { width: min(100%, 440px); }
  .dsw-front-page .dsw-featured-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto;
  }
  .dsw-front-page .dsw-featured-grid > .dsw-feature-card:nth-child(n) {
    grid-column: auto;
    grid-row: auto;
    min-height: 340px;
  }
  .dsw-front-page .dsw-featured-grid > .dsw-feature-card:nth-child(1) { min-height: 430px; }
  .dsw-front-page .dsw-timeline { grid-template-columns: repeat(3, minmax(0,1fr)); }
}

@media (max-width: 900px) {
  .dsw-front-page { --dsw-home-shell: min(calc(100vw - 40px), 760px); }
  .dsw-front-page .dsw-section { padding: 4.75rem 0; }
  .dsw-front-page .dsw-section-heading--split,
  .dsw-front-page .dsw-hero__grid,
  .dsw-front-page .dsw-meet__grid,
  .dsw-front-page .dsw-travel__grid,
  .dsw-front-page .dsw-contact-band__grid,
  .dsw-front-page .dsw-faqs__grid { grid-template-columns: 1fr; }
  .dsw-front-page .dsw-section-heading--split { gap: 1rem; }
  .dsw-front-page .dsw-section-heading--split > p { justify-self: start; }
  .dsw-front-page .dsw-hero { padding-top: 3.5rem; padding-bottom: 6rem; }
  .dsw-front-page .dsw-hero__copy { max-width: 640px; }
  .dsw-front-page .dsw-hero h1 { max-width: 12ch; font-size: clamp(3.2rem, 9vw, 4.6rem); }
  .dsw-front-page .dsw-hero__portrait { width: min(100%, 520px); justify-self: center; margin-top: .75rem; }
  .dsw-front-page .dsw-hero__note { left: 1rem; }
  .dsw-front-page .dsw-trust__grid { grid-template-columns: repeat(2, 1fr); }
  .dsw-front-page .dsw-trust__grid > div { border-bottom: 1px solid rgba(255,255,255,.12); }
  .dsw-front-page .dsw-trust__grid > div:nth-child(2n) { border-right: 0; }
  .dsw-front-page .dsw-trust__grid > div:nth-last-child(-n+2) { border-bottom: 0; }
  .dsw-front-page .dsw-finder { grid-template-columns: 1fr; }
  .dsw-front-page .dsw-finder__tabs {
    display: flex;
    gap: .25rem;
    overflow-x: auto;
    padding: .55rem;
    border-right: 0;
    border-bottom: 1px solid rgba(126,64,95,.11);
    scrollbar-width: thin;
  }
  .dsw-front-page .dsw-finder__tabs button { width: auto; flex: 0 0 auto; }
  .dsw-front-page .dsw-finder__panels { padding: 2rem; }
  .dsw-front-page .dsw-meet__portrait-frame { width: min(100%, 500px); }
  .dsw-front-page .dsw-meet__copy { max-width: 650px; }
  .dsw-front-page .dsw-decisions .dsw-shell { grid-template-columns: 1fr; }
  .dsw-front-page .dsw-decisions .dsw-section-heading,
  .dsw-front-page .dsw-decision-visual,
  .dsw-front-page .dsw-decision-grid { grid-column: 1; grid-row: auto; }
  .dsw-front-page .dsw-decision-visual { min-height: 360px; }
  .dsw-front-page .dsw-comparison-grid {
    display: flex;
    gap: .85rem;
    overflow-x: auto;
    margin-right: calc((100vw - var(--dsw-home-shell)) / -2);
    padding-right: calc((100vw - var(--dsw-home-shell)) / 2);
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
  }
  .dsw-front-page .dsw-comparison-grid .dsw-compare {
    flex: 0 0 min(72vw, 420px);
    scroll-snap-align: start;
  }
  .dsw-front-page .dsw-timeline { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .dsw-front-page .dsw-faqs__intro { position: static; }
  .dsw-front-page .dsw-contact-band__actions { justify-self: start; }
}

@media (max-width: 640px) {
  .dsw-front-page { --dsw-home-shell: calc(100vw - 28px); }
  .dsw-front-page .dsw-section { padding: 4rem 0; }
  .dsw-front-page .dsw-section-heading { margin-bottom: 2.2rem; }
  .dsw-front-page .dsw-section-heading h2,
  .dsw-front-page .dsw-meet__copy h2,
  .dsw-front-page .dsw-travel h2,
  .dsw-front-page .dsw-faqs__intro h2,
  .dsw-front-page .dsw-contact-band h2 { font-size: clamp(2.35rem, 11vw, 3.4rem); }
  .dsw-front-page .dsw-hero { padding-top: 2.8rem; padding-bottom: 5.4rem; }
  .dsw-front-page .dsw-hero h1 { max-width: 11ch; font-size: clamp(3rem, 13vw, 4rem); }
  .dsw-front-page .dsw-lede { font-size: .98rem; line-height: 1.68; }
  .dsw-front-page .dsw-hero .dsw-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .55rem;
  }
  .dsw-front-page .dsw-hero .dsw-actions .dsw-btn { width: 100%; min-height: 46px; padding-inline: .7rem; font-size: .75rem; }
  .dsw-front-page .dsw-hero .dsw-actions .dsw-text-link { grid-column: 1 / -1; justify-content: flex-start; margin: .15rem 0 0; }
  .dsw-front-page .dsw-hero__credential { display: grid; gap: .35rem; }
  .dsw-front-page .dsw-hero__portrait { width: 100%; }
  .dsw-front-page .dsw-hero__portrait-frame { aspect-ratio: 4 / 5; border-radius: 20px 20px 8px 8px; }
  .dsw-front-page .dsw-hero__note { left: .8rem; bottom: .8rem; min-width: 156px; padding: .75rem .85rem; }
  .dsw-front-page .dsw-trust { margin-top: -2.6rem; }
  .dsw-front-page .dsw-trust__grid { grid-template-columns: 1fr; border-radius: 16px; }
  .dsw-front-page .dsw-trust__grid > div,
  .dsw-front-page .dsw-trust__grid > div:first-child {
    min-height: 88px;
    padding: .95rem 1rem;
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.12);
  }
  .dsw-front-page .dsw-trust__grid > div:nth-last-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.12); }
  .dsw-front-page .dsw-trust__grid > div:last-child { border-bottom: 0; }
  .dsw-front-page .dsw-procedures { padding-top: 5rem; }
  .dsw-front-page .dsw-finder { border-radius: 16px; }
  .dsw-front-page .dsw-finder__panels { padding: 1.5rem 1.1rem; }
  .dsw-front-page .dsw-finder__panel ul { grid-template-columns: 1fr; }
  .dsw-front-page .dsw-finder__panel a { min-height: 54px; }
  .dsw-front-page .dsw-meet__portrait-frame { border-radius: 20px 20px 80px 20px; }
  .dsw-front-page .dsw-decision-visual { min-height: 290px; border-radius: 16px; }
  .dsw-front-page .dsw-decision-grid h3 { font-size: 1.55rem; }
  .dsw-front-page .dsw-featured-grid { grid-template-columns: 1fr; }
  .dsw-front-page .dsw-featured-grid > .dsw-feature-card:nth-child(n) { min-height: 300px; }
  .dsw-front-page .dsw-featured-grid > .dsw-feature-card:nth-child(1) { min-height: 380px; }
  .dsw-front-page .dsw-comparison-grid .dsw-compare { flex-basis: min(84vw, 380px); }
  .dsw-front-page .dsw-transformations__footer { align-items: flex-start; flex-direction: column; gap: .8rem; }
  .dsw-front-page .dsw-timeline {
    display: flex;
    gap: .75rem;
    overflow-x: auto;
    margin-right: -14px;
    padding: 0 14px .35rem 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
  }
  .dsw-front-page .dsw-timeline li {
    flex: 0 0 min(78vw, 300px);
    min-height: 215px;
    border: 1px solid rgba(126,64,95,.13);
    border-radius: 14px;
    scroll-snap-align: start;
  }
  .dsw-front-page .dsw-timeline li > span { margin-bottom: 2rem; }
  .dsw-front-page .dsw-travel::after { opacity: .45; }
  .dsw-front-page .dsw-review-summary,
  .dsw-front-page .dsw-review-quotes,
  .dsw-front-page .dsw-location-grid,
  .dsw-front-page .dsw-article-grid { grid-template-columns: 1fr; }
  .dsw-front-page .dsw-review-rating { min-height: 130px; }
  .dsw-front-page .dsw-article-grid > a { min-height: 245px; }
  .dsw-front-page .dsw-location-grid article { min-height: 230px; }
  .dsw-front-page .dsw-contact-band__actions { max-width: none; }
}

@media (max-width: 420px) {
  .dsw-front-page .dsw-hero .dsw-actions { grid-template-columns: 1fr; }
  .dsw-front-page .dsw-hero .dsw-actions .dsw-text-link { grid-column: 1; }
  .dsw-front-page .dsw-hero h1 { font-size: clamp(2.75rem, 13vw, 3.45rem); }
}

/* 0.8.0 legacy-builder quarantine on the flagship front page.
   The staging clone still contains historical Elementor/ElementsKit header
   templates. When one is injected outside the theme header, hide only that
   legacy header on the front page so the handcrafted navigation is the single
   authoritative header. */
.dsw-front-page .elementor-location-header,
.dsw-front-page .elementskit-header-template,
.dsw-front-page .ekit-template-content-header,
.dsw-front-page .htmega-header-template,
.dsw-front-page .hfe-site-header,
.dsw-front-page .uael-header-footer-template {
  display: none !important;
}

/* Primary navigation polish and accessible dropdown behavior. */
.dsw-header .dsw-nav__list > li { position: relative; }
.dsw-header .dsw-nav__list .sub-menu {
  position: absolute;
  z-index: 50;
  top: calc(100% + 1rem);
  left: 50%;
  width: min(760px, 86vw);
  max-height: min(68vh, 620px);
  overflow-y: auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 0 .9rem;
  margin: 0;
  padding: .8rem;
  list-style: none;
  visibility: hidden;
  opacity: 0;
  transform: translate(-50%, .45rem);
  border: 1px solid rgba(126,64,95,.12);
  border-radius: 16px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 24px 70px rgba(78,39,61,.12);
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}
.dsw-header .dsw-nav__list .sub-menu::before {
  content: "";
  position: absolute;
  top: -.7rem;
  left: 0;
  right: 0;
  height: .8rem;
}
.dsw-header .dsw-nav__list .sub-menu li { min-width: 0; }
.dsw-header .dsw-nav__list .sub-menu a {
  display: block;
  padding: .72rem .8rem;
  border-radius: 9px;
  color: #55494f;
  font-size: .78rem;
  line-height: 1.35;
}
.dsw-header .dsw-nav__list .sub-menu a::after { display: none; }
.dsw-header .dsw-nav__list .sub-menu a:hover,
.dsw-header .dsw-nav__list .sub-menu a:focus-visible { background: var(--dsw-brand-075); color: var(--dsw-brand-900); }
.dsw-header .dsw-nav__list > .menu-item-has-children:hover > .sub-menu,
.dsw-header .dsw-nav__list > .menu-item-has-children:focus-within > .sub-menu {
  visibility: visible;
  opacity: 1;
  transform: translate(-50%, 0);
}
.dsw-header .dsw-nav__list > .menu-item-has-children > a { display: inline-flex; align-items: center; gap: .4rem; }
.dsw-header .dsw-nav__list > .menu-item-has-children > a::before {
  content: "";
  width: 6px;
  height: 6px;
  order: 2;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
}

@media (max-width: 1100px) {
  .dsw-header .dsw-nav__list .sub-menu {
    position: static;
    width: 100%;
    display: block;
    visibility: visible;
    opacity: 1;
    transform: none;
    margin: 0 0 .35rem;
    padding: 0 0 0 .85rem;
    border: 0;
    border-left: 1px solid var(--dsw-line);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }
  .dsw-header .dsw-nav__list .sub-menu a { padding: .65rem .75rem; font-size: .76rem; }
}

/* Flagship responsive header details. */
@media (max-width: 1100px) {
  .dsw-front-page .dsw-nav {
    top: 82px;
    max-height: calc(100vh - 82px);
    overflow-y: auto;
    padding: 1rem max(4.5vw, calc((100vw - var(--dsw-home-shell)) / 2)) 1.4rem;
    background: rgba(255,255,255,.985);
    box-shadow: 0 22px 50px rgba(78,39,61,.08);
  }
  .dsw-front-page .dsw-nav__list > li { border-bottom-color: rgba(126,64,95,.11); }
  .dsw-front-page .dsw-nav__list > li > a { padding: .85rem .15rem; font-size: .84rem; }
  .dsw-front-page .dsw-menu-toggle[aria-expanded="true"] i:first-of-type { transform: translateY(3px) rotate(45deg); }
  .dsw-front-page .dsw-menu-toggle[aria-expanded="true"] i:last-of-type { transform: translateY(-2px) rotate(-45deg); }
  .dsw-front-page .dsw-menu-toggle i { transition: transform .18s ease; }
}
@media (max-width: 820px) {
  .dsw-front-page .dsw-nav { top: 76px; max-height: calc(100vh - 76px); }
}

/* Care-journey tablet/mobile correction: keep every step visible in reading
   order instead of leaving an uneven 3+2 grid or hiding steps in a carousel. */
@media (max-width: 1180px) and (min-width: 901px) {
  .dsw-front-page .dsw-timeline { grid-template-columns: repeat(5, minmax(0,1fr)); }
  .dsw-front-page .dsw-timeline li { padding: 1.25rem 1rem; }
  .dsw-front-page .dsw-timeline h3 { font-size: 1.25rem; }
  .dsw-front-page .dsw-timeline p { font-size: .72rem; }
}
@media (max-width: 900px) {
  .dsw-front-page .dsw-timeline {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    overflow: hidden;
    margin-right: 0;
    padding: 0;
    border: 1px solid rgba(126,64,95,.13);
    border-radius: 16px;
    background: #fff;
  }
  .dsw-front-page .dsw-timeline li {
    display: grid;
    grid-template-columns: 46px minmax(0,1fr);
    gap: 1rem;
    min-height: 0;
    padding: 1.15rem 1.2rem;
    border: 0;
    border-bottom: 1px solid rgba(126,64,95,.11);
    border-radius: 0;
    background: #fff;
  }
  .dsw-front-page .dsw-timeline li:last-child { border-bottom: 0; }
  .dsw-front-page .dsw-timeline li > span { margin: .15rem 0 0; }
  .dsw-front-page .dsw-timeline li > div { min-width: 0; }
  .dsw-front-page .dsw-timeline h3 { font-size: 1.35rem; }
  .dsw-front-page .dsw-timeline p { margin-top: .45rem; font-size: .78rem; }
}

/* ========================================================================
   0.8.1 — authoritative navigation, complete services + travel menus
   ======================================================================== */

/* Legacy Elementor/ElementsKit header templates are retained in the database
   for rollback, but the handcrafted theme header is authoritative sitewide. */
.dsw-site .elementor-location-header,
.dsw-site .elementskit-header-template,
.dsw-site .ekit-template-content-header,
.dsw-site .htmega-header-template,
.dsw-site .hfe-site-header,
.dsw-site .uael-header-footer-template {
  display: none !important;
}

.dsw-header { overflow: visible; }
.dsw-header .dsw-shell { width: min(calc(100vw - 48px), 1460px); }
.dsw-header__inner { position: relative; grid-template-columns: 210px minmax(0,1fr) auto; gap: clamp(1rem,2vw,2rem); }
.dsw-header .dsw-brand { width: 172px; }
.dsw-header .dsw-nav { position: static; justify-self: center; }
.dsw-header .dsw-nav__list { gap: clamp(.62rem,1.1vw,1.15rem); align-items: center; }
.dsw-header .dsw-nav__list > li { position: relative; }
.dsw-header .dsw-nav__list > li > a,
.dsw-header .dsw-nav__parent > a { font-size: .79rem; font-weight: 650; white-space: nowrap; }
.dsw-nav__parent { display: flex; align-items: center; gap: .15rem; }
.dsw-submenu-toggle { width: 26px; height: 30px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 7px; background: transparent; color: var(--dsw-brand-700); cursor: pointer; }
.dsw-submenu-toggle:hover { background: var(--dsw-brand-075); }
.dsw-submenu-toggle svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; transition: transform .18s ease; }
.dsw-has-submenu.is-submenu-open > .dsw-nav__parent .dsw-submenu-toggle svg { transform: rotate(180deg); }
.dsw-header__actions { gap: .55rem; }
.dsw-header__actions .dsw-btn { min-height: 42px; padding: .68rem .95rem; font-size: .76rem; }

/* Full services mega menu. */
.dsw-nav__item--mega { position: static !important; }
.dsw-mega-menu {
  position: absolute;
  z-index: 80;
  top: calc(100% + 1px);
  left: 50%;
  width: min(1180px, calc(100vw - 56px));
  max-height: min(76vh, 720px);
  overflow: auto;
  margin: 0;
  padding: 1.3rem 1.4rem 1.5rem;
  visibility: hidden;
  opacity: 0;
  transform: translate(-50%, .5rem);
  border: 1px solid rgba(126,64,95,.12);
  border-radius: 0 0 20px 20px;
  background: rgba(255,255,255,.99);
  box-shadow: 0 28px 80px rgba(78,39,61,.16);
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
  overscroll-behavior: contain;
}
.dsw-mega-menu__top { display: flex; align-items: end; justify-content: space-between; gap: 2rem; padding: .2rem .2rem 1rem; border-bottom: 1px solid var(--dsw-line); }
.dsw-mega-menu__top .dsw-eyebrow { margin: 0 0 .2rem; font-size: .61rem; }
.dsw-mega-menu__top strong { display: block; color: var(--dsw-brand-900); font-family: var(--dsw-display); font-size: 1.45rem; font-weight: 400; }
.dsw-mega-menu__top > a { display: inline-flex; align-items: center; gap: .45rem; color: var(--dsw-brand-800) !important; font-size: .74rem !important; font-weight: 700 !important; text-decoration: none; }
.dsw-mega-menu__top > a::after { display: none !important; }
.dsw-mega-menu__top > a svg { width: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.dsw-mega-menu__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem 1.4rem; padding-top: 1.2rem; align-items: start; }
.dsw-mega-group { min-width: 0; padding: 1rem; border: 1px solid rgba(126,64,95,.10); border-radius: 14px; background: #fff; }
.dsw-mega-group:first-child { grid-column: span 2; }
.dsw-mega-group:first-child ul { columns: 2; column-gap: 1.35rem; }
.dsw-mega-group header { display: flex; align-items: center; gap: .75rem; margin-bottom: .65rem; }
.dsw-mega-group header img { width: 34px; height: 34px; object-fit: contain; }
.dsw-mega-group__mark { width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid var(--dsw-brand-300); border-radius: 50%; color: var(--dsw-brand-700); font-size: 1rem; }
.dsw-mega-group h3 { margin: 0; color: var(--dsw-brand-900); font-family: var(--dsw-body); font-size: .88rem; font-weight: 750; letter-spacing: 0; line-height: 1.25; }
.dsw-mega-group ul { list-style: none; margin: 0; padding: 0; }
.dsw-mega-group li { break-inside: avoid; border-top: 1px solid rgba(223,213,217,.72); }
.dsw-mega-group li:first-child { border-top: 0; }
.dsw-mega-group li a { display: block; padding: .48rem .1rem; color: #5f5358 !important; font-size: .7rem !important; font-weight: 560 !important; line-height: 1.35; text-decoration: none; }
.dsw-mega-group li a::after { display: none !important; }
.dsw-mega-group li a:hover,
.dsw-mega-group li a:focus-visible { color: var(--dsw-brand-800) !important; }

/* Travel dropdown: every supplied travel-to-Lahore guide. */
.dsw-travel-menu {
  position: absolute;
  z-index: 81;
  top: calc(100% + 1.25rem);
  left: 50%;
  width: 360px;
  padding: 1.1rem;
  visibility: hidden;
  opacity: 0;
  transform: translate(-50%, .45rem);
  border: 1px solid rgba(126,64,95,.12);
  border-radius: 16px;
  background: rgba(255,255,255,.99);
  box-shadow: 0 24px 65px rgba(78,39,61,.14);
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}
.dsw-travel-menu::before { content:""; position:absolute; height:1.4rem; left:0; right:0; top:-1.3rem; }
.dsw-travel-menu .dsw-eyebrow { margin: .1rem .45rem .6rem; font-size: .59rem; }
.dsw-travel-menu ul { list-style: none; margin: 0; padding: 0; }
.dsw-travel-menu li + li { border-top: 1px solid var(--dsw-line); }
.dsw-travel-menu li a { display: block; padding: .64rem .5rem; border-radius: 8px; color: #5b4f54 !important; font-size: .74rem !important; font-weight: 600 !important; line-height: 1.35; text-decoration: none; }
.dsw-travel-menu li a::after { display: none !important; }
.dsw-travel-menu li a:hover,
.dsw-travel-menu li a:focus-visible { background: var(--dsw-brand-075); color: var(--dsw-brand-900) !important; }

@media (min-width: 1241px) {
  .dsw-nav__item--mega:hover > .dsw-mega-menu,
  .dsw-nav__item--mega:focus-within > .dsw-mega-menu,
  .dsw-nav__item--mega.is-submenu-open > .dsw-mega-menu,
  .dsw-nav__item--travel:hover > .dsw-travel-menu,
  .dsw-nav__item--travel:focus-within > .dsw-travel-menu,
  .dsw-nav__item--travel.is-submenu-open > .dsw-travel-menu {
    visibility: visible;
    opacity: 1;
    transform: translate(-50%, 0);
  }
}

/* Homepage complete service finder — uses the original client icon set from Drive. */
.dsw-front-page .dsw-finder--complete { grid-template-columns: minmax(245px,.58fr) minmax(0,1.55fr); }
.dsw-front-page .dsw-finder--complete .dsw-finder__tabs { padding: .6rem; }
.dsw-front-page .dsw-finder--complete .dsw-finder__tabs button { min-height: 64px; padding: .55rem .65rem; gap: .65rem; border-radius: 12px; }
.dsw-front-page .dsw-finder--complete .dsw-finder__tabs button + button { margin-top: .15rem; }
.dsw-front-page .dsw-finder__tab-label { min-width: 0; display: flex; align-items: center; gap: .65rem; }
.dsw-front-page .dsw-finder__tab-label img { flex: 0 0 auto; width: 36px; height: 36px; object-fit: contain; }
.dsw-front-page .dsw-finder__tab-label strong { overflow: hidden; color: inherit; font-size: .78rem; font-weight: 700; line-height: 1.2; text-overflow: ellipsis; }
.dsw-front-page .dsw-finder__tab-mark { flex: 0 0 34px; width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid var(--dsw-brand-300); border-radius: 50%; color: var(--dsw-brand-700); }
.dsw-front-page .dsw-finder__count { flex: 0 0 auto; margin-left: auto; color: var(--dsw-muted); font-size: .64rem; }
.dsw-front-page .dsw-finder__panel-head { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; padding-bottom: 1rem; border-bottom: 1px solid var(--dsw-line); }
.dsw-front-page .dsw-finder__panel-head .dsw-finder__panel-label { margin: 0; }
.dsw-front-page .dsw-finder__panel-head > span { color: var(--dsw-muted); font-size: .68rem; white-space: nowrap; }
.dsw-front-page .dsw-finder__panel ul { margin-top: .45rem; }
.dsw-front-page .dsw-finder__panel ul.is-dense { grid-template-columns: repeat(3,minmax(0,1fr)); }
.dsw-front-page .dsw-finder__panel a { min-height: 55px; font-size: .75rem; }
.dsw-text-link--inline { margin-left: .15rem; font-size: .78rem; white-space: nowrap; }

/* New theme-owned Services landing page. */
.dsw-services-page { background: var(--dsw-brand-025); }
.dsw-services-hero { position: relative; overflow: hidden; padding: clamp(4.5rem,7vw,7rem) 0 clamp(3.5rem,5vw,5rem); background: radial-gradient(circle at 86% 24%,rgba(217,169,189,.34),transparent 28%),linear-gradient(155deg,#fff 0%,var(--dsw-brand-075) 100%); border-bottom: 1px solid rgba(126,64,95,.1); }
.dsw-services-hero::after { content:""; position:absolute; width:34rem; height:34rem; right:-13rem; bottom:-20rem; border:1px solid rgba(126,64,95,.12); border-radius:50%; box-shadow:0 0 0 5rem rgba(255,255,255,.15); }
.dsw-services-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.2fr) minmax(260px,.55fr); align-items: end; gap: clamp(3rem,7vw,7rem); }
.dsw-services-hero h1 { max-width: 13ch; color: var(--dsw-brand-900); font-size: clamp(3.5rem,6vw,6rem); }
.dsw-services-hero__note { padding: 1.7rem; border: 1px solid rgba(126,64,95,.14); border-radius: 18px; background: rgba(255,255,255,.88); box-shadow: 0 20px 55px rgba(78,39,61,.08); backdrop-filter: blur(10px); }
.dsw-services-hero__note > span { display: block; color: var(--dsw-brand-800); font-family: var(--dsw-display); font-size: clamp(3rem,5vw,4.8rem); line-height: .9; }
.dsw-services-hero__note > strong { display: block; margin-top: .5rem; color: var(--dsw-brand-900); font-size: .88rem; }
.dsw-services-hero__note p { margin: .7rem 0 0; color: var(--dsw-muted); font-size: .78rem; line-height: 1.6; }
.dsw-services-index { position: sticky; top: 92px; z-index: 18; background: rgba(255,255,255,.96); border-bottom: 1px solid var(--dsw-line); backdrop-filter: blur(14px); }
.dsw-services-index__inner { display: flex; align-items: stretch; overflow-x: auto; scrollbar-width: thin; }
.dsw-services-index__inner > a { min-width: 150px; flex: 1 0 auto; display: grid; grid-template-columns: 36px minmax(0,1fr) auto; align-items: center; gap: .6rem; padding: .9rem 1rem; border-right: 1px solid var(--dsw-line); color: var(--dsw-brand-900); text-decoration: none; }
.dsw-services-index__inner > a:first-child { border-left: 1px solid var(--dsw-line); }
.dsw-services-index__inner > a img { width: 34px; height: 34px; object-fit: contain; }
.dsw-services-index__inner > a > span { width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid var(--dsw-brand-300); border-radius: 50%; color: var(--dsw-brand-700); }
.dsw-services-index__inner strong { font-size: .69rem; line-height: 1.25; }
.dsw-services-index__inner small { color: var(--dsw-muted); font-size: .61rem; }
.dsw-services-index__inner > a:hover { background: var(--dsw-brand-075); }
.dsw-services-library { background: #fff; }
.dsw-services-library__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.2rem; align-items: start; }
.dsw-service-cluster { scroll-margin-top: 180px; padding: clamp(1.5rem,2.5vw,2rem); border: 1px solid rgba(126,64,95,.13); border-radius: 18px; background: linear-gradient(155deg,#fff,var(--dsw-brand-025)); box-shadow: 0 14px 40px rgba(78,39,61,.045); }
.dsw-service-cluster--wide { grid-column: span 2; }
.dsw-service-cluster header { display: flex; align-items: center; gap: 1rem; padding-bottom: 1.1rem; border-bottom: 1px solid var(--dsw-line); }
.dsw-service-cluster__icon { flex: 0 0 58px; width: 58px; height: 58px; display: grid; place-items: center; border: 1px solid rgba(126,64,95,.12); border-radius: 16px; background: #fff; }
.dsw-service-cluster__icon img { width: 48px; height: 48px; object-fit: contain; }
.dsw-service-cluster__icon span { color: var(--dsw-brand-700); font-size: 1.5rem; }
.dsw-service-cluster header .dsw-eyebrow { margin: 0 0 .2rem; font-size: .58rem; }
.dsw-service-cluster h3 { color: var(--dsw-brand-900); font-family: var(--dsw-body); font-size: clamp(1.25rem,2vw,1.65rem); font-weight: 750; letter-spacing: -.02em; line-height: 1.18; }
.dsw-service-cluster ul { list-style: none; margin: .45rem 0 0; padding: 0; }
.dsw-service-cluster ul.is-two-column { columns: 2; column-gap: 2rem; }
.dsw-service-cluster li { break-inside: avoid; border-bottom: 1px solid rgba(223,213,217,.82); }
.dsw-service-cluster a { min-height: 50px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .7rem .05rem; color: #51474b; font-size: .78rem; font-weight: 600; line-height: 1.4; text-decoration: none; }
.dsw-service-cluster a svg { flex: 0 0 16px; width: 16px; fill: none; stroke: var(--dsw-brand-700); stroke-width: 1.6; transition: transform .18s ease; }
.dsw-service-cluster a:hover { color: var(--dsw-brand-800); }
.dsw-service-cluster a:hover svg { transform: translateX(3px); }

/* More room is required now that Blog and Travel are first-class nav items. */
@media (max-width: 1240px) {
  .dsw-header__inner { min-height: 78px; grid-template-columns: 1fr auto; }
  .dsw-header__actions { display: none; }
  .dsw-menu-toggle { justify-self: end; display: grid; grid-template-columns: auto 18px; grid-template-rows: 1fr 1fr; align-items: center; column-gap: .6rem; row-gap: 4px; padding: .65rem; }
  .dsw-menu-toggle i { grid-column: 2; display: block; width: 18px; height: 1px; background: currentColor; }
  .dsw-menu-toggle i:first-of-type { grid-row: 1; align-self: end; }
  .dsw-menu-toggle i:last-of-type { grid-row: 2; align-self: start; }
  .dsw-menu-toggle span { grid-row: 1 / 3; font-size: .75rem; font-weight: 700; }
  .dsw-nav { display: none; position: absolute !important; top: 78px; left: 0; right: 0; width: 100%; max-height: calc(100vh - 78px); overflow: auto; padding: 1rem 4.5vw 1.4rem; background: rgba(255,255,255,.99); border-bottom: 1px solid var(--dsw-line); box-shadow: 0 24px 60px rgba(78,39,61,.10); }
  .dsw-nav.is-open { display: block; }
  .dsw-nav__list { flex-direction: column; align-items: stretch !important; gap: 0 !important; }
  .dsw-header .dsw-nav__list > li { width: 100%; border-bottom: 1px solid rgba(126,64,95,.11); }
  .dsw-header .dsw-nav__list > li > a,
  .dsw-header .dsw-nav__parent > a { flex: 1; display: block; padding: .85rem .1rem; font-size: .84rem; }
  .dsw-nav__parent { width: 100%; }
  .dsw-submenu-toggle { width: 42px; height: 42px; margin-left: auto; }
  .dsw-mega-menu,
  .dsw-travel-menu { position: static; width: 100%; max-height: none; display: none; visibility: visible; opacity: 1; transform: none; margin: 0 0 .8rem; border-radius: 14px; box-shadow: none; }
  .dsw-has-submenu.is-submenu-open > .dsw-mega-menu,
  .dsw-has-submenu.is-submenu-open > .dsw-travel-menu { display: block; }
  .dsw-mega-menu { padding: 1rem; background: var(--dsw-brand-025); }
  .dsw-mega-menu__grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; }
  .dsw-mega-group:first-child { grid-column: span 2; }
  .dsw-travel-menu { padding: .8rem; background: var(--dsw-brand-025); }
  .dsw-travel-menu::before { display: none; }
  .dsw-services-index { top: 78px; }
}

@media (max-width: 900px) {
  .dsw-front-page .dsw-finder--complete { grid-template-columns: 1fr; }
  .dsw-front-page .dsw-finder--complete .dsw-finder__tabs { display: flex; overflow-x: auto; gap: .35rem; padding: .55rem; border-right: 0; border-bottom: 1px solid var(--dsw-line); }
  .dsw-front-page .dsw-finder--complete .dsw-finder__tabs button { flex: 0 0 auto; width: auto; min-width: 145px; margin: 0; }
  .dsw-front-page .dsw-finder__panel ul.is-dense { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dsw-services-hero__grid { grid-template-columns: 1fr; gap: 2rem; }
  .dsw-services-hero__note { max-width: 480px; }
  .dsw-services-library__grid { grid-template-columns: 1fr; }
  .dsw-service-cluster--wide { grid-column: auto; }
}

@media (max-width: 680px) {
  .dsw-header .dsw-shell { width: calc(100vw - 28px); }
  .dsw-header .dsw-brand,
  .dsw-header .dsw-brand__logo { width: 145px; }
  .dsw-mega-menu__top { align-items: flex-start; flex-direction: column; gap: .7rem; }
  .dsw-mega-menu__grid { grid-template-columns: 1fr; }
  .dsw-mega-group:first-child { grid-column: auto; }
  .dsw-mega-group:first-child ul { columns: 1; }
  .dsw-front-page .dsw-finder__panel ul.is-dense { grid-template-columns: 1fr; }
  .dsw-front-page .dsw-finder__panel-head { align-items: flex-start; flex-direction: column; gap: .25rem; }
  .dsw-services-hero { padding-top: 3.3rem; }
  .dsw-services-hero h1 { font-size: clamp(2.8rem,13vw,4.2rem); }
  .dsw-services-index__inner > a { min-width: 136px; grid-template-columns: 30px minmax(0,1fr) auto; padding: .75rem .8rem; }
  .dsw-services-index__inner > a img { width: 29px; height: 29px; }
  .dsw-service-cluster { padding: 1.2rem; }
  .dsw-service-cluster ul.is-two-column { columns: 1; }
  .dsw-service-cluster a { font-size: .76rem; }
}
@media (max-width: 1240px) {
  .dsw-front-page .dsw-nav { top: 78px; max-height: calc(100vh - 78px); }
}

/* ========================================================================
   0.8.3 transformation media resilience
   ======================================================================== */

/* The handcrafted header is authoritative. These wrappers are emitted only by
   the retired Elementor/ElementsKit header builder and must never sit above it. */
body.dsw-site .ekit-template-content-header,
body.dsw-site .elementor-location-header,
body.dsw-site [data-elementor-type="header"] {
  display: none !important;
}

/* Full legacy Transformation gallery retained during the builder migration. */
.dsw-transform-featured{background:var(--dsw-brand-025,#fcf8fa)}
.dsw-legacy-gallery-section{background:linear-gradient(180deg,#fff 0%,var(--dsw-brand-075,#f7edf1) 100%)}
.dsw-legacy-gallery-heading{align-items:end}
.dsw-gallery-filters{display:flex;flex-wrap:wrap;gap:.55rem;margin:0 0 2rem;padding-bottom:1rem;border-bottom:1px solid var(--dsw-line,#eadde3)}
.dsw-gallery-filters button{min-height:40px;padding:.62rem .9rem;border:1px solid var(--dsw-line,#eadde3);border-radius:999px;background:transparent;color:var(--dsw-brand-900,#4e273d);font:inherit;font-size:.78rem;font-weight:650;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}
.dsw-gallery-filters button:hover,.dsw-gallery-filters button:focus-visible{border-color:var(--dsw-brand-500,#b66f91);transform:translateY(-1px)}
.dsw-gallery-filters button.is-active{background:var(--dsw-brand-900,#4e273d);border-color:var(--dsw-brand-900,#4e273d);color:#fff}
.dsw-legacy-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;align-items:start}
.dsw-legacy-case{margin:0;min-width:0}
.dsw-legacy-case[hidden]{display:none}
.dsw-legacy-case.is-unavailable{display:none!important}
.dsw-legacy-case__button{position:relative;display:block;width:100%;padding:0;overflow:hidden;border:0;border-radius:10px;background:#efe7eb;cursor:zoom-in;box-shadow:0 8px 24px rgba(78,39,61,.07);transition:transform .22s ease,box-shadow .22s ease}
.dsw-legacy-case__button:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(78,39,61,.13)}
.dsw-legacy-case__button:focus-visible{outline:3px solid var(--dsw-brand-500,#b66f91);outline-offset:3px}
.dsw-legacy-case img{display:block;width:100%;height:auto;max-height:520px;object-fit:contain;background:#f4eef1}
.dsw-legacy-case__zoom{position:absolute;right:.75rem;bottom:.75rem;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:rgba(78,39,61,.88);color:#fff;font-size:1.25rem;line-height:1;opacity:0;transform:translateY(4px);transition:opacity .2s ease,transform .2s ease}
.dsw-legacy-case__button:hover .dsw-legacy-case__zoom,.dsw-legacy-case__button:focus-visible .dsw-legacy-case__zoom{opacity:1;transform:translateY(0)}
.dsw-legacy-case figcaption{display:flex;flex-direction:column;gap:.2rem;padding:.7rem .15rem 0;color:var(--dsw-muted,#6f626a)}
.dsw-legacy-case figcaption span{font-size:.66rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase;color:var(--dsw-brand-700,#7e405f)}
.dsw-legacy-case figcaption small{font-size:.78rem;line-height:1.4;overflow-wrap:anywhere}
.dsw-gallery-guidance{margin-top:2.5rem}
.dsw-gallery-dialog{max-width:min(92vw,1040px);max-height:90vh;padding:0;border:0;border-radius:14px;background:#140d11;box-shadow:0 28px 90px rgba(20,13,17,.38)}
.dsw-gallery-dialog::backdrop{background:rgba(26,15,21,.78);backdrop-filter:blur(4px)}
.dsw-gallery-dialog img{display:block;max-width:92vw;max-height:88vh;width:auto;height:auto;object-fit:contain}
.dsw-gallery-dialog__close{position:absolute;z-index:2;top:.75rem;right:.75rem;width:42px;height:42px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(20,13,17,.75);color:#fff;font-size:1.7rem;line-height:1;cursor:pointer}
@media(max-width:1000px){.dsw-legacy-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.dsw-legacy-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.dsw-legacy-case figcaption small{display:none}}
@media(max-width:430px){.dsw-legacy-gallery{grid-template-columns:1fr 1fr}.dsw-gallery-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.8rem}.dsw-gallery-filters button{white-space:nowrap}}


/* ========================================================================
   0.8.4 contact location button contrast
   ======================================================================== */

/* Location-card links use a compact editorial text style. A button inside the
   same card must keep button contrast rather than inherit that link colour. */
.dsw-location-grid a.dsw-btn,
.dsw-service-location-grid a.dsw-btn {
  color: #fff;
  -webkit-text-fill-color: #fff;
}
.dsw-location-grid a.dsw-btn:hover,
.dsw-location-grid a.dsw-btn:focus-visible,
.dsw-service-location-grid a.dsw-btn:hover,
.dsw-service-location-grid a.dsw-btn:focus-visible {
  color: #fff;
  -webkit-text-fill-color: #fff;
}
\n\n/* ========================================================================\n   0.8.10 — desktop navigation breakpoint correction\n   Keep the icon mega menu + horizontal primary nav on laptop/desktop widths.\n   The off-canvas Menu control is reserved for genuine tablet/mobile widths.\n   ======================================================================== */\n@media (min-width: 901px) and (max-width: 1240px) {\n  .dsw-header .dsw-shell { width: min(calc(100vw - 28px), 1460px); }\n  .dsw-header__inner {\n    min-height: 82px;\n    grid-template-columns: 150px minmax(0, 1fr);\n    align-items: center;\n    gap: clamp(.55rem, 1vw, .9rem);\n  }\n  .dsw-header .dsw-brand,\n  .dsw-header .dsw-brand__logo { width: 145px; }\n  .dsw-header__actions { display: none; }\n  .dsw-menu-toggle { display: none !important; }\n\n  .dsw-header .dsw-nav,\n  .dsw-front-page .dsw-nav {\n    display: block !important;\n    position: static !important;\n    top: auto !important;\n    left: auto !important;\n    right: auto !important;\n    width: auto !important;\n    max-height: none !important;\n    overflow: visible !important;\n    justify-self: end;\n    padding: 0 !important;\n    background: transparent !important;\n    border: 0 !important;\n    box-shadow: none !important;\n  }\n  .dsw-header .dsw-nav__list {\n    display: flex !important;\n    flex-direction: row !important;\n    align-items: center !important;\n    gap: clamp(.32rem, .58vw, .68rem) !important;\n  }\n  .dsw-header .dsw-nav__list > li {\n    width: auto !important;\n    border: 0 !important;\n  }\n  .dsw-header .dsw-nav__list > li > a,\n  .dsw-header .dsw-nav__parent > a {\n    flex: none !important;\n    display: inline-flex !important;\n    align-items: center;\n    padding: .7rem 0 !important;\n    font-size: clamp(.62rem, .68vw, .72rem) !important;\n    white-space: nowrap;\n  }\n  .dsw-nav__parent { width: auto !important; }\n  .dsw-submenu-toggle {\n    width: 20px;\n    height: 26px;\n    margin-left: 0;\n  }\n\n  .dsw-mega-menu {\n    position: absolute !important;\n    top: calc(100% + 1px) !important;\n    left: 50% !important;\n    width: min(1120px, calc(100vw - 28px)) !important;\n    max-height: min(76vh, 720px) !important;\n    overflow: auto !important;\n    display: block !important;\n    margin: 0 !important;\n    padding: 1.15rem 1.2rem 1.3rem !important;\n    visibility: hidden !important;\n    opacity: 0 !important;\n    transform: translate(-50%, .5rem) !important;\n    border: 1px solid rgba(126,64,95,.12) !important;\n    border-radius: 0 0 20px 20px !important;\n    background: rgba(255,255,255,.99) !important;\n    box-shadow: 0 28px 80px rgba(78,39,61,.16) !important;\n  }\n  .dsw-mega-menu__grid {\n    grid-template-columns: repeat(4, minmax(0,1fr)) !important;\n    gap: .8rem 1rem !important;\n  }\n  .dsw-mega-group:first-child { grid-column: span 2 !important; }\n  .dsw-mega-group:first-child ul { columns: 2 !important; }\n\n  .dsw-travel-menu {\n    position: absolute !important;\n    top: calc(100% + 1.25rem) !important;\n    left: 50% !important;\n    width: 340px !important;\n    display: block !important;\n    margin: 0 !important;\n    padding: 1rem !important;\n    visibility: hidden !important;\n    opacity: 0 !important;\n    transform: translate(-50%, .45rem) !important;\n    border: 1px solid rgba(126,64,95,.12) !important;\n    border-radius: 16px !important;\n    background: rgba(255,255,255,.99) !important;\n    box-shadow: 0 24px 65px rgba(78,39,61,.14) !important;\n  }\n  .dsw-travel-menu::before { display: block; }\n\n  .dsw-nav__item--mega:hover > .dsw-mega-menu,\n  .dsw-nav__item--mega:focus-within > .dsw-mega-menu,\n  .dsw-nav__item--mega.is-submenu-open > .dsw-mega-menu,\n  .dsw-nav__item--travel:hover > .dsw-travel-menu,\n  .dsw-nav__item--travel:focus-within > .dsw-travel-menu,\n  .dsw-nav__item--travel.is-submenu-open > .dsw-travel-menu {\n    visibility: visible !important;\n    opacity: 1 !important;\n    transform: translate(-50%, 0) !important;\n  }\n}\n

/* 0.8.11 — editorial-grade blog pagination */
.dsw-pagination {
  margin-top:clamp(3rem,6vw,5rem);
  padding-top:1.35rem;
  border-top:1px solid var(--dsw-line);
}
.dsw-pagination__status {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1rem;
  color:var(--dsw-muted);
  font-size:.72rem;
  letter-spacing:.075em;
  text-transform:uppercase;
}
.dsw-pagination__status strong { color:var(--dsw-brand-900); font-size:.72rem; font-weight:700; }
.dsw-pagination__bar {
  display:grid;
  grid-template-columns:minmax(120px,1fr) auto minmax(120px,1fr);
  align-items:center;
  gap:1rem;
}
.dsw-pagination__direction {
  min-height:48px;
  display:inline-flex;
  align-items:center;
  gap:.7rem;
  width:max-content;
  padding:.68rem .82rem;
  border-radius:12px;
  color:var(--dsw-brand-900);
  font-size:.78rem;
  font-weight:700;
  text-decoration:none;
  transition:background-color .2s ease,transform .2s ease,color .2s ease;
}
.dsw-pagination__direction:hover { background:var(--dsw-brand-075); transform:translateY(-1px); }
.dsw-pagination__direction:focus-visible,.dsw-pagination__pages .page-numbers:focus-visible { outline:2px solid var(--dsw-brand-600); outline-offset:3px; }
.dsw-pagination__direction--next { justify-self:end; }
.dsw-pagination__direction.is-disabled { color:#a99ca2; pointer-events:none; }
.dsw-pagination__pages {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.38rem;
}
.dsw-pagination__pages .page-numbers {
  min-width:44px;
  min-height:44px;
  display:grid;
  place-items:center;
  padding:.45rem .68rem;
  border:1px solid transparent;
  border-radius:12px;
  color:var(--dsw-brand-800);
  background:#fff;
  box-shadow:0 8px 24px rgba(95,49,73,.055);
  font-size:.78rem;
  font-weight:700;
  text-decoration:none;
  transition:border-color .2s ease,background-color .2s ease,transform .2s ease;
}
.dsw-pagination__pages a.page-numbers:hover { border-color:rgba(126,64,95,.24); background:var(--dsw-brand-050); transform:translateY(-1px); }
.dsw-pagination__pages .page-numbers.current {
  border-color:var(--dsw-brand-900);
  background:var(--dsw-brand-900);
  color:#fff;
  box-shadow:0 12px 28px rgba(95,49,73,.16);
}
.dsw-pagination__pages .dots { min-width:28px; box-shadow:none; background:transparent; border-color:transparent; color:var(--dsw-muted); }
@media (max-width:720px) {
  .dsw-pagination__bar { grid-template-columns:1fr 1fr; }
  .dsw-pagination__pages { grid-column:1 / -1; grid-row:1; justify-content:flex-start; overflow-x:auto; padding:.2rem .1rem .55rem; scrollbar-width:thin; }
  .dsw-pagination__direction { grid-row:2; width:100%; justify-content:flex-start; }
  .dsw-pagination__direction--next { justify-content:flex-end; }
}
@media (max-width:480px) {
  .dsw-pagination__status span { display:none; }
  .dsw-pagination__status { justify-content:flex-end; }
  .dsw-pagination__direction { min-height:46px; padding:.6rem .25rem; }
  .dsw-pagination__pages .page-numbers { min-width:42px; min-height:42px; }
}

/* ========================================================================
   0.8.14 — final blog editorial UX refinement
   Scope is intentionally narrow: article rail/profile, tables, related links,
   sources, blog-only final CTA and the footer. Quick Summary and the existing
   medical-review band are deliberately untouched.
   ======================================================================== */

/* Keep the existing booking CTA at the top of the sticky rail and add a
   separate reviewer/profile card beneath it. */
.dsw-article-rail {
  width: 100%;
  max-width: 330px;
  justify-self: end;
  align-self: start;
  position: sticky;
  top: 6.75rem;
  display: grid;
  gap: .9rem;
}
.dsw-article-rail .dsw-article-aside {
  position: static;
  top: auto;
  max-width: none;
  justify-self: stretch;
}
.dsw-article-profile-card {
  padding: 1.05rem;
  border: 1px solid rgba(126,64,95,.16);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(78,39,61,.055);
}
.dsw-article-profile-card__head {
  display: grid;
  grid-template-columns: 58px minmax(0,1fr);
  gap: .8rem;
  align-items: center;
}
.dsw-article-profile-card__photo {
  width: 58px;
  height: 58px;
  display: block;
  overflow: hidden;
  border: 1px solid rgba(126,64,95,.14);
  border-radius: 14px;
  background: var(--dsw-brand-025);
}
.dsw-article-profile-card__photo img { width:100%;height:100%;object-fit:cover;object-position:center; }
.dsw-article-profile-card .dsw-eyebrow { margin:0 0 .18rem;font-size:.62rem; }
.dsw-article-profile-card h2 {
  margin: 0;
  color: var(--dsw-brand-900);
  font-family: var(--dsw-body);
  font-size: .98rem;
  font-weight: 800;
  letter-spacing: -.01em;
  line-height: 1.35;
}
.dsw-article-profile-card__credentials {
  margin: .8rem 0 .42rem;
  color: var(--dsw-brand-800);
  font-size: .72rem;
  font-weight: 750;
  line-height: 1.55;
}
.dsw-article-profile-card__copy {
  margin: 0;
  color: var(--dsw-muted);
  font-size: .76rem;
  line-height: 1.62;
}
.dsw-article-profile-card__link {
  display: inline-flex;
  align-items: center;
  gap: .32rem;
  margin-top: .75rem;
  color: var(--dsw-brand-800);
  font-size: .73rem;
  font-weight: 800;
  text-decoration: none;
}
.dsw-article-profile-card__link svg { width:15px;fill:none;stroke:currentColor;stroke-width:1.7; }
.dsw-article-profile-card__link:hover,
.dsw-article-profile-card__link:focus-visible { text-decoration: underline; }

/* Editorial comparison tables: clearer scanning, stronger hierarchy and
   mobile-safe horizontal scrolling without changing the semantic table HTML. */
.dsw-imported-article-content .dsw-table-wrap {
  position: relative;
  margin: 1.65rem 0 2.4rem;
  border: 1px solid rgba(126,64,95,.13);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 14px 36px rgba(78,39,61,.06);
}
.dsw-imported-article-content .dsw-table-wrap::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  z-index: 1;
  background: linear-gradient(90deg,var(--dsw-brand-700),var(--dsw-brand-300));
}
.dsw-imported-article-content .dsw-table-wrap table { min-width: 650px; }
.dsw-imported-article-content .dsw-table-wrap th {
  padding: .9rem 1rem;
  background: linear-gradient(180deg,#f8eef2,#f4e6ec)!important;
  color: var(--dsw-brand-900);
  font-size: .73rem;
  font-weight: 800;
  letter-spacing: .015em;
  line-height: 1.45;
}
.dsw-imported-article-content .dsw-table-wrap td {
  padding: .92rem 1rem;
  color: #51474c;
  font-size: .8rem;
  line-height: 1.58;
}
.dsw-imported-article-content .dsw-table-wrap tbody tr:nth-child(even) td { background: #fcf9fa; }
.dsw-imported-article-content .dsw-table-wrap tbody td:first-child { color:var(--dsw-brand-900);font-weight:750; }
@media (hover:hover) and (pointer:fine) {
  .dsw-imported-article-content .dsw-table-wrap tbody tr:hover td { background:#faf2f6; }
}

/* Turn plain post-FAQ internal-link lists into useful action cards. */
.dsw-imported-article-content h2#related-reading-and-next-steps,
.dsw-imported-article-content h2#related-services-and-next-steps {
  margin-top: 3.6rem;
  padding-top: 1.65rem;
  border-top: 1px solid var(--dsw-line);
}
.dsw-imported-article-content h2#related-reading-and-next-steps + ul,
.dsw-imported-article-content h2#related-services-and-next-steps + ul {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: .7rem;
  margin: 1.15rem 0 2.5rem;
  padding: 0;
  list-style: none;
}
.dsw-imported-article-content h2#related-reading-and-next-steps + ul li,
.dsw-imported-article-content h2#related-services-and-next-steps + ul li { margin:0; }
.dsw-imported-article-content h2#related-reading-and-next-steps + ul a,
.dsw-imported-article-content h2#related-services-and-next-steps + ul a {
  min-height: 66px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .8rem;
  padding: .9rem 2.4rem .9rem 1rem;
  position: relative;
  border: 1px solid rgba(126,64,95,.14);
  border-radius: 11px;
  background: #fff;
  color: var(--dsw-brand-900);
  font-size: .78rem;
  font-weight: 750;
  line-height: 1.45;
  text-decoration: none;
  box-shadow: 0 8px 22px rgba(78,39,61,.035);
  transition: border-color .2s ease, background-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.dsw-imported-article-content h2#related-reading-and-next-steps + ul a::after,
.dsw-imported-article-content h2#related-services-and-next-steps + ul a::after {
  content: "→";
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--dsw-brand-500);
  font-size: 1rem;
}
@media (hover:hover) and (pointer:fine) {
  .dsw-imported-article-content h2#related-reading-and-next-steps + ul a:hover,
  .dsw-imported-article-content h2#related-services-and-next-steps + ul a:hover {
    transform: translateY(-1px);
    border-color: rgba(126,64,95,.3);
    background: var(--dsw-brand-025);
    box-shadow: 0 12px 28px rgba(78,39,61,.07);
  }
}
.dsw-imported-article-content h2#related-reading-and-next-steps + ul a[href*="/contact/"],
.dsw-imported-article-content h2#related-services-and-next-steps + ul a[href*="/contact/"] {
  border-color: var(--dsw-brand-800);
  background: var(--dsw-brand-900);
  color: #fff;
}
.dsw-imported-article-content h2#related-reading-and-next-steps + ul a[href*="/contact/"]::after,
.dsw-imported-article-content h2#related-services-and-next-steps + ul a[href*="/contact/"]::after { color:#fff; }

/* Sources remain visibly secondary to patient navigation but easier to scan. */
.dsw-imported-article-content h2#sources-and-evidence,
.dsw-imported-article-content h2#references-and-authoritative-sources,
.dsw-imported-article-content h2#medical-sources {
  margin-top: 3rem;
  font-family: var(--dsw-body);
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: 0;
}
.dsw-imported-article-content h2#sources-and-evidence + p { color:var(--dsw-muted);font-size:.8rem; }
.dsw-imported-article-content .dsw-source-list,
.dsw-imported-article-content h2#sources-and-evidence ~ ul:not(.dsw-article-faqs):not([class]),
.dsw-imported-article-content h2#references-and-authoritative-sources + ul {
  margin: 1rem 0 2rem;
  padding: 1rem 1.15rem!important;
  border: 1px solid rgba(126,64,95,.12);
  border-radius: 11px;
  background: #faf7f8;
  list-style-position: inside;
}
.dsw-imported-article-content .dsw-source-list a,
.dsw-imported-article-content h2#references-and-authoritative-sources + ul a {
  color: var(--dsw-brand-800);
  font-size: .77rem;
  font-weight: 700;
}

/* Stronger, softer blog-only end CTA. Travel keeps the existing shared CTA. */
.dsw-article-final-cta {
  padding: clamp(2.8rem,5vw,4.5rem) 0;
  background: linear-gradient(135deg,#3f2133 0%,#5f3049 62%,#70405a 100%);
  color: #fff;
}
.dsw-article-final-cta__inner {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(250px,330px);
  gap: clamp(2rem,5vw,5rem);
  align-items: center;
}
.dsw-article-final-cta .dsw-eyebrow { margin-bottom:.55rem;color:var(--dsw-brand-300); }
.dsw-article-final-cta h2 {
  max-width: 26ch;
  margin: 0;
  color: #fff;
  font-size: clamp(1.65rem,3vw,2.65rem);
  line-height: 1.08;
}
.dsw-article-final-cta__copy > p:not(.dsw-eyebrow) {
  max-width: 66ch;
  margin: .85rem 0 0;
  color: rgba(255,255,255,.82);
  font-size: .86rem;
  line-height: 1.68;
}
.dsw-article-final-cta__facts { display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.1rem; }
.dsw-article-final-cta__facts span {
  padding: .35rem .55rem;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  color: rgba(255,255,255,.82);
  font-size: .66rem;
  font-weight: 700;
}
.dsw-article-final-cta__actions { display:grid;gap:.65rem; }
.dsw-article-final-cta__actions .dsw-btn { width:100%;justify-content:center;background:#fff;color:var(--dsw-brand-900);border-color:#fff; }
.dsw-article-final-cta__actions .dsw-btn--outline { background:transparent;color:#fff;border-color:rgba(255,255,255,.46); }
.dsw-article-final-cta__call { display:flex;align-items:center;justify-content:center;gap:.45rem;min-height:42px;color:#fff;font-size:.76rem;font-weight:750;text-decoration:none; }
.dsw-article-final-cta__call svg { width:17px;fill:none;stroke:currentColor;stroke-width:1.7; }

/* Footer: clearer conversion path + useful navigation without a link farm. */
.dsw-footer {
  padding: clamp(3.8rem,6vw,5.4rem) 0 1.6rem;
  background: linear-gradient(145deg,#21191e 0%,#2c1d25 56%,#321e28 100%);
}
.dsw-footer__grid--premium {
  grid-template-columns: minmax(260px,1.25fr) repeat(3,minmax(150px,.65fr));
  gap: clamp(2rem,4vw,4rem);
  align-items: start;
}
.dsw-footer__lead .dsw-eyebrow { margin-bottom:.5rem;color:var(--dsw-brand-300); }
.dsw-footer__lead h2 { max-width:13ch;margin:0;color:#fff;font-size:clamp(1.75rem,3.2vw,2.65rem);line-height:1.06; }
.dsw-footer__copy { max-width:44ch;margin:.85rem 0 0;color:rgba(255,255,255,.7);font-size:.78rem;line-height:1.65; }
.dsw-footer__actions { display:flex;flex-wrap:wrap;align-items:center;gap:.7rem;margin-top:1.2rem; }
.dsw-footer__actions .dsw-btn { min-height:42px;padding:.7rem 1rem;background:#fff;color:var(--dsw-brand-900);font-size:.72rem; }
.dsw-footer__whatsapp { display:inline-flex!important;align-items:center;gap:.35rem!important;margin:0!important;color:#fff!important;font-size:.72rem!important;font-weight:750;text-decoration:none; }
.dsw-footer__whatsapp svg { width:17px;fill:none;stroke:currentColor;stroke-width:1.6; }
.dsw-footer__group { min-width:0; }
.dsw-footer__label { margin:0 0 .8rem; }
.dsw-footer__links--curated li { margin:0; }
.dsw-footer__links--curated a { margin:0 0 .5rem;font-size:.76rem;line-height:1.45; }
.dsw-footer__clinic { margin:0 0 .95rem!important;padding-bottom:.9rem;border-bottom:1px solid rgba(255,255,255,.1); }
.dsw-footer__clinic strong { display:block;color:#fff;font-size:.74rem;line-height:1.4; }
.dsw-footer__clinic span { margin:.28rem 0 0!important;color:rgba(255,255,255,.62);font-size:.68rem;line-height:1.5; }
.dsw-footer__bottom { margin-top:clamp(2.5rem,4vw,4rem); }
.dsw-footer__identity { min-width:0; }
.dsw-footer__identity .dsw-footer__brand { margin:0 0 .15rem;font-size:1rem; }
.dsw-footer__identity span { margin:0;color:rgba(255,255,255,.58);font-size:.65rem; }
.dsw-footer__legal { display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem 1rem; }
.dsw-footer__legal a,.dsw-footer__legal span { margin:0;font-size:.65rem; }
.dsw-footer__social-row { display:flex;justify-content:flex-end; }
.dsw-footer__socials { margin-top:1rem; }

@media (max-width:1100px) {
  .dsw-footer__grid--premium { grid-template-columns:1.2fr 1fr 1fr; }
  .dsw-footer__clinics { grid-column:2 / -1;display:grid;grid-template-columns:1fr 1fr;gap:0 1rem; }
  .dsw-footer__clinics .dsw-footer__label { grid-column:1 / -1; }
}
@media (max-width:980px) {
  .dsw-article-rail { position:static;max-width:760px;justify-self:start; }
  .dsw-article-profile-card { max-width:760px; }
  .dsw-article-final-cta__inner { grid-template-columns:1fr; }
  .dsw-article-final-cta__actions { max-width:360px; }
}
@media (max-width:760px) {
  .dsw-imported-article-content h2#related-reading-and-next-steps + ul,
  .dsw-imported-article-content h2#related-services-and-next-steps + ul { grid-template-columns:1fr; }
  .dsw-footer__grid--premium { grid-template-columns:1fr 1fr;gap:2rem 1.5rem; }
  .dsw-footer__lead { grid-column:1 / -1; }
  .dsw-footer__clinics { grid-column:1 / -1; }
  .dsw-footer__bottom { align-items:flex-start;flex-direction:column; }
  .dsw-footer__legal { justify-content:flex-start; }
  .dsw-footer__social-row { justify-content:flex-start; }
}
@media (max-width:520px) {
  .dsw-footer__grid--premium { grid-template-columns:1fr; }
  .dsw-footer__lead,.dsw-footer__clinics { grid-column:auto; }
  .dsw-footer__clinics { display:block; }
  .dsw-article-profile-card__head { grid-template-columns:52px minmax(0,1fr); }
  .dsw-article-profile-card__photo { width:52px;height:52px; }
  .dsw-article-final-cta__actions { max-width:none; }
}


/* ========================================================================
   0.8.15 — approved blog top-of-article + Quick Summary + footer polish
   Matches the final UX direction without rewriting article bodies or changing
   the sticky booking rail, schema, URLs, service/travel templates or SEO data.
   ======================================================================== */

/* Article metadata now sits directly beneath the title: reviewer, publication
   date and estimated reading time, with the editorial-team credit retained. */
.single-post .dsw-article-hero--locked {
  padding-bottom: clamp(2.5rem,4vw,3.6rem);
}
.single-post .dsw-article-hero--locked h1 { margin-bottom:1.15rem; }
.dsw-article-meta-strip {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.72rem 1.15rem;
  margin:0 0 1.1rem;
  color:#665b60;
  font-size:.72rem;
  line-height:1.35;
}
.dsw-article-meta-strip__reviewer {
  display:inline-grid;
  grid-template-columns:38px minmax(0,auto);
  align-items:center;
  gap:.55rem;
  color:inherit;
  text-decoration:none;
}
.dsw-article-meta-strip__reviewer img {
  width:38px;
  height:38px;
  object-fit:cover;
  object-position:center;
  border:1px solid rgba(126,64,95,.16);
  border-radius:50%;
  box-shadow:0 5px 14px rgba(78,39,61,.08);
}
.dsw-article-meta-strip__reviewer small,
.dsw-article-meta-strip__reviewer strong { display:block; }
.dsw-article-meta-strip__reviewer small { color:var(--dsw-muted);font-size:.61rem;font-weight:650; }
.dsw-article-meta-strip__reviewer strong { margin-top:.08rem;color:var(--dsw-brand-900);font-size:.72rem;font-weight:800; }
.dsw-article-meta-strip__item {
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  min-height:38px;
  padding-left:1rem;
  border-left:1px solid rgba(126,64,95,.13);
  color:#665b60;
  font-weight:650;
}
.dsw-article-meta-strip__item svg {
  width:16px;
  height:16px;
  fill:none;
  stroke:var(--dsw-brand-600,var(--dsw-brand-700));
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.dsw-article-editorial-credit {
  margin:.8rem 0 0;
  color:#85797e;
  font-size:.66rem;
  font-weight:600;
  line-height:1.5;
}
.single-post .dsw-article-hero__dek { margin-top:0; }

/* The former separate full-width reviewer band is intentionally no longer
   rendered on blog posts; review status is now concise in the hero and again
   in the sticky profile card, avoiding duplicated visual weight. */
.single-post .dsw-article-body { padding-top:clamp(2.1rem,3.2vw,3.2rem); }

/* Quick Summary: light editorial card, icon-like fact cells and compact CTAs.
   Content remains exactly the locked article copy; only render-time actions
   and presentation change. */
.single-post .dsw-quick-answer {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(170px,190px);
  grid-template-areas:
    "summary-label summary-actions"
    "summary-copy summary-actions"
    "summary-facts summary-actions";
  column-gap:1.35rem;
  row-gap:.65rem;
  margin:0 0 1.9rem;
  padding:1.15rem 1.2rem;
  overflow:visible;
  border:1px solid rgba(126,64,95,.17);
  border-left-width:1px;
  border-radius:12px;
  background:#fff;
  box-shadow:0 10px 30px rgba(78,39,61,.055);
}
.single-post .dsw-quick-answer .dsw-eyebrow {
  grid-area:summary-label;
  display:flex;
  align-items:center;
  gap:.48rem;
  margin:0;
  color:var(--dsw-brand-900)!important;
  -webkit-text-fill-color:var(--dsw-brand-900)!important;
  font-size:.75rem!important;
  font-weight:800;
  line-height:1.35;
}
.single-post .dsw-quick-answer .dsw-eyebrow::before {
  content:"✓";
  width:25px;
  height:25px;
  display:inline-grid;
  place-items:center;
  flex:0 0 25px;
  border:1px solid rgba(182,111,145,.22);
  border-radius:7px;
  background:var(--dsw-brand-075);
  color:var(--dsw-brand-700);
  font-size:.72rem;
  line-height:1;
}
.single-post .dsw-quick-answer h2,
.single-post .dsw-quick-answer > p:not(.dsw-eyebrow) {
  grid-area:summary-copy;
  display:block;
  margin:0;
  color:#51474c!important;
  -webkit-text-fill-color:#51474c!important;
  font-family:var(--dsw-body)!important;
  font-size:.82rem!important;
  font-weight:600!important;
  line-height:1.62!important;
}
.single-post .dsw-quick-facts {
  grid-area:summary-facts;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.5rem;
  margin:.15rem 0 0;
}
.single-post .dsw-quick-facts span {
  position:relative;
  min-height:50px;
  display:flex;
  align-items:center;
  padding:.55rem .55rem .55rem 2rem;
  border:0;
  border-right:1px solid rgba(126,64,95,.11);
  border-radius:0;
  background:transparent;
  color:#62565c;
  font-size:.64rem;
  font-weight:700;
  line-height:1.35;
}
.single-post .dsw-quick-facts span:last-child { border-right:0; }
.single-post .dsw-quick-facts span::before {
  content:"✓";
  position:absolute;
  left:.15rem;
  top:50%;
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  transform:translateY(-50%);
  border-radius:50%;
  background:var(--dsw-brand-075);
  color:var(--dsw-brand-700);
  font-size:.67rem;
}
.dsw-quick-summary-actions {
  grid-area:summary-actions;
  display:grid;
  align-content:center;
  gap:.55rem;
  padding-left:.25rem;
}
.dsw-quick-summary-actions .dsw-btn {
  width:100%;
  min-height:39px;
  padding:.62rem .72rem;
  font-size:.68rem;
}
.dsw-quick-summary-whatsapp {
  min-height:39px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.4rem;
  padding:.6rem .7rem;
  border:1px solid rgba(47,105,86,.42);
  border-radius:var(--dsw-radius-xs);
  background:#fff;
  color:var(--dsw-success);
  font-size:.68rem;
  font-weight:800;
  text-decoration:none;
  transition:background-color .2s ease,border-color .2s ease,transform .2s ease;
}
.dsw-quick-summary-whatsapp svg { width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.65; }
@media (hover:hover) and (pointer:fine) {
  .dsw-quick-summary-whatsapp:hover { transform:translateY(-1px);background:#f8fcfa;border-color:rgba(47,105,86,.62); }
}

/* Footer: stronger visual hierarchy and the exact patient-navigation roles
   approved in the final mockup, while retaining verified live URLs/contact. */
.dsw-footer.dsw-footer--final {
  padding:clamp(3.6rem,5.5vw,5rem) 0 1.35rem;
  background:linear-gradient(145deg,#21171e 0%,#2c1c25 54%,#241820 100%);
}
.dsw-footer__grid--final {
  display:grid;
  grid-template-columns:minmax(250px,1.18fr) repeat(4,minmax(125px,.62fr));
  gap:clamp(1.7rem,3vw,3.2rem);
  align-items:start;
}
.dsw-footer__lead-mark {
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  margin:0 0 .8rem;
  border:1px solid rgba(217,169,189,.28);
  border-radius:50%;
  color:var(--dsw-brand-300);
}
.dsw-footer__lead-mark svg { width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.65; }
.dsw-footer__lead .dsw-eyebrow { margin-bottom:.48rem;color:var(--dsw-brand-300);font-size:.61rem; }
.dsw-footer__lead h2 {
  max-width:15ch;
  margin:0;
  color:#fff;
  font-size:clamp(1.45rem,2.4vw,2.15rem);
  line-height:1.08;
}
.dsw-footer__copy { max-width:38ch;margin:.75rem 0 0;color:rgba(255,255,255,.68);font-size:.73rem;line-height:1.62; }
.dsw-footer__actions { gap:.65rem;margin-top:1.05rem; }
.dsw-footer__actions .dsw-btn { min-height:40px;padding:.63rem .9rem;background:transparent;border-color:rgba(255,255,255,.7);color:#fff;font-size:.68rem; }
.dsw-footer__actions .dsw-btn:hover { background:#fff;border-color:#fff;color:var(--dsw-brand-900); }
.dsw-footer__whatsapp { min-height:40px; }
.dsw-footer__label { margin:0 0 .85rem;color:#fff;font-size:.68rem;letter-spacing:.03em;text-transform:none; }
.dsw-footer__links--curated a {
  display:inline-flex;
  margin:0 0 .55rem;
  color:rgba(255,255,255,.68);
  font-size:.7rem;
  line-height:1.45;
}
.dsw-footer__help { display:grid;align-content:start;gap:.6rem; }
.dsw-footer__help .dsw-footer__label { margin-bottom:.25rem; }
.dsw-footer__contact-link {
  display:grid!important;
  grid-template-columns:18px minmax(0,1fr);
  align-items:start;
  gap:.45rem;
  margin:0!important;
  color:rgba(255,255,255,.72)!important;
  font-size:.68rem!important;
  line-height:1.45;
  text-decoration:none;
  overflow-wrap:anywhere;
}
.dsw-footer__contact-link svg { width:16px;height:16px;margin-top:.1rem;fill:none;stroke:var(--dsw-brand-300);stroke-width:1.6; }
.dsw-footer__contact-link span { margin:0!important;color:inherit!important;font-size:inherit!important; }
.dsw-footer__bottom--final {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:end;
  gap:1.5rem;
  margin-top:clamp(2.4rem,4vw,3.6rem);
  padding-top:1.15rem;
}
.dsw-footer__bottom--final .dsw-footer__identity { display:block; }
.dsw-footer__bottom--final .dsw-footer__identity .dsw-footer__brand { font-size:.9rem; }
.dsw-footer__socials--final { justify-content:center;margin:0; }
.dsw-footer__socials--final .dsw-footer__social {
  width:34px;
  height:34px;
  min-height:34px;
  padding:0;
  border-radius:50%;
  font-size:.56rem;
  font-weight:800;
  letter-spacing:0;
}
.dsw-footer__socials--final .dsw-footer__social span { margin:0;color:inherit;font-size:inherit; }
.dsw-footer__bottom--final .dsw-footer__legal { justify-content:flex-end; }
.dsw-footer__bottom--final .dsw-footer__legal span { margin:0;color:rgba(255,255,255,.5);font-size:.61rem; }

@media (max-width:1120px) {
  .dsw-footer__grid--final { grid-template-columns:minmax(250px,1.15fr) repeat(2,minmax(145px,1fr)); }
  .dsw-footer__lead { grid-row:span 2; }
}
@media (max-width:820px) {
  .single-post .dsw-quick-answer {
    grid-template-columns:1fr;
    grid-template-areas:"summary-label" "summary-copy" "summary-facts" "summary-actions";
  }
  .dsw-quick-summary-actions { grid-template-columns:1fr 1fr;padding-left:0;margin-top:.15rem; }
  .dsw-footer__grid--final { grid-template-columns:1fr 1fr; }
  .dsw-footer__lead { grid-column:1 / -1;grid-row:auto; }
  .dsw-footer__help { grid-column:1 / -1; }
  .dsw-footer__bottom--final { grid-template-columns:1fr;align-items:start; }
  .dsw-footer__socials--final { justify-content:flex-start; }
  .dsw-footer__bottom--final .dsw-footer__legal { justify-content:flex-start; }
}
@media (max-width:600px) {
  .dsw-article-meta-strip { gap:.7rem .85rem; }
  .dsw-article-meta-strip__reviewer { flex-basis:100%; }
  .dsw-article-meta-strip__item { min-height:30px;padding-left:0;padding-right:.8rem;border-left:0;border-right:1px solid rgba(126,64,95,.13); }
  .dsw-article-meta-strip__item:last-child { border-right:0; }
  .single-post .dsw-quick-facts { grid-template-columns:1fr; }
  .single-post .dsw-quick-facts span { min-height:42px;border-right:0;border-bottom:1px solid rgba(126,64,95,.09); }
  .single-post .dsw-quick-facts span:last-child { border-bottom:0; }
  .dsw-quick-summary-actions { grid-template-columns:1fr; }
  .dsw-footer__grid--final { grid-template-columns:1fr;gap:1.8rem; }
  .dsw-footer__lead,.dsw-footer__help { grid-column:auto; }
}


/* ========================================================================
   0.8.16 — early-blog CTA cleanup + Quick Summary contrast correction
   ======================================================================== */
/* The obsolete two-cell "Book a Consultation / Message on WhatsApp" table is
   removed in PHP for only the ten early articles. These rules strengthen the
   approved Quick Summary card without changing its structure or copy. */
.single-post .dsw-imported-article-content .dsw-quick-answer .dsw-eyebrow {
  color:#4e273d!important;
  -webkit-text-fill-color:#4e273d!important;
}
.single-post .dsw-imported-article-content .dsw-quick-answer h2,
.single-post .dsw-imported-article-content .dsw-quick-answer > p:not(.dsw-eyebrow) {
  color:#342a2f!important;
  -webkit-text-fill-color:#342a2f!important;
}
.single-post .dsw-imported-article-content .dsw-quick-facts span {
  color:#3f3339!important;
  -webkit-text-fill-color:#3f3339!important;
  font-size:.68rem;
  font-weight:750;
}
.single-post .dsw-imported-article-content .dsw-quick-summary-actions a.dsw-btn {
  background:var(--dsw-brand-800)!important;
  border-color:var(--dsw-brand-800)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-decoration:none!important;
}
.single-post .dsw-imported-article-content .dsw-quick-summary-actions a.dsw-btn:hover,
.single-post .dsw-imported-article-content .dsw-quick-summary-actions a.dsw-btn:focus-visible {
  background:var(--dsw-brand-900)!important;
  border-color:var(--dsw-brand-900)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
.single-post .dsw-imported-article-content a.dsw-quick-summary-whatsapp {
  color:#245c49!important;
  -webkit-text-fill-color:#245c49!important;
  text-decoration:none!important;
}
\n\n/* ========================================================================\n   0.8.17 — unified service trust stack\n   Brings service-page Quick Summary + medical review presentation into the\n   same approved editorial system as the blog while retaining service content,\n   URLs, schema, navigation, hero CTAs and the global 0.8.15 footer.\n   ======================================================================== */\n.dsw-service-trust-stack {\n  display:grid;\n  gap:.82rem;\n  margin:0 0 2.35rem;\n}\n.dsw-service-trust-stack .dsw-service-quick-summary {\n  display:grid;\n  grid-template-columns:minmax(0,1fr) minmax(170px,190px);\n  grid-template-areas:\n    "service-summary-label service-summary-actions"\n    "service-summary-copy service-summary-actions"\n    "service-summary-facts service-summary-actions";\n  column-gap:1.35rem;\n  row-gap:.65rem;\n  margin:0;\n  padding:1.15rem 1.2rem;\n  overflow:visible;\n  border:1px solid rgba(126,64,95,.17);\n  border-left-width:1px;\n  border-radius:12px;\n  background:#fff;\n  box-shadow:0 10px 30px rgba(78,39,61,.055);\n}\n.dsw-service-trust-stack .dsw-service-quick-summary .dsw-eyebrow {\n  grid-area:service-summary-label;\n  display:flex;\n  align-items:center;\n  gap:.48rem;\n  margin:0;\n  color:#4e273d!important;\n  -webkit-text-fill-color:#4e273d!important;\n  font-size:.75rem!important;\n  font-weight:800;\n  letter-spacing:0!important;\n  line-height:1.35;\n  text-transform:none!important;\n}\n.dsw-service-trust-stack .dsw-service-quick-summary .dsw-eyebrow::before {\n  content:"✓";\n  width:25px;\n  height:25px;\n  display:inline-grid;\n  place-items:center;\n  flex:0 0 25px;\n  border:1px solid rgba(182,111,145,.22);\n  border-radius:7px;\n  background:var(--dsw-brand-075);\n  color:var(--dsw-brand-700);\n  font-size:.72rem;\n  line-height:1;\n}\n.dsw-service-trust-stack .dsw-service-quick-summary__copy {\n  grid-area:service-summary-copy;\n  display:block;\n  margin:0!important;\n  color:#342a2f!important;\n  -webkit-text-fill-color:#342a2f!important;\n  font-family:var(--dsw-body)!important;\n  font-size:.82rem!important;\n  font-weight:600!important;\n  line-height:1.62!important;\n}\n.dsw-service-trust-stack .dsw-service-quick-summary__facts {\n  grid-area:service-summary-facts;\n  display:grid;\n  grid-template-columns:repeat(3,minmax(0,1fr));\n  gap:.5rem;\n  margin:.15rem 0 0;\n}\n.dsw-service-trust-stack .dsw-service-quick-summary__facts span {\n  position:relative;\n  min-height:50px;\n  display:flex;\n  align-items:center;\n  padding:.55rem .55rem .55rem 2rem;\n  border:0;\n  border-right:1px solid rgba(126,64,95,.11);\n  border-radius:0;\n  background:transparent;\n  color:#3f3339!important;\n  -webkit-text-fill-color:#3f3339!important;\n  font-size:.68rem;\n  font-weight:750;\n  line-height:1.35;\n}\n.dsw-service-trust-stack .dsw-service-quick-summary__facts span:last-child { border-right:0; }\n.dsw-service-trust-stack .dsw-service-quick-summary__facts span::before {\n  content:"✓";\n  position:absolute;\n  left:.15rem;\n  top:50%;\n  width:24px;\n  height:24px;\n  display:grid;\n  place-items:center;\n  transform:translateY(-50%);\n  border-radius:50%;\n  background:var(--dsw-brand-075);\n  color:var(--dsw-brand-700);\n  font-size:.67rem;\n}\n.dsw-service-trust-stack .dsw-quick-summary-actions {\n  grid-area:service-summary-actions;\n  display:grid;\n  align-content:center;\n  gap:.55rem;\n  padding-left:.25rem;\n}\n.dsw-service-trust-stack .dsw-quick-summary-actions .dsw-btn {\n  width:100%;\n  min-height:39px;\n  padding:.62rem .72rem;\n  background:var(--dsw-brand-800)!important;\n  border-color:var(--dsw-brand-800)!important;\n  color:#fff!important;\n  -webkit-text-fill-color:#fff!important;\n  font-size:.68rem;\n  text-decoration:none!important;\n}\n.dsw-service-trust-stack .dsw-quick-summary-actions .dsw-btn:hover,\n.dsw-service-trust-stack .dsw-quick-summary-actions .dsw-btn:focus-visible {\n  background:var(--dsw-brand-900)!important;\n  border-color:var(--dsw-brand-900)!important;\n  color:#fff!important;\n  -webkit-text-fill-color:#fff!important;\n}\n.dsw-service-trust-stack a.dsw-quick-summary-whatsapp {\n  color:#245c49!important;\n  -webkit-text-fill-color:#245c49!important;\n  text-decoration:none!important;\n}\n.dsw-service-trust-stack > .dsw-medical-review-card {\n  width:100%;\n  grid-template-columns:56px minmax(0,1fr);\n  gap:.85rem;\n  margin:0;\n  padding:.82rem 1rem;\n  border:1px solid rgba(126,64,95,.16);\n  border-left-width:1px;\n  border-radius:12px;\n  background:#fff;\n  box-shadow:0 9px 24px rgba(78,39,61,.045);\n}\n.dsw-service-trust-stack > .dsw-medical-review-card .dsw-medical-review-card__photo {\n  width:56px;\n  height:56px;\n}\n.dsw-service-trust-stack > .dsw-medical-review-card .dsw-medical-review-card__title {\n  color:#342a2f;\n  font-size:.82rem;\n}\n.dsw-service-trust-stack > .dsw-medical-review-card .dsw-medical-review-card__credentials {\n  margin-top:.14rem;\n  color:#5f5359;\n  font-size:.72rem;\n}\n.dsw-service-trust-stack > .dsw-medical-review-card .dsw-medical-review-card__meta {\n  margin-top:.18rem;\n  color:#75686e;\n  font-size:.66rem;\n}\n\n/* Carry the approved premium table language into service-page tables too. */\n.dsw-service-content .dsw-table-wrap {\n  width:100%;\n  max-width:100%;\n  overflow-x:auto;\n  margin:1.4rem 0 2.2rem;\n  border:1px solid rgba(126,64,95,.15);\n  border-radius:12px;\n  background:#fff;\n  box-shadow:0 8px 24px rgba(78,39,61,.04);\n}\n.dsw-service-content .dsw-table-wrap table { width:100%;min-width:650px;margin:0;border:0;border-collapse:collapse; }\n.dsw-service-content .dsw-table-wrap th,\n.dsw-service-content .dsw-table-wrap td { padding:.86rem .95rem;border:0!important;border-bottom:1px solid #eadfe4!important;text-align:left;vertical-align:top; }\n.dsw-service-content .dsw-table-wrap th { background:#f7edf1!important;color:var(--dsw-brand-900);font-size:.76rem;font-weight:800; }\n.dsw-service-content .dsw-table-wrap td { color:#51474c;font-size:.79rem;line-height:1.6; }\n.dsw-service-content .dsw-table-wrap tbody tr:nth-child(even) td { background:#fcf9fa; }\n.dsw-service-content .dsw-table-wrap tbody td:first-child { color:var(--dsw-brand-900);font-weight:750; }\n.dsw-service-content .dsw-table-wrap tr:last-child td { border-bottom:0!important; }\n\n@media (max-width:820px) {\n  .dsw-service-trust-stack .dsw-service-quick-summary {\n    grid-template-columns:1fr;\n    grid-template-areas:\n      "service-summary-label"\n      "service-summary-copy"\n      "service-summary-facts"\n      "service-summary-actions";\n  }\n  .dsw-service-trust-stack .dsw-quick-summary-actions { grid-template-columns:1fr 1fr;padding-left:0;margin-top:.15rem; }\n}\n@media (max-width:600px) {\n  .dsw-service-trust-stack .dsw-service-quick-summary__facts { grid-template-columns:1fr; }\n  .dsw-service-trust-stack .dsw-service-quick-summary__facts span { min-height:42px;border-right:0;border-bottom:1px solid rgba(126,64,95,.09); }\n  .dsw-service-trust-stack .dsw-service-quick-summary__facts span:last-child { border-bottom:0; }\n  .dsw-service-trust-stack .dsw-quick-summary-actions { grid-template-columns:1fr; }\n  .dsw-service-trust-stack > .dsw-medical-review-card { grid-template-columns:50px minmax(0,1fr);padding:.78rem .85rem; }\n  .dsw-service-trust-stack > .dsw-medical-review-card .dsw-medical-review-card__photo { width:50px;height:50px; }\n}\n
/* ========================================================================
   0.8.18 — FINAL FLAGSHIP HOMEPAGE POLISH
   Approved direction: richer hero, full linked Services directory retained,
   four transformation comparisons, tighter editorial sections, and explicit
   tablet/mobile composition. Homepage only; service/blog/schema systems stay
   untouched.
   ======================================================================== */
.dsw-front-page {
  --dsw-home-shell: min(calc(100vw - 48px), 1380px);
  --dsw-home-ink: #351c2a;
  --dsw-home-muted: #75676d;
  --dsw-home-card: #fff;
  --dsw-home-blush: #fbf4f7;
  --dsw-home-line: rgba(93, 43, 67, .13);
  --dsw-home-shadow-premium: 0 28px 80px rgba(60, 28, 44, .09);
  --dsw-home-shadow-card: 0 12px 36px rgba(60, 28, 44, .07);
}
.dsw-front-page .dsw-section { padding: clamp(4.6rem, 6.3vw, 6.7rem) 0; }
.dsw-front-page .dsw-section-heading { margin-bottom: clamp(2rem, 3.6vw, 3.4rem); }
.dsw-front-page .dsw-section-heading h2,
.dsw-front-page .dsw-meet__copy h2,
.dsw-front-page .dsw-travel h2,
.dsw-front-page .dsw-faqs__intro h2,
.dsw-front-page .dsw-contact-band h2 {
  text-wrap: balance;
}

/* Hero: copy + real Dr Saima portrait + philosophy card. */
.dsw-front-page .dsw-hero {
  position: relative;
  padding: clamp(3rem, 5vw, 5.25rem) 0 clamp(5.4rem, 7vw, 6.8rem);
  background:
    radial-gradient(circle at 63% 12%, rgba(255,255,255,.98) 0 15%, rgba(255,255,255,0) 39%),
    radial-gradient(circle at 96% 10%, rgba(211,165,183,.28), transparent 28%),
    linear-gradient(115deg, #fff 0%, #fdf7f9 48%, #f5e6ec 100%);
}
.dsw-front-page .dsw-hero::before {
  width: 440px;
  height: 440px;
  min-width: 0;
  min-height: 0;
  right: -130px;
  bottom: -210px;
  border-color: rgba(126,64,95,.09);
}
.dsw-front-page .dsw-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(126,64,95,.16), transparent);
}
.dsw-front-page .dsw-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(330px, .72fr) minmax(230px, .44fr);
  gap: clamp(1.5rem, 3vw, 3.4rem);
  align-items: center;
}
.dsw-front-page .dsw-hero__copy {
  position: relative;
  z-index: 2;
  max-width: 670px;
}
.dsw-front-page .dsw-hero h1 {
  max-width: 12ch;
  margin-bottom: 1.25rem;
  color: var(--dsw-home-ink);
  font-size: clamp(3.55rem, 5.45vw, 5.85rem);
  line-height: .94;
  letter-spacing: -.045em;
}
.dsw-front-page .dsw-hero .dsw-lede {
  max-width: 58ch;
  color: #66575e;
  font-size: 1rem;
  line-height: 1.72;
}
.dsw-front-page .dsw-hero .dsw-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .68rem;
  margin-top: 1.55rem;
}
.dsw-front-page .dsw-hero .dsw-btn {
  min-height: 48px;
  padding-inline: 1.15rem;
  border-radius: 5px;
}
.dsw-front-page .dsw-hero .dsw-btn--outline {
  background: rgba(255,255,255,.64);
  backdrop-filter: blur(8px);
}
.dsw-front-page .dsw-hero .dsw-text-link {
  margin-left: .15rem;
  font-size: .75rem;
}
.dsw-front-page .dsw-hero__credential {
  max-width: 530px;
  margin-top: 1.7rem;
  padding-top: 1rem;
  border-top-color: rgba(126,64,95,.12);
  color: #776b70;
}
.dsw-front-page .dsw-hero__portrait {
  width: min(100%, 460px);
  min-height: 0;
  justify-self: center;
}
.dsw-front-page .dsw-hero__portrait-frame {
  aspect-ratio: 4 / 5;
  min-height: 0;
  overflow: hidden;
  border: 1px solid rgba(126,64,95,.1);
  border-radius: 180px 180px 20px 20px;
  background: #f1e8ec;
  box-shadow: 0 34px 88px rgba(65,31,48,.15);
}
.dsw-front-page .dsw-hero__portrait-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, transparent 60%, rgba(57,27,42,.09));
}
.dsw-front-page .dsw-hero__portrait-image {
  object-position: 50% 20%;
  transform: scale(1.015);
}
.dsw-front-page .dsw-hero__note {
  left: auto;
  right: -1rem;
  bottom: .9rem;
  min-width: 168px;
  border-left-width: 1px;
  border-radius: 8px;
  text-align: left;
}
.dsw-front-page .dsw-hero__philosophy {
  position: relative;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: clamp(1.5rem, 2.4vw, 2.2rem);
  overflow: hidden;
  border-left: 1px solid rgba(126,64,95,.14);
  color: #615159;
}
.dsw-front-page .dsw-hero__philosophy::after {
  content: "";
  position: absolute;
  right: -60px;
  bottom: -80px;
  width: 180px;
  height: 180px;
  border: 1px solid rgba(126,64,95,.1);
  border-radius: 50%;
}
.dsw-front-page .dsw-hero__quote-mark {
  position: absolute;
  top: 1rem;
  left: 1.2rem;
  color: rgba(126,64,95,.15);
  font-family: var(--dsw-display);
  font-size: 5rem;
  line-height: 1;
}
.dsw-front-page .dsw-hero__philosophy .dsw-eyebrow { position: relative; z-index: 1; margin-bottom: .7rem; }
.dsw-front-page .dsw-hero__philosophy h2 {
  position: relative;
  z-index: 1;
  margin: 0 0 1rem;
  color: var(--dsw-home-ink);
  font-family: var(--dsw-display);
  font-size: clamp(1.55rem, 2vw, 2.15rem);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -.02em;
}
.dsw-front-page .dsw-hero__philosophy > p:not(.dsw-eyebrow) {
  position: relative;
  z-index: 1;
  margin: 0 0 1.2rem;
  font-size: .8rem;
  line-height: 1.65;
}
.dsw-front-page .dsw-hero__philosophy .dsw-text-link { position: relative; z-index: 1; align-self: flex-start; }

/* Trust: airy white reassurance cards overlapping the hero, not a dark band. */
.dsw-front-page .dsw-trust {
  z-index: 4;
  margin-top: -2.75rem;
  background: transparent;
}
.dsw-front-page .dsw-trust__grid {
  overflow: hidden;
  border: 1px solid var(--dsw-home-line);
  border-radius: 16px;
  background: rgba(255,255,255,.96);
  box-shadow: var(--dsw-home-shadow-card);
}
.dsw-front-page .dsw-trust__grid > div,
.dsw-front-page .dsw-trust__grid > div:first-child {
  min-height: 104px;
  padding: 1rem 1.1rem;
  border-right: 1px solid var(--dsw-home-line);
  color: var(--dsw-home-ink);
}
.dsw-front-page .dsw-trust__grid > div:last-child { border-right: 0; }
.dsw-front-page .dsw-trust__grid > div > span { color: var(--dsw-brand-600); }
.dsw-front-page .dsw-trust strong { color: var(--dsw-home-ink); font-size: .8rem; }
.dsw-front-page .dsw-trust p { color: #77696f; font-size: .7rem; }

/* Full service directory remains a core homepage feature. */
.dsw-front-page .dsw-procedures {
  padding-top: clamp(5rem, 7vw, 7rem);
  background: linear-gradient(180deg, #fff, #fdf9fa);
}
.dsw-front-page .dsw-procedures .dsw-section-heading h2 { max-width: 17ch; }
.dsw-front-page .dsw-finder--complete {
  grid-template-columns: minmax(230px, .55fr) minmax(0, 1.55fr);
  border-radius: 24px;
  background: #fff;
  box-shadow: var(--dsw-home-shadow-premium);
}
.dsw-front-page .dsw-finder--complete .dsw-finder__tabs {
  padding: .75rem;
  background: linear-gradient(180deg, #fcf5f8, #fbf7f9);
}
.dsw-front-page .dsw-finder--complete .dsw-finder__tabs button {
  min-height: 66px;
  padding: .65rem .72rem;
  border: 1px solid transparent;
  border-radius: 13px;
}
.dsw-front-page .dsw-finder--complete .dsw-finder__tabs button[aria-selected="true"] {
  border-color: rgba(126,64,95,.1);
  background: #fff;
  box-shadow: 0 8px 24px rgba(72,34,52,.06);
}
.dsw-front-page .dsw-finder__tab-label strong { font-size: .8rem; }
.dsw-front-page .dsw-finder__panel-head { padding-bottom: .85rem; }
.dsw-front-page .dsw-finder__panel-head .dsw-finder__panel-label {
  color: var(--dsw-brand-700);
  font-size: .76rem;
  letter-spacing: .14em;
}
.dsw-front-page .dsw-finder__panel ul.is-dense { grid-template-columns: repeat(3,minmax(0,1fr)); }
.dsw-front-page .dsw-finder__panel a {
  min-height: 58px;
  font-size: .8rem;
}
.dsw-front-page .dsw-finder__panel li { border-top-color: rgba(126,64,95,.14); }

/* Transformations: four equal premium comparison cards on wide screens. */
.dsw-front-page .dsw-transformations {
  background: linear-gradient(180deg, #fdf7f9 0%, #f8edf2 100%);
}
.dsw-front-page .dsw-transformations .dsw-section-heading h2 { max-width: 10ch; }
.dsw-front-page .dsw-comparison-grid {
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: .9rem;
  align-items: stretch;
}
.dsw-front-page .dsw-comparison-grid .dsw-compare { min-width: 0; }
.dsw-front-page .dsw-comparison-grid .dsw-compare__viewport,
.dsw-front-page .dsw-comparison-grid .dsw-compare:first-child .dsw-compare__viewport {
  aspect-ratio: 1 / 1.08;
  border: 1px solid rgba(126,64,95,.11);
  border-radius: 14px 14px 8px 8px;
  box-shadow: var(--dsw-home-shadow-card);
}
.dsw-front-page .dsw-compare__handle i { width: 36px; height: 36px; }
.dsw-front-page .dsw-compare figcaption {
  min-height: 76px;
  margin-top: -1px;
  padding: .85rem .8rem 1rem;
  border: 1px solid rgba(126,64,95,.1);
  border-top: 0;
  border-radius: 0 0 10px 10px;
  background: #fff;
}
.dsw-front-page .dsw-compare figcaption strong { font-size: 1rem; }
.dsw-front-page .dsw-compare figcaption span { font-size: .68rem; }
.dsw-front-page .dsw-transformations__footer { margin-top: 1.4rem; }

/* Doctor section: stronger image presence + compact trust signals. */
.dsw-front-page .dsw-meet {
  background: #fff;
}
.dsw-front-page .dsw-meet__grid {
  grid-template-columns: minmax(330px, .84fr) minmax(0, 1fr);
  gap: clamp(2.5rem, 6vw, 6rem);
}
.dsw-front-page .dsw-meet__portrait-frame {
  aspect-ratio: 1 / 1.03;
  border-radius: 24px 24px 110px 24px;
  box-shadow: var(--dsw-home-shadow-premium);
}
.dsw-front-page .dsw-meet__copy h2 { max-width: 12ch; }
.dsw-front-page .dsw-meet__signals {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin: 1.35rem 0 .25rem;
}
.dsw-front-page .dsw-meet__signals span {
  padding: .48rem .7rem;
  border: 1px solid rgba(126,64,95,.13);
  border-radius: 999px;
  background: #fcf7f9;
  color: #5e4d55;
  font-size: .68rem;
  font-weight: 650;
}

/* Featured guides: visual magazine cards, with no dead bento cells. */
.dsw-front-page .dsw-featured {
  background: linear-gradient(180deg, #fff, #fbf6f8);
}
.dsw-front-page .dsw-featured .dsw-section-heading h2 { max-width: 14ch; }
.dsw-front-page .dsw-featured-grid {
  grid-template-columns: repeat(4, minmax(0,1fr));
  grid-template-rows: auto;
  gap: .9rem;
}
.dsw-front-page .dsw-featured-grid > .dsw-feature-card:nth-child(n) {
  grid-column: auto;
  grid-row: auto;
  min-height: 370px;
}
.dsw-front-page .dsw-feature-card--large { min-height: 370px; }
.dsw-front-page .dsw-feature-card {
  justify-content: flex-end;
  padding: 1.35rem;
  border-radius: 14px;
  box-shadow: var(--dsw-home-shadow-card);
}
.dsw-front-page .dsw-feature-card__media { height: 56%; }
.dsw-front-page .dsw-feature-card h3 { max-width: 15ch; font-size: clamp(1.45rem, 1.8vw, 1.9rem); }
.dsw-front-page .dsw-feature-card p { font-size: .76rem; line-height: 1.55; }

/* Decision support remains, but uses its image to solve the visual-density gap. */
.dsw-front-page .dsw-decisions {
  background: linear-gradient(135deg, #3e1e2f 0%, #572942 54%, #6c3551 100%);
}
.dsw-front-page .dsw-decisions .dsw-shell { gap: clamp(2rem, 4vw, 4rem); }
.dsw-front-page .dsw-decision-visual { min-height: 390px; border-radius: 18px; }
.dsw-front-page .dsw-decision-grid article,
.dsw-front-page .dsw-decision-grid article + article { padding-block: 1.2rem; }
.dsw-front-page .dsw-decision-grid h3 { font-size: clamp(1.65rem,2.3vw,2.35rem); }

/* Journey: compact horizontal roadmap on desktop. */
.dsw-front-page .dsw-journey { background: #fff; }
.dsw-front-page .dsw-timeline {
  display: grid;
  grid-template-columns: repeat(5, minmax(0,1fr));
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--dsw-home-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: var(--dsw-home-shadow-card);
}
.dsw-front-page .dsw-timeline li,
.dsw-front-page .dsw-timeline li + li {
  display: block;
  min-height: 188px;
  padding: 1.25rem 1.15rem;
  border: 0;
  border-right: 1px solid var(--dsw-home-line);
}
.dsw-front-page .dsw-timeline li:last-child { border-right: 0; }
.dsw-front-page .dsw-timeline li > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 35px;
  height: 35px;
  margin-bottom: 1.1rem;
  border: 1px solid rgba(126,64,95,.18);
  border-radius: 50%;
  background: #fbf4f7;
}
.dsw-front-page .dsw-timeline h3 { margin-bottom: .5rem; font-size: 1.25rem; }
.dsw-front-page .dsw-timeline p { max-width: none; font-size: .73rem; line-height: 1.55; }

/* Travel: use the existing brand visual as a real, non-misleading editorial image. */
.dsw-front-page .dsw-travel {
  position: relative;
  overflow: hidden;
  background: #fbf3f6;
}
.dsw-front-page .dsw-travel::after { display: none; }
.dsw-front-page .dsw-travel__grid {
  grid-template-columns: minmax(0,.72fr) minmax(440px,1.28fr);
  gap: clamp(2rem, 4vw, 4rem);
  align-items: stretch;
}
.dsw-front-page .dsw-travel__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.dsw-front-page .dsw-travel__copy > p:not(.dsw-eyebrow) { max-width: 58ch; color: #66565d; }
.dsw-front-page .dsw-travel__visual {
  position: relative;
  min-height: 360px;
  overflow: hidden;
  border: 1px solid rgba(126,64,95,.12);
  border-radius: 20px;
  background: #f2dfe7;
  box-shadow: var(--dsw-home-shadow-premium);
}
.dsw-front-page .dsw-travel__visual > img {
  width: 100%;
  height: 100%;
  min-height: 360px;
  object-fit: cover;
  object-position: center;
}
.dsw-front-page .dsw-travel__support {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  width: min(320px, calc(100% - 2rem));
  padding: 1.35rem;
  border-radius: 14px;
  background: rgba(70,31,51,.94);
  color: #fff;
  box-shadow: 0 18px 45px rgba(41,18,30,.24);
  backdrop-filter: blur(12px);
}
.dsw-front-page .dsw-travel__support .dsw-eyebrow { color: #e7bbcd; }
.dsw-front-page .dsw-travel__support h3 {
  margin: 0 0 .75rem;
  color: #fff;
  font-family: var(--dsw-display);
  font-size: 1.55rem;
  font-weight: 400;
  line-height: 1.08;
}
.dsw-front-page .dsw-travel__support ul { margin: 0 0 .85rem; padding-left: 1rem; }
.dsw-front-page .dsw-travel__support li { margin: .28rem 0; color: rgba(255,255,255,.76); font-size: .7rem; }
.dsw-front-page .dsw-travel__support a {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  color: #fff;
  font-size: .7rem;
  font-weight: 700;
  text-decoration: none;
}
.dsw-front-page .dsw-travel__support a svg { width: 16px; fill: none; stroke: currentColor; stroke-width: 1.6; }

/* Reviews, education, FAQ and locations: tighter card density, less visual emptiness. */
.dsw-front-page .dsw-reviews { background: #fff; }
.dsw-front-page .dsw-review-summary { gap: .75rem; }
.dsw-front-page .dsw-review-rating {
  min-height: 132px;
  border: 1px solid var(--dsw-home-line);
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 8px 28px rgba(60,28,44,.045);
}
.dsw-front-page .dsw-review-quotes { gap: .75rem; margin-top: .75rem; }
.dsw-front-page .dsw-review-quotes article {
  border: 1px solid var(--dsw-home-line);
  border-radius: 13px;
  background: #fcf8fa;
}
.dsw-front-page .dsw-education { background: #fbf6f8; }
.dsw-front-page .dsw-article-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: .8rem; }
.dsw-front-page .dsw-article-grid > a { min-height: 235px; padding: 1.45rem; background: #fff; border-radius: 14px; }
.dsw-front-page .dsw-article-grid h3 { font-size: clamp(1.55rem,2vw,2rem); }
.dsw-front-page .dsw-faqs { background: #fff; }
.dsw-front-page .dsw-faqs__grid { gap: clamp(2.5rem,6vw,6rem); }
.dsw-front-page .dsw-faq-list { border: 1px solid var(--dsw-home-line); border-radius: 16px; padding: 0 1.2rem; background: #fff; }
.dsw-front-page .dsw-faq-list details:last-child { border-bottom: 0; }
.dsw-front-page .dsw-locations { background: #f8eef2; }
.dsw-front-page .dsw-location-grid article { box-shadow: var(--dsw-home-shadow-card); }

/* Final CTA: compact, high-contrast and aligned to the footer. */
.dsw-front-page .dsw-contact-band {
  padding: clamp(3.4rem, 5vw, 4.7rem) 0;
  background: linear-gradient(120deg, #4a2138, #703a57);
}
.dsw-front-page .dsw-contact-band__grid { grid-template-columns: minmax(0,1fr) minmax(260px,.4fr); }
.dsw-front-page .dsw-contact-band h2 { max-width: 15ch; }

/* Tablet composition. */
@media (max-width: 1180px) {
  .dsw-front-page { --dsw-home-shell: min(calc(100vw - 36px), 1060px); }
  .dsw-front-page .dsw-hero__grid {
    grid-template-columns: minmax(0,1fr) minmax(310px,.72fr);
    gap: 2rem;
  }
  .dsw-front-page .dsw-hero__philosophy {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: auto minmax(0,1fr) minmax(220px,.7fr) auto;
    align-items: center;
    gap: 1rem 1.4rem;
    padding: 1.25rem 1.4rem;
    border: 1px solid rgba(126,64,95,.12);
    border-radius: 14px;
    background: rgba(255,255,255,.72);
  }
  .dsw-front-page .dsw-hero__quote-mark { position: static; align-self: center; font-size: 3.2rem; }
  .dsw-front-page .dsw-hero__philosophy .dsw-eyebrow { display: none; }
  .dsw-front-page .dsw-hero__philosophy h2 { margin: 0; font-size: 1.45rem; }
  .dsw-front-page .dsw-hero__philosophy > p:not(.dsw-eyebrow) { margin: 0; }
  .dsw-front-page .dsw-comparison-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dsw-front-page .dsw-featured-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dsw-front-page .dsw-timeline { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .dsw-front-page .dsw-timeline li:nth-child(3) { border-right: 0; }
  .dsw-front-page .dsw-timeline li:nth-child(-n+3) { border-bottom: 1px solid var(--dsw-home-line); }
  .dsw-front-page .dsw-timeline li:nth-child(4) { border-right: 1px solid var(--dsw-home-line); }
  .dsw-front-page .dsw-travel__grid { grid-template-columns: minmax(0,.82fr) minmax(380px,1.18fr); }
}

/* Mobile/tablet: one intentional reading order, touch-safe controls. */
@media (max-width: 900px) {
  .dsw-front-page { --dsw-home-shell: min(calc(100vw - 32px), 760px); }
  .dsw-front-page .dsw-section { padding: 4.3rem 0; }
  .dsw-front-page .dsw-hero { padding-top: 3rem; padding-bottom: 5.4rem; }
  .dsw-front-page .dsw-hero__grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .dsw-front-page .dsw-hero__copy { max-width: 680px; }
  .dsw-front-page .dsw-hero h1 { max-width: 11ch; font-size: clamp(3rem,9vw,4.6rem); }
  .dsw-front-page .dsw-hero__portrait { width: min(100%, 520px); justify-self: center; }
  .dsw-front-page .dsw-hero__portrait-frame { border-radius: 150px 150px 18px 18px; }
  .dsw-front-page .dsw-hero__note { right: .8rem; }
  .dsw-front-page .dsw-hero__philosophy {
    grid-column: auto;
    grid-template-columns: auto minmax(0,1fr);
    gap: .7rem 1rem;
  }
  .dsw-front-page .dsw-hero__philosophy h2 { grid-column: 2; }
  .dsw-front-page .dsw-hero__philosophy > p:not(.dsw-eyebrow) { grid-column: 2; }
  .dsw-front-page .dsw-hero__philosophy .dsw-text-link { grid-column: 2; }
  .dsw-front-page .dsw-trust__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dsw-front-page .dsw-trust__grid > div:nth-child(2n) { border-right: 0; }
  .dsw-front-page .dsw-trust__grid > div:nth-child(-n+2) { border-bottom: 1px solid var(--dsw-home-line); }
  .dsw-front-page .dsw-finder--complete { grid-template-columns: 1fr; }
  .dsw-front-page .dsw-finder--complete .dsw-finder__tabs {
    display: flex;
    overflow-x: auto;
    gap: .35rem;
    padding: .55rem;
    border-right: 0;
    border-bottom: 1px solid var(--dsw-home-line);
    scroll-snap-type: x proximity;
  }
  .dsw-front-page .dsw-finder--complete .dsw-finder__tabs button {
    flex: 0 0 auto;
    width: auto;
    min-width: 148px;
    scroll-snap-align: start;
  }
  .dsw-front-page .dsw-finder__panel ul.is-dense { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dsw-front-page .dsw-comparison-grid {
    display: flex;
    gap: .8rem;
    overflow-x: auto;
    margin-right: calc((100vw - var(--dsw-home-shell)) / -2);
    padding: 0 calc((100vw - var(--dsw-home-shell)) / 2) .45rem 0;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
  }
  .dsw-front-page .dsw-comparison-grid .dsw-compare {
    flex: 0 0 min(72vw,390px);
    scroll-snap-align: start;
  }
  .dsw-front-page .dsw-meet__grid { grid-template-columns: 1fr; gap: 2.25rem; }
  .dsw-front-page .dsw-meet__portrait { width: min(100%,520px); margin-inline: auto; }
  .dsw-front-page .dsw-featured-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dsw-front-page .dsw-decisions .dsw-shell { grid-template-columns: 1fr; }
  .dsw-front-page .dsw-decisions .dsw-section-heading,
  .dsw-front-page .dsw-decision-visual,
  .dsw-front-page .dsw-decision-grid { grid-column: 1; grid-row: auto; }
  .dsw-front-page .dsw-decision-visual { min-height: 340px; }
  .dsw-front-page .dsw-timeline { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dsw-front-page .dsw-timeline li,
  .dsw-front-page .dsw-timeline li:nth-child(n) { border-right: 1px solid var(--dsw-home-line); border-bottom: 1px solid var(--dsw-home-line); }
  .dsw-front-page .dsw-timeline li:nth-child(2n) { border-right: 0; }
  .dsw-front-page .dsw-timeline li:last-child { border-bottom: 0; }
  .dsw-front-page .dsw-travel__grid { grid-template-columns: 1fr; }
  .dsw-front-page .dsw-travel__visual { min-height: 330px; }
  .dsw-front-page .dsw-contact-band__grid { grid-template-columns: 1fr; }
  .dsw-front-page .dsw-contact-band__actions { justify-self: start; }
}

@media (max-width: 640px) {
  .dsw-front-page { --dsw-home-shell: calc(100vw - 24px); }
  .dsw-front-page .dsw-section { padding: 3.7rem 0; }
  .dsw-front-page .dsw-section-heading { margin-bottom: 1.9rem; }
  .dsw-front-page .dsw-section-heading h2,
  .dsw-front-page .dsw-meet__copy h2,
  .dsw-front-page .dsw-travel h2,
  .dsw-front-page .dsw-faqs__intro h2,
  .dsw-front-page .dsw-contact-band h2 { font-size: clamp(2.15rem,10vw,3rem); }
  .dsw-front-page .dsw-hero { padding-top: 2.35rem; padding-bottom: 5rem; }
  .dsw-front-page .dsw-hero h1 { max-width: 11ch; font-size: clamp(2.85rem,13vw,3.8rem); }
  .dsw-front-page .dsw-hero .dsw-lede { font-size: .94rem; }
  .dsw-front-page .dsw-hero .dsw-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .55rem;
  }
  .dsw-front-page .dsw-hero .dsw-actions .dsw-btn { width: 100%; min-height: 47px; padding-inline: .65rem; font-size: .72rem; }
  .dsw-front-page .dsw-hero .dsw-actions .dsw-text-link { grid-column: 1 / -1; margin: .15rem 0 0; }
  .dsw-front-page .dsw-hero__credential { display: grid; gap: .3rem; }
  .dsw-front-page .dsw-hero__portrait { width: 100%; }
  .dsw-front-page .dsw-hero__portrait-frame { aspect-ratio: 4 / 4.9; border-radius: 110px 110px 16px 16px; }
  .dsw-front-page .dsw-hero__note { right: .55rem; bottom: .55rem; min-width: 150px; padding: .65rem .75rem; }
  .dsw-front-page .dsw-hero__philosophy { padding: 1rem; }
  .dsw-front-page .dsw-hero__philosophy h2 { font-size: 1.28rem; }
  .dsw-front-page .dsw-hero__quote-mark { font-size: 2.7rem; }
  .dsw-front-page .dsw-trust { margin-top: -2.35rem; }
  .dsw-front-page .dsw-trust__grid { grid-template-columns: 1fr; }
  .dsw-front-page .dsw-trust__grid > div,
  .dsw-front-page .dsw-trust__grid > div:first-child,
  .dsw-front-page .dsw-trust__grid > div:nth-child(n) {
    min-height: 78px;
    padding: .85rem .9rem;
    border-right: 0;
    border-bottom: 1px solid var(--dsw-home-line);
  }
  .dsw-front-page .dsw-trust__grid > div:last-child { border-bottom: 0; }
  .dsw-front-page .dsw-procedures { padding-top: 4.8rem; }
  .dsw-front-page .dsw-finder--complete { border-radius: 16px; }
  .dsw-front-page .dsw-finder--complete .dsw-finder__tabs button { min-width: 132px; min-height: 58px; }
  .dsw-front-page .dsw-finder__panels { padding: 1.35rem 1rem; }
  .dsw-front-page .dsw-finder__panel ul.is-dense { grid-template-columns: 1fr; }
  .dsw-front-page .dsw-finder__panel-head { align-items: flex-start; flex-direction: column; gap: .2rem; }
  .dsw-front-page .dsw-finder__panel a { min-height: 53px; }
  .dsw-front-page .dsw-comparison-grid .dsw-compare { flex-basis: min(83vw,350px); }
  .dsw-front-page .dsw-meet__portrait-frame { border-radius: 18px 18px 80px 18px; }
  .dsw-front-page .dsw-meet__signals { gap: .4rem; }
  .dsw-front-page .dsw-meet__signals span { font-size: .62rem; }
  .dsw-front-page .dsw-featured-grid { display: flex; gap: .75rem; overflow-x: auto; margin-right: -12px; padding: 0 12px .4rem 0; scroll-snap-type: x mandatory; }
  .dsw-front-page .dsw-featured-grid > .dsw-feature-card:nth-child(n) { flex: 0 0 min(82vw,330px); min-height: 330px; scroll-snap-align: start; }
  .dsw-front-page .dsw-decision-visual { min-height: 275px; }
  .dsw-front-page .dsw-timeline {
    display: flex;
    gap: .7rem;
    overflow-x: auto;
    margin-right: -12px;
    padding: 0 12px .4rem 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    scroll-snap-type: x mandatory;
  }
  .dsw-front-page .dsw-timeline li,
  .dsw-front-page .dsw-timeline li:nth-child(n) {
    flex: 0 0 min(74vw,270px);
    min-height: 190px;
    border: 1px solid var(--dsw-home-line);
    border-radius: 14px;
    background: #fff;
    scroll-snap-align: start;
  }
  .dsw-front-page .dsw-travel__visual,
  .dsw-front-page .dsw-travel__visual > img { min-height: 300px; }
  .dsw-front-page .dsw-travel__support { right: .7rem; bottom: .7rem; width: calc(100% - 1.4rem); padding: 1rem; }
  .dsw-front-page .dsw-review-summary,
  .dsw-front-page .dsw-review-quotes,
  .dsw-front-page .dsw-article-grid,
  .dsw-front-page .dsw-location-grid { grid-template-columns: 1fr; }
  .dsw-front-page .dsw-article-grid > a { min-height: 220px; }
  .dsw-front-page .dsw-faq-list { padding-inline: .9rem; }
  .dsw-front-page .dsw-contact-band__actions { max-width: none; }
}

@media (max-width: 420px) {
  .dsw-front-page .dsw-hero .dsw-actions { grid-template-columns: 1fr; }
  .dsw-front-page .dsw-hero .dsw-actions .dsw-text-link { grid-column: 1; }
  .dsw-front-page .dsw-hero__philosophy { grid-template-columns: 1fr; }
  .dsw-front-page .dsw-hero__quote-mark { display: none; }
  .dsw-front-page .dsw-hero__philosophy h2,
  .dsw-front-page .dsw-hero__philosophy > p:not(.dsw-eyebrow),
  .dsw-front-page .dsw-hero__philosophy .dsw-text-link { grid-column: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .dsw-front-page .dsw-feature-card,
  .dsw-front-page .dsw-finder__panel a svg,
  .dsw-front-page .dsw-compare__handle,
  .dsw-front-page .dsw-compare__after { transition: none !important; }
}

/* 0.8.18 editorial procedure cards: photographic top, readable white body. */
.dsw-front-page .dsw-feature-card--image {
  justify-content: flex-start;
  padding-top: calc(56% + 1.1rem);
  background: #fff;
}
.dsw-front-page .dsw-feature-card--image::after {
  inset: 0 0 auto;
  height: 56%;
  background: linear-gradient(180deg, rgba(45,36,40,.02), rgba(78,39,61,.16));
}
.dsw-front-page .dsw-feature-card--image > span {
  margin: 0 0 .45rem;
  color: var(--dsw-brand-700);
}
.dsw-front-page .dsw-feature-card--image h3 {
  margin: 0 0 .45rem;
  color: var(--dsw-home-ink);
  text-shadow: none;
}
.dsw-front-page .dsw-feature-card--image p { color: var(--dsw-home-muted); }
.dsw-front-page .dsw-feature-card--image > svg {
  top: calc(56% + 1.05rem);
  stroke: var(--dsw-brand-700);
}

/* ========================================================================
   0.8.19 — final interaction polish
   Compact homepage editorial cards, progressive care-journey focus states,
   and a discreet Farooqs Point footer credit. No content/SEO/schema changes.
   ======================================================================== */

/* Homepage consultation-topic cards: image + editorial body, no dead space. */
.dsw-front-page .dsw-featured-grid {
  align-items: stretch;
}
.dsw-front-page .dsw-featured-grid > .dsw-feature-card:nth-child(n),
.dsw-front-page .dsw-feature-card--large,
.dsw-front-page .dsw-feature-card--image {
  min-height: 0;
}
.dsw-front-page .dsw-feature-card--image {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 0 1.2rem 1.15rem;
  background: #fff;
}
.dsw-front-page .dsw-feature-card--image::after { display: none; }
.dsw-front-page .dsw-feature-card--image .dsw-feature-card__media {
  position: relative;
  inset: auto;
  z-index: 0;
  width: calc(100% + 2.4rem);
  height: clamp(190px, 15.5vw, 235px);
  margin: 0 -1.2rem 1rem;
  object-fit: cover;
  object-position: center;
}
.dsw-front-page .dsw-feature-card--image > span {
  margin: 0 0 .45rem;
  color: var(--dsw-brand-700);
}
.dsw-front-page .dsw-feature-card--image h3 {
  margin: 0 0 .5rem;
  color: var(--dsw-home-ink);
  text-shadow: none;
}
.dsw-front-page .dsw-feature-card--image p {
  margin: 0 0 2.25rem;
  color: var(--dsw-home-muted);
}
.dsw-front-page .dsw-feature-card--image > svg {
  top: auto;
  right: 1.15rem;
  bottom: 1.05rem;
  stroke: var(--dsw-brand-700);
}

/* Home care journey: sticky editorial intro + a scroll-highlighted vertical path. */
.dsw-front-page .dsw-journey {
  --dsw-journey-progress: 0%;
  overflow: visible;
  background: linear-gradient(180deg, #fff 0%, #fcf8fa 100%);
}
.dsw-front-page .dsw-journey__layout {
  display: grid;
  grid-template-columns: minmax(270px, .7fr) minmax(0, 1.3fr);
  gap: clamp(2.5rem, 6vw, 7rem);
  align-items: start;
}
.dsw-front-page .dsw-journey__intro {
  position: sticky;
  top: 7.5rem;
  margin: 0;
  padding-top: .4rem;
}
.dsw-front-page .dsw-journey__intro h2 {
  max-width: 9ch;
  margin-bottom: 1.25rem;
}
.dsw-front-page .dsw-journey__intro > p:last-child {
  max-width: 34ch;
  margin: 0;
  color: var(--dsw-home-muted);
  font-size: .86rem;
  line-height: 1.7;
}
.dsw-front-page .dsw-timeline {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: .85rem;
  overflow: visible;
  margin: 0;
  padding: 0 0 0 2.25rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  list-style: none;
}
.dsw-front-page .dsw-timeline::before,
.dsw-front-page .dsw-timeline::after {
  content: "";
  position: absolute;
  left: .82rem;
  top: 1.75rem;
  bottom: 1.75rem;
  width: 1px;
}
.dsw-front-page .dsw-timeline::before { background: rgba(126,64,95,.16); }
.dsw-front-page .dsw-timeline::after {
  bottom: auto;
  height: var(--dsw-journey-progress);
  max-height: calc(100% - 3.5rem);
  background: var(--dsw-brand-600);
  transition: height .55s cubic-bezier(.2,.7,.2,1);
}
.dsw-front-page .dsw-timeline li,
.dsw-front-page .dsw-timeline li + li,
.dsw-front-page .dsw-timeline li:nth-child(n) {
  position: relative;
  display: grid;
  grid-template-columns: 54px minmax(0,1fr);
  gap: 1rem;
  align-items: center;
  min-height: 138px;
  padding: 1.2rem 1.3rem;
  border: 1px solid rgba(126,64,95,.10);
  border-radius: 16px;
  background: rgba(255,255,255,.72);
  box-shadow: 0 8px 28px rgba(60,28,44,.035);
  opacity: .58;
  transform: translateX(0);
  transition: opacity .35s ease, transform .35s ease, border-color .35s ease, background-color .35s ease, box-shadow .35s ease;
}
.dsw-front-page .dsw-timeline li > span {
  position: relative;
  z-index: 1;
  width: 46px;
  height: 46px;
  margin: 0;
  border: 1px solid rgba(126,64,95,.20);
  background: #fff;
  color: var(--dsw-brand-600);
  transition: background-color .35s ease, color .35s ease, border-color .35s ease, transform .35s ease;
}
.dsw-front-page .dsw-timeline li h3 { margin: 0 0 .4rem; }
.dsw-front-page .dsw-timeline li p { margin: 0; max-width: 58ch; font-size: .79rem; line-height: 1.65; }
.dsw-front-page .dsw-timeline li.is-complete { opacity: .82; }
.dsw-front-page .dsw-timeline li.is-complete > span {
  border-color: var(--dsw-brand-500);
  background: #f8edf2;
  color: var(--dsw-brand-800);
}
.dsw-front-page .dsw-timeline li.is-active {
  opacity: 1;
  transform: translateX(8px);
  border-color: rgba(126,64,95,.28);
  background: #fff;
  box-shadow: 0 18px 46px rgba(60,28,44,.09);
}
.dsw-front-page .dsw-timeline li.is-active > span {
  border-color: var(--dsw-brand-800);
  background: var(--dsw-brand-800);
  color: #fff;
  transform: scale(1.06);
}

/* Shared service-page journey receives the same progressive focal behavior. */
.dsw-service-journey {
  --dsw-journey-progress: 0%;
  margin: clamp(3.2rem, 6vw, 5.5rem) 0;
  padding: clamp(1.4rem, 3vw, 2rem);
  border: 1px solid rgba(126,64,95,.11);
  border-radius: 18px;
  background: linear-gradient(145deg, #fff, #fcf8fa);
  box-shadow: 0 12px 34px rgba(60,28,44,.04);
}
.dsw-service-journey > h2 { max-width: 14ch; margin-bottom: 1.4rem; }
.dsw-service-journey ol {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: .65rem;
  margin: 0;
  padding: 0 0 0 1.8rem;
  border: 0;
}
.dsw-service-journey ol::before,
.dsw-service-journey ol::after {
  content: "";
  position: absolute;
  left: .5rem;
  top: 1.5rem;
  width: 1px;
}
.dsw-service-journey ol::before { bottom: 1.5rem; background: rgba(126,64,95,.14); }
.dsw-service-journey ol::after {
  height: var(--dsw-journey-progress);
  max-height: calc(100% - 3rem);
  background: var(--dsw-brand-600);
  transition: height .55s cubic-bezier(.2,.7,.2,1);
}
.dsw-service-journey li,
.dsw-service-journey li:last-child {
  display: grid;
  grid-template-columns: 48px minmax(0,1fr);
  grid-template-rows: auto auto;
  column-gap: .9rem;
  row-gap: .2rem;
  min-height: 96px;
  padding: .95rem 1rem;
  border: 1px solid rgba(126,64,95,.09);
  border-radius: 13px;
  background: rgba(255,255,255,.76);
  opacity: .58;
  transition: opacity .35s ease, transform .35s ease, border-color .35s ease, background-color .35s ease, box-shadow .35s ease;
}
.dsw-service-journey li > span {
  grid-column: 1;
  grid-row: 1 / 3;
  align-self: center;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  margin: 0;
  border: 1px solid rgba(126,64,95,.18);
  border-radius: 50%;
  background: #fff;
  color: var(--dsw-brand-600);
  transition: background-color .35s ease, color .35s ease, border-color .35s ease, transform .35s ease;
}
.dsw-service-journey li strong { grid-column: 2; grid-row: 1; align-self: end; font-size: .9rem; }
.dsw-service-journey li small { grid-column: 2; grid-row: 2; margin: 0; font-size: .72rem; line-height: 1.55; }
.dsw-service-journey li.is-complete { opacity: .82; }
.dsw-service-journey li.is-complete > span { border-color: var(--dsw-brand-500); background: #f8edf2; color: var(--dsw-brand-800); }
.dsw-service-journey li.is-active {
  opacity: 1;
  transform: translateX(6px);
  border-color: rgba(126,64,95,.26);
  background: #fff;
  box-shadow: 0 12px 30px rgba(60,28,44,.07);
}
.dsw-service-journey li.is-active > span {
  border-color: var(--dsw-brand-800);
  background: var(--dsw-brand-800);
  color: #fff;
  transform: scale(1.05);
}

/* Review source wording is now natural; keep it visually subordinate. */
.dsw-front-page .dsw-review-quotes cite {
  color: var(--dsw-brand-700);
  font-size: .66rem;
  font-style: normal;
  font-weight: 700;
  letter-spacing: .01em;
}

/* Discreet build/marketing credit at the very bottom. */
.dsw-footer__bottom--final .dsw-footer__legal {
  flex-direction: column;
  align-items: flex-end;
  gap: .38rem;
}
.dsw-footer__credit {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: .28rem;
  color: rgba(255,255,255,.46)!important;
  font-size: .59rem!important;
}
.dsw-footer__credit strong { color: rgba(255,255,255,.72); font-weight: 700; }
.dsw-footer__credit-whatsapp {
  display: inline-grid!important;
  place-items: center;
  width: 24px;
  height: 24px;
  margin-left: .18rem!important;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 50%;
  color: rgba(255,255,255,.75)!important;
  text-decoration: none;
  transition: color .2s ease, border-color .2s ease, background-color .2s ease, transform .2s ease;
}
.dsw-footer__credit-whatsapp svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.dsw-footer__credit-whatsapp:hover,
.dsw-footer__credit-whatsapp:focus-visible {
  border-color: rgba(255,255,255,.42);
  background: rgba(255,255,255,.08);
  color: #fff!important;
  transform: translateY(-1px);
}

@media (max-width: 980px) {
  .dsw-front-page .dsw-journey__layout { grid-template-columns: minmax(220px,.58fr) minmax(0,1.42fr); gap: 2rem; }
  .dsw-front-page .dsw-journey__intro { top: 6.5rem; }
}

@media (max-width: 820px) {
  .dsw-front-page .dsw-feature-card--image .dsw-feature-card__media { height: 205px; }
  .dsw-front-page .dsw-journey__layout { grid-template-columns: 1fr; gap: 1.6rem; }
  .dsw-front-page .dsw-journey__intro { position: static; }
  .dsw-front-page .dsw-journey__intro h2 { max-width: 11ch; }
  .dsw-front-page .dsw-timeline {
    display: grid;
    grid-template-columns: 1fr;
    gap: .7rem;
    overflow: visible;
    margin: 0;
    padding: 0 0 0 1.75rem;
    scroll-snap-type: none;
  }
  .dsw-front-page .dsw-timeline li,
  .dsw-front-page .dsw-timeline li:nth-child(n) {
    min-height: 120px;
    width: 100%;
    flex: none;
    scroll-snap-align: none;
  }
  .dsw-front-page .dsw-timeline::before,
  .dsw-front-page .dsw-timeline::after { left: .62rem; }
  .dsw-front-page .dsw-timeline li.is-active { transform: translateX(4px); }
  .dsw-service-journey { padding: 1.2rem; }
  .dsw-service-journey ol { grid-template-columns: 1fr; }
  .dsw-service-journey li,
  .dsw-service-journey li:last-child { border: 1px solid rgba(126,64,95,.09); }
  .dsw-footer__bottom--final .dsw-footer__legal { align-items: flex-start; }
  .dsw-footer__credit { justify-content: flex-start; }
}

@media (max-width: 520px) {
  .dsw-front-page .dsw-featured-grid {
    display: flex;
    gap: .75rem;
    overflow-x: auto;
    margin-right: -12px;
    padding: 0 12px .45rem 0;
    scroll-snap-type: x mandatory;
  }
  .dsw-front-page .dsw-featured-grid > .dsw-feature-card:nth-child(n) {
    flex: 0 0 min(82vw, 330px);
    scroll-snap-align: start;
  }
  .dsw-front-page .dsw-feature-card--image .dsw-feature-card__media { height: 190px; }
  .dsw-front-page .dsw-timeline li,
  .dsw-front-page .dsw-timeline li:nth-child(n) { grid-template-columns: 46px minmax(0,1fr); gap: .8rem; padding: 1rem; }
  .dsw-front-page .dsw-timeline li > span { width: 40px; height: 40px; }
  .dsw-service-journey { margin-block: 3rem; padding: 1rem .8rem; border-radius: 14px; }
  .dsw-service-journey ol { padding-left: 1.45rem; }
  .dsw-service-journey ol::before,
  .dsw-service-journey ol::after { left: .35rem; }
  .dsw-service-journey li,
  .dsw-service-journey li:last-child { grid-template-columns: 42px minmax(0,1fr); column-gap: .7rem; padding: .85rem; }
  .dsw-service-journey li > span { width: 38px; height: 38px; }
}

@media (prefers-reduced-motion: reduce) {
  .dsw-front-page .dsw-timeline::after,
  .dsw-front-page .dsw-timeline li,
  .dsw-front-page .dsw-timeline li > span,
  .dsw-service-journey ol::after,
  .dsw-service-journey li,
  .dsw-service-journey li > span,
  .dsw-footer__credit-whatsapp { transition: none!important; }
}


/* 0.8.22 — mobile service-page reading-flow cleanup
   The desktop/tablet sticky in-page navigation remains available, but on phone
   viewports it is removed so the Quick Summary, medical-review card and article
   body can use the full reading width without a narrow competing column. */
@media (max-width: 760px) {
  .dsw-service-layout > .dsw-service-nav {
    display: none !important;
  }
  .dsw-service-layout {
    grid-template-columns: minmax(0,1fr) !important;
    gap: 0;
  }
  .dsw-service-content {
    width: 100%;
    max-width: none;
  }
}
