/* Reading scale shared by every page; load after component styles.
   Body 16–17px, actions 15px, labels 14px, ancillary text at least 13px
   at the browser's default size. rem units respect font-size preferences. */
:root{font-size:100%;--type-reading:1rem;--type-action:.9375rem;--type-label:.875rem;--type-small:.8125rem}
body{font-size:1rem;line-height:1.6}
.prose{max-width:70ch}
input,select,textarea{font-size:1rem;line-height:1.5}
label,.optional{font-size:var(--type-label);line-height:1.5}
.brand-name span{font-size:.625rem}
.eyebrow,.hero .eyebrow,.trade-hero-content .eyebrow,.trade-path .eyebrow,.scene-detail-content .eyebrow{font-size:var(--type-small);line-height:1.6;letter-spacing:.09em}
.breadcrumb{flex-wrap:wrap;gap:8px 12px;font-size:var(--type-label);line-height:1.6}
.main-nav{font-size:var(--type-action);gap:clamp(16px,1.45vw,24px)}
.main-nav .button{font-size:var(--type-label);gap:12px;padding-inline:16px}
.button,.text-link,.hero-actions .button,.hero-actions .text-link,.trade-hero-actions .button,.trade-hero-actions .text-link,.trade-service-rows .text-link,.trade-launch .text-link,.trade-stc-bottom .text-link,.trade-contact-actions .text-link{font-size:var(--type-action);line-height:1.5}
.tabs button,.filter-bar button,.trade-tabs button{font-size:var(--type-action);line-height:1.5}
.tabs,.filter-bar{flex-wrap:wrap;gap:8px 24px}
.hero-copy,.page-hero .intro-text,.section-top>p,.solution-copy p:not(.eyebrow),.rebate-info>p:not(.note),.company-banner p:not(.eyebrow),.content-section p:not(.eyebrow):not(.note):not(.source-note):not(.commercial-sources),.content-section ul,.content-section ol,.product-detail .lead,.product-detail p:not(.eyebrow):not(.source-note),.contact-copy p:not(.eyebrow):not(.note),.solution-intro p:not(.eyebrow):not(.note),.scene-heading>p,.scene-caption p:not(.scene-caption-number),.scene-detail-content>p:not(.eyebrow),.commercial-benefit-list p,.commercial-evidence p,.trade-hero-content>p:not(.eyebrow),.trade-section-heading>p,.trade-service-rows p,.trade-path p:not(.eyebrow),.trade-path ol,.trade-training-intro>div>p:not(.eyebrow),.trade-credentials>div>p:not(.eyebrow),.trade-launch>div>p:not(.eyebrow),.trade-learning-list li p,.trade-provider-section>div:first-child p,.trade-provider-links span,.trade-stc-steps p,.trade-launch-list p,.trade-enquiry p:not(.trade-contact-address),.trade-enquiry ul,.cta-section p:not(.eyebrow){font-size:var(--type-reading);line-height:1.7}
details p,.trade-credentials .faq-list p{font-size:var(--type-reading)!important;line-height:1.7}
.note,.trade-checked,.trade-contact-address{font-size:var(--type-label)!important;line-height:1.7}
.form-note,.form-status,.form-alternatives,.source-note,.product-spec,.product-bottom,.spec-list dt,.footer-brand p,.footer-group a,.footer-group address,.footer-group h3,.rebate-program span{font-size:var(--type-label);line-height:1.7}
.footer-bottom{font-size:var(--type-small);line-height:1.7}
.product-type,.assurance small,.solution-caption,.trade-source,.trade-provider-links small,.trade-final-note p,.trade-stc-bottom>p,.commercial-sources,.scene-figure figcaption,.scene-footnote>p,.scene-caption-number{font-size:var(--type-small);line-height:1.65}
.scene-controls-intro{font-size:var(--type-action);line-height:1.5}
.scene-mode-label{font-size:var(--type-action);line-height:1.35}
.scene-mode-description{font-size:var(--type-small);line-height:1.5}
.scene-modes button{min-height:92px}
.scene-detail-content .text-link,.scene-solution-link{font-size:var(--type-action);line-height:1.5;white-space:normal}
.scene-hotspot-label{font-size:var(--type-label);line-height:1.35}
.scene-hotspot-pin>span{font-size:var(--type-small)}
.scene-location,.scene-location>span:last-child,.scene-time,.scene-count{font-size:var(--type-small);line-height:1.5}
.scene-detail-close{min-width:44px;min-height:44px}
.commercial-balance span,.commercial-balance small,.commercial-peak-example>div>span,.commercial-peak-example strong{font-size:var(--type-label);line-height:1.5}
.commercial-peak-example>div{grid-template-columns:minmax(110px,1.4fr) minmax(40px,2fr) 65px;gap:12px}
.commercial-peak-example>small,.commercial-scene .commercial-example-label{font-size:var(--type-small)!important;line-height:1.65}
.commercial-scene .commercial-example-label{color:#59675d!important}
.commercial-scene .commercial-peak-example>p{font-size:var(--type-label)!important;line-height:1.6}
.scene-figure figcaption,.scene-footnote>p,.source-note,.resource-row .number{color:#59675d}
.scene-caption{grid-template-columns:minmax(135px,.35fr) minmax(0,1fr)}
.scene-caption-row>*{min-width:0}
.scene-details{width:min(380px,calc(100% - 52px))}
.commercial-scene .scene-details{width:min(390px,calc(100% - 52px))}
.trade-provider-links>a>span:last-child{font-size:1.125rem}
.trade-number,.trade-learning-list li>span,.trade-launch-list li:before{color:#a44822}
@media(min-width:1101px){:root{--type-reading:1.0625rem}}
/* Give the larger navigation text space on small laptops and tablets. */
@media(max-width:1280px){
  .utility-bar{display:none}.header-inner{height:76px}.menu-button{display:block}
  .main-nav{display:none;position:absolute;top:76px;left:0;right:0;background:white;padding:20px var(--gutter) max(30px,env(safe-area-inset-bottom));box-shadow:0 10px 20px #0001;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100dvh - var(--header-height,76px));overflow-y:auto;overscroll-behavior:contain}
  .main-nav.is-open{display:flex}.main-nav>a:not(.button){padding:16px 0}.main-nav>a[aria-current=page]:after{bottom:10px;width:40px}.main-nav .button{margin-top:10px;align-self:flex-start}
}
@media(max-width:1023px){
  .scene-hotspot-label{clip-path:inset(50%);width:1px;height:1px;padding:0;border:0;overflow:hidden;white-space:nowrap}
  .scene-caption-row{display:block}.scene-caption{grid-template-columns:135px minmax(0,1fr)}.scene-solution-link{margin-top:22px;max-width:none}
}
@media(max-width:760px){
  .scene-heading h2{font-size:clamp(2.375rem,9.5vw,3rem)}
  .scene-caption{display:block}.scene-details,.commercial-scene .scene-details{width:auto}
  .scene-mode-icon{display:none}.scene-modes button{grid-template-columns:minmax(0,1fr) 14px}
  .scene-time{bottom:10px;left:11px;right:11px}.scene-location{top:10px;left:11px}
  .commercial-caption-heading{display:block}
}
@media(max-width:640px){
  .header-inner{height:72px}.main-nav{top:72px}
  .hero,.trade-hero{height:auto;min-height:calc(100svh - var(--header-height,72px));max-height:none}
  .hero-content{padding-top:clamp(42px,8vh,64px);padding-bottom:135px}
  .hero h1{font-size:clamp(2.375rem,11vw,3.625rem);line-height:1.08}
  .trade-hero h1{font-size:clamp(2.25rem,10.5vw,3.5rem);line-height:1.1}
  .hero-copy,.trade-hero-content>p:not(.eyebrow){max-width:34ch}
  .hero .eyebrow,.trade-hero-content .eyebrow{max-width:31ch}
  .hero-bottom{flex-wrap:wrap;align-items:flex-start;gap:8px 18px;padding-top:12px;bottom:18px;font-size:var(--type-small);letter-spacing:.04em}
  .hero-bottom>a{min-height:34px}.hero-bottom .photo-note{font-size:var(--type-small);max-width:none;text-align:left;line-height:1.5}
  .trade-hero-content{padding-bottom:90px}.trade-image-note{font-size:var(--type-small);line-height:1.5}
  .page-hero h1{font-size:clamp(2.5rem,10.5vw,3rem);line-height:1.12}
  .product-detail h1{font-size:clamp(2.375rem,10.5vw,2.9375rem);line-height:1.12}
  .filter-bar{column-gap:18px}.filter-bar button{min-height:48px}
  .footer-group a{min-height:40px;padding-block:8px}
  .spec-list{column-gap:12px}.spec-list dd{font-size:1.25rem;line-height:1.4;overflow-wrap:anywhere}
}
@media(max-width:360px){.hero-actions .button{gap:14px;padding-inline:14px}.scene-modes button{padding:10px;gap:5px}.commercial-peak-example>div{grid-template-columns:minmax(85px,1.3fr) minmax(30px,1fr) 62px;gap:9px}}
