/* Shared storefront levels; notes, price qualifiers, consent and legal text keep their sizes. */
:root{--tm-type-nav:13.2px;--tm-type-label:15.4px;--tm-type-body:15.4px;--tm-type-lead:17.6px}
body.rs-redesign .rs-nav .tm-menu-row .p2-links a,body.bv-page .bv-nav a,.sf-header nav a{font-size:var(--tm-type-nav)!important}
body.rs-redesign .rs-hero .tm-hero-intro,.sf-card-summary,.sf-card-top>p,.tm-intro>div,body.bv-page .bv-hero-copy>p:not(.bv-note):not(.bv-model):not(.bv-eyebrow){font-size:var(--tm-type-body)!important;line-height:1.7;word-break:keep-all;overflow-wrap:break-word}
body.rs-redesign :is(.tm-care-eyebrow,.tm-reform-eyebrow,.tm-install-eyebrow),body.rs-redesign .rs-hero #heroProductName,.sf-badge,body.bv-page .bv-eyebrow{font-size:var(--tm-type-label)!important}
body.rs-redesign :is(#care,#installation,#installation-process,#installation-space) .rs-section-title>p:not(.tm-care-eyebrow):not(.tm-install-eyebrow),body.rs-redesign .nx-allinone .nx-allinone-description,body.bv-page .bv-section-head>p{font-size:var(--tm-type-lead)!important;line-height:1.7}
body.rs-redesign :is(.tm-care-desc,.nx-install-copy p,.rs-section-title p,.tm-hero-intro,.nx-step p),body.rs-redesign #choose [data-group=care] .option span{word-break:keep-all;overflow-wrap:break-word;text-wrap:pretty}
/* Four distinct benefits with the same red emphasis as the monthly price. */
body.rs-redesign .rs-hero .rs-start-benefits strong{color:#ed002b;font-size:20px;font-weight:900;line-height:1.4;word-break:keep-all}
body.rs-redesign .rs-hero .rs-start-benefits>div:nth-child(-n+2) strong{font-size:25px}
body.rs-redesign .rs-hero .rs-start-benefits>div{padding:12px 10px;display:flex;flex-direction:column;justify-content:center;gap:5px}
/* One color per care plan, including the action. */
.tm-care-plan[data-plan=self]{--tm-plan-color:#192d50}.tm-care-plan[data-plan=warranty]{--tm-plan-color:#383d43}
.tm-care-plan:is([data-plan=self],[data-plan=warranty]) header,.tm-care-plan:is([data-plan=self],[data-plan=warranty]) .tm-care-calculate{background:var(--tm-plan-color);border-color:var(--tm-plan-color);color:#fff}
.tm-care-plan:is([data-plan=self],[data-plan=warranty]) header :is(h3,p){color:#fff}
.tm-care-plan header p{font-weight:650}
/* Separate the pre-form stages by surface and consistent boundaries. */
body.rs-redesign #care{background:#fff;padding-block:56px;border-bottom:1px solid #e5e7ec}
body.rs-redesign #installation{background:#f5f5f7;padding-block:48px;border-bottom:1px solid #e5e7ec}
body.rs-redesign #installation-process{background:#fff;padding-block:44px 28px;border-top:1px solid #e5e7ec}
body.rs-redesign #installation-check{background:#fff;padding-bottom:32px}
body.rs-redesign #installation-check .nx-before{background:#eaf0f5;border:1px solid #dde5ec;border-radius:20px}
body.rs-redesign #choose{background:#f5f5f7;border-top:1px solid #e0e3e9;padding-block:40px}
body.rs-redesign #installation .nx-allinone{margin-top:32px;border:1px solid #e4e6eb}
/* Installation cards: general / direct / built-in, desktop 3 columns, mobile stack. */
body.rs-redesign #installation .tm-install-eyebrow{color:#ed002b;font-weight:800;margin:0 0 12px}
body.rs-redesign #installation .nx-install-comparison{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;overflow:visible!important;padding:0;scroll-snap-type:none}
body.rs-redesign #installation .nx-install-comparison>article{width:auto!important;min-width:0!important;max-width:none!important;border-radius:24px;background:#fff;overflow:hidden;display:flex;flex-direction:column;padding-bottom:0}
body.rs-redesign #installation .nx-style-photo{height:auto;aspect-ratio:1.5;overflow:hidden}
body.rs-redesign #installation .nx-style-photo img{width:100%;height:100%;object-fit:cover;display:block}
body.rs-redesign #installation .nx-install-copy{padding:22px;text-align:left;background:#fff;flex:1}
.tm-install-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.tm-install-badges span{font-size:12px;font-weight:750;line-height:1.4;padding:6px 10px;border-radius:20px;background:#17191c;color:#fff}
.tm-install-badges .tm-install-free{background:#fff0f3;color:#ed002b}.tm-install-badges .tm-install-paid{background:#f0f0f3;color:#555b63}
body.rs-redesign #installation .nx-install-copy h3{font-size:21px;line-height:1.4;margin:0 0 10px}
body.rs-redesign #installation .nx-install-copy p{font-size:var(--tm-type-body);line-height:1.7;margin:0;color:#686d75}
body.rs-redesign #installation .nx-style-disclaimers{margin-top:28px}
/* Shorten option selection; names in selected-subscription remain visible. */
body.rs-redesign #choose .tm-inline-options{gap:14px}
body.rs-redesign #choose .tm-inline-options>.choice-section{padding:22px}
body.rs-redesign #choose .tm-inline-options .choice-heading{margin-bottom:16px}
body.rs-redesign #choose .tm-inline-options .choice-heading h3{margin:10px 0 0;font-size:22px}
body.rs-redesign #choose .tm-inline-options .group{padding-bottom:18px;margin-bottom:18px}
body.rs-redesign #choose .tm-inline-options .group:last-child{padding-bottom:0;margin-bottom:0}
body.rs-redesign #choose .tm-inline-options .group[hidden]{display:none!important}
body.rs-redesign #choose .tm-inline-options h4{margin-top:0;margin-bottom:12px}
body.rs-redesign #choose .tm-inline-options .model-card{min-height:82px;padding:12px}
body.rs-redesign #choose .tm-inline-options .model-card b{display:none}
body.rs-redesign #choose .tm-inline-options .model-card em{font-size:17px;font-weight:800;margin:0}
body.rs-redesign #choose .tm-inline-options .choice-fixed-note{margin:0;padding:14px}
body.rs-redesign #selected-subscription :is(#initialCostNote,.tm-ownership-note){display:none!important}
body.rs-redesign #selected-subscription #apply{margin-top:12px;padding-top:12px}
@media(max-width:700px){
 :root{--tm-type-lead:15.4px}
 body.rs-redesign .rs-hero .rs-start-benefits{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.rs-redesign .rs-hero .rs-start-benefits strong{font-size:19px}
 body.rs-redesign :is(#care,#installation){padding-block:32px}
 body.rs-redesign #installation .rs-section-title{text-align:left;margin-bottom:24px}
 body.rs-redesign #installation .rs-section-title h2{max-width:300px;font-size:29px;line-height:1.35}
 body.rs-redesign #installation .nx-install-comparison{grid-template-columns:minmax(0,1fr);gap:16px}
 body.rs-redesign #installation .nx-install-copy{padding:20px}
 body.rs-redesign #installation .nx-install-copy h3{font-size:20px}
 body.rs-redesign #installation .nx-allinone{padding:24px 16px}
 body.rs-redesign #installation-process{padding-top:32px}
 body.rs-redesign #choose{padding-block:32px}
 body.rs-redesign #choose .tm-inline-options>.choice-section{padding:18px 16px}
}

/* Straight lower edge for the AS artwork, preserving its source and lettering. */
body.rs-redesign #warranty .tm-as-banner-crop{width:100%;max-width:1050px;aspect-ratio:1920/920;overflow:hidden;margin:0 auto;background:#000}
body.rs-redesign #warranty .tm-as-banner-crop>img{display:block;width:100%;max-width:none;height:auto;aspect-ratio:auto;margin:0;padding:0;object-fit:contain}
.tm-care-once{display:block;margin-top:6px}
body.rs-redesign #selected-subscription .tm-callback-list{margin:8px 0 0;padding-left:16px;font-size:inherit;line-height:1.65}
body.rs-redesign #selected-subscription .tm-callback-list li{margin:5px 0;word-break:keep-all;overflow-wrap:break-word}

/* Keep installation tabs on one line, including narrow mobile viewports. */
body.rs-redesign :is(#installation-space,#installation-process) [role="tablist"]{container-type:inline-size}
body.rs-redesign :is(#installation-space,#installation-process) [role="tab"]{min-width:0;white-space:nowrap;word-break:normal;overflow-wrap:normal}
@media(max-width:767px){
 body.rs-redesign :is(#installation-space,#installation-process) [role="tab"]{padding-inline:4px;font-size:clamp(10px,3vw,14px)!important;font-size:clamp(10px,3.4cqw,14px)!important;letter-spacing:-.04em;line-height:1.4;min-height:44px}
}

/* Use the supplied rectangular AS artwork at its original proportions. */
body.rs-redesign .tm-as-banner-crop{aspect-ratio:auto;overflow:visible}
body.rs-redesign .tm-as-banner-crop img{display:block;width:100%;height:auto;object-fit:contain}
/* iOS text autosizing must not vary by schedule colspan / row width. Zoom stays available. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body.rs-redesign :is(#care,#care-schedule,#visit-care-details,#self-care-details),body.rs-redesign #care-schedule *{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body.rs-redesign #care-schedule .nx-timeline-bar>div{font-size:14px;line-height:1.5}
body.rs-redesign #care-schedule .nx-timeline-bar>small{font-size:12px;line-height:1.5}
body.rs-redesign #care-schedule .nx-timeline-count{font-size:12px}
@media(max-width:767px){body.rs-redesign #care-schedule .nx-timeline-bar>div{font-size:12px}body.rs-redesign #care-schedule :is(.nx-timeline-bar>small,.nx-timeline-count){font-size:11px}}

/* Mobile section headings share one scale and centered introductory copy. */
@media(max-width:900px){
 body.rs-redesign :is(#care,#installation) .rs-section-title{width:100%;text-align:center!important;margin-inline:auto}
 body.rs-redesign :is(#care,#installation) .rs-section-title :is(h2,p){margin-inline:auto;text-align:center!important}
 body.rs-redesign :is(#care,#installation,#installation-process) .rs-section-title h2,
 body.rs-redesign #choose .section-head h2{font-size:clamp(24px,6.5vw,28px)!important;line-height:1.35!important;letter-spacing:-.04em;word-break:keep-all;overflow-wrap:break-word}
 body.rs-redesign #installation .rs-section-title h2{max-width:100%}
}

/* Compact consent rows; checkbox, copy and disclosure share a center line. */
body.rs-redesign #selected-subscription .consent{display:flex;flex-direction:column;gap:0;margin-top:0;padding-top:8px}
body.rs-redesign #selected-subscription .consent-row{display:flex;align-items:center;gap:8px;min-height:38px;margin:0;padding:0}
body.rs-redesign #selected-subscription .consent-row label{display:flex;align-items:center;gap:9px;flex:1;min-width:0;margin:0;padding:6px 0;line-height:1.5}
body.rs-redesign #selected-subscription .consent-row input[type=checkbox]{flex:0 0 20px;width:20px;height:20px;margin:0;align-self:center}
body.rs-redesign #selected-subscription .consent-row label span{min-width:0;line-height:1.5}
body.rs-redesign #selected-subscription .consent-view{display:inline-flex;align-items:center;justify-content:center;align-self:center;min-height:38px;margin:0;padding:6px 4px;line-height:1.5}
body.rs-redesign #selected-subscription .optional-consents{margin-top:6px;padding-top:6px}
body.rs-redesign #selected-subscription .optional-consents-body{display:flex;flex-direction:column;gap:0;margin-top:0;padding-left:20px}
body.rs-redesign #selected-subscription .card-consents{margin-top:8px;padding-top:8px}

body.rs-redesign #selected-subscription .consent{border-top:0}

/* v198: keep the folded remodel banner within its mobile containing block.
   Auto width + the old 4/5 ratio transferred the 560px minimum height to width. */
body.rs-redesign #remodel .tm-remodel-banner{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
@media(max-width:700px){
 body.rs-redesign #remodel .tm-remodel-banner{aspect-ratio:auto;height:auto;min-height:560px}
 body.rs-redesign #remodel .tm-remodel-banner .tm-remodel-banner-copy{min-width:0;max-width:100%;overflow-wrap:break-word;box-sizing:border-box}
 body.rs-redesign>.sticky-mobile.tm-compact-sticky{width:100%;max-width:100%;min-width:0;box-sizing:border-box;left:0;right:0}
 body.rs-redesign>.tm-compact-sticky #stickyButton{min-width:0;max-width:100%;padding-inline:10px;font-size:12px}
}
