/* Mobile-only refinement; desktop styles and behavior stay unchanged. */
@media (max-width:760px) {
  .wrap {padding-left:clamp(20px,5vw,32px);padding-right:clamp(20px,5vw,32px)}
  .section {padding-top:64px;padding-bottom:64px}
  .why,.area,.bg-trust {padding-top:56px;padding-bottom:56px}
  h2,.why h2,.quote h2,.service-page .quote h2,.education-section h2 {font-size:clamp(30px,7.5vw,38px);line-height:1.17;letter-spacing:-1px;font-weight:620}
  .eyebrow,.hero .eyebrow {font-size:11px;line-height:1.6;letter-spacing:1.2px}
  .section-head {margin-bottom:30px}
  .section-head>p,.quote>div>p:not(.eyebrow) {font-size:16px;line-height:1.7}
  .nav {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 10px;height:auto;padding-top:18px;padding-bottom:18px}
  .nav>.brand {min-width:0}.brand strong {font-size:20px}.brand small {font-size:8px;letter-spacing:1.3px}
  .nav>.button.small {max-width:128px;min-height:44px;padding:10px 12px;font-size:12px;line-height:1.35;text-align:center}
  .header-contact {grid-column:1/-1;order:2;grid-template-columns:1.15fr 1fr}
  .nav nav {display:flex;grid-column:1/-1;order:3;flex-wrap:wrap;gap:4px 18px;border-top:1px solid var(--line);padding-top:10px}
  .nav nav a {font-size:13px;min-height:40px;display:inline-flex;align-items:center}
  .button,.hero .button,.hero .outline,.why .button,.service-cta .button,.area-button,.submit {min-height:55px;font-size:15px;line-height:1.45;padding:16px 18px;border-radius:8px;gap:12px;white-space:normal;text-align:center}
  .hero .actions,.actions {gap:12px}
  .hero-inner,.city-page .hero-inner {padding-top:44px;padding-bottom:36px}
  .hero h1,.city-page .hero h1,.service-page .hero h1,.education-page .hero h1 {font-size:clamp(32px,8.6vw,46px);line-height:1.13;letter-spacing:-1.15px;font-weight:650;overflow-wrap:break-word}
  .hero .hero-copy,.city-page .hero-copy {font-size:17px;line-height:1.7}
  .hero-image,.city-page .hero-image {height:clamp(230px,62vw,380px)}
  .hero-services {gap:8px;margin-top:26px}
  .hero-services a {font-size:12px;padding:8px 12px;line-height:1.4}
  .hero-note {font-size:12px;line-height:1.6}
  .audiences .wrap {gap:16px;padding-top:26px;padding-bottom:26px}
  .audiences a {min-width:0;align-items:center;min-height:44px}
  .audiences a strong {font-size:14px;line-height:1.5;padding-left:12px;overflow-wrap:break-word}
  .service-grid {gap:24px}
  .service-grid .service {border-radius:12px}
  .service-grid .service-photo,.city-page .service-grid .service-photo {height:auto;min-height:0;aspect-ratio:3/2}
  .service-grid .service h3 {font-size:22px;margin:24px 24px 12px;letter-spacing:-.5px}
  .service-grid .service p {font-size:15px;line-height:1.7;margin:0 24px 22px}
  .service-grid .service .card-link {font-size:14px;margin:auto 24px 0;padding:18px 0 22px}
  .service-grid .service-compact {padding:24px}
  .service-grid .service-compact h3 {margin:18px 0 12px}
  .service-grid .service-compact p {margin:0 0 22px}
  .service-grid .service-compact .card-link {margin:auto 0 0}
  .service-cta {padding:24px;border-radius:12px}
  .why-grid,.quote {gap:32px}
  .benefits {grid-template-columns:1fr;gap:16px}
  .benefits article,.benefits article:first-child {display:block;padding:24px;border-radius:10px}
  .benefits article>span {margin-bottom:16px}
  .benefits h3,.steps h3 {font-size:19px}
  .benefits p,.steps p {font-size:15px;line-height:1.7}
  .steps {grid-template-columns:1fr;gap:16px;margin-top:32px}
  .steps article {display:block;padding:24px}
  .steps span {font-size:36px;font-weight:500;line-height:1.2}
  .steps h3 {margin:18px 0 12px}.steps p {margin-bottom:0}
  .bg-trust-heading h2 {font-size:clamp(24px,6.3vw,32px)}
  .bg-trust-grid {gap:20px}
  .bg-trust-item,.bg-trust-item:first-child,.bg-trust-item:last-child {padding:28px;min-height:0;border-radius:20px}
  .bg-trust-icon {position:static;margin:0 0 24px}
  .bg-trust-item dd {font-size:72px;margin:0 0 14px;max-width:none}
  .bg-trust-item dt>span:last-child {font-size:16px;min-height:0;max-width:none}
  .cities {gap:10px}.cities a,.cities button {min-height:46px;font-size:14px;padding:10px 14px}
  .service-switch>a {font-size:14px;line-height:1.45;padding:14px;min-width:0;overflow-wrap:break-word}
  .service-detail figure img,.education-section figure img {height:auto;aspect-ratio:4/3;object-fit:cover}
  .service-detail figcaption {font-size:15px;padding:16px 20px}
  .education-section {padding-top:36px;padding-bottom:36px}
  .education-task-grid article {padding:24px}
  .quote h2 br {display:none}.quote h2 span {display:block}
  .quote form {min-width:0;padding:24px;border-radius:16px}
  form h3 {font-size:26px;line-height:1.3}.form-intro {font-size:14px;margin-top:8px}
  .form-row {grid-template-columns:1fr;gap:0}
  label {font-size:14px;margin-bottom:20px}
  input,select,textarea {min-width:0;max-width:100%;min-height:52px;font-size:16px;padding:12px}
  input::placeholder,textarea::placeholder {font-size:14px}
  .privacy-note {font-size:13px;line-height:1.65}
  .submit {width:100%;justify-content:center}.submit span {flex-shrink:0}
  .contact .contact-email {font-size:18px}
  .mobile-sticky {grid-template-columns:1fr 1.7fr;padding:10px 12px calc(10px + env(safe-area-inset-bottom));gap:8px}
  .mobile-sticky a {font-size:13px;min-height:48px;border-radius:8px;padding:10px 8px;line-height:1.4}
  .footer-top {gap:28px}.footer-bottom {padding-bottom:calc(110px + env(safe-area-inset-bottom))}
  .footer-bottom div {gap:12px 20px}.footer-bottom a,.footer-bottom button {min-height:44px;display:inline-flex;align-items:center}
}
@media (min-width:540px) and (max-width:760px) {
  .service-grid,.steps,.benefits {grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-grid .service h3 {font-size:20px}
  .form-row {grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
}
/* Keep branding and the existing offer button separate on narrow phones. */
@media (max-width:380px) {
  .nav {grid-template-columns:minmax(0,1fr) 94px}
  .nav>.brand {gap:8px}
  .nav .brand-icon {width:30px;height:35px;font-size:25px;flex-shrink:0}
  .nav .brand strong {font-size:18px;letter-spacing:-.6px}
  .nav .brand small {font-size:7px;letter-spacing:1px}
  .nav>.button.small {width:94px;max-width:94px;padding:10px 8px}
  .nav nav {display:grid;grid-template-columns:1fr 1fr;column-gap:16px;row-gap:0}
}
@media (max-width:760px) {
  html {scroll-padding-bottom:calc(90px + env(safe-area-inset-bottom))}
  input,select,textarea,button[type="submit"] {scroll-margin-block:24px 100px}
}
