/* SQ soft-squircle design system — review build */
:root{--sq-soft:22px;--sq-soft-lg:34px;--sq-pill:999px}
.site-nav{background:transparent;border:0;padding:10px 0;z-index:20}.site-nav .nav-inner{height:74px;background:#12110f;border:1px solid #ce866f66;border-radius:var(--sq-pill);box-shadow:0 12px 30px rgba(0,0,0,.18);padding-left:18px;padding-right:18px}.nav-wrap{background:transparent;padding:10px 0}.nav-wrap .nav{height:74px;background:#12110f;border:1px solid #ce866f66;border-radius:var(--sq-pill);box-shadow:0 12px 30px rgba(0,0,0,.18);padding-left:18px;padding-right:18px}.nav-links .nav-cta,.navlinks .book,.button,.install-button,.sq-chat-chip,.sq-chat-input,.sq-chat-send{border-radius:var(--sq-pill)}.hero{margin:0 20px;border-radius:var(--sq-soft-lg)}.hero-image,.hero:before{border-radius:inherit}.hero-rule{border-radius:calc(var(--sq-soft-lg) - 8px)}.food-card,.function-card,.simple-form,.photo-block,.story-band,.story-band-image,.story-band-copy,.gallery-grid img,.install-panel,.faq-panel,.reviews-panel{border-radius:var(--sq-soft)}.food-card,.photo-block,.story-band-image{overflow:hidden}.gallery-grid img{display:block}.story-band{overflow:hidden}.app-dock{border-radius:var(--sq-soft) var(--sq-soft) 0 0}.sq-chat-panel{border-radius:var(--sq-soft-lg)}.sq-chat-message{border-radius:18px}.sq-chat-message.bot{border-bottom-left-radius:6px}.sq-chat-message.user{border-bottom-right-radius:6px}.sq-chat-launcher,.sq-back-to-top{border-radius:50%}.footer-row{border-radius:var(--sq-soft) var(--sq-soft) 0 0}.menu-section,.callout,.hero-side,.menu-nav{border-radius:var(--sq-soft)}
@media(max-width:780px){.site-nav{padding:8px 0}.site-nav .nav-inner,.nav-wrap .nav{height:68px;border-radius:26px;padding-left:14px;padding-right:14px}.nav-links{top:76px;left:12px;right:12px;border:1px solid #ce866f66;border-radius:0 0 26px 26px;padding:12px 20px 18px}.hero{margin:0 10px;border-radius:26px}.hero-rule{border-radius:19px}.story-band,.story-band-image,.story-band-copy,.food-card,.function-card,.simple-form{border-radius:20px}.gallery-grid{gap:12px}.gallery-grid img{border-radius:20px}.app-dock{border-radius:20px 20px 0 0}.nav-wrap{padding:8px 10px}.nav-wrap .nav{height:68px}.navlinks{border-radius:0 0 26px 26px}}

/* Apply the soft-squircle language to every primary page surface. */
.notice{margin:0 10px;border-radius:0 0 var(--sq-soft) var(--sq-soft)}
main{display:flex;flex-direction:column;gap:12px;padding:0 10px 12px}
main>.hero,main>.page-hero,main>.intro,main>.on-dark,main>.story-band,main>.visit-band,main>.content-light,main>.gallery,main>.faq-reviews,main>.callout,main>.menu-section{border-radius:var(--sq-soft-lg);overflow:hidden}
main>.hero{margin:0}.page-hero,.intro,.on-dark,.visit-band,.content-light,.gallery,.faq-reviews,.callout{margin:0}.menu-nav{margin:0 10px 12px;overflow:hidden}.menu-section{margin:0}.feature-list,.lines,.faq-list{border-radius:var(--sq-soft);overflow:hidden}.faq-item{border-radius:16px}.review-actions .button{border-radius:var(--sq-pill)}.install-panel{margin:0 10px 12px}.install-panel .shell{border-radius:var(--sq-soft)}footer{margin:0 10px 10px;border-radius:var(--sq-soft-lg) var(--sq-soft-lg) 18px 18px;overflow:hidden}.footer-row{padding-top:4px;padding-bottom:4px}.photo-block,.gallery-grid,.food-grid,.function-cards{gap:14px}.photo-block img,.gallery-grid img{border-radius:inherit}.hero-caption{border-radius:var(--sq-pill);padding:8px 8px 8px 5px;background:rgba(10,10,10,.28)}
@media(max-width:780px){.notice{margin:0 6px;border-radius:0 0 18px 18px}main{gap:10px;padding:0 6px 10px}main>.hero,main>.page-hero,main>.intro,main>.on-dark,main>.story-band,main>.visit-band,main>.content-light,main>.gallery,main>.faq-reviews,main>.callout,main>.menu-section{border-radius:26px}.hero .hero-content{padding:0 20px 55px}.menu-nav,.install-panel,footer{margin-left:6px;margin-right:6px}.install-panel{margin-bottom:10px}footer{border-radius:26px 26px 16px 16px}}

/* Floating sticky navigation — keeps the primary navigation visible without covering content. */
.site-nav,
.nav-wrap{
  position:sticky;
  top:0;
  z-index:80;
}
.site-nav .nav-inner,
.nav-wrap .nav{
  box-shadow:0 14px 34px rgba(0,0,0,.30),0 0 0 1px rgba(206,134,111,.08);
}
@supports (backdrop-filter:blur(1px)){
  .site-nav,
  .nav-wrap{
    background:linear-gradient(180deg,rgba(10,10,10,.72),rgba(10,10,10,0));
    backdrop-filter:blur(8px);
  }
}
@media(max-width:780px){
  .site-nav,
  .nav-wrap{top:0;z-index:110}
}


/* Mobile polish: prioritise readable hero copy, balanced imagery, and easy touch targets. */
@media (max-width:780px){
  .notice{
    font-size:.56rem;
    line-height:1.45;
    letter-spacing:.105em;
    padding:9px 18px;
  }
  .site-nav .nav-inner{
    height:64px;
    padding-left:13px;
    padding-right:13px;
  }
  .brand{gap:10px}
  .brand img{width:40px;height:40px}
  .brand span{font-size:.94rem;padding-left:10px}
  .nav-toggle{
    min-height:44px;
    min-width:62px;
    padding:0 8px;
  }
  .nav-links{top:72px}
  .hero{
    min-height:640px;
    margin:0;
  }
  .hero .hero-image{
    background-position:62% center!important;
  }
  .hero:before{
    background:linear-gradient(90deg,rgba(0,0,0,.87) 0%,rgba(0,0,0,.67) 57%,rgba(0,0,0,.28) 100%),linear-gradient(0deg,rgba(0,0,0,.80),transparent 62%);
  }
  .hero .hero-content{
    max-width:none;
    padding:0 20px 38px;
  }
  .hero h1{
    font-size:clamp(3.35rem,14.2vw,4.5rem);
    line-height:.87;
    letter-spacing:-.07em;
    margin:13px 0 20px;
  }
  .hero h1 .sq-word{display:block}
  .hero p{
    font-size:.95rem;
    line-height:1.6;
    margin-bottom:25px;
    max-width:34rem;
  }
  .hero-actions{
    display:grid;
    grid-template-columns:1fr 1.25fr;
    gap:9px;
    width:100%;
  }
  .hero-actions .button{
    min-width:0;
    min-height:52px;
    padding:0 10px;
    font-size:.64rem;
    letter-spacing:.105em;
    white-space:nowrap;
  }
  .hero-rule{inset:10px}
  .app-dock a{min-height:68px}
}
@media (max-width:360px){
  .hero{min-height:660px}
  .hero-actions{grid-template-columns:1fr}
  .hero h1{font-size:3.2rem}
}
