.wrap{width:calc(100% - 40px)}html{scroll-padding-top:72px}.section{padding-block:65px}h2{font-size:38px;line-height:1.08;letter-spacing:-1.5px}.eyebrow{font-size:14px;margin-bottom:16px}.section-intro{margin-bottom:34px}.section-description{font-size:17px;max-width:340px}.nav-inner{width:calc(100% - 30px);min-height:54px;gap:12px}.brand{font-size:18px}.desktop-nav{display:none}.header-contact{margin-left:auto}.header .phone{font-size:0;width:42px;height:42px;display:flex;align-items:center;justify-content:center}.phone-icon{display:block;width:20px;height:20px;fill:none;stroke:var(--ink);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:0;background:none;width:42px;height:42px;padding:10px;flex-shrink:0}.menu-toggle span{height:1.5px;width:19px;background:var(--ink);transition:.2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.75px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}.mobile-nav:not([hidden]){position:fixed;top:54px;left:0;right:0;z-index:39;display:grid;padding:15px 28px 25px;background:#fffffff5;backdrop-filter:blur(20px);border-bottom:1px solid #e4e4e8}.mobile-nav a{font-size:22px;font-weight:550;padding:14px 0;border-bottom:1px solid #e9e9ed}.announcement{font-size:11px;padding:13px 26px}.hero{padding:36px 16px 16px}.hero-copy{margin-bottom:31px}.hero .eyebrow{font-size:14px;margin-bottom:19px}.hero h1{font-size:clamp(43px,11vw,57px);line-height:1.02;letter-spacing:-2.3px;margin-bottom:21px}.hero-description{font-size:18px;line-height:1.4;max-width:355px;margin-inline:auto;margin-bottom:23px}.hero-actions{gap:10px}.button{font-size:13px;padding:11px 18px;min-height:44px}.hero-image{height:300px;max-width:100%;border-radius:18px}.hero-image img{object-position:66% 60%}.photo-caption{font-size:9px;right:10px;bottom:10px}.services{width:calc(100% - 20px);padding-top:65px;padding-bottom:55px}.services .section-intro{padding-inline:15px}.service-grid{grid-template-columns:1fr;gap:10px}.service{padding:32px 22px 22px}.service-title{font-size:29px;min-height:0;max-width:100%;line-height:1.12}.service-price{margin-top:12px}.price-amount{font-size:23px}.price-from,.price-unit{font-size:14px}.service-subtitle{font-size:14px;max-width:310px;margin-top:7px;min-height:0}.service-more{margin-top:11px}.service-photo{margin-top:25px;aspect-ratio:1.8;border-radius:13px}.illustration-note{font-size:11px;line-height:1.6;margin:17px 20px 0}.prices{padding:60px 0}.prices-intro{text-align:center;margin-bottom:30px}.prices-intro>p{font-size:17px}.price-sheet{grid-template-columns:1fr;padding:25px 20px;border-radius:23px;gap:26px}.price-column+.price-column{padding-left:0;border-left:0;padding-top:25px;border-top:1px solid var(--line)}.price-column-heading{padding-bottom:18px}.price-column-heading h3{font-size:22px}.price-column-heading p{font-size:13px}.price-list>div{min-height:61px;padding:13px 0;gap:11px}.price-list dt{font-size:14px}.price-list dt>span{font-size:12px}.price-list dd{font-size:12px}.price-list dd strong{font-size:20px}.price-list dd.price-custom{font-size:11px}summary{min-height:44px}.prices-footnote p{font-size:11px}.prices-footnote{gap:9px;margin-top:17px}.calculator-section{padding:60px 20px 65px;width:100%}.calculator-heading{margin-bottom:30px}.calculator-heading>p:last-child{font-size:17px}.calculator{grid-template-columns:1fr;border-radius:23px}.calculator-inputs{padding:25px 20px}.calc-switch{display:flex;width:100%;margin-bottom:25px}.calc-switch button{flex:1;padding:10px 15px;font-size:14px}.calc-fields{grid-template-columns:1fr;gap:19px}.calc-field>span:first-child{font-size:13px}.calc-field input,.calc-field select{font-size:16px}.calc-window-fields{gap:18px 14px}.calc-result{padding:30px 25px}.calc-result output{font-size:33px;letter-spacing:-1px}.calc-result-label,.calc-breakdown{font-size:13px}.calc-disclaimer{font-size:12px;line-height:1.65;margin:22px 0}.calc-contact{min-height:46px}.about-heading{margin-bottom:30px}.about-panel{grid-template-columns:1fr;gap:12px}.about-panel-row{padding:26px;border-radius:23px;display:grid;grid-template-columns:44px 1fr;gap:20px;align-items:start}.about-icon{margin:0}.about-panel strong{font-size:21px}.about-panel p{font-size:14px;margin-top:9px}.process{padding-top:0;padding-bottom:65px}.process h2{font-size:37px}.steps{grid-template-columns:1fr;gap:29px}.steps li{display:flex;gap:22px;border-left:0;padding:0}.step-number{font-size:28px;min-width:34px;line-height:1.2;margin:0}.steps h3{font-size:20px;margin-bottom:9px}.steps p{font-size:15px}.footer{padding:40px 0 22px}.footer-grid{grid-template-columns:1fr;gap:30px}.footer .brand{font-size:22px}.footer h2{font-size:31px}.footer-phone{font-size:27px}.footer-social .social-link{width:44px;height:44px}.footer-social>span{font-size:11px}.footer-social p{font-size:12px}.footer-bottom{margin-top:30px;font-size:10px;line-height:1.6;gap:20px}.footer-bottom>span:last-child{text-align:right;max-width:150px}dialog{padding:42px 25px 28px;border-radius:25px}dialog h2{font-size:29px}.dialog-close{width:40px;height:40px;right:10px;top:10px}.dialog-contacts{gap:16px}.dialog-contacts .social-link{width:44px;height:44px}.dialog-contacts>a{font-size:14px}.contact-dialog{padding:42px 25px 28px}.contact-estimate{padding:15px 16px}.contact-methods .socials{gap:8px}.contact-phone strong{font-size:17px}.contact-dialog h2{font-size:28px}.contact-methods .social-link{height:70px}
@media(max-width:350px){.hero{padding-inline:12px}.hero h1{font-size:42px}.hero-description{font-size:16px}.hero-actions{gap:8px}.button{font-size:12px;padding:11px 14px}.hero-image{height:265px}.service-title{font-size:26px}.price-sheet{padding:22px 15px}.price-list dt{font-size:13px}.about-panel-row{padding:23px;gap:15px}.about-panel strong{font-size:19px}.contact-dialog{padding-inline:20px}.contact-phone strong{font-size:16px}}

/* Keep mobile sections readable without repeating desktop-sized spacing. */
h2,.service-title{ text-wrap:balance }
.header .phone,.menu-toggle,.dialog-close{width:44px;height:44px}
.services{padding-top:48px;padding-bottom:40px}
.services h2{font-size:34px}
.service{padding:25px 20px 20px}
.service-title{font-size:26px}
.service-photo{aspect-ratio:2.15;margin-top:20px}
.service-grid{gap:12px}
.prices{padding-top:48px}
.price-list dd{padding-left:3px}
.prices-footnote p{font-size:12px}
.about-heading h2{font-size:34px}
.about-panel-row{padding:24px 22px;gap:16px}
.about-panel strong{font-size:20px}
.calc-contact{width:100%;min-height:48px}
.calc-window-fields .calc-field>span:first-child{min-height:32px;line-height:1.3;display:flex;align-items:end}
dialog,.contact-dialog{max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain;padding-top:64px;padding-bottom:28px}
dialog{scrollbar-gutter:stable}
.dialog-contacts>a{display:inline-flex;align-items:center;min-height:44px}
.footer-bottom{font-size:11px}
@media(max-width:350px){
  .hero-actions{flex-direction:column;align-items:center}
  .hero-actions .button{width:220px;font-size:13px}
  .services h2,.about-heading h2{font-size:30px}
  .service-title{font-size:24px}
  .price-list>div{gap:8px}
  .about-panel-row{grid-template-columns:36px 1fr;padding:22px 18px;gap:12px}
  .about-icon{width:36px;height:36px}
  .about-panel strong{font-size:19px}
  .process h2{font-size:32px}
  .contact-phone{padding-inline:10px;gap:10px}
}
