.grille-page{background:#fbf8f1;color:#1b251f}.grille-nav{position:fixed}.grille-hero{min-height:92vh;position:relative;display:flex;align-items:flex-end;padding:160px var(--side-pad) 90px;overflow:hidden}.grille-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.grille-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,32,22,.86),rgba(5,32,22,.34) 58%,rgba(5,32,22,.08)),linear-gradient(0deg,rgba(5,32,22,.45),transparent 60%)}.grille-hero-copy{position:relative;z-index:2;max-width:820px;color:#fff}.grille-hero h1{font:800 clamp(66px,10vw,145px)/.86 Playfair Display,serif;margin:18px 0 25px;letter-spacing:-.055em}.grille-hero h1 em,.grille-intro em,.grille-events em,.grille-visit em{color:#d5a446;font-weight:600}.grille-hero-copy>p:last-of-type{font-size:clamp(18px,2vw,26px);line-height:1.5;max-width:660px;color:rgba(255,255,255,.86)}.grille-actions,.center-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}.btn.outline{border:1px solid rgba(11,61,46,.24);color:#0b3d2e;background:transparent}.grille-intro{width:min(calc(100vw - var(--side-pad)*2),var(--site-max));margin:0 auto;padding:110px 0;display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:end}.grille-intro h2,.grille-menu h2,.grille-events h2,.grille-visit h2{font:700 clamp(48px,6vw,86px)/.98 Playfair Display,serif;margin:12px 0}.grille-intro>p{font-size:19px;line-height:1.8;color:#5b625d}
.grille-atmosphere{width:min(calc(100vw - var(--side-pad)*2),var(--site-max));margin:0 auto 110px;display:grid;grid-template-columns:.72fr 1.15fr;grid-template-rows:auto auto;gap:24px;align-items:stretch}.atmosphere-copy{grid-row:1/3;background:#0b3d2e;color:#fff;border-radius:34px;padding:clamp(36px,5vw,72px);display:flex;flex-direction:column;justify-content:center}.atmosphere-copy h2{font:700 clamp(48px,6vw,84px)/.95 Playfair Display,serif;margin:12px 0 28px;letter-spacing:-.035em}.atmosphere-copy h2 em{color:#d5a446}.atmosphere-copy>p:not(.eyebrow){font-size:18px;line-height:1.75;color:rgba(255,255,255,.76);max-width:520px}.atmosphere-copy .text-link{margin-top:26px;color:#fff}.atmosphere-main,.atmosphere-detail{margin:0;border-radius:34px;overflow:hidden;position:relative;background:#ddd}.atmosphere-main{min-height:430px}.atmosphere-detail{min-height:280px}.atmosphere-main img,.atmosphere-detail img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s ease}.atmosphere-main:hover img,.atmosphere-detail:hover img{transform:scale(1.035)}.atmosphere-detail figcaption{position:absolute;left:22px;right:22px;bottom:18px;padding:14px 18px;border-radius:16px;background:rgba(7,35,25,.78);backdrop-filter:blur(10px);color:#fff;font-size:14px;line-height:1.45}

.grille-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;width:min(calc(100vw - var(--side-pad)*2),var(--site-max));margin:0 auto 110px}.grille-feature-grid article{position:relative;min-height:620px;border-radius:34px;overflow:hidden;background:#082f22}.grille-feature-grid img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.grille-feature-grid article:hover img{transform:scale(1.045)}.grille-feature-grid article:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,26,19,.88),transparent 58%)}.grille-feature-grid article div{position:absolute;z-index:2;left:38px;right:38px;bottom:38px;color:#fff}.grille-feature-grid span{color:#e1b663;text-transform:uppercase;letter-spacing:.17em;font-weight:800;font-size:12px}.grille-feature-grid h3{font:700 38px/1.05 Playfair Display,serif;margin:12px 0}.grille-feature-grid p{line-height:1.65;color:rgba(255,255,255,.83)}.grille-menu{padding:110px var(--side-pad);background:#0b3d2e;color:#fff}.grille-menu .section-heading{max-width:760px}.grille-menu-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:50px}.grille-menu-cards article{padding:30px;border-radius:24px;background:rgba(255,255,255,.065);border:1px solid rgba(255,255,255,.12)}.grille-menu-cards article>span{color:#d5a446;font-weight:800}.grille-menu-cards h3{font:700 29px Playfair Display,serif;margin:18px 0 12px}.grille-menu-cards p{color:rgba(255,255,255,.7);line-height:1.65}.grille-menu .btn.outline{border-color:rgba(255,255,255,.35);color:#fff}.grille-events{width:min(calc(100vw - var(--side-pad)*2),var(--site-max));margin:0 auto;padding:120px 0;display:grid;grid-template-columns:1fr .65fr;gap:70px;align-items:center}.grille-events-copy>p{font-size:18px;line-height:1.8;color:#5d645f;max-width:720px}.grille-event-card{padding:54px;border-radius:32px;background:#eee3cf;text-align:center}.grille-event-card strong{display:block;font:800 92px/1 Playfair Display,serif;color:#0b3d2e}.grille-event-card span{text-transform:uppercase;letter-spacing:.18em;font-weight:800;color:#9a6b1f}.grille-event-card hr{border:0;border-top:1px solid rgba(11,61,46,.18);margin:30px 0}.grille-event-card p{line-height:1.8;color:#58615b}.grille-visit{background:#f0e5d1;padding:100px var(--side-pad);display:grid;grid-template-columns:1.25fr .75fr;gap:28px}.grille-visit-card,.grille-visit aside{padding:48px;border-radius:30px;background:#fff}.visit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:38px}.visit-grid div{padding:22px;border-radius:18px;background:#f7f2e8;display:flex;flex-direction:column;gap:7px}.visit-grid small{text-transform:uppercase;letter-spacing:.14em;color:#a07223;font-weight:800}.visit-grid span{color:#646a66}.grille-visit aside{background:#0b3d2e;color:#fff;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.grille-visit aside h3{font:700 32px Playfair Display,serif}.grille-visit aside p{line-height:1.7;color:rgba(255,255,255,.75)}.grille-visit aside a:not(.btn){color:#fff;text-decoration:none;margin-top:9px}.grille-visit aside .btn{margin-top:28px}.center-actions{justify-content:center}
@media(max-width:900px){.grille-intro,.grille-events,.grille-visit{grid-template-columns:1fr}.grille-atmosphere{grid-template-columns:1fr;grid-template-rows:auto}.atmosphere-copy{grid-row:auto}.atmosphere-main{min-height:420px}.atmosphere-detail{min-height:330px}.grille-feature-grid{grid-template-columns:1fr}.grille-feature-grid article{min-height:520px}.grille-menu-cards{grid-template-columns:1fr 1fr}.visit-grid{grid-template-columns:1fr}}
@media(max-width:760px){.grille-atmosphere{width:calc(100vw - 36px);margin-bottom:72px;gap:16px}.atmosphere-copy{padding:34px 24px;border-radius:26px}.atmosphere-main,.atmosphere-detail{border-radius:26px}.atmosphere-main{min-height:340px}.atmosphere-detail{min-height:260px}.grille-hero{min-height:86vh;padding:170px 22px 52px}.grille-hero-overlay{background:linear-gradient(0deg,rgba(5,32,22,.9),rgba(5,32,22,.2) 75%)}.grille-hero h1{font-size:clamp(58px,18vw,82px)}.grille-actions .btn{width:100%;justify-content:center}.grille-intro,.grille-feature-grid,.grille-events{width:calc(100vw - 36px)}.grille-intro{padding:78px 0;gap:24px}.grille-feature-grid{margin-bottom:72px}.grille-feature-grid article{min-height:430px}.grille-feature-grid article div{left:24px;right:24px;bottom:26px}.grille-feature-grid h3{font-size:31px}.grille-menu{padding:78px 18px}.grille-menu-cards{grid-template-columns:1fr}.grille-events{padding:78px 0;gap:32px}.grille-event-card{padding:36px 24px}.grille-visit{padding:72px 18px}.grille-visit-card,.grille-visit aside{padding:30px 24px}.center-actions .btn{width:100%;justify-content:center}}


/* Quick tennis-ball page reveal */
body.intro-active { overflow: hidden; }
.court-reveal {
  position: fixed; inset: 0; z-index: 99999; overflow: hidden;
  display: grid; place-items: center; background: #0a3b2c;
  pointer-events: all; isolation: isolate;
}
.court-reveal__panel { position:absolute; inset:-2px; background:#0a3b2c; transition: transform .72s cubic-bezier(.76,0,.24,1); }
.court-reveal__panel--top { clip-path: polygon(0 0,100% 0,100% 49.8%,0 59%); }
.court-reveal__panel--bottom { clip-path: polygon(0 59%,100% 49.8%,100% 100%,0 100%); }
.court-reveal__line { position:absolute; width:140vw; height:1px; background:rgba(242,210,124,.28); transform:rotate(-4deg); }
.court-reveal__brand { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); z-index:3; display:grid; justify-items:center; gap:.15rem; color:#fff; letter-spacing:.18em; opacity:0; animation:revealBrand .42s .06s ease forwards; }
.court-reveal__crest { width:48px; height:48px; border:1px solid rgba(242,210,124,.75); border-radius:50%; display:grid; place-items:center; color:#f2d27c; font-family:"Playfair Display",serif; font-size:1.65rem; margin-bottom:.35rem; }
.court-reveal__brand strong { font-size:clamp(.84rem,2vw,1.05rem); font-weight:700; }
.court-reveal__brand small { font-size:.53rem; opacity:.66; letter-spacing:.22em; }
.court-reveal__racket { position:absolute; z-index:5; width:150px; height:150px; left:-170px; top:calc(50% - 86px); border:9px solid #f5f1e7; border-radius:48% 48% 44% 44%; transform:rotate(-32deg); transform-origin:50% 125%; animation:racketSwing .64s .34s cubic-bezier(.18,.75,.25,1) forwards; filter:drop-shadow(0 12px 18px rgba(0,0,0,.28)); }
.court-reveal__racket::before,.court-reveal__racket::after { content:""; position:absolute; inset:13px; border-radius:inherit; background:repeating-linear-gradient(90deg,transparent 0 8px,rgba(255,255,255,.42) 8px 9px),repeating-linear-gradient(0deg,transparent 0 8px,rgba(255,255,255,.42) 8px 9px); }
.court-reveal__racket span { position:absolute; width:18px; height:122px; background:linear-gradient(#d8b75c,#7f5e1a); border-radius:10px; left:50%; top:132px; transform:translateX(-50%); }
.court-reveal__ball { position:absolute; z-index:6; width:42px; height:42px; left:20%; top:calc(50% - 21px); border-radius:50%; background:#d9f33b; box-shadow:0 0 0 1px rgba(0,0,0,.12),0 0 28px rgba(217,243,59,.45); opacity:0; animation:ballStrike .64s .57s cubic-bezier(.2,.73,.24,1) forwards; }
.court-reveal__ball::before,.court-reveal__ball::after { content:""; position:absolute; inset:4px; border:2px solid rgba(255,255,255,.78); border-left-color:transparent; border-bottom-color:transparent; border-radius:50%; transform:rotate(35deg); }
.court-reveal__ball::after { transform:rotate(215deg); }
.court-reveal__trail { position:absolute; z-index:4; left:21%; top:50%; width:0; height:5px; transform:translateY(-50%); border-radius:999px; background:linear-gradient(90deg,transparent,rgba(217,243,59,.85)); filter:blur(1px); animation:ballTrail .52s .64s ease-out forwards; }
.court-reveal__impact { position:absolute; left:72%; top:50%; width:10px; height:10px; z-index:7; transform:translate(-50%,-50%); }
.court-reveal__impact i { position:absolute; inset:0; border:2px solid rgba(242,210,124,.78); border-radius:50%; opacity:0; animation:impactRing .52s 1.03s ease-out forwards; }
.court-reveal__impact i:nth-child(2){animation-delay:1.08s}.court-reveal__impact i:nth-child(3){animation-delay:1.13s}
.court-reveal.is-hit .court-reveal__panel--top { transform:translate3d(0,-110%,0) rotate(-1deg); }
.court-reveal.is-hit .court-reveal__panel--bottom { transform:translate3d(0,110%,0) rotate(1deg); }
.court-reveal.is-hit .court-reveal__brand { opacity:0!important; transition:opacity .16s ease; }
.court-reveal.is-done { visibility:hidden; pointer-events:none; }
@keyframes revealBrand{to{opacity:1}}
@keyframes racketSwing{0%{left:-170px;transform:rotate(-40deg)}65%{left:7%;transform:rotate(20deg)}100%{left:10%;transform:rotate(8deg)}}
@keyframes ballStrike{0%{left:20%;opacity:0;transform:scale(.8) rotate(0)}12%{opacity:1}100%{left:calc(72% - 21px);opacity:1;transform:scale(1.08) rotate(520deg)}}
@keyframes ballTrail{to{width:48%}}
@keyframes impactRing{0%{opacity:.9;transform:scale(.2)}100%{opacity:0;transform:scale(18)}}
@media (max-width:600px){
 .court-reveal__racket{width:105px;height:105px;top:calc(50% - 58px);border-width:7px}.court-reveal__racket span{top:94px;height:88px;width:14px}.court-reveal__ball{width:34px;height:34px;top:calc(50% - 17px)}
 .court-reveal__brand{top:38%}.court-reveal__brand small{font-size:.46rem}.court-reveal__impact{left:76%}
 @keyframes ballStrike{0%{left:18%;opacity:0;transform:scale(.8)}12%{opacity:1}100%{left:calc(76% - 17px);opacity:1;transform:scale(1.08) rotate(520deg)}}
}
@media (prefers-reduced-motion:reduce){.court-reveal{animation:none}.court-reveal__racket,.court-reveal__ball,.court-reveal__trail,.court-reveal__impact,.court-reveal__brand{animation:none}.court-reveal{display:none}body.intro-active{overflow:auto}}

/* Padel Grille premium finishing pass */
.grille-page .topbar{gap:18px;padding-left:24px;padding-right:20px}
.grille-page .logo-lockup{min-width:clamp(250px,23vw,360px);gap:8px}
.grille-page .logo-lockup .brand-logo{width:clamp(188px,15vw,230px);max-height:78px}
.grille-page .logo-sport-label{margin-left:-6px;padding:7px 10px 7px 12px;border-left:1px solid rgba(32,49,41,.22);display:flex;flex-direction:column;line-height:1.15;color:#163327}
.grille-page .logo-sport-title{font:700 10px/1.15 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.grille-page .logo-sport-sub{font:700 6px/1.2 Inter,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#87691f;margin-top:3px}
.grille-page .logo-phone{font:700 8px/1 Inter,sans-serif;letter-spacing:.04em;color:#31483d;margin-top:6px;white-space:nowrap}
.grille-page .desktop-nav{gap:clamp(12px,1.1vw,22px)}
.grille-page .desktop-nav a{font-size:12px}
.grille-page .desktop-nav .nav-book-link{display:inline-flex;align-items:center;gap:6px;padding:10px 13px;border:1px solid rgba(11,61,46,.18);border-radius:999px;background:rgba(255,255,255,.58);color:#133b2e}
.grille-page .desktop-nav .nav-book-link:after{display:none}
.grille-page .desktop-nav .nav-book-link:hover{background:#f1ead9;box-shadow:0 8px 20px rgba(11,61,46,.09)}
.grille-page .grille-order-btn{padding:14px 18px;border-radius:999px;background:linear-gradient(135deg,#a77d29,#d5a446);box-shadow:0 12px 26px rgba(167,125,41,.25)}
.grille-page .topbar.scrolled .logo-sport-label{color:#17372b;background:transparent}
.grille-page .topbar.scrolled .logo-phone{color:#34493f}
.grille-hero-copy{padding-bottom:8px}
.grille-hero-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:22px;font-size:13px;font-weight:700;letter-spacing:.03em;color:rgba(255,255,255,.72)}
.grille-hero-meta a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.38)}
.grille-hero-meta a:hover{border-bottom-color:#d5a446}
.grille-gallery{width:min(calc(100vw - var(--side-pad)*2),var(--site-max));margin:0 auto 110px;display:grid;grid-template-columns:.78fr 1.15fr .72fr;gap:22px;align-items:stretch}
.grille-gallery-copy{padding:46px 42px;border-radius:30px;background:#efe4cf;display:flex;flex-direction:column;justify-content:center}
.grille-gallery-copy h2{font:700 clamp(42px,5vw,68px)/.98 Playfair Display,serif;margin:12px 0 18px;letter-spacing:-.035em}
.grille-gallery-copy h2 em{color:#9a6b1f}
.grille-gallery-copy>p:not(.eyebrow){font-size:17px;line-height:1.75;color:#5c635f}
.grille-gallery figure{margin:0;border-radius:30px;overflow:hidden;min-height:440px;background:#ddd}
.grille-gallery img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.grille-gallery figure:hover img{transform:scale(1.04)}
.gallery-tall img{object-position:center}
.grille-menu-cards article{transition:transform .3s ease,background .3s ease,border-color .3s ease}
.grille-menu-cards article:hover{transform:translateY(-5px);background:rgba(255,255,255,.1);border-color:rgba(213,164,70,.38)}
@media(max-width:1280px){
 .grille-page .desktop-nav{gap:10px}.grille-page .desktop-nav a{font-size:10.5px}.grille-page .logo-lockup{min-width:220px}.grille-page .logo-lockup .brand-logo{width:180px}.grille-page .logo-sport-label{display:none}.grille-page .grille-order-btn{padding:12px 14px;font-size:12px}
}
@media(max-width:1180px){
 .grille-page .logo-lockup{min-width:0}.grille-page .logo-lockup .brand-logo{width:190px}.grille-page .grille-order-btn{margin-left:auto}.grille-gallery{grid-template-columns:1fr 1fr}.grille-gallery-copy{grid-column:1/-1}.gallery-wide,.gallery-tall{min-height:360px!important}
}
@media(max-width:760px){
 .grille-page .topbar{padding:11px 12px;gap:8px}.grille-page .logo-lockup .brand-logo{width:158px}.grille-page .grille-order-btn{display:none}.grille-gallery{width:calc(100vw - 36px);grid-template-columns:1fr;margin-bottom:72px;gap:16px}.grille-gallery-copy{grid-column:auto;padding:32px 24px;border-radius:24px}.grille-gallery figure{min-height:310px!important;border-radius:24px}.grille-hero-meta{font-size:12px;gap:7px}.grille-hero-meta span:first-of-type{display:none}
}

/* Social dining photography expansion */
.grille-gallery{grid-template-columns:.78fr 1.15fr .72fr;grid-auto-rows:minmax(300px,auto)}
.grille-gallery-copy{grid-row:1 / span 2}
.gallery-wide{grid-column:2;grid-row:1}
.gallery-tall{grid-column:3;grid-row:1}
.gallery-drink{grid-column:2 / span 2;grid-row:2;min-height:340px!important}
.gallery-drink img{object-position:center 48%}
@media(max-width:980px){
  .grille-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:auto}
  .grille-gallery-copy,.gallery-wide,.gallery-tall,.gallery-drink{grid-column:auto;grid-row:auto}
  .grille-gallery-copy{grid-column:1/-1}
  .gallery-drink{grid-column:1/-1}
}
@media(max-width:680px){
  .grille-gallery{grid-template-columns:1fr}
  .grille-gallery-copy,.gallery-wide,.gallery-tall,.gallery-drink{grid-column:auto}
  .gallery-drink{min-height:310px!important}
}

/* Final mobile header CTA consistency */
.mobile-header-book{display:none}
@media (max-width:760px){
  .grille-page .mobile-header-book{
    display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 12px;
    border:1px solid rgba(126,135,72,.32);border-radius:12px;background:linear-gradient(135deg,#747d43,#909958);
    color:#fff;text-decoration:none;font-size:10px;font-weight:800;letter-spacing:.045em;text-transform:uppercase;white-space:nowrap
  }
}


/* ===== Dining page spacing refinement: tighter, more editorial rhythm ===== */
.grille-intro{
  padding:76px 0;
  gap:42px;
}
.grille-atmosphere{
  margin-bottom:78px;
  gap:18px;
}
.atmosphere-copy{
  padding:clamp(30px,4vw,52px);
}
.atmosphere-copy h2{
  margin-bottom:20px;
}
.atmosphere-copy .text-link{
  margin-top:18px;
}
.grille-feature-grid{
  gap:18px;
  margin-bottom:78px;
}
.grille-feature-grid article{
  min-height:540px;
}
.grille-feature-grid article div{
  left:30px;
  right:30px;
  bottom:30px;
}
.grille-gallery{
  margin-bottom:78px;
  gap:18px;
}
.grille-gallery-copy{
  padding:34px 32px;
}
.grille-gallery figure{
  min-height:390px;
}
.grille-menu{
  padding:78px var(--side-pad);
}
.grille-menu-cards{
  gap:14px;
  margin-top:34px;
}
.grille-menu-cards article{
  padding:22px;
  border-radius:20px;
}
.grille-menu-cards h3{
  margin:12px 0 9px;
}
.grille-menu .center-actions{
  margin-top:28px;
}
.grille-events{
  padding:82px 0;
  gap:44px;
}
.grille-event-card{
  padding:38px 34px;
}
.grille-event-card hr{
  margin:22px 0;
}
.grille-visit{
  padding:74px var(--side-pad);
  gap:20px;
}
.grille-visit-card,
.grille-visit aside{
  padding:34px;
  border-radius:24px;
}
.visit-grid{
  gap:12px;
  margin-top:26px;
}
.visit-grid div{
  padding:17px;
}
.grille-visit aside .btn{
  margin-top:20px;
}

@media(max-width:900px){
  .grille-intro{padding:64px 0}
  .grille-feature-grid article{min-height:470px}
  .grille-events{padding:68px 0}
}

@media(max-width:760px){
  .grille-intro{
    padding:50px 0!important;
    gap:16px!important;
  }
  .grille-atmosphere{
    margin-bottom:54px!important;
    gap:12px!important;
  }
  .atmosphere-copy{
    padding:25px 20px!important;
  }
  .atmosphere-copy h2{
    margin:8px 0 16px!important;
  }
  .atmosphere-copy>p:not(.eyebrow){
    line-height:1.6!important;
  }
  .atmosphere-copy .text-link{
    margin-top:14px!important;
  }
  .grille-feature-grid{
    gap:12px!important;
    margin-bottom:54px!important;
  }
  .grille-feature-grid article{
    min-height:390px!important;
  }
  .grille-feature-grid article div{
    left:20px!important;
    right:20px!important;
    bottom:20px!important;
  }
  .grille-gallery{
    margin-bottom:54px!important;
    gap:12px!important;
  }
  .grille-gallery-copy{
    padding:24px 20px!important;
  }
  .grille-gallery figure{
    min-height:280px!important;
  }
  .grille-menu{
    padding:54px 18px!important;
  }
  .grille-menu-cards{
    gap:10px!important;
    margin-top:28px!important;
  }
  .grille-menu-cards article{
    padding:20px!important;
    border-radius:18px!important;
  }
  .grille-menu-cards h3{
    margin:10px 0 8px!important;
  }
  .grille-menu .center-actions{
    margin-top:22px!important;
    gap:10px!important;
  }
  .grille-events{
    padding:54px 0!important;
    gap:22px!important;
  }
  .grille-event-card{
    padding:28px 22px!important;
  }
  .grille-event-card hr{
    margin:18px 0!important;
  }
  .grille-visit{
    padding:52px 18px!important;
    gap:14px!important;
  }
  .grille-visit-card,
  .grille-visit aside{
    padding:24px 20px!important;
    border-radius:22px!important;
  }
  .visit-grid{
    margin-top:20px!important;
    gap:9px!important;
  }
  .visit-grid div{
    padding:15px!important;
  }
  .grille-visit aside .btn{
    margin-top:16px!important;
  }
}


/* ===== 2026-08-28 Padel Grille layout redesign ===== */
.grille-page main{overflow:hidden}
.section-shell{
  width:min(calc(100vw - (var(--side-pad) * 2)),var(--site-max));
  margin:0 auto;
}
.grille-hero-redesign{
  min-height:86vh;
  padding-bottom:78px;
}
.grille-hero-redesign .grille-hero-overlay{
  background:
    linear-gradient(90deg,rgba(8,35,26,.88) 0%,rgba(8,35,26,.52) 43%,rgba(8,35,26,.12) 76%),
    linear-gradient(0deg,rgba(8,35,26,.42),transparent 58%);
}
.grille-hero-redesign .grille-hero-copy{max-width:760px}
.grille-hero-redesign .grille-hero-meta{gap:8px 18px}
.grille-hero-redesign .grille-hero-meta span{
  position:relative;
}
.grille-hero-redesign .grille-hero-meta span:not(:last-child)::after{
  content:"";
  position:absolute;
  right:-10px;
  top:50%;
  width:3px;
  height:3px;
  border-radius:50%;
  background:#d5a446;
  transform:translateY(-50%);
}

.grille-story{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:clamp(40px,5vw,78px);
  align-items:center;
  padding:94px 0 88px;
}
.grille-story-media{
  position:relative;
  min-height:580px;
  border-radius:32px;
  overflow:hidden;
  box-shadow:0 28px 70px rgba(18,49,37,.14);
}
.grille-story-media img{
  width:100%;
  height:100%;
  min-height:580px;
  object-fit:cover;
}
.grille-story-badge{
  position:absolute;
  left:24px;
  bottom:24px;
  display:grid;
  gap:3px;
  padding:15px 18px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:16px;
  background:rgba(12,42,31,.76);
  backdrop-filter:blur(14px);
  color:#fff;
}
.grille-story-badge strong{
  font:700 17px/1.15 "Playfair Display",serif;
}
.grille-story-badge span{
  color:rgba(255,255,255,.7);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.1em;
}
.grille-story-copy h2,
.grille-section-heading h2,
.grille-menu-heading h2,
.grille-gather-copy h2,
.grille-visit-intro h2{
  margin:10px 0 20px;
  font:700 clamp(44px,5.7vw,78px)/.96 "Playfair Display",serif;
  letter-spacing:-.045em;
  color:#17362b;
}
.grille-story-copy h2 em,
.grille-section-heading h2 em,
.grille-menu-heading h2 em,
.grille-gather-copy h2 em,
.grille-visit-intro h2 em{
  color:#a97720;
  font-weight:600;
}
.grille-story-copy>p:not(.eyebrow){
  color:#5d655f;
  font-size:17px;
  line-height:1.76;
}
.grille-story-points{
  display:grid;
  gap:0;
  margin:28px 0 26px;
  border-top:1px solid rgba(27,67,51,.12);
}
.grille-story-points>div{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:0 14px;
  padding:16px 0;
  border-bottom:1px solid rgba(27,67,51,.12);
}
.grille-story-points span{
  grid-row:1 / span 2;
  color:#a97720;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
}
.grille-story-points strong{
  color:#1b3b2f;
  font-size:15px;
}
.grille-story-points small{
  margin-top:3px;
  color:#777d79;
  font-size:12px;
}

.grille-moments{padding:28px 0 98px}
.grille-section-heading{
  display:grid;
  grid-template-columns:1fr .72fr;
  gap:40px;
  align-items:end;
  margin-bottom:34px;
}
.grille-section-heading>p{
  max-width:520px;
  margin:0 0 6px;
  color:#606863;
  font-size:16px;
  line-height:1.7;
}
.grille-moment-grid{
  display:grid;
  grid-template-columns:1.25fr .85fr .85fr;
  gap:16px;
}
.moment-card{
  position:relative;
  min-height:540px;
  margin:0;
  overflow:hidden;
  border-radius:28px;
  background:#17362b;
  isolation:isolate;
}
.moment-card img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .7s ease;
}
.moment-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(7,27,20,.88) 0%,rgba(7,27,20,.28) 48%,rgba(7,27,20,.03) 72%);
  z-index:1;
}
.moment-card>div{
  position:absolute;
  z-index:2;
  left:26px;
  right:26px;
  bottom:26px;
  color:#fff;
}
.moment-card span{
  display:block;
  margin-bottom:8px;
  color:#e3bd6a;
  font-size:10px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.moment-card h3{
  margin:0 0 8px;
  font:700 28px/1.05 "Playfair Display",serif;
}
.moment-card p{
  margin:0;
  max-width:390px;
  color:rgba(255,255,255,.76);
  font-size:13px;
  line-height:1.55;
}
.moment-card:hover img{transform:scale(1.04)}

.grille-menu-redesign{
  background:linear-gradient(135deg,#14372a,#0b271d);
  color:#fff;
  padding:92px var(--side-pad);
}
.grille-menu-inner{
  width:min(calc(100vw - (var(--side-pad) * 2)),var(--site-max));
  margin:0 auto;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:clamp(50px,7vw,110px);
  align-items:start;
}
.grille-menu-heading h2{color:#fff}
.grille-menu-heading>p:not(.eyebrow){
  max-width:520px;
  color:rgba(255,255,255,.68);
  font-size:16px;
  line-height:1.72;
}
.grille-menu-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:28px;
}
.grille-menu-list{
  border-top:1px solid rgba(255,255,255,.14);
}
.grille-menu-list article{
  display:grid;
  grid-template-columns:54px 1fr;
  gap:16px;
  padding:23px 0;
  border-bottom:1px solid rgba(255,255,255,.14);
}
.grille-menu-list article>span{
  color:#d8ad59;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
}
.grille-menu-list h3{
  margin:0 0 6px;
  color:#fff;
  font:600 23px/1.1 "Playfair Display",serif;
}
.grille-menu-list p{
  margin:0;
  color:rgba(255,255,255,.62);
  font-size:13px;
  line-height:1.58;
}
.btn.outline-light{
  color:#fff;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(255,255,255,.04);
}
.btn.outline-light:hover{background:rgba(255,255,255,.09)}

.grille-gather{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:clamp(40px,6vw,84px);
  align-items:center;
  padding:96px 0;
}
.grille-gather-copy>p:not(.eyebrow){
  max-width:560px;
  color:#606863;
  font-size:16px;
  line-height:1.72;
}
.grille-gather-details{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:24px 0 26px;
}
.grille-gather-details span{
  padding:9px 12px;
  border:1px solid rgba(27,67,51,.12);
  border-radius:999px;
  background:#f4efe4;
  color:#3b4b43;
  font-size:10px;
  font-weight:800;
  letter-spacing:.04em;
}
.grille-gather-media{
  min-height:540px;
  border-radius:30px;
  overflow:hidden;
  box-shadow:0 26px 64px rgba(18,49,37,.14);
}
.grille-gather-media img{
  width:100%;
  height:100%;
  min-height:540px;
  object-fit:cover;
}

.grille-visit-redesign{
  display:grid;
  grid-template-columns:.85fr 1.05fr .85fr;
  gap:16px;
  padding-bottom:92px;
  align-items:stretch;
}
.grille-visit-intro,
.grille-hours-card,
.grille-contact-card{
  border-radius:26px;
}
.grille-visit-intro{
  padding:32px 28px;
  background:#efe4cf;
}
.grille-visit-intro h2{
  font-size:clamp(36px,4vw,54px);
}
.grille-visit-intro>p:last-child{
  color:#626963;
  line-height:1.6;
}
.grille-hours-card{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  overflow:hidden;
  background:rgba(24,57,44,.10);
  border:1px solid rgba(24,57,44,.08);
}
.grille-hours-card>div{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:25px 22px;
  background:#fff;
}
.grille-hours-card small{
  color:#a97720;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.14em;
}
.grille-hours-card strong{
  margin-top:9px;
  color:#213d32;
  font-size:13px;
}
.grille-hours-card span{
  margin-top:4px;
  color:#6f756f;
  font-size:12px;
}
.grille-contact-card{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  padding:30px 28px;
  background:#17362b;
  color:#fff;
}
.grille-contact-card h3{
  margin:0 0 10px;
  font:700 24px/1.1 "Playfair Display",serif;
}
.grille-contact-card p{
  margin:0 0 14px;
  color:rgba(255,255,255,.68);
  line-height:1.55;
}
.grille-contact-card>a:not(.btn){
  margin:4px 0;
  color:#fff;
  text-decoration:none;
  font-size:13px;
}
.grille-contact-card .btn{
  margin-top:18px;
  min-height:46px;
  padding:13px 18px;
}

@media(max-width:1050px){
  .grille-story,
  .grille-gather,
  .grille-menu-inner{
    grid-template-columns:1fr;
  }
  .grille-story-media,
  .grille-story-media img,
  .grille-gather-media,
  .grille-gather-media img{
    min-height:480px;
  }
  .grille-section-heading{grid-template-columns:1fr}
  .grille-moment-grid{grid-template-columns:1fr 1fr}
  .moment-food{grid-column:1/-1}
  .grille-visit-redesign{grid-template-columns:1fr 1fr}
  .grille-visit-intro{grid-column:1/-1}
}

@media(max-width:760px){
  .section-shell{
    width:calc(100vw - 28px);
  }
  .grille-hero-redesign{
    min-height:650px;
    padding:122px 18px 44px;
  }
  .grille-hero-redesign .grille-hero-copy{
    max-width:none;
  }
  .grille-hero-redesign h1{
    font-size:clamp(58px,18vw,82px);
  }
  .grille-hero-redesign .grille-hero-copy>p:last-of-type{
    font-size:16px;
    line-height:1.55;
  }
  .grille-hero-redesign .grille-actions{
    display:grid;
    grid-template-columns:1fr;
    max-width:310px;
    gap:9px;
    margin-top:24px;
  }
  .grille-hero-redesign .grille-actions .btn{
    justify-content:center;
    min-height:50px;
    padding:14px 18px;
  }
  .grille-hero-redesign .grille-hero-meta{
    margin-top:18px;
    font-size:11px;
  }
  .grille-hero-redesign .grille-hero-meta span::after{display:none!important}
  .grille-story{
    grid-template-columns:1fr;
    gap:26px;
    padding:58px 0 62px;
  }
  .grille-story-media,
  .grille-story-media img{
    min-height:390px;
  }
  .grille-story-media{border-radius:24px}
  .grille-story-copy h2,
  .grille-section-heading h2,
  .grille-menu-heading h2,
  .grille-gather-copy h2,
  .grille-visit-intro h2{
    font-size:clamp(40px,12vw,56px);
  }
  .grille-moments{padding:0 0 62px}
  .grille-section-heading{gap:8px;margin-bottom:22px}
  .grille-moment-grid{grid-template-columns:1fr;gap:11px}
  .moment-food{grid-column:auto}
  .moment-card{min-height:390px;border-radius:22px}
  .moment-card>div{left:20px;right:20px;bottom:20px}
  .grille-menu-redesign{padding:60px 18px}
  .grille-menu-inner{width:100%;gap:34px}
  .grille-menu-actions{display:grid;grid-template-columns:1fr}
  .grille-menu-actions .btn{justify-content:center}
  .grille-menu-list article{grid-template-columns:38px 1fr;padding:18px 0}
  .grille-gather{
    grid-template-columns:1fr;
    gap:26px;
    padding:62px 0;
  }
  .grille-gather-media,
  .grille-gather-media img{
    min-height:390px;
  }
  .grille-visit-redesign{
    grid-template-columns:1fr;
    gap:11px;
    padding-bottom:62px;
  }
  .grille-visit-intro{grid-column:auto}
  .grille-visit-intro,
  .grille-hours-card,
  .grille-contact-card{border-radius:22px}
  .grille-hours-card{grid-template-columns:1fr}
  .grille-hours-card>div{padding:18px 20px}
}
