/* Mobile customer journey: price, phone and directions stay one tap away. */
.embed-shell{position:relative;min-width:0}.embed-shell .embed-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px;gap:14px;text-align:center;background:#232629;color:#aeb2b5;border:1px solid #3b3e41;border-radius:12px;font-size:14px;line-height:1.7}.embed-shell.loaded .embed-loading{display:none}.embed-shell .embed-loading strong{color:#f7f7f5;font-size:20px;letter-spacing:-.5px}.map-shell{min-height:500px}.map-shell .map-frame{display:block;height:100%}.embed-loading button{cursor:pointer;border:0;font-family:inherit}.hero-mini a{border-bottom:1px solid #55595c;padding:5px 0}.compare-control input{min-height:44px}.comparison{touch-action:pan-y}.catalog-body .meta a{display:inline-flex;align-items:center;min-height:44px}.faq-note a,.widget-link{padding-top:10px;padding-bottom:10px;min-height:44px}.menu-toggle{touch-action:manipulation}.mobile-call{display:none}
@media(max-width:760px){
 html{scroll-padding-top:78px;scroll-padding-bottom:92px}
 body{padding-bottom:calc(82px + env(safe-area-inset-bottom))}
 .container{width:calc(100% - 32px)}
 .site-header .header{height:64px}
 .site-header nav{top:64px}
 .menu-toggle{font-size:14px;min-width:70px;min-height:44px}
 .hero{padding:27px 0 25px;display:block}
 .hero .visual{display:none}
 .hero h1{font-size:clamp(35px,9.1vw,48px);line-height:1.08;letter-spacing:-1.8px;margin:19px 0 17px}
 .hero .lead{font-size:14px;line-height:1.7;margin-bottom:21px;max-width:35em}
 .hero .eyebrow{letter-spacing:1px;font-size:9px;flex-wrap:wrap}
 .hero .actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
 .hero .actions .button{gap:9px;min-height:50px;font-size:13px;padding:13px 10px;border-radius:9px}
 .hero .trust{margin-top:18px;gap:12px;width:fit-content;min-height:44px}
 .hero .trust-score{font-size:28px}
 .hero .trust-text{font-size:11px;line-height:1.7}
 .hero-mini{margin-top:9px;font-size:11px;line-height:1.7;flex-wrap:wrap;gap:5px 12px}
 .hero-mini .hours{color:var(--muted)}
 .facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:17px 0;font-size:11px;line-height:1.5}
 .facts span{gap:7px;min-width:0}
 .section{padding:36px 0}
 .section h2{font-size:29px;letter-spacing:-1.1px;margin:12px 0 18px;line-height:1.15}
 .section-head{margin-bottom:20px}
 .section-head p{font-size:14px;line-height:1.7}
 .service-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:20px 0}
 .service-tabs button{min-height:46px;padding:10px 5px;font-size:12px;border-radius:8px;touch-action:manipulation}
 .service-tabs button:first-child{grid-column:span 2}
 .panel-intro{font-size:14px;line-height:1.7;margin-bottom:17px}
 .selector{gap:14px;margin:17px 0 20px}
 .selector label{font-size:13px;gap:7px}
 select{min-height:52px;padding:14px 12px;font-size:16px}
 .cards{gap:12px}
 .package{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'badge badge' 'title price' 'label label' 'description description';align-items:start;padding:19px;gap:8px 12px}
 .package .badge{grid-area:badge;font-size:10px;letter-spacing:1px}
 .package h3{grid-area:title;font-size:18px;margin:3px 0 0;line-height:1.3;letter-spacing:-.5px}
 .package .price{grid-area:price;font-size:26px;margin:2px 0 0;white-space:nowrap;line-height:1.25;text-align:right}
 .package .price.quote{font-size:18px;align-self:center}
 .package .label{grid-area:label;font-size:12px;line-height:1.6}
 .package p{grid-area:description;font-size:13px;line-height:1.7;min-height:0;margin:2px 0 0}
 .package .button{display:none}
 .simple{padding:20px}
 .simple h3{font-size:18px;line-height:1.4;margin-bottom:13px}
 .simple strong{font-size:27px}
 .simple p{font-size:14px;line-height:1.75}
 .simple small{font-size:12px;line-height:1.7}
 .simple .button{display:flex;font-size:14px;min-height:48px}
 .simple-grid{gap:12px}
 .meta{font-size:12px;line-height:1.7}
 summary,.full-price>summary,.operations>summary{font-size:14px;min-height:48px;padding:17px 0}
 table{font-size:13px}td,th{padding:14px 5px}td:last-child,th:last-child{width:85px}td small{font-size:11px}
 .about-item{grid-template-columns:22px 1fr;gap:10px}
 .about-item h3{font-size:18px;line-height:1.4}
 .about-item p{font-size:14px;line-height:1.75}
 .about-list{gap:20px}
 .about-photo img{aspect-ratio:1.7}
 .about-layout{gap:23px}
 .work-grid{gap:27px}
 .comparison{aspect-ratio:1.25}
 .compare-control{font-size:12px;margin:7px 0 12px}
 .work-card h3{font-size:19px;line-height:1.4}
 .work-card p{font-size:14px;line-height:1.75}
 .works-note{font-size:12px;line-height:1.7;margin-top:20px}
 .rating-number{font-size:64px;margin:18px 0 8px;letter-spacing:-4px}
 .rating-stars{font-size:19px;letter-spacing:5px}
 .reviews-copy{font-size:14px;line-height:1.75;margin:16px 0 20px}
 .reviews-layout{gap:24px}
 .review-widget{width:100%;margin:0;height:500px;min-width:0}
 .embed-shell.review-shell{width:100%}
 .widget-link{font-size:12px;line-height:1.7}
 .faq-note,.faq-list details p{font-size:14px;line-height:1.75}
 .faq-list summary{font-size:15px;padding:18px 0}
 .contact-grid{gap:23px}
 .contact-meta{font-size:14px;line-height:1.8}
 .contact-phone{font-size:27px;min-height:44px;margin:15px 0}
 .contact-grid .actions{display:grid;grid-template-columns:1fr;gap:10px}
 .contact-grid .button{min-height:50px;font-size:14px}
 .contact-grid .secondary{display:none}
 .entrance-photo{margin-top:21px;aspect-ratio:1.6}
 .entrance-caption{font-size:13px;line-height:1.7}
 .map-shell,.map-shell .map-frame{min-height:260px;height:260px}
 .site-footer{padding:23px 0}
 .site-footer .container{font-size:12px}
 .site-footer a{min-height:44px;display:flex;align-items:center}
 .mobile-call{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#151719fa}
 .mobile-call .button,.mobile-call .secondary{min-width:0;min-height:48px;font-size:12px;padding:12px 4px;gap:4px;border-radius:8px}
 .mobile-call .route{background:#2a2e31;color:#f7f7f5;border:1px solid #51565a}
 :focus-visible{scroll-margin-bottom:90px}
}
@media(max-width:350px){.hero .actions{grid-template-columns:1.16fr .84fr}.hero .actions .button{font-size:12px}.hero-mini{font-size:10px}.package{padding:17px;gap:8px}.package .price{font-size:24px}.package h3{font-size:17px}.review-widget{width:calc(100% + 16px);margin-left:-8px}.service-tabs button{font-size:11px}.facts{font-size:10px}}

/* Keep the full service name readable on narrow phones. */
@media(max-width:760px){.site-header .header{gap:12px}.site-header .brand{font-size:18px;gap:8px;letter-spacing:-.7px}.site-header .brand-mark{width:30px;height:30px;flex-shrink:0}}
@media(max-width:350px){.site-header .brand{font-size:16px}.site-header .brand-mark{width:28px;height:28px}.site-header .brand small{font-size:8px;letter-spacing:1.4px}}

/* Give the Yandex review list enough room, then scroll its viewport. */
.embed-shell.review-shell{height:520px;overflow-y:auto;overscroll-behavior-y:contain;border-radius:12px;background:#fff;scrollbar-width:thin}
.review-shell .review-widget{height:1500px;width:100%;margin:0;border-radius:0}
.review-shell:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
@media(max-width:760px){.embed-shell.review-shell{height:500px}.review-shell .review-widget{height:1700px}}
