/* Readable mobile copy. Relative sizes respect the reader's default font size. */
@media screen and (max-width:820px){
  :root{--t2:#34445A;--t3:#596A80;}
  body{font-size:1rem;}
  .hero-desc,.sec-sub,.step-desc,.why-desc,.about-text p,.rev-text,
  .faq-q,.faq-a,.wizard-step-intro p,.pdesc,.adesc,.pinc li,
  .conf-txt,.area-service-summary p{font-size:1rem;line-height:1.6;}
  .hero-desc{line-height:1.55;}
  .rev-text{font-style:normal;}
  .hero-path-note,.stat-label,.hero-trust .htpill,.sec-label,
  .why-highlight,.rev-loc,.work-kind,.hero-photo-caption,
  .work-expand,.work-position,.ssec-t,.siitem strong,.snote,.opt,
  .pfrom,.addon-group-title,.addon-badge,.con-label,.foot-copy{
    font-size:.8125rem;line-height:1.45;
  }
  .hero-tag{font-size:.8125rem;letter-spacing:.04em;}
  .hero-path-label,.hero-nav-btn,.rev-author,.review-link,.g-badge,
  .review-footer-cta span,.ptime,.service-step-hint,.vehicle-note,
  #s1 .vehicle-note,.tbar-label,.date-note,.ts-desc,.fg label,
  .calendar-request-note,.confirmation-next-step,.consent-check,
  .addon-warning-text,.addon-warning-check,.addon-helper,
  .mini-inclusion-toggle,.ptog,.work-social-links,.work-dialog-note,
  .work-dialog-footer span,.work-media figcaption,.work-gallery-toolbar>span,
  .foot-tag,.foot-links a,.ceramic-upgrade-body,.ceramic-upgrade-body .ceramic-upgrade-note{
    font-size:.875rem;line-height:1.55;
  }
  .aname,.vbtn,.sname,.sprice,.siitem,.ts-name,.con-val,
  .addon-selected-notice-title,.addon-selected-notice-text,
  .info-popover,.info-popover strong,.ceramic-upgrade summary{
    font-size:.9375rem;line-height:1.5;
  }
  .addon-selected-notice-text{color:#294536;}
  .info-popover{max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain;}
  .hero-path-help .btn,.btn,.btn-back,.choose-package-btn,.addon-select-btn,
  .mobile-collapse-btn,.btn-calendar-google,.btn-calendar-file,.btn-edit-booking{
    font-family:var(--fb);font-size:1rem;font-weight:600;line-height:1.35;
    white-space:normal;overflow-wrap:anywhere;min-height:44px;height:auto;
    letter-spacing:0;
  }
  .hero-nav-btn,.htpill{white-space:normal;overflow-wrap:anywhere;min-width:0;}
  .hero-nav-btn{min-height:44px;text-align:center;}
  .hero-trust .htpill{text-align:center;}
  .hero-h1{font-size:clamp(2.125rem,10vw,2.875rem);}
  .hero-slogan{font-size:clamp(1.1875rem,5.5vw,1.5rem);}
  .sec-title,.about-text h3{font-size:1.75rem;line-height:1.2;}
  .step-title,.why-title,.progress-mobile-text{font-size:1.125rem;line-height:1.3;}
  .pname,.wizard-step-intro h3{font-size:1.5rem;}
  .aprice{font-size:1.25rem;}
  .fg{min-width:0;}
  .fg input,.fg textarea{font-size:1rem;line-height:1.5;min-width:0;width:100%;}
  .fg input::placeholder,.fg textarea::placeholder{color:#637187;}
  .err-msg{font-size:.875rem;line-height:1.45;}
  .field-error{font-size:.875rem!important;line-height:1.45;}
  .consent-check input,.addon-warning-check input{width:20px;height:20px;flex-shrink:0;}
  .mobile-drawer-panel{overflow-y:auto;}
  .mobile-drawer-links a{font-size:1rem;line-height:1.4;overflow-wrap:anywhere;}
  .summary-remove{font-size:.8125rem;padding:6px;}
  .srow{gap:12px;}
  .sname,.siitem,.con-val{min-width:0;overflow-wrap:anywhere;}
  .sprice{flex-shrink:0;}
  .stotal{gap:12px;flex-wrap:wrap;}
  .stotal-l{font-size:1.125rem;}
  .stotal-a{font-size:1.75rem;}
  .sum-sub,.pd-label,.pd-time{font-size:.875rem;color:#CBD5E1;line-height:1.5;}
  .cdow{font-size:.75rem;color:#E2E8F2;letter-spacing:0;}
  .cc{font-size:.875rem;min-width:0;}
  .cal-hdr h4{font-size:1.125rem;}
  .cal-nav{color:#fff;min-width:36px;min-height:40px;}
  .about-badge-sub,.foot-tag,.foot-links a,.foot-copy{color:#BCC8D7;}
  .foot-links{flex-wrap:wrap;}
  .foot-copy{line-height:1.6;}
  .faq-item.open .faq-a{max-height:none;}
  .pkg-card,.addon-card,.sum-card,.conf-box,.vsel{min-width:0;}
  .addon-card-header{flex-wrap:wrap;}
  .tbar{min-width:0;gap:12px;flex-wrap:wrap;}
  .wnav{gap:12px;flex-wrap:wrap;}
  .wnav>div{min-width:0;max-width:100%;}
  .wnav .btn,.wnav .btn-back{min-width:0;max-width:100%;}
  .addon-sticky-nav>div:last-child,.date-sticky-nav>div:last-child{min-width:0;flex-wrap:wrap;}
  .booking-progress-wrap{overflow-wrap:anywhere;}
  .work-caption{flex-wrap:wrap;}
  .work-dialog-header h3{font-size:1.5rem;}
  .work-dialog{overflow:auto;}
  .work-dialog-header{align-items:flex-start;}
  .work-dialog-header>div{min-width:0;overflow-wrap:anywhere;}
  .photo-pause-btn{font-size:.875rem;}
  .hero-photo-controls{flex-wrap:wrap;}
}
/* Small available heights include landscape and enlarged browser layouts. */
@media screen and (max-width:820px) and (max-height:520px){
  .booking-progress-wrap{position:static;}
  .booking-in-view .vehicle-sticky-nav.ready,
  .addon-sticky-nav,.date-sticky-nav{position:static;margin-top:20px;}
}
