#dome-overview-intro { margin-bottom: 2rem; }
#dome-overview-intro figure, .dome-overview-company-evidence figure { margin: 0; min-width: 0; }
#dome-overview-intro figure img, .dome-overview-company-evidence img { display: block; width: 100%; height: auto; border-radius: 4px; }
#dome-overview-intro figcaption, .dome-overview-company-evidence figcaption { padding: .6rem 0; font-size: .85rem; line-height: 1.5; }
#dome-overview-intro .pool-dome-product-cta { width: auto; margin: 0; }
.dome-overview-contents { display: flex; flex-wrap: wrap; align-items: center; }
.dome-overview-contents a { display: inline-flex; align-items: center; min-height: 44px; }
.dome-overview-content .pool-dome-products { margin-top: 0; }
.dome-overview-fabrico-options > div:last-child { display: flex; }
.dome-overview-company-evidence figure { max-width: 400px; }
.dome-overview-content .pool-dome-proof-grid { grid-template-columns: 1fr; }
.dome-overview-resource-columns { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
.dome-overview-resource-columns h3 { font-size: 1.1rem; font-weight: 700; }
.dome-overview-resource-columns li { margin: .65rem 0; line-height: 1.5; }
.dome-overview-resource-guide > p .pool-dome-secondary-cta { display: inline; border: 0; padding: 0; background: transparent; text-decoration: underline; color: var(--pool-dome-blue); }
.dome-overview-brand-evidence-body > div, .dome-overview-resource-columns > div { min-width: 0; }
/* The shared header reserves its measured height on sticky desktop layouts. */
#main-content.dome-overview-page [id] { scroll-margin-top: 1rem; }
#main-content.dome-overview-page :is(a,button,summary):focus-visible { outline: 3px solid var(--anchor-orange); outline-offset: 3px; }

/* Dome overview: approved manufacturer-page layout and shared color tokens. */
#main-content.dome-overview-page {
    --pool-dome-navy: var(--anchor-navy-dark);
    --pool-dome-blue: var(--anchor-navy);
    --pool-dome-copper: var(--anchor-orange);
    --pool-dome-mist: var(--anchor-surface);
    --pool-dome-border: var(--anchor-border);
    --pool-dome-text: var(--anchor-ink);
}
#main-content.dome-overview-page :is(h1,h2,h3,h4) { text-align: center; text-wrap: balance; }
#main-content.dome-overview-page p { text-align: center; }
#main-content.dome-overview-page h2 { font-size: clamp(1.65rem, 3vw, 2.35rem); line-height: 1.2; }
#main-content.dome-overview-page .dome-overview-brand-hero { grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); }
#main-content.dome-overview-page .anchor-cover-hero-copy { padding: .75rem clamp(1.25rem, 3vw, 2.5rem); }
#main-content.dome-overview-page .anchor-cover-hero-copy h1 { max-width: none; margin: 0 0 1rem; color: var(--anchor-navy-dark); font-size: clamp(2.1rem, 3.6vw, 3rem); font-weight: 800; line-height: 1.12; letter-spacing: -.03em; }
#main-content.dome-overview-page .anchor-cover-intro { font-size: 1.1rem; margin-bottom: 1rem; }
#main-content.dome-overview-page .anchor-cover-hero-media { padding: 1rem; justify-content: center; background: var(--anchor-surface); border-left: 1px solid var(--anchor-border); }
#main-content.dome-overview-page .anchor-cover-hero-photo { border-radius: 0; }
#main-content.dome-overview-page .anchor-cover-hero-photo img { width: 100%; height: auto; max-height: none; border-radius: 0; aspect-ratio: 16 / 10; object-fit: cover; }
#main-content.dome-overview-page .anchor-cover-hero-photo figcaption { text-align: center; font-size: .85rem; padding: .25rem .75rem .75rem; }
#main-content.dome-overview-page .anchor-cover-hero-photo figcaption > a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 700; }
#main-content.dome-overview-page .dome-overview-hero-company { display: block; color: var(--anchor-muted); font-size: .8rem; line-height: 1.5; }
#main-content.dome-overview-page .anchor-cover-actions { margin-top: 1.25rem; }
#main-content.dome-overview-page .anchor-cover-actions > a { min-height: 48px; padding: .7rem 1rem; }
#main-content.dome-overview-page .dome-overview-type-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
#main-content.dome-overview-page .dome-overview-type-actions > a { min-width: 0; margin: 0; justify-content: center; font-size: 1rem; text-align: center; }
#main-content.dome-overview-page .dome-overview-type-actions .dome-overview-designer-action { grid-column: 1 / -1; border-color: var(--pool-dome-navy); background: var(--pool-dome-navy); }
#main-content.dome-overview-page .dome-overview-type-actions .dome-overview-designer-action:hover { border-color: var(--pool-dome-blue); background: var(--pool-dome-blue); }
@media (max-width: 575px) {
    #main-content.dome-overview-page .dome-overview-type-actions { grid-template-columns: minmax(0, 1fr); }
}
#main-content.dome-overview-page .dome-overview-brand-highlights { margin-top: 1.5rem; border-radius: 8px; }
#main-content.dome-overview-page .dome-overview-brand-highlights li { text-align: center; }
#main-content.dome-overview-page .dome-overview-contents { justify-content: center; margin: 1rem 0 0; padding: .75rem 1rem; border: 1px solid var(--anchor-border); border-radius: 8px; background: var(--anchor-surface); gap: .5rem 1rem; }
#main-content.dome-overview-page .dome-overview-contents strong { display: none; }
#main-content.dome-overview-page .dome-overview-contents a { padding: .25rem; }
#main-content.dome-overview-page a:not([class]) { color: var(--anchor-navy); text-underline-offset: .2em; }
#main-content.dome-overview-page a:not([class]):hover { color: var(--anchor-orange); }
#main-content.dome-overview-page :is(a,button,summary):focus-visible { outline-color: var(--anchor-orange); }
#main-content.dome-overview-page .dome-overview-content { gap: 2.5rem; }
/* Defined section edges, navy heading bands, pale-blue content, white product rows. */
#main-content.dome-overview-page .pool-dome-products { overflow: hidden; border: 1px solid var(--anchor-border); border-radius: 8px; background: var(--anchor-surface); }
#main-content.dome-overview-page .pool-dome-products .pool-dome-section-heading { max-width: none; margin: 0; padding: 1.5rem; border: 0; border-bottom: 4px solid var(--anchor-orange); background: var(--anchor-navy); text-align: center; }
#main-content.dome-overview-page .pool-dome-products .pool-dome-section-heading h2 { color: white; margin: 0; }
#main-content.dome-overview-page .pool-dome-product-grid-expanded { grid-template-columns: minmax(0,1fr); gap: 1.25rem; padding: 1.5rem; }
#main-content.dome-overview-page .pool-dome-product-grid-expanded .pool-dome-product-card { display: grid; grid-template-columns: minmax(0,2fr) minmax(0,3fr); gap: 0; border: 1px solid var(--anchor-border); border-radius: 8px; overflow: hidden; background: white; align-items: center; }
#main-content.dome-overview-page .pool-dome-product-grid-expanded .pool-dome-product-card > img { grid-column: 1; grid-row: 1; width: calc(100% - 2rem); height: auto; max-height: 19rem; aspect-ratio: 4 / 3; object-fit: cover; margin: 1rem; border-radius: 6px; }
#main-content.dome-overview-page .pool-dome-product-grid-expanded .pool-dome-product-content { grid-column: 2; min-width: 0; padding: 1.25rem; gap: 1rem; }
#main-content.dome-overview-page .pool-dome-product-content h3 { color: var(--anchor-navy-dark); font-size: 1.5rem; }
#main-content.dome-overview-page .pool-dome-product-content p { font-size: 1rem; }
#main-content.dome-overview-page .pool-dome-product-detail { flex: none; gap: .5rem; padding: 1rem; border: 0; border-top: 1px solid var(--anchor-border); text-align: center; }
#main-content.dome-overview-page .pool-dome-product-detail h4 { color: var(--anchor-navy-dark); font-size: 1.05rem; }
#main-content.dome-overview-page .pool-dome-product-detail a { justify-content: center; }
#main-content.dome-overview-page .pool-dome-product-cta { justify-content: center; min-height: 48px; margin-top: 0; }
#main-content.dome-overview-page .dome-overview-fabrico-options { display: block; padding: 1.75rem; background: var(--anchor-navy-dark); color: white; border: 1px solid var(--anchor-navy-dark); border-top: 5px solid var(--anchor-orange); border-radius: 8px; }
#main-content.dome-overview-page .dome-overview-fabrico-options h2 { color: white; }
#main-content.dome-overview-page .dome-overview-fabrico-options p { max-width: 54rem; margin: .75rem auto 1rem; }
#main-content.dome-overview-page .dome-overview-fabrico-options > div:last-child { flex-direction: row; flex-wrap: wrap; justify-content: center; align-items: center; gap: 1rem 1.5rem; }
#main-content.dome-overview-page .dome-overview-fabrico-options a:not([class]) { display: inline-flex; min-height: 44px; align-items: center; color: white; }
#main-content.dome-overview-page .dome-overview-fabrico-options a:not([class]):hover { text-decoration-thickness: 2px; }
/* Factory evidence uses the paired content treatment from the brand pages. */
.dome-overview-company-evidence { display: block; }
.dome-overview-brand-evidence-body { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.7fr); gap: 2rem; align-items: center; }
.dome-overview-evidence-links { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem 1.25rem; }
.dome-overview-evidence-links a { display: inline-flex; min-height: 44px; align-items: center; }
#main-content.dome-overview-page .dome-overview-company-evidence { padding: 0; border: 1px solid var(--anchor-border); border-top: 4px solid var(--anchor-orange); border-radius: 8px; background: var(--anchor-surface); overflow: hidden; }
#main-content.dome-overview-page .dome-overview-company-evidence h2 { margin: 0 0 .75rem; color: var(--anchor-navy-dark); font-size: clamp(1.5rem, 2.2vw, 1.85rem); }
#main-content.dome-overview-page .dome-overview-company-evidence p { max-width: 44rem; margin: 0 auto .75rem; line-height: 1.6; }
#main-content.dome-overview-page .dome-overview-brand-evidence-body { padding: 1.5rem; }
#main-content.dome-overview-page .dome-overview-company-evidence figure { justify-self: center; }
#main-content.dome-overview-page .dome-overview-company-evidence figcaption { padding: .5rem 0 0; text-align: center; }
/* Reuse the site's single-review carousel with the approved Dome palette. */
#main-content.dome-overview-page .dome-overview-testimonials { --testimonial-accent: var(--anchor-orange); --testimonial-border: var(--anchor-border); --testimonial-heading: var(--anchor-navy-dark); --testimonial-surface: white; --testimonial-control-hover: var(--anchor-surface); }
#main-content.dome-overview-page .dome-overview-testimonials h2 { font-size: clamp(1.25rem, 2.2vw, 1.55rem); }
#main-content.dome-overview-page .testimonial-rotator-display blockquote { min-height: 0; max-width: 58rem; margin-inline: auto; border: 0; color: var(--anchor-ink); text-align: center; }
#main-content.dome-overview-page .testimonial-rotator-control { width: 44px; height: 44px; }
@media (min-width: 576px) {
    #main-content.dome-overview-page .dome-overview-testimonials.is-enhanced .testimonial-rotator-carousel { grid-template-columns: 44px minmax(0,1fr) 44px; }
}
#main-content.dome-overview-page .pool-dome-overview { padding: 1.5rem; border: 1px solid var(--anchor-border); border-radius: 8px; background: var(--anchor-surface); }
#main-content.dome-overview-page .pool-dome-overview p { max-width: 64rem; margin-inline: auto; }
#main-content.dome-overview-page .pool-dome-benefit-details { border: 1px solid var(--anchor-border); border-radius: 8px; background: var(--anchor-surface); gap: 0; }
#main-content.dome-overview-page .pool-dome-benefit-detail { padding: 1.5rem; text-align: center; }
#main-content.dome-overview-page .pool-dome-benefit-detail h3 { color: var(--anchor-navy-dark); }
#main-content.dome-overview-page .pool-dome-project-help { padding: 1.75rem; background: var(--anchor-navy); border-color: var(--anchor-navy); border-top-color: var(--anchor-orange); text-align: center; }
#main-content.dome-overview-page .pool-dome-project-help h2,
#main-content.dome-overview-page .pool-dome-project-help p { color: white; }
#main-content.dome-overview-page .pool-dome-project-help-actions { justify-content: center; }
#main-content.dome-overview-page .pool-dome-legacy-support { padding: 1.5rem; background: var(--anchor-surface); border: 1px solid var(--anchor-border); }
#main-content.dome-overview-page .pool-dome-legacy-support-intro,
#main-content.dome-overview-page .pool-dome-legacy-support-next-step { text-align: center; }
#main-content.dome-overview-page .pool-dome-legacy-brand { padding: 1.25rem; background: white; text-align: center; }
#main-content.dome-overview-page .pool-dome-legacy-brand h3 { color: var(--anchor-navy-dark); }
#main-content.dome-overview-page .dome-overview-resource-guide { padding: 0; margin-top: 2.5rem; overflow: hidden; border: 1px solid var(--anchor-border); border-radius: 8px; background: var(--anchor-surface); }
#main-content.dome-overview-page .dome-overview-resource-guide > h2 { margin: 0; padding: 1.5rem; border-bottom: 4px solid var(--anchor-orange); background: var(--anchor-navy); color: white; }
#main-content.dome-overview-page .dome-overview-resource-columns { margin: 0; padding: 1.5rem; gap: 1.5rem; }
#main-content.dome-overview-page .dome-overview-resource-columns > div { padding: 1.25rem; border: 1px solid var(--anchor-border); border-radius: 8px; background: white; }
#main-content.dome-overview-page .dome-overview-resource-columns h3 { text-align: center; color: var(--anchor-navy-dark); }
#main-content.dome-overview-page .dome-overview-resource-columns ul { width: fit-content; max-width: 100%; margin: 0 auto; padding-left: 1.25rem; text-align: left; }
#main-content.dome-overview-page .dome-overview-resource-columns a { display: inline-flex; align-items: center; min-height: 44px; }
#main-content.dome-overview-page .dome-overview-resource-guide > p { padding: 1.25rem; margin: 0; border-top: 1px solid var(--anchor-border); background: white; text-align: center; }
/* The overview helps visitors compare ranges before entering a product page. */
#main-content.dome-overview-page :is(.dome-overview-comparison,.dome-overview-installations,.dome-overview-buying-faq) > p { max-width: 54rem; margin: .75rem auto 1.25rem; }
#main-content.dome-overview-page .dome-overview-comparison-table thead th:first-child,
#main-content.dome-overview-page .dome-overview-comparison-table tbody th { width: 24%; }
#main-content.dome-overview-page .dome-overview-comparison-table th,
#main-content.dome-overview-page .dome-overview-comparison-table td { text-align: center; }
#main-content.dome-overview-page .dome-overview-comparison-table tbody th { background: var(--anchor-surface); }
#main-content.dome-overview-page .dome-overview-comparison-table a { display: inline-flex; align-items: center; min-height: 44px; }
.dome-overview-installation-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem; }
.dome-overview-installation-grid article { min-width: 0; padding: 1.25rem; border: 1px solid var(--anchor-border); border-radius: 8px; background: var(--anchor-surface); text-align: center; }
.dome-overview-installation-grid img { display: block; width: 100%; max-width: 600px; height: auto; aspect-ratio: 3 / 2; object-fit: contain; margin: 0 auto 1rem; }
#main-content.dome-overview-page .dome-overview-installation-grid h3 { font-size: 1.25rem; color: var(--anchor-navy-dark); }
.dome-overview-installation-grid p { margin: .75rem 0; line-height: 1.6; }
.dome-overview-installation-grid a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 700; }
#main-content.dome-overview-page .dome-overview-buying-faq { padding: 1.5rem; border: 1px solid var(--anchor-border); border-radius: 8px; background: white; }
#main-content.dome-overview-page .dome-overview-buying-faq .anchor-cover-faq-question { font-size: 1.1rem; }
@media (max-width: 699.98px) {
    #main-content.dome-overview-page .dome-overview-comparison-table tbody th { width: 100%; }
    #main-content.dome-overview-page .dome-overview-comparison-table td { border: 0; padding-top: .5rem; padding-bottom: .75rem; }
    .dome-overview-comparison-table td::before { content: attr(data-label); display: block; margin-bottom: .25rem; font-weight: 700; color: var(--anchor-navy-dark); }
}
@media (max-width: 767px) {
    .dome-overview-installation-grid { grid-template-columns: minmax(0,1fr); }
    #main-content.dome-overview-page .dome-overview-buying-faq { padding: 1rem; }
}
@media (max-width: 991px) {
    #main-content.dome-overview-page .dome-overview-brand-hero { grid-template-columns: minmax(0,1fr); }
    #main-content.dome-overview-page .anchor-cover-hero-media { order: 0; border-left: 0; border-top: 1px solid var(--anchor-border); }
    #main-content.dome-overview-page .anchor-cover-hero-photo img { aspect-ratio: auto; max-height: 28rem; object-fit: contain; }
    #main-content.dome-overview-page .pool-dome-product-grid-expanded .pool-dome-product-card { grid-template-columns: minmax(0,2fr) minmax(0,3fr); }
}
@media (max-width: 767px) {
    #main-content.dome-overview-page .anchor-cover-hero-copy { padding: 1rem; }
    #main-content.dome-overview-page .anchor-cover-hero-copy h1 { font-size: clamp(1.8rem, 6vw, 2.4rem); }
    #main-content.dome-overview-page .dome-overview-brand-highlights { grid-template-columns: 1fr; }
    #main-content.dome-overview-page .dome-overview-brand-highlights li { padding: .85rem 1rem; }
    #main-content.dome-overview-page .dome-overview-brand-highlights li + li { border-left: 0; border-top: 1px solid var(--anchor-border); }
    #main-content.dome-overview-page .pool-dome-product-grid-expanded { padding: 1rem; }
    #main-content.dome-overview-page .pool-dome-product-grid-expanded .pool-dome-product-card { grid-template-columns: minmax(0,1fr); }
    #main-content.dome-overview-page .pool-dome-product-grid-expanded .pool-dome-product-card > img { grid-column: 1; grid-row: auto; max-height: 17rem; }
    #main-content.dome-overview-page .pool-dome-product-grid-expanded .pool-dome-product-content { grid-column: 1; }
    .dome-overview-brand-evidence-body { grid-template-columns: minmax(0,1fr); gap: 1rem; }
    #main-content.dome-overview-page .dome-overview-resource-columns { grid-template-columns: minmax(0,1fr); padding: 1rem; }
    #main-content.dome-overview-page .pool-dome-products .pool-dome-section-heading,
    #main-content.dome-overview-page .dome-overview-resource-guide > h2 { padding: 1.25rem 1rem; }
}
