:root{
  --bg:#f5f3ef;         /* light luxury */
  --panel:#ffffff;
  --panel2:#f0ebe6;      /* warm tan */
  --text:#222222;
  --muted:#6f6f6f;
  --line:rgba(0,0,0,.08);

  /* burgundy -> dark burgundy */
  --accent:#7b1e2b;
  --accent2:#3f0c13;

  --shadow: 0 18px 45px rgba(0,0,0,.12);
}

*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; scroll-behavior:smooth; }

body{
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  background:
    radial-gradient(900px 600px at 20% 0%, rgba(123,30,43,.08), transparent 55%),
    radial-gradient(900px 600px at 80% 10%, rgba(63,12,19,.07), transparent 55%),
    var(--bg);
}

/* watermark logo (upload as logo.png) */
body::before{
  content:"";
  position: fixed;
  inset: 0;
  background: url("logo.png") center no-repeat;
  background-size: 720px;
  opacity: 0.06;          /* subtle watermark */
  pointer-events:none;
  z-index:-1;
}

.container{ width:min(1120px, 92vw); margin:0 auto; }

.topbar{
  position:sticky; top:0; z-index:10;
  background: rgba(245,243,239,.85);
  border-bottom:1px solid var(--line);
  backdrop-filter: blur(10px);
}
.topbar__inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 0;
}

.brand{ display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--text); }
.logo{ height:46px; width:auto; }
.brand__mark{
  width:44px; height:44px; border-radius:14px;
  display:grid; place-items:center;
  background: linear-gradient(135deg, rgba(123,30,43,.12), rgba(63,12,19,.10));
  border:1px solid var(--line);
  font-family: Montserrat, sans-serif;
  font-weight:800;
}
.brand__text{ display:flex; flex-direction:column; line-height:1.05; }
.brand__text strong{ font-family: Montserrat, sans-serif; letter-spacing:.2px; }
.brand__text span{ color:var(--muted); font-size:13px; }

.nav__toggle{
  display:none;
  background:transparent;
  border:1px solid var(--line);
  color:var(--text);
  padding:10px 12px;
  border-radius:12px;
}
.nav__menu{ display:flex; gap:18px; align-items:center; }
.nav__menu a{ color:var(--muted); text-decoration:none; font-weight:700; }
.nav__menu a:hover{ color:var(--text); }

.hero{ padding:64px 0 36px; }
.hero__grid{
  display:grid;
  grid-template-columns: 1.25fr .75fr;
  gap:22px;
  align-items:start;
}

.badge{
  display:inline-flex;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid var(--line);
  background: rgba(255,255,255,.65);
  color:var(--muted);
  margin:0 0 14px;
  font-weight:700;
}

h1{
  font-family: Montserrat, sans-serif;
  font-size: clamp(34px, 4.2vw, 54px);
  line-height:1.05;
  margin:0 0 12px;
}

.subhead{
  color:var(--muted);
  font-size: clamp(16px, 1.45vw, 19px);
  line-height:1.6;
  margin:0 0 18px;
}

.cta{ display:flex; gap:12px; flex-wrap:wrap; margin: 16px 0 18px; }

.btn{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  padding:12px 16px;
  border-radius:14px;
  border:1px solid var(--line);
  text-decoration:none;
  color:#fff;
  background: linear-gradient(135deg, var(--accent), var(--accent2));
  font-weight:900;
  letter-spacing:.2px;
}
.btn:hover{ filter:brightness(1.03); }

.btn--ghost{
  background: rgba(255,255,255,.75);
  color:var(--text);
}
.btn--small{ padding:10px 12px; border-radius:12px; font-weight:900; }
.btn--full{ width:100%; }

.trust{ display:flex; gap:14px; flex-wrap:wrap; }
.trust__item{
  display:flex; gap:10px; align-items:center;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid var(--line);
  background: rgba(255,255,255,.70);
  color:var(--muted);
}
.trust__num{
  width:26px; height:26px;
  display:grid; place-items:center;
  border-radius:9px;
  background: rgba(123,30,43,.10);
  color:var(--text);
  border:1px solid var(--line);
}

.card{
  background: rgba(255,255,255,.78);
  border:1px solid var(--line);
  border-radius:18px;
  padding:18px;
  box-shadow: var(--shadow);
}
.card h3{ margin:0 0 6px; font-family: Montserrat, sans-serif; }
.muted{ color:var(--muted); }
.tiny{ font-size:12.5px; line-height:1.45; }

.contact-quick{ display:grid; gap:10px; margin:14px 0 8px; }

.section{ padding:56px 0; }
.section--alt{
  background: linear-gradient(180deg, transparent, rgba(255,255,255,.55), transparent);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
