:root{
  --accent:#1F3A5F;
  --accent-light:#2E5A8F;
  --gold:#B8863F;
  --bg:#FAFAF8;
  --text:#1D2733;
  --muted:#5B6472;
  --card:#FFFFFF;
  --border:#E4E7EB;
  --radius:14px;
  font-family:"Georgia", "Times New Roman", serif;
}
*{box-sizing:border-box;}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  line-height:1.65;
}
h1,h2,h3{font-family:"Georgia","Times New Roman",serif; color:var(--accent); line-height:1.2;}
a{color:var(--accent-light);}
.container{max-width:1080px;margin:0 auto;padding:0 24px;}
.btn{
  display:inline-block;
  background:var(--gold);
  color:#fff;
  padding:16px 36px;
  border-radius:999px;
  font-weight:700;
  text-decoration:none;
  font-size:1.05rem;
  transition:transform .15s ease, box-shadow .15s ease;
  box-shadow:0 8px 24px rgba(184,134,63,.35);
}
.btn:hover{transform:translateY(-2px); box-shadow:0 12px 30px rgba(184,134,63,.45);}
.btn-outline{
  display:inline-block;
  border:2px solid var(--accent);
  color:var(--accent);
  padding:14px 34px;
  border-radius:999px;
  font-weight:700;
  text-decoration:none;
}
header.hero{
  background:linear-gradient(160deg, var(--accent) 0%, #14263D 100%);
  color:#fff;
  padding:90px 0 100px;
  text-align:center;
}
header.hero .eyebrow{
  text-transform:uppercase;
  letter-spacing:2px;
  font-size:.8rem;
  color:#C9D6E5;
  font-weight:600;
}
header.hero h1{
  color:#fff;
  font-size:2.6rem;
  margin:18px 0 20px;
  max-width:820px;
  margin-left:auto;
  margin-right:auto;
}
header.hero p.lead{
  font-size:1.2rem;
  color:#DCE5F0;
  max-width:680px;
  margin:0 auto 36px;
}
section{padding:80px 0;}
section.alt{background:#F1F3F6;}
h2.section-title{
  font-size:2rem;
  text-align:center;
  margin-bottom:14px;
}
p.section-sub{
  text-align:center;
  color:var(--muted);
  max-width:620px;
  margin:0 auto 50px;
  font-size:1.05rem;
}
.grid{display:grid; gap:28px;}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-2{grid-template-columns:repeat(2,1fr);}
@media(max-width:820px){.grid-3,.grid-2{grid-template-columns:1fr;}}
.card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:32px;
}
.card h3{margin-top:0;font-size:1.2rem;}
.card p{color:var(--muted); font-size:.98rem;}
.badge{
  display:inline-block;
  background:#EAF0F7;
  color:var(--accent);
  border-radius:999px;
  padding:4px 14px;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.5px;
  text-transform:uppercase;
  margin-bottom:10px;
}
.pricing-box{
  background:var(--card);
  border:2px solid var(--gold);
  border-radius:20px;
  padding:48px;
  max-width:560px;
  margin:0 auto;
  text-align:center;
  box-shadow:0 20px 50px rgba(0,0,0,.06);
}
.price{
  font-size:3.4rem;
  font-weight:800;
  color:var(--accent);
  margin:10px 0 0;
}
.price small{font-size:1.1rem; color:var(--muted); font-weight:500;}
ul.check-list{list-style:none; padding:0; margin:26px 0; text-align:left;}
ul.check-list li{
  padding:10px 0 10px 32px;
  position:relative;
  border-bottom:1px solid var(--border);
  color:var(--text);
}
ul.check-list li:last-child{border-bottom:none;}
ul.check-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  color:var(--gold);
  font-weight:800;
}
.faq details{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:10px;
  padding:18px 22px;
  margin-bottom:14px;
}
.faq summary{font-weight:700; cursor:pointer; color:var(--accent);}
.faq p{color:var(--muted); margin-top:12px; margin-bottom:0;}
footer{
  background:#14263D;
  color:#B8C4D4;
  padding:50px 0 30px;
  text-align:center;
  font-size:.9rem;
}
footer a{color:#DCE5F0;}
footer .links{margin-bottom:18px;}
footer .links a{margin:0 12px;}
.guarantee{
  display:flex;
  align-items:center;
  gap:16px;
  background:#F6F1E7;
  border:1px solid #E6D9BC;
  border-radius:12px;
  padding:20px 26px;
  margin-top:24px;
  text-align:left;
}
.guarantee .icon{font-size:2rem;}
.timeline{border-left:3px solid var(--accent); margin-left:12px; padding-left:28px;}
.timeline .step{margin-bottom:34px; position:relative;}
.timeline .step::before{
  content:"";
  position:absolute;
  left:-35px;
  top:4px;
  width:14px;
  height:14px;
  border-radius:50%;
  background:var(--gold);
}
.warn-box{
  background:#FDF3F0;
  border:1px solid #F3D4C8;
  border-radius:12px;
  padding:22px 26px;
  color:#7A3D2C;
  font-size:.95rem;
  max-width:760px;
  margin:40px auto 0;
}
