/* A readable storefront at its actual viewport; controls never shrink with headings. */
body{font-size:18px;line-height:1.65}
.section-label,.product-category,.step-no,.story-counter,.story-tabs button{font-size:14px;line-height:1.5}
.section-intro,.brand-heading>p,.master-note,.bundle-copy>p:not(.section-label),.help-intro>p:last-child,.questions-heading>p:last-child{font-size:18px;line-height:1.65}
.section-intro .quiet,.catalog-note,.benefit-foot,.brand-grid .tech-source,.brand-grid h3 small,.master-role,.master-meta,.master-demo,.inquiry-note,.demo-note,.assistant-note,.footer-bottom,.status-track li,.done-busy,.message-head,.message-head>span:last-child{font-size:14px;line-height:1.6}
.benefit-grid p,.brand-grid p,.master-card>p,.process p,.faq details p,.dialog-product p,.point-card p{font-size:18px;line-height:1.65}
.brand-grid h4{font-size:21px;line-height:1.35}
.brand-grid .brand-model{font-size:16px!important}
.brand-action,.master-card .text-button,.text-button,.footer-link,.selection-next .text-button{font-size:17px;line-height:1.45}
.primary-button,.cta{font-size:18px;min-height:64px;line-height:1.45}
.hero-header nav a{font-size:16px}.hero-header nav{gap:20px}
.hero-note{font-size:16px;line-height:1.55}.hero-desc{font-size:18px;line-height:1.65}.hero-secondary{font-size:16px}
.tool-portrait figcaption,.scroll-cue{font-size:14px}
.brand-photo{height:280px;background:#e4e6e2;isolation:isolate}
.brand-photo img{mix-blend-mode:multiply;padding:18px;object-fit:contain}
.dialog-product-image{background:#e4e6e2;isolation:isolate}
.dialog-product-image img{mix-blend-mode:multiply}
.svc .product-image{background:#e4e6e2;isolation:isolate}
.svc .product-image img{mix-blend-mode:multiply}
.svc:last-child .product-image{background:#e3e8d8}
.svc:last-child .product-image img{mix-blend-mode:normal}
.bundle .text-button{font-size:17px}
.svc .product-category{font-size:14px;line-height:1.45}
.svc .svc-name{font-size:26px;line-height:1.2;min-height:64px}
.svc .svc-meta{font-size:17px;line-height:1.6}
.svc .svc-price{font-size:17px;line-height:1.5}
.svc .catalog-choice{font-size:17px;min-height:52px}
.selection-next{font-size:17px;line-height:1.6}
.step-h{font-size:26px;line-height:1.3;gap:16px}
.field-note,.field-label,.delivery-fields>label,.rem-note,.empty{font-size:17px;line-height:1.65}
.field-note.small,.master-boundary,.protection-note,.addon small,.dialog-note,.bundle-terms summary,.bundle-terms p{font-size:15px;line-height:1.65}
.day{flex-basis:112px}.day .box{min-height:120px;padding:14px 8px}
.day-a,.day-stock,.calendar-nav>span{font-size:14px}
.day-b{font-size:20px}.calendar-nav button{font-size:16px}
.rems .box,.term .box,.slot .box{font-size:17px;min-height:58px;line-height:1.4}
.addon{gap:14px;padding-block:18px}
.addon strong,.addon b{font-size:18px;line-height:1.4}.addon input{width:24px;height:24px}
.inp{font-size:18px;min-height:58px}
.summary-top,.summary-note,.pickup-summary,.extra-summary h4,.extra-summary>p{font-size:15px;line-height:1.65}
.summary-due>span,.summary-due p,.calculation,.picked,.extra-summary li{font-size:17px;line-height:1.65}
.summary-due>strong{font-size:48px;white-space:normal;overflow-wrap:anywhere}
.rental-summary h3{font-size:34px;line-height:1.2}
.inline-quote span{font-size:15px}.inline-quote p{font-size:16px;line-height:1.6}
.faq summary{font-size:21px;line-height:1.4}
.chip,.tbtn{font-size:16px;min-height:48px}
.log,.message-preview,.done-note,.done-list>div{font-size:17px;line-height:1.65}
.err,.contact-error{font-size:16px;line-height:1.6}
.inquiry-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:7%}
.inquiry-intro>p:last-of-type{font-size:20px;line-height:1.65;max-width:470px}
.inquiry-caption p{font-size:16px;line-height:1.65}
.inquiry-panel{background:#eef2e6;color:#1d3829;padding:36px}
.inquiry-panel legend,.contact-label{font-size:17px;font-weight:600;line-height:1.5;margin-bottom:14px}
.contact-channels{gap:8px;margin-bottom:30px}
.contact-channels span{font-size:17px;min-height:56px;padding:12px 6px;border-color:#73816f;color:#264431}
.contact-channels input:checked+span{background:#204d38;color:#fff;border-color:#204d38}
.contact-input{font-size:18px;line-height:1.65;min-height:60px;background:#fafbf7;border-color:#879681;color:#1d3829;padding:16px;margin-bottom:28px}
.contact-input::placeholder{color:#566452;opacity:1}
.inquiry-panel .primary-button{background:#204d38;color:#fff}
.inquiry-panel .inquiry-note{color:#53604e;max-width:none}
.inquiry-panel .contact-error{color:#8a291b}
.inquiry-panel #inquiry-result{font-size:18px;line-height:1.65}
.inquiry-panel :focus-visible{outline-color:#204d38}
.inquiry-panel .done-check{background:#204d38;color:#fff}
@media(max-width:1000px){.hero-header nav{gap:14px}.hero-header nav a{font-size:15px}.brand-photo{height:240px}}
@media(max-width:700px){
 body{font-size:17px}
 .section-intro,.brand-heading>p,.master-note,.bundle-copy>p:not(.section-label),.help-intro>p:last-child,.questions-heading>p:last-child,.benefit-grid p,.brand-grid p,.master-card>p,.process p,.faq details p{font-size:17px}
 .inquiry-layout{grid-template-columns:1fr;gap:30px}
 .inquiry-intro>p:last-of-type{font-size:18px}
 .inquiry-panel{padding:24px 20px}
 .contact-channels span{font-size:16px;padding-inline:4px}
 .contact-label,.inquiry-panel legend{font-size:17px}
 .contact-input{font-size:18px;padding:14px;min-height:60px}
 .inquiry-panel .primary-button{font-size:18px}
 .catalog-grid{gap:30px}
 .svc .box{display:block;padding:20px 0}
 .svc .product-image{height:280px;min-height:0;margin-bottom:22px}
 .svc .product-image img{padding:16px!important}
 .svc .box>span:not(.product-image){margin:0 16px 12px}
 .svc .svc-name{font-size:25px;min-height:0}
 .svc .svc-meta,.svc .svc-price{font-size:17px}
 .svc .product-category{font-size:14px}
 .svc .catalog-choice{font-size:17px;min-height:52px;padding:12px;margin-top:18px!important}
 .selection-next{flex-direction:column;gap:10px}.selection-next .text-button{width:100%;font-size:17px}
 .rems,.rems.terms{grid-template-columns:repeat(2,minmax(0,1fr))}
 .rems:not(.terms) .rem:last-child{grid-column:1/-1}
 .slots{grid-template-columns:repeat(3,minmax(0,1fr))}
 .step-h{font-size:25px;gap:12px}
 .rental-summary{padding:26px 22px}
 .summary-due>strong{font-size:44px}
 .addon{grid-template-columns:24px minmax(0,1fr);gap:12px}.addon b{grid-column:2;font-size:17px}
 .done-list>div{grid-template-columns:1fr;gap:5px}.done-list dt{font-size:14px}
 .done-list dd{font-size:18px}
 .status-track{gap:10px}.status-track li{font-size:13px}
 .message-head{flex-wrap:wrap}.message-head>span:last-child{display:none}
 .hero-note{font-size:15px;max-width:290px}
 .hero-copy[data-chapter="0"] .hero-note{font-size:18px;line-height:1.45;max-width:350px}
 .is-horizontal .mobile-scene .tool-portrait,.is-horizontal .mobile-scene .tool-portrait[data-tool="3"]{top:39%;height:29%}
 .tool-portrait figcaption{font-size:14px}.hero-secondary{font-size:16px}
 .cta{font-size:18px;min-height:60px}
 .brand-photo{height:260px}.brand-photo img{padding:14px}
 .brand-action,.master-card .text-button{font-size:17px}
}
@media(max-width:359px){
 .inquiry-panel{padding:22px 16px}
 .contact-channels{grid-template-columns:1fr}.contact-channels span{font-size:17px}
 .svc .box{display:block;padding:20px 0}
 .svc .product-image{height:260px;min-height:0;margin-bottom:20px}
 .svc .box>span:not(.product-image){margin:0 16px 12px}
 .svc .svc-name{font-size:25px}
 .svc .catalog-choice{margin-top:18px!important}
 .hero-copy[data-chapter="0"] .hero-note{font-size:16px}
 .is-horizontal .mobile-scene .tool-portrait,.is-horizontal .mobile-scene .tool-portrait[data-tool="3"]{top:42%;height:26%}
 .contact-strip a{font-size:14px}
}

.dialog-product>img{background:#e4e6e2;mix-blend-mode:multiply}
.site-dialog>.primary-button{font-size:18px}
.dialog-product .brand-stock{font-size:16px}
.brands .catalog-note,.bundle .section-label{font-size:14px;line-height:1.6}
.inquiry-panel .contact-input[aria-invalid=true]{border:2px solid #8a291b}
.inquiry-panel .contact-input[aria-invalid=true]:focus-visible{outline:3px solid #8a291b}
@media(max-width:1000px){.inquiry-layout{grid-template-columns:1fr;gap:32px}.inquiry-intro{max-width:650px}.inquiry-panel{max-width:700px;width:100%}}
.availability h2{font-size:16px}.availability #next-svc{font-size:16px}.availability .text-button{font-size:17px;max-width:none}

@media(max-width:700px){.calendar-nav{flex-wrap:wrap;gap:6px 14px}.calendar-nav>div{gap:16px}.addon-list{margin-top:24px}}

.brand-photo img[src*="makita"]{padding:0}
.done-list .done-total-row dd{font-size:26px;font-weight:650;line-height:1.3}

@media(max-width:700px){.mobile-navigation{bottom:28%}}
