/* Shared tablet and phone layout refinements */
*,*::before,*::after{box-sizing:border-box}
img,video,iframe{max-width:100%}
html{scroll-padding-top:70px}
@media(max-width:820px){
  .nav{height:70px;padding:0 18px;position:relative}
  .nav .logo-image{width:min(170px,45vw)}
  .nav .hamb{display:block;min-width:44px;min-height:44px}
  .nav .links{display:none;position:absolute;top:100%;left:0;right:0;z-index:25;background:var(--paper);padding:12px 22px 20px;flex-direction:column;align-items:stretch;gap:4px;border-bottom:1px solid var(--line);box-shadow:0 12px 22px #0001}
  .nav .links.show{display:flex}
  .nav .links>a,.nav .dropbtn{padding:12px 0;text-align:left;min-height:44px}
  .nav .dropmenu{position:static;box-shadow:none;border:0;padding-left:14px;background:#efede7}
  .nav .booknav{margin-top:7px;justify-content:center}
  .destgrid,.fleetgrid,.classgrid,.bloggrid,.blog-grid,.detailgrid,.featuregrid,.stepsgrid,.reviews{grid-template-columns:repeat(2,minmax(0,1fr))}
  .planner{grid-template-columns:1fr;gap:18px}
  .planner-fields,.formgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .blog-categories{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding:0 0 8px;scrollbar-width:thin}
  .blog-filter{flex:0 0 auto}
  .classcard,.blog-card,.fleetcard,.destcard{min-width:0}
}
@media(max-width:680px){
  body{max-width:100%;overflow-x:hidden}
  .container{width:100%;padding-left:18px;padding-right:18px}
  .hero-inner{width:100%;padding-left:20px;padding-right:20px}
  .hero h1{font-size:clamp(40px,8.5vw,49px);line-height:1.06;overflow-wrap:anywhere}
  .hero p{max-width:100%;font-size:15px}
  .destgrid,.fleetgrid,.classgrid,.bloggrid,.blog-grid,.detailgrid,.featuregrid,.stepsgrid,.reviews{grid-template-columns:1fr}
  .planner-fields{grid-template-columns:1fr}
  .field,input,select,textarea{min-width:0;max-width:100%}
  input,select,textarea{width:100%}
  .routegrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gallery-empty{flex-wrap:wrap;justify-content:flex-start}
  .footergrid>div{min-width:0;overflow-wrap:anywhere}
  .mobilebook{min-height:46px;padding:15px}
}
@media(max-width:390px){
  .nav{padding:0 12px}
  .nav .logo-image{width:min(150px,42vw)}
  .hero h1{font-size:clamp(38px,9.5vw,42px)}
  .btn,.booknav{max-width:100%;white-space:normal;text-align:center}
}
/* Ski transfer subpages */
.dropgroup{padding:2px 0 8px;margin:0 0 5px;border-bottom:1px solid var(--line)}
.dropgroup-title{display:block;padding:10px 12px 4px;color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.dropgroup a{padding-left:22px}
.alps-switch{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:22px}
.alps-switch a{display:inline-flex;align-items:center;min-height:38px;padding:8px 13px;border:1px solid #ffffff75;color:#f7f6f2;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.alps-switch a[aria-current=page]{background:var(--gold);border-color:var(--gold);color:var(--ink)}
