/* BrandScaleNYC — narrow restoration fixes, Oct 2026.
   Loaded ONLY by Contact and Groups & Franchises; no global redesign. */

/* Contact: typography, spacing and buttons. */
.contact-premium-page .contact-first-screen {
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
  column-gap: clamp(24px, 3.8vw, 58px);
}
.contact-premium-page .contact-page-hero::after { display: none; }
.contact-premium-page .contact-first-copy .contact-page-hero h1 {
  font-size: clamp(3.4rem, 5.7vw, 5.75rem);
  line-height: 1.03;
  letter-spacing: -.058em;
  overflow-wrap: normal;
}
.contact-premium-page .contact-first-copy .contact-page-hero p {
  font-size: clamp(.93rem, 1.1vw, 1.02rem);
  line-height: 1.7;
  letter-spacing: -.01em;
}
.contact-premium-page .contact-hero-actions,
.contact-premium-page .contact-submit-row,
.contact-premium-page .contact-close-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.contact-premium-page .contact-hero-actions .button,
.contact-premium-page .contact-submit-row .button,
.contact-premium-page .contact-close-actions .button {
  box-sizing: border-box;
  min-height: 46px;
  padding: 11px 18px;
  font-size: .88rem;
  line-height: 1.3;
  letter-spacing: -.012em;
  white-space: normal;
  text-align: center;
}
.contact-premium-page .contact-first-copy .v15-inline-franchise {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin: 25px 0 0;
  padding: 18px 20px;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 13px;
}
.contact-premium-page .contact-first-copy .v15-inline-franchise > div { min-width: 0; width: 100%; }
.contact-premium-page .contact-first-copy .v15-inline-franchise strong {
  font-size: clamp(1.02rem, 1.4vw, 1.16rem);
  line-height: 1.35;
  letter-spacing: -.02em;
}
.contact-premium-page .contact-first-copy .v15-inline-franchise p {
  font-size: .83rem;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.contact-premium-page .contact-first-copy .v15-inline-franchise .button {
  max-width: 100%;
  min-height: 42px;
  align-self: flex-start;
  padding: 9px 15px;
  font-size: .81rem;
  line-height: 1.35;
  white-space: normal;
}
.contact-premium-page .contact-first-form .contact-form-v12 h2 {
  font-size: clamp(1.55rem, 2.25vw, 2.15rem);
  line-height: 1.17;
  letter-spacing: -.035em;
  overflow-wrap: normal;
}
.contact-premium-page .contact-first-form .contact-form-v12 .form-title { align-items: flex-start; }
.contact-premium-page .contact-first-form .contact-form-v12 label { line-height: 1.4; }
.contact-premium-page .contact-first-form .contact-form-v12 input,
.contact-premium-page .contact-first-form .contact-form-v12 select,
.contact-premium-page .contact-first-form .contact-form-v12 textarea {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 100%;
}
.contact-premium-page .contact-left-direct a { overflow-wrap: anywhere; }

/* Groups & Franchises: mobile-only corrections. */
@media (max-width: 1000px) {
  .v15-groups-main .v15-groups-hero { grid-template-columns: minmax(0, 1fr); }
  .v15-groups-main .v15-groups-hero > div { min-width: 0; }
  .v15-groups-main .v15-section-title { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 720px) {
  .contact-premium-page .contact-first-screen {
    display: grid;
    grid-template-columns: minmax(0,1fr);
    gap: 27px;
    padding-top: 28px;
  }
  .contact-premium-page .contact-first-copy .contact-page-hero h1 {
    font-size: clamp(3.4rem, 14vw, 4.65rem);
    line-height: 1;
    letter-spacing: -.055em;
  }
  .contact-premium-page .contact-first-copy .contact-page-hero p { font-size: .93rem; }
  .contact-premium-page .contact-hero-actions,
  .contact-premium-page .contact-submit-row,
  .contact-premium-page .contact-close-actions { display: grid; grid-template-columns: minmax(0,1fr); width: 100%; }
  .contact-premium-page .contact-hero-actions .button,
  .contact-premium-page .contact-submit-row .button,
  .contact-premium-page .contact-close-actions .button { width: 100%; justify-content: center; }
  .contact-premium-page .contact-first-copy .v15-inline-franchise { padding: 17px; }
  .contact-premium-page .contact-first-copy .v15-inline-franchise .button { width: 100%; align-self: stretch; justify-content: center; }
  .contact-premium-page .contact-first-form .contact-form-v12 { border-radius: 20px; }
  .contact-premium-page .contact-first-form .contact-form-v12 h2 { font-size: clamp(1.48rem, 6vw, 1.83rem); line-height: 1.18; }
  .contact-premium-page .contact-first-form .contact-form-v12 .form-grid { grid-template-columns: minmax(0,1fr); }

  .v15-groups-main .v15-groups-hero { padding: 38px 0 18px; gap: 25px; }
  .v15-groups-main .v15-groups-hero h1 {
    font-size: clamp(2.85rem, 12vw, 4.2rem);
    line-height: 1.02;
    letter-spacing: -.052em;
    max-width: 100%;
    overflow-wrap: break-word;
  }
  .v15-groups-main .v15-groups-hero .lead { font-size: .96rem; line-height: 1.65; margin-top: 18px; }
  .v15-groups-main .v15-groups-hero .hero-actions { display: grid; grid-template-columns: minmax(0,1fr); gap: 10px; }
  .v15-groups-main .v15-groups-hero .hero-actions .button { width: 100%; min-height: 46px; padding: 11px 15px; white-space: normal; text-align: center; }
  .v15-groups-main .v15-hero-route div { grid-template-columns: 34px minmax(0,1fr); gap: 6px 10px; padding: 12px 14px; }
  .v15-groups-main .v15-hero-route strong { font-size: .9rem; line-height: 1.4; }
  .v15-groups-main .v15-hero-route small { grid-column: 2; font-size: .76rem; line-height: 1.4; }
  .v15-groups-main .v15-hero-visual {
    min-height: 0;
    height: auto;
    overflow: hidden;
    border-radius: 22px;
    padding: 19px 16px 20px;
  }
  .v15-groups-main .v15-visual-top {
    position: relative;
    top: auto; left: auto; right: auto;
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 7px 12px;
    font-size: 9px;
    line-height: 1.4;
  }
  .v15-groups-main .v15-expansion-visual {
    position: relative;
    left: auto; top: auto;
    transform: none;
    width: 100%;
    margin-top: 21px;
    gap: 10px;
  }
  .v15-groups-main .v15-expansion-row { grid-template-columns: minmax(0,1fr); gap: 9px; }
  .v15-groups-main .v15-expansion-arrow { display: none; }
  .v15-groups-main .v15-expansion-card { min-width: 0; padding: 12px 14px; border-radius: 14px; }
  .v15-groups-main .v15-expansion-card strong { font-size: .92rem; line-height: 1.4; }
  .v15-groups-main .v15-expansion-core { padding: 15px; grid-template-columns: 40px minmax(0,1fr); gap: 11px; border-radius: 16px; }
  .v15-groups-main .v15-expansion-core img { width: 40px; height: 40px; }
  .v15-groups-main .v15-expansion-core strong { font-size: .95rem; line-height: 1.4; overflow-wrap: anywhere; }
  .v15-groups-main .v15-expansion-core em { grid-column: 1 / -1; justify-self: start; font-size: .65rem; padding: 6px 9px; }
  .v15-groups-main .v15-section { padding: 33px 0; }
  .v15-groups-main .v15-section-title h2 { font-size: clamp(2rem, 9vw, 3rem); line-height: 1.08; max-width: none; }
  .v15-groups-main .v15-section-title p { font-size: .9rem; line-height: 1.65; }
  .v15-groups-main .v15-method-step { min-height: 0; padding: 19px; }
  .v15-groups-main .v15-method-step strong { margin: 15px 0 7px; }
  .v15-groups-main .v15-economics-panel { padding: 20px 17px; border-radius: 19px; }
  .v15-groups-main .v15-kpi-list div { display: grid; grid-template-columns: minmax(0,1fr); gap: 3px; }
  .v15-groups-main .v15-kpi-list strong { text-align: left; overflow-wrap: anywhere; }
  .v15-groups-main .v15-franchise-cta { padding: 21px 17px; border-radius: 20px; }
  .v15-groups-main .v15-franchise-cta h3 { font-size: clamp(1.55rem, 7vw, 2rem); line-height: 1.12; }
  .v15-groups-main .v15-franchise-cta .button { width: 100%; white-space: normal; }
  .v15-plug-strip { grid-template-columns: 42px minmax(0,1fr); gap: 12px; padding: 18px; }
  .v15-plug-strip strong { font-size: 1.05rem; line-height: 1.32; }
  .v15-plug-strip p { font-size: .85rem; line-height: 1.52; }
  .v15-plug-strip .v15-plug-logo { width: 42px; height: 42px; }
  .v15-plug-strip .v15-plug-logo img { width: 29px; height: 29px; }
  .v15-plug-strip > .button { grid-column: 1 / -1; justify-content: center; width: 100%; white-space: normal; }
  .v15-groups-main .v15-inline-franchise { width: 100%; max-width: 100%; padding: 18px; }
  .v15-groups-main .v15-inline-franchise .button { width: 100%; justify-content: center; white-space: normal; }
}
@media (max-width: 360px) {
  .v15-groups-main .v15-groups-hero h1 { font-size: 2.55rem; }
  .v15-groups-main .v15-hero-visual { padding: 15px 12px 16px; }
  .contact-premium-page .contact-first-copy .contact-page-hero h1 { font-size: 3.25rem; }
}
