
/* ============ RESET & TOKENS ============ */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
:root{
  --bg:#0a0a0c;
  --bg-2:#0f0f12;
  --surface:#16161b;
  --line:rgba(201,169,98,.16);
  --gold:#c9a962;
  --gold-2:#e9d5a4;
  --gold-3:#9a7b3f;
  --text:#f4f1ea;
  --muted:#a8a29a;
  --purple:#b829b9;
  --serif:Georgia,'Times New Roman',serif;
  --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
}
html{ scroll-behavior:smooth; scroll-padding-top:92px; }
body{
  font-family:var(--sans);
  background:var(--bg);
  color:var(--text);
  line-height:1.65;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
body.no-scroll{ overflow:hidden; }
::selection{ background:rgba(201,169,98,.35); color:#fff; }
::-webkit-scrollbar{ width:10px; }
::-webkit-scrollbar-track{ background:var(--bg); }
::-webkit-scrollbar-thumb{ background:linear-gradient(180deg,var(--gold-3),var(--gold)); border-radius:8px; }
img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; }
.container{ width:min(1180px, 92%); margin-inline:auto; }

/* ============ REVEAL / ANIMATIONS ============ */
@keyframes fadeUp{ from{opacity:0; transform:translateY(34px);} to{opacity:1; transform:none;} }
@keyframes fadeIn{ from{opacity:0;} to{opacity:1;} }
@keyframes zoomSlow{ from{opacity:0; transform:scale(1.08);} to{opacity:1; transform:scale(1);} }
@keyframes floatY{ 0%,100%{transform:translateY(0);} 50%{transform:translateY(-10px);} }
@keyframes spinSlow{ to{transform:rotate(360deg);} }
.anim{ opacity:0; animation:fadeUp 1s var(--ease) forwards; animation-delay:var(--d,0s); }
.reveal{ opacity:0; transform:translateY(44px); transition:opacity .95s ease, transform .95s var(--ease); }
.reveal.visible{ opacity:1; transform:none; }

/* ============ HEADER ============ */
#header{
  position:fixed; inset:0 0 auto 0; z-index:1000;
  transition:background .45s ease, box-shadow .45s ease, border-color .45s ease;
  border-bottom:1px solid transparent;
  background:linear-gradient(180deg, rgba(10,10,12,.72), rgba(10,10,12,0));
}
#header.scrolled{
  background:rgba(10,10,12,.88);
  backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  border-bottom-color:var(--line);
  box-shadow:0 12px 40px rgba(0,0,0,.45);
}
.nav-wrap{ display:flex; align-items:center; justify-content:space-between; height:84px; }
.logo{ display:flex; align-items:center; gap:14px; z-index:1002; }
.logo-mark{
  width:46px; height:46px; border:1px solid var(--gold);
  display:grid; place-items:center; font-family:var(--serif);
  font-size:1.45rem; color:var(--gold-2); letter-spacing:1px;
  transform:rotate(45deg); border-radius:4px;
}
.logo-mark span{ transform:rotate(-45deg); display:block; }
.logo-text{ display:flex; flex-direction:column; line-height:1.15; }
.logo-text strong{ font-family:var(--serif); font-weight:600; font-size:1.12rem; letter-spacing:.04em; }
.logo-text small{ font-size:.62rem; text-transform:uppercase; letter-spacing:.34em; color:var(--gold); margin-top:3px; }

.nav-links{ display:flex; align-items:center; gap:2.15rem; }
.nav-links > a:not(.nav-cta){
  position:relative; font-size:.86rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--muted); transition:color .3s; padding:8px 0;
}
.nav-links > a:not(.nav-cta)::after{
  content:''; position:absolute; left:0; bottom:0; height:1px; width:100%;
  background:linear-gradient(90deg,var(--gold),transparent);
  transform:scaleX(0); transform-origin:left; transition:transform .45s var(--ease);
}
.nav-links > a:not(.nav-cta):hover{ color:var(--text); }
.nav-links > a:not(.nav-cta):hover::after{ transform:scaleX(1); }
.nav-cta{
  font-size:.8rem; letter-spacing:.12em; text-transform:uppercase; color:#0a0a0c;
  background:linear-gradient(135deg,var(--gold-2),var(--gold) 55%,var(--gold-3));
  padding:12px 22px; border-radius:2px; font-weight:600;
  transition:transform .35s var(--ease), box-shadow .35s;
  box-shadow:0 8px 24px rgba(201,169,98,.22);
}
.nav-cta:hover{ transform:translateY(-2px); box-shadow:0 14px 32px rgba(201,169,98,.32); }

.hamburger{
  display:none; z-index:1002; background:none; border:none; cursor:pointer;
  width:46px; height:46px; position:relative;
}
.hamburger span{
  position:absolute; left:9px; right:9px; height:1.6px; background:var(--gold-2);
  transition:transform .45s var(--ease), opacity .3s, top .45s var(--ease);
}
.hamburger span:nth-child(1){ top:16px; }
.hamburger span:nth-child(2){ top:22px; }
.hamburger span:nth-child(3){ top:28px; }
.hamburger.active span:nth-child(1){ top:22px; transform:rotate(45deg); }
.hamburger.active span:nth-child(2){ opacity:0; transform:translateX(12px); }
.hamburger.active span:nth-child(3){ top:22px; transform:rotate(-45deg); }

/* ============ HERO ============ */
.hero{ position:relative; min-height:100svh; display:flex; align-items:center; justify-content:center; text-align:center; overflow:hidden; }
.hero-bg{
  position:absolute; inset:0; background-size:cover; background-position:center 30%;
  animation:zoomSlow 2.2s var(--ease) both;
}
.hero-overlay{
  position:absolute; inset:0;
  background:
    radial-gradient(ellipse at 50% 120%, rgba(184,41,185,.16), transparent 55%),
    linear-gradient(180deg, rgba(10,10,12,.55) 0%, rgba(10,10,12,.72) 45%, var(--bg) 100%);
}
.hero-watermark{
  position:absolute; right:-2rem; bottom:-3rem; font-family:var(--serif);
  font-size:min(34vw,26rem); color:rgba(201,169,98,.045); line-height:1;
  user-select:none; pointer-events:none; letter-spacing:.05em;
}
.hero-content{ position:relative; z-index:2; padding:150px 0 110px; max-width:880px; }
.hero-badge{
  display:inline-flex; align-items:center; gap:.55rem;
  border:1px solid var(--line); border-radius:99px; padding:9px 20px;
  font-size:.74rem; letter-spacing:.26em; text-transform:uppercase; color:var(--gold-2);
  background:rgba(201,169,98,.06); backdrop-filter:blur(6px); margin-bottom:2.1rem;
}
.hero-badge svg{ width:13px; height:13px; color:var(--gold); }
.hero h1{
  font-family:var(--serif); font-weight:500; font-size:clamp(2.6rem, 6.4vw, 5rem);
  line-height:1.08; letter-spacing:.01em; margin-bottom:1.4rem;
}
.hero h1 em{ font-style:italic; color:var(--gold-2); }
.hero p.lead{
  color:var(--muted); font-size:clamp(1rem, 1.6vw, 1.2rem); max-width:640px; margin:0 auto 2.4rem;
}
.hero-actions{ display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }
.btn{
  display:inline-flex; align-items:center; gap:.6rem; padding:16px 34px;
  font-size:.8rem; letter-spacing:.16em; text-transform:uppercase; font-weight:600;
  border-radius:2px; transition:transform .35s var(--ease), box-shadow .35s, background .35s, color .35s, border-color .35s;
  cursor:pointer;
}
.btn svg{ width:15px; height:15px; }
.btn-gold{
  color:#0a0a0c; background:linear-gradient(135deg,var(--gold-2),var(--gold) 55%,var(--gold-3));
  box-shadow:0 14px 34px rgba(201,169,98,.25);
}
.btn-gold:hover{ transform:translateY(-3px); box-shadow:0 20px 44px rgba(201,169,98,.38); }
.btn-ghost{
  color:var(--text); border:1px solid rgba(244,241,234,.28); background:rgba(244,241,234,.03);
  backdrop-filter:blur(6px);
}
.btn-ghost:hover{ border-color:var(--gold); color:var(--gold-2); transform:translateY(-3px); }
.hero-meta{
  margin-top:3rem; display:flex; gap:1.8rem; justify-content:center; flex-wrap:wrap;
  font-size:.82rem; letter-spacing:.08em; color:var(--muted);
}
.hero-meta span{ display:inline-flex; align-items:center; gap:.5rem; }
.status{ color:#7fc98a; }
.status.closed{ color:#d98a7f; }
.hero-scroll{
  position:absolute; bottom:34px; left:50%; transform:translateX(-50%); z-index:3;
  display:flex; flex-direction:column; align-items:center; gap:8px;
  color:var(--muted); font-size:.66rem; letter-spacing:.3em; text-transform:uppercase;
  animation:floatY 2.6s ease-in-out infinite;
}
.hero-scroll::after{ content:''; width:1px; height:44px; background:linear-gradient(180deg,var(--gold),transparent); }

/* ============ SECTIONS ============ */
section{ position:relative; }
.section-pad{ padding:120px 0; }
.sec-head{ text-align:center; margin-bottom:4.5rem; }
.kicker{
  display:inline-flex; align-items:center; gap:14px; font-size:.72rem; letter-spacing:.38em;
  text-transform:uppercase; color:var(--gold); margin-bottom:1.1rem;
}
.kicker::before, .kicker::after{ content:''; width:34px; height:1px; background:var(--gold); opacity:.55; }
.sec-head h2{
  font-family:var(--serif); font-weight:500; font-size:clamp(1.9rem, 4vw, 3rem);
  letter-spacing:.01em; line-height:1.15;
}
.sec-head h2 em{ font-style:italic; color:var(--gold-2); }
.gold-line{
  width:74px; height:1px; margin:1.6rem auto 0;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
}

/* ============ INFO STRIP ============ */
.info-strip{
  background:var(--bg-2); border-block:1px solid var(--line);
  padding:34px 0; margin-top:-1px;
}
.info-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; text-align:center; }
.info-item{ padding:8px 12px; }
.info-item .ic{ color:var(--gold); margin-bottom:.65rem; display:flex; justify-content:center; }
.info-item .ic svg{ width:22px; height:22px; }
.info-item h3{ font-size:.74rem; letter-spacing:.28em; text-transform:uppercase; color:var(--gold); font-weight:600; margin-bottom:.45rem; }
.info-item p{ color:var(--muted); font-size:.95rem; }
.info-item a{ color:var(--text); transition:color .3s; }
.info-item a:hover{ color:var(--gold-2); }

/* ============ ABOUT ============ */
.about-grid{ display:grid; grid-template-columns:1.05fr 1fr; gap:clamp(2.5rem,6vw,6rem); align-items:center; }
.about-media{ position:relative; }
.about-media .frame{
  position:relative; overflow:hidden; border-radius:4px;
  box-shadow:0 30px 70px rgba(0,0,0,.5);
}
.about-media .frame::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(200deg, transparent 55%, rgba(10,10,12,.55));
}
.about-media img{ width:100%; height:560px; object-fit:cover; transform:scale(1.02); transition:transform 1.4s var(--ease); }
.about-media:hover img{ transform:scale(1.08); }
.about-frame-border{
  position:absolute; inset:-18px 18px 18px -18px; border:1px solid var(--gold); opacity:.5;
  border-radius:4px; z-index:-1;
}
.about-badge{
  position:absolute; right:-22px; bottom:34px; z-index:3;
  background:rgba(14,14,17,.9); backdrop-filter:blur(14px);
  border:1px solid var(--line); border-radius:4px; padding:20px 26px; text-align:center;
  box-shadow:0 24px 54px rgba(0,0,0,.5);
  animation:floatY 5s ease-in-out infinite;
}
.about-badge .num{ font-family:var(--serif); font-size:2.2rem; color:var(--gold-2); line-height:1; }
.about-badge .stars{ color:var(--gold); display:flex; gap:2px; justify-content:center; margin:8px 0 6px; }
.about-badge .stars svg{ width:13px; height:13px; }
.about-badge small{ color:var(--muted); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; }
.about-text .kicker{ margin-bottom:.9rem; }
.about-text h2{ font-family:var(--serif); font-weight:500; font-size:clamp(1.8rem, 3.4vw, 2.7rem); line-height:1.18; margin-bottom:1.6rem; }
.about-text h2 em{ font-style:italic; color:var(--gold-2); }
.about-text p{ color:var(--muted); margin-bottom:1.15rem; font-size:1.02rem; }
.about-sign{ display:flex; align-items:center; gap:18px; margin-top:2.2rem; }
.about-sign .mono{
  width:60px; height:60px; border:1px solid var(--gold); border-radius:50%;
  display:grid; place-items:center; font-family:var(--serif); font-size:1.35rem; color:var(--gold-2);
}
.about-sign strong{ display:block; font-family:var(--serif); font-weight:600; font-size:1.05rem; letter-spacing:.04em; }
.about-sign small{ color:var(--muted); font-size:.74rem; letter-spacing:.22em; text-transform:uppercase; }

/* ============ SERVICES ============ */
#servicii{ background:var(--bg-2); }
#servicii::before{
  content:''; position:absolute; inset:0; opacity:.5; pointer-events:none;
  background:
    radial-gradient(circle at 15% 20%, rgba(184,41,185,.07), transparent 45%),
    radial-gradient(circle at 85% 80%, rgba(201,169,98,.06), transparent 45%);
}
.svc-grid{ position:relative; display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem; }
.svc-card{
  background:linear-gradient(160deg, rgba(255,255,255,.035), rgba(255,255,255,.008));
  border:1px solid var(--line); border-radius:4px; padding:2.5rem 2rem;
  transition:transform .5s var(--ease), border-color .5s, box-shadow .5s, background .5s;
  position:relative; overflow:hidden;
}
.svc-card::before{
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg,var(--gold),var(--purple),transparent);
  transform:scaleX(0); transform-origin:left; transition:transform .6s var(--ease);
}
.svc-card:hover{ transform:translateY(-10px); border-color:rgba(201,169,98,.4); box-shadow:0 30px 60px rgba(0,0,0,.45); background:linear-gradient(160deg, rgba(201,169,98,.05), rgba(255,255,255,.01)); }
.svc-card:hover::before{ transform:scaleX(1); }
.svc-num{
  position:absolute; top:18px; right:22px; font-family:var(--serif); font-size:2.6rem;
  color:rgba(244,241,234,.05); line-height:1;
}
.svc-icon{
  width:56px; height:56px; border:1px solid var(--line); border-radius:50%;
  display:grid; place-items:center; color:var(--gold); margin-bottom:1.5rem;
  background:rgba(201,169,98,.05); transition:transform .5s var(--ease), background .4s, color .4s;
}
.svc-card:hover .svc-icon{ transform:rotate(-8deg) scale(1.08); background:rgba(201,169,98,.14); }
.svc-icon svg{ width:24px; height:24px; }
.svc-card h3{ font-family:var(--serif); font-weight:600; font-size:1.28rem; letter-spacing:.02em; margin-bottom:.75rem; }
.svc-card p{ color:var(--muted); font-size:.94rem; }
.svc-card .more{ display:inline-flex; align-items:center; gap:.5rem; margin-top:1.3rem; font-size:.72rem; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); opacity:0; transform:translateY(8px); transition:opacity .4s, transform .4s var(--ease); }
.svc-card:hover .more{ opacity:1; transform:none; }

/* ============ SCHEDULE ============ */
.schedule-wrap{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2.5rem,6vw,6rem); align-items:center; }
.sched-card{
  border:1px solid var(--line); border-radius:4px; background:linear-gradient(160deg, rgba(255,255,255,.03), transparent);
  padding:2.2rem 2.4rem;
}
.day{ display:flex; justify-content:space-between; align-items:center; padding:15px 4px; border-bottom:1px dashed rgba(201,169,98,.14); }
.day:last-child{ border-bottom:none; }
.day span:first-child{ font-family:var(--serif); font-size:1.06rem; letter-spacing:.03em; }
.day .hours{ color:var(--muted); font-size:.9rem; letter-spacing:.08em; }
.day.closed .hours{ color:#c98a7f; font-style:italic; }
.day.today{ color:var(--gold-2); }
.day.today .hours{ color:var(--gold-2); }
.day.today span:first-child::after{ content:' • astăzi'; font-size:.68rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin-left:8px; font-family:var(--sans); }
.sched-note{
  margin-top:1.6rem; display:flex; gap:.9rem; align-items:flex-start;
  padding:1.1rem 1.3rem; border-left:2px solid var(--gold); background:rgba(201,169,98,.05);
  color:var(--muted); font-size:.88rem;
}
.sched-note svg{ width:18px; height:18px; color:var(--gold); flex:none; margin-top:2px; }
.sched-side h2{ font-family:var(--serif); font-weight:500; font-size:clamp(1.8rem,3.4vw,2.7rem); line-height:1.18; margin-bottom:1.4rem; }
.sched-side h2 em{ font-style:italic; color:var(--gold-2); }
.sched-side p{ color:var(--muted); margin-bottom:1.1rem; }
.sched-side .btn{ margin-top:.6rem; }

/* ============ REVIEWS ============ */
.rating-summary{ text-align:center; margin-bottom:3.6rem; }
.rating-summary .big{ font-family:var(--serif); font-size:clamp(4rem,9vw,6.2rem); line-height:1; color:var(--gold-2); }
.rating-summary .stars{ display:flex; gap:5px; justify-content:center; color:var(--gold); margin:1rem 0 .7rem; }
.rating-summary .stars svg{ width:24px; height:24px; }
.rating-summary p{ color:var(--muted); font-size:.82rem; letter-spacing:.26em; text-transform:uppercase; }
.review-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem; }
.review-card{
  background:linear-gradient(160deg, rgba(255,255,255,.035), rgba(255,255,255,.008));
  border:1px solid var(--line); border-radius:4px; padding:2.2rem 2rem;
  transition:transform .5s var(--ease), border-color .5s, box-shadow .5s;
  display:flex; flex-direction:column; gap:1rem;
}
.review-card:hover{ transform:translateY(-8px); border-color:rgba(201,169,98,.35); box-shadow:0 26px 54px rgba(0,0,0,.4); }
.review-card .stars{ display:flex; gap:3px; color:var(--gold); }
.review-card .stars svg{ width:15px; height:15px; }
.review-card blockquote{ color:var(--text); font-size:.98rem; font-style:italic; line-height:1.7; flex:1; }
.review-card blockquote::before{ content:'„'; font-family:var(--serif); color:var(--gold); font-size:1.6rem; }
.review-card footer{ display:flex; align-items:center; gap:13px; border-top:1px solid rgba(201,169,98,.14); padding-top:1.1rem; }
.review-card .avatar{
  width:42px; height:42px; border-radius:50%; display:grid; place-items:center;
  background:linear-gradient(135deg,var(--gold-3),var(--gold)); color:#0a0a0c;
  font-family:var(--serif); font-weight:700; font-size:.95rem;
}
.review-card footer strong{ display:block; font-size:.92rem; letter-spacing:.04em; }
.review-card footer small{ color:var(--muted); font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; }
.review-cta{ text-align:center; margin-top:3.4rem; color:var(--muted); font-size:.9rem; }
.review-cta a{ color:var(--gold-2); border-bottom:1px solid var(--gold); transition:color .3s; }
.review-cta a:hover{ color:var(--gold); }

/* ============ CONTACT ============ */
#contact{ background:var(--bg-2); }
#contact::before{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(circle at 80% 20%, rgba(184,41,185,.07), transparent 45%);
}
.contact-card{
  position:relative; display:grid; grid-template-columns:1fr 1.1fr; overflow:hidden;
  border:1px solid var(--line); border-radius:6px; background:var(--surface);
  box-shadow:0 40px 90px rgba(0,0,0,.5);
}
.contact-info{ padding:clamp(2.2rem,5vw,4rem); }
.contact-info .kicker{ margin-bottom:1rem; }
.contact-info h3{ font-family:var(--serif); font-weight:500; font-size:clamp(1.6rem,3vw,2.3rem); margin-bottom:1.8rem; }
.contact-info h3 em{ font-style:italic; color:var(--gold-2); }
.contact-list li{ display:flex; gap:1.1rem; align-items:flex-start; padding:1rem 0; border-bottom:1px solid rgba(201,169,98,.12); }
.contact-list li:last-child{ border-bottom:none; }
.contact-list svg{ width:20px; height:20px; color:var(--gold); flex:none; margin-top:3px; }
.contact-list .lbl{ display:block; font-size:.68rem; letter-spacing:.26em; text-transform:uppercase; color:var(--gold); margin-bottom:.25rem; }
.contact-list .val{ color:var(--text); font-size:1rem; }
.contact-list a.val:hover{ color:var(--gold-2); }
.contact-btns{ display:flex; gap:1rem; flex-wrap:wrap; margin-top:2rem; }
.map-visual{
  position:relative; min-height:420px; background-size:cover; background-position:center;
}
.map-visual::before{
  content:''; position:absolute; inset:0;
  background:linear-gradient(120deg, rgba(10,10,12,.25), rgba(10,10,12,.72));
}
.map-pin{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); z-index:2;
  text-align:center; animation:floatY 3.4s ease-in-out infinite;
}
.map-pin .pin{
  width:64px; height:64px; margin:0 auto 14px; border-radius:50% 50% 50% 0; transform:rotate(-45deg);
  background:linear-gradient(135deg,var(--gold-2),var(--gold-3));
  display:grid; place-items:center; box-shadow:0 18px 40px rgba(201,169,98,.35);
}
.map-pin .pin svg{ width:26px; height:26px; transform:rotate(45deg); color:#0a0a0c; }
.map-pin .addr{
  background:rgba(10,10,12,.82); backdrop-filter:blur(12px); border:1px solid var(--line);
  padding:12px 22px; border-radius:4px; font-size:.9rem; white-space:nowrap;
}
.map-pin .addr strong{ font-family:var(--serif); color:var(--gold-2); font-weight:600; }
.map-cta{
  position:absolute; bottom:26px; left:50%; transform:translateX(-50%); z-index:2;
  font-size:.72rem; letter-spacing:.22em; text-transform:uppercase; color:var(--gold-2);
  border:1px solid var(--gold); padding:12px 24px; border-radius:2px; background:rgba(10,10,12,.55);
  backdrop-filter:blur(8px); transition:background .35s, color .35s, transform .35s;
}
.map-cta:hover{ background:var(--gold); color:#0a0a0c; transform:translate(-50%,-3px); }

/* ============ FOOTER ============ */
footer{ border-top:1px solid var(--line); padding:64px 0 34px; background:var(--bg); }
.foot-grid{ display:flex; justify-content:space-between; align-items:flex-start; gap:2.5rem; flex-wrap:wrap; padding-bottom:2.4rem; border-bottom:1px solid rgba(201,169,98,.12); }
.foot-brand p{ color:var(--muted); font-size:.88rem; max-width:340px; margin-top:1rem; }
.foot-links{ display:flex; gap:2.6rem; flex-wrap:wrap; }
.foot-links h4{ font-size:.7rem; letter-spacing:.3em; text-transform:uppercase; color:var(--gold); margin-bottom:1rem; font-weight:600; }
.foot-links li{ margin-bottom:.55rem; }
.foot-links a{ color:var(--muted); font-size:.9rem; transition:color .3s; }
.foot-links a:hover{ color:var(--gold-2); }
.foot-bottom{ display:flex; justify-content:space-between; align-items:center; gap:1rem; flex-wrap:wrap; padding-top:1.8rem; color:var(--muted); font-size:.8rem; }
.foot-bottom .credit a{ color:var(--gold-2); }

/* ============ RESPONSIVE ============ */
@media (max-width: 992px){
  .svc-grid{ grid-template-columns:repeat(2,1fr); }
  .review-grid{ grid-template-columns:1fr 1fr; }
  .review-card:last-child{ grid-column:1 / -1; max-width:520px; margin-inline:auto; width:100%; }
  .about-grid{ grid-template-columns:1fr; gap:4rem; }
  .about-media{ max-width:620px; margin-inline:auto; width:100%; }
  .about-badge{ right:10px; }
  .schedule-wrap{ grid-template-columns:1fr; }
  .contact-card{ grid-template-columns:1fr; }
  .map-visual{ min-height:320px; }
  .info-grid{ grid-template-columns:1fr 1fr; }
  .info-item:last-child{ grid-column:1 / -1; }
}

@media (max-width: 768px){
  .section-pad{ padding:84px 0; }
  .hamburger{ display:block; }
  .nav-links{
    position:fixed; inset:0; z-index:995;
    background:rgba(8,8,11,.97);
    backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
    flex-direction:column; justify-content:center; align-items:center; gap:1.6rem;
    transform:translateY(-100%); opacity:0; visibility:hidden;
    transition:transform .6s var(--ease), opacity .45s ease, visibility .45s;
  }
  .nav-links.open{ transform:translateY(0); opacity:1; visibility:visible; }
  .nav-links > a:not(.nav-cta){
    font-size:1.35rem; letter-spacing:.18em; color:var(--text);
    opacity:0; transform:translateY(20px);
    transition:opacity .5s ease .05s, transform .5s var(--ease) .05s, color .3s;
  }
  .nav-links.open > a:not(.nav-cta){ opacity:1; transform:none; }
  .nav-links.open > a:nth-child(1){ transition-delay:.08s; }
  .nav-links.open > a:nth-child(2){ transition-delay:.14s; }
  .nav-links.open > a:nth-child(3){ transition-delay:.20s; }
  .nav-links.open > a:nth-child(4){ transition-delay:.26s; }
  .nav-links.open > a:nth-child(5){ transition-delay:.32s; }
  .nav-links.open > a:nth-child(6){ transition-delay:.38s; }
  .nav-cta{ opacity:0; transform:translateY(20px); transition:opacity .5s ease .44s, transform .5s var(--ease) .44s; }
  .nav-links.open .nav-cta{ opacity:1; transform:none; }
  .nav-links > a:not(.nav-cta)::after{ display:none; }
  .hero-content{ padding:130px 0 120px; }
  .hero-meta{ gap:1rem; flex-direction:column; }
  .info-grid{ grid-template-columns:1fr; }
  .info-item:last-child{ grid-column:auto; }
}

@media (max-width: 560px){
  .svc-grid{ grid-template-columns:1fr; }
  .review-grid{ grid-template-columns:1fr; }
  .review-card:last-child{ grid-column:auto; }
  .sched-card{ padding:1.6rem 1.4rem; }
  .about-media img{ height:420px; }
  .hero-actions .btn{ width:100%; justify-content:center; }
  .map-pin .addr{ white-space:normal; text-align:center; }
  .foot-grid{ flex-direction:column; }
}
