/* Mobile-led project gallery, verified review sources and telephone-first navigation. */
.header-call { min-width: 214px; min-height: 60px; }
.header-call strong { font: 750 23px/1.2 var(--sans); white-space: nowrap; letter-spacing: -.035em; }
.google-icon { width: 36px; height: 36px; flex: 0 0 auto; object-fit: contain; background: none; border: 0; filter: none; mix-blend-mode: normal; }
.hero-proof { width: fit-content; gap: 13px; letter-spacing: 0; }
.hero-proof .google-icon { width: 36px; height: 36px; }
.hero-proof-copy { display: grid; gap: 2px; }
.hero-proof-copy strong { display: flex; align-items: center; gap: 9px; font-size: 16px; font-weight: 700; }
.hero-proof-copy > span { font-size: 13px; color: #e2e4df; }
.hero-subtitle, .area-note { font-style: normal; }
.trust-inner { grid-template-columns: 1.65fr 1fr 1.2fr .9fr; }
.trust-rating { gap: 15px; }
.trust-score { font-size: 62px; }
.trust-score > span { display: none; }
.trust-rating .google-icon { width: 34px; height: 34px; }
.trust-review-copy { white-space: normal; }
.trust-review-copy > small { white-space: nowrap; }
.quote-panel { color-scheme: light; }
.quote-panel .form-intro { font-style: normal; }

.project-gallery { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(40px, 8vw, 140px); align-items: center; padding: 88px var(--gutter); background: #0b100f; }
.project-gallery-heading { max-width: 530px; }
.project-gallery-heading .eyebrow, .reviews-heading .eyebrow { color: #c9b48e; margin-bottom: 21px; }
.project-gallery h2, .reviews-section h2 { font: 400 clamp(46px, 4.8vw, 76px)/1.06 var(--serif); letter-spacing: -.035em; }
.project-gallery h2 em, .reviews-section h2 em { font-style: normal; color: #cdbb9c; }
.gallery-intro { margin-top: 24px; color: #bac2b8; font-size: 15px; line-height: 1.7; }
.project-gallery-heading .link-line { margin-top: 26px; }
.project-gallery-viewer { min-width: 0; width: 100%; max-width: 670px; justify-self: end; }
.project-track { display: flex; align-items: flex-start; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-behavior: smooth; overscroll-behavior-x: contain; scrollbar-width: none; -webkit-overflow-scrolling: touch; outline-offset: 7px; transition: height .35s ease; }
.project-track::-webkit-scrollbar { display: none; }
.project-slide { flex: 0 0 100%; min-width: 0; margin: 0; scroll-snap-align: start; scroll-snap-stop: always; }
.project-open { display: block; position: relative; width: 100%; padding: 0; border: 0; border-radius: 0; background: #19221c; cursor: zoom-in; text-align: left; }
.project-open > img { width: 100%; height: auto; object-fit: contain; }
.project-open:focus-visible { outline-offset: -5px; outline-width: 3px; }
.photo-expand { position: absolute; right: 18px; bottom: 18px; display: flex; align-items: center; gap: 14px; min-height: 44px; padding: 9px 13px; background: #09100ee0; color: #fff9ed; font-size: 12px; border: 1px solid #eee3cb66; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.photo-expand svg { width: 19px; height: 19px; transition: transform .3s; }
.project-open:hover .photo-expand svg { transform: translate(2px, -2px); }
.project-slide figcaption { display: flex; align-items: start; gap: 18px; padding: 21px 0 6px; }
.project-number { font: 400 29px/1.15 var(--serif); color: #c7b694; }
.project-slide h3 { font: 550 15px/1.5 var(--sans); }
.project-slide figcaption p { color: #aab5aa; font-size: 13px; margin-top: 4px; }
.gallery-controls { display: flex; align-items: center; gap: 18px; border-top: 1px solid var(--line); margin-top: 18px; padding-top: 13px; }
.gallery-dots { display: flex; align-items: center; gap: 0; }
.gallery-dot { display: grid; place-items: center; width: 38px; height: 44px; padding: 0; border: 0; background: transparent; }
.gallery-dot span { width: 6px; height: 6px; border-radius: 50%; background: #637064; transition: width .3s, background .3s; }
.gallery-dot[aria-pressed="true"] span { width: 22px; border-radius: 4px; background: #d7c19b; }
.gallery-count { margin-left: auto; color: #c8d0c4; font: 500 12px/1.4 var(--sans); letter-spacing: .06em; white-space: nowrap; }
.gallery-arrows { display: flex; gap: 8px; }
.gallery-arrows button { display: grid; place-items: center; width: 44px; height: 44px; background: transparent; border: 1px solid #b9af9755; }
.gallery-arrows button:not(:disabled):hover { background: #b9af971c; border-color: #cbb998; }
.gallery-arrows button:disabled { opacity: .3; }
.gallery-arrows svg { width: 19px; height: 19px; }
.gallery-prev svg { transform: rotate(90deg); }
.gallery-next svg { transform: rotate(-90deg); }
.lightbox .modal-inner { padding-top: 65px; }
.lightbox #photo-full { max-height: 76dvh; width: 100%; object-fit: contain; }
.lightbox .photo-caption { text-align: center; font-style: normal; }

.reviews-section { padding: 88px var(--gutter); background: radial-gradient(ellipse at 10% 10%, #74816712, transparent 55%), #101614; display: grid; grid-template-columns: 1fr 1fr; gap: 45px 70px; }
.reviews-heading { align-self: center; }
.review-sources { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-self: center; }
.source-rating { padding: 24px; border: 1px solid #bbc4af38; background: #0b110f70; transition: border-color .3s, background .3s; }
.source-rating:hover { border-color: #d2bd98; background: #19211bbd; }
.source-brand { display: flex; align-items: center; gap: 9px; font-size: 15px; font-weight: 600; min-height: 36px; }
.source-brand .google-icon { width: 27px; height: 27px; }
.source-brand > svg { margin-left: auto; width: 17px; height: 17px; color: #c1b18e; }
.source-score { display: grid; gap: 9px; margin-top: 27px; }
.source-score > strong { font: 400 64px/1 var(--serif); letter-spacing: -.04em; }
.source-score .stars { font-size: 17px; }
.source-count { display: block; color: #c4ccbf; font-size: 13px; margin-top: 9px; }
.customer-quote { grid-column: 1/-1; margin: 0; padding: 44px 0 0; border-top: 1px solid var(--line); }
.customer-quote > .stars { font-size: 16px; }
.customer-quote blockquote { font: 400 clamp(27px, 3.1vw, 48px)/1.35 var(--serif); letter-spacing: -.02em; margin: 22px 0 29px; max-width: 1040px; }
.customer-quote figcaption { display: flex; align-items: center; gap: 14px; }
.reviewer-initial { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid #d3bf994f; color: #d3bf99; border-radius: 50%; font-size: 17px; }
.customer-quote figcaption strong { display: block; font-size: 14px; }
.customer-quote figcaption small { display: block; color: #aebaaa; font-size: 12px; margin-top: 4px; }
.customer-quote figcaption a { margin-left: auto; font-size: 13px; border-bottom: 1px solid #ad9d7977; min-height: 44px; display: inline-flex; align-items: center; gap: 12px; }
.customer-quote figcaption svg { width: 18px; height: 18px; }
.community-links { grid-column: 1/-1; border-top: 1px solid var(--line); padding-top: 25px; display: flex; align-items: center; gap: 28px; font-size: 14px; }
.community-links p { margin-right: auto; color: #b3beb0; }
.community-links a { display: inline-flex; align-items: center; gap: 15px; min-height: 44px; }
.community-links svg { width: 18px; height: 18px; }

@media (max-width: 1120px) {
  .trust-inner { grid-template-columns: 1.6fr 1fr 1.2fr; }
  .trust-rating { gap: 12px; }
  .trust-score { font-size: 54px; }
  .trust-detail { margin-left: 10px; padding-left: 20px; }
  .project-gallery { gap: 45px; padding-block: 65px; }
  .project-gallery h2 { font-size: 54px; }
  .reviews-section { gap: 40px; }
  .source-rating { padding: 20px 16px; }
  .source-brand { font-size: 14px; gap: 7px; }
}

@media (max-width: 800px) {
  .trust-inner { grid-template-columns: 1fr 1fr; gap: 20px; padding-block: 23px; }
  .trust-rating { justify-content: center; gap: 18px; padding-bottom: 22px; }
  .trust-rating .google-icon { width: 38px; height: 38px; }
  .trust-score { font-size: 62px; }
  .trust-detail { margin: 0; padding: 0; gap: 6px; }
  .trust-detail strong { font-size: 22px; }
  .trust-detail:nth-child(3) { padding-left: 20px; }
  .trust-overline { font-size: 11px; letter-spacing: .05em; }
  .trust-detail small { font-size: 12px; }
  .project-gallery { grid-template-columns: 1fr; gap: 31px; padding: 48px var(--gutter) 35px; }
  .project-gallery-heading { max-width: 560px; }
  .project-gallery h2 { font-size: clamp(43px, 7vw, 61px); }
  .project-gallery-heading .eyebrow { margin-bottom: 16px; font-size: 11px; }
  .gallery-intro { margin-top: 17px; font-size: 14px; }
  .project-gallery-heading .link-line { margin-top: 15px; }
  .project-gallery-viewer { max-width: 570px; justify-self: center; }
  .reviews-section { grid-template-columns: 1fr; padding: 48px var(--gutter); gap: 31px; }
  .reviews-section h2 { font-size: 48px; }
  .reviews-heading .eyebrow { margin-bottom: 16px; font-size: 11px; }
  .review-sources { max-width: 560px; }
  .source-rating { padding: 23px; }
  .source-brand { font-size: 16px; }
  .source-score { margin-top: 24px; }
  .source-score > strong { font-size: 59px; }
  .customer-quote { padding-top: 28px; }
  .customer-quote blockquote { font-size: 31px; margin-top: 18px; }
  .customer-quote figcaption { flex-wrap: wrap; }
  .customer-quote figcaption a { margin-left: 58px; }
  .community-links { flex-wrap: wrap; gap: 10px 30px; padding-top: 19px; }
  .community-links p { width: 100%; font-size: 13px; }
  .google-panel .google-icon { width: 28px; height: 28px; }
}

@media (max-width: 600px) {
  .site-header { height: 74px; inset: 10px 12px auto; }
  .header-inner { padding: 8px 10px; gap: 10px; }
  .site-header .brand-copy { display: none; }
  .site-header .brand-mark { width: 48px; height: 48px; }
  .header-actions { gap: 12px; }
  .header-call { min-width: 174px; min-height: 54px; padding: 10px 13px; }
  .header-call strong { font-size: 20px; }
  .menu-toggle { width: 44px; min-width: 44px; min-height: 48px; padding: 6px; }
  .menu-word { display: none; }
  .menu-lines { width: 25px; }
  .hero { padding-top: 112px; }
  .hero-copy { padding-top: 7px; }
  .hero-proof { margin-bottom: 23px; gap: 12px; }
  .hero-proof .google-icon { width: 33px; height: 33px; }
  .hero-proof-copy > span { font-size: 12px; }
  .hero-proof-copy strong { font-size: 15px; }
  .hero h1 { font-size: clamp(41px, 11.7vw, 62px); }
  .hero h1 .hero-kicker { margin-bottom: 12px; }
  .hero-subtitle { margin-top: 16px; }
  .callouts { margin-block: 19px; }
  .hero-inner { gap: 28px; }
  .hero-ctas .button--phone { min-height: 73px; }
  .hero-ctas .button--phone strong { font-size: 29px; }
  .hero .scene-bg { object-position: 58% center; }
  .quote-panel { padding: 23px 22px 21px; }
  .form-topline { margin-bottom: 17px; }
  .quote-panel h2 { font-size: 35px; line-height: 1.06; }
  .quote-panel .form-intro { margin: 10px 0 19px; font-size: 13px; }
  .quote-panel .quote-form { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px 12px; }
  .quote-panel .field--half { grid-column: auto; }
  .quote-panel .field label { font-size: 13px; }
  .quote-panel .field input, .quote-panel .field select { min-height: 51px; font-size: 16px; padding-inline: 10px; }
  .quote-panel .field select { padding-right: 31px; }
  .quote-submit { min-height: 58px; font-size: 14px; padding-inline: 17px; }
  .form-footnote { font-size: 11px; gap: 4px 9px; margin-top: 12px; }
  .prefer-call { padding-top: 14px; margin-top: 15px; }
  .trust-inner { gap: 20px 16px; }
  .trust-rating { gap: 15px; }
  .trust-score { font-size: 59px; }
  .trust-review-copy { gap: 4px; font-size: 12px; }
  .trust-review-copy .stars { font-size: 17px; }
  .trust-review-copy > small { font-size: 12px; }
  .trust-detail strong { font-size: 21px; }
  .trust-detail:nth-child(3) { padding-left: 16px; }
  .project-gallery { padding-inline: 0; }
  .project-gallery-heading { padding-inline: var(--gutter); }
  .project-gallery h2 { font-size: 45px; }
  .project-gallery-viewer { max-width: 100%; }
  .project-slide figcaption { padding: 20px var(--gutter) 5px; gap: 15px; }
  .project-slide h3 { font-size: 14px; }
  .project-slide figcaption p { font-size: 12px; }
  .gallery-controls { margin-inline: var(--gutter); gap: 8px; }
  .gallery-dot { width: 34px; }
  .gallery-count { font-size: 11px; }
  .gallery-arrows { gap: 6px; }
  .photo-expand { right: 15px; bottom: 15px; }
  .reviews-section h2 { font-size: 45px; }
  .review-sources { gap: 12px; }
  .source-rating { padding: 20px 16px; }
  .source-brand { font-size: 14px; gap: 8px; }
  .source-brand .google-icon { width: 26px; height: 26px; }
  .source-brand > svg { width: 14px; height: 14px; }
  .source-score > strong { font-size: 57px; }
  .source-score .stars { font-size: 15px; }
  .source-count { font-size: 12px; }
  .customer-quote blockquote { font-size: 28px; line-height: 1.38; }
  .customer-quote figcaption { gap: 12px; }
  .customer-quote figcaption a { margin-left: 56px; }
  .customer-quote figcaption small { font-size: 11px; }
  .lightbox .modal-inner { padding: 59px 10px 18px; }
  .lightbox #photo-full { max-height: 74dvh; }
}

@media (max-width: 360px) {
  .site-header { inset-inline: 9px; }
  .site-header .brand-mark { width: 40px; height: 44px; }
  .header-inner { padding-inline: 8px; gap: 7px; }
  .header-actions { gap: 7px; }
  .header-call { min-width: 154px; padding-inline: 10px; }
  .header-call strong { font-size: 18px; }
  .hero h1 { font-size: 41px; }
  .quote-panel .quote-form { grid-template-columns: 1fr; }
  .quote-panel h2 { font-size: 34px; }
  .trust-rating { gap: 12px; }
  .trust-rating .google-icon { width: 30px; height: 30px; }
  .trust-score { font-size: 53px; }
  .trust-detail strong { font-size: 20px; }
  .project-gallery h2, .reviews-section h2 { font-size: 40px; }
  .gallery-dot { width: 28px; }
  .source-rating { padding: 17px 12px; }
  .source-brand { gap: 6px; font-size: 13px; }
  .source-brand .google-icon { width: 22px; height: 22px; }
  .source-brand > svg { display: none; }
  .source-score .stars { font-size: 14px; }
  .source-count { font-size: 11px; }
  .customer-quote blockquote { font-size: 26px; }
}

@media (prefers-reduced-motion: reduce) {
  .project-track { scroll-behavior: auto; transition: none; }
}

/* One field per line, with an inset champagne frame and compact outlined labels. */
.quote-form.quote-form--stacked { grid-template-columns: minmax(0, 1fr); }
.quote-panel.quote-panel--compact {
  padding: 25px 25px 18px;
  border: 1px solid transparent;
  border-radius: 16px;
  background: linear-gradient(#f6f4ed, #f6f4ed) padding-box,
    linear-gradient(135deg, #fff0d1, #b89963 32%, #ead8b6 59%, #8c724b) border-box;
  box-shadow: 0 24px 65px #0005, 0 3px 0 #10191155, inset 0 1px 0 #fff;
  transition: box-shadow .3s;
}
.quote-panel.quote-panel--compact:before { inset: 5px; border: 1px solid #ae96733b; border-radius: 11px; }
.quote-panel--compact h2 { font-size: 32px; line-height: 1.1; letter-spacing: -.035em; margin: 0 0 18px; color: #203128; }
.quote-panel--compact h2 em { color: #80683f; font-style: normal; }
.quote-panel--compact .quote-form { gap: 12px; }
.quote-panel--compact .field { display: block; position: relative; padding-top: 8px; }
.quote-panel--compact .field label {
  position: absolute; top: 0; left: 11px; z-index: 1;
  padding: 0 5px; font-size: 14px; line-height: 1.2; color: #4c584b;
  background: #f6f4ed;
}
.quote-panel--compact .field input,
.quote-panel--compact .field select {
  min-height: 52px; border: 1px solid #a9ad9c; border-radius: 8px;
  background-color: #f6f4ed; color: #223229; font-size: 16px; line-height: 1.5;
  padding: 13px 14px 9px; box-shadow: 0 2px 4px #24352304;
}
.quote-panel--compact .field select { padding-right: 36px; }
.quote-panel--compact .field input:not(:placeholder-shown) { background-color: #f6f4ed; }
.quote-panel--compact .field input:focus-visible,
.quote-panel--compact .field select:focus-visible { outline: 2px solid #9a7c49; outline-offset: 2px; border-color: #9a7c49; box-shadow: 0 0 0 4px #b59a6620; }
.quote-panel--compact .field:focus-within label { color: #745b30; }
.quote-panel--compact .quote-submit {
  min-height: 54px; padding: 10px 15px 10px 18px; margin-top: 3px;
  border: 1px solid #193729; border-radius: 8px; color: #fffaf0;
  background: linear-gradient(115deg, #152e23, #2d4c39);
  box-shadow: 0 5px 14px #1930251c, inset 0 1px 0 #ffffff1f;
  font-size: 15px; font-weight: 650;
}
.quote-panel--compact .quote-submit svg { width: 29px; height: 29px; padding: 4px; border: 1px solid #e1d1aa5c; border-radius: 50%; }
.quote-panel--compact .quote-submit:hover { background: linear-gradient(115deg, #213f30, #3d5b43); box-shadow: 0 7px 20px #19302535; }
.quote-panel--compact .prefer-call { min-height: 44px; margin-top: 10px; padding-top: 10px; gap: 8px; font-size: 14px; border-color: #b6a48657; }
.quote-panel--compact .prefer-call strong { font-size: 14px; }
.quote-panel.quote-panel--compact:focus-within,
.quote-panel.quote-panel--compact.is-highlighted { box-shadow: 0 24px 65px #0005, 0 0 0 3px #dbc39945, inset 0 1px 0 #fff; }
@media (max-width: 600px) {
  .quote-panel.quote-panel--compact { padding: 22px 21px 15px; }
  .quote-panel--compact h2 { font-size: 30px; margin-bottom: 17px; }
}

/* Full-screen navigation with service and city disclosures. */
.mobile-menu { background: #0b100f; }
.mobile-menu[open] { display: flex; flex-direction: column; overflow: hidden; }
.mobile-menu .menu-top { flex-shrink: 0; border-bottom: 1px solid #c3ae8533; padding-bottom: 17px; }
.mobile-menu .menu-close { border-radius: 50px; border-color: #c3ae8555; background: #bdac8710; }
.mobile-menu .menu-close:hover { border-color: #d9c39d; background: #bdac8720; }
.mobile-menu .menu-layout { flex: 1; min-height: 0; overflow: hidden; }
.mobile-menu .menu-photo { min-height: 0; border-radius: 3px; }
.mobile-menu .menu-content { min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #786c50 transparent; justify-content: flex-start; padding-right: 10px; }
.mobile-menu .menu-nav { display: block; padding: 0; }
.menu-group { border-bottom: 1px solid var(--line); }
.menu-group > summary,
.mobile-menu .menu-nav > .menu-primary-link {
  display: flex; align-items: center; gap: 22px; min-height: 76px; padding: 13px 0;
  font: 400 clamp(30px, 3vw, 45px)/1.15 var(--serif); letter-spacing: -.025em;
  cursor: pointer; list-style: none; transition: color .25s;
}
.menu-group > summary::-webkit-details-marker { display: none; }
.menu-group > summary::marker { content: ''; }
.menu-group > summary > small,
.mobile-menu .menu-nav > .menu-primary-link > small { font: 500 12px/1.5 var(--sans); color: #9fa991; letter-spacing: .02em; }
.menu-group > summary:hover,
.menu-group[open] > summary { color: #e2caa1; }
.menu-group > summary:focus-visible { outline-offset: -3px; }
.menu-disclosure-icon { display: grid; place-items: center; margin-left: auto; width: 34px; height: 34px; border: 1px solid #cbb48a4d; border-radius: 50%; flex-shrink: 0; transition: border-color .25s, background .25s; }
.menu-disclosure-icon svg { width: 16px; height: 16px; transition: transform .25s; }
.menu-group[open] .menu-disclosure-icon { border-color: #cbb48aaa; background: #cbb48a18; }
.menu-group[open] .menu-disclosure-icon svg { transform: rotate(180deg); }
.menu-submenu { display: grid; margin: 0 0 17px 32px; padding: 5px 16px; background: #c3b18c0a; border: 1px solid #c3b18c2c; border-left: 2px solid #b89d6b; border-radius: 0 9px 9px 0; }
.mobile-menu .menu-submenu a { font: 500 15px/1.45 var(--sans); letter-spacing: 0; min-height: 49px; padding: 11px 0; gap: 14px; border-bottom: 1px solid #b5bea31a; color: #dce2d4; }
.mobile-menu .menu-submenu a:last-child { border-bottom: 0; }
.mobile-menu .menu-submenu a svg { width: 17px; height: 17px; color: #baa47d; margin-left: auto; }
.mobile-menu .menu-submenu a:hover { color: #f0d8ad; padding-left: 0; }
.mobile-menu .menu-submenu a:focus-visible { outline-offset: -2px; }
.mobile-menu[open] .menu-submenu a { animation: none; }
.menu-group[open] .menu-submenu { animation: submenu-arrive .28s ease both; }
.mobile-menu .menu-nav > .menu-primary-link:hover { padding-left: 0; color: #e2caa1; }
.mobile-menu .menu-nav > .menu-primary-link > svg { width: 22px; height: 22px; color: #bda780; }
.menu-submenu--cities { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 21px; }
.mobile-menu .menu-submenu .menu-area-overview { grid-column: 1/-1; font-size: 13px; color: #cdb88f; }
.mobile-menu .menu-contact { padding-top: 8px; margin-top: 23px; padding-bottom: 10px; }
@keyframes submenu-arrive { from { opacity: 0; transform: translateY(-7px); } to { opacity: 1; transform: none; } }
@media (max-width: 800px) {
  .mobile-menu .menu-layout { display: block; overflow-y: auto; overscroll-behavior: contain; padding-top: 22px; scrollbar-width: thin; scrollbar-color: #786c50 transparent; }
  .mobile-menu .menu-content { overflow: visible; padding: 0 0 max(20px, env(safe-area-inset-bottom)); }
  .mobile-menu .menu-content > .eyebrow { font-size: 12px; margin-bottom: 12px; letter-spacing: .13em; }
  .menu-group > summary, .mobile-menu .menu-nav > .menu-primary-link { font-size: 34px; min-height: 71px; gap: 17px; }
  .menu-submenu { margin-left: 28px; padding-inline: 15px; }
  .menu-submenu--cities { gap: 0 16px; }
}
@media (max-width: 500px) {
  .mobile-menu { padding: 17px 21px 0; }
  .mobile-menu .menu-top { min-height: 65px; padding-bottom: 13px; }
  .menu-group > summary, .mobile-menu .menu-nav > .menu-primary-link { min-height: 67px; font-size: 30px; gap: 16px; }
  .menu-disclosure-icon { width: 31px; height: 31px; }
  .menu-submenu { margin-left: 0; padding-inline: 14px; }
  .mobile-menu .menu-submenu a { font-size: 15px; min-height: 49px; gap: 8px; }
  .mobile-menu .menu-submenu--cities a { font-size: 14px; }
  .menu-submenu--cities { gap: 0 15px; }
  .mobile-menu .menu-contact { gap: 15px; }
  .mobile-menu .menu-contact strong { font-size: 27px; }
}
@media (max-width: 360px) {
  .menu-group > summary, .mobile-menu .menu-nav > .menu-primary-link { font-size: 28px; }
  .menu-submenu--cities { grid-template-columns: minmax(0, 1fr); }
}
