/* Mobile presentation only; desktop copy and layouts retain their existing scale. */
.testimonial-play svg { width:30px; height:30px; display:block; }
.fi-story-toggle { display:none; }
.faq-more-toggle { display:none; }
.rp-story-toggle, .sw-step-details > summary { display:none; }
.contact-mobile-choice { display:none; }
.rp-body-extra { display:contents; }

@media (max-width:820px), (max-width:960px) and (max-height:500px) {
  html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
  :root { --type-body:15px; --type-title:27px; --type-subhead:20px; --type-label:11px; }
  .site-header, .site-header-inner { min-height:56px!important; height:56px!important; }
  .site-header-inner { padding:8px 18px!important; }
  #main-content.page-wrap { gap:12px!important; }
  #home.home-hero {
    box-sizing:border-box; height:100svh; min-height:100svh; max-height:none;
    padding:calc(var(--site-header-height,56px) + 10px) 20px 16px!important;
    display:flex; flex-direction:column; justify-content:center; align-items:center;
    gap:0!important;
    margin-top:calc(0px - var(--site-header-height,56px))!important;
  }
  #home .home-hero-content { display:contents; }
  #home h1 { order:1; width:100%; max-width:100%; margin:0!important; font-size:clamp(24px,8vw,34px)!important; line-height:1.06!important; letter-spacing:-.035em!important; }
  #home h1 em, #home .home-hero-title-primary { white-space:normal!important; }
  #home .home-hero-subhead { order:2; width:100%; margin:0!important; font-size:15px!important; line-height:1.35!important; text-wrap:pretty; }
  #home .home-hero-body { order:3; width:100%; margin:0!important; font-size:13px!important; line-height:1.4!important; text-wrap:pretty; }
  #home .home-hero-media { order:4; width:100%; max-width:min(100%,50svh); margin:0 auto; transform:none; }
  #home .home-hero-cta { order:5; align-self:center; min-height:44px; margin:0!important; padding:12px 24px; font-size:11px; }
  #home > .section-next-cue { display:none; }
  #home .home-video-preview { border-radius:12px; }
  #home .home-video-preview:hover { transform:none; }

  #testimonials, #strategy, #process, #savings, #about, #faq, #contact.contact { padding:24px 20px 18px!important; margin-block:0!important; }
  #testimonials .section-header-title, #strategy .rp-headline, #process .sw-headline, #savings .sc-title, #contact h2 { font-size:27px!important; line-height:1.12!important; letter-spacing:-.025em!important; }
  #testimonials .testimonial-head, #process .sw-section-head, #savings .sc-header { margin-bottom:18px!important; gap:8px!important; }
  #testimonials .testimonial-carousel { margin-top:12px; }
  #testimonials .testimonial-strip { gap:14px; padding-block:8px!important; }
  #testimonials .testimonial-thumb { flex:0 0 min(72vw,270px)!important; width:min(72vw,270px)!important; height:min(61svh,480px)!important; min-height:0!important; }
  #testimonials .testimonial-copy { left:16px; right:14px; bottom:18px; }
  #testimonials .testimonial-copy strong { font-size:20px!important; margin-bottom:4px; }
  #testimonials .testimonial-copy span { font-size:13px!important; line-height:1.3!important; }
  #testimonials .testimonial-play { width:48px; height:48px; padding:0; }
  #testimonials .testimonial-play svg { width:22px; height:22px; }
  #testimonials .testimonial-savings { padding:8px 10px; }
  #testimonials .testimonial-savings-value { font-size:15px!important; }

  #strategy .rp-cols { gap:16px!important; }
  #strategy .rp-headline { margin-bottom:14px!important; }
  #strategy .rp-body { gap:6px!important; }
  #strategy .rp-body p { font-size:14px!important; line-height:1.45!important; margin-bottom:0!important; }
  #strategy .rp-body-extra:not(.is-expanded) { display:none; }
  #strategy .rp-body-extra { display:block; }
  #strategy .rp-body-extra p + p { margin-top:9px!important; }
  #strategy .rp-story-toggle { display:inline-flex; align-items:center; align-self:start; min-height:44px; padding:6px 0; margin:0; border:0; background:transparent; color:var(--teal); font:inherit; font-size:13px; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
  #strategy .rp-eyebrow { margin-bottom:10px!important; }
  #strategy .rp-ba-labels-fixed { display:none!important; }
  #strategy .rp-comparison-title { margin-bottom:10px!important; font-size:12px!important; }
  /* Preserve the interactive reveal, with full-width rows at each endpoint. */
  #strategy .rp-ba-card { height:230px!important; min-height:230px!important; }
  #strategy .rp-ba-side { padding:16px!important; gap:12px!important; }
  #strategy .rp-ba-row { grid-template-columns:76px minmax(0,1fr)!important; column-gap:clamp(18px,5vw,28px)!important; min-height:48px!important; }
  #strategy .rp-ba-row-label { min-height:32px!important; padding:5px!important; font-size:10px!important; letter-spacing:.04em!important; }
  #strategy .rp-ba-value { font-size:clamp(14px,4.4vw,20px)!important; line-height:1.2!important; white-space:nowrap!important; }
  #strategy .rp-ba-divider { display:block; }

  #process .sw-headline { max-width:30ch!important; margin:0!important; font-size:25px!important; }
  #process .sw-nav { margin-block:18px!important; }
  #process .sw-section-head > * { margin:0!important; }
  #process .sw-circle { width:34px!important; height:34px!important; font-size:14px!important; }
  #process .sw-step-label { font-size:11px!important; margin-top:6px!important; }
  #process .sw-panel { min-height:0!important; }
  #process .sw-img-col { height:auto!important; min-height:0!important; aspect-ratio:16/9!important; }
  #process .sw-info-col { padding:12px!important; min-height:0!important; }
  #process .sw-layer.visible { min-height:0!important; }
  #process .sw-layer { padding:0!important; }
  #process .sw-title { font-size:23px!important; line-height:1.12!important; margin-bottom:8px!important; }
  #process .sw-badge { font-size:10px!important; line-height:1.2!important; padding:3px 8px!important; margin-bottom:8px!important; }
  #process .sw-desc { min-height:0!important; margin-bottom:10px!important; font-size:14px!important; line-height:1.45!important; }
  #process .sw-bullets { gap:7px!important; }
  #process .sw-bullets li { font-size:13px!important; line-height:1.4!important; }

  #savings .sc-sub { font-size:14px!important; line-height:1.4!important; margin-top:8px!important; }
  #savings .sc-equation { display:grid; grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr)!important; gap:12px 4px!important; padding:0!important; border:0!important; background:none!important; box-shadow:none!important; }
  #savings .sc-equation-card { height:auto!important; min-height:0!important; padding:12px 10px!important; }
  #savings .sc-value-group { grid-template-rows:auto auto!important; gap:4px!important; }
  #savings .sc-input-section, #savings .sc-points-card, #savings .sc-savings-card { grid-column:1/-1; }
  #savings .sc-equals { display:none; }
  #savings .sc-flights-card { grid-column:1; }
  #savings .sc-outcome-or { display:flex; grid-column:2; align-self:center; justify-content:center; margin:0; padding:0; width:auto; height:auto; min-height:0; border:0; background:none; box-shadow:none; font-size:10px; color:var(--teal); }
  #savings .sc-hotels-card { grid-column:3; }
  #savings .sc-hotels-card::before { content:none; }
  #savings .sc-savings-card { animation:none!important; box-shadow:none!important; }
  #savings .sc-equation-label { font-size:11px!important; margin-bottom:6px!important; line-height:1.2!important; white-space:normal!important; }
  #savings .sc-equation-value { min-height:0!important; height:auto!important; font-size:28px!important; line-height:1.1!important; }
  #savings .sc-equation-value--savings { font-size:34px!important; }
  #savings .sc-slider-control { margin-top:10px!important; }
  #savings .sc-assumptions { margin-top:12px!important; }

  #about .fi-cols { display:flex!important; flex-direction:column!important; gap:14px!important; }
  #about .fi-eyebrow { margin-bottom:14px!important; }
  #about .fi-right { width:100%; order:-1; }
  #about .fi-portrait { width:min(64vw,240px); max-width:240px!important; height:auto; aspect-ratio:4/5; margin:0 auto; display:block; border:1px solid rgba(92,225,230,.25); overflow:hidden; }
  #about .fi-portrait img { width:100%; height:100%; border-radius:0; transform:none; object-fit:cover; object-position:50% 50%; }
  #about .fi-portrait-caption { position:absolute; left:0; right:0; bottom:0; padding:28px 14px 14px; background:linear-gradient(transparent,rgba(6,18,33,.95)); }
  #about .fi-portrait-name { font-size:16px!important; line-height:1.3!important; }
  #about .fi-portrait-role { font-size:12px!important; line-height:1.3!important; }
  #about .fi-body p { font-size:14px!important; line-height:1.5!important; margin-bottom:12px; }
  #about .fi-story-extra { display:block; }

  #faq .section-head { margin-bottom:12px!important; }
  #faq .fi-eyebrow { margin:0!important; }
  #faq .faq-item { margin-bottom:6px!important; }
  #faq:not(.is-expanded) .faq-item:nth-child(n+6) { display:none; }
  #faq .faq-more-toggle { display:inline-flex; min-height:44px; align-items:center; padding:8px 12px; margin-top:8px; border:1px solid rgba(92,225,230,.35); border-radius:8px; background:transparent; color:var(--teal); font:inherit; font-size:13px; cursor:pointer; }
  #faq .faq-q { min-height:44px; padding:12px!important; gap:10px; font-size:14px!important; line-height:1.35!important; }
  #faq .faq-q { scroll-margin-top:calc(var(--site-header-height,56px) + 12px); }
  #faq .faq-q span:last-child { width:20px; height:20px; flex-basis:20px; font-size:20px; }
  #faq .faq-a p, #faq .faq-a li { font-size:14px!important; line-height:1.5!important; }
  #faq .faq-a p { padding:0 12px 12px; }
  #faq .faq-a ul { padding:0 12px 0 30px; margin-bottom:12px; }

  #contact.contact { display:block; }
  #contact .contact-intro { margin-bottom:16px; }
  #contact .contact-accent { display:none; }
  #contact .contact-intro .review-label { margin:0 0 6px!important; }
  #contact .contact-intro h2 { margin-bottom:8px!important; font-size:25px!important; }
  #contact .contact-intro p { font-size:14px!important; line-height:1.45!important; }
  #inquiryForm { padding:16px; }
  #inquiryForm .contact-form-progress { margin-bottom:12px; }
  #inquiryForm .contact-form-step h3 { margin:0 0 12px!important; font-size:20px!important; }
  #inquiryForm .contact-form-step[data-contact-step="1"] { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  #inquiryForm .contact-form-step[data-contact-step="1"] > * { grid-column:1/-1; }
  #inquiryForm .contact-form-step[data-contact-step="1"] > .contact-field:nth-of-type(-n+2) { grid-column:auto; }
  #inquiryForm .contact-form-step[data-contact-step="1"] .contact-field { margin:0; }
  #inquiryForm .contact-field label { margin-bottom:5px; font-size:12px!important; }
  #inquiryForm input, #inquiryForm select, #inquiryForm textarea { font-size:16px!important; min-height:44px; padding:10px 12px; }
  #inquiryForm .contact-question legend { font-size:14px; margin-bottom:8px; }
  #inquiryForm .contact-question { padding:0!important; }
  #inquiryForm .contact-field + .contact-field { margin-top:10px; }
  #inquiryForm .wix-field--radio .contact-mobile-choice { display:block; width:100%; }
  #inquiryForm .contact-mobile-choice { background:#162b46; color:#fff; border:1px solid #526981; border-radius:8px; color-scheme:dark; font-family:inherit; }
  #inquiryForm .wix-field--radio .contact-options { display:none; }
  #inquiryForm .contact-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin-bottom:12px; }
  #inquiryForm .contact-option { min-height:44px; padding:8px; font-size:12px; gap:7px; }
  #inquiryForm .contact-option:last-child:nth-child(odd) { grid-column:1/-1; }
  #inquiryForm .contact-option input, #inquiryForm .contact-consent input { min-height:18px; width:18px; padding:0; }
  #inquiryForm .contact-form-actions { margin-top:14px; }
  #inquiryForm .contact-submit { min-height:44px; }
  #testimonials > .section-next-cue, #strategy > .section-next-cue, #process > .section-next-cue, #savings > .section-next-cue, #about > .section-next-cue, #faq > .section-next-cue { display:none; }
}

@media (max-width:820px) and (max-height:650px) {
  #home.home-hero { gap:7px!important; padding-top:calc(var(--site-header-height,56px) + 6px)!important; padding-bottom:8px!important; }
  #home h1 { font-size:24px!important; }
  #home .home-hero-subhead { font-size:14px!important; line-height:1.3!important; }
  #home .home-hero-body { font-size:12px!important; }
  #home .home-hero-media { max-width:min(100%,43svh); }
}

@media (max-width:820px) and (max-height:700px) {
  #process .sw-headline { font-size:23px!important; }
  #process .sw-nav { margin-block:12px!important; }
}

@media (max-width:960px) and (max-height:500px) {
  .site-header, .site-header-inner { min-height:56px!important; height:56px!important; }
  #home.home-hero { box-sizing:border-box; height:100svh; min-height:100svh; margin-top:calc(0px - var(--site-header-height,56px))!important; padding:calc(var(--site-header-height,56px) + 8px) 20px 10px!important; display:grid; grid-template-columns:1fr 1fr; grid-template-rows:auto auto auto; align-content:center; gap:8px 20px!important; }
  #home .home-hero-content { display:contents; }
  #home h1 { grid-column:1; grid-row:1; margin:0!important; font-size:clamp(19px,3.2vw,24px)!important; line-height:1.05!important; }
  #home .home-hero-title-primary, #home h1 em { white-space:normal!important; }
  #home .home-hero-subhead { grid-column:1; grid-row:2; margin:0!important; font-size:12px!important; line-height:1.25!important; white-space:normal; }
  #home .home-hero-body { grid-column:1; grid-row:3; margin:0!important; font-size:11px!important; line-height:1.3!important; }
  #home .home-hero-media { grid-column:2; grid-row:1/3; align-self:end; width:100%; max-width:100%; margin:0; transform:none; }
  #home .home-hero-cta { grid-column:2; grid-row:3; justify-self:center; align-self:start; margin:0!important; min-height:44px; padding:12px 20px; font-size:10px; }
  #home > .section-next-cue { display:none; }
}

@media (max-width:820px), (max-width:960px) and (max-height:500px) {
  #services { --concierge-type-display:32px; --concierge-type-body:14px; padding:24px 20px!important; }
  #page-main .sv-header { margin-bottom:20px!important; }
  #page-main .sv-headline { font-size:27px!important; line-height:1.12!important; }
  #page-main .sv-header-sub { font-size:14px!important; line-height:1.5!important; margin-top:12px!important; }
  #page-main .cards-grid { gap:20px!important; }
  #page-main .svc-card-img { height:180px!important; min-height:0!important; }
  #page-main .svc-card-body { padding:20px 18px 12px!important; }
  #page-main .svc-card-title { font-size:26px!important; line-height:1.12!important; }
  #page-main .svc-accent-bar { margin-block:12px!important; }
  #page-main .svc-card-desc, #page-main .svc-hi-text { font-size:14px!important; line-height:1.5!important; }
  #page-main .svc-card-actions { padding:0 18px 14px!important; }
  #page-main .svc-toggle { min-height:44px; padding:12px 18px!important; }
  #page-main .svc-expand-inner { padding:16px 18px!important; }
  #services #page-concierge .dp-hero, #services #page-award .dp-hero { padding:20px!important; gap:20px!important; }
  #services #page-concierge .dp-hero h1, #services #page-award .dp-hero h1 { font-size:32px!important; line-height:1.08!important; margin-bottom:16px!important; }
  #services #page-concierge .dp-hero-copy, #services #page-award .dp-hero-copy { gap:12px!important; }
  #services #page-concierge .dp-hero-copy p, #services #page-award .dp-hero-copy p { font-size:14px!important; line-height:1.5!important; }
  #services #page-concierge .dp-hero-closing, #services #page-award .dp-hero-closing { margin-top:14px!important; }
  #services #page-concierge .dp-hero-media, #services #page-award .dp-hero-media { height:auto!important; min-height:0!important; aspect-ratio:16/9!important; }
  #services #page-concierge .dp-hero-img, #services #page-award .dp-hero-img { width:100%!important; height:100%!important; object-fit:cover; }
  #services #page-concierge .concierge-tiers, #services #page-concierge .concierge-comparison, #services #page-award .dp-pillars { padding:22px 18px!important; }
  #services #page-concierge .concierge-tiers h2, #services #page-concierge .concierge-comparison h2, #services #page-award .dp-pillars h2 { font-size:25px!important; line-height:1.15!important; }
  #services #page-concierge .concierge-tiers .tier-toggle { padding:18px 14px!important; gap:10px!important; }
  #services #page-concierge .tier-title { font-size:21px!important; line-height:1.2!important; }
  #services #page-concierge .concierge-tiers .tier-best-for-copy { font-size:12px!important; white-space:normal!important; line-height:1.4!important; }
  #services #page-concierge .concierge-tiers .tier-panel-inner { padding:16px 14px!important; }
  #services #page-concierge .tier-panel-inner p, #services #page-concierge .tier-panel-inner li { font-size:14px!important; line-height:1.5!important; }
  #services #page-award .dp-pillars-grid { gap:14px!important; }
  #services #page-award .dp-pillar { padding:18px!important; }
  #services #page-award .dp-pillar h3 { font-size:20px!important; margin-bottom:12px!important; }
  #services #page-award .dp-pillar li { font-size:14px!important; line-height:1.5!important; margin-bottom:8px!important; }
  #services #page-concierge .dp-cta, #services #page-award .dp-cta, #services #page-concierge .dp-lead-capture--golden-rules { padding:24px 18px!important; }
  #services #page-concierge .dp-cta h2, #services #page-award .dp-cta h2, #services #page-concierge .dp-lead-capture--golden-rules h2 { font-size:27px!important; line-height:1.15!important; }
  #services #page-concierge .dp-cta p, #services #page-award .dp-cta p { font-size:14px!important; line-height:1.5!important; }
  #page-award-form .award-form-card { padding:20px 16px; margin-top:16px; min-height:0; border-radius:16px; }
  #page-award-form .award-form-progress { margin-bottom:24px; }
  #page-award-form .award-form-intro { min-height:360px; }
  #page-award-form .award-form-heading { font-size:28px; line-height:1.15; margin-bottom:20px; }
  #page-award-form .award-form-copy, #page-award-form .award-form-note { font-size:14px; line-height:1.5; }
  #page-award-form .award-form-note { padding:14px; margin-bottom:20px; }
  #page-award-form .award-form-grid { grid-template-columns:minmax(0,1fr); gap:16px; }
  #page-award-form .award-form-control { min-height:44px; font-size:16px; }
  #page-award-form .award-form-actions { margin-top:24px; gap:12px; }
}

/* Keep the connector centered on the numbered circles at every breakpoint. */
#process .sw-nav::before, #process .sw-fill-track { top:30px; left:12.5%; right:12.5%; }
#process .sw-track-arrow { display:none!important; }
@media (max-width:820px), (max-width:960px) and (max-height:500px) {
  #process .sw-nav::before, #process .sw-fill-track { top:17px; }
  #home h1 { margin-bottom:22px!important; }
  #home .home-hero-subhead { margin-bottom:12px!important; }
  #home .home-hero-body { margin-bottom:clamp(24px,5svh,44px)!important; }
  #home .home-hero-media { margin-bottom:22px!important; }
}
@media (max-width:820px) and (max-height:650px) {
  #home.home-hero { gap:0!important; }
  #home h1 { margin-bottom:14px!important; }
  #home .home-hero-subhead { margin-bottom:8px!important; }
  #home .home-hero-body { margin-bottom:18px!important; }
  #home .home-hero-media { margin-bottom:14px!important; }
}
@media (max-width:960px) and (max-height:500px) {
  #home h1, #home .home-hero-subhead, #home .home-hero-body, #home .home-hero-media { margin-bottom:0!important; }
}
