/* Responsive refinements shared by the existing page shell. */
.site { --header-offset:150px; }
html { scroll-padding-top:var(--kade-header-height,150px); }
.site :is(section[id],div[id]) { scroll-margin-top:12px; }
@media (max-width:1100px) {
  .site > header .topbar { padding:0;min-height:0; }
  .site > header .contact-banner { width:100%;margin:0;gap:4px 16px;padding:8px 16px; }
  .site > header .contact-banner a { min-height:28px;font-size:12px; }
  .site > header > nav { height:auto;gap:16px; }
  .site > header .menu-toggle { min-width:44px;min-height:44px; }
  .site > header .navlinks { max-height:calc(100dvh - var(--kade-header-height,160px) - 16px);overscroll-behavior:contain; }
  .site > header .navlinks a { white-space:normal;min-height:44px;display:flex;align-items:center;gap:6px; }
  .site .hero-copy { pointer-events:auto; }
  .site :is(.service-card,.reward,.footer-grid>*,.values article,.hotspot-copy) { min-width:0; }
  .site .service-card h3 { white-space:normal;line-height:1.4; }
  .site .service-card button { white-space:normal;min-height:44px;text-align:left; }
  .site .stats { height:auto;min-height:90px;grid-template-columns:repeat(3,minmax(0,1fr));padding:12px;gap:12px; }
  .site .stats>div { min-width:0;padding:8px 0;gap:10px;justify-content:flex-start; }
  .site .stats>div+div:before { display:none; }
  .site .stats svg { width:36px;height:36px; }
  .site .stats span { font-size:12px; }
  .site .stats strong { font-size:18px; }
  .site .hero-description { line-height:1.65; }
  .site .hotspot-bottom { flex-wrap:wrap;gap:18px; }
  .site #hotspot-search { height:44px; }
  .site #hotspot-search button { min-width:44px; }
  .site .cities button { min-height:44px; }
  .site .loyalty { height:auto;padding-bottom:18px; }
  .site .reward { padding:12px 8px; }
  .site .reward strong { font-size:13px;line-height:1.4; }
  .site .reward small { font-size:12px;white-space:normal;line-height:1.5; }
  .site .reward .button { min-height:44px;white-space:normal;line-height:1.4; }
  #contact .footer-grid { gap:24px; }
  #contact .footer-grid a:not(.brand) { min-height:36px;display:flex;align-items:center; }
  #contact .footer-brand .social { flex-wrap:wrap;gap:10px; }
  #contact .footer-brand .social a { width:44px;height:44px;justify-content:center; }
  #contact .footer-brand .social svg { width:20px;height:20px; }
  #contact .footer-links:last-child { padding-right:72px; }
  #contact .footer-links>#support-launch { top:72px;right:4px; }
  .legal-sidebar { top:calc(var(--kade-header-height,150px) + 16px);max-height:calc(100dvh - var(--kade-header-height,150px) - 32px); }
  .legal-reading>section { scroll-margin-top:16px; }
}
@media (max-width:800px) {
  .site .hero { height:auto;min-height:0;display:flex;flex-direction:column; }
  .site .hero-copy { order:0;width:100%;padding:32px 24px 24px; }
  .site .hero h1 { font-size:clamp(30px,5.6vw,44px);line-height:1.15;letter-spacing:-.025em; }
  .site .hero-description { max-width:620px;font-size:15px; }
  .site .hero-art { order:1;position:relative;inset:auto;width:100%;height:auto;aspect-ratio:1.85;mask-image:linear-gradient(to bottom,transparent,#000 14%); }
  .site .hero-art>img { object-fit:cover;object-position:center; }
  .site .hero-benefits { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;margin:22px 0; }
  .site .hero-benefits span { white-space:normal;padding:0;font-size:13px;line-height:1.5;gap:10px; }
  .site .hero-benefits svg { width:24px;height:24px; }
  .site .hero-buttons { flex-wrap:wrap;gap:12px; }
  .site .hero-buttons .button { min-height:48px;padding:12px 16px;white-space:normal;font-size:13px; }
  .site .customer-badge { top:12%;left:auto;right:16px;width:155px; }
  .site .customer-badge strong { font-size:15px; }
  .site .customer-badge span { font-size:12px; }
  .site .stats { margin:0 16px 24px;border-radius:14px; }
  .site .content { margin:0 16px; }
  .site .service-hotspot { grid-template-columns:minmax(0,1fr);gap:20px; }
  .site .services { padding:18px 12px 12px; }
  .site .service-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px; }
  .site .service-grid .service-card:nth-child(n) { grid-column:auto;min-height:0;padding:16px 12px;flex-direction:column;gap:10px; }
  .site .service-card>div { flex:1;min-width:0; }
  .site .service-card svg { width:30px;height:30px; }
  .site .service-card h3 { font-size:14px; }
  .site .service-card p { font-size:13px; }
  .site .hotspot-copy { padding:24px 18px; }
  .site .hotspot-copy h2 { font-size:26px; }
  .site .hotspot-copy>p:not(.eyebrow) { max-width:100%;font-size:14px; }
  .site #hotspot-search,.site .cities { width:100%;max-width:100%; }
  .site .cities { grid-template-columns:repeat(4,minmax(0,1fr));gap:8px; }
  .site .cities button { padding:8px 4px;font-size:12px; }
  .site .hotspot-bottom { font-size:12px; }
  #plans { grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 16px; }
  #plans .plan { min-height:0; }
  #plans .plan button { min-height:46px; }
  #packages .plan-help { display:flex;flex-wrap:wrap;gap:12px; }
  #packages .plan-help a { min-height:44px;display:inline-flex;align-items:center; }
  .site .loyalty { grid-template-columns:repeat(3,minmax(0,1fr));margin-top:24px; }
  .site .loyalty-art { grid-column:1;min-height:180px; }
  .site .loyalty-copy { grid-column:2/4;padding:18px 12px; }
  .site .loyalty-copy h2 { font-size:20px;line-height:1.35; }
  .site .loyalty-copy p { font-size:13px;line-height:1.65; }
  .site .coverage { height:auto;gap:12px;margin-top:24px; }
  .site .coverage .button { min-height:44px;white-space:normal; }
  .site .portal li { white-space:normal; }
  .site .values-grid { gap:12px; }
  .site .values article { padding:18px;min-height:0; }
  .site .values h3 { font-size:15px;line-height:1.4; }
  .site .values p { font-size:14px; }
  .site .assurances { height:auto;grid-template-columns:repeat(2,minmax(0,1fr));padding:20px 16px;gap:18px; }
  .site .assurances span { font-size:12px;justify-content:flex-start; }
  .site .assurances svg { width:32px;height:32px; }
  .legal-sidebar { position:static;max-height:none; }
  .legal-sidebar nav a { min-height:44px; }
  .legal-reading { overflow-wrap:anywhere; }
  .news-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .news-card-copy { padding:20px; }
  .news-read { min-height:44px; }
  #contact-form { max-height:calc(100dvh - 24px);overscroll-behavior:contain; }
  #contact-form .contact-layout { grid-template-columns:minmax(0,1fr); }
  #contact-form .contact-details { display:block; }
  #contact-form .contact-whatsapp { min-height:0; }
  #contact-form .contact-whatsapp-art { height:200px;flex:none; }
  #contact-form .contact-whatsapp-art img { min-height:0;max-height:200px; }
  #contact-form .contact-close { width:44px;height:44px;top:12px;right:12px; }
  #contact-form .contact-entry input:not([type=radio]),#contact-form textarea { font-size:16px!important;min-height:44px; }
  #contact-form fieldset label { min-height:44px; }
  #contact-form .button { min-height:44px; }
  #kade-support { inset:auto 12px max(12px,env(safe-area-inset-bottom));margin:0;width:calc(100% - 24px);max-width:420px;max-height:calc(100dvh - 24px); }
  #kade-support .support-shell { height:min(580px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);min-height:0; }
  #kade-support .support-head button,#kade-support .support-primary { min-width:44px;min-height:44px; }
  #kade-support :is(input,textarea) { font-size:16px; }
  .cookie-notice { max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain; }
  .cookie-buttons button { min-height:44px; }
  #details { width:calc(100% - 24px);max-height:calc(100dvh - 24px);overflow:auto;padding:28px 20px;overflow-wrap:anywhere; }
  #details .close-dialog { min-width:44px;min-height:44px; }
}
@media (max-width:600px) {
  .site > header .contact-banner { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 10px;padding:6px 12px; }
  .site > header .contact-banner a { white-space:normal;overflow-wrap:anywhere;font-size:11px;gap:5px;line-height:1.3; }
  .site > header .contact-banner svg { width:13px;height:13px; }
  .site > header > nav { padding:8px 16px;min-height:64px; }
  .site > header.nav-compact > nav { padding:8px 16px; }
  .site .hero-copy { padding:28px 18px 24px; }
  .site .hero-buttons .button { flex:1 1 100%; }
  .site .stats { grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; }
  .site .stats svg { width:32px;height:32px; }
  .site .stats strong { font-size:16px; }
  .site .stats>div { gap:8px; }
  #plans { grid-template-columns:minmax(0,1fr); }
  #plans .plan { padding:26px 22px 22px; }
  #plans .plan h3,#plans .plan .speed { min-height:0; }
  #plans .plan h3 { margin-bottom:8px;font-size:17px; }
  .site .loyalty-art { grid-column:1/-1;min-height:170px; }
  .site .loyalty-copy { grid-column:1/-1;padding:18px; }
  .site .loyalty-wording { padding:20px; }
  .site .loyalty-gift { width:65%; }
  .site .coverage { grid-template-columns:minmax(0,1fr); }
  .site .coverage .map { grid-column:auto;grid-row:auto;aspect-ratio:2; }
  .site .coverage-copy,.site .portal { padding:20px; }
  .site .coverage-copy br { display:none; }
  #contact .footer-grid { padding:28px 20px;gap:26px 20px; }
  #contact .footer-grid>div { padding-left:0;border-left:0; }
  #contact .footer-links:last-child { grid-column:1/-1;min-height:210px; }
  #contact .footer-links>#support-launch { right:12px;top:72px; }
  #contact .footer-grid h3 { font-size:14px;line-height:1.4;margin-bottom:10px; }
  #contact .copyright { line-height:1.6;padding:18px 20px; }
  .site .site-faq { padding:32px 18px; }
  .news-grid,.news-related { grid-template-columns:minmax(0,1fr); }
  .news-wrap { padding:0 18px; }
  .news-feature-copy { padding:40px 22px 100px; }
  .news-feature h2 { font-size:28px;overflow-wrap:anywhere; }
  .news-slide { min-height:420px; }
  .news-article-heading { padding-top:28px; }
  .news-article-heading>p:not(.news-category) { font-size:16px; }
  .legal-reading { padding:22px 18px; }
  .legal-layout { padding:24px 16px 40px;gap:20px; }
}
@media (max-width:360px) {
  .site .service-grid,.site .values-grid { grid-template-columns:minmax(0,1fr); }
  .site .reward { grid-column:1/-1; }
  .site .hero h1 { font-size:28px; }
}
@media (hover:none),(pointer:coarse) {
  #plans .plan,#plans .plan.tilting { transform:none;will-change:auto; }
}
