
:root{
  --ink:#0f1113;
  --char:#1a1c1f;
  --slate:#262a2f;
  --sand:#f2eee6;
  --sand2:#e8e1d4;
  --gold:#d8b36a;
  --gold2:#9d7a3b;
  --paper:#fbfaf7;
  --muted:#6b6f76;
  --shadow: 0 10px 30px rgba(0,0,0,.18);
  --radius: 14px;
  --max: 1120px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.5;
}
a{color:inherit}
.container{max-width:var(--max);margin:0 auto;padding:0 22px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:14px 22px;border-radius:10px;border:1px solid rgba(0,0,0,.12);
  background:linear-gradient(180deg, #c8a25c, #a88343);
  color:white;text-decoration:none;font-weight:650;letter-spacing:.3px;
  box-shadow: 0 10px 18px rgba(0,0,0,.18);
}
.btn:hover{filter:brightness(1.03)}
.btn.secondary{
  background:transparent;color:var(--char);
  border-color: rgba(0,0,0,.2);
  box-shadow:none;
}
.pill{
  display:inline-flex;gap:10px;align-items:center;
  padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18);color:#fff;font-weight:600;
}
header{
  position:sticky;top:0;z-index:50;
  background:linear-gradient(180deg, rgba(18,20,23,.98), rgba(18,20,23,.92));
  border-bottom:1px solid rgba(255,255,255,.06);
  backdrop-filter: blur(10px);
}
.navbar{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:16px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none}
.brand img{height:46px;width:auto;display:block}
nav ul{display:flex;gap:22px;list-style:none;margin:0;padding:0;align-items:center}
nav a{color:#f4f1ea;text-decoration:none;font-weight:600;opacity:.92}
nav a:hover{opacity:1;color:var(--gold)}
.nav-cta{display:flex;gap:12px;align-items:center}
.callout{
  display:inline-flex;align-items:center;gap:10px;
  color:#fff;text-decoration:none;font-weight:700;
  padding:10px 14px;border-radius:10px;
  background:rgba(216,179,106,.14);
  border:1px solid rgba(216,179,106,.28);
}
.callout:hover{background:rgba(216,179,106,.18)}
.mobile-toggle{display:none;background:transparent;border:0;color:#fff;font-size:26px;line-height:1;padding:10px;border-radius:10px}
.mobile-toggle:hover{background:rgba(255,255,255,.08)}
@media (max-width: 920px){
  nav ul{display:none}
  .mobile-toggle{display:inline-flex}
}
.mobile-drawer{
  display:none;
  border-top:1px solid rgba(255,255,255,.06);
}
.mobile-drawer.open{display:block}
.mobile-drawer a{
  display:block;padding:14px 22px;color:#f4f1ea;text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.06);font-weight:650
}
.mobile-drawer a:hover{background:rgba(255,255,255,.06);color:var(--gold)}
.hero{
  position:relative;
  min-height:560px;
  background:#111;
  overflow:hidden;
}
.hero img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:saturate(1.02) contrast(1.02);
  transform:scale(1.01);
}
.hero:after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(90deg, rgba(0,0,0,.58) 0%, rgba(0,0,0,.25) 55%, rgba(0,0,0,.05) 100%);
}
.hero-content{
  position:relative;z-index:2;
  padding:74px 0 54px;
  color:#fff;
}
.hero h1{
  font-family: Georgia, 'Times New Roman', serif;
  font-weight:600;
  font-size:56px;line-height:1.06;margin:0 0 14px;
  letter-spacing:.2px;
  text-shadow:0 12px 30px rgba(0,0,0,.55);
}
.hero p{
  max-width:700px;
  font-size:18px;margin:0 0 28px;opacity:.95
}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.hero-sub{
  margin-top:18px;display:flex;gap:12px;flex-wrap:wrap
}
.section{
  padding:58px 0;
  background:var(--paper);
}
.section.sand{background:linear-gradient(180deg,var(--sand), var(--paper))}
.section.dark{
  background: radial-gradient(1200px 380px at 50% 0%, rgba(216,179,106,.12), rgba(0,0,0,0)),
              linear-gradient(180deg, #171a1d, #101214);
  color:#f4f1ea;
}
.h2{
  text-align:center;
  font-family: Georgia, 'Times New Roman', serif;
  font-size:34px;margin:0 0 14px;font-weight:600;
}
.subhead{text-align:center;color:var(--muted);max-width:780px;margin:0 auto 28px}
.dark .subhead{color:rgba(244,241,234,.8)}
.divider{
  width:110px;height:2px;background:linear-gradient(90deg, transparent, rgba(216,179,106,.9), transparent);
  margin:14px auto 18px;border-radius:999px;
}
.grid{
  display:grid;gap:18px;
}
.services{
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 980px){ .services{grid-template-columns: repeat(2, 1fr);} .hero h1{font-size:46px} }
@media (max-width: 520px){ .services{grid-template-columns: 1fr;} .hero{min-height:520px} .hero h1{font-size:38px} }
.card{
  background:#fff;border:1px solid rgba(0,0,0,.08);
  border-radius:var(--radius);
  overflow:hidden;box-shadow: 0 10px 20px rgba(0,0,0,.08);
}
.card img{width:100%;height:170px;object-fit:cover;display:block}
.card .cap{
  padding:12px 14px;
  text-align:center;
  font-weight:750;
  letter-spacing:.2px;
}
.process{
  display:grid;grid-template-columns: repeat(4, 1fr);gap:14px;margin-top:10px
}
@media (max-width: 900px){ .process{grid-template-columns: 1fr 1fr;} }
@media (max-width: 520px){ .process{grid-template-columns: 1fr;} }
.step{
  background:rgba(255,255,255,.9);
  border:1px solid rgba(0,0,0,.08);
  border-radius:16px;padding:16px 16px 14px;
  display:flex;gap:14px;align-items:flex-start
}
.step .num{
  width:38px;height:38px;border-radius:999px;
  display:grid;place-items:center;
  background:rgba(216,179,106,.18);
  border:1px solid rgba(216,179,106,.35);
  color:#6c5325;font-weight:900
}
.step b{display:block;margin-bottom:4px}
.whybar{
  display:grid;grid-template-columns: repeat(4, 1fr);
  gap:16px;margin-top:26px
}
@media (max-width: 900px){ .whybar{grid-template-columns: 1fr 1fr;} }
@media (max-width: 520px){ .whybar{grid-template-columns: 1fr;} }
.why{
  display:flex;gap:14px;align-items:flex-start;
  padding:16px;border-radius:16px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
}
.why .icon{
  width:44px;height:44px;border-radius:14px;
  display:grid;place-items:center;
  background:rgba(216,179,106,.16);
  border:1px solid rgba(216,179,106,.25);
  color:var(--gold);font-weight:900
}
.split{
  display:grid;grid-template-columns: 1fr 1fr;gap:18px;margin-top:26px
}
@media (max-width: 900px){ .split{grid-template-columns:1fr} }
.split img{
  width:100%;height:320px;object-fit:cover;border-radius:18px;border:1px solid rgba(255,255,255,.10);
  box-shadow: 0 16px 40px rgba(0,0,0,.28);
}
.footer{
  background:linear-gradient(180deg,#101214,#0c0e10);
  color:#f4f1ea;padding:34px 0 18px;border-top:1px solid rgba(255,255,255,.06)
}
.footer-grid{display:grid;grid-template-columns: 1.2fr .9fr .9fr;gap:18px;align-items:start}
@media (max-width: 900px){ .footer-grid{grid-template-columns:1fr} }
.footer small{color:rgba(244,241,234,.72)}
.footer a{color:#f4f1ea;text-decoration:none}
.footer a:hover{color:var(--gold)}
.legal-links a{
  font-weight:800;
  text-decoration: underline;
  text-underline-offset: 4px;
  color: var(--gold);
}
.legal-links a:hover{filter:brightness(1.08)}
.page-hero{
  padding:44px 0 18px;background:linear-gradient(180deg,var(--sand),var(--paper));
  border-bottom:1px solid rgba(0,0,0,.06);
}
.page-hero h1{margin:0;font-family:Georgia, 'Times New Roman', serif;font-size:38px}
.kicker{color:var(--muted);margin:10px 0 0;max-width:900px}
.content{padding:34px 0 60px}
.prose{max-width: 920px}
.prose h2{font-family:Georgia, 'Times New Roman', serif;margin-top:28px}
.prose p{margin:12px 0;color:#2a2d31}
.prose ul{margin:10px 0 10px 20px}
.form{
  max-width: 920px;
  background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:18px;
  padding:18px;box-shadow: 0 18px 38px rgba(0,0,0,.10);
}
.fieldgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width: 760px){ .fieldgrid{grid-template-columns:1fr} }
label{font-weight:700}
input,select,textarea{
  width:100%;padding:12px 12px;border-radius:12px;border:1px solid rgba(0,0,0,.18);
  font:inherit;background:#fff;
}
textarea{min-height:130px;resize:vertical}
.check{
  display:flex;gap:12px;align-items:flex-start;
  padding:12px;border-radius:14px;
  border:1px solid rgba(0,0,0,.10);
  background:rgba(242,238,230,.65);
  margin-top:12px
}
.check input{width:18px;height:18px;margin-top:3px}
.check .txt{font-size:14px;color:#1f2226}
.check .txt a{font-weight:900;text-decoration: underline;text-underline-offset:3px;color:#1f2226}
.check .txt a:hover{color:#000}
.notice{
  padding:14px 14px;border-radius:14px;background:rgba(216,179,106,.12);
  border:1px solid rgba(216,179,106,.28);color:#3a2a12;
  margin:16px 0 0
}
.accordion{max-width:920px}
.qa{
  background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:16px;
  padding:14px 16px;margin:12px 0;box-shadow: 0 12px 24px rgba(0,0,0,.06)
}
.qa button{
  width:100%;text-align:left;background:transparent;border:0;padding:0;
  font:inherit;font-weight:850;display:flex;justify-content:space-between;align-items:center;gap:14px;cursor:pointer
}
.qa .a{display:none;margin-top:10px;color:#2a2d31}
.qa.open .a{display:block}
.badge{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(216,179,106,.16);border:1px solid rgba(216,179,106,.32);
  padding:8px 10px;border-radius:999px;font-weight:800;color:#3a2a12
}
