/* Breakpoints: 1440 / 1200 / 992 / 768 / 576 / 480 / 360 (and 1920 for very wide screens) */
@media (min-width:1920px){.container{max-width:1400px}body{font-size:1rem}}
@media (max-width:1440px){.container{max-width:1200px}}
@media (max-width:1200px){
  .grid-4{grid-template-columns:repeat(3,1fr)}
  .main-nav a:not(.btn){padding:10px 9px}
  .footer-grid{grid-template-columns:1.2fr 1fr 1fr 1.2fr;gap:28px}
  .timeline{grid-template-columns:repeat(4,1fr);row-gap:36px}.timeline::before{display:none}
}
@media (max-width:992px){
  :root{--header-h:68px}
  .section{padding:64px 0}
  .nav-toggle{display:flex}
  .header-apply{display:none}
  .main-nav{position:fixed;top:0;right:0;bottom:0;width:min(84vw,340px);background:#fff;padding:90px 24px 30px;display:none;box-shadow:-12px 0 40px rgba(15,23,71,.2);z-index:110;overflow-y:auto}
  .main-nav.open{display:block;animation:navIn .28s ease}
  @keyframes navIn{from{transform:translateX(100%)}to{transform:none}}
  .main-nav ul{flex-direction:column;gap:2px}
  .main-nav a:not(.btn){padding:14px 8px;border-bottom:1px solid var(--line);font-size:1rem}
  .main-nav a.active::after{display:none}
  .nav-apply-mobile{display:flex;margin-top:22px;width:100%}
  .nav-toggle{position:relative;z-index:120}
  .site-header{z-index:110;background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}
  body.nav-open::after{content:"";position:fixed;inset:0;background:rgba(15,23,71,.5);z-index:105}
  .hero-grid,.intake-grid,.detail-grid,.two-col-layout,.cta-band{grid-template-columns:1fr}
  .hero-art{min-height:250px}
  .pennant{top:-20px;width:170px;padding:24px 16px 54px}.pennant b{font-size:2.2rem}.pennant span{font-size:.95rem}
  .grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}
  .more-tiles{grid-template-columns:1fr}
  .filters{grid-template-columns:1fr 1fr}.filters .search{grid-column:1/-1}
  .footer-grid{grid-template-columns:1fr 1fr}
  .side-card.sticky{position:static}
  .cta-band{padding:36px}
  /* vertical timeline */
  .timeline{grid-template-columns:1fr;row-gap:0;padding-left:8px}
  .timeline::before{display:block;top:20px;bottom:20px;left:39px;right:auto;border-top:0;border-left:3px dashed #c7cdea}
  .step{display:grid;grid-template-columns:64px 1fr;gap:20px;text-align:left;padding:0 0 28px}
  .step-no{margin:0}
}
@media (max-width:768px){
  h3{font-size:1.2rem}
  .hero{padding-top:36px}
  .hero-art{min-height:170px}
  .pennant{position:relative;top:0;margin:0 0 0 auto}
  .hero-art svg.route{display:none}
  .form-grid{grid-template-columns:1fr}
  .form-card{padding:26px 20px}
  .grid-2,.grid-3,.grid-4{grid-template-columns:repeat(2,1fr);gap:18px}
  .quick-form{grid-template-columns:1fr}
  .flag-grid{grid-template-columns:repeat(3,1fr)}
  .about-block{grid-template-columns:1fr;gap:14px}
  .wa-float span{display:none}.wa-float{padding:14px}
  /* responsive tables (admin + public) */
  table.responsive thead{display:none}
  table.responsive tr{display:block;border:1px solid var(--line);border-radius:10px;margin-bottom:12px;padding:6px 0}
  table.responsive td{display:flex;justify-content:space-between;gap:12px;padding:8px 14px;border:0!important;text-align:right}
  table.responsive td::before{content:attr(data-label);font-weight:600;color:var(--muted);text-align:left}
}
@media (max-width:576px){
  .container{padding:0 18px}
  .section{padding:52px 0}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
  .btn,.hero-cta .btn,.cta-simple .actions .btn{width:100%}
  .card-actions .btn{width:auto}
  .filters{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr;gap:30px}
  .brand img{height:46px}
  .topbar{font-size:.85rem}
  .cta-band{padding:28px 22px}
}
@media (max-width:480px){
  body{font-size:.9375rem}
  .header-inner{gap:10px}
  .wa-mini{width:38px;height:38px}
  .pennant{width:150px}.pennant b{font-size:2rem}.pennant span{font-size:.9rem}
  .flag-item img{width:48px;height:48px}
  .info-list li{flex-direction:column;gap:2px}.info-list li span:last-child{text-align:left}
}
@media (max-width:360px){
  .container{padding:0 14px}
  .brand img{height:40px}
  h1{font-size:1.75rem}
  .flag-grid{grid-template-columns:repeat(2,1fr)}
  .card-actions{flex-direction:column}.card-actions .btn{width:100%}
}

/* Hero badge: compact horizontal pennant on tablets/phones */
@media (max-width:768px){
  .hero-art{min-height:0;margin-top:4px}
  .hero-art svg.route{display:none}
  .pennant{position:relative;top:0;right:auto;margin:0;width:auto;display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:14px;clip-path:none;flex-wrap:wrap}
  .pennant::before{display:none}
  .pennant span,.pennant b,.pennant i{display:inline;margin:0;font-size:1rem}
  .pennant b{font-size:1.6rem}
}

/* ---------- Premium layer responsive ---------- */
@media (max-width:992px){
  .dest-hero-grid,.split{grid-template-columns:1fr;gap:28px}
  .split-rev .split-text,.split-rev>div:last-child{order:0}
  .dest-hero{padding:32px 0 40px}
  .gallery{grid-template-columns:repeat(2,1fr)}
  .mv-grid{grid-template-columns:1fr}
  .js .reveal-left,.js .reveal-right{transform:translateY(18px)}
}
@media (max-width:576px){
  .section{padding:44px 0}
  .lead{font-size:1rem}
  .gallery{grid-template-columns:1fr;gap:12px}
  .cta-strip{padding:40px 0}.cta-strip-inner{flex-direction:column;align-items:flex-start}
  .cta-strip-actions,.cta-strip-actions .btn,.hero-cta .btn{width:100%}
  .hero-cta{flex-direction:column}
  .btn,.btn-lg{font-size:.9375rem}.btn-lg{padding:14px 22px}
  .contact-buttons .btn{flex:1 1 calc(50% - 8px)}
  .lb .lb-prev,.lb .lb-next{top:auto;bottom:14px;transform:none}
  .visual-panel{min-height:170px}.visual-panel i{font-size:2.4rem}
}
