/* Shared mobile layout corrections, loaded after page-specific styles. */

@media (max-width: 900px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  img,
  iframe,
  svg {
    max-width: 100%;
  }

  .container,
  .section-inner,
  .hero-inner,
  .page-hero-inner,
  .guide-hero-inner,
  .guide-summary-inner,
  .guide-intro-inner,
  .guide-layout {
    width: min(100% - 40px, 1240px);
  }

  .button-row {
    flex-wrap: wrap;
  }

  /* Service guides */
  .guide-hero {
    min-height: 0;
    padding: 48px 0 52px;
  }

  .guide-hero h1 {
    max-width: 720px;
    font-size: clamp(2.25rem, 8vw, 3rem);
    line-height: 1.02;
  }

  .guide-hero-lead {
    max-width: 650px;
    font-size: 1rem;
    line-height: 1.65;
  }

  .guide-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 9px;
  }

  .guide-summary-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .guide-summary-item {
    min-width: 0;
    padding: 22px 20px;
    border-left: 0;
    border-top: 1px solid rgba(199, 146, 45, 0.22);
  }

  .guide-summary-item:nth-child(odd) {
    border-right: 1px solid rgba(199, 146, 45, 0.22);
  }

  .guide-intro-inner {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 54px 0;
  }

  .guide-intro h2,
  .guide-section h2 {
    font-size: clamp(2rem, 7vw, 2.6rem);
    line-height: 1.06;
  }

  .guide-layout {
    grid-template-columns: 1fr;
    gap: 34px;
    padding-bottom: 68px;
  }

  .guide-aside {
    position: sticky;
    top: 72px;
    z-index: 18;
    margin: 0 -20px;
    padding: 12px 20px 14px;
    background: rgba(249, 244, 235, 0.97);
    border-top: 1px solid rgba(0, 31, 61, 0.08);
    border-bottom: 1px solid rgba(0, 31, 61, 0.12);
    backdrop-filter: blur(12px);
  }

  .guide-mobile-nav {
    display: block;
    width: 100%;
    min-height: 50px;
    padding: 0 44px 0 15px;
    border: 1px solid rgba(0, 31, 61, 0.2);
    border-radius: 4px;
    background-color: #fffdf8;
    color: var(--navy, #001f3d);
    font: 700 0.84rem/1.2 var(--sans, sans-serif);
  }

  .guide-desktop-nav {
    display: none;
  }

  .guide-aside-actions {
    display: none;
  }

  .guide-section {
    scroll-margin-top: 154px;
    padding-bottom: 54px;
  }

  .guide-doc-item,
  .guide-timeline-item {
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .guide-aspects-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .guide-related-section {
    padding: 58px 0;
  }

  .guide-related-links {
    display: flex;
    width: auto;
    margin-right: -20px;
    padding: 2px 20px 12px 0;
    gap: 14px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
  }

  .guide-related-card {
    flex: 0 0 min(76vw, 330px);
    min-width: 0;
    scroll-snap-align: start;
  }

  .guide-cta {
    padding: 58px 0;
  }

  .guide-cta h2 {
    font-size: clamp(2rem, 7vw, 2.6rem);
  }

  /* Homepage */
  .home-page .hero,
  .home-page .services-section,
  .home-page .booking-section,
  .home-page .useful-section {
    padding-top: 64px;
    padding-bottom: 64px;
  }

  .home-page .hero-info {
    display: flex;
    width: auto;
    margin-right: -20px;
    padding-right: 20px;
    gap: 14px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
  }

  .home-page .hero-info article {
    flex: 0 0 min(78vw, 330px);
    min-height: 154px;
    padding: 24px !important;
    border: 1px solid rgba(0, 31, 61, 0.1);
    scroll-snap-align: start;
  }

  .home-page .services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  /* About */
  .about-page .about-hero,
  .about-page .about-intro,
  .about-page .about-experience,
  .about-page .about-benefits,
  .about-page .about-moments,
  .about-page .about-practical {
    padding-top: 68px;
    padding-bottom: 68px;
  }

  .about-page .about-moment-grid {
    display: flex;
    width: auto;
    margin-right: -20px;
    padding: 2px 20px 12px 0;
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
  }

  .about-page .about-moment-card {
    flex: 0 0 min(76vw, 340px);
    scroll-snap-align: start;
  }

  /* Services */
  .services-page .services-grid,
  .service-grid {
    grid-template-columns: 1fr;
  }

  .services-page .service-card {
    min-height: 0;
  }

  .services-page .service-card-actions {
    flex-wrap: wrap;
  }

  /* Required documents */
  .documents-page .procedures-grid,
  .procedure-grid {
    grid-template-columns: 1fr;
  }

  .documents-page .filters-wrap,
  .procedure-filters-wrap {
    top: 72px;
  }

  .documents-page .procedure-card,
  .procedure-card {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  /* Tariffs */
  .tarife-page .tariff-categories-grid,
  .tariff-categories-grid {
    grid-template-columns: 1fr;
  }

  .tarife-page .tarife-filters,
  .tarife-filters {
    top: 72px;
  }
}

@media (max-width: 640px) {
  :root {
    --mobile-gutter: 18px;
  }

  .container,
  .section-inner,
  .hero-inner,
  .page-hero-inner,
  .guide-hero-inner,
  .guide-summary-inner,
  .guide-intro-inner,
  .guide-layout {
    width: calc(100% - 36px);
  }

  .eyebrow,
  .section-label {
    letter-spacing: 0.14em;
  }

  .button,
  button.button,
  a.button {
    min-height: 48px;
    justify-content: center;
  }

  .button-row,
  .cta-actions,
  .guide-cta-actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .button-row .button,
  .cta-actions .button,
  .guide-cta-actions .button {
    width: 100%;
  }

  .site-footer {
    padding: 50px 18px 26px;
  }

  .footer-grid {
    gap: 30px;
  }

  .footer-grid a,
  .footer-grid p {
    overflow-wrap: anywhere;
  }

  /* Service guides */
  .guide-hero {
    padding: 38px 0 42px;
  }

  .guide-hero h1 {
    font-size: clamp(2.1rem, 11vw, 2.7rem);
  }

  .guide-summary-inner {
    width: 100%;
  }

  .guide-summary-item {
    padding: 18px;
  }

  .guide-summary-value {
    font-size: 1rem;
  }

  .guide-intro-inner {
    padding: 46px 0;
  }

  .guide-layout {
    gap: 28px;
    padding-bottom: 54px;
  }

  .guide-aside {
    top: 70px;
    margin: 0 -18px;
    padding: 10px 18px 12px;
  }

  .guide-section {
    padding-bottom: 46px;
  }

  .guide-section h2 {
    font-size: clamp(1.9rem, 9vw, 2.35rem);
  }

  .guide-doc-item {
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 12px;
  }

  .guide-doc-marker {
    width: 34px;
    height: 34px;
  }

  .guide-timeline-item {
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 14px;
  }

  .guide-aspects-grid {
    grid-template-columns: 1fr;
  }

  .guide-aspect-card,
  .guide-note,
  .guide-warning {
    padding: 20px;
  }

  .guide-related-links {
    margin-right: -18px;
    padding-right: 18px;
  }

  .guide-related-card {
    flex-basis: min(84vw, 310px);
    padding: 22px;
  }

  .guide-cta {
    padding: 50px 0;
  }

  /* Homepage */
  .home-page .hero,
  .home-page .services-section,
  .home-page .booking-section,
  .home-page .useful-section {
    padding-top: 54px;
    padding-bottom: 54px;
  }

  .home-page .hero h1 {
    font-size: clamp(2.45rem, 12vw, 3.45rem);
  }

  .home-page .hero-info {
    margin-right: -18px;
    padding-right: 18px;
  }

  .home-page .hero-info article {
    flex-basis: min(84vw, 310px);
  }

  .home-page .services-grid {
    grid-template-columns: 1fr;
  }

  .home-page .service-card,
  .home-page .booking-card {
    padding: 24px;
  }

  .home-page .booking-map iframe,
  .about-page iframe {
    min-height: 300px;
  }

  /* About */
  .about-page .about-hero,
  .about-page .about-intro,
  .about-page .about-experience,
  .about-page .about-benefits,
  .about-page .about-moments,
  .about-page .about-practical {
    padding-top: 56px;
    padding-bottom: 56px;
  }

  .about-page .about-hero h1 {
    font-size: clamp(2.25rem, 11vw, 3rem);
  }

  .about-page .about-moment-grid {
    margin-right: -18px;
    padding-right: 18px;
  }

  .about-page .about-moment-card {
    flex-basis: min(84vw, 310px);
  }

  .about-page .about-practical-left,
  .about-page .about-location {
    padding: 26px 22px;
  }

  /* Services */
  .services-page .services-hero h1 {
    font-size: clamp(2.25rem, 11vw, 3rem);
  }

  .services-page .service-card {
    padding: 24px 20px;
  }

  .services-page .service-card-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .services-page .service-card-actions .button,
  .services-page .service-card-actions a {
    width: 100%;
    justify-content: center;
  }

  .services-page .category-filters,
  .documents-page .category-filters,
  .tarife-page .tarife-filter-list {
    display: flex;
    width: auto;
    margin-right: -18px;
    padding-right: 18px;
    overflow-x: auto;
    flex-wrap: nowrap;
    scrollbar-width: none;
  }

  .services-page .category-filters > *,
  .documents-page .category-filters > *,
  .tarife-page .tarife-filter-list > * {
    flex: 0 0 auto;
  }

  /* Required documents */
  .documents-page .procedure-card,
  .procedure-card {
    padding: 22px 18px;
  }

  .documents-page .procedure-actions,
  .procedure-card .procedure-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .documents-page .procedure-actions .button,
  .procedure-card .procedure-actions .button {
    width: 100%;
  }

  /* Tariffs */
  .tarife-page .popular-tariffs-grid,
  .popular-tariffs-grid,
  .tarife-page .payment-grid,
  .payment-grid,
  .tarife-page .faq-grid,
  .faq-grid {
    grid-template-columns: 1fr;
  }

  .tarife-page .tariff-category-card,
  .tariff-category-card {
    padding: 24px 20px;
  }

  .tarife-page .tariff-row,
  .tariff-row {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .tarife-page .tariff-price,
  .tariff-price {
    text-align: left;
  }

  /* Legacy divorce page */
  .subpage-hero {
    min-height: 0;
    padding: 48px 0;
  }

  .subpage-hero h1 {
    font-size: clamp(2.25rem, 11vw, 3rem);
  }

  .procedure-layout,
  .cost-list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 430px) {
  .guide-summary-inner {
    grid-template-columns: 1fr;
  }

  .guide-summary-item:nth-child(odd) {
    border-right: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .guide-related-links,
  .about-page .about-moment-grid,
  .home-page .hero-info {
    scroll-behavior: auto;
  }
}


/* Existing-template selector alignment */
@media (max-width: 900px) {
  .guide-lead { max-width: 650px; font-size: 1rem; line-height: 1.65; }
  .guide-summary-inner { grid-template-columns: 1fr; gap: 16px; }
  .guide-summary-label { align-self: auto; }
  .guide-summary-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .guide-summary-fact { min-width: 0; padding: 12px 18px; }
  .guide-summary-fact:nth-child(odd) { border-left: 0; }
  .guide-aspect-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .guide-related { padding-top: 58px; padding-bottom: 58px; }
  .home-page .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .about-page-redesign .about-moment-grid { display: flex; width: auto; margin-right: -20px; padding: 2px 20px 12px 0; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; }
  .about-page-redesign .about-moment-grid article { flex: 0 0 min(76vw, 340px); scroll-snap-align: start; }
  .about-page-redesign .about-practical { grid-template-columns: 1fr; gap: 24px; }
  .services-page .services-list, .acts-page .acts-card-grid { grid-template-columns: 1fr; }
  .services-page .service-entry { min-height: 0; }
  .acts-page .acts-filter-bar, .tariffs-page .tariffs-filter-shell { top: 72px; }
  .tariffs-page .tariff-groups { column-count: 1; }
}

@media (max-width: 640px) {
  .guide-summary-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .guide-summary-fact { grid-template-columns: 18px minmax(0, 1fr); gap: 10px; padding: 12px 10px; }
  .guide-summary-fact strong, .guide-summary-fact a { font-size: 0.92rem; }
  .guide-item { grid-template-columns: 34px minmax(0, 1fr); gap: 12px; }
  .guide-item-marker { width: 34px; height: 34px; }
  .guide-step { padding-left: 48px; }
  .guide-aspect-grid { grid-template-columns: 1fr; }
  .home-page .service-grid { grid-template-columns: 1fr; }
  .about-page-redesign .about-page-header, .about-page-redesign .about-story, .about-page-redesign .about-experience, .about-page-redesign .about-benefits, .about-page-redesign .about-moments, .about-page-redesign .about-practical { padding-top: 56px; padding-bottom: 56px; }
  .about-page-redesign .about-page-header h1 { font-size: clamp(2.25rem, 11vw, 3rem); }
  .about-page-redesign .about-moment-grid { margin-right: -18px; padding-right: 18px; }
  .about-page-redesign .about-moment-grid article { flex-basis: min(84vw, 310px); }
  .about-page-redesign .about-practical-column, .about-page-redesign .about-location-column { padding: 26px 22px; }
  .about-page-redesign .about-practical-list, .about-page-redesign .about-location-details { grid-template-columns: 1fr; }
  .services-page .service-entry { padding: 24px 20px; }
  .services-page .service-entry-main { grid-template-columns: 40px minmax(0, 1fr); gap: 13px; }
  .services-page .service-entry h4 { font-size: 1.55rem; }
  .services-page .service-entry-tags { grid-template-columns: 1fr; }
  .services-page .service-entry-actions { display: grid; grid-template-columns: 1fr; gap: 9px; }
  .services-page .service-entry-actions .service-action, .services-page .service-entry-actions .service-action--text { width: 100% !important; min-height: 46px; margin: 0 !important; padding: 0 14px !important; justify-content: center; border: 1px solid rgba(6, 27, 51, 0.16); }
  .services-page .services-filters, .acts-page .acts-filters, .tariffs-page .tariff-filters { display: flex; width: auto; margin-right: -18px; padding-right: 18px; overflow-x: auto; flex-wrap: nowrap; scrollbar-width: none; }
  .services-page .services-filters > *, .acts-page .acts-filters > *, .tariffs-page .tariff-filters > * { flex: 0 0 auto; }
  .acts-page .procedure-card { padding: 26px 24px 24px; }
  .acts-page .procedure-card-toggle { padding: 0; }
  .acts-page .procedure-panel-content { margin: 0; padding: 24px 0 0; }
  .tariffs-page .tariffs-popular-grid, .tariffs-page .tariffs-cost-list { grid-template-columns: 1fr; }
  .tariffs-page .tariff-groups { column-count: 1; }
  .tariffs-page .tariff-group, .tariffs-page .tariff-popular-card { min-height: 0; padding: 24px 20px; }
  .tariffs-page .tariff-row, .tariffs-page .tariff-table > * { grid-template-columns: 1fr; }
  .tariffs-page .tariff-row-price { text-align: left; }
}

@media (max-width: 430px) {
  .guide-summary-facts { grid-template-columns: 1fr; }
}


/* Final mobile sizing and overflow guard */
@media (max-width: 900px) {
  .services-hero-inner,
  .services-intro-inner,
  .services-directory-inner,
  .acts-hero-inner,
  .acts-intro-inner,
  .acts-directory-inner,
  .tariffs-hero-inner,
  .tariffs-intro-inner,
  .tariffs-calculator-inner,
  .tariffs-popular-inner,
  .tariffs-directory-inner,
  .tariffs-costs,
  .tariffs-faq,
  .about-page-header-inner,
  .about-section-frame {
    width: min(100% - 40px, 1240px);
    margin-right: auto;
    margin-left: auto;
  }

  .tariffs-page .tariffs-popular-grid,
  .tariffs-page .tariffs-cost-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .services-page .services-cta,
  .acts-page .acts-cta,
  .tariffs-page .tariffs-cta {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}

@media (max-width: 640px) {
  input,
  select,
  textarea {
    max-width: 100%;
    font-size: 16px;
  }

  .services-hero-inner,
  .services-intro-inner,
  .services-directory-inner,
  .acts-hero-inner,
  .acts-intro-inner,
  .acts-directory-inner,
  .tariffs-hero-inner,
  .tariffs-intro-inner,
  .tariffs-calculator-inner,
  .tariffs-popular-inner,
  .tariffs-directory-inner,
  .tariffs-costs,
  .tariffs-faq,
  .about-page-header-inner,
  .about-section-frame {
    width: calc(100% - 36px);
  }

  .guide-summary-label {
    padding: 0 18px;
  }

  .guide-related,
  .guide-cta,
  .services-page .services-cta,
  .acts-page .acts-cta,
  .tariffs-page .tariffs-cta,
  .about-page-redesign .about-final-cta {
    padding-right: 18px;
    padding-left: 18px;
  }

  .services-page .services-search-field,
  .acts-page .acts-search-field,
  .tariffs-page .tariff-value-field {
    min-width: 0;
    width: 100%;
  }

  .services-page .services-group-heading,
  .acts-page .acts-group-heading {
    min-width: 0;
  }

  .services-page .services-group-heading h3,
  .acts-page .acts-group-heading h3 {
    font-size: clamp(1.75rem, 9vw, 2.2rem);
  }

  .acts-page .procedure-card-heading h4 {
    font-size: 1.4rem;
  }

  .acts-page .procedure-card-description,
  .acts-page .procedure-panel-content {
    font-size: 0.98rem;
  }

  .tariffs-page .tariffs-popular-grid,
  .tariffs-page .tariffs-cost-list {
    grid-template-columns: 1fr;
  }

  .tariffs-page .tariffs-calculator-form {
    padding: 24px 20px;
  }

  .tariffs-page .tariff-faq-item button {
    min-height: 54px;
    padding-right: 4px;
    text-align: left;
  }

  .subpage-hero > *,
  .procedure-layout,
  .cost-list {
    width: calc(100% - 36px);
    margin-right: auto;
    margin-left: auto;
  }
}

/* Acte necesare: mobile card framing */
@media (max-width: 640px) {
  .acts-page .acts-directory {
    overflow-x: clip;
  }

  .acts-page .acts-directory-inner {
    width: 100%;
    max-width: 100%;
    padding-right: 20px;
    padding-left: 20px;
  }

  .acts-page .acts-directory-top h2 {
    max-width: 100%;
    font-size: clamp(2.15rem, 10vw, 2.35rem);
    overflow-wrap: break-word;
  }

  .acts-page .acts-notice,
  .acts-page .acts-notice > div,
  .acts-page .acts-group,
  .acts-page .acts-card-grid,
  .acts-page .procedure-card {
    min-width: 0;
    max-width: 100%;
  }

  .acts-page .acts-filter-bar {
    max-width: 100%;
    margin-right: 0;
    margin-left: 0;
    padding-right: 0;
    padding-left: 0;
    overflow: hidden;
  }

  .acts-page .acts-filters {
    width: 100%;
    max-width: 100%;
    margin-right: 0;
    padding-right: 0;
  }

  .acts-page .acts-notice {
    padding: 22px 20px;
  }

  .acts-page .procedure-card {
    width: 100%;
    padding: 26px 24px 24px;
  }

  .acts-page .procedure-card-top {
    gap: 10px;
  }

  .acts-page .procedure-card-lead {
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 15px;
    margin-top: 22px;
  }

  .acts-page .procedure-card-main-icon {
    width: 38px;
    height: 38px;
  }

  .acts-page .procedure-card-description {
    line-height: 1.68;
  }

  .acts-page .procedure-summary,
  .acts-page .procedure-complete-prompt,
  .acts-page .procedure-panel-notes {
    padding-right: 18px;
    padding-left: 18px;
  }

  .acts-page .procedure-panel-content {
    margin: 0;
    padding: 26px 0 0;
  }
}
/* Global footer width correction after the late desktop override */
@media (max-width: 900px) {
  .site-footer {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    max-width: 100%;
    gap: 38px 28px;
  }

  .site-footer > *,
  .footer-brand,
  .social-links {
    min-width: 0;
    max-width: 100%;
  }

  .footer-bottom {
    grid-column: 1 / -1;
  }
}

@media (max-width: 640px) {
  .site-footer {
    grid-template-columns: minmax(0, 1fr);
    overflow-x: clip;
  }

  .footer-bottom {
    grid-column: 1;
  }
}
/* Mobile footer composition */
@media (max-width: 640px) {
  .site-footer {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 24px;
    padding: 48px 20px 26px;
  }

  .site-footer::before {
    grid-column: 1 / -1;
    margin-bottom: 28px;
  }

  .site-footer .footer-brand {
    grid-column: 1 / -1;
    padding-bottom: 34px;
  }

  .footer-brand picture {
    display: block;
    width: 76px;
    height: 76px;
    margin-bottom: 22px;
  }

  .footer-brand picture img,
  .footer-brand > img {
    width: 76px;
    height: 76px;
    margin-bottom: 22px;
  }

  .footer-brand picture img {
    margin-bottom: 0;
  }

  .site-footer h2 {
    max-width: 330px;
    font-size: clamp(1.55rem, 7vw, 1.8rem);
    line-height: 1.12;
  }

  .site-footer .footer-brand p {
    max-width: 420px;
    margin-bottom: 20px;
    font-size: 0.94rem;
    line-height: 1.7;
  }

  .site-footer > div:not(.footer-brand) {
    min-width: 0;
    padding-top: 24px;
    border-top: 1px solid rgba(199, 149, 62, 0.22);
  }

  .site-footer > div:nth-of-type(4) {
    grid-column: 1 / -1;
    margin-top: 28px;
  }

  .site-footer h3 {
    margin-bottom: 16px;
    font-size: 0.68rem;
    letter-spacing: 0.16em;
  }

  .site-footer a,
  .site-footer span,
  .site-footer p {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .site-footer > div:not(.footer-brand) a,
  .site-footer > div:not(.footer-brand) span {
    margin-bottom: 8px;
    font-size: 0.88rem;
    line-height: 1.55;
  }

  .site-footer .social-links {
    display: flex;
    gap: 10px;
    width: auto;
  }

  .site-footer .social-links a {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    margin: 0;
  }

  .site-footer .footer-bottom {
    grid-column: 1 / -1;
    margin-top: 34px;
    padding-top: 22px;
    font-size: 0.75rem;
    line-height: 1.6;
  }
}

@media (max-width: 380px) {
  .site-footer {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    padding-right: 18px;
    padding-left: 18px;
  }

  .site-footer > div:not(.footer-brand),
  .site-footer > div:nth-of-type(4) {
    grid-column: 1;
    margin-top: 0;
    padding-top: 24px;
    padding-bottom: 24px;
  }
}
/* Guide hero and summary mobile frame */
@media (max-width: 640px) {
  .guide-page .guide-hero {
    min-height: 0;
    padding: 40px 20px 44px;
    overflow-x: clip;
  }

  .guide-page .guide-hero-inner {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
  }

  .guide-page .guide-breadcrumb {
    max-width: 100%;
    gap: 6px 10px;
    margin-bottom: 22px;
    overflow-wrap: anywhere;
  }

  .guide-page .guide-breadcrumb span {
    margin: 0;
  }

  .guide-page .guide-hero .eyebrow {
    max-width: 100%;
    margin-bottom: 14px;
  }

  .guide-page .guide-hero h1 {
    max-width: 100%;
    margin: 14px 0 18px;
    font-size: clamp(2.35rem, 11.5vw, 3rem);
    line-height: 1.02;
    letter-spacing: -0.025em;
    overflow-wrap: normal;
    text-wrap: pretty;
  }

  .guide-page .guide-lead {
    max-width: 100%;
    font-size: 1rem;
    line-height: 1.68;
  }

  .guide-page .guide-summary {
    overflow-x: clip;
  }

  .guide-page .guide-summary-inner {
    width: 100%;
    max-width: 100%;
    gap: 14px;
    margin: 0;
    padding: 26px 20px 28px;
  }

  .guide-page .guide-summary-label {
    padding: 0;
  }

  .guide-page .guide-summary-facts {
    width: 100%;
    min-width: 0;
  }

  .guide-page .guide-summary-fact,
  .guide-page .guide-summary-fact:nth-child(odd) {
    min-width: 0;
    padding: 18px 0;
    border-left: 0;
  }

  .guide-page .guide-summary-icon {
    margin-left: 2px;
  }

  .guide-page .guide-summary-fact > div {
    min-width: 0;
  }

  .guide-page .guide-summary-fact strong,
  .guide-page .guide-summary-fact a {
    max-width: 100%;
    overflow-wrap: anywhere;
  }
}