/* Desktop edition. The approved phone layout remains in style.css. */
.header-actions{display:none}

@media(min-width:1024px){
  :root{--header:86px;--desktop-gutter:clamp(38px,5vw,96px)}
  html{scroll-padding-top:106px}
  .site-header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:24px;padding:0 24px;box-shadow:none;border-bottom:1px solid #0001}
  .header-brand{grid-column:1;grid-row:1;justify-self:start;width:auto}
  .desktop-nav{grid-column:2;grid-row:1;justify-self:center;display:flex;gap:clamp(12px,1vw,20px);font-size:clamp(12px,.95vw,15px);line-height:1.15;white-space:nowrap}
  .desktop-nav a{padding:18px 0;text-underline-offset:6px;text-decoration-thickness:2px}
  .desktop-nav a:hover,.desktop-nav a[aria-current=page]{text-decoration:underline}
  .header-tools{grid-column:3;grid-row:1;justify-self:end;gap:18px}
  .header-tools .test-tag{display:none}
  .header-actions{display:flex;gap:10px}
  .header-actions .button{min-height:44px;padding:13px 20px;font-size:20px;white-space:nowrap}
  .menu-toggle{width:28px;gap:6px}
  .menu-toggle span{width:28px}
  .menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .nav-dialog{padding:40px var(--desktop-gutter)}
  .nav-main{display:grid;grid-template-columns:1.55fr 1fr;align-content:center;gap:22px 70px;max-width:1200px;width:100%;margin:auto;text-align:left;padding:40px 0}
  .nav-main>a{grid-column:1;font:400 clamp(48px,5vw,80px)/1 var(--display)}
  .nav-secondary{grid-column:2;grid-row:1/span 3;display:grid;justify-content:start;align-content:center;gap:20px;margin:0;padding-left:48px;border-left:1px solid #ddd;font-size:19px}
  .nav-main a:hover{text-decoration:underline;text-underline-offset:7px}
  .nav-bottom{display:flex;align-items:center;justify-content:center;max-width:1200px;gap:16px;margin:20px auto 0}
  .nav-bottom .button{min-width:210px}
  .nav-languages{margin:0 0 0 20px;font-size:15px}
  .hero{height:calc(76svh - var(--header));min-height:540px;max-height:820px}
  .hero-content{max-width:900px;padding:60px 40px}
  .hero-logo{width:clamp(470px,45vw,660px);margin-bottom:32px}
  .hero-tagline{font-size:17px;line-height:1.4;letter-spacing:.06em;margin-bottom:34px}
  .hero .button{min-width:210px;min-height:58px;font-size:23px}
  .hero-thai{bottom:30px;font-size:25px}
  .intro-strip{padding:22px var(--desktop-gutter)}
  .intro-strip p{max-width:1040px;text-align:left;font-size:15px;line-height:1.4}
  .restaurants-home{max-width:1920px;padding:44px 20px 68px}
  .restaurants-home>h2{font-size:40px;margin-bottom:30px}
  .venue-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  .venue-card-image{aspect-ratio:1.06}
  .venue-lockup{padding:24px}
  .venue-lockup img{width:90%;max-width:390px}
  .venue-lockup .lockup-name{font-size:clamp(34px,3.15vw,58px);margin-top:18px}
  .venue-lockup .lockup-thanks{font-size:22px;margin-top:10px}
  .venue-card h3{font-size:clamp(30px,2.8vw,46px);margin-top:14px}
  .venue-card-image>img{transition:transform .35s ease}
  .venue-card:hover .venue-card-image>img{transform:scale(1.025)}
  .thai-ribbon{padding:16px 0}
  .thai-group{font-size:42px;gap:54px;padding-right:54px}
  .thai-group [lang=th]{font-size:34px}
  .vibes{padding:0}
  .vibes-inner{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr;max-width:none}
  .vibes h2{grid-column:1;grid-row:1;font-size:48px;margin:0;padding:68px var(--desktop-gutter) 34px}
  .vibe-grid{grid-column:1;grid-row:2;display:grid;grid-template-columns:1fr;gap:28px;padding:0 var(--desktop-gutter) 68px}
  .vibe h3{font-size:29px;margin-bottom:10px}
  .vibe p{font-size:16px;line-height:1.4;max-width:50ch}
  .vibes-photo{grid-column:2;grid-row:1/span 2;align-self:stretch;width:100%;height:100%;min-height:0;max-height:none;aspect-ratio:auto;object-fit:cover;object-position:center;margin:0}
  .story-feature{padding:0}
  .story-feature-inner{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto 1fr;gap:0}
  .story-feature h2{grid-column:2;grid-row:1;margin:0;font-size:clamp(40px,3.4vw,64px);padding:clamp(32px,3.5vw,64px) var(--desktop-gutter) clamp(20px,2vw,36px)}
  .story-feature .story-photo{grid-column:1;grid-row:1/span 2;align-self:stretch;width:100%;height:100%;max-height:none;min-height:0;object-fit:cover;object-position:left center;background:var(--kapunka-red);padding:0;margin:0}
  .story-feature .story-text{grid-column:2;grid-row:2;align-self:start;padding:0 var(--desktop-gutter) 24px}
  .story-feature p,.story-feature ul{font-size:clamp(18px,1.7vw,34px);line-height:1.38;max-width:52ch}
  .story-feature ul{padding-left:1.1em;margin:0 0 24px}
  .story-feature li{margin-bottom:.75em}.story-feature li:last-child{margin-bottom:0}
  .story-feature .button{min-width:190px;margin-top:4px}
  .story-signoff{margin-right:calc(24px - var(--desktop-gutter))}
  .site-footer{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:24px 70px;padding:52px var(--desktop-gutter) 38px;text-align:left}
  .site-footer>a{grid-column:1;grid-row:1;justify-self:start}
  .footer-logo{width:280px;margin:0}
  .footer-links{grid-column:2;grid-row:1/span 2;display:grid;grid-template-columns:1fr 1fr;gap:18px 30px;justify-content:start;font-size:15px;text-transform:uppercase}
  .footer-links a{text-decoration:underline;text-underline-offset:4px}
  .footer-thai{grid-column:1;grid-row:2;font-size:26px;margin:0}
  .site-footer--no-logo .footer-thai,.site-footer--no-logo .footer-links{grid-row:1}
  .site-footer--links-only .footer-links{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr))}
  .footer-note{grid-column:1/-1;margin:14px 0 0;padding-top:20px;border-top:1px solid #ddd;letter-spacing:.12em}
  .booking-float{display:none}
}

@media(min-width:1024px) and (max-width:1199px){
  .site-header{padding:0 18px;gap:18px}
  .header-brand{width:auto}
  .header-actions .button{padding:12px 14px;font-size:18px}
  .header-tools{gap:13px}
  .vibes h2{font-size:42px}
  .vibe p{font-size:15px}.story-feature p,.story-feature ul{font-size:18px;line-height:1.35}
  .vibes h2{padding-top:48px}
  .vibe-grid{padding-bottom:48px}
  .story-feature h2{font-size:40px;padding-top:32px;padding-bottom:20px}
  .story-feature .story-text{padding-bottom:24px}
}
@media(min-width:1024px) and (prefers-reduced-motion:reduce){
  .venue-card-image>img{transition:none}
  .venue-card:hover .venue-card-image>img{transform:none}
}

/* Let the new portrait soup set the minimum height of the home story spread. */
@media(min-width:1024px){
 .story-feature-inner{min-height:54.225vw}
 .story-feature .story-photo{object-position:center center}
 .story-feature .story-text{align-self:stretch;display:flex;flex-direction:column}
 .story-signoff{margin-top:auto}
}

/* Six header links on wide screens; the compact menu retains every destination. */
@media(max-width:1279px){
 .desktop-nav{display:none}
}
@media(min-width:1024px) and (max-width:1279px){
 .site-header{grid-template-columns:auto 1fr}
 .header-tools{grid-column:2}
}
@media(min-width:1280px) and (max-width:1399px){
 .header-tools{gap:12px}
 .header-actions{gap:8px}
 .header-actions .button{padding:12px 14px;font-size:18px}
}
