/* Mobile usability: reachable actions, an accessible navigation drawer, and compact spacing. */
.mobile-menu-call,.mobile-menu-cta{display:none}
@media (max-width:850px){
  body.menu-open{overflow:hidden}
  .site-header{position:sticky}
  .header-inner{min-height:70px;gap:14px}
  .header-name{font-size:17px;line-height:1.1}
  .header-name small{font-size:8px;letter-spacing:.1em}
  .menu-toggle{position:relative;z-index:6;display:grid;place-content:center;gap:5px;width:43px;height:43px;padding:0;border:1px solid var(--line);border-radius:50%;background:#fff}
  .menu-toggle span{display:block;width:18px;height:2px;background:var(--ink);transition:transform .2s ease,opacity .2s ease}
  .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .main-nav{display:none}
  .main-nav.is-open{position:fixed;z-index:5;inset:0;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:105px 24px 28px;background:#f8f5ef;overflow:auto}
  .main-nav.is-open a{padding:17px 0;border-bottom:1px solid var(--line);font:25px Georgia,serif}
  .main-nav.is-open .mobile-menu-call{display:block;margin-top:22px;color:var(--ink);font:700 15px Arial,sans-serif;border:0}
  .main-nav.is-open .mobile-menu-cta{display:flex;justify-content:center;align-items:center;margin-top:14px;padding:16px;background:var(--gold);color:#fff;font:700 13px Arial,sans-serif;border:0}
  .hero{padding:55px 0 48px}.hero-grid{gap:30px}.hero-text{font-size:16px;margin:20px 0}.hero-visual{height:280px}.hero-circle{width:275px;height:275px}.appliance{right:18px;transform:scale(.68);transform-origin:top right}.hero-card{left:0;bottom:0;padding:15px 17px}.hero-card strong{font-size:18px}.quick-choice{margin-top:25px;padding:14px}.quick-choice a{padding:8px;font-size:10px}
  .trust-grid>*{padding:22px}.section-head h2,.masters-grid h2,.dark-section h2,.request h2{font-size:40px}.service-card{min-height:220px}.request-form input,.request-form select{min-height:48px;font-size:16px}.request-form .button{min-height:54px}
}
@media (max-width:380px){.header-name{font-size:15px}.header-name small{font-size:7px}.container{width:calc(100% - 24px)}.hero h1{font-size:43px}.quick-choice>div{gap:6px}.quick-choice a{font-size:9px;padding:7px}.hero-visual{height:250px}}

.mobile-call-button{display:none}
@media (max-width:850px){
  .mobile-call-button{position:fixed;right:18px;bottom:18px;z-index:20;display:grid;place-items:center;width:60px;height:60px;border:3px solid #fff;border-radius:50%;background:#50b86b;color:#fff;text-decoration:none;box-shadow:0 7px 18px rgba(23,52,58,.28);animation:m56-call-pulse 1.8s ease-in-out infinite}
  .mobile-call-button span{font-size:27px;line-height:1;transform:rotate(-18deg)}
}
@keyframes m56-call-pulse{0%,100%{background:#a8e6ae;box-shadow:0 0 0 0 rgba(80,184,107,.5),0 7px 18px rgba(23,52,58,.28)}50%{background:#28a954;box-shadow:0 0 0 12px rgba(80,184,107,0),0 7px 18px rgba(23,52,58,.28)}}

/* Prevent long names, service labels and rating text from being cut off on narrow screens. */
@media (max-width:850px){
  .master-card,.master-card>div,.profile-content,.profile-facts,.profile-hero-grid>*,.profile-content-grid>*{min-width:0}
  .master-card h2,.master-card p,.master-card a,.master-card-rating,.profile-lead,.profile-content,.profile-facts,.profile-facts dd{overflow-wrap:anywhere;word-break:normal}
  .master-card-rating{flex-wrap:wrap}
}
@media (max-width:560px){
  .master-card{min-height:0}
  .master-card>div{padding:20px}
  .master-card h2{font-size:28px;line-height:1.08}
  .master-card p{line-height:1.45}
  .master-card-rating small{margin-left:0;flex-basis:100%}
  .profile-content h2,.profile-facts h2{font-size:30px;overflow-wrap:anywhere}
}

/* Homepage diagnostic ticket: keep both lines fully visible on phones. */
@media (max-width:560px){
  .hero-showcase{min-height:360px!important;overflow:visible}
  .showcase-ticket{left:0!important;right:auto!important;bottom:8px!important;width:178px!important;min-width:178px!important;padding:12px 14px!important;white-space:normal!important;overflow:visible!important}
  .showcase-ticket b{display:block!important;font-size:17px!important;line-height:1.16!important;white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important}
  .showcase-ticket i{right:13px!important;bottom:10px!important}
}
