/* Mobile reading and touch layout. Desktop styles remain in styles.css. */
@media (max-width: 760px) {
  html { scroll-padding-top: 102px; }
  body { -webkit-text-size-adjust: 100%; }
  body small { font-size: 16px !important; line-height: 1.65; }
  body p { font-size: 16px; line-height: 1.9; }
  body input:not([type=radio]):not([type=checkbox]), body select, body textarea { min-width: 0; max-width: 100%; font-size: 16px !important; }
  body button { touch-action: manipulation; }
  .site-header { left: 8px; right: 8px; padding-inline: 8px; gap: 6px; height: 78px; grid-template-columns: clamp(64px,20vw,84px) minmax(0,1fr) minmax(0,1fr) 44px; }
  .site-header .brand, .site-header .brand img { width: 100%; min-width: 0; }
  .site-header .brand { min-height: 48px; display: flex; align-items: center; }
  .site-header .header-quick { height: auto; min-height: 48px; padding: 6px 3px; }
  .site-header .header-quick b { font-size: 16px; line-height: 1.5; white-space: normal; }
  .site-header .menu-button { width: 44px; height: 48px; }
  .site-header nav { top: 94px; max-height: calc(100dvh - 110px); overflow-y: auto; padding: 14px; }
  .site-header nav:not(.open) { visibility: hidden; }
  .site-header nav.open { visibility: visible; }
  .site-header nav a { min-height: 48px; padding: 12px 10px; font-size: 17px; }
  .hero h1 { font-size: clamp(42px,12vw,60px); }
  .hero-copy > p, .project-content > p, .services-grid p, .page-hero p, .lead-hero-copy p { font-size: 16px; line-height: 1.9; }
  .eyebrow, .section-index, .section-note, .page-hero > span, .lead-hero-copy > span, .home-final-cta > span { font-size: 16px; line-height: 1.7; }
  .hero-stats { gap: 12px; flex-wrap: wrap; }
  .hero-stats > span { flex: 1 1 80px; }
  .hero-stats small { color: #c8beb0; }
  .hero-actions { gap: 12px; }
  .hero-actions a, .gold-button, .glass-button { min-height: 50px; font-size: 16px; line-height: 1.6; }
  .gateway-card b, .home-final-cta a { font-size: 16px; line-height: 1.6; }
  .gateway-card small, .portfolio-numbers small { color: #c8beb0; }
  .project-content { padding: 22px 18px; }
  .project-badge, .project-location, .project-tags span { font-size: 16px; line-height: 1.6; }
  .project-tags { flex-wrap: wrap; gap: 7px; }
  .project-data { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .project-data > :last-child { grid-column: 1 / -1; }
  .project-data b { font-size: 16px; line-height: 1.6; white-space: normal; }
  .project-links a { min-height: 48px; font-size: 16px; }
  .property-card-meta, .property-card-copy > p.property-card-location, .property-card-index, .property-category { font-size: 16px; line-height: 1.6; }
  .property-card-meta { flex-wrap: wrap; }
  .property-card-index { max-width: 65%; }
  .property-card-copy h4 { font-size: 23px; }
  .property-facts { gap: 10px; }
  .property-facts b { font-size: 16px; line-height: 1.7; overflow-wrap: anywhere; }
  .property-card-actions .property-contact-action { height: auto; min-height: 72px; padding-block: 12px; }
  .property-contact-action b { font-size: 16px; }
  .property-card-actions .property-card-secondary-actions > a, .property-card-actions .property-card-secondary-actions > button { min-height: 48px; height: auto; padding: 8px; font-size: 16px; }
  .property-back-link { min-height: 48px; display: inline-flex; align-items: center; font-size: 16px; }
  .property-detail-kicker { font-size: 16px; line-height: 1.7; }
  .property-detail-intro h1 { font-size: clamp(28px,8vw,39px); overflow-wrap: anywhere; }
  .property-detail-summary b { font-size: 17px; line-height: 1.7; }
  .property-detail-summary small, .property-info-grid small { color: #c7b8a6; }
  .property-detail-primary-actions b { font-size: 16px; line-height: 1.6; }
  .property-detail-primary-actions a, .property-detail-primary-actions button { height: auto; min-height: 72px; padding-block: 12px; }
  .property-detail-contact > span { min-width: 0; }
  .property-info-grid { gap: 10px; }
  .property-info-grid article { padding: 14px 12px; min-width: 0; align-items: flex-start; flex-direction: column; }
  .property-info-grid article > span { min-width: 0; }
  .property-info-grid b { font-size: 16px; line-height: 1.7; overflow-wrap: anywhere; }
  .property-description-panel p { font-size: 16px; line-height: 2; overflow-wrap: anywhere; }
  .property-gallery-expand, .property-gallery-arrow { min-width: 48px; min-height: 48px; }
  .property-gallery-dots { bottom: 8px; gap: 0; max-width: calc(100% - 100px); overflow-x: auto; scrollbar-width: none; }
  .property-gallery-dots button, .property-gallery-dots button.active { flex: 0 0 44px; width: 44px; height: 44px; border-radius: 0; background: transparent; box-shadow: none; display: grid; place-items: center; }
  .property-gallery-dots button::after { content: ''; width: 9px; height: 9px; border-radius: 9px; background: #ccc; box-shadow: 0 0 0 4px #0004; }
  .property-gallery-dots button.active::after { width: 24px; background: var(--gold-bright); }
  .lead-promises { flex-wrap: wrap; gap: 9px; }
  .lead-promises span { font-size: 16px; line-height: 1.7; }
  .lead-aside ol b, .lead-form-section legend b { font-size: 16px; line-height: 1.7; }
  .lead-contact-card > span, .lead-form-head em, .lead-fields label > span, .lead-textarea > span, .choice-line > span, .lead-consent span { font-size: 16px; line-height: 1.8; }
  .lead-contact-card a { min-height: 44px; display: flex; align-items: center; }
  .lead-form { padding: 20px 16px; min-width: 0; }
  .lead-form-head { flex-wrap: wrap; gap: 10px; }
  .lead-form-section { min-width: 0; }
  .lead-fields { gap: 16px; }
  .lead-fields input, .lead-fields select { min-height: 50px; }
  .lead-form small, .lead-aside small { color: #bcb1a4; }
  .choice-tile-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .choice-tile-grid b { font-size: 16px; }
  .choice-tile-grid small { font-size: 16px !important; color: #c8bfb2; }
  .choice-tile-grid label > span { min-height: 132px; padding: 14px 8px; }
  .choice-line { flex-wrap: wrap; gap: 8px; }
  .choice-line label { min-height: 48px; }
  .choice-line label b { font-size: 16px; }
  .lead-upload { flex-wrap: wrap; gap: 12px; }
  .lead-upload b { font-size: 16px; line-height: 1.7; }
  .lead-upload em { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; font-size: 16px; }
  .lead-consent { min-height: 48px; align-items: flex-start; gap: 12px; }
  .lead-consent input { flex: 0 0 24px; width: 24px; height: 24px; margin-top: 4px; }
  .lead-submit { padding: 16px; gap: 10px; height: auto; min-height: 84px; text-align: right; }
  .lead-submit b { font-size: 16px; line-height: 1.7; }
  .lead-submit small { color: #443119; }
  .atlas-search { min-height: 56px; padding-inline: 14px; }
  .atlas-search input { min-height: 48px; }
  .atlas-search button, .map-utility button { min-width: 44px; min-height: 44px; }
  .map-style-switch button { min-height: 48px; font-size: 16px; padding-inline: 10px; }
  .atlas-categories button { min-height: 48px; font-size: 16px; }
  .performance-note, .atlas-map-status, .atlas-map-legend, .atlas-list-head > span, .map-discovery-hint, .atlas-empty span { font-size: 16px; line-height: 1.7; }
  .atlas-map-legend { flex-wrap: wrap; }
  .atlas-map-status { white-space: normal; }
  .leaflet-control-zoom a { width: 44px; height: 44px; line-height: 44px; }
  footer .footer-links { gap: 4px; }
  footer .footer-links > span, .footer-invite > span, .footer-bottom { font-size: 16px; line-height: 1.8; }
  footer .footer-links a, .footer-invite a { min-height: 44px; display: flex; align-items: center; font-size: 16px; }
  .footer-bottom { padding-bottom: 90px; gap: 14px; }
  .advisor-toggle { width: 56px; height: 56px; }
  .property-open-cue, .property-load-more span, .lead-title-field > span, .lead-map-field b, .route-cta > span, .map-discovery-hint span, .atlas-list-head span { font-size: 16px; line-height: 1.7; }
  .atlas-list-head button, .atlas-detail-close { min-width: 44px; min-height: 44px; }
  .atlas-list-more, .atlas-list-more span, .atlas-detail-kicker, .investre-cluster b { font-size: 16px; line-height: 1.6; }
  .atlas-detail { max-height: calc(100dvh - 130px); overflow-y: auto; }
  .atlas-detail > p { font-size: 16px; line-height: 1.8; max-height: 58px; }
  .atlas-detail-facts b { font-size: 16px; }
  .atlas-detail-actions a { height: auto; min-height: 48px; padding: 10px; font-size: 16px; line-height: 1.6; text-align: center; }
  .atlas-detail-actions { grid-template-columns: 1fr; }
  .leaflet-control-zoom a { width: 44px !important; height: 44px !important; line-height: 44px !important; }
  .leaflet-control-attribution, .leaflet-control-scale-line { font-size: 16px !important; }
  .property-share-dialog { max-height: calc(100dvh - 24px); overflow-y: auto; }
  .property-share-box { padding: 20px 16px; }
  .property-share-box > header { gap: 10px; }
  .property-share-box > header button { flex: 0 0 48px; width: 48px; height: 48px; }
  .property-share-box > p { font-size: 16px; line-height: 1.8; }
  .property-share-box button, .property-share-box a { min-height: 48px; font-size: 16px; }
  .share-options b { font-size: 16px; line-height: 1.6; }
}
@media (max-width: 359px) {
  .site-header { gap: 4px; padding-inline: 6px; grid-template-columns: 60px minmax(0,1fr) minmax(0,1fr) 44px; }
  .site-header .header-quick b { font-size: 16px; }
  .property-detail-secondary-actions { grid-template-columns: 1fr; }
  .project-links { grid-template-columns: 1fr; }
}
