*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Montserrat,Arial,sans-serif;color:#0074BC;background:#f6f6f2}img{max-width:100%;display:block}a{color:inherit}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:999;background:#fff;padding:1rem}.header{height:88px;position:sticky;top:0;z-index:50;display:flex;align-items:center;padding:0 4vw;background:rgba(246,246,242,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(20,35,60,.08)}.brand img{width:118px;height:auto}.header nav{margin-left:auto;display:flex;align-items:center;gap:2rem;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.header nav a{text-decoration:none}.nav-cta,.btn{background:#0074BC;color:#fff!important;padding:1rem 1.35rem;text-decoration:none}.nav-toggle{display:none}.hero{min-height:calc(100vh - 88px);display:grid;grid-template-columns:1.05fr .95fr}.hero-copy{padding:8vw 5vw;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(135deg,#04bdbd 0%,#17aebc 42%,#0074BC 100%);color:#fff}.script{font-family:"Amatic SC",cursive;font-size:2.1rem;margin:0 0 1rem}.hero h1,.intro h2,.section-head h2,.photo-band h2,.closing h2{font-family:"Black Han Sans",Impact,sans-serif;font-weight:400;line-height:.88;letter-spacing:-.035em;margin:0}.hero h1{font-size:clamp(4.2rem,8.8vw,9rem)}.hero h1 em{font-style:normal;color:#0074BC}.lead{font-size:1.05rem;line-height:1.65;max-width:600px}.actions{display:flex;gap:.7rem;margin-top:1.5rem}.ghost{background:transparent!important;border:1px solid rgba(255,255,255,.7)}.hero-image{min-height:600px}.hero-image img{width:100%;height:100%;object-fit:cover}.intro,.section-head{padding:8vw 5vw;display:grid;grid-template-columns:1.2fr .8fr;gap:7vw;align-items:end}.intro h2,.section-head h2,.photo-band h2,.closing h2{font-size:clamp(3.4rem,6.5vw,7rem)}.intro-text,.section-head>p{font-size:1rem;line-height:1.8;max-width:550px}.text-btn{border:0;background:none;padding:.4rem 0;font:inherit;font-weight:800;text-decoration:none;cursor:pointer;color:#0074BC}.steps{display:grid;grid-template-columns:repeat(4,1fr);padding:0 5vw 8vw;gap:1px}.steps article{padding:2.3rem;background:#fff}.steps b{color:#00bdbd}.steps h3{font-family:"Black Han Sans";font-weight:400;font-size:1.8rem;margin:.8rem 0}.steps p{font-size:.85rem;line-height:1.6}.photo-band{display:grid;grid-template-columns:1fr .85fr 1fr;min-height:620px;background:#0074BC;color:#fff}.photo-band img{width:100%;height:100%;object-fit:cover}.photo-band>div{display:flex;flex-direction:column;justify-content:center;padding:4vw}.menu-section{padding-bottom:9vw}.menu-tabs{padding:0 5vw 2rem;display:flex;gap:.65rem;flex-wrap:wrap}.menu-tabs button{border:1px solid #0074BC;background:transparent;padding:.85rem 1rem;font:600 .75rem Montserrat;cursor:pointer}.menu-tabs button.active{background:#0074BC;color:#fff}.menu-view{margin:0 5vw;display:grid;grid-template-columns:.35fr .65fr;background:#fff;align-items:start}.menu-label{padding:4vw;position:sticky;top:110px}.menu-label span,.eyebrow{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.13em;color:#00aeb1}.menu-label h3{font-family:"Black Han Sans";font-weight:400;font-size:2.4rem}.menu-view>a{padding:2vw;background:#e8ebec}.menu-view img{width:100%}.locations{background:#0074BC;color:#fff;padding-bottom:8vw}.section-head.light .script{color:#52d6d0}.location-grid{padding:0 5vw;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.12)}.location-card{background:#0074BC;padding:2.5rem;min-height:280px}.location-card h3{font-family:"Black Han Sans";font-size:2rem;font-weight:400;margin:.7rem 0}.location-card p{min-height:45px;line-height:1.6;color:#cbd3de}.location-card>a{font-weight:700}.card-actions{display:flex;gap:1.2rem;align-items:center;margin-top:2rem}.location-card .text-btn{color:#54d6d0}.menu-note{font-size:.7rem;color:#8793a4}.closing{display:grid;grid-template-columns:1.1fr .9fr;background:#00bdbd}.closing img{width:100%;height:650px;object-fit:cover}.closing div{padding:5vw;display:flex;flex-direction:column;justify-content:center;color:#fff}.light-btn{align-self:flex-start;background:#fff;color:#0074BC!important;margin-top:2rem}footer{background:#0d1728;color:#fff;padding:4rem 5vw;display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:2rem;align-items:end;font-size:.75rem;line-height:1.7}footer img{width:140px}footer>div{display:flex;gap:1rem}footer p{text-align:right;margin:0}footer span{color:#00bdbd}.to-top{position:fixed;right:1.2rem;bottom:1.2rem;width:46px;height:46px;border:0;background:#00bdbd;color:#0074BC;font-size:1.3rem;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(10px);transition:.25s;z-index:60}.to-top.show{opacity:1;pointer-events:auto;transform:none}
@media(max-width:900px){.header{height:76px}.nav-toggle{display:flex;margin-left:auto;border:0;background:none;width:42px;height:42px;flex-direction:column;justify-content:center;gap:7px}.nav-toggle span{display:block;height:2px;background:#0074BC;width:24px}.header nav{position:absolute;top:76px;left:0;right:0;background:#f6f6f2;padding:2rem 5vw;display:none;flex-direction:column;align-items:flex-start}.header nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-copy{padding:14vw 6vw}.hero-image{min-height:55vh}.intro,.section-head{grid-template-columns:1fr;padding:14vw 6vw}.steps{grid-template-columns:1fr 1fr;padding:0 6vw 14vw}.photo-band{grid-template-columns:1fr 1fr}.photo-band>img:last-child{display:none}.menu-tabs{padding-left:6vw;padding-right:6vw}.menu-view{margin:0 6vw;grid-template-columns:1fr}.menu-label{position:static}.location-grid{grid-template-columns:1fr 1fr;padding:0 6vw}.closing{grid-template-columns:1fr}.closing img{height:55vh}footer{grid-template-columns:1fr}footer p{text-align:left}}
@media(max-width:560px){.hero h1{font-size:17vw}.actions{flex-direction:column;align-items:stretch}.btn{text-align:center}.steps,.location-grid{grid-template-columns:1fr}.photo-band{grid-template-columns:1fr}.photo-band>div{min-height:420px;padding:12vw 6vw}.photo-band>img{height:55vh}.menu-view{margin:0}.menu-label{padding:10vw 6vw}.menu-view>a{padding:0}.closing img{height:48vh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* V2 brand update */
:root{--brand-blue:#0074BC;--brand-red:#E13535;--brand-aqua:#00BDBE}
.nav-cta,.btn{background:var(--brand-red)!important;color:#fff!important}
.menu-tabs button.active{background:var(--brand-red);border-color:var(--brand-red);color:#fff}
.menu-tabs button{border-color:var(--brand-blue)}
.to-top{background:var(--brand-red);color:#fff}
.location-card .text-btn,.text-btn{color:var(--brand-red)}
.light-btn{background:#fff!important;color:var(--brand-red)!important}
.hero-copy{background:linear-gradient(135deg,#04bdbd 0%,#17aebc 42%,#0074BC 100%)}
.hero h1 em{color:#fff}
.new-gallery{display:grid;grid-template-columns:1.35fr .65fr;min-height:620px;background:#0074BC;gap:0}
.new-gallery figure{margin:0;overflow:hidden}
.new-gallery img{width:100%;height:100%;object-fit:cover}
.gallery-wide img{object-position:center center}
.gallery-tall img{object-position:center center}
@media(max-width:900px){.new-gallery{min-height:520px}}
@media(max-width:560px){.new-gallery{grid-template-columns:1fr;min-height:0}.new-gallery figure{height:62vh}.gallery-tall{height:78vh!important}}

/* V3 — stronger brand presence */
.header{
  background:rgba(246,246,242,.96);
  min-height:100px;
}
.brand{
  align-self:stretch;
  display:flex;
  align-items:center;
  text-decoration:none;
}
.brand-plate{
  display:flex;
  align-items:center;
  justify-content:center;
  width:190px;
  height:100%;
  min-height:100px;
  padding:15px 22px;
  background:#0074BC;
}
.brand-plate img{
  width:100%;
  max-width:155px;
  height:auto;
}
footer{
  background:#0074BC !important;
}
footer .footer-logo{
  width:220px;
  max-width:100%;
  height:auto;
}
footer a{color:#fff}
footer span{color:#fff}
@media(max-width:900px){
  .header{height:86px;min-height:86px;padding-left:0}
  .brand-plate{width:160px;min-height:86px;padding:12px 18px}
  .brand-plate img{max-width:135px}
  .header nav{top:86px}
  footer .footer-logo{width:200px}
}
@media(max-width:560px){
  .brand-plate{width:145px;padding:12px 15px}
  .brand-plate img{max-width:122px}
  footer .footer-logo{width:190px}
}

/* V3.1 — navbar logo correction */
.header{
  height:92px;
  min-height:92px;
  padding:0 4vw;
}
.brand{
  align-self:auto;
  display:flex;
  align-items:center;
  background:transparent;
}
.brand-plate{display:none}
.header .header-logo{
  width:145px;
  max-width:none;
  height:auto;
}
@media(max-width:900px){
  .header{height:82px;min-height:82px;padding:0 4vw}
  .header nav{top:82px}
  .header .header-logo{width:132px}
}
@media(max-width:560px){
  .header .header-logo{width:124px}
}

/* V3.2 — definitive navbar correction */
.header{
  background:#FFFFFF !important;
  background-image:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  height:92px;
  min-height:92px;
  padding:0 4vw;
}
.header .brand,
.header .brand:hover,
.header .brand:focus{
  background:transparent !important;
  background-image:none !important;
}
.header .header-logo{
  display:block;
  width:155px;
  height:auto;
  max-width:none;
  background:transparent !important;
}
@media(max-width:900px){
  .header{height:82px;min-height:82px;background:#FFFFFF !important}
  .header nav{top:82px;background:#FFFFFF}
  .header .header-logo{width:142px}
}
@media(max-width:560px){
  .header .header-logo{width:134px}
}

/* V3.3 — location actions: aqua for improved contrast */
.location-card .text-btn,
.location-card a.text-btn,
.location-card button.text-btn{
  color:#00BDBE !important;
}

/* V3.4 — mobile: back-to-top clear of Iubenda */
@media(max-width:900px){.to-top{bottom:92px !important}}
@media(max-width:560px){.to-top{bottom:96px !important}}


/* V3.5 — mobile overflow cleanup */
html,
body{
  width:100%;
  max-width:100%;
  overflow-x:clip;
}

main,
section,
header,
footer{
  min-width:0;
  max-width:100%;
}

.header > *,
.hero > *,
.intro > *,
.section-head > *,
.steps > *,
.photo-band > *,
.new-gallery > *,
.menu-view > *,
.location-grid > *,
.closing > *,
footer > *{
  min-width:0;
}

img,
svg{
  max-width:100%;
}

.card-actions{
  min-width:0;
  flex-wrap:wrap;
  row-gap:.7rem;
}

.location-card .text-btn,
.location-card .menu-note{
  max-width:100%;
}

@media(max-width:560px){
  .location-card{
    padding:2rem 1.5rem;
  }

  .card-actions{
    gap:.7rem 1rem;
  }

  footer > div{
    flex-wrap:wrap;
  }

  .menu-tabs button{
    max-width:100%;
  }

  .hero-copy,
  .intro,
  .section-head,
  .steps,
  .menu-tabs,
  .location-grid{
    max-width:100%;
  }
}
