:root{
  --bg:#07090b;
  --bg2:#0d1115;
  --ink:#fff7e8;
  --muted:#b6afa3;
  --dim:#7e7a72;
  --gold:#f4bd2f;
  --cyan:#38d7ff;
  --panel:rgba(255,255,255,.045);
  --panel-strong:rgba(255,255,255,.075);
  --line:rgba(255,247,232,.14);
  --line-strong:rgba(56,215,255,.28);
  --shadow:0 30px 90px rgba(0,0,0,.48);
  --radius:18px;
  --max:1440px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{
  margin:0;
  color:var(--ink);
  background:
    radial-gradient(circle at 78% 4%, rgba(56,215,255,.20), transparent 25%),
    radial-gradient(circle at 12% 14%, rgba(244,189,47,.09), transparent 26%),
    linear-gradient(180deg,#07090b 0%,#0a0d10 44%,#060708 100%);
  font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;
  overflow-x:hidden;
}
body:before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.026) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to bottom,black,transparent 82%);
  opacity:.3;
}
.site-noise{
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.16;
  mix-blend-mode:soft-light;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");
}
main,header,footer{position:relative;z-index:1}
img{max-width:100%;display:block}
a{color:inherit}

.site-header{
  position:sticky;
  top:0;
  z-index:50;
  min-height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:12px clamp(18px,4vw,64px);
  background:rgba(7,9,11,.78);
  backdrop-filter:blur(18px);
  border-bottom:1px solid var(--line);
}
.brand{display:flex;align-items:center;text-decoration:none}
.brand-logo{height:46px;width:auto;max-width:238px;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(0,0,0,.42))}
.nav{display:flex;align-items:center;gap:28px}
.nav a,footer a,.text-link{
  color:var(--muted);
  text-decoration:none;
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.nav a:hover,footer a:hover,.text-link:hover{color:var(--cyan)}

.header-btn,.primary-btn,.secondary-btn,.card-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:13px 20px;
  border-radius:6px;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.095em;
  font-size:12px;
  font-weight:950;
  line-height:1;
  transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease;
}
.header-btn,.primary-btn{
  background:var(--gold);
  color:#090909;
  border:1px solid var(--gold);
}
.secondary-btn,.card-link{
  background:rgba(255,255,255,.035);
  color:var(--ink);
  border:1px solid rgba(255,247,232,.24);
}
.header-btn:hover,.primary-btn:hover,.secondary-btn:hover,.card-link:hover{
  border-color:var(--cyan);
  transform:translateY(-1px);
}
.secondary-btn:hover,.card-link:hover{background:rgba(56,215,255,.08)}

.hero{
  width:min(100%,var(--max));
  margin:0 auto;
  min-height:calc(100svh - 76px);
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.72fr);
  gap:clamp(28px,5vw,72px);
  align-items:center;
  padding:clamp(48px,7vw,96px) clamp(18px,5vw,74px) 54px;
}
.eyebrow{
  margin:0 0 14px;
  color:var(--cyan);
  font-size:12px;
  font-weight:950;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.hero-logo{width:min(520px,92vw);height:auto;margin:0 0 30px;filter:drop-shadow(0 22px 38px rgba(0,0,0,.45))}
h1,h2{
  margin:0;
  font-family:Anton,Impact,sans-serif;
  text-transform:uppercase;
  letter-spacing:.008em;
  font-weight:400;
}
h1{
  max-width:900px;
  font-size:clamp(58px,8.6vw,132px);
  line-height:.88;
  text-wrap:balance;
  text-shadow:4px 4px 0 rgba(244,189,47,.12);
}
.intro{
  max-width:690px;
  margin:26px 0 0;
  color:var(--muted);
  font-size:clamp(17px,1.45vw,21px);
  line-height:1.75;
}
.hero-actions,.visit-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.quick-info{
  margin:34px 0 0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  max-width:700px;
}
.quick-info div{
  min-height:94px;
  padding:18px;
  border:1px solid var(--line);
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.024));
  border-radius:var(--radius);
}
.quick-info dt{
  color:var(--dim);
  font-size:11px;
  text-transform:uppercase;
  font-weight:950;
  letter-spacing:.11em;
}
.quick-info dd{
  margin:8px 0 0;
  color:var(--gold);
  font-size:28px;
  font-weight:950;
  letter-spacing:-.04em;
}

.hero-media{display:grid;gap:16px}
.image-card,.booking-card,.review-score,.quote-stack blockquote,.visit-copy{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--panel);
  box-shadow:var(--shadow);
  overflow:hidden;
}
.image-card{position:relative;background:#111}
.image-card:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.74));
  pointer-events:none;
}
.image-card img{width:100%;height:360px;object-fit:cover;filter:saturate(1.08) contrast(1.04)}
.image-card span{
  position:absolute;
  left:18px;
  bottom:18px;
  z-index:1;
  padding:9px 11px;
  background:rgba(7,9,11,.72);
  border:1px solid rgba(255,247,232,.18);
  border-radius:6px;
  color:var(--ink);
  font-size:12px;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.booking-card{
  padding:26px;
  background:linear-gradient(135deg,rgba(56,215,255,.10),rgba(244,189,47,.07)),rgba(13,17,21,.82);
  border-color:var(--line-strong);
}
.booking-card h2{font-size:64px;line-height:.9}
.rating-line{margin:14px 0 0;color:var(--gold);font-weight:950;letter-spacing:.08em}
.rating-line span{display:inline-block;margin-left:10px;color:var(--muted);letter-spacing:0;font-size:13px}
.card-list{margin:24px 0;border-top:1px solid var(--line)}
.card-list p{display:flex;justify-content:space-between;gap:16px;margin:0;padding:15px 0;border-bottom:1px solid rgba(255,247,232,.10)}
.card-list b{font-size:14px}.card-list span{color:var(--muted);white-space:nowrap}
.card-link{width:100%}

.marquee{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px;
  padding:18px clamp(18px,5vw,74px);
  border-block:1px solid var(--line);
  background:rgba(0,0,0,.24);
}
.marquee span{
  padding:10px 13px;
  border:1px solid rgba(56,215,255,.24);
  border-radius:6px;
  color:#dceefe;
  background:rgba(56,215,255,.045);
  font-size:12px;
  font-weight:950;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.section{width:min(100%,var(--max));margin:0 auto;padding:clamp(70px,7vw,110px) clamp(18px,5vw,74px)}
.section-intro{max-width:790px;margin-bottom:34px}
.section-intro.split{max-width:none;display:grid;grid-template-columns:minmax(0,.95fr) minmax(260px,.48fr);gap:28px;align-items:end}
.section h2{font-size:clamp(44px,6vw,90px);line-height:.92;text-wrap:balance}
.section-intro p:not(.eyebrow),.visit-copy p,.review-score p{margin:14px 0 0;color:var(--muted);line-height:1.75;font-size:17px}
.text-link{display:inline-flex;margin-top:24px;color:var(--gold)}

.gallery-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(250px,1fr));
  gap:16px;
  overflow-x:auto;
  padding:4px 2px 18px;
  scroll-snap-type:x mandatory;
  scrollbar-color:rgba(56,215,255,.45) rgba(255,255,255,.06);
}
.gallery-grid img{
  width:100%;
  height:560px;
  object-fit:cover;
  border-radius:var(--radius);
  border:1px solid rgba(56,215,255,.16);
  box-shadow:0 24px 70px rgba(0,0,0,.42);
  scroll-snap-align:start;
  transition:transform .22s ease,border-color .22s ease,filter .22s ease;
}
.gallery-grid img:hover{transform:translateY(-5px);border-color:rgba(244,189,47,.40);filter:saturate(1.08) contrast(1.04)}

.service-section{display:grid;grid-template-columns:.42fr .58fr;gap:clamp(30px,5vw,70px);align-items:start}
.pinned{position:sticky;top:108px;margin:0}
.service-list{border-top:1px solid var(--line)}
.service-list article{
  display:grid;
  grid-template-columns:1fr 86px 86px;
  gap:22px;
  align-items:center;
  padding:24px 0;
  border-bottom:1px solid var(--line);
}
.service-list h3{margin:0 0 7px;font-size:21px;text-transform:uppercase;letter-spacing:.02em}
.service-list p{margin:0;color:var(--muted);line-height:1.55}
.service-list strong{color:var(--gold);font-size:25px;text-align:right}.service-list span{color:var(--cyan);font-weight:950;text-align:right;font-size:13px}

.reviews{display:grid;grid-template-columns:.42fr .58fr;gap:18px;align-items:stretch}
.review-score{padding:30px;background:linear-gradient(180deg,rgba(244,189,47,.09),rgba(255,255,255,.04))}
.stars{color:var(--gold)!important;font-size:34px;letter-spacing:4px;line-height:1}
.quote-stack{display:grid;gap:14px}
.quote-stack blockquote{margin:0;padding:28px;background:var(--panel-strong)}
.quote-stack p{margin:0 0 12px;font-size:clamp(22px,2.2vw,32px);line-height:1.2;font-weight:950;letter-spacing:-.03em}
.quote-stack cite{color:var(--muted);font-style:normal;font-weight:850}

.visit{display:grid;grid-template-columns:410px 1fr;gap:18px;align-items:stretch}
.visit-copy{padding:30px;display:flex;flex-direction:column;justify-content:center}
.hours-list{margin:24px 0 0;border-top:1px solid var(--line)}
.hours-list div{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid rgba(255,247,232,.10)}
.hours-list span{color:var(--muted)}.hours-list strong{font-size:14px;white-space:nowrap;color:var(--ink)}
.map-wrap{min-height:510px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:var(--panel)}
.map-wrap iframe{width:100%;height:100%;border:0;filter:grayscale(.18) contrast(1.05)}

footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:30px clamp(18px,5vw,74px);
  border-top:1px solid var(--line);
  background:#050607;
}
footer div{display:flex;flex-direction:column;gap:8px}.footer-logo{height:56px;width:auto;max-width:280px}footer span{color:var(--muted);font-size:14px}

@media(max-width:1020px){
  .nav{display:none}
  .hero,.service-section,.reviews,.visit,.section-intro.split{grid-template-columns:1fr}
  .pinned{position:static}
  .hero-media{grid-template-columns:1fr 1fr;align-items:stretch}.image-card img{height:100%}
  .gallery-grid{grid-template-columns:repeat(7,260px)}
  .gallery-grid img{height:410px}
  .map-wrap{min-height:420px}
}
@media(max-width:650px){
  .site-header{min-height:66px;padding:10px 16px}.brand-logo{height:38px;max-width:190px}.header-btn{display:none}
  .hero{min-height:auto;padding:44px 16px 42px}.hero-logo{width:min(360px,92vw);margin-bottom:22px}h1{font-size:54px}.intro{font-size:16px;line-height:1.65}
  .hero-media{grid-template-columns:1fr}.image-card img{height:300px}.booking-card h2{font-size:52px}
  .quick-info{grid-template-columns:1fr}.quick-info div{min-height:auto}
  .section{padding:66px 16px}.section h2{font-size:44px}
  .gallery-grid{grid-template-columns:repeat(7,78vw);gap:12px}.gallery-grid img{height:430px}
  .service-list article{grid-template-columns:1fr auto;gap:10px}.service-list strong{text-align:right}.service-list span{grid-column:1/-1;text-align:left}
  .hours-list div{align-items:flex-start}.visit-actions{margin-top:24px}
  footer{align-items:flex-start;flex-direction:column}.footer-logo{height:auto;max-width:250px}
}

/* Anonymised concept additions */
.text-brand{flex-direction:column;align-items:flex-start;gap:1px}
.brand-word{
  font-family:Anton,Impact,sans-serif;
  font-size:31px;
  line-height:.9;
  letter-spacing:.04em;
  color:var(--ink);
}
.brand-sub{
  color:var(--cyan);
  font-size:9px;
  font-weight:950;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.concept-strip{
  position:relative;
  z-index:2;
  display:flex;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
  padding:10px clamp(18px,5vw,74px);
  border-bottom:1px solid var(--line);
  background:rgba(244,189,47,.08);
}
.concept-strip span{
  color:var(--gold);
  font-size:10px;
  font-weight:950;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.text-logo{
  width:min(520px,92vw);
  margin:0 0 30px;
  padding:22px 0 16px;
  border-top:4px solid var(--ink);
  border-bottom:4px solid var(--ink);
  filter:drop-shadow(0 22px 38px rgba(0,0,0,.45));
}
.text-logo span{
  display:block;
  font-family:Anton,Impact,sans-serif;
  font-size:clamp(64px,9vw,128px);
  line-height:.82;
  letter-spacing:.015em;
}
.text-logo small{
  display:block;
  margin-top:12px;
  color:var(--cyan);
  font-size:12px;
  font-weight:950;
  letter-spacing:.42em;
}
.placeholder-shop{
  min-height:360px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:
    linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    radial-gradient(circle at 50% 12%,rgba(56,215,255,.22),transparent 28%),
    linear-gradient(145deg,#0e1217,#050607);
  background-size:54px 54px,54px 54px,auto,auto;
}
.shop-sign{
  position:relative;
  z-index:1;
  padding:22px 26px 18px;
  border:3px solid var(--ink);
  background:rgba(7,9,11,.74);
  font-family:Anton,Impact,sans-serif;
  font-size:clamp(44px,5.2vw,82px);
  line-height:.9;
  letter-spacing:.04em;
  box-shadow:0 24px 70px rgba(0,0,0,.42);
}
.placeholder-gallery{grid-template-columns:repeat(7,minmax(250px,1fr))}
.cut-card{
  width:100%;
  height:560px;
  border-radius:var(--radius);
  border:1px solid rgba(56,215,255,.16);
  box-shadow:0 24px 70px rgba(0,0,0,.42);
  scroll-snap-align:start;
  display:flex;
  align-items:flex-end;
  padding:22px;
  overflow:hidden;
  position:relative;
  background:
    radial-gradient(circle at 48% 18%,rgba(244,189,47,.24),transparent 20%),
    linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.02)),
    #10151a;
  transition:transform .22s ease,border-color .22s ease,filter .22s ease;
}
.cut-card:nth-child(even){background:radial-gradient(circle at 48% 18%,rgba(56,215,255,.22),transparent 20%),linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.02)),#10151a}
.cut-card:before{
  content:"";
  position:absolute;
  inset:22px 22px 86px;
  border:1px solid rgba(255,247,232,.16);
  border-radius:999px 999px 22px 22px;
  background:linear-gradient(180deg,rgba(255,247,232,.08),transparent);
}
.cut-card:hover{transform:translateY(-5px);border-color:rgba(244,189,47,.40);filter:saturate(1.08) contrast(1.04)}
.cut-card span{
  position:relative;
  z-index:1;
  color:var(--ink);
  font-family:Anton,Impact,sans-serif;
  font-size:42px;
  line-height:.9;
  text-transform:uppercase;
}
.map-placeholder{
  display:grid;
  place-items:center;
  min-height:510px;
  background:
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    radial-gradient(circle at 50% 50%,rgba(56,215,255,.15),transparent 26%),
    rgba(255,255,255,.035);
  background-size:62px 62px,62px 62px,auto,auto;
}
.map-placeholder div{text-align:center;padding:28px;max-width:460px}
.map-placeholder span{color:var(--cyan);font-size:12px;font-weight:950;letter-spacing:.18em;text-transform:uppercase}
.map-placeholder strong{display:block;margin-top:12px;font-family:Anton,Impact,sans-serif;font-size:54px;line-height:.9;text-transform:uppercase}
.map-placeholder p{margin:14px 0 0;color:var(--muted);line-height:1.65}
.footer-logo-text{font-family:Anton,Impact,sans-serif;font-size:44px;line-height:.9;letter-spacing:.04em;color:var(--ink)}

@media(max-width:1020px){
  .placeholder-gallery{grid-template-columns:repeat(7,260px)}
  .cut-card{height:410px}
}
@media(max-width:650px){
  .brand-word{font-size:26px}.brand-sub{font-size:8px}
  .text-logo{width:min(360px,92vw);margin-bottom:22px}
  .text-logo span{font-size:62px}.text-logo small{letter-spacing:.26em}
  .placeholder-shop{min-height:300px}.shop-sign{font-size:44px}
  .placeholder-gallery{grid-template-columns:repeat(7,78vw);gap:12px}
  .cut-card{height:430px}
}
