/* Final shared typography rules for every generated page. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.site-map{padding-bottom:55px}.site-map>p{font-size:18px;line-height:1.75;margin:22px 0 32px;max-width:76ch}.site-map-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 60px}.site-map-columns h2{font-size:26px;margin:20px 0}.site-map-columns ul{padding-left:22px}.site-map-columns li{font-size:17px;line-height:1.75;margin:12px 0}.site-map-columns a{color:var(--brown);text-decoration:underline;text-underline-offset:4px}@media(max-width:700px){.site-map-columns{grid-template-columns:1fr;gap:20px}.site-map>p{font-size:17px}}
body{font-size:16px;line-height:1.65}
main h1,main h2,main h3{overflow-wrap:break-word;text-wrap:balance}
main h1{line-height:1.15;letter-spacing:-.025em}
main h2{line-height:1.3}
main h3{line-height:1.4}
main p,main li,main dd{overflow-wrap:break-word}
main section,main article,main aside,main .option{min-width:0}
main .eyebrow,.product-eyebrow,.dialog-eyebrow{font-size:13px;line-height:1.6;letter-spacing:.07em}
.breadcrumb{font-size:14px;line-height:1.65;gap:6px 10px}
.breadcrumb>*{max-width:100%;overflow-wrap:anywhere}
.prose,.guide-body,.service-content{max-width:76ch}
.prose p,.prose li,.guide-body p,.guide-body li,.service-section p,.service-section li{font-size:18px;line-height:1.8;color:#514a43}
.page-hero p,.option p,.product-planning p,.care-about p,.service-help p{font-size:17px;line-height:1.75}
.page-hero .eyebrow{font-size:13px}
.guide-card p{font-size:16px;line-height:1.75}
.guide-meta,.guide-illustration figcaption,.guide-card-label,.guide-topic span{font-size:14px;line-height:1.6}
.guide-toc summary,.guide-toc a,.guide-back,.service-sidebar a{font-size:16px;line-height:1.6}
.guide-table table{font-size:16px;line-height:1.65}
.guide-topic-steps p{font-size:16px}
.faq summary,.guide-body .faq summary{font-size:18px;line-height:1.5}
.faq summary:after{flex-shrink:0}
.faq p,.guide-body .faq details p{font-size:17px;line-height:1.8}
.source-note,.photo-label,.product-payment,.product-note,.product-sources,.form-note,.form-error,.care-error,.care-file-list li{font-size:14px;line-height:1.7;color:#6a6057}
.hero .eyebrow{font-size:13px}
.hero-benefits{max-width:700px;gap:24px}
.hero-benefit{font-size:14px;line-height:1.5}
.hero-description{font-size:18px;line-height:1.6}
.category-card{height:300px}
.category-copy h3{font-size:23px;line-height:1.3}
.category-copy p{font-size:15px;line-height:1.55;color:#fff5e9}
.category-card:after{background:linear-gradient(0deg,#33281ef5 0%,#33281e75 45%,transparent 85%)}
.benefit{font-size:14px;line-height:1.6}
.benefit-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.project-caption h3{font-size:18px;line-height:1.4}
.project-caption p,.showcase-action,.showcase-label{font-size:14px;line-height:1.6}
.filter,.guide-filters button{font-size:15px;min-height:44px;line-height:1.5}
.video-card strong,.review-person strong{font-size:16px;line-height:1.5}
.video-card small,.review-person small,.review-card a,.review-links p{font-size:14px;line-height:1.6}
.review-excerpt-label,.review-context,.footer-requisites{font-size:14px;line-height:1.7}
.review-person time{font-size:14px;line-height:1.6}
.reviews>p{font-size:16px;line-height:1.7}
.contacts-map-link{font-size:15px;line-height:1.6}
.offer-body>p:not(.eyebrow){font-size:16px;line-height:1.7}
.review-card blockquote{font-size:16px;line-height:1.75}
.step h3{font-size:19px}.step p{font-size:16px;line-height:1.7}
.step-number{font-size:15px}.cta-copy p,.cta-details ul{font-size:16px;line-height:1.7}
.text-link{font-size:16px;line-height:1.5;white-space:normal}
.section-head>.text-link,.review-links .text-link{font-size:15px}
.kc-row-top h3{font-size:20px;line-height:1.4}
.kc-total{font-size:14px}
.showcase-card .project-caption .showcase-price{font-size:15px;line-height:1.65}
.kc-price-note,.kc-monthly-note,.kc-status{font-size:14px;line-height:1.6}
.kc-monthly-price-el{font-size:16px;line-height:1.6}
.kc-calc-btn{font-size:16px;min-height:48px;line-height:1.5}
.product-spec{font-size:17px;line-height:1.7}
.product-eyebrow{font-size:14px}
.product-back,.product-photo-controls{font-size:15px;line-height:1.6}
.product-zoom{font-size:14px}
.product-actions .btn{font-size:16px;line-height:1.5}
.btn{line-height:1.45;text-align:center}
.btn.small{font-size:15px}
.request-dialog label,.care-form .field label{font-size:16px;line-height:1.5}
.field input,.field select,.field textarea{font-size:16px;line-height:1.5}
.care-form input[type=file]{font-size:14px}
.dialog-intro,.step-count{font-size:16px;line-height:1.7}
.choice{font-size:16px!important;line-height:1.5}
.footer-bottom,.footer-bottom a,.footer-legal,.footer-identity p{font-size:14px;line-height:1.7}
.footer-column a{font-size:16px;line-height:1.6}
.preview-label{font-size:12px;line-height:1.5}
.header-nav-row .nav{font-size:16px}
.header-contact small{font-size:12px}
.mobile-nav a,.mobile-nav .nav-service>summary,.mobile-nav .service-dropdown a{font-size:16px;line-height:1.5}
.mobile-nav{max-height:calc(100dvh - 90px)}
@media(min-width:1100px) and (max-width:1399px){.header-nav-row .nav{font-size:15px}.header-inner>.callback-button{font-size:14px}.header-contact small{font-size:11px}}
@media(min-width:900px) and (max-width:1099px){.header-inner>.callback-button{font-size:13px}.header-contact small{font-size:11px}}
@media(max-width:1000px){.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.category-card{height:300px}.hero-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:500px}}
@media(max-width:700px){
 .prose p,.prose li,.guide-body p,.guide-body li,.service-section p,.service-section li{font-size:17px;line-height:1.8}
 .guide-article-heading h1,.guide-topic-page .guide-intro h1,.service-heading h1{font-size:clamp(30px,6.8vw,42px);line-height:1.2}
 .guide-intro h1{font-size:clamp(36px,9vw,48px);line-height:1.15}
 .guide-body h2,.service-section h2{font-size:27px;line-height:1.35}
 .guide-toc a,.guide-toc summary{font-size:16px}
 .guide-body .guide-table-hint{font-size:14px}
 .guide-topic h3{font-size:18px}
 .hero .eyebrow{font-size:12px;max-width:100%;margin-bottom:16px}
 .hero-inner{padding-bottom:300px}
 .hero h1{font-size:clamp(36px,8.6vw,48px);line-height:1.1}
 .hero-description{font-size:17px}
 .hero-benefit{font-size:14px}
 .hero-actions{flex-wrap:wrap}
 .hero-actions .btn{font-size:15px;padding:14px 16px;min-height:52px;flex:1 1 220px}
 .benefit-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}
 .benefit{font-size:14px;gap:10px;align-items:start}
 .benefit .icon-circle{width:36px;height:36px}
 .category-copy h3{font-size:23px;max-width:none}
 .category-copy p{font-size:15px;max-width:none}
 .page-hero h1{font-size:clamp(32px,7vw,42px);line-height:1.15}
 .product-description h1{font-size:34px;line-height:1.2}
 .product-eyebrow{font-size:14px}
 .product-spec{font-size:16px}
 .product-intro{font-size:17px}
 .video-grid{grid-template-columns:1fr}
 .video-card{display:grid;grid-template-columns:115px minmax(0,1fr);gap:4px 16px;text-align:left;align-items:center}
 .video-cover{grid-row:1/3;height:90px}
 .video-card strong{align-self:end}.video-card small{align-self:start}
 .review-links{flex-wrap:wrap}.review-links p{max-width:none}
 .step p{max-width:100%}
 .cta-copy h2{font-size:29px}
 .choice-grid,.form-row{grid-template-columns:1fr}
 .form-actions .btn{font-size:15px;min-width:0;padding:13px 16px}
 .product-planning>.text-link{flex-shrink:1}
}
@media(max-width:480px){
 .category-grid{grid-template-columns:1fr}.category-card{height:290px}
 .category-copy{left:20px;right:20px;bottom:24px;grid-template-columns:minmax(0,1fr) 40px}
 .category-copy .circle-arrow{width:40px;height:40px}
 .category-copy h3{font-size:25px}.category-copy p{font-size:16px}
 .benefit-strip{grid-template-columns:1fr;padding:22px;gap:18px}
 .benefit{font-size:16px;align-items:center}
 .service-sidebar{grid-template-columns:1fr}
 .showcase-bottom{align-items:start;flex-direction:column}
 .service-contact-links .btn{width:100%}
 .guide-project-cta{padding:22px}
 .guide-cta-actions .btn{width:100%;padding:15px;gap:10px}
 .footer-grid{gap:28px 18px}
}

.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
