/* Final presentation layer. Load after style.css and content.css.
   Keep the existing h1–h4 sizes and all brand/hero imagery intact. */
.cu-site {
  --cu-reading-size: 18px;
  --cu-reading-leading: 1.78;
  --cu-reading-measure: 72ch;
  --cu-reading-muted: #506b6d;
  --cu-reading-gap: 26px;
}

/* Prose, captions and ordinary controls have different, consistent roles. */
.cu-site .cu-content,
.cu-site .cu-editorial {
  font-size: var(--cu-reading-size);
  line-height: var(--cu-reading-leading);
  overflow-wrap: break-word;
  word-break: normal;
  min-width: 0;
}
.cu-site .cu-content :where(p, li, .cu-richtext),
.cu-site .cu-editorial :where(p, li, .cu-richtext) {
  font-size: var(--cu-reading-size);
  line-height: var(--cu-reading-leading);
}
.cu-site .cu-content p,
.cu-site .cu-editorial p { margin: 0 0 1.25em; }
.cu-site .cu-content :where(p, ul, ol),
.cu-site .cu-editorial :where(p, ul, ol) { max-width: var(--cu-reading-measure); }
.cu-site .cu-content .cu-richtext:not(:has(table, .cu-gallery, .cu-grid, .cu-media-grid)) {
  max-width: var(--cu-reading-measure);
}
.cu-site .cu-content .cu-richtext + .cu-richtext { margin-top: 1.3em; }
.cu-site .cu-content :where(p, li) { text-wrap: pretty; }
.cu-site .cu-content :where(p, ul, ol, figure):last-child { margin-bottom: 0; }
.cu-site .cu-content :where(h2, h3, h4) { scroll-margin-top: 120px; }
.cu-site .cu-content :where(h2, h3, h4) + :where(p, .cu-richtext) { margin-top: 0; }
/* One migrated article contains an unstyled h5. Preserve its previous
   16px × .83 browser size rather than letting larger prose enlarge it. */
.cu-site .cu-content h5 { font-size: 13.28px; line-height: 1.85; }
.cu-site .cu-content h6 { font-size: 10.72px; line-height: 1.85; }
.cu-site :is(.cu-small, .cu-eyebrow, .cu-topbar, .cu-header-book,
  .cu-hero-doctor strong, .cu-hero-doctor div > span, .cu-hero-caption,
  .cu-benefit-number, .cu-benefits p span, .cu-service-card-top > span,
  .cu-guide-footer > span, .cu-planner-progress, .cu-planner-explainer p,
  .cu-planner-pricelink, .cu-planner-options small, .cu-planner-result small,
  .cu-planner-price-note, .cu-planner-back, .cu-planner-result > a,
  .cu-footer-tagline, .cu-footer-bottom, .cu-disclaimer, .cu-breadcrumbs,
  .cu-price-note, .cu-content figcaption, .cu-booking-selection) {
  font-size: 14px;
  line-height: 1.6;
}
.cu-site :is(.cu-hero-lead, .cu-planner-intro > p:not(.cu-eyebrow),
  .cu-appointment-copy > p:not(.cu-eyebrow)) {
  font-size: 18px;
  line-height: 1.7;
}
.cu-site :is(.cu-section-heading > p, .cu-service-card p,
  .cu-service-card-bottom strong, .cu-planner-result-note,
  .cu-planner-result strong, .cu-booking-dialog-body > p:first-child,
  .cu-price-body > div, .cu-price-row p, .cu-price-row .cu-price,
  .cu-benefits strong, .cu-form-status) {
  font-size: 16px;
  line-height: 1.65;
}
.cu-site .cu-service-card p { max-width: none; }
.cu-site .cu-hero-doctor { max-width: 500px; align-items: center; }
.cu-site .cu-hero-doctor > img { width: 58px; height: 58px; flex: none; }
.cu-site .cu-hero-doctor > div { min-width: 0; }
.cu-site .cu-menu a { font-size: 15px; line-height: 1.5; }
.cu-site .cu-menu .sub-menu a { font-size: 14px; }
.cu-site .cu-text-link,
.cu-site .cu-hero .cu-text-link { font-size: 16px; line-height: 1.5; }
.cu-site :is(.cu-button, .cu-button-link, .cu-price-book,
  .cu-guide-tabs button, .cu-planner-options > label,
  .cu-planner-actions .cu-button, .cu-planner-book,
  .cu-procedure-price-row button, .cu-booking button[type=submit],
  .cu-mobile-actions a) {
  font-size: 16px;
  line-height: 1.5;
  min-height: 46px;
}
.cu-site .cu-guide-tabs { gap: 10px; }
.cu-site .cu-guide-tabs button { padding: 11px 18px; }
.cu-site .cu-booking :is(input, select, textarea) { font-size: 16px; }
.cu-site .cu-booking label { font-size: 16px; line-height: 1.5; }
.cu-site .cu-booking :is(.cu-consent, details),
.cu-site .cu-booking-dialog .cu-booking-selection { font-size: 14px; line-height: 1.65; }
.cu-site .cu-form-note { font-size: 14px !important; line-height: 1.65; }
.cu-site .cu-booking-dialog-head .cu-eyebrow { font-size: 14px; }
.cu-site .cu-footer-grid > div > a:not(.cu-logo) { font-size: 16px; line-height: 1.6; }
.cu-site .cu-footer-contact p { font-size: 16px; line-height: 1.65; }
.cu-site .cu-footer-bottom { gap: 20px; flex-wrap: wrap; }
.cu-site .cu-footer > .cu-small { margin-top: 22px; }
.cu-site .cu-appointment-actions > .cu-small { font-size: 14px; }

/* Mirror the existing section treatment through the presentation wrapper. */
.cu-site .cu-editorial > .cu-section {
  padding: clamp(24px, 3.3vw, 42px);
  margin-bottom: 32px;
  background: #fff;
  border: 1px solid #e0eae5;
  border-radius: 16px;
}
.cu-site .cu-editorial > .cu-section:nth-of-type(even) {
  background: #eaf4ef;
  border-color: #d5e7df;
}
.cu-site .cu-editorial > .cu-section > :is(h2, h3):first-child,
.cu-site .cu-editorial > .cu-section > .cu-column > :is(h2, h3):first-child {
  margin-top: 0;
}
.cu-site .cu-editorial > .cu-section:last-child { margin-bottom: 0; }
.cu-site .cu-content .cu-section .cu-section { margin-bottom: 30px; }
.cu-site .cu-content .cu-section .cu-section:last-child { margin-bottom: 0; }
.cu-site .cu-content .cu-column { min-width: 0; }
.cu-site .cu-content .cu-grid { gap: var(--cu-reading-gap); align-items: start; }

/* Media cards are complete units, with visible gaps and uncropped previews.
   The direct-column fallback also covers content not yet grouped by PHP. */
.cu-site .cu-content .cu-media-grid,
.cu-site .cu-content .cu-column:has(> .cu-card) {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
  gap: var(--cu-reading-gap);
  align-items: stretch;
  margin-block: 28px;
}
.cu-site .cu-content .cu-column:has(> .cu-card) > :not(.cu-card) { grid-column: 1 / -1; }
.cu-site .cu-content .cu-media-grid > *,
.cu-site .cu-content .cu-column:has(> .cu-card) > .cu-card { min-width: 0; margin: 0; }
.cu-site .cu-content .cu-card {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 20px;
  background: #fff;
  border: 1px solid #d3e2dc;
  border-radius: 12px;
  overflow: hidden;
  min-width: 0;
}
.cu-site .cu-content .cu-card > div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex: 1;
  min-width: 0;
}
.cu-site .cu-content .cu-card :is(h2, h3) { margin-bottom: 16px; }
.cu-site .cu-content .cu-card p { font-size: 17px; line-height: 1.7; }
.cu-site .cu-content .cu-card > div > .cu-button-link:last-child { margin-top: auto; }
.cu-site .cu-content .cu-card .cu-button-link { padding: 11px 17px; gap: 12px; }
.cu-site .cu-content .cu-card > img,
.cu-site .cu-content .cu-card > a.cu-card-image-link > img,
.cu-site .cu-content .cu-card > .cu-image-open > img,
.cu-site .cu-content .cu-card > figure img {
  display: block;
  width: 100%;
  height: auto;
  max-width: min(100%, 400px);
  max-height: 300px;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  object-position: center;
  background: #f3f7f5;
  border: 0;
  border-radius: 8px;
  margin: 0 0 22px;
}
.cu-site .cu-content .cu-card-image-link { display: block; width: 100%; }
.cu-site .cu-content .cu-card-image-link > img { transition: none; }
.cu-site .cu-content .cu-card > figure { margin: 0; }
.cu-site .cu-content .cu-card + .cu-card { margin-top: 24px; }
.cu-site .cu-content :is(.cu-media-grid, .cu-column:has(> .cu-card), .cu-grid) > .cu-card + .cu-card { margin-top: 0; }
.cu-site .cu-content .cu-section-info-card img {
  height: auto;
  max-height: none;
  object-fit: contain;
}
.cu-site .cu-content .cu-section-info-card + .cu-section-info-card { margin-top: 28px; }
.cu-site .cu-content :is(.cu-media-grid, .cu-grid) > .cu-section-info-card + .cu-section-info-card { margin-top: 0; }
.cu-site .cu-archive-grid { gap: 26px; align-items: stretch; }
.cu-site .cu-archive-card { display: flex; flex-direction: column; padding: 23px; min-width: 0; }
.cu-site .cu-archive-card img {
  width: 100%; height: auto; max-height: none; aspect-ratio: 4 / 3;
  object-fit: contain; background: #f3f7f5; margin-bottom: 20px;
}
.cu-site .cu-archive-card p { font-size: 17px; line-height: 1.75; }

/* Editorial photos, certificates and before/after images retain their ratio. */
.cu-site .cu-content :is(.cu-content-figure, .cu-section-image) {
  margin: 28px 0;
  width: 100%;
  max-width: 840px;
}
.cu-site .cu-content :is(.cu-content-image, .cu-content-figure img,
  .cu-section-image img, .cu-offer-content .cu-section-image img,
  .cu-section-info-card > img, .cu-section > img) {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  border-radius: 8px;
  margin-inline: auto;
}
.cu-site .cu-content .cu-image-link { display: block; width: fit-content; max-width: 100%; }
.cu-site .cu-content .cu-section-image > img { width: 100%; }
.cu-site .cu-content .cu-gallery {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: 24px;
  margin-block: 30px;
  align-items: start;
}
.cu-site .cu-content .cu-gallery figure {
  padding: 12px;
  margin: 0;
  background: #fff;
  border: 1px solid #d8e5df;
  border-radius: 10px;
  min-width: 0;
}
.cu-site .cu-content .cu-gallery a { display: block; max-width: 100%; }
.cu-site .cu-content .cu-gallery .cu-image-open { display: block; width: 100%; max-width: 100%; }
.cu-site .cu-content .cu-gallery img {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  border: 0;
  border-radius: 4px;
}
.cu-site .cu-content .cu-gallery.cu-comparison { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cu-site .cu-content figcaption { margin-top: 12px; color: var(--cu-reading-muted); }
.cu-site .cu-content .cu-image-link + figcaption { max-width: 64ch; }

/* Lists, tables and optional contents navigation. */
.cu-site .cu-content :is(ul, ol) { padding-left: 1.5em; margin-block: 1em 1.4em; }
.cu-site .cu-content li { padding-left: .15em; margin-block: .55em; }
.cu-site .cu-content li > :is(ul, ol) { margin-block: .7em; }
.cu-site .cu-content .cu-explicit-list { list-style: none; padding-left: 0; }
.cu-site .cu-content .cu-explicit-list > li { padding-left: 0; }
.cu-site .cu-content .cu-table-wrap {
  width: 100%; max-width: 100%; overflow-x: auto;
  margin-block: 30px; border: 1px solid #cddfd6; border-radius: 10px;
  overscroll-behavior-inline: contain; scrollbar-width: thin;
}
.cu-site .cu-content table { font-size: 17px; line-height: 1.65; margin-block: 26px; }
.cu-site .cu-content .cu-table-wrap > table { display: table; overflow: visible; margin: 0; }
.cu-site .cu-content .cu-table-wrap > table:has(tr > :nth-child(3)) { min-width: 600px; }
.cu-site .cu-content :is(td, th) { padding: 16px 18px; vertical-align: top; overflow-wrap: break-word; }
.cu-site .cu-content th { color: var(--cu-deep); background: #eaf3ee; }
.cu-site .cu-content td p { font-size: inherit; margin-bottom: .8em; }
.cu-site .cu-content td p:last-child { margin-bottom: 0; }
.cu-site .cu-content :is(.cu-content-toc, .cu-article-toc) {
  margin: 0 0 32px; padding: 25px 28px; border: 1px solid #cee1d7;
  border-radius: 12px; background: #edf5f0;
}
.cu-site .cu-content :is(.cu-content-toc, .cu-article-toc) > :first-child { margin-top: 0; }
.cu-site .cu-content :is(.cu-content-toc, .cu-article-toc) ol { columns: 2; column-gap: 36px; margin: 14px 0 0; max-width: none; }
.cu-site .cu-content :is(.cu-content-toc, .cu-article-toc) li { break-inside: avoid; font-size: 16px; line-height: 1.65; margin: 0 0 12px; }
.cu-site .cu-content :is(.cu-content-toc, .cu-article-toc) a { display: inline; }
.cu-site .cu-content .cu-facts-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-block: 24px; }
.cu-site .cu-content .cu-facts-grid > .cu-fact { margin: 0; padding: 20px; background: #f0f6f2; border: 1px solid #d8e6df; border-radius: 9px; min-width: 0; }
.cu-site .cu-content .cu-fact > :is(h2, h3, h4):first-child { margin-top: 0; }
.cu-site .cu-content .cu-fact > div { font-size: 17px; line-height: 1.7; }
.cu-site .cu-content .cu-offers { gap: 22px; }
.cu-site .cu-content .cu-offers > .cu-media-grid {
  grid-column: 1 / -1;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
  margin: 0;
}
.cu-site .cu-content .cu-offers:has(> .cu-card:only-child) { grid-template-columns: minmax(0, 1fr); }
.cu-site .cu-content .cu-offers .cu-facts-grid { grid-template-columns: minmax(0, 1fr); }
.cu-site .cu-content .cu-offers .cu-fact > :is(h2, h3, h4) { word-break: normal; hyphens: auto; }
.cu-site .cu-content .cu-offer-content { font-size: 17px; line-height: 1.75; }
.cu-site .cu-content details > summary { font-size: 18px; line-height: 1.55; padding: 20px 24px; }
.cu-site .cu-content details > div { padding: 24px; }
.cu-site .cu-content .cu-offer-content .cu-facts-grid { grid-template-columns: 1fr; }

/* Reviews and price rows remain readable at the larger base size. */
.cu-site .cu-content .cu-reviews { gap: 26px; align-items: start; }
.cu-site .cu-content .cu-reviews > .cu-quote { padding: 27px; }
.cu-site .cu-content blockquote,
.cu-site .cu-content .cu-reviews blockquote { font-size: 17px; line-height: 1.8; }
.cu-site .cu-content .cu-quote figcaption { font-size: 15px; line-height: 1.6; }
.cu-site .cu-content .cu-price-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  width: 100%;
  max-width: none;
}
.cu-site .cu-price-row { padding-block: 25px; }
.cu-site .cu-price-row > img { width: 64px; height: 64px; object-fit: contain; border-radius: 8px; background: #fff; }
.cu-site .cu-price-row:has(> .cu-price-book) { grid-template-columns: 64px minmax(0, 1fr) minmax(105px, 145px) auto; gap: 18px; }
.cu-site .cu-price-row:has(> .cu-price-book) > .cu-price { font-size: 17px; line-height: 1.55; }
.cu-site .cu-price-row:not(:has(> img)):has(> .cu-price-book) { grid-template-columns: minmax(0, 1fr) minmax(105px, 145px) auto; }
.cu-site .cu-price-row:not(:has(> img)):has(> .cu-price-book) > .cu-price-body { grid-column: 1; }
.cu-site .cu-price-row:not(:has(> img)):has(> .cu-price-book) > .cu-price { grid-column: 2; }
.cu-site .cu-price-row:not(:has(> img)):has(> .cu-price-book) > .cu-price-book { grid-column: 3; }
.cu-site .cu-procedure-price-row { gap: 20px; padding-block: 18px; }
.cu-site .cu-procedure-price-row > span { font-size: 18px; line-height: 1.6; }
.cu-site .cu-price-search label { font-size: 18px; line-height: 1.6; }
.cu-site .cu-price-search input { font-size: 17px; }

/* A factual expert introduction and the dedicated profile share one system. */
.cu-site .cu-expert-card,
.cu-site .cu-expert-profile-hero {
  display: grid; grid-template-columns: 220px minmax(0, 1fr);
  gap: 32px; align-items: start; padding: 32px;
  border: 1px solid #cddfd5; border-radius: 14px; background: #edf5f0;
  margin-block: 36px; min-width: 0;
}
.cu-site .cu-expert-card--compact { grid-template-columns: 160px minmax(0, 1fr); padding: 28px; }
.cu-site .cu-expert-profile-hero { grid-template-columns: 280px minmax(0, 1fr); }
.cu-site :is(.cu-expert-portrait, .cu-expert-card-photo, .cu-expert-profile-photo) { display: block; max-width: 100%; margin: 0; }
.cu-site :is(.cu-expert-portrait, .cu-expert-card-photo, .cu-expert-profile-photo) img {
  display: block; width: 100%; height: auto; max-height: none;
  aspect-ratio: auto; object-fit: contain; border-radius: 10px; margin: 0;
}
.cu-site :is(.cu-expert-content, .cu-expert-card-body, .cu-expert-profile-intro) { min-width: 0; }
.cu-site :is(.cu-expert-content, .cu-expert-card-body, .cu-expert-profile-intro) > :is(h2, h3) { margin: 0 0 14px; }
.cu-site :is(.cu-expert-content, .cu-expert-card-body, .cu-expert-profile-intro) p { font-size: 18px; line-height: 1.75; max-width: 68ch; margin: 0 0 18px; }
.cu-site :is(.cu-expert-content, .cu-expert-card-body, .cu-expert-profile-intro) .cu-eyebrow { font-size: 14px; margin-bottom: 12px; }
.cu-site .cu-expert-role { font-weight: 700; color: var(--cu-deep); }
.cu-site .cu-expert-card-actions { display: flex; flex-wrap: wrap; gap: 16px 24px; align-items: center; margin-top: 24px; }
.cu-site .cu-content .cu-expert-profile-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 18px; padding: 0; list-style: none; margin-block: 28px; max-width: none; }
.cu-site .cu-expert-profile-facts > li { margin: 0; padding: 20px; border: 1px solid #d7e5dd; border-radius: 10px; background: #fff; }
.cu-site .cu-expert-profile-facts > li > :is(span, strong, a) { display: block; }
.cu-site .cu-expert-profile-facts > li > .cu-eyebrow { margin-bottom: 10px; }
.cu-site .cu-expert-profile-section { margin-block: 38px; }
.cu-site .cu-expert-materials { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.cu-site .cu-expert-materials > a { display: block; padding: 22px; border: 1px solid #d4e2dc; border-radius: 10px; font-size: 17px; line-height: 1.65; background: #fff; }
.cu-site .cu-expert-profile-contact { margin-top: 36px; padding: 28px; background: #edf5f0; border: 1px solid #cddfd5; border-radius: 12px; }
.cu-site .cu-expert-profile-contact > :first-child { margin-top: 0; }

/* The article shell follows the same outer edges as the site header.
   Readable line length is applied to prose, rather than the whole page. */
.cu-site .cu-page-content { max-width: none; width: 100%; min-width: 0; }
.cu-site .cu-reading-layout {
  display: grid; grid-template-columns: minmax(0, 1fr) 300px;
  gap: 32px; align-items: start;
}
.cu-site .cu-reading-main { min-width: 0; }
.cu-site .cu-reading-sidebar { min-width: 0; position: sticky; top: 120px; }
.cu-site .cu-reading-sidebar .cu-expert-card,
.cu-site .cu-reading-sidebar .cu-expert-card--compact { display: block; margin: 0; padding: 24px; }
.cu-site .cu-reading-sidebar .cu-expert-portrait { width: 104px; max-width: 100%; margin-bottom: 22px; }
.cu-site .cu-reading-sidebar .cu-expert-content > :is(h2, h3) { font-size: 24px; line-height: 1.3; }
.cu-site .cu-reading-sidebar .cu-expert-content > p { font-size: 16px; line-height: 1.65; }
.cu-site .cu-reading-sidebar .cu-expert-content > .cu-eyebrow { font-size: 14px; }
.cu-site .cu-reading-sidebar .cu-expert-card-actions { gap: 17px; margin-top: 22px; }
.cu-site .cu-reading-sidebar .cu-expert-card-actions > .cu-button { width: 100%; }
.cu-site .cu-page-expert-line { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 12px; font-size: 16px; line-height: 1.65; margin: 20px 0 0; }
.cu-site .cu-page-expert-line a { text-decoration: underline; text-underline-offset: 4px; }

/* Links remain distinct from prose, including visited and keyboard states. */
.cu-site .cu-content a:not(.cu-button):not(.cu-button-link):not(.cu-price-book):not(.cu-card-image-link):not(.cu-image-link):not(.cu-expert-portrait) {
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  text-decoration-color: #7fa9a5;
}
.cu-site .cu-content :is(p, li) a:not(.cu-button):not(.cu-button-link):visited { color: #55617b; }
.cu-site .cu-content a:hover { text-decoration-color: currentColor; }
.cu-site .cu-content :is(.cu-button, .cu-button-link, .cu-price-book, .cu-card-image-link, .cu-image-link, .cu-expert-portrait) { text-decoration: none; }
.cu-site :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--cu-coral);
  outline-offset: 4px;
}
.cu-site .cu-content .cu-table-wrap:focus-visible { outline-offset: 3px; }
.cu-site .cu-content :is(.cu-card-image-link, .cu-image-link):focus-visible { border-radius: 8px; }

@media (max-width: 1100px) {
  .cu-site .cu-content .cu-media-grid,
  .cu-site .cu-content .cu-column:has(> .cu-card),
  .cu-site .cu-archive-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cu-site .cu-content .cu-reviews { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cu-site .cu-price-row:has(> .cu-price-book) { grid-template-columns: 64px minmax(0, 1fr) minmax(105px, 145px); }
  .cu-site .cu-price-row:has(> .cu-price-book) > .cu-price-book { grid-column: 2 / -1; grid-row: 2; justify-self: start; }
  .cu-site .cu-price-row:not(:has(> img)):has(> .cu-price-book) { grid-template-columns: minmax(0, 1fr) minmax(105px, 145px); }
  .cu-site .cu-price-row:not(:has(> img)):has(> .cu-price-book) > .cu-price-book { grid-column: 1 / -1; grid-row: 2; }
  .cu-site .cu-expert-profile-hero { grid-template-columns: 220px minmax(0, 1fr); gap: 26px; }
}
@media (max-width: 1020px) {
  .cu-site .cu-reading-layout { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .cu-site .cu-reading-sidebar { order: 0; position: static; }
  .cu-site .cu-reading-sidebar .cu-expert-card,
  .cu-site .cu-reading-sidebar .cu-expert-card--compact { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 24px; }
  .cu-site .cu-reading-sidebar .cu-expert-portrait { width: 88px; margin: 0; }
  .cu-site .cu-reading-sidebar .cu-expert-card-actions > .cu-button { width: auto; }
}
@media (max-width: 760px) {
  .cu-site { --cu-reading-size: 17px; --cu-reading-leading: 1.78; --cu-reading-gap: 22px; }
  .cu-site .cu-content h5 { font-size: 12.45px; }
  .cu-site .cu-content h6 { font-size: 10.05px; }
  .cu-site .cu-editorial > .cu-section { padding: 25px 20px; margin-bottom: 24px; border-radius: 11px; }
  .cu-site .cu-content .cu-section .cu-section { margin-bottom: 25px; }
  .cu-site .cu-content .cu-media-grid,
  .cu-site .cu-content .cu-column:has(> .cu-card),
  .cu-site .cu-archive-grid,
  .cu-site .cu-content .cu-reviews { grid-template-columns: 1fr; }
  .cu-site .cu-content .cu-card { padding: 20px; }
  .cu-site .cu-content .cu-card > img,
  .cu-site .cu-content .cu-card > a.cu-card-image-link > img,
  .cu-site .cu-content .cu-card > .cu-image-open > img,
  .cu-site .cu-content .cu-card > figure img { aspect-ratio: 4 / 3; margin-bottom: 20px; }
  .cu-site .cu-content .cu-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .cu-site .cu-content .cu-gallery figure { padding: 8px; }
  .cu-site .cu-content .cu-facts-grid { grid-template-columns: 1fr; gap: 14px; }
  .cu-site .cu-content .cu-offers { gap: 18px; }
  .cu-site .cu-content details > summary { padding: 19px 20px; font-size: 17px; }
  .cu-site .cu-content details > div { padding: 20px; }
  .cu-site .cu-content :is(.cu-content-figure, .cu-section-image) { margin-block: 24px; }
  .cu-site .cu-content :is(.cu-content-toc, .cu-article-toc) { padding: 22px 20px; margin-bottom: 26px; }
  .cu-site .cu-content :is(.cu-content-toc, .cu-article-toc) ol { columns: 1; }
  .cu-site .cu-content table { font-size: 16px; }
  .cu-site .cu-content :is(td, th) { padding: 13px 15px; }
  .cu-site .cu-content .cu-reviews > .cu-quote { padding: 25px; }
  .cu-site .cu-content .cu-reviews blockquote { font-size: 17px; }
  .cu-site .cu-price-row:has(> .cu-price-book) { grid-template-columns: 54px minmax(0, 1fr); gap: 12px 14px; padding-block: 24px; }
  .cu-site .cu-price-row > img { display: block; width: 54px; height: 54px; }
  .cu-site .cu-price-row:has(> .cu-price-book) > .cu-price { grid-column: 2; grid-row: 2; font-size: 17px; text-align: left; }
  .cu-site .cu-price-row:has(> .cu-price-book) > .cu-price-book { grid-column: 2; grid-row: 3; font-size: 16px; }
  .cu-site .cu-price-row:not(:has(> img)):has(> .cu-price-book) { grid-template-columns: minmax(0, 1fr); }
  .cu-site .cu-price-row:not(:has(> img)):has(> .cu-price-book) > .cu-price-body,
  .cu-site .cu-price-row:not(:has(> img)):has(> .cu-price-book) > .cu-price,
  .cu-site .cu-price-row:not(:has(> img)):has(> .cu-price-book) > .cu-price-book { grid-column: 1; }
  .cu-site .cu-price-row:not(:has(> img)):has(> .cu-price-book) > .cu-price { grid-row: 2; }
  .cu-site .cu-price-row:not(:has(> img)):has(> .cu-price-book) > .cu-price-book { grid-row: 3; }
  .cu-site .cu-price-body > div { font-size: 16px; }
  .cu-site .cu-planner-options > label { padding: 14px 12px; }
  .cu-site .cu-planner-result strong { font-size: 17px; }
  .cu-site .cu-planner-actions { flex-wrap: wrap; }
  .cu-site .cu-planner-actions .cu-button { font-size: 16px; }
  .cu-site .cu-planner-result > a { font-size: 14px; }
  .cu-site .cu-booking-dialog-body > p:first-child { font-size: 16px; }
  .cu-site .cu-booking-dialog .cu-booking-selection { font-size: 14px; }
  .cu-site .cu-expert-card,
  .cu-site .cu-expert-card--compact,
  .cu-site .cu-expert-profile-hero { grid-template-columns: 1fr; gap: 24px; padding: 25px 22px; margin-block: 28px; }
  .cu-site .cu-expert-portrait,
  .cu-site .cu-expert-card-photo,
  .cu-site .cu-expert-profile-photo { width: 180px; max-width: 100%; }
  .cu-site :is(.cu-expert-content, .cu-expert-card-body, .cu-expert-profile-intro) p { font-size: 17px; }
  .cu-site :is(.cu-expert-content, .cu-expert-card-body, .cu-expert-profile-intro) .cu-eyebrow { font-size: 14px; }
  .cu-site .cu-content .cu-expert-profile-facts,
  .cu-site .cu-expert-materials { grid-template-columns: 1fr; }
  .cu-site .cu-expert-card-actions { gap: 17px 22px; }
  .cu-site .cu-reading-sidebar .cu-expert-card,
  .cu-site .cu-reading-sidebar .cu-expert-card--compact { grid-template-columns: 72px minmax(0, 1fr); gap: 12px 18px; padding: 22px 20px; }
  .cu-site .cu-reading-sidebar .cu-expert-portrait { width: 72px; margin: 0; grid-column: 1; grid-row: 1 / 4; }
  .cu-site .cu-reading-sidebar .cu-expert-content { display: contents; }
  .cu-site .cu-reading-sidebar .cu-expert-content > :is(h2, h3) { font-size: 24px; grid-column: 2; grid-row: 2; margin: 0; }
  .cu-site .cu-reading-sidebar .cu-expert-content > p { font-size: 16px; grid-column: 1 / -1; margin: 0; }
  .cu-site .cu-reading-sidebar .cu-expert-content > .cu-eyebrow { font-size: 14px; grid-column: 2; grid-row: 1; }
  .cu-site .cu-reading-sidebar .cu-expert-content > .cu-expert-role { grid-column: 2; grid-row: 3; }
  .cu-site .cu-reading-sidebar .cu-expert-card-actions { gap: 16px; grid-column: 1 / -1; margin-top: 7px; }
  .cu-site .cu-reading-sidebar .cu-expert-card-actions > .cu-button { width: 100%; }
  .cu-site .cu-page-expert-line { display: block; font-size: 15px; }
  .cu-site .cu-footer-bottom { column-gap: 18px; row-gap: 16px; }
  .cu-site .cu-mobile-actions a { font-size: 16px; }
}
@media (max-width: 480px) {
  .cu-site .cu-content .cu-gallery:not(.cu-comparison) { grid-template-columns: 1fr; }
  .cu-site .cu-content .cu-gallery.cu-comparison { gap: 12px; }
  .cu-site .cu-content .cu-gallery.cu-comparison figure { padding: 6px; }
  .cu-site .cu-service-grid { grid-template-columns: 1fr; gap: 18px; }
  .cu-site .cu-service-card { padding: 23px; min-height: 0; }
  .cu-site .cu-service-card-bottom { margin-top: 22px; }
  .cu-site .cu-guide-footer { display: block; }
  .cu-site .cu-guide-footer > span { max-width: none; }
  .cu-site .cu-guide-footer > .cu-text-link { margin-top: 16px; }
  .cu-site .cu-planner-actions > .cu-button { width: 100%; }
  .cu-site .cu-expert-card-actions > .cu-button { width: 100%; }
}
@media (max-width: 380px) {
  .cu-site .cu-price-row:has(> .cu-price-book) { grid-template-columns: 1fr; }
  .cu-site .cu-price-row > img { display: none; }
  .cu-site .cu-price-row:has(> .cu-price-book) > .cu-price-body,
  .cu-site .cu-price-row:has(> .cu-price-book) > .cu-price,
  .cu-site .cu-price-row:has(> .cu-price-book) > .cu-price-book { grid-column: 1; }
  .cu-site .cu-content .cu-gallery.cu-comparison { grid-template-columns: 1fr; }
}
.cu-site .cu-page-expert-line { margin-bottom: 22px; }
