/* Comfortable reading scale and generous image areas. */
:root{--muted:#58677d}body{font-size:18px;line-height:1.55}h2{font-size:36px;line-height:1.2}h3{line-height:1.35}.section{margin-top:48px;margin-bottom:48px}.section-head{margin-bottom:24px;flex-wrap:wrap}.text-link,.section-head .text-link{font-size:16px;max-width:none;min-height:44px}.button,.small{font-size:17px;min-height:52px}.topbar,.top-contact{font-size:14px}.top-inner{min-height:44px;height:auto;padding-top:8px;padding-bottom:8px;gap:26px}.header-inner{height:80px;gap:18px}.header-inner nav{gap:18px}.header-inner nav>a,.nav-trigger{font-size:16px;min-height:48px}.header-cta{font-size:15px;padding:10px 16px}.nav-dropdown{min-width:290px}.nav-dropdown>a,.nav-dropdown>button{font-size:16px;white-space:normal;min-height:46px}.hero-description{font-size:19px;line-height:1.55}.hero-copy{max-width:610px}.hero-actions{flex-wrap:wrap}.hero-points{font-size:16px;gap:24px;max-width:980px;flex-wrap:wrap;margin-top:30px}.hero-note{font-size:15px;right:0}.stats{gap:22px 0;padding:26px 16px}.stats>div{min-width:0;padding:0 14px}.stats b,.stats p span{font-size:16px;line-height:1.5}.stats .stat-time{white-space:normal}.stat-time small{font-size:15px}.stats .stat-guarantee{font-size:23px}.equipment-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.equipment-card img{aspect-ratio:4/3;width:100%;height:auto;object-fit:cover}.equipment-info{padding:20px 22px 58px;min-height:0}.equipment-info h3{font-size:21px}.equipment-info p{font-size:17px;max-width:none;line-height:1.55}.circle-arrow{width:40px;height:40px;font-size:25px}.problem-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.problem-card{padding:24px;min-height:160px}.problem-card h3{font-size:19px}.problem-card p{font-size:17px;line-height:1.5}.split-head p{font-size:18px;line-height:1.55}.benefits{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.benefit{padding:24px;min-height:0}.benefit h3{font-size:20px;line-height:1.35}.benefit p{font-size:17px;line-height:1.55}.steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 0;padding:24px 0}.step{padding:0 24px}.step:nth-child(2){border-right:0}.step h3{font-size:20px;min-height:0}.step>p{font-size:17px;line-height:1.55;padding-left:0;min-height:0;margin:12px 0 20px}.step img{width:100%;height:auto;aspect-ratio:2/1}.step-arrow{display:none}table{font-size:17px}td,th{padding:14px 18px}.fine-print{font-size:14px;line-height:1.6}.price-layout{grid-template-columns:1.4fr 1fr}.price-visual{padding-left:15%}.price-visual h3{font-size:26px}.price-visual p{font-size:17px;line-height:1.55}.price-visual .button{font-size:16px}.review-demo{font-size:14px}.review-filter{font-size:15px;min-height:44px}.review-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.review-card:nth-child(n){grid-column:auto;min-width:0;display:flex;flex-direction:column}.review-photo{width:100%;height:250px}.review-photo img{height:100%;min-height:0;max-height:none;object-fit:cover}.review-content{padding:22px;flex:1}.review-content h3{font-size:19px}.review-category{font-size:14px;color:#58677d}.review-text{font-size:17px;line-height:1.6}.helpful{font-size:14px;min-height:44px;color:#48638b}.photo-count{font-size:14px;padding:4px 9px}.review-photo:after{width:36px;height:36px}.reviews-bottom{font-size:15px;flex-wrap:wrap}.reviews-bottom .button{font-size:16px}.review-arrows button{width:44px;height:44px}summary{font-size:18px;line-height:1.5;padding:18px 20px;min-height:64px}details p{font-size:17px;line-height:1.6;color:#526279}.faq-city-links a,.faq-city-links>span{font-size:15px;padding:9px 12px;min-height:44px}.request-layout{grid-template-columns:1fr 1fr;gap:24px}.request-copy{grid-column:1/-1}.request-copy h2{font-size:36px}.request-copy>p{font-size:18px;max-width:720px}.request-points{font-size:16px}.lead-form{gap:14px;padding:24px}.lead-form input:not([type=checkbox]),.lead-form select{font-size:18px;min-height:54px;padding:13px}.lead-form .button{font-size:18px;min-height:54px}.consent{font-size:14px;line-height:1.5;gap:10px}.consent input{width:20px;height:20px;flex-shrink:0}.form-status{font-size:16px}.contact-card>div{padding:22px}.contact-card p,.contact-card span{font-size:17px}.contact-card p>a:first-child,.contact-card strong{font-size:20px}.contact-card a:not([data-phone]),.contact-card button{font-size:16px;min-height:40px}footer{font-size:16px}.footer-grid{gap:28px}.footer-grid h3{font-size:19px}.footer-grid>div>a:not(.logo){padding:4px 0}.independent,.footer-bottom{font-size:14px}.footer-bottom{flex-wrap:wrap}dialog{max-width:540px}.dialog-intro,#privacy-dialog p{font-size:17px}.dialog-close{width:44px;height:44px}.photo-controls,#photo-caption{font-size:16px}.photo-controls button{width:44px;height:44px}
/* Every subtype has the same large image stage; full appliances are never cropped. */
#equipment-dialog{max-width:1180px;width:calc(100% - 40px);max-height:94dvh;scrollbar-gutter:stable}.equipment-modal-hero{min-height:280px}.equipment-modal-copy{padding:32px;width:70%}#equipment-dialog h2{font-size:36px;max-width:660px;line-height:1.18}#equipment-dialog-description{font-size:17px;line-height:1.6;max-width:600px;color:#58677d}.equipment-modal-eyebrow{font-size:14px}.equipment-modal-body{padding:0 28px 28px}.equipment-modal-body>h3{font-size:23px;padding:24px 0}.equipment-types{gap:18px}.equipment-type{display:flex;flex-direction:column;align-items:stretch;padding:14px;gap:16px;min-height:0;border-radius:10px}.equipment-type>img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#f3f5f7;border-radius:7px;margin:0;flex-shrink:0}.equipment-type>span:not(.type-arrow){padding:0 5px 8px;overflow-wrap:normal;hyphens:auto}.equipment-type strong{font-size:19px;line-height:1.35}.equipment-type small{font-size:16px;line-height:1.55;color:#58677d;margin-top:8px}.type-arrow{font-size:23px;right:20px;top:20px;background:#fffffff0;border-radius:50%;width:34px;height:34px;text-align:center}.equipment-modal-bottom{padding:22px;gap:16px;flex-wrap:wrap}.equipment-modal-bottom strong{font-size:17px}.equipment-modal-bottom small{font-size:15px;color:#58677d}.equipment-modal-bottom .button{font-size:17px;min-height:54px;white-space:normal}.equipment-modal-bottom p{min-width:200px}#equipment-dialog .dialog-close{width:44px;height:44px;position:sticky;top:12px;float:right;margin:12px 12px -56px 0;right:auto;z-index:4}
@media(max-width:1200px){.header-inner .header-cta{display:none}.header-inner nav{margin-left:auto}.hero-copy{max-width:58%}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stats>div:nth-child(2){border-right:0}.review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.header-inner{height:72px}.header-inner nav{top:72px;max-height:calc(100dvh - 110px);overflow:auto}.header-inner nav>a,.nav-trigger{font-size:18px}.menu-toggle{width:44px;height:44px}.hero-copy{max-width:65%}.hero-note{display:none}.hero-points{font-size:16px}.equipment-grid,.problem-grid,.benefits{grid-template-columns:repeat(2,minmax(0,1fr))}.price-layout{grid-template-columns:1fr}.price-visual{min-height:280px;padding-left:40%}.request-copy{display:block}.request-copy>p{width:100%;margin-top:16px}.equipment-types{grid-template-columns:repeat(2,minmax(0,1fr))}.equipment-modal-copy{width:85%}.equipment-modal-hero:after{background:linear-gradient(90deg,#fff 25%,#ffffffeb 65%,#ffffff40)}#equipment-dialog h2{font-size:32px}.equipment-modal-bottom .button{width:100%}.equipment-modal-bottom strong{font-size:17px}.equipment-modal-bottom small{font-size:15px}}
@media(max-width:600px){body{font-size:17px}.wrap{width:calc(100% - 32px)}h2,.request-copy h2{font-size:30px}.section-head{gap:6px}.section-head .text-link{font-size:16px;flex-shrink:0}.topbar{font-size:13px}.top-inner{gap:8px}.top-inner .icon{width:16px;height:16px}.top-phone{font-size:13px}.logo span{font-size:10px}.hero{background:none;min-height:0}.hero-inner{padding-top:28px;min-height:0;padding-bottom:20px}.hero-copy{max-width:100%}.hero-description{font-size:18px;line-height:1.55}.hero-actions{display:grid;grid-template-columns:1fr;gap:12px;margin-top:24px}.hero-actions .button{font-size:17px;min-height:54px;padding:14px}.hero-actions .icon{display:block;width:24px;height:24px}.hero-points{margin-top:340px;position:relative;font-size:15px;padding:16px;gap:16px;background:#fff}.hero-inner:before{content:'';position:absolute;bottom:0;left:-16px;right:-16px;height:490px;background:url('assets/images/hero-mobile.webp') center 38%/cover;z-index:-1}.hero{isolation:isolate;background-color:#edf6fc}.eyebrow{font-size:13px;letter-spacing:1px}.stats b,.stats p span{font-size:15px}.stats>div{padding:0 10px;gap:9px}.stats{padding:22px 4px;gap:26px 0}.stats .stat-guarantee{font-size:21px}.stat-time small{font-size:14px}.equipment-grid{grid-template-columns:1fr;gap:20px}.equipment-card:last-child{grid-column:auto;flex-direction:column}.equipment-card:last-child img{width:100%;aspect-ratio:4/3}.equipment-info h3{font-size:22px}.equipment-info p{font-size:18px}.equipment-info{padding:22px 22px 60px}.circle-arrow{width:40px;height:40px}.problem-grid,.benefits,.steps,.review-grid{grid-template-columns:1fr}.problem-card{display:flex;gap:18px;min-height:0;padding:22px}.problem-card h3{font-size:20px}.problem-card p,.benefit p{font-size:18px}.benefit h3{font-size:21px}.benefit:last-child{grid-column:auto;display:block}.benefit{padding:24px}.split-head p{font-size:18px}.step{border:0;padding:20px}.step-top{display:flex}.step h3{font-size:21px;min-height:0}.step>p{font-size:18px;min-height:0;margin:12px 0 20px}.step img{height:auto;aspect-ratio:2/1}.steps{padding:0;gap:0}.step+.step{border-top:1px solid var(--line)}table{font-size:16px}td,th{padding:13px 10px}td:first-child{width:auto}.fine-print{font-size:14px}.price-visual{padding-left:15%}.price-visual p{font-size:18px}.review-filter{font-size:15px}.review-demo{font-size:14px}.review-photo{width:100%;height:280px}.review-photo img{min-height:0;max-height:none}.review-content h3{font-size:20px}.review-text{font-size:18px}.review-category,.helpful{font-size:15px}.reviews-bottom{font-size:15px}.reviews-bottom .button{font-size:16px}summary{font-size:18px;padding:18px 16px}details p{font-size:17px;padding:0 16px 20px}.request-layout{grid-template-columns:1fr}.request-copy>p{font-size:18px}.lead-form input:not([type=checkbox]),.lead-form select{font-size:18px}.consent{font-size:14px}.contact-card p>a:first-child,.contact-card strong{font-size:20px}.contact-card span{font-size:17px}.footer-grid{grid-template-columns:1fr}.footer-grid>div{grid-column:auto}.footer-bottom{font-size:14px}.mobile-bottom{font-size:15px}.mobile-bottom>button{padding:13px 9px;min-height:50px}.mobile-bottom>a{min-height:50px}dialog{padding:28px 20px}dialog h2{font-size:28px}#equipment-dialog{width:calc(100% - 20px)}.equipment-modal-copy{width:100%;padding:30px 22px 22px}.equipment-modal-eyebrow{font-size:12px;padding-right:25px;max-width:none}#equipment-dialog h2{font-size:28px;padding-right:10px;letter-spacing:-.6px}#equipment-dialog-description{font-size:17px}.equipment-modal-body{padding:0 18px 20px}.equipment-modal-body>h3{font-size:22px}.equipment-types{grid-template-columns:1fr;gap:18px}.equipment-type{padding:14px;min-height:0}.equipment-type>img{height:auto;aspect-ratio:1;width:100%;margin:0}.equipment-type strong{font-size:21px}.equipment-type small{font-size:18px}.equipment-modal-bottom{padding:18px;gap:12px}.equipment-modal-bottom p{min-width:0;flex-basis:75%}.equipment-modal-bottom strong{font-size:17px}.equipment-modal-bottom small{font-size:15px}.equipment-modal-bottom .button{font-size:17px}#equipment-dialog .dialog-close{width:44px;height:44px}}
@media(max-width:350px){.logo b{font-size:24px}.logo span{font-size:9px}.topbar,.top-phone{font-size:12px}.hero-points{grid-template-columns:1fr;margin-top:300px}.stats{grid-template-columns:1fr}.stats>div{border:0}.mobile-bottom{font-size:14px;padding-left:10px;padding-right:10px}.contact-card>div{padding:18px 14px}.contact-card p>a:first-child{font-size:18px}.equipment-modal-copy{padding-left:18px;padding-right:18px}}
.yellow{background-color:#ffdc2b}.stats p{min-width:0;overflow-wrap:break-word}
@media(max-width:600px){.stats>div{flex-direction:column;gap:10px}.stats .icon{width:32px;height:32px;margin:0}.stats p span{margin-top:10px}}
/* Reviews retain the original photo-left, text-right composition. */
.review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.review-card:nth-child(n){flex-direction:row;align-items:stretch}
.review-photo{width:36%;height:auto;align-self:stretch}
.review-photo img{width:100%;height:100%;min-height:100%;max-height:none;object-fit:cover}
.review-content{min-width:0;padding:20px;overflow-wrap:break-word}
@media(max-width:900px){.review-grid{grid-template-columns:1fr}.review-photo{width:35%}}
@media(max-width:600px){.review-grid{gap:16px}.review-photo{width:34%;height:auto}.review-content{padding:16px 12px}.review-text{font-size:17px;line-height:1.55}.review-content h3{font-size:18px}.review-category{font-size:14px}.helpful{font-size:14px}.photo-count{font-size:12px;left:5px;bottom:8px;padding:3px 6px}.review-photo:after{right:6px;bottom:42px;width:32px;height:32px}}
@media(min-width:901px){.steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:24px 0}.step{padding:0 18px;min-width:0}.step:nth-child(2){border-right:1px solid var(--line)}.step-top{align-items:flex-start;gap:10px;min-height:56px}.step-number{font-size:36px;line-height:1.25;flex-shrink:0}.step h3{font-size:19px;line-height:1.4;padding-top:5px}.step>p{font-size:17px;line-height:1.55;margin:14px 0 20px;min-height:0}.step img{aspect-ratio:2/1;height:auto;width:100%;margin-top:auto}}
@media(min-width:901px){.price-layout{grid-template-rows:auto auto;row-gap:10px;align-items:stretch}.price-layout>div:first-child{display:contents}.price-layout table{grid-column:1;grid-row:1}.price-layout .fine-print{grid-column:1;grid-row:2;margin:0}.price-layout .price-visual{grid-column:2;grid-row:1;align-self:stretch;min-height:0;background-position:center;height:auto}}
/* Calm, spacious appointment form with a dedicated photography panel. */
.field-label{display:block;font-size:15px;font-weight:600;margin-bottom:8px;color:#34455c}.field-label b{color:var(--blue)}
.lead-form input:not([type=checkbox]),.lead-form select{border-radius:8px;background:#f8fafc;border-color:#d7e1ec;transition:border-color .18s,box-shadow .18s}.lead-form input:not([type=checkbox]):focus,.lead-form select:focus{outline:none;border-color:#0360da;box-shadow:0 0 0 4px #0360da12;background:#fff}
#request-dialog{max-width:1160px;width:calc(100% - 40px);padding:0;border:1px solid #ffffffc9;border-radius:20px;max-height:94dvh;background:#fff;box-shadow:0 32px 120px #00132766;scrollbar-gutter:stable}
#request-dialog::backdrop{background:#071a30b0;backdrop-filter:blur(7px)}
#request-dialog>.dialog-close{position:sticky;float:right;top:14px;margin:14px 14px -58px 0;right:auto;z-index:5;width:44px;height:44px;border-radius:50%;background:#fffffff2;border:1px solid #dce5ee;box-shadow:0 4px 18px #10263b12;color:#354c67}
.request-dialog-layout{display:grid;grid-template-columns:1.05fr 1.1fr .8fr;min-height:640px}.request-pitch{padding:42px 30px 32px;background:linear-gradient(155deg,#fff,#f4f8fc)}.request-eyebrow{font-size:12px;font-weight:700;letter-spacing:1.2px;color:#54718d;margin-bottom:22px}#request-dialog h2{font-size:34px;line-height:1.15;letter-spacing:-1px;margin:0 0 20px;padding:0}#request-intro{font-size:17px;line-height:1.65;color:#52647d}.request-assurances{display:grid;gap:24px;margin-top:32px}.request-assurances>div{display:flex;gap:14px;align-items:flex-start}.request-assurances i{width:46px;height:46px;border:1px solid #dce9f8;border-radius:14px;display:flex;align-items:center;justify-content:center;background:#edf5ff;flex-shrink:0}.request-assurances .icon{width:25px;height:25px}.request-assurances strong{display:block;font-size:16px;line-height:1.4}.request-assurances span{display:block;font-size:15px;line-height:1.55;color:#5c6d83;margin-top:4px}.request-signature{border-top:1px solid #dde7f1;margin-top:30px;padding-top:20px;font-size:14px;color:#5c6d83;line-height:1.6}.request-form-panel{padding:42px 28px 30px;align-self:center}.request-form-panel h3{font-size:25px;letter-spacing:-.6px}.request-form-caption{font-size:16px;color:#617189;margin:7px 0 24px}#request-dialog .lead-form{gap:17px;padding:0;background:transparent}#request-dialog .lead-form input:not([type=checkbox]),#request-dialog .lead-form select{min-height:56px;font-size:17px;width:100%}#request-dialog .lead-form .button{border-radius:8px;min-height:58px;font-size:18px;box-shadow:0 6px 18px #e6b90020}#request-dialog .consent{font-size:13px;line-height:1.55;margin:1px 0 3px}.request-secure{display:flex;gap:9px;font-size:13px;line-height:1.55;color:#62738a;margin-top:20px}.request-secure .icon{width:19px;height:19px;flex-shrink:0;margin-top:2px}.request-master{position:relative;min-width:0;background:#dce7eb url('assets/images/hero.webp') 79% center/auto 100% no-repeat;overflow:hidden}.request-master:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#11283d00 55%,#10263be6)}.request-photo-caption{position:absolute;bottom:32px;left:24px;right:18px;color:white;z-index:1}.request-photo-caption>span{display:block;font-size:11px;letter-spacing:2px;margin-bottom:12px;color:#e2edf5}.request-photo-caption strong{font-size:21px;line-height:1.35;font-weight:600}
@media(max-width:1050px){.request-dialog-layout{grid-template-columns:1fr 1.15fr}.request-master{display:none}.request-pitch{padding:36px 28px}.request-form-panel{padding:36px 28px}#request-dialog{max-width:820px}}
@media(max-width:600px){#request-dialog{width:calc(100% - 20px);border-radius:14px}.request-dialog-layout{grid-template-columns:1fr;min-height:0}.request-pitch{padding:30px 24px 22px}.request-eyebrow{font-size:11px;padding-right:32px;margin-bottom:16px}#request-dialog h2{font-size:30px;line-height:1.2;margin-bottom:12px}#request-intro{font-size:17px}.request-assurances,.request-signature{display:none}.request-form-panel{padding:24px}.request-form-panel h3{font-size:24px}.request-form-caption{margin-bottom:22px;font-size:16px}#request-dialog .consent{font-size:14px}#request-dialog .lead-form input:not([type=checkbox]),#request-dialog .lead-form select{font-size:18px}.request-secure{font-size:14px}.field-label{font-size:16px}}
/* Keep the five equipment categories together on desktop. */
@media(min-width:901px){.equipment-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.equipment-card{min-width:0}.equipment-info{padding:18px 14px 62px;min-width:0}.equipment-info h3{font-size:19px;line-height:1.35;overflow-wrap:break-word}.equipment-info p{font-size:17px;line-height:1.5;overflow-wrap:break-word}}

/* Reviews follow the text height; attachments open in the shared gallery. */
.review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.review-card:nth-child(n),.review-card:has(.review-photo){min-height:0;flex-direction:column;align-self:start}
.review-content{padding:20px;flex:none;width:100%}
.review-content h3{font-size:19px;margin-bottom:3px}
.review-category{margin-bottom:10px}
.review-text{font-size:17px;line-height:1.55;margin-bottom:12px}
.review-media{display:flex;gap:10px;margin:2px 0 10px;max-width:100%}
.review-media .review-photo{width:96px;height:112px;flex-shrink:0;border:1px solid #dfe5ec;border-radius:7px;background:#f0f3f6}
.review-media .review-photo img{width:100%;height:100%;min-height:0;max-height:none;object-fit:cover}
.review-media .review-chat img{object-fit:cover;background:#eaf0e9;padding:0}
.review-media .review-photo:after{display:none}
.review-media-label{position:absolute;bottom:0;left:0;right:0;padding:4px 3px;background:#ffffffed;color:#34455c;font-size:11px;line-height:1.3;text-align:center}
.review-content .helpful{margin-top:0;min-height:36px}
#reviews-more[hidden]{display:none}
#large-photo{max-width:100%;height:auto}
@media(max-width:900px){.review-arrows{display:flex}.reviews-toolbar{align-items:flex-start}.review-filters{min-width:0}.review-arrows{flex-shrink:0}}
@media(max-width:600px){.review-grid{grid-template-columns:1fr;gap:12px}.review-content{padding:16px}.review-text{font-size:16px;line-height:1.55}.reviews-toolbar{flex-wrap:wrap}.review-arrows{margin-left:auto}.review-content h3{font-size:18px}.review-media .review-photo{width:86px;height:100px}}

/* Side media takes its height from the review text, never from image dimensions. */
.review-card:has(.review-media) .review-content{margin-left:32%;width:68%}
.review-card .review-media{position:absolute;inset:0 auto 0 0;width:32%;margin:0;display:grid;grid-auto-rows:minmax(0,1fr);gap:3px}
.review-card .review-media .review-photo{position:relative;width:100%;height:100%;min-height:0;border:0;border-radius:0;overflow:hidden}
.review-card .review-media .review-photo img{position:absolute;inset:0;width:100%;height:100%;min-height:0;object-fit:cover}
.review-card .review-media .review-chat img{object-fit:cover;padding:0}
@media(max-width:900px) and (min-width:601px){.review-grid{grid-template-columns:1fr}}
@media(max-width:600px){.review-card:has(.review-media) .review-content{margin-left:30%;width:70%}.review-card .review-media{width:30%}.review-card:has(.review-media) .review-content{padding:16px 12px}}

/* Equal cards within each row, with no image-driven minimum height. */
.review-grid{align-items:stretch}
.review-grid .review-card:nth-child(n){align-self:stretch}
.review-card .review-content{padding:18px;flex:1}
.review-card:has(.review-media) .review-content{margin-left:27%;width:73%}
.review-card .review-media{width:27%}
.review-card .review-text{font-size:16px;line-height:1.5;margin-bottom:12px}
.review-card .review-content .helpful{margin-top:auto}
@media(max-width:600px){.review-card .review-content{padding:16px 12px}.review-card:has(.review-media) .review-content{margin-left:28%;width:72%}.review-card .review-media{width:28%}}

/* Compact reference composition: five benefits and a visible appliance photo. */
.benefits{gap:12px}
.benefit{padding:20px;min-width:0}
.benefit .icon{width:36px;height:36px;margin-bottom:10px}
.benefit h3{font-size:17px;line-height:1.3;margin-bottom:7px}
.benefit p{font-size:15px;line-height:1.45;margin:0}
.price-visual{padding:24px 0;aspect-ratio:6/5;min-height:0;background-position:center;align-self:start}
.price-visual>div{width:66%;padding:22px;flex-shrink:0}
.price-visual h3{font-size:22px;line-height:1.2}
.price-visual p{font-size:16px;line-height:1.45;margin:12px 0 18px}
.price-visual .button{width:100%;min-width:0;min-height:48px;padding:12px 10px;font-size:14px;gap:10px}
.price-visual .button .icon{width:22px;height:22px;flex-shrink:0}
@media(min-width:901px){
 .benefits{grid-template-columns:repeat(5,minmax(0,1fr))}
 .price-layout{grid-template-columns:1.2fr 1fr}
 .price-layout .price-visual{align-self:start;height:auto;min-height:0}
}
@media(min-width:901px) and (max-width:1100px){
 .benefit{padding:16px}
 .benefit h3{font-size:16px}
 .benefit p{font-size:14px}
 .price-visual>div{width:70%;padding:18px}
 .price-visual h3{font-size:20px}
 .price-visual p{font-size:15px}
 .price-visual .button{font-size:13px;gap:7px}
}
@media(min-width:601px) and (max-width:900px){.price-visual{aspect-ratio:3/2}.price-visual>div{width:54%;padding:26px}}
@media(max-width:600px){
 .price-visual{aspect-ratio:auto;min-height:320px;min-width:0;width:100%}
 .benefits{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .benefit{padding:18px 16px}
 .benefit h3{font-size:16px}
 .benefit p{font-size:15px}
 .benefit:last-child{grid-column:1/-1;display:grid;grid-template-columns:36px 1fr;column-gap:12px}
 .benefit:last-child i{grid-row:1/3}
 .benefit:last-child p{grid-column:2}
 .price-visual>div{width:72%;padding:18px 16px}
 .price-visual h3{font-size:20px}
 .price-visual p{font-size:15px}
 .price-visual .button{font-size:13px;gap:8px}
}
@media(max-width:360px){.price-visual>div{width:76%;padding:16px 12px}.price-visual h3{font-size:18px}.price-visual .button{font-size:12px;gap:6px}}

/* Keep mobile words distinct, including small text inside large headings. */
@media(max-width:600px){
 .hero-copy h1{letter-spacing:-.6px;line-height:1.08}
 main h2,main h3,main #problems h2,main #problems .problem-card h3,
 body .price-visual h3,body .comparison-copy h3,.stats strong,.stat-time small,
 #request-dialog h2,#request-dialog h3,#privacy-dialog h2,
 body #equipment-dialog h2,body #equipment-dialog h3,body #equipment-dialog h4,
 body #equipment-dialog .equipment-type strong{letter-spacing:normal}
 .stat-time small{word-spacing:.04em}
}
@media(max-width:410px){
 .benefits{grid-template-columns:minmax(0,1fr)}
 .benefit{min-width:0}
}
@media(max-width:600px){
 #privacy-dialog h2{font-size:clamp(20px,6vw,26px);padding-right:30px;overflow-wrap:break-word}
}

/* Single-review navigation on phones and tablets. */
.review-swipe-hint{display:none}
@media(max-width:900px){
 #review-grid{touch-action:pan-y pinch-zoom}
 .reviews-toolbar{flex-wrap:wrap;gap:12px;align-items:center}
 .review-filters{flex-basis:100%}
 .review-arrows{margin-left:auto;gap:10px}
 .review-arrows button{width:44px;height:44px;font-size:24px}
 .reviews-bottom{flex-wrap:wrap;gap:6px 14px;margin-top:12px;font-size:14px}
 .review-swipe-hint{display:inline;font-size:12px}
}

@media(max-width:900px){
 .reviews-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px}
 .reviews-bottom #review-count{grid-column:1;grid-row:1}
 .reviews-bottom .review-arrows{grid-column:2;grid-row:1;margin-left:0}
 .reviews-bottom .review-swipe-hint{grid-column:1/-1;grid-row:2}
}

@media(max-width:900px){
 #review-grid{display:flex;align-items:flex-start;gap:12px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:pan-x pan-y pinch-zoom;overscroll-behavior-x:contain;transition:height .2s ease}
 #review-grid::-webkit-scrollbar{display:none}
 #review-grid .review-card:nth-child(n){flex:0 0 100%;min-width:0;align-self:flex-start;scroll-snap-align:start;scroll-snap-stop:always}
}
@media(prefers-reduced-motion:reduce){#review-grid{transition:none}}

.section-action-bottom:empty{display:none}
@media(max-width:900px){
 .section-action-bottom{margin-top:20px}
 .section-action-bottom .text-link{justify-content:center;width:100%;min-height:48px;border:1px solid var(--blue);border-radius:4px;padding:10px 18px}
}

/* Mobile review photos need enough width to show the whole image. */
@media(max-width:900px){
 #review-grid .review-card .review-media{position:static;inset:auto;display:flex;width:100%;gap:4px;margin:0;background:#edf1f5}
 #review-grid .review-card .review-media .review-photo{flex:1;min-width:0;width:auto;height:220px;align-self:auto;background:#edf1f5}
 #review-grid .review-card .review-media .review-photo:only-child{height:250px}
 #review-grid .review-card .review-media .review-photo img{position:static;width:100%;height:100%;object-fit:cover;padding:0}
 #review-grid .review-card:has(.review-media) .review-content{margin-left:0;width:100%;padding:18px 16px}
}

/* The open mobile menu fills the viewport and locks the page behind it. */
@media(max-width:900px){
 html.menu-open{overflow:hidden;overscroll-behavior:none}
 body.menu-open{position:fixed;left:0;right:0;width:100%;overflow:hidden;overscroll-behavior:none}
 body.menu-open header{position:fixed;top:var(--menu-header-top,0px);left:0;right:0;z-index:30}
 .header-inner #navigation.open{position:fixed;top:var(--menu-top,72px);bottom:0;left:0;right:0;height:calc(100dvh - var(--menu-top,72px));max-height:none;display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;justify-content:flex-start;gap:0;overflow-y:auto;overscroll-behavior:contain;padding:12px 20px calc(24px + env(safe-area-inset-bottom));background:#fff;box-shadow:none}
 #navigation.open .nav-item{display:block;flex-shrink:0}
 #navigation.open>a,#navigation.open .nav-trigger{flex-shrink:0;width:100%;justify-content:space-between;padding:16px 0;min-height:60px;border-bottom:1px solid var(--line)}
 #navigation.open .nav-dropdown{position:static;min-width:0;box-shadow:none;border:0;padding:4px 0 6px 10px;background:#f5f9fd}
 body.menu-open .mobile-bottom{display:none}
 .menu-toggle{position:relative}
 .menu-toggle span{position:absolute;left:10px;top:21px;width:24px;height:2px;transform-origin:center;transition:transform .25s ease,opacity .18s ease}
 .menu-toggle span:nth-child(1){transform:translateY(-7px)}
 .menu-toggle span:nth-child(3){transform:translateY(7px)}
 .menu-toggle[aria-expanded=true] span:nth-child(1){transform:rotate(45deg)}
 .menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0;transform:scaleX(0)}
 .menu-toggle[aria-expanded=true] span:nth-child(3){transform:rotate(-45deg)}
}
@media(prefers-reduced-motion:reduce){.menu-toggle span{transition:none}}

/* Compact hero benefits, with a consistent two-line text rhythm. */
.hero-points{display:grid;grid-template-columns:repeat(4,max-content);align-items:center;gap:30px;max-width:820px;font-size:14px;line-height:1.4;font-weight:500;color:#34445d}
.hero-points>span{display:flex;align-items:center;gap:12px;min-width:0}
.hero-points>span>span{display:block}
.hero-points .icon{width:30px;height:30px;stroke-width:1.65}
@media(min-width:601px) and (max-width:900px){
 .hero-points{grid-template-columns:repeat(2,max-content);gap:20px 32px;max-width:560px}
}
@media(max-width:600px){
 .hero-points{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px;font-size:13px;line-height:1.4;padding:18px 14px}
 .hero-points>span{gap:10px}
 .hero-points .icon{width:28px;height:28px}
}
@media(max-width:350px){
 .hero-points{font-size:12px;padding:16px 10px;gap:16px 8px}
 .hero-points>span{gap:8px}
 .hero-points .icon{width:25px;height:25px}
}
@media(max-width:350px){
 .hero-points{font-size:11px;padding-left:8px;padding-right:8px}
 .hero-points>span{gap:7px}
 .hero-points .icon{width:24px;height:24px}
}

/* Compact footer typography and aligned contact details. */
footer{padding:26px 0 14px;font-size:13px;line-height:1.5}
footer .footer-grid{grid-template-columns:1.25fr 1.15fr .9fr 1.15fr;gap:32px}
footer .footer-grid h3{font-size:14px;line-height:1.4;margin:0 0 10px}
footer .footer-grid p{margin:7px 0;font-size:13px;line-height:1.5}
footer .footer-grid>div>a:not(.logo){display:block;margin:5px 0;padding:0;line-height:1.5}
footer .footer-logo{gap:9px;align-items:center}
footer .footer-logo b{font-size:26px;letter-spacing:-1.3px}
footer .footer-logo span{font-size:15px;line-height:1;font-weight:400;letter-spacing:.2px}
footer .footer-grid .independent{font-size:11px;line-height:1.5;color:#a8b9c9;margin-top:12px;max-width:285px}
footer .footer-contact{display:flex;align-items:flex-start;gap:9px;min-width:0}
footer .footer-contact i{color:#dce4ed;flex-shrink:0;padding-top:2px}
footer .footer-contact .icon{width:15px;height:15px;stroke-width:1.8}
footer .footer-contact a,footer .footer-contact span{min-width:0;overflow-wrap:anywhere}
footer .footer-request{font-size:13px;padding:0;margin-top:5px;margin-left:24px;line-height:1.5}
footer .footer-bottom{font-size:11px;gap:14px 24px;margin-top:20px;padding-top:12px}
footer .footer-bottom button{font-size:inherit}
footer .advertiser-strip{font-size:10px;line-height:1.5;margin-top:13px;padding-top:10px}
footer .advertiser-line{gap:3px 16px}
@media(max-width:1000px){footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 32px}}
@media(max-width:600px){
 footer{padding:24px 0 calc(88px + env(safe-area-inset-bottom));font-size:12px}
 footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}
 footer .footer-grid>div{grid-column:auto}
 footer .footer-grid>div:first-child,footer .footer-grid>div:last-child{grid-column:1/-1}
 footer .footer-grid h3{font-size:14px;margin-bottom:8px}
 footer .footer-grid>div>a:not(.logo){margin:6px 0;font-size:12px;line-height:1.5}
 footer .footer-grid p{font-size:12px}
 footer .footer-logo b{font-size:25px}
 footer .footer-logo span{font-size:14px}
 footer .footer-grid .independent{max-width:none;margin-top:9px}
 footer .footer-bottom{font-size:10px;gap:10px 16px;margin-top:18px}
 footer .footer-bottom>span:first-child{flex-basis:100%}
 footer .footer-bottom .german-flag{margin-left:auto}
 footer .advertiser-line>span{white-space:normal}
}
footer .footer-logo span{font-size:26px;line-height:1;letter-spacing:-.5px}
@media(max-width:600px){footer .footer-logo span{font-size:25px}}

/* Inter typography: 800 headings, 700 card titles, 400 copy, 600 controls. */
body{font-family:Inter,Arial,Helvetica,sans-serif;font-weight:400}
h1,h2{font-weight:800}
h3{font-weight:700}
button,.button,.small,.header-inner nav>a,.header-inner .nav-trigger,.nav-dropdown>a,.nav-dropdown>button,.mobile-bottom>button{font-weight:600}
.review-text,.hero-description,.hero-points,.equipment-info p,.problem-card p,.benefit p,.step>p,.fine-print,details p{font-weight:400}
.logo b{font-family:Onest,Arial,Helvetica,sans-serif}
.hero-points{font-weight:600}

/* Readable long-form privacy policy in the existing dialog. */
#privacy-dialog{max-width:760px;padding:28px 32px;max-height:90dvh;overscroll-behavior:contain}
#privacy-dialog .dialog-close{position:sticky;float:right;top:0;right:auto;margin:-10px -12px 0 10px;background:#fff;border:1px solid var(--line);border-radius:50%;z-index:1;width:40px;height:40px}
#privacy-dialog h2{font-size:28px;line-height:1.25;letter-spacing:-.6px}
#privacy-dialog h3{font-size:17px;line-height:1.4;margin-top:24px}
#privacy-dialog p,#privacy-dialog li{font-size:14px;line-height:1.65;color:#526279}
#privacy-dialog p{margin-top:10px}
#privacy-dialog .privacy-version{font-size:12px;color:#788399;margin-top:12px}
#privacy-dialog ul{padding-left:20px;margin:10px 0}
#privacy-dialog li+li{margin-top:8px}
#privacy-dialog a{color:var(--blue);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
@media(max-width:600px){#privacy-dialog{padding:22px 20px;width:calc(100% - 24px)}#privacy-dialog h2{font-size:24px}#privacy-dialog h3{font-size:16px}#privacy-dialog p,#privacy-dialog li{font-size:14px}}
/* Align the visible L edge with Cyrillic р and strengthen the brand word. */
.hero h1>em{position:relative;left:.008em;font-weight:900;-webkit-text-stroke:0;paint-order:normal}

@media(max-width:900px){
 .section-action-bottom .text-link{font-size:16px;font-weight:600;line-height:1.4;min-height:52px;gap:12px;background:#fff}
 .section-action-bottom .text-link:hover{background:#f2f7fd}
 .section-action-bottom .text-link span{font-size:20px;line-height:1}
}
/* Leave clear space between hero heading lines, including descending letters. */
.hero h1{line-height:1.14}

/* Small social tiles below the footer brand, matching the reference. */
.footer-messengers{display:flex;align-items:center;gap:8px;margin:12px 0}
.footer-messengers .contact-messenger{display:flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 34px;border:0;border-radius:5px;background:#ffffff1a;color:#fff;transition:background .18s,transform .18s}
.footer-messengers .contact-messenger:hover{background:#ffffff2c;transform:translateY(-2px)}
.footer-messengers .contact-messenger:focus-visible{outline:2px solid #8ec4ff;outline-offset:4px}
.footer-messengers .contact-messenger img,.footer-messengers .contact-messenger svg{display:block;width:18px;height:18px;object-fit:contain}
.footer-messengers .messenger-telegram svg{fill:#fff}
.footer-messengers img{filter:none}
@media(max-width:600px){.footer-messengers .contact-messenger{width:40px;height:40px;flex-basis:40px}}

.hero h1>.hero-city{font-weight:900;-webkit-text-stroke:0;paint-order:normal}

/* Desktop process follows the reference: numbered headings, arrows and aligned photos. */
@media(min-width:901px){
 #steps{grid-template-columns:repeat(4,minmax(0,1fr));padding:20px 0;gap:0;border-color:#e7edf4;border-radius:7px}
 #steps .step{padding:0 16px;min-width:0;display:flex;flex-direction:column}
 #steps .step-top{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:start;gap:10px;min-height:44px;margin-bottom:0}
 #steps .step-number{font-size:40px;font-weight:800;line-height:1;letter-spacing:-1.5px}
 #steps .step h3{font-size:clamp(13px,1.05vw,15px);font-weight:700;line-height:1.35;padding:5px 20px 0 0;min-height:0}
 #steps .step>p{font-size:14px;line-height:1.5;padding-left:52px;margin:3px 0 16px;min-height:0;flex:1}
 #steps .step img{width:100%;height:auto;aspect-ratio:2.05;object-fit:cover;margin-top:auto;border-radius:4px}
 #steps .step-arrow{display:flex;align-items:center;justify-content:center;position:absolute;right:9px;top:10px;width:18px;height:18px;color:var(--blue)}
 #steps .step-arrow svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
}
@media(min-width:901px){
 #steps .step{border-right:0}
 #steps .step:not(:last-child):after{content:'';position:absolute;right:0;top:56px;bottom:0;width:1px;background:#e7edf4}
}

body{font-optical-sizing:auto}
@media(min-width:901px){
 #steps .step-top{grid-template-columns:50px minmax(0,1fr);gap:12px}
 #steps .step>p{padding-left:62px}
}
/* Reference spacing: clear number-to-title gap and quiet dividers. */
@media(min-width:901px){
 #steps{border-color:#f0f4f8}
 #steps .step-top{grid-template-columns:56px minmax(0,1fr);gap:18px;align-items:center;min-height:44px}
 #steps .step h3{padding-top:0;padding-bottom:0}
 #steps .step>p{padding-left:74px;margin-top:4px}
 #steps .step:not(:last-child):after{background:#f0f4f8}
}

/* Reference-style benefits: detailed blue pictograms and a brushed-metal backdrop. */
#about{position:relative;isolation:isolate;background:none;padding:26px 0 32px}
#about:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(90deg,#fff 0%,#fff 43%,#ffffffbd 63%,#ffffff28 100%),url('assets/images/detail.webp');background-position:center,calc(100% + 24vw) center;background-size:cover,70% auto;background-repeat:no-repeat}
#about .split-head{align-items:center;margin-bottom:24px;gap:40px}
#about .split-head h2{flex:1;min-width:0}
#about .split-head>p{width:44%;max-width:560px;font-size:16px;line-height:1.6;padding-top:0}
#about .benefit{background:linear-gradient(135deg,#f6f9fcf5,#f0f6fbeb);border:1px solid #ffffff80;border-radius:6px;padding:22px;min-width:0}
#about .benefit>i{display:flex;align-items:center;height:48px;margin-bottom:13px}
#about .benefit-icon{display:block;width:48px;height:48px;object-fit:contain}
#about .benefit h3{font-size:17px;line-height:1.3;margin-bottom:8px}
#about .benefit p{font-size:15px;line-height:1.5}
@media(max-width:900px){#about:before{background-position:center,right center;background-size:cover,auto 100%;background-image:linear-gradient(90deg,#fffffff5,#ffffffb8),url('assets/images/detail.webp')}#about .split-head{gap:22px}#about .split-head>p{font-size:15px}#about .benefit{padding:20px}}
@media(max-width:600px){#about{padding:20px 0 24px}#about .split-head{display:block}#about .split-head>p{width:100%;max-width:none;margin-top:16px;font-size:15px}#about .benefit{padding:20px}#about .benefit h3{font-size:18px}#about .benefit p{font-size:15px}}

/* Price table column headings */
#prices th{font-weight:700}

/* Hero heading tracking */
.hero h1{letter-spacing:-0.035em}

/* Begin the mobile hero photo halfway behind the secondary action. */
@media(max-width:600px){
 .hero{overflow:hidden}
 .hero-inner:before{display:none}
 .hero-copy{position:relative}
 .hero-copy:after{content:'';position:absolute;top:calc(100% - 27px);left:-16px;right:-16px;height:520px;background:url('assets/images/hero-mobile.webp') center 38%/cover;z-index:-1;pointer-events:none}
 .hero-actions .outline{background:#fff;position:relative}
}
