/* Shared reading scale, loaded last on every customer page. */
:root{
  --copy-size:clamp(.9375rem,.9rem + .16vw,1rem);
  --detail-size:clamp(.8125rem,.78rem + .15vw,.875rem);
  --section-size:clamp(1.5rem,1.2rem + 1vw,2rem);
}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-size:1rem;line-height:1.6}
.eyebrow,.hero .eyebrow,.section-intro .eyebrow,.workspace-heading .eyebrow,.prepare-panel .eyebrow,.social-heading .eyebrow,.contact-strip .eyebrow,.store-page-head .eyebrow{font-size:.6875rem;line-height:1.7;letter-spacing:.12em}
.eyebrow>.eyebrow-dot{flex:none}
.section-intro .eyebrow,.workspace-heading .eyebrow,.prepare-panel .eyebrow,.social-heading .eyebrow{margin:0 0 10px}
.section-intro,.workspace-heading>div,.prepare-panel>div{min-width:0}
.hero-content,.calculator-layout>*,.store-columns>*,.product-layout>*,.store-filters>*,.steps-grid>*,.guide-grid>*{min-width:0}
.hero h1{font-size:clamp(2rem,1.4rem + 2.6vw,3.5rem);line-height:1.16;letter-spacing:-.035em;overflow-wrap:break-word}
.hero h1 em{font-size:inherit;letter-spacing:inherit}
.hero-description{font-size:var(--copy-size);line-height:1.8;max-width:50ch}
.hero-footnote{font-size:var(--detail-size);line-height:1.7;flex-wrap:wrap}
.hero-cta,.hero-secondary{font-size:.875rem;line-height:1.6;min-height:44px}
.workspace-heading h2,.section-intro h2,.how-it-works .section-intro h2,.prepare-panel h2{font-size:var(--section-size);line-height:1.3;letter-spacing:-.025em;max-width:30ch}
.workspace-heading>p,.category-heading p,.split-intro>p,.browse-controls>p,.steps-grid p,.prepare-panel>div>p:last-child,.prepare-list p,.order-info p,.hours-intro,.launch-card p{font-size:var(--detail-size);line-height:1.8}
.category-heading h3,.guide-card h3{font-size:clamp(1.125rem,1rem + .4vw,1.375rem);line-height:1.4}
.category-nav a{font-size:.8125rem;line-height:1.5;min-height:44px;display:inline-flex;align-items:center}
.service-card h4{font-size:clamp(1.0625rem,1rem + .24vw,1.1875rem);line-height:1.4;letter-spacing:-.015em;min-height:0;overflow-wrap:break-word}
.catalog-category .service-description{font-size:.875rem;line-height:1.8;min-height:0}
.service-card .service-help summary{font-size:var(--detail-size);line-height:1.6;min-height:44px;padding-block:11px}
.service-card .service-help p,.service-card .service-help .roman-help{font-size:.875rem;line-height:1.8}
.service-card .price-note{font-size:var(--detail-size);line-height:1.7}
.service-card .quantity-heading,.service-card .quantity-heading output{font-size:.8125rem;line-height:1.6}
.service-card .quantity-heading{gap:12px;min-height:40px}
.service-price strong{font-size:clamp(1.5rem,1.3rem + .6vw,1.875rem);line-height:1.3;letter-spacing:-.025em}
.service-price span,.service-shop-actions>a,.service-shop-actions .store-save{font-size:.8125rem;line-height:1.6}
.guide-card p,.guide-card .roman-help,.guide-card details p,.faq-item p{font-size:var(--copy-size);line-height:1.85}
.guide-card summary{font-size:.875rem;line-height:1.65;min-height:44px;padding-block:10px}
.faq-item summary{font-size:var(--copy-size);line-height:1.7;padding-block:18px}
.steps-grid h3{font-size:1rem;line-height:1.5}
.offers-grid p,.offers-grid .offer-small,.item-promotion>p,.item-promotion>small,.ad-copy p{font-size:var(--detail-size);line-height:1.8}
.offers-grid h3{font-size:clamp(1.25rem,1.1rem + .5vw,1.5rem);line-height:1.4}
.offers-grid .offer-price{font-size:clamp(1.875rem,1.5rem + 1.2vw,2.5rem)!important;line-height:1.35!important;overflow-wrap:anywhere}
.offer-price>span,.package-grid span,.offer-link,.visit-actions>a{font-size:.8125rem;line-height:1.6}
.package-grid strong{font-size:1rem;line-height:1.5}
.hours-table{font-size:var(--detail-size);line-height:1.7}
.hours-table caption{font-size:.8125rem}
.hours-table td{white-space:normal}
.estimate-heading .eyebrow,#selection-count,.summary-row small,.total-block small,.order-hint,.estimate-footer span{font-size:.8125rem;line-height:1.7;letter-spacing:0}
.estimate-heading button{min-height:44px;font-size:.8125rem}
.empty-summary,.summary-name,.summary-row strong,.total-block>span,.quote-note,.order-button,.calculator-note p{font-size:.875rem;line-height:1.7}
.summary-row>div{min-width:0}
.summary-name{overflow-wrap:break-word}
.order-button{min-height:48px}
.store-page-head h1{font-size:clamp(1.875rem,1.3rem + 2.1vw,2.75rem);line-height:1.2;letter-spacing:-.03em;overflow-wrap:break-word}
.store-page-head>p:last-child,.store-panel p,.store-panel li,.policy-body p,.policy-body li,.store-panel address,.product-value p{font-size:var(--copy-size);line-height:1.85}
.store-panel h2{font-size:clamp(1.25rem,1.1rem + .5vw,1.5rem);line-height:1.4;letter-spacing:-.02em}
.store-card h2{font-size:1.25rem;line-height:1.4}
.store-card-copy>p:not(.store-price):not(.store-kicker){font-size:.875rem;line-height:1.8}
.store-main .store-help{font-size:.875rem!important;line-height:1.8}
.store-notice,.store-error,.store-main label,.store-option,.store-review-row strong,.store-review-row>b,.store-cart-line>p,.store-status,.store-agree,.checkout-form .store-agree{font-size:.875rem;line-height:1.75}
.store-review-row small,.store-price>span,.store-field-error,.order-payment-note span,.order-timeline small{font-size:.8125rem;line-height:1.75}
.store-primary,.store-secondary,.store-estimate-button,.store-card-actions .store-primary,.store-card-actions .store-secondary,.store-save,.store-remove,.store-text-link,.store-shortcuts a{font-size:.875rem;line-height:1.6}
.store-filters label,.search-field label,.offer-category-label{font-size:.875rem;line-height:1.6}
/* 16px controls stay readable and avoid focus zoom in mobile browsers. */
.store-main input:not([type="checkbox"]),.store-main select,.store-main textarea,.search-field input,.offer-category-label select,.stepper input{font-size:1rem;line-height:1.5;min-height:46px}
.search-field input::placeholder{font-size:.875rem}
.store-filters{grid-template-columns:minmax(0,1.7fr) repeat(2,minmax(0,1fr))}
.store-main textarea{width:100%}
.policy-body{max-width:76ch}
.page-breadcrumbs,.about-quicklinks>a,.about-outline a{font-size:.875rem;line-height:1.7}
.chrome-desktop-nav>a,.chrome-mobile-nav a,.chrome-footer-group>a,.chrome-footer-social>div>a{font-size:.875rem;line-height:1.7}
.chrome-footer-business address,.chrome-footer-intro{font-size:.875rem;line-height:1.85}
.chrome-hours,.chrome-friday,.chrome-footer-social>p,.chrome-footer-social .chrome-files-note,.chrome-footer-bottom>p,.chrome-policy-links>a,.chrome-back-top{font-size:.8125rem;line-height:1.8}
.chrome-footer-social .chrome-footer-chat{font-size:.875rem}
.chrome-brand-copy strong{overflow-wrap:break-word}
.popup-intro,.update-choices p,.direct-chat-note,.review-checklist ul{font-size:var(--copy-size);line-height:1.8}
.popup-deal-card>p,.popup-deal-card li,.popup-footer p,.popup-small,.popup-status{font-size:.875rem;line-height:1.8}
.popup-primary,.popup-secondary,.popup-deal-card .popup-primary{font-size:.875rem;line-height:1.6}
.review-line{align-items:flex-start}
.review-line>div{min-width:0}
.review-line>b{white-space:normal;text-align:right;max-width:45%;overflow-wrap:anywhere}
.page-helper{background:#edf0e7;border:1px solid #cad4bf;border-radius:12px;padding:16px 20px;margin:0 0 24px;min-width:0}
.page-helper>summary{min-height:44px;padding:9px 0;font-size:.9375rem;line-height:1.65;font-weight:600;cursor:pointer}
.page-helper>p,.page-helper #helper-feedback{font-size:.875rem;line-height:1.8;max-width:72ch}
.page-helper-fields{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}
.page-helper-fields label{display:flex;flex-direction:column;gap:8px;font-size:.875rem;line-height:1.65;font-weight:600;min-width:0}
.page-helper-fields select,.page-helper-fields input{width:100%;min-width:0;min-height:46px;padding:11px 12px;font:inherit;font-size:1rem;line-height:1.5;border:1px solid #aabca9;border-radius:8px;background:#fff;color:#183242}
.page-helper-fields [aria-invalid="true"]{border-color:#a4372b}
.page-helper-result{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px 20px;padding:18px 0;font-size:.875rem;line-height:1.6}
.page-helper-result p{margin:0}
.page-helper-result output{font-size:1.25rem;font-weight:600;overflow-wrap:anywhere}
.page-helper-result>output{color:#214f3d}
.page-helper #helper-error{margin:0 0 16px;font-size:.875rem}
.page-helper #helper-feedback:empty{display:none}
.page-helper .page-helper-note{font-size:.8125rem;color:#52666a;margin-bottom:0}
.shop-hours-status{display:flex;flex-direction:column;gap:4px;max-width:44ch;margin:18px 0;font-size:.875rem;line-height:1.75;color:#486067}
.shop-hours-status strong{display:flex;align-items:baseline;gap:8px;font-size:inherit;font-weight:600}
.shop-hours-status strong::before{content:"";display:inline-block;flex:none;width:7px;height:7px;border-radius:50%;background:#ad7c3a}
.shop-hours-status[data-open="true"] strong::before{background:#2b8053}
.shop-hours-status small{font-size:.8125rem;font-weight:400;line-height:1.7}
.shop-footer .shop-hours-status{color:#e3e9e8}
.shop-footer .shop-hours-status small{color:#b9c9ce}
.shop-footer .shop-hours-status strong::before{background:#e3bb7d}
.shop-footer .shop-hours-status[data-open="true"] strong::before{background:#84c497}
.chrome-footer-controls>[data-shop-signout]{display:inline-flex;align-items:center;min-height:44px;font-size:.8125rem;line-height:1.7;text-decoration:underline;text-underline-offset:4px}
.device-controls{margin-top:24px}
.device-controls .store-agree{display:flex;align-items:flex-start;gap:12px;min-height:44px;margin:20px 0;font-weight:400}
.device-controls input[type="checkbox"]{flex:none;width:21px;height:21px;margin-top:3px}
.account-section{margin-top:28px}
.account-section>h2{font-size:var(--section-size);line-height:1.35;margin:0 0 12px}
.account-section>p{font-size:var(--copy-size);line-height:1.8;max-width:72ch}
.account-form{max-width:720px}
.account-form>label:not(.account-agree){display:flex;flex-direction:column;gap:8px;font-size:.875rem;font-weight:600;margin:20px 0}
.account-form input:not([type="checkbox"]){width:100%}
.account-agree{display:flex;align-items:flex-start;gap:12px;min-height:44px;font-size:.875rem;line-height:1.8;margin:20px 0}
.account-agree input{flex:none;width:21px;height:21px;margin-top:3px}
.account-agree a{text-decoration:underline;text-underline-offset:4px}
.account-welcome>h2{font-size:clamp(1.5rem,1.2rem + 1vw,2rem);overflow-wrap:anywhere}
.account-welcome>p{overflow-wrap:anywhere}
.account-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:520px}
.account-stats>div{display:flex;flex-direction:column;gap:5px;background:#edf0e7;padding:18px;border-radius:10px;font-size:.875rem;line-height:1.7}
.account-stats strong{font-size:1.75rem;line-height:1.4}
.account-close{margin-top:24px;border-top:1px solid #d8dfd3;padding-top:16px}
.account-close>summary{min-height:44px;padding:10px 0;font-size:.9375rem;font-weight:600;cursor:pointer}
#account-favourite-list{margin-top:18px}

@media(max-width:1000px){
  .calculator-layout{grid-template-columns:minmax(0,1fr)}
  .estimate{position:static}
  .empty-summary{max-width:none}
}
@media(max-width:760px){
  .workspace-heading{display:block}
  .workspace-heading>p{margin-top:14px}
  .prepare-list{margin-top:24px}
  .page-helper-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
  .page-helper-fields>label:first-child{grid-column:1/-1}
  .hero{grid-template-columns:minmax(0,1fr);gap:28px}
  .hero-description{max-width:55ch}
  .brand-showcase{max-width:420px;justify-self:center}
  .steps-grid{grid-template-columns:1fr;gap:22px}
  .split-intro{display:block}
  .split-intro>p{max-width:60ch;margin-top:14px}
  .store-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .store-filters>label:first-child{grid-column:1/-1}
  .product-layout{grid-template-columns:minmax(0,1fr)}
  .product-art{max-width:480px;width:100%;justify-self:center;aspect-ratio:4/3}
  .mobile-estimate small,.mobile-estimate b{font-size:.8125rem;line-height:1.6}
  .mobile-estimate strong{font-size:1.125rem;line-height:1.5}
  .mobile-estimate{padding-inline:18px}
}
@media(max-width:600px){
  .page-helper{padding:14px 18px}
  .page-helper-fields{gap:12px}
  .page-helper #helper-apply{width:100%}
  .hero{padding:28px 18px 32px}
  .hero h1{max-width:19ch}
  .hero-footnote{gap:6px 9px}
  .services-grid{grid-template-columns:minmax(0,1fr)}
  .service-card{padding:22px 20px}
  .service-card h4{font-size:1.125rem}
  .store-main{padding-inline:18px}
  .store-panel,.store-cart-line{padding:22px 20px}
  .store-card-copy{padding:22px}
  .store-card-actions{gap:8px}
  .store-filters{gap:12px}
  .store-filters>label{grid-column:1/-1}
  .chrome-footer-group h2{font-size:1rem}
  .chrome-footer-grid{gap:26px 18px}
  .about-quicklinks{grid-template-columns:minmax(0,1fr)}
  .customer-popup{padding:22px 18px}
}
@media(max-width:359px){
  .page-helper-fields{grid-template-columns:minmax(0,1fr)}
  .hero,.workspace,.content-section,.store-main{padding-inline:14px}
  .service-card,.store-panel,.store-cart-line,.store-card-copy{padding:20px 16px}
  .chrome-footer-grid{grid-template-columns:minmax(0,1fr)}
  .mobile-estimate{padding-inline:14px;gap:9px}
  .mobile-estimate b{flex-basis:94px}
}
@media print{body{font-size:11pt}.store-main{padding:0}.policy-body{max-width:none}}
