/* Small compatibility additions; the original layout rules remain in page.css. */
html, body { margin: 0; padding: 0; background: #fff; }
body { font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.tc-page .gallery { aspect-ratio: 1200 / 812; }
.tc-page .gallery > img { height: 100%; }
.tc-page .tc-gallery-picture { display: block; width: 100%; height: 100%; }
.tc-page .tc-gallery-picture > img { display: block; width: 100%; height: 100%; object-fit: cover; aspect-ratio: 1200 / 812; }
.tc-page .plan-card .tc-image-frame { position: relative; display: block; width: 82px; height: 82px; }
.tc-page .plan-card .tc-image-frame > img { width: 100%; height: 100%; object-fit: contain; }
.tc-media-pending { position: relative; }
.tc-media-note { position: absolute; inset: 0; display: grid; place-items: center; padding: 8px; font: 500 12px/1.4 system-ui,sans-serif; text-align: center; color: #687483; background: #f1f3f5; }
.tc-page .gallery .tc-media-note { font-size: 14px; z-index: 0; }
.tc-page .gallery-arrow, .tc-page .gallery .dots, .tc-page .fit-badge { z-index: 1; }
.tc-ref-texture-image-wrap, .tc-ref-preview-box { position: relative; }
.tc-ref-preview-box .tc-media-note { inset: 45px 12px; }
.tc-ref-modal [hidden], .tc-video-shell [hidden] { display: none !important; }
.tc-page .tc-video-shell { position: relative; width: 100%; aspect-ratio: 3 / 4; overflow: hidden; background: #111; border-radius: 12px; }
.tc-page .tc-video-shell video { display: block; width: 100%; height: 100%; margin: 0; }
.tc-page .tc-video-play { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; padding: 0; cursor: pointer; background: #111; }
.tc-page .tc-video-play > img { width: 100%; height: 100%; object-fit: cover; }
.tc-page .tc-video-play > span { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: grid; place-items: center; width: 54px; height: 54px; border-radius: 50%; background: #ffffffed; color: #101722; font-size: 22px; }
.tc-ref-modal button:disabled { cursor: default; opacity: .65; }
.tc-page :focus-visible, .tc-ref-backdrop :focus-visible { outline: 3px solid #16852e; outline-offset: 3px; }
@media (max-width: 480px) {
  .tc-page .plan-card .tc-image-frame { width: 75px; height: 85px; }
  .tc-page select { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  html, .tc-page { scroll-behavior: auto; }
}

/* Measured below-fold reserves. Native containment avoids laying out the entire page before the hero. */
@supports (content-visibility: auto) {
.benefits-section, .compare-section, .spec-section, .trust-strip, .reviews-section, .faq-section, .guarantee-section, .final-cta, .about-section, footer { content-visibility: auto; contain-intrinsic-block-size: auto var(--tc-reserved-height); }
.benefits-section { --tc-reserved-height: 1296px; }
.compare-section { --tc-reserved-height: 468px; }
.spec-section { --tc-reserved-height: 378px; }
.trust-strip { --tc-reserved-height: 112px; }
.reviews-section { --tc-reserved-height: 787px; }
.faq-section { --tc-reserved-height: 544px; }
.guarantee-section { --tc-reserved-height: 214px; }
.final-cta { --tc-reserved-height: 360px; }
.about-section { --tc-reserved-height: 398px; }
footer { --tc-reserved-height: 300px; }
@media (min-width: 768px) and (max-width: 1024px) {
.benefits-section { --tc-reserved-height: 2088px; }
.compare-section { --tc-reserved-height: 1258px; }
.spec-section { --tc-reserved-height: 722px; }
.trust-strip { --tc-reserved-height: 120px; }
.reviews-section { --tc-reserved-height: 3649px; }
.faq-section { --tc-reserved-height: 540px; }
.guarantee-section { --tc-reserved-height: 303px; }
.final-cta { --tc-reserved-height: 351px; }
.about-section { --tc-reserved-height: 748px; }
footer { --tc-reserved-height: 800px; }
}
@media (max-width: 767px) {
.benefits-section { --tc-reserved-height: 2196px; }
.compare-section { --tc-reserved-height: 793px; }
.spec-section { --tc-reserved-height: 722px; }
.trust-strip { --tc-reserved-height: 120px; }
.reviews-section { --tc-reserved-height: 2330px; }
.faq-section { --tc-reserved-height: 540px; }
.guarantee-section { --tc-reserved-height: 398px; }
.final-cta { --tc-reserved-height: 406px; }
.about-section { --tc-reserved-height: 848px; }
footer { --tc-reserved-height: 821px; }
}
@media (max-width: 410px) {
.benefits-section { --tc-reserved-height: 2272px; }
.compare-section { --tc-reserved-height: 734px; }
.spec-section { --tc-reserved-height: 758px; }
.trust-strip { --tc-reserved-height: 120px; }
.reviews-section { --tc-reserved-height: 2170px; }
.faq-section { --tc-reserved-height: 557px; }
.guarantee-section { --tc-reserved-height: 418px; }
.final-cta { --tc-reserved-height: 426px; }
.about-section { --tc-reserved-height: 848px; }
footer { --tc-reserved-height: 821px; }
}
@media (max-width: 382px) {
.benefits-section { --tc-reserved-height: 2272px; }
.compare-section { --tc-reserved-height: 712px; }
.spec-section { --tc-reserved-height: 758px; }
.trust-strip { --tc-reserved-height: 120px; }
.reviews-section { --tc-reserved-height: 2110px; }
.faq-section { --tc-reserved-height: 557px; }
.guarantee-section { --tc-reserved-height: 418px; }
.final-cta { --tc-reserved-height: 476px; }
.about-section { --tc-reserved-height: 848px; }
footer { --tc-reserved-height: 821px; }
}
@media (max-width: 345px) {
.benefits-section { --tc-reserved-height: 2356px; }
.compare-section { --tc-reserved-height: 651px; }
.spec-section { --tc-reserved-height: 758px; }
.trust-strip { --tc-reserved-height: 120px; }
.reviews-section { --tc-reserved-height: 1944px; }
.faq-section { --tc-reserved-height: 627px; }
.guarantee-section { --tc-reserved-height: 476px; }
.final-cta { --tc-reserved-height: 499px; }
.about-section { --tc-reserved-height: 926px; }
footer { --tc-reserved-height: 842px; }
}
}
