/* ===============================================
   DentaZon - Responsive Breakpoints
   =============================================== */

@media (max-width: 1199px) and (min-width: 768px) {
  #dz-home .dz-hero__inner {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 2rem;
  }

  #dz-home .dz-hero__inner>* {
    min-width: 0;
  }

  #dz-home .dz-hero__image-wrap {
    width: 100%;
    max-width: none;
  }

  #dz-home .dz-hero__image-wrap>img {
    width: 100%;
    height: 75vh;
  }
}

/* Tablet (max-width: 1023px) */
@media (max-width: 1023px) {

  /* Header — smaller buttons on tablet */
  .dz-header__menu li a {
    font-size: 13px;
  }

  .dz-header__actions .dz-btn-sm {
    height: 40px;
    padding: 0 1.25rem;
    font-size: 13px;
  }

  /* Get Started - stack cards */
  #dz-home .dz-gs-grid {
    grid-template-columns: 1fr 1fr;
    /* max-width: 500px; */
  }

  /* Ecosystem - 2 columns */
  #dz-home .dz-eco-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  /* Why Dentazon - stack on tablet */
  #dz-home .dz-why__row {
    grid-template-columns: 1fr;
  }

  #dz-home .dz-why__row--reversed .dz-why__visual,
  #dz-home .dz-why__row--reversed .dz-why__content {
    order: unset;
  }

  /* How It Works - 2 columns, no connectors */
  #dz-home .dz-hiw__steps {
    grid-template-columns: repeat(2, 1fr);
  }

  #dz-home .dz-hiw__step:not(:last-child)::after {
    display: none;
  }

  /* Vision - single column */
  #dz-home .dz-vision__inner {
    grid-template-columns: 1fr;
    gap: 2rem !important;
  }
}

/* Mobile (max-width: 767px) */
@media (max-width: 767px) {

  /* Get Started - single column on mobile */
  #dz-home .dz-gs-grid {
    grid-template-columns: 1fr;
    max-width: 500px;
  }

  /* Base */
  #dz-home .dz-section {
    padding: 3rem 0;
  }

  #dz-home .dz-section-header {
    margin-bottom: 2rem !important;
  }

  #dz-home p {
    font-size: 12px !important;
    line-height: 18px !important;
    /* margin-bottom: 1rem !important; */
  }

  #dz-home .dz-section-header h2 {
    font-size: 32px !important;
    line-height: 38px !important;
  }

  #dz-home .dz-section-header p {
    font-size: 16px !important;
    line-height: 24px !important;
    margin-bottom: 1rem !important;
  }

  #dz-home .dz-btn {
    font-size: 14px !important;
  }

  /* Header — mobile */
  .dz-header__toggle {
    display: flex;
  }

  .dz-header__nav,
  .dz-header__actions {
    display: none;
  }

  /* Mobile menu buttons side-by-side */
  .dz-header__mobile-actions {
    flex-direction: row;
    gap: .75rem;
  }

  .dz-header__mobile-actions .dz-btn-sm {
    flex: 1;
    text-align: center;
  }

  .dz-header__inner {
    min-height: 76px;
  }

  .dz-header__logo img {
    height: 48px;
  }

  .dz-header__mobile {
    display: none;
    width: min(1440px, calc(100% - 3rem));
    margin: 0 auto 1rem;
    padding: 1rem 0 2rem;
    border-top: 1px solid var(--dz-border);
  }

  .dz-header.menu-open .dz-header__mobile {
    display: block;
  }

  /* Hero */
  #dz-home .dz-hero__inner {
    grid-template-columns: 1fr;
  }

  #dz-home .dz-hero__heading {
    font-size: 36px !important;
    line-height: 44px !important;
  }

  #dz-home .dz-hero__desc {
    font-size: 16px !important;
    line-height: 24px !important;
    margin-bottom: 1rem !important;
  }

  #dz-home .dz-hero__image-wrap {
    display: block;
    max-width: 560px;
    width: 100%;
    margin: 0 auto;
  }

  #dz-home .dz-hero__image-wrap>img {
    width: 100%;
    height: auto;
  }

  /* Ecosystem - single column */
  #dz-home .dz-eco-grid {
    grid-template-columns: 1fr;
  }

  /* Why Dentazon - single column on mobile */
  #dz-home .dz-why__features {
    gap: 3rem;
  }

  #dz-home .dz-why__visual {
    padding: 4rem;
  }

  #dz-home .dz-why__row {
    grid-template-columns: 1fr;
  }

  #dz-home .dz-why__row--reversed .dz-why__visual,
  #dz-home .dz-why__row--reversed .dz-why__content {
    order: unset;
  }

  /* How It Works - single column */
  #dz-home .dz-hiw__steps {
    grid-template-columns: 1fr;
    max-width: 300px;
  }

  /* Vision Stats */
  #dz-home .dz-vision__stats {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0.5rem !important;
  }

  /* Why inner CTA */
  #dz-home .dz-why__inner-cta {
    width: 100%;
    padding: 2rem;
  }

  /* Buttons */
  #dz-home .dz-btn {
    width: 100%;
  }

  #dz-home .dz-hero__ctas {
    flex-direction: row;
    flex-wrap: wrap;
    gap: .75rem;
  }

  #dz-home .dz-hero__ctas .dz-btn {
    width: auto;
    flex: 1 1 calc(50% - .375rem);
    min-width: 0;
  }

  #dz-home .dz-final-cta__btns {
    flex-direction: row;
  }

  #dz-home .dz-final-cta__btns .dz-btn {
    width: auto;
    flex: 1;
    min-width: 0;
  }

  /* Footer */
  .dz-footer__top {
    grid-template-columns: 1fr;
  }

  .dz-footer__links {
    grid-template-columns: repeat(2, 1fr);
  }

  .dz-trust-badges {
    gap: 1rem !important;
  }
}


/* Small Mobile (max-width: 480px) */
@media (max-width: 480px) {
  #dz-home .dz-hero__heading {
    font-size: 32px !important;
    line-height: 38px !important;
  }

  #dz-home .dz-hero__image-wrap {
    max-width: 100%;
  }

  #dz-home .dz-hero__stats {
    /* flex-direction: column; */
    gap: 3rem;
  }

  .dz-footer__links {
    grid-template-columns: 1fr;
  }
}


/* ═══════════════════════════════════════════════
   CONTACT PAGE — Responsive
   ═══════════════════════════════════════════════ */
@media (max-width: 1023px) {
  #dz-contact .contact-form-row__grid {
    grid-template-columns: 1fr;
  }

  #dz-contact .contact-map-card iframe {
    min-height: 400px;
  }
}

@media (max-width: 767px) {
  #dz-contact .contact-info__grid {
    grid-template-columns: 1fr;
  }

  #dz-contact .contact-hero {
    padding: 4rem 0 6rem;
  }

  #dz-contact .contact-content {
    margin-top: -3rem;
  }
}


/* ═══════════════════════════════════════════════
   GOALS PAGE — Responsive
   ═══════════════════════════════════════════════ */
@media (max-width: 1023px) {

  #dz-goals .goals-cvg__grid,
  #dz-goals .goals-pbi__grid {
    grid-template-columns: 1fr;
  }

  #dz-goals .goals-bm__grid {
    grid-template-columns: 1fr 1fr 1fr;
    gap: .5rem;
  }
}

@media (max-width: 767px) {

  #dz-goals .goals-vm__grid,
  #dz-goals .goals-ux__grid {
    grid-template-columns: 1fr;
  }

  #dz-goals .goals-sg__grid {
    grid-template-columns: 1fr;
  }

  #dz-goals .goals-bm__grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  #dz-goals .goals-hero {
    padding: 4rem 0 6rem;
  }

  #dz-goals .goals-vm {
    margin-top: -3rem;
  }

  #dz-goals .goals-pbi__stats {
    grid-template-columns: 1fr 1fr;
  }

  h2 {
    font-size: 2rem !important;
    line-height: 40px !important;
  }

  h4 {
    font-size: 1.4rem !important;
    line-height: 30px !important;
  }

  p {
    font-size: 1rem !important;
    line-height: 24px !important;
  }

  #dz-about .about-contact-card__note {
    font-size: 10px !important;
  }

}


@media (max-width: 767px) {
  .dz-form-row--two {
    grid-template-columns: 1fr 1fr;
  }

  .dz-form-row--full {
    grid-template-columns: 1fr;
  }
}

/* ═══════════════════════════════════════════════
   ABOUT PAGE — Responsive
   ═══════════════════════════════════════════════ */
@media (max-width: 1023px) {
  #dz-about .about-content__grid {
    grid-template-columns: 1fr;
  }

  #dz-about .about-why__grid {
    grid-template-columns: 1fr;
    max-width: 28rem;
    margin-inline: auto;
  }

  #dz-about .about-stats__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  #dz-about .about-hero {
    padding: 4rem 0 3rem;
  }

  #dz-about .about-stats-card__minis {
    grid-template-columns: 1fr 1fr 1fr;
  }

  #dz-about .about-contact-card__phone {
    font-size: 1.5rem !important;
  }
}

/* ═══════════════════════════════════════════════
   Legal Pages — responsive
   ═══════════════════════════════════════════════ */
@media (max-width: 991px) {
  #dz-legal .legal-hero {
    padding: 4.5rem 0 3rem;
  }

  #dz-legal .legal-hero__title {
    font-size: 2.15rem;
  }

  #dz-legal .legal-body {
    padding: 3rem 0 4rem;
  }
}

@media (max-width: 767px) {
  #dz-legal .legal-hero {
    padding: 3.5rem 0 2.5rem;
  }

  #dz-legal .legal-hero__title {
    font-size: 1.85rem;
  }

  #dz-legal .legal-hero__meta {
    font-size: .82rem;
    gap: .35rem 1rem;
  }

  #dz-legal .legal-body {
    padding: 2.5rem 0 3.5rem;
  }

  #dz-legal .legal-intro {
    font-size: 1rem;
    margin-bottom: 1.5rem;
  }

  #dz-legal .legal-section {
    margin-bottom: 2rem;
  }

  #dz-legal .legal-section + .legal-section {
    padding-top: 1.5rem;
  }

  #dz-legal .legal-section__title {
    font-size: 1.2rem;
    gap: .45rem;
  }

  #dz-legal .legal-prose {
    font-size: .95rem;
    line-height: 1.7;
  }

  #dz-legal .legal-prose h2,
  #dz-legal .legal-prose .legal-h2 {
    font-size: 1.4rem;
    margin-top: 2rem;
    gap: .4rem;
  }

  #dz-legal .legal-prose h3,
  #dz-legal .legal-prose .legal-h3 {
    font-size: 1.05rem;
  }

  #dz-legal .legal-prose ul,
  #dz-legal .legal-prose ol,
  #dz-legal .legal-prose .legal-list {
    padding-left: 1.4rem;
  }

  #dz-legal .legal-prose ul ul,
  #dz-legal .legal-prose .legal-sublist {
    padding-left: 1.2rem;
  }
}

/* ═══════════════════════════════════════════════
   404 — responsive
   ═══════════════════════════════════════════════ */
@media (max-width: 991px) {
  #dz-404 .e404-hero {
    padding: 4.5rem 0 3.5rem;
  }

  #dz-404 .e404-suggest__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 767px) {
  #dz-404 .e404-hero {
    padding: 3.5rem 0 3rem;
  }

  #dz-404 .e404-illustration {
    width: 92px;
    height: 92px;
    margin-bottom: 1rem;
  }

  #dz-404 .e404-lead {
    font-size: .95rem;
  }

  #dz-404 .e404-actions {
    flex-direction: column;
    align-items: stretch;
    gap: .6rem;
  }

  #dz-404 .e404-btn {
    justify-content: center;
  }

  #dz-404 .e404-suggest {
    padding: 3rem 0 3.5rem;
  }

  #dz-404 .e404-suggest__grid {
    grid-template-columns: 1fr;
  }
}

/* ═══════════════════════════════════════════════
   JOIN PAGE — Responsive
   ═══════════════════════════════════════════════ */

@media (max-width: 1023px) {
  #dz-join .join-roles__featured-grid {
    grid-template-columns: 1fr 1fr;
  }

  #dz-join .join-roles__secondary-grid {
    grid-template-columns: 1fr 1fr;
  }

  #dz-join .join-eco__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  #dz-join .join-hiw__steps {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 1rem;
  }

  #dz-join .join-help__card {
    padding: 2.5rem 1.5rem;
  }
}

@media (max-width: 767px) {
  #dz-join .join-section {
    padding: 3rem 0;
  }

  #dz-join .join-sh {
    margin-bottom: 2rem;
  }

  #dz-join .join-sh h2 {
    font-size: 2rem !important;
    line-height: 40px !important;
  }

  #dz-join .join-sh p {
    font-size: 1rem !important;
    line-height: 24px !important;
  }

  #dz-join .join-hero {
    padding: 4rem 0 3rem;
  }

  #dz-join .join-hero__heading {
    font-size: 2.25rem !important;
    line-height: 44px !important;
  }

  #dz-join .join-hero__desc {
    font-size: 1rem !important;
    line-height: 24px !important;
    margin-bottom: 1rem !important;
  }

  #dz-join .join-hero__cta .dz-btn {
    width: auto;
    min-width: 0;
  }

  #dz-join .join-roles__featured-grid,
  #dz-join .join-roles__secondary-grid,
  #dz-join .join-eco__grid,
  #dz-join .join-hiw__steps {
    grid-template-columns: 1fr;
  }

  #dz-join .join-role-card--featured,
  #dz-join .join-role-card--secondary {
    padding: 1.5rem;
  }

  #dz-join .join-role-card--featured h3 {
    font-size: 1.5rem !important;
    line-height: 32px !important;
  }

  #dz-join .join-role-card--secondary h3 {
    font-size: 1.2rem !important;
    line-height: 28px !important;
  }

  #dz-join .join-role-card__desc {
    font-size: .95rem !important;
    line-height: 24px !important;
  }

  #dz-join .join-role-card .dz-btn {
    width: 100%;
  }

  #dz-join .join-help__card h2 {
    font-size: 2rem !important;
    line-height: 40px !important;
  }

  #dz-join .join-help__card p {
    font-size: 1rem !important;
    line-height: 24px !important;
  }

  #dz-join .join-help__actions {
    flex-direction: row;
    flex-wrap: wrap;
    gap: .75rem;
  }

  #dz-join .join-help__actions .dz-btn {
    width: auto;
    flex: 1 1 calc(50% - .375rem);
    min-width: 0;
    padding-inline: 1rem;
  }

  #dz-join .join-faq__button {
    padding: 1rem 1rem;
  }

  #dz-join .join-faq__button span:first-child {
    font-size: .95rem !important;
    line-height: 22px !important;
  }

  #dz-join .join-faq__content {
    padding: 0 1rem 1rem;
  }

  #dz-join .join-final-cta h2 {
    font-size: 2rem !important;
    line-height: 40px !important;
  }

  #dz-join .join-final-cta p {
    font-size: 1rem !important;
    line-height: 24px !important;
  }

  #dz-join .join-final-cta__btns {
    flex-direction: row;
    gap: .75rem;
  }

  #dz-join .join-final-cta__btns .dz-btn {
    width: auto;
    flex: 1 1 calc(50% - .375rem);
    min-width: 0;
    padding-inline: 1rem;
  }
}

@media (max-width: 480px) {
  #dz-join .join-hero__heading {
    font-size: 2rem !important;
    line-height: 38px !important;
  }

  #dz-join .join-role-card__header {
    gap: .75rem;
  }

  #dz-join .join-role-card__icon {
    width: 56px;
    height: 56px;
  }

  #dz-join .join-role-card__icon img,
  #dz-join .join-role-card__icon svg {
    width: 26px;
    height: 26px;
  }

  #dz-join .join-help__actions .dz-btn,
  #dz-join .join-final-cta__btns .dz-btn {
    flex: 1 1 100%;
  }
}