/* One shared grid for the existing WayGo design. */
:root{
  --page-width:1480px;
  --page-gutter:clamp(16px,3vw,48px);
  --grid-gap:16px;
  --content-inset:clamp(18px,2vw,28px);
}
.site-header,.reservation-shell,.hero,.section,.ai-section,.site-footer{
  width:min(var(--page-width),calc(100% - 2 * var(--page-gutter)));
  max-width:none;
  margin-inline:auto;
  padding-inline:0;
}
.site-header{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:24px;
  height:90px;
}
.site-header .brand{justify-self:start}
.desktop-nav{margin:0;justify-self:center}
.header-actions{justify-self:end}
.reservation-shell{padding-bottom:16px}
.reservation-panel{padding:10px 10px 5px}
.reservation-main{gap:10px;align-items:stretch}
.reservation-options{min-height:30px}
.categories{padding-top:24px;padding-bottom:0}
.categories>h2{margin:0 0 18px}
.category-grid{column-gap:var(--grid-gap);row-gap:18px}
.category-card>span{padding:8px 0 0}
.editorial{padding-top:24px;padding-bottom:24px}
.editorial-row{gap:var(--grid-gap)}
.editorial-row+.editorial-row{margin-top:var(--grid-gap)}
.editorial-card,.editorial-card.small{height:236px;min-height:236px}
.editorial-content{
  width:58%;
  padding:24px;
  justify-content:flex-start;
}
.editorial-content h2,.editorial-card.small .editorial-content h2{
  max-width:100%;
  font-size:clamp(26px,2.25vw,35px);
  line-height:1.15;
  margin:6px 0 10px;
}
.editorial-content p,.editorial-card.small .editorial-content p{
  max-width:100%;
  font-size:14px;
  line-height:1.4;
  margin-bottom:12px;
}
.editorial-content .button{margin-top:auto;min-height:38px}
.ai-section{padding:24px var(--content-inset);margin-bottom:0}
.ai-copy h2{line-height:1.18}
.experience{padding-top:28px;padding-bottom:0}
.experience>h2,.experience-sub{margin-inline:0}
.journey-steps{margin:22px 0;gap:var(--grid-gap)}
.account-cards{gap:var(--grid-gap);margin-bottom:16px}
.account-card{padding:12px}
.feature-item{min-height:38px;padding-block:9px}
.site-footer{padding-block:22px 28px;gap:24px}
@media(min-width:901px){
  .hero{height:auto;min-height:0}
  .hero-copy{padding:24px var(--content-inset)}
  .hero h1{font-size:clamp(50px,5.65vw,88px)}
  .hero-description{font-size:clamp(14px,1.45vw,23px)}
  .hero-image{aspect-ratio:2.54}
}
@media(min-width:901px) and (max-width:1200px){
  .site-header{gap:18px}
  .desktop-nav{gap:22px;font-size:12px}
  .header-actions{gap:23px}
  .editorial-card,.editorial-card.small{height:224px;min-height:224px}
  .editorial-content{padding:20px;width:62%}
  .editorial-content h2,.editorial-card.small .editorial-content h2{font-size:27px}
  .editorial-content p,.editorial-card.small .editorial-content p{font-size:12px}
  .editorial-content .button{font-size:11px;padding-inline:12px}
}
@media(max-width:900px){
  .site-header{display:flex;justify-content:space-between;height:74px;gap:16px}
  .desktop-nav{display:none}
  .menu-toggle{display:block;padding:4px;background:none}
  .header-actions{gap:18px}
  .reservation-shell{padding-bottom:20px}
  .editorial-card,.editorial-card.small{height:224px;min-height:224px}
  .editorial-content{width:67%;padding:20px}
  .editorial-content h2,.editorial-card.small .editorial-content h2{font-size:26px}
  .editorial-content p,.editorial-card.small .editorial-content p{font-size:11px}
  .editorial-content .button{font-size:10px;padding-inline:11px}
  .ai-section{padding:24px}
  .experience{padding-top:26px}
  .account-card{padding:12px}
  .site-footer{flex-wrap:wrap}
}
@media(max-width:600px){
  :root{--grid-gap:12px}
  .site-header{height:70px;gap:10px}
  .header-actions{gap:15px}
  .reservation-panel{padding:10px}
  .reservation-main{gap:9px}
  .hero-copy{padding:27px 22px 24px}
  .hero h1{font-size:51px}
  .categories{padding-top:24px}
  .categories>h2{margin-bottom:18px}
  .category-grid{column-gap:12px;row-gap:16px}
  .category-card>span{padding:7px 0 0}
  .editorial{padding-top:24px;padding-bottom:24px}
  .editorial-row{grid-template-columns:1fr}
  .editorial-card,.editorial-card.small,.secondary-row .editorial-card:last-child{height:208px;min-height:208px}
  .editorial-content{width:72%;padding:19px}
  .editorial-content h2,.editorial-card.small .editorial-content h2{font-size:26px;max-width:100%;margin:5px 0 10px}
  .editorial-content p,.editorial-card.small .editorial-content p{font-size:11px;max-width:100%;margin-bottom:11px}
  .editorial-content .button{min-height:36px;font-size:11px;padding:9px 12px}
  .secondary-row .editorial-card:last-child .editorial-content h2,.secondary-row .editorial-card:last-child .editorial-content p{max-width:100%}
  .ai-section{padding:24px 19px}
  .ai-copy h2{font-size:29px}
  .experience{padding-top:28px}
  .journey-steps{margin:22px 0;gap:20px 12px}
  .account-cards{margin-bottom:18px}
  .account-card{padding:10px}
  .feature-item{padding:10px 8px}
  .site-footer{padding-block:22px 26px;gap:16px}
  .site-footer nav{gap:12px}
}
@media(max-width:350px){
  .header-actions{gap:12px}
  .site-header{gap:8px}
  .hero h1{font-size:46px}
  .editorial-content{width:76%;padding:17px}
  .editorial-content h2,.editorial-card.small .editorial-content h2{font-size:24px}
}
