:root{
  --ink:#12151A;
  --panel:#F6F3EC;
  --panel2:#EBE4D3;
  --gold:#C79A3D;
  --gold-deep:#9C7728;
  --forest:#2F4B3C;
  --muted:rgba(18,21,26,0.62);
  --muted-inv:rgba(246,243,236,0.68);
  --line:rgba(18,21,26,0.12);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{ background:var(--panel); color:var(--ink); font-family:'Inter', sans-serif; overflow-x:hidden; }
a{color:inherit; text-decoration:none;}
.wrap{max-width:1180px; margin:0 auto; padding:0 32px;}
.eyebrow{ font-family:'JetBrains Mono', monospace; font-size:12px; letter-spacing:0.16em; text-transform:uppercase; font-weight:600; color:var(--gold-deep); }
h1,h2{ font-family:'Bebas Neue', sans-serif; font-weight:400; letter-spacing:0.01em; line-height:0.98; text-transform:uppercase; }
h3{ font-family:'Bebas Neue', sans-serif; font-weight:400; letter-spacing:0.01em; text-transform:uppercase; }
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  font-family:'JetBrains Mono', monospace; font-size:12.5px; letter-spacing:0.06em; text-transform:uppercase; font-weight:600;
  padding:15px 28px; border-radius:4px; border:1.5px solid var(--ink);
  transition:all .22s ease; cursor:pointer; background:none; color:var(--ink);
}
.btn.solid{background:var(--forest); border-color:var(--forest); color:#fff;}
.btn.solid:hover{background:var(--ink); border-color:var(--ink); transform:translateY(-2px);}
.btn.ghost:hover{background:var(--ink); color:#fff; transform:translateY(-2px);}

header{ position:fixed; top:0; left:0; right:0; z-index:100; padding:20px 0; background:rgba(246,243,236,0.9); backdrop-filter:blur(8px); border-bottom:1px solid var(--line); }
.nav{display:flex; justify-content:space-between; align-items:center; max-width:1180px; margin:0 auto; padding:0 32px; position:relative;}
.logo{font-family:'Bebas Neue', sans-serif; font-size:23px; letter-spacing:0.03em;}
.logo span{color:var(--gold-deep);}
.navlinks{display:flex; gap:32px; align-items:center;}
.navlinks a{font-family:'JetBrains Mono', monospace; font-size:12px; letter-spacing:0.06em; text-transform:uppercase; font-weight:500;}
.navlinks a:hover{color:var(--gold-deep);}
.menu-toggle{display:none; background:none; border:none; color:var(--ink); cursor:pointer; z-index:101;}

@media (max-width:860px){
  .navlinks{
    display:none;
    position:absolute; top:calc(100% + 18px); left:0; right:0;
    flex-direction:column; align-items:stretch; gap:6px;
    background:var(--panel); padding:18px; border-radius:16px;
    border:1px solid var(--line); box-shadow:0 20px 45px rgba(0,0,0,0.14);
  }
  .navlinks.open{display:flex;}
  .navlinks a{width:100%; text-align:center; padding:14px 16px;}
  .menu-toggle{display:block;}
}

.hero{
  position:relative; padding:170px 0 90px; overflow:hidden;
  background: radial-gradient(120% 90% at 50% -10%, #221D18 0%, var(--ink) 55%);
  color:#fff;
}
.hero-grid{display:grid; grid-template-columns:1.1fr 0.9fr; gap:56px; align-items:center;}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr;}}
.hero .eyebrow{color:var(--gold);}
.hero h1{ font-size:clamp(44px, 6.2vw, 84px); color:#fff; margin-top:14px; }
.hero h1 em{ font-style:normal; color:var(--gold); }
.hero-sub{ max-width:460px; margin-top:20px; color:var(--muted-inv); font-family:'Inter'; font-size:17px; line-height:1.65; }
.hero-ctas{display:flex; gap:14px; margin-top:34px; flex-wrap:wrap;}
.hero .btn{border-color:rgba(255,255,255,0.4); color:#fff;}
.hero .btn.ghost:hover{background:#fff; color:var(--ink);}

.hero-card{
  background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.14); border-radius:14px;
  padding:34px; backdrop-filter:blur(6px);
}
.hero-card .stars{color:var(--gold); font-size:20px; letter-spacing:2px;}
.hero-card .stat{font-family:'Bebas Neue'; font-size:52px; color:#fff; margin-top:12px;}
.hero-card .stat-label{font-family:'JetBrains Mono', monospace; font-size:12px; color:rgba(255,255,255,0.55); letter-spacing:0.04em; text-transform:uppercase; margin-top:4px;}
.hero-card hr{border:none; border-top:1px solid rgba(255,255,255,0.14); margin:24px 0;}
.hero-card .addr{font-size:15px; color:rgba(255,255,255,0.85); line-height:1.6; font-family:'Inter';}
.hero-card .addr b{display:block; color:#fff; font-family:'Bebas Neue'; font-size:18px; letter-spacing:0.03em;}

.marquee{ background:var(--gold); color:var(--ink); padding:14px 0; overflow:hidden; white-space:nowrap; }
.marquee-track{ display:inline-flex; animation:scroll 26s linear infinite; font-family:'Bebas Neue', sans-serif; font-size:18px; letter-spacing:0.03em; text-transform:uppercase; }
.marquee-track span{padding:0 22px; display:flex; align-items:center; gap:22px;}
.marquee-track span::after{content:'✂'; font-size:13px;}
@keyframes scroll{from{transform:translateX(0);} to{transform:translateX(-50%);}}

section{padding:110px 0;}
.sec-head{max-width:600px; margin-bottom:52px;}
.sec-head h2{font-size:clamp(32px, 4.4vw, 54px); margin-top:10px;}
.sec-head p{color:var(--muted); margin-top:14px; font-size:16px; text-transform:none; font-family:'Inter';}

.reveal{ opacity:0; transform:translateY(28px); transition:opacity .7s cubic-bezier(.4,0,.2,1), transform .7s cubic-bezier(.4,0,.2,1); }
.reveal.in-view{ opacity:1; transform:translateY(0); }

.service-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
@media (max-width:900px){.service-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:600px){.service-grid{grid-template-columns:1fr;}}
.service-card{ background:var(--ink); color:#fff; border-radius:14px; padding:30px 26px; transition:transform .25s ease; }
.service-card:hover{ transform:translateY(-4px); }
.service-card h3{font-size:24px;}
.service-card p{color:rgba(255,255,255,0.6); font-size:14px; margin-top:8px; text-transform:none; font-family:'Inter';}
.service-card .price{ font-family:'JetBrains Mono', monospace; color:var(--gold); font-weight:700; display:block; margin-top:12px; }

.testi-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:22px;}
@media (max-width:700px){.testi-grid{grid-template-columns:1fr;}}
.testi-card{ background:var(--panel2); border:1px solid var(--line); border-radius:16px; padding:30px; }
.testi-card .stars{color:var(--gold-deep); font-size:15px; letter-spacing:2px;}
.testi-card p.quote{ font-size:17px; margin-top:12px; line-height:1.5; font-style:italic; }
.testi-card .who{ margin-top:16px; font-family:'JetBrains Mono', monospace; font-size:11.5px; color:var(--muted); text-transform:uppercase; letter-spacing:0.03em; }

.visit{background:var(--panel2); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.visit-grid{display:grid; grid-template-columns:1fr 1fr; gap:50px;}
@media (max-width:800px){.visit-grid{grid-template-columns:1fr;}}
.hours-row{display:flex; justify-content:space-between; padding:14px 0; border-bottom:1px solid var(--line); font-family:'JetBrains Mono', monospace; font-size:13.5px;}
.hours-row span:last-child{color:var(--muted);}
.visit-card{background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:34px;}
.visit-card p.label{font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:0.06em; text-transform:uppercase; color:var(--muted); margin-top:16px;}
.visit-card p.label:first-child{margin-top:0;}
.visit-card a.line{display:block; font-size:16px; margin-top:4px; font-weight:500;}
.visit-card a.line:hover{color:var(--gold-deep);}

footer{padding:50px 0; background:var(--ink); color:#fff;}
.foot-bottom{display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-family:'JetBrains Mono', monospace; font-size:11.5px; color:rgba(255,255,255,0.5);}
.made-by{font-family:'JetBrains Mono', monospace; font-size:11px; color:rgba(255,255,255,0.5);}
.made-by a{color:var(--gold); font-weight:600;}

/* booking form (decorative demo — not wired to a real backend) */
.book-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:60px;}
@media (max-width:900px){.book-grid{grid-template-columns:1fr;}}
form.demo-form{display:grid; gap:16px;}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
@media (max-width:560px){.form-row{grid-template-columns:1fr;}}
label{display:block; font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:0.05em; text-transform:uppercase; color:var(--muted); margin-bottom:7px;}
input, select{
  width:100%; background:var(--panel); border:1px solid var(--line); border-radius:8px;
  padding:13px 15px; color:var(--ink); font-family:'Inter'; font-size:14.5px; outline:none;
}
input:focus, select:focus{border-color:var(--gold-deep);}
