/* Restaurant operations and Web support imagery. */
.hero-photo img{object-position:50% 65%}
.hero-photo figcaption{display:block;top:26px;right:26px;bottom:auto;left:auto;padding:19px 23px;background:rgba(244,243,237,.96);color:var(--green)}
.hero-photo figcaption span{font-size:23px}
.hero-photo figcaption small{display:block;writing-mode:horizontal-tb;font-size:12px;letter-spacing:.025em;margin-top:12px;line-height:1.7}
.hero-photo:after{display:none}
.support-strip{display:grid;grid-template-columns:1.55fr 1fr;max-width:1440px;margin:0 auto;background:#f4f3ed}
.support-strip-image{min-width:0;aspect-ratio:16/9}
.support-strip-image img{object-fit:contain}
.support-strip figcaption{align-self:center;padding:32px clamp(24px,3.2vw,48px)}
.support-strip .eyebrow{margin-bottom:20px}
.support-strip-title{display:block;font-family:var(--serif);font-size:clamp(23px,2.2vw,32px);line-height:1.8;letter-spacing:.03em;color:var(--green)}
.support-strip-copy{display:block;font-size:14px;color:var(--muted);line-height:2;margin-top:20px}
.contact-photo{max-width:480px;margin-top:30px}
.contact-photo img{height:auto;aspect-ratio:3/2;object-fit:cover}
.contact-photo figcaption{font-size:12px;color:#c2d2c8;padding-top:10px;letter-spacing:.025em}
@media(max-width:1100px) and (min-width:761px){.support-strip{grid-template-columns:1.25fr 1fr}.support-strip-image{aspect-ratio:auto;align-self:center}.support-strip-image img{height:auto}.support-strip-copy{font-size:13px}.support-strip figcaption{padding:26px}}
@media(max-width:760px){.hero-photo{height:auto;aspect-ratio:1744/2336}.hero-photo img{object-position:center}.hero-photo figcaption small{font-size:11px;margin-top:9px}.support-strip{display:flex;flex-direction:column}.support-strip-image{aspect-ratio:16/9}.support-strip figcaption{padding:28px 24px 34px}.support-strip-title{font-size:25px}.support-strip-copy{font-size:14px;margin-top:16px}.support-strip .eyebrow{margin-bottom:16px}.contact-photo{margin-top:26px;max-width:none}.contact-photo figcaption{font-size:12px}}

@media(max-width:760px){.hero-photo figcaption{top:20px;right:18px;left:auto;bottom:auto;padding:15px 18px}.hero-photo figcaption span{font-size:19px}.hero-photo figcaption small{font-size:10px}}

/* Video-led first view. The supplied desktop composition keeps the owner on
   the right while the page copy remains readable in the left negative space. */
.hero{
  position:relative;
  isolation:isolate;
  max-width:none;
  min-height:min(820px,100svh);
  padding:88px 0 0;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:1fr auto;
  gap:0;
  overflow:hidden;
  color:#fff;
  background:#1b2822;
}
.hero-media,
.hero-overlay{
  position:absolute;
  z-index:-2;
  inset:88px 0 0;
}
.hero-media{
  background:#1b2822 url('/assets/restaurant-web-hero-poster.webp') center center / cover no-repeat;
}
.hero-media video{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:58% center;
}
.hero-media video.is-fallback{display:none}
.hero-overlay{
  z-index:-1;
  background:
    linear-gradient(90deg,rgba(17,27,22,.78) 0%,rgba(17,27,22,.67) 31%,rgba(17,27,22,.39) 51%,rgba(17,27,22,.23) 72%,rgba(17,27,22,.23) 100%),
    linear-gradient(180deg,rgba(14,21,18,.08),rgba(14,21,18,.24));
}
.hero-copy{
  width:min(1216px,100%);
  align-self:center;
  margin:0 auto;
  padding:74px 40px 58px;
}
.hero-kicker{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:24px;
  color:#f0eee7;
  font-size:14px;
  font-weight:500;
  letter-spacing:.055em;
}
.hero-kicker:before{
  content:'';
  width:30px;
  height:1px;
  flex:0 0 auto;
  background:#d7c89d;
}
.hero h1{
  max-width:760px;
  color:#fff;
  font-size:clamp(38px,4vw,60px);
  line-height:1.55;
  letter-spacing:.035em;
  white-space:normal;
  text-shadow:0 2px 24px rgba(0,0,0,.18);
}
.hero h1>span{color:#f3ead2}
.hero-desc{
  max-width:690px;
  margin-top:24px;
  color:#f0f1ed;
  font-size:16px;
  line-height:2;
  text-shadow:0 1px 15px rgba(0,0,0,.2);
}
.hero-actions{margin-top:30px}
.hero-actions .button{
  min-width:300px;
  background:#f3f0e7;
  border-color:#f3f0e7;
  color:var(--green);
  box-shadow:0 12px 34px rgba(7,17,12,.18);
}
.hero-actions .button:hover{background:#fff;border-color:#fff}
.hero-actions .text-link{color:#fff;border-color:rgba(255,255,255,.65)}
.hero-meta{color:#dfe5df}
.hero-meta>span{background:rgba(255,255,255,.42)}
.hero-bottom{
  position:relative;
  z-index:1;
  grid-column:1;
  width:100%;
  margin:0;
  padding:22px max(4%,40px);
  border:0;
  border-top:1px solid rgba(255,255,255,.2);
  color:#f1f3ef;
  background:rgba(19,31,25,.58);
  backdrop-filter:blur(6px);
}
.hero-bottom small{border-color:rgba(255,255,255,.28);color:#dfe5df}

@media(max-width:1100px){
  .hero{padding-top:76px;min-height:min(780px,100svh)}
  .hero-media,.hero-overlay{inset:76px 0 0}
  .hero-copy{padding:60px 40px 48px}
  .hero h1{font-size:clamp(38px,5vw,54px)}
}

@media(max-width:760px){
  .hero{
    min-height:auto;
    padding:72px 0 0;
    display:flex;
    flex-direction:column;
  }
  .hero-media,.hero-overlay{
    inset:72px 0 auto;
    height:min(56.25vw,280px);
  }
  .hero-media{background-image:url('/assets/restaurant-web-hero-mobile-poster.webp')}
  .hero-media video{object-position:center center}
  .hero-overlay{
    background:linear-gradient(180deg,rgba(15,24,20,.04),rgba(15,24,20,.22));
  }
  .hero-copy{
    align-self:stretch;
    width:100%;
    padding:calc(min(56.25vw,280px) + 30px) 24px 28px;
  }
  .hero-kicker{font-size:12px;line-height:1.7;margin-bottom:14px;gap:11px}
  .hero-kicker:before{width:22px}
  .hero h1{font-size:clamp(29px,8.25vw,38px);line-height:1.48;letter-spacing:.015em}
  .hero-desc{font-size:14px;line-height:1.9;margin-top:16px;max-width:520px}
  .hero-actions{margin-top:21px;gap:10px}
  .hero-actions .button{min-width:0;min-height:56px;padding:14px 20px}
  .hero-actions .text-link{color:#fff;border-color:rgba(255,255,255,.65);font-size:13px;padding:2px 0}
  .hero-meta{justify-content:flex-start;color:#dce3de;margin-top:14px}
  .hero-bottom{margin:0;padding:17px 20px;gap:5px 16px;font-size:11px;background:rgba(15,25,20,.78)}
}

@media(max-width:370px){
  .hero{min-height:auto}
  .hero-copy{padding:calc(56.25vw + 26px) 20px 24px}
  .hero h1{font-size:27px}
  .hero-desc{font-size:13px}
  .hero-actions .button{font-size:13px}
  .hero-bottom{padding-left:16px;padding-right:16px}
}

@media(prefers-reduced-motion:reduce){
  .hero-media video{display:none}
}
