:root{
  --dark:#2d463f;
  --dark-2:#243832;
  --dark-3:#1c2a25;
  --accent:#c9a86c;
  --accent-d:#b59155;
  --light:#f6f3ec;
  --tint:#ece7d8;
  --tint-2:#e2dcc9;
  --ink:#1a2622;
  --ink-soft:#3d4a44;
  --line:#d8d1bd;
  --maxw:1200px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:"Rokkitt",Georgia,serif;
  background:var(--light);
  color:var(--ink);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
ul{list-style:none}

.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px}

/* ---------- Type ---------- */
.eyebrow{
  display:inline-block;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--accent-d);
  margin-bottom:18px;
}
.eyebrow--light{color:var(--accent)}
.eyebrow--center{display:block;text-align:center}

h1,h2,h3,h4{
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.01em;
  line-height:1.02;
  color:var(--dark);
}

.section__title{font-size:clamp(1.7rem,4vw,2.7rem);font-weight:900;max-width:18ch}
.section__title--center{margin:0 auto;text-align:center;max-width:20ch}
.section__title--light{color:var(--light)}
.section__lead{
  max-width:52ch;
  margin:18px auto 0;
  text-align:center;
  font-size:1.08rem;
  color:var(--ink-soft);
}

.section{padding:96px 0}
@media(max-width:700px){.section{padding:64px 0}}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-family:inherit;
  font-weight:700;
  font-size:.92rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  padding:15px 26px;
  border:2px solid transparent;
  border-radius:0;
  cursor:pointer;
  transition:background .2s ease,color .2s ease,border-color .2s ease,transform .15s ease;
  min-height:44px;
}
.btn--filled{background:var(--accent);color:var(--dark-2);border-color:var(--accent)}
.btn--filled:hover{background:var(--accent-d);border-color:var(--accent-d)}
.btn--outline{border-color:var(--ink);color:var(--ink);background:transparent}
.btn--outline:hover{background:var(--ink);color:var(--light)}
.btn--outline-light{border-color:var(--accent);color:var(--accent)}
.btn--outline-light:hover{background:var(--accent);color:var(--dark-2)}
.btn--sm{padding:11px 18px;font-size:.8rem;min-height:40px}
.btn--block{width:100%}

/* ---------- Nav ---------- */
.nav{
  position:sticky;
  top:42px;
  z-index:50;
  background:var(--dark);
  color:var(--light);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.nav__inner{
  max-width:var(--maxw);
  margin:0 auto;
  padding:0 24px;
  height:68px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.nav__brand{display:flex;align-items:center;gap:10px;color:var(--light);font-weight:900;letter-spacing:.12em}
.nav__mark{width:26px;height:26px;color:var(--accent);display:inline-flex}
.nav__mark svg{width:100%;height:100%}
.nav__word{font-size:1.02rem}
.nav__links{display:flex;align-items:center;gap:26px}
.nav__links a{font-size:.84rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--light);transition:color .18s ease}
.nav__links a:hover{color:var(--accent)}
.nav__phone{color:var(--accent)!important}
.nav__toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.nav__toggle span{width:24px;height:2px;background:var(--light);display:block;transition:transform .25s ease,opacity .2s ease}
.nav__toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav__toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav__toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media(max-width:700px){
  .nav__word{font-size:.86rem}
  .nav__toggle{display:flex}
  .nav__links{
    position:absolute;
    top:68px;
    left:0;right:0;
    background:var(--dark-2);
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:8px 24px 18px;
    border-bottom:1px solid rgba(255,255,255,.06);
    transform:translateY(-12px);
    opacity:0;
    pointer-events:none;
    transition:opacity .2s ease,transform .2s ease;
  }
  .nav__links.open{opacity:1;transform:translateY(0);pointer-events:auto}
  .nav__links a{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:.95rem}
  .nav__links .btn{margin-top:12px;border-bottom:0}
}

/* ---------- Hero ---------- */
.hero{
  position:relative;
  background:var(--dark);
  color:var(--light);
  min-height:calc(100vh - 68px - 42px);
  display:flex;
  align-items:center;
  overflow:hidden;
  padding:90px 0 110px;
}
.hero__media{
  position:absolute;
  top:0;right:0;bottom:0;
  width:60%;
  z-index:0;
}
.hero__media img{width:100%;height:100%;object-fit:cover}
.hero__veil{
  position:absolute;inset:0;
  background:linear-gradient(90deg,var(--dark) 0%,var(--dark) 38%,rgba(45,70,63,.85) 52%,rgba(45,70,63,.35) 78%,rgba(45,70,63,.05) 100%);
  z-index:1;
}
.hero__inner{
  position:relative;
  z-index:2;
  width:100%;
  max-width:var(--maxw);
  margin:0 auto;
  padding:0 24px;
  max-width:680px;
}
.hero__title{
  font-size:clamp(2.6rem,8vw,5.2rem);
  font-weight:900;
  letter-spacing:.005em;
  color:var(--light);
  margin:6px 0 22px;
}
.hero__sub{
  font-size:clamp(1rem,1.6vw,1.2rem);
  max-width:44ch;
  color:rgba(246,243,236,.88);
  margin-bottom:34px;
  font-weight:400;
}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:30px}
.hero__hours{display:flex;align-items:center;gap:10px;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-weight:600}
.dot{width:8px;height:8px;border-radius:50%;background:var(--accent);display:inline-block;box-shadow:0 0 0 4px rgba(201,168,108,.18)}

@media(max-width:700px){
  .hero{min-height:auto;padding:64px 0 80px}
  .hero__media{width:100%;opacity:.35}
  .hero__veil{background:linear-gradient(180deg,rgba(28,42,37,.85) 0%,rgba(45,70,63,.7) 60%,rgba(45,70,63,.55) 100%)}
  .hero__inner{max-width:100%}
}

/* ---------- Serration motif ---------- */
.serration{
  position:absolute;
  left:0;right:0;
  height:18px;
  background-color:var(--light);
  --mask:conic-gradient(from -45deg at 9px 50%,#0000 0 90deg,#000 0) 0 0/18px 100%;
  -webkit-mask:var(--mask);mask:var(--mask);
  z-index:3;
}
.serration--bottom{bottom:0}
.serration--top{top:0;background-color:var(--dark)}
.cta .serration--top{background-color:var(--dark)}

/* ---------- Trust ---------- */
.trust__grid{
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:64px;
  align-items:start;
}
.trust__text p{margin-bottom:16px;max-width:50ch;color:var(--ink-soft);font-size:1.06rem}
.trust__text .btn{margin-top:14px}
.trust__checklist{
  background:var(--tint);
  border:1px solid var(--line);
  border-left:4px solid var(--accent);
  padding:30px 30px 30px 28px;
}
.trust__checklist li{
  display:flex;
  gap:14px;
  padding:16px 0;
  border-bottom:1px solid var(--line);
  align-items:flex-start;
}
.trust__checklist li:last-child{border-bottom:0}
.trust__checklist svg{width:20px;height:20px;color:var(--dark);flex-shrink:0;margin-top:3px}
.trust__checklist strong{font-weight:700;color:var(--ink)}
.trust__checklist div{font-size:1rem;color:var(--ink-soft)}

@media(max-width:860px){
  .trust__grid{grid-template-columns:1fr;gap:40px}
}

/* ---------- Menu bands ---------- */
.menu{background:var(--light)}
.bands{margin-top:48px;border-top:1px solid var(--line)}
.band{
  display:grid;
  grid-template-columns:60px 1fr 1.4fr;
  align-items:center;
  gap:28px;
  padding:26px 24px;
  border-bottom:1px solid var(--line);
  background:var(--light);
}
.band--tint{background:var(--tint)}
.band__num{font-size:.9rem;font-weight:700;letter-spacing:.1em;color:var(--accent-d)}
.band__name{font-size:clamp(1.2rem,2.2vw,1.7rem);font-weight:800}
.band__desc{color:var(--ink-soft);font-size:1rem;max-width:52ch}
@media(max-width:700px){
  .band{grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:6px 16px;padding:20px 16px}
  .band__desc{grid-column:1/3;max-width:100%;margin-top:4px}
}

/* ---------- Proof grid ---------- */
.proof{background:var(--tint)}
.proof__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  grid-auto-rows:220px;
  gap:14px;
  margin-top:48px;
}
.proof__cell{overflow:hidden;border:1px solid var(--line);background:var(--light)}
.proof__cell img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.proof__cell--wide{grid-column:span 2;grid-row:span 2}
@media(hover:hover){
  .proof__cell:hover img{transform:scale(1.04)}
}
@media(max-width:700px){
  .proof__grid{grid-template-columns:1fr 1fr;grid-auto-rows:160px;gap:10px}
  .proof__cell--wide{grid-column:span 2;grid-row:span 1}
}

/* ---------- About ---------- */
.about__grid{
  display:grid;
  grid-template-columns:0.9fr 1.1fr;
  gap:56px;
  align-items:center;
}
.about__media img{width:100%;height:100%;object-fit:cover;border:1px solid var(--line);max-height:560px}
.about__text p{margin-bottom:16px;color:var(--ink-soft);font-size:1.06rem;max-width:50ch}
.about__text .btn{margin-top:12px}
@media(max-width:860px){
  .about__grid{grid-template-columns:1fr;gap:32px}
  .about__media img{max-height:420px}
}

/* ---------- Locations ---------- */
.locations{background:var(--light)}
.loc__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  margin-top:48px;
}
.loc{
  background:var(--light);
  border:1px solid var(--line);
  border-top:4px solid var(--accent);
  padding:30px 26px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
  position:relative;
}
.loc--feature{background:var(--tint);border-top-color:var(--dark)}
.loc__tag{
  position:absolute;top:-1px;right:-1px;
  background:var(--dark);color:var(--accent);
  font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  padding:6px 12px;
}
.loc__name{font-size:1.3rem;font-weight:800;color:var(--dark);margin-bottom:6px}
.loc__addr{color:var(--ink-soft);font-size:1rem;margin-bottom:6px}
.loc__contact{font-size:1rem;font-weight:600}
.loc__contact a{color:var(--dark);border-bottom:2px solid var(--accent);padding-bottom:1px;transition:color .18s ease}
.loc__contact a:hover{color:var(--accent-d)}
.loc__delivery{font-size:.86rem;color:var(--ink-soft);margin:10px 0 16px;padding-top:10px;border-top:1px solid var(--line);width:100%}
.loc .btn{margin-top:auto}
@media(max-width:860px){
  .loc__grid{grid-template-columns:1fr;gap:16px}
}

/* ---------- Final CTA + form ---------- */
.cta{
  position:relative;
  background:var(--dark);
  color:var(--light);
  padding:110px 0 96px;
  overflow:hidden;
}
.cta__grid{
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:64px;
  align-items:start;
}
.cta__lead{color:rgba(246,243,236,.85);font-size:1.1rem;max-width:42ch;margin:18px 0 30px}
.cta__actions{display:flex;flex-wrap:wrap;gap:14px}

.contact-form{
  background:var(--light);
  color:var(--ink);
  padding:34px 30px;
  border:1px solid var(--line);
}
.contact-form__title{font-size:1.4rem;font-weight:800;margin-bottom:6px}
.contact-form__sub{color:var(--ink-soft);font-size:.95rem;margin-bottom:22px}
.field{margin-bottom:16px;display:flex;flex-direction:column;gap:6px}
.field label{font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}
.field input,.field textarea{
  font-family:inherit;
  font-size:1rem;
  padding:11px 13px;
  border:1px solid var(--line);
  background:var(--light);
  color:var(--ink);
  border-radius:0;
  width:100%;
  resize:vertical;
}
.field input:focus,.field textarea:focus{outline:2px solid var(--accent-d);border-color:var(--accent-d)}
.contact-form__notice{margin-top:12px;font-size:.9rem;color:var(--dark);font-weight:600;min-height:1.2em}
.contact-form__notice.is-demo{color:var(--accent-d)}

@media(max-width:860px){
  .cta{padding:80px 0}
  .cta__grid{grid-template-columns:1fr;gap:36px}
}

/* ---------- Footer ---------- */
.footer{background:var(--dark-2);color:rgba(246,243,236,.7);padding:64px 0 0}
.footer__grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1fr;
  gap:36px;
  padding-bottom:48px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.footer__word{font-weight:900;letter-spacing:.14em;color:var(--light);font-size:1.05rem}
.footer__tag{margin-top:12px;max-width:32ch;font-size:.96rem}
.footer__social{display:flex;gap:12px;margin-top:18px}
.footer__social a{
  width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.18);color:var(--accent);transition:background .18s ease,color .18s ease;
}
.footer__social a:hover{background:var(--accent);color:var(--dark-2)}
.footer__social svg{width:18px;height:18px}
.footer__h{color:var(--light);font-size:.8rem;letter-spacing:.16em;margin-bottom:14px;font-weight:700}
.footer__col p{margin-bottom:8px;font-size:.95rem}
.footer__col a{color:rgba(246,243,236,.7);transition:color .18s ease}
.footer__col a:hover{color:var(--accent)}
.footer__hours{color:var(--accent)!important;font-weight:600}
.footer__base{
  max-width:var(--maxw);margin:0 auto;padding:20px 24px;
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  font-size:.82rem;color:rgba(246,243,236,.5);
}
.footer__legal{font-style:italic}
@media(max-width:760px){
  .footer__grid{grid-template-columns:1fr 1fr;gap:32px}
}
@media(max-width:480px){
  .footer__grid{grid-template-columns:1fr}
}

/* ---------- Scroll reveal (applied by JS) ---------- */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1!important;transform:none!important;transition:none!important}
  *{scroll-behavior:auto!important}
}