/* Phone refinements, kept separate from desktop and the printable plan. */
.mobile-jump { display:none; }
@media screen and (max-width:960px) {
  .workspace { grid-template-columns:1fr; }
  .shell { padding-inline:16px; }
  .masthead { margin:12px 16px 0; }
  .masthead .nav { height:58px; padding-inline:18px; }
  .intro { padding:26px 0 20px; }
  .intro .eyebrow { margin-bottom:16px; }
  .intro-copy { margin-top:20px; }
  .intro-copy p:nth-child(2) { line-height:1.65; }
  .tool-nav { gap:4px; margin-bottom:12px; }
  .tabs { width:100%; display:grid; grid-template-columns:1fr 1fr; }
  .tab { min-height:44px; padding:12px 8px; font-size:12px; }
  .text-button { width:auto; margin-left:auto; min-height:44px; padding:10px 12px; font-size:12px; }
  .text-button span { font-size:12px; }
  .input-card { padding:24px 20px; }
  .panel-heading h2 { font-size:clamp(28px,7.5vw,36px); }
  .input-hint { margin-bottom:20px; }
  fieldset { margin-bottom:22px; }
  label { font-size:13px; }
  .field-pair { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .field-pair .field-label { display:block; min-height:2.9em; line-height:1.45; }
  .input-wrap { min-height:54px; padding-inline:12px; }
  .input-wrap input { font-size:22px; }
  label small,.field-note,.input-card .field-note { font-size:12px; line-height:1.6; }
  .advanced summary { min-height:44px; font-size:14px; }
  .advanced select { font-size:16px; min-height:48px; }
  .mobile-jump { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-height:48px; padding:13px 17px; border:0; border-radius:12px; font:inherit; font-size:14px; font-weight:750; }
  .mobile-jump-primary { margin-top:20px; background:#151719; color:#fff; }
  .mobile-jump-back { width:auto; margin:0 0 12px auto; background:#24282c; color:#f5f5f1; border:1px solid #535b63; }
  .mobile-jump span[aria-hidden] { font-size:18px; line-height:1; }
  .result-column,.input-card,#book-a-call { scroll-margin-top:16px; }
  .mobile-focus:focus { outline:none; }
  .result-top { gap:12px; }
  .period-switch { flex:0 0 100%; display:grid; grid-template-columns:1fr 1fr; }
  .period-switch button { min-height:44px; font-size:14px; }
  .result-card { padding:24px 20px 0; }
  .daily-note { margin-inline:-20px; }
  .funnel { display:grid; grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr) 12px minmax(0,1fr); gap:4px; padding:17px 8px; }
  .funnel>div { display:flex; flex-direction:column; gap:6px; min-width:0; }
  .funnel-dot { display:none; }
  .funnel strong { font-size:clamp(19px,5.7vw,25px); max-width:100%; overflow-wrap:anywhere; }
  .funnel>div>span:last-child { font-size:11px; margin:0; white-space:nowrap; }
  .funnel-arrow { text-align:center; }
  .plan-details { padding:22px 20px; }
  .detail-heading { align-items:flex-start; flex-wrap:wrap; }
  .detail-row { align-items:flex-start; flex-wrap:nowrap; gap:12px; }
  .detail-row>span { flex:1; min-width:0; font-size:13px; }
  .detail-row strong { max-width:48%; white-space:normal; overflow-wrap:anywhere; font-size:14px; text-align:right; }
  .budget-comparison,.profit-comparison,.plan-details .field-note { font-size:12px; }
  .seasonal-stats strong { max-width:48%; overflow-wrap:anywhere; text-align:right; }
  .calendar-link { width:100%; justify-content:space-between; min-height:52px; }
  .booking-intro h2 { font-size:clamp(32px,9vw,44px); }
  .booking-meta { font-size:12px; line-height:1.8; }
  .calendar-frame { margin-inline:-4px; }
  .marketing-sections .mkt-section,.getleads-sections .gl-proof-section,.getleads-sections .gl-work-section { padding-inline:20px; }
  .marketing-sections .mkt-route li { grid-template-columns:44px minmax(0,1fr); gap:14px; }
  .marketing-sections .mkt-step-number { width:44px; height:44px; }
  .marketing-sections .mkt-route::before { left:21px; }
  .marketing-sections .mkt-route p { font-size:14px; }
  .getleads-sections .gl-reviews-row,.getleads-sections .gl-work-grid { scrollbar-width:none; padding-bottom:4px; scroll-padding-inline:2px; }
  .getleads-sections .gl-reviews-row::-webkit-scrollbar,.getleads-sections .gl-work-grid::-webkit-scrollbar { display:none; }
  .getleads-sections .gl-receipt-grid figcaption { flex-wrap:wrap; align-items:center; font-size:11px; gap:2px 10px; margin-top:10px; }
  .getleads-sections .gl-receipt-grid figcaption a,.getleads-sections .gl-proof-bottom a { display:inline-flex; align-items:center; min-height:44px; }
  .getleads-sections .gl-review-card figcaption small { font-size:11px; }
  .getleads-sections .gl-primary { width:100%; justify-content:space-between; }
  .booking-popup { overscroll-behavior:contain; }
}
@media screen and (max-width:420px) {
  .nav-note { display:none; }
  .masthead .nav { justify-content:center; }
  .brand small { display:block; font-size:7px; }
  .result-money { grid-template-columns:1fr; gap:16px; }
  .result-money>div+div { border-left:0; border-top:1px solid #4b5056; padding:16px 0 0; }
  .result-money strong { font-size:38px; overflow-wrap:anywhere; }
  .result-money small { font-size:12px; }
  .getleads-sections .gl-review-card { flex-basis:94%; padding:18px; }
  .getleads-sections .gl-work-grid>a { flex-basis:94%; }
}
@media screen and (max-width:360px) {
  .shell { padding-inline:12px; }
  .masthead { margin-inline:12px; }
  .input-card,.plan-details { padding-inline:16px; }
  .advanced .field-pair { grid-template-columns:1fr; gap:16px; }
  .advanced .field-label { min-height:0; }
  .marketing-sections .mkt-section,.getleads-sections .gl-proof-section,.getleads-sections .gl-work-section { padding-inline:16px; }
  .marketing-sections h2,.getleads-sections h2 { font-size:34px; }
  .booking-popup { padding:26px 20px 18px; }
  .booking-popup h2 { font-size:38px; }
}
@media screen and (max-height:550px) and (max-width:740px) {
  .booking-popup { padding-block:22px 16px; }
  .booking-popup-brand,.booking-popup .eyebrow { display:none; }
  .booking-popup h2 { font-size:32px; margin-bottom:12px; padding-right:22px; }
  .booking-popup-description,.booking-popup-meta { margin-bottom:14px; }
}
