/* Shared device layouts; desktop art direction remains in style.css. */
.quote-form :is(label,input,select,textarea),.contact-label{min-width:0}
.dish-card-description{display:block;-webkit-line-clamp:unset;overflow:visible}
@media(max-width:1100px){
  .home-header{padding:12px 5%;gap:20px}
  .home-header .logo{width:112px;transform:none;flex-shrink:0}
  .home-header nav{display:flex;position:static;transform:none;gap:24px}
  .home-header nav a{display:flex;align-items:center;min-height:44px}
  .events-heading h2{white-space:normal;font-size:clamp(32px,4.8vw,50px);letter-spacing:-.04em;line-height:1.16}
  .events-heading>p{max-width:560px}
  .events-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .events-grid .event-card:last-child{grid-column:1 / -1;max-width:660px;width:100%;justify-self:center}
  .home-feature-stack>.menu-teaser-section{position:sticky;top:var(--menu-stick-top,0px)}
  .home-feature-stack>.catering{margin-top:18svh;min-height:0}
  .home-feature-stack .menu-teaser-layout{height:auto;min-height:0;grid-template-columns:1fr}
  .home-feature-stack .menu-teaser-image{grid-column:1;grid-row:1;height:auto;aspect-ratio:16/9;min-height:0}
  .home-feature-stack .menu-teaser-content{grid-column:1;grid-row:2;padding:52px 7%;border-radius:0}
  .home-feature-stack .menu-teaser-content h2{font-size:clamp(34px,5.6vw,56px);line-height:1.16}
  .home-feature-stack .menu-teaser-content>p:not(.eyebrow){font-size:17px;line-height:1.65}
  .home-feature-stack>.catering{grid-template-columns:1fr}
  .home-feature-stack .catering-photo{min-height:0;aspect-ratio:16/9}
  .home-feature-stack .catering-copy{padding:52px 7%;border-radius:0}
  .catering h2{font-size:clamp(34px,5.6vw,56px);line-height:1.16;letter-spacing:-.04em}
  .catering-copy>p:not(.eyebrow):not(.demo-note){max-width:600px}
  .section{padding:72px 6%}
  .story.section{padding:72px 6%}
  .story h2{font-size:clamp(32px,5vw,48px);line-height:1.15}
  .closing .contact-block{grid-template-columns:1fr;gap:28px}
  .contact-heading h3{font-size:clamp(34px,5vw,48px);line-height:1.2}
  .contact-block .contact-links a{padding:20px;gap:12px}
  .menu-page-hero{min-height:620px}
  .menu-page-hero-copy h1{font-size:clamp(38px,8.5vw,86px);line-height:1.12}
  .catering-page .catering-hero-copy h1{font-size:clamp(25px,7.2vw,78px);letter-spacing:-.04em;line-height:1.15}
  .catering-page .catering-hero-page{min-height:660px}
  .catering-page .quote-section{margin-top:-130px}
  .catering-page .quote-section::before{top:130px}
  .catering-page-footer,.footer-bottom{flex-wrap:wrap}
}
@media(max-width:600px){
  .home-header{display:flex;align-items:flex-start;justify-content:flex-start;gap:0;padding:10px 5%;background:linear-gradient(#10201955,transparent)}
  .home-header .logo{width:64px;flex:0 0 64px}
  .home-header .nav-cta{display:none}
  .home-header nav{position:absolute;left:calc(50% + 42px);top:19px;transform:translateX(-50%);justify-content:center;gap:16px;font-size:14px;white-space:nowrap}
  .hero{height:auto;min-height:720px;max-height:none}
  .hero-content{padding:165px 6% 130px}
  .hero h1{font-size:clamp(46px,12.4vw,64px);line-height:1.1;letter-spacing:-.04em}
  .hero .intro{font-size:16px;line-height:1.65}
  .hero .intro br{display:block}
  .hero-actions .pill{padding:14px 17px;min-height:48px}
  .hero-foot{font-size:9px;gap:12px}
  .section,.story.section{padding:56px 6%}
  .events-grid{grid-template-columns:1fr;gap:24px}
  .events-grid .event-card:last-child{grid-column:auto;max-width:none}
  .events-heading h2{font-size:clamp(30px,8vw,44px)}
  .events-heading h2 em{display:block}
  .events-heading>p{font-size:15px}
  .event-body{padding:24px 20px}
  .event-body h3{font-size:25px}
  .event-body>p{font-size:15px}
  .event-meta{flex-wrap:wrap;gap:8px}
  .home-feature-stack .menu-teaser-content,.home-feature-stack .catering-copy{padding:40px 6% 46px}
  .home-feature-stack .menu-teaser-content h2,.catering h2{font-size:clamp(30px,8.5vw,48px)}
  .home-feature-stack .menu-teaser-content>p:not(.eyebrow){font-size:16px}
  .photo-label{left:16px;bottom:16px;padding:10px 12px;font-size:9px}
  .story h2{font-size:clamp(28px,7.8vw,42px)}
  .story-photo{width:100%;max-width:100%;height:auto}
  .closing{padding:52px 6%}
  .contact-heading h3{font-size:clamp(32px,8.8vw,46px)}
  .contact-block .contact-links{grid-template-columns:1fr}
  .contact-block .contact-links a{min-height:92px;padding:18px;gap:14px}
  .contact-label strong{font-size:16px;overflow-wrap:anywhere}
  .contact-arrow{flex-shrink:0}
  .menu-page-hero{min-height:560px}
  .menu-page-hero-copy{padding:180px 0 65px}
  .menu-page-hero-copy h1{font-size:clamp(42px,11.5vw,68px);letter-spacing:-.04em;line-height:.98;margin-bottom:18px}
  .menu-page-hero-copy>p:last-child{font-size:16px;line-height:1.35}
  .menu .section-heading h2{white-space:normal;font-size:clamp(32px,9vw,48px);line-height:1.14}
  .dish-text-card{padding:20px 18px}
  .dish-card-description{font-size:15px;line-height:1.6}
  .catering-page .catering-hero-page{min-height:520px;padding-top:0}
  .catering-page .catering-hero-copy{bottom:50%;padding:0 5%;background:none}
  .catering-page .catering-hero-copy h1{font-size:clamp(28px,9vw,40px);white-space:nowrap}
  .catering-page .quote-section{margin-top:-145px;padding:0 5% 56px}
  .catering-page .quote-section::before{top:145px}
  .quote-card{padding:28px 20px}
  .quote-card h2{font-size:clamp(29px,8.4vw,40px);margin-bottom:28px}
  .quote-response{font-size:11px;line-height:1.5;padding:10px 12px;text-align:center}
  .quote-row{grid-template-columns:minmax(0,1fr)}
  .quote-form input,.quote-form select{min-height:52px}
  .catering-details{padding:56px 6%;gap:28px}
  .catering-details h2{font-size:clamp(30px,8vw,44px)}
  .footer-top{flex-direction:column;align-items:center;gap:20px;text-align:center}
  .footer-top>.logo{transform:none;margin:0 auto}
  .footer-top>p{margin:0;font-size:clamp(11px,3.2vw,14px);white-space:nowrap}
  .footer-top>p br{display:none}
  .footer-top>p br::after{content:" "}
  .footer-top nav{justify-content:center;text-align:center;width:100%}
  .footer-top nav.social-links{margin-top:-22px}
  .footer-top nav a{min-height:44px;display:flex;align-items:center}
  .footer-bottom{padding-right:0}
  .footer-bottom{justify-content:center;gap:4px 12px;padding-top:16px;text-align:center}
  .footer-bottom>a{display:none}
  .footer-bottom>span{width:100%;text-align:center}
  .menu-page-footer,.catering-page-footer{padding-bottom:40px;line-height:1.7}
  footer{padding-bottom:18px}
  .footer-bottom{padding-bottom:0}
  .truck-float{width:56px;height:56px;min-height:56px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom))}
  .truck-float-label{display:block;right:calc(100% + 9px);padding:8px 11px;font-size:11px;border-radius:11px}
}
/* iPhone / Safari: readable type, touch targets and display cutouts. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}
.quote-form input,.quote-form select,.quote-form textarea{min-width:0;max-width:100%;font-size:16px}
.quote-form input[type="date"]{-webkit-appearance:none;appearance:none;display:block;min-height:52px}
.quote-form input[type="date"]::-webkit-date-and-time-value{text-align:left;min-height:1.5em}
.menu-feature-video{background:#191918}
@media(max-width:600px){
 .home-header{padding-top:max(10px,env(safe-area-inset-top,0px))}
 .home-header nav{font-size:16px;gap:12px;top:calc(19px + env(safe-area-inset-top,0px))}
 .hero-actions{flex-wrap:wrap}
 .hero-actions .pill{font-size:13px;min-height:48px;padding:14px 16px}
 .dish-card-description,.event-body>p,.events-heading>p{font-size:16px;line-height:1.6}
 .contact-caption{font-size:13px}
 .quote-form label{font-size:15px}
 .quote-response{font-size:13px}
 .quote-submit{font-size:16px;min-height:52px}
 .event-meta{font-size:13px}
 .truck-float-label{font-size:13px}
 .footer-bottom{font-size:13px}
}
@media(max-width:360px){.home-header nav{font-size:15px;gap:10px;left:calc(50% + 36px)}}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .home-feature-stack>.menu-teaser-section{position:relative;top:auto}
 .home-feature-stack>.catering{margin-top:0;min-height:0}
 .contact-block .contact-icon svg.whatsapp-brand-icon .whatsapp-reveal{animation:none;stroke-dashoffset:0;opacity:1}
}
