/* Round 58 — legibility refinement (EN and ES builder collections)
   Large, dark readable copy while retaining the restrained serif display hierarchy.
   This file deliberately affects only /home-designs/ pages. */
:root {
  --pmm58-copy: #344d40;
  --pmm58-deep: #193c2f;
  --pmm58-accent: #2a5d46;
}
html.pmm-builder-shell body {
  font-size: 18px !important;
  line-height: 1.68 !important;
}
/* Navigation, CTAs and the always-visible bilingual switch */
html.pmm-builder-shell .topbar .nav-links a,
html.pmm-builder-shell .tn-page .tn-topbar .nav-links a,
html.pmm-builder-shell .nomad-page .topbar .nav-links a {
  font-size: 14.5px !important;
  line-height: 1.35 !important;
}
html.pmm-builder-shell .pmm-language-float a {
  font-size: 14px !important;
}
html.pmm-builder-shell .r5-section > .container > p,
html.pmm-builder-shell .r5-section .section-header p,
html.pmm-builder-shell .r5-section .r5-intro p,
html.pmm-builder-shell .r5-section .r5-subtitle,
html.pmm-builder-shell .r5-section .r5-lead,
html.pmm-builder-shell .tn-home-band p {
  font-size: 19px !important;
  line-height: 1.65 !important;
  color: var(--pmm58-copy) !important;
}
body.pmm-home:not(.nomad-page):not(.tn-page) .r5-hero p,
body.pmm-modern .r5-hero p,
body.pmm-eco .r5-hero p,
body.tn-page .tn-hero p,
body.nomad-page .nomad-hero p {
  font-size: clamp(18px, 1.4vw, 21px) !important;
  line-height: 1.66 !important;
}
/* The current beachfront offer previously had 10–13px text. */
html.pmm-builder-shell .pmm-r43-land-note { padding-block: 32px 35px; }
html.pmm-builder-shell .pmm-r43-land-inner { gap: 22px 30px; }
html.pmm-builder-shell .pmm-r43-land-eyebrow {
  font-size: 14px !important;
  line-height: 1.4 !important;
  font-weight: 750 !important;
  letter-spacing: .11em !important;
  color: #785e38 !important;
}
html.pmm-builder-shell .pmm-r43-land-copy h2 {
  font-size: clamp(26px, 2.1vw, 34px) !important;
  line-height: 1.2 !important;
}
html.pmm-builder-shell .pmm-r43-land-copy p {
  font-family: var(--pmm-editorial-body), Arial, sans-serif !important;
  font-size: 17px !important;
  line-height: 1.57 !important;
  color: var(--pmm58-copy) !important;
}
html.pmm-builder-shell .pmm-r43-land-price strong {
  font-size: clamp(30px, 2.7vw, 39px) !important;
  line-height: 1.15 !important;
}
html.pmm-builder-shell .pmm-r43-land-price span {
  font-family: var(--pmm-editorial-body), Arial, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  color: var(--pmm58-copy) !important;
  white-space: normal !important;
}
html.pmm-builder-shell .pmm-r43-land-links a {
  font-size: 16px !important;
  font-weight: 650 !important;
  line-height: 1.5 !important;
}
html.pmm-builder-shell .pmm-r43-land-terms {
  font-family: var(--pmm-editorial-body), Arial, sans-serif !important;
  font-size: 14.5px !important;
  line-height: 1.56 !important;
  color: #485b50 !important;
  letter-spacing: 0 !important;
  max-width: 1200px;
}
/* Model and collection cards: readable details, dimensions, and CTAs */
html.pmm-builder-shell .r5-section .r5-grid article.r39-model-card .r39-card-body p,
html.pmm-builder-shell .r5-section .r5-grid article.r43-luxe-card .r43-luxe-body p {
  font-size: 17px !important;
  line-height: 1.62 !important;
  color: var(--pmm58-copy) !important;
  max-width: none;
}
html.pmm-builder-shell .r5-section .r5-grid article.r39-model-card .r39-card-kicker,
html.pmm-builder-shell .r43-card-kicker {
  font-size: 14px !important;
  line-height: 1.42 !important;
  letter-spacing: .075em !important;
  color: #795f38 !important;
}
html.pmm-builder-shell .r5-section .r5-grid article.r39-model-card .r39-card-area,
html.pmm-builder-shell .r5-section .r5-grid article.r39-model-card .r39-card-specs,
html.pmm-builder-shell .r5-section .r5-grid article.r39-model-card .r39-collection-summary,
html.pmm-builder-shell .r5-section .r5-grid article.r39-model-card .r39-hospitality-note {
  font-size: 16px !important;
  line-height: 1.55 !important;
  color: var(--pmm58-copy) !important;
}
html.pmm-builder-shell .r5-section .r5-grid article.r39-model-card .r39-card-price {
  font-size: 24px !important;
  line-height: 1.32 !important;
}
html.pmm-builder-shell .r5-section .r5-grid article.r39-model-card .r39-card-price small {
  display: block;
  font-size: 15.5px !important;
  font-weight: 500 !important;
  line-height: 1.48 !important;
  color: var(--pmm58-copy) !important;
}
html.pmm-builder-shell .r5-section .r5-grid article.r39-model-card a.r39-card-action,
html.pmm-builder-shell .r5-section .r5-grid article.r43-luxe-card a.r43-card-action,
html.pmm-builder-shell .tn-home-band-action a.r43-collection-cta {
  font-size: 16px !important;
  line-height: 1.42 !important;
}
html.pmm-builder-shell .tn-home-band-label { font-size: 14px !important; }
/* Nordic cards and collection notes */
body.tn-page .tn-overview p,
body.tn-page .tn-section-head p,
body.tn-page .tn-choice p,
body.tn-page .tn-card .tn-desc,
body.tn-page .tn-choice-panel p {
  font-size: 18px !important;
  line-height: 1.7 !important;
  color: var(--pmm58-copy) !important;
}
body.tn-page .tn-label,
body.tn-page .tn-eyebrow,
body.tn-page .tn-model-number,
body.tn-page .tn-quicknav-inner > span,
body.tn-page .tn-hero-bottom,
body.tn-page .tn-choice-panel small {
  font-size: 14px !important;
  line-height: 1.5 !important;
}
body.tn-page .tn-area-pill,
body.tn-page .tn-card-cta,
body.tn-page .tn-quicknav-inner a,
body.tn-page .tn-footernav a,
body.tn-page .tn-card .tn-specs,
body.tn-page .tn-card .tn-detail,
body.tn-page .tn-card .tn-meta {
  font-size: 16px !important;
  line-height: 1.5 !important;
}
/* Nordic model specifications, galleries, and required fine print */
body.tn-page .tn-card .tn-dimensions,
body.tn-page .tn-card .tn-features li,
body.tn-page .tn-card .tn-gallery-launch,
body.tn-page .tn-head-link,
body.tn-page .tn-choice-count span,
body.tn-page .tn-disclaimer p {
  font-size: 16px !important;
  line-height: 1.56 !important;
}
body.tn-page .tn-photo-notice,
body.tn-page .tn-divider-visual > .container > span,
body.tn-page .tn-quicknav-inner > span {
  font-size: 14px !important;
  line-height: 1.45 !important;
}
body.tn-page .tn-divider-visual p { font-size: 19px !important; line-height: 1.6 !important; }
body.pmm-home .tn-home-band-action span { font-size: 15px !important; }
/* NOMAD: show spec legends and descriptive details at reading size */
body.nomad-page .nomad-intro p,
body.nomad-page .nomad-story p,
body.nomad-page .nomad-utilities p,
body.nomad-page .nomad-gallery p,
body.nomad-page .nomad-transport p,
body.nomad-page .nomad-closing p {
  font-size: 19px !important;
  line-height: 1.74 !important;
  color: #3b5548 !important;
}
body.nomad-page .nomad-utilities p { color: #e0e9e3 !important; }
body.nomad-page .nomad-kicker,
body.nomad-page .nomad-use-line span,
body.nomad-page .nomad-caption {
  font-size: 15px !important;
  line-height: 1.48 !important;
}
body.nomad-page .nomad-spec span,
body.nomad-page .nomad-feature span,
body.nomad-page .nomad-utility span,
body.nomad-page .nomad-feature strong,
body.nomad-page .nomad-utility strong {
  font-size: 16.5px !important;
  line-height: 1.52 !important;
  letter-spacing: .025em !important;
}
body.nomad-page .nomad-spec span,
body.nomad-page .nomad-feature span { color: #3c574a !important; }
body.nomad-page .nomad-utility span { color: #e1eee5 !important; }
body.nomad-page .nomad-legal { font-size: 14.5px !important; line-height: 1.55 !important; color: #465d50 !important; }
/* Eco Cabins grid and the modal opened from its photos */
body.pmm-eco .eco45-eyebrow,
body.pmm-eco .eco45-category,
body.pmm-eco .eco45-modal-heading small {
  font-size: 14px !important;
  line-height: 1.45 !important;
  letter-spacing: .07em !important;
  color: #80643f !important;
}
body.pmm-eco .eco45-headline p,
body.pmm-eco .eco45-teaser,
body.pmm-eco .eco45-card p,
body.pmm-eco .eco45-modal-heading p,
body.pmm-eco .eco45-outdoor p,
body.pmm-eco .eco45-materials p,
body.pmm-eco .eco45-spec-block p {
  font-size: 17px !important;
  line-height: 1.6 !important;
  color: var(--pmm58-copy) !important;
}
body.pmm-eco .eco45-card-name span,
body.pmm-eco .eco45-materials h4 {
  font-size: 15px !important;
  line-height: 1.45 !important;
}
body.pmm-eco .eco45-price { font-size: 20px !important; line-height: 1.35 !important; }
body.pmm-eco .eco45-price small,
body.pmm-eco .eco45-price-note,
body.pmm-eco .eco45-price-panel span,
body.pmm-eco .eco45-price-panel small,
body.pmm-eco .eco45-timing,
body.pmm-eco .eco45-legal,
body.pmm-eco .eco45-hotel-terms {
  font-size: 15px !important;
  line-height: 1.55 !important;
  color: #435c4d !important;
}
body.pmm-eco .eco45-more,
body.pmm-eco .eco45-inquire,
body.pmm-eco .eco45-modal-top button {
  font-size: 16px !important;
  line-height: 1.45 !important;
  white-space: normal !important;
}
body.pmm-eco .eco45-facts dt {
  font-size: 14px !important;
  line-height: 1.45 !important;
  color: #56705e !important;
  letter-spacing: .035em !important;
}
body.pmm-eco .eco45-facts dd { font-size: 17px !important; line-height: 1.5 !important; }
body.pmm-eco .eco45-primary figcaption { font-size: 15px !important; line-height: 1.45 !important; }
body.pmm-eco .eco45-thumbs button span {
  font-size: 13px !important;
  line-height: 1.33 !important;
  min-height: 45px;
  overflow-wrap: anywhere;
}
body.pmm-eco .eco45-card-footer { align-items: center; flex-wrap: wrap; row-gap: 13px; }
/* Request forms: no 11–13 px copy, and keep controls legible without mobile auto-zoom */
html.pmm-builder-shell .pmm-pop-dialog { width: min(100%, 530px); }
html.pmm-builder-shell .pmm-pop-dialog p,
html.pmm-builder-shell .pmm-pop-topic,
html.pmm-builder-shell .pmm-pop-small,
html.pmm-builder-shell .pmm-pop-status,
html.pmm-builder-shell .pmm-pop-dialog .pmm-minimum-note,
html.pmm-builder-shell .pmm-optional-contact summary,
html.pmm-builder-shell .pmm-request-toast p {
  font-size: 16px !important;
  line-height: 1.53 !important;
}
html.pmm-builder-shell .pmm-pop-dialog label { font-size: 16px !important; line-height: 1.42 !important; }
html.pmm-builder-shell .pmm-pop-dialog input:not([type="hidden"]),
html.pmm-builder-shell .pmm-pop-dialog select,
html.pmm-builder-shell .pmm-pop-dialog textarea,
html.pmm-builder-shell .pmm-pop-dialog button[type="submit"] {
  font-size: 17px !important;
  line-height: 1.45 !important;
}
/* Footer remains quiet, but not microscopic. */
html.pmm-builder-shell footer.r39-footer .r39-footer-intro > span,
html.pmm-builder-shell footer.r39-footer .r39-footer-intro p,
html.pmm-builder-shell footer.r39-footer .r39-footer-menu strong,
html.pmm-builder-shell footer.r39-footer .r39-footer-menu a,
html.pmm-builder-shell footer.r39-footer .r39-footer-bottom small {
  font-size: 14.5px !important;
  line-height: 1.5 !important;
  color: #3e5648 !important;
}
html.pmm-builder-shell footer.r39-footer .r39-footer-menu a { color: #245641 !important; }
@media (max-width: 1120px) {
  html.pmm-builder-shell .pmm-r43-land-inner {
    grid-template-columns: minmax(0,1fr) minmax(0,.85fr) !important;
  }
  html.pmm-builder-shell .pmm-r43-land-links {
    grid-column: 1/-1;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 15px 24px;
  }
}
@media (max-width: 700px) {
  html.pmm-builder-shell .pmm-r43-land-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  html.pmm-builder-shell .pmm-r43-land-copy p { font-size: 17px !important; }
  html.pmm-builder-shell .pmm-r43-land-terms { font-size: 14.5px !important; }
  html.pmm-builder-shell .pmm-r43-land-price span { font-size: 16px !important; }
  html.pmm-builder-shell footer.r39-footer .r39-footer-bottom { flex-wrap: wrap; }
  html.pmm-builder-shell .r5-section .r5-grid article.r39-model-card .r39-card-body p,
  html.pmm-builder-shell .r5-section .r5-grid article.r43-luxe-card .r43-luxe-body p { font-size: 17px !important; }
}
