:root{
  --navy:#152951;
  --navy-deep:#0e1c3a;
  --ink:#1c2333;
  --muted:#5b6470;
  --line:#e2e5ea;
  --paper:#ffffff;
  font-family:"Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body{
  color:var(--ink);
  background:var(--paper);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  width:100%;
}
img,svg{max-width:100%;height:auto;}
a{color:#1a5cc4;text-decoration:underline;}
a:hover{color:var(--navy-deep);}

/* ===================== HEADER ===================== */
.site-header{
  border-bottom:1px solid var(--line);
  background:var(--paper);
}
.header-inner{
  max-width:1180px;
  margin:0 auto;
  padding:22px 28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.logo{display:flex;align-items:center;}
.logo-text{display:flex;flex-direction:column;line-height:1.15;}
.logo-title{font-weight:800;font-size:24px;letter-spacing:.2px;color:var(--navy);}
.logo-sub{font-size:12.5px;letter-spacing:1.2px;color:var(--muted);font-weight:700;}
.phone-btn{
  background:var(--navy);
  color:#fff;
  font-weight:700;
  font-size:14px;
  padding:12px 22px;
  border-radius:999px;
  text-decoration:none;
  white-space:nowrap;
  transition:background .2s ease, transform .15s ease;
}
.phone-btn:hover{background:var(--navy-deep);transform:translateY(-1px);}

/* ===================== POLICY CONTENT ===================== */
.policy-wrap{
  max-width:1180px;
  margin:0 auto;
  padding:56px 28px 80px;
}
.policy-wrap h1{
  font-size:38px;
  font-weight:800;
  color:var(--navy);
  margin:0 0 22px;
}
.policy-wrap h2{
  font-size:22px;
  font-weight:700;
  color:var(--navy);
  margin:34px 0 10px;
}
.policy-wrap p{
  font-size:18px;
  margin:0 0 14px;
  color:var(--ink);
}
.policy-wrap p.meta{
  margin-bottom:6px;
}
.policy-wrap ul{
  margin:0 0 16px;
  padding-left:22px;
}
.policy-wrap ul li{
  font-size:15px;
  margin-bottom:6px;
}

/* ===================== FOOTER ===================== */
.site-footer{
  border-top:1px solid var(--line);
  padding:36px 28px 0;
}
.footer-top{
  max-width:1180px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:16px;
  padding-bottom:26px;
}
.footer-links{display:flex;gap:15px;flex-wrap:wrap;font-size:15.5px;font-weight:600;color:var(--ink);}
.footer-links a{text-decoration:none;
color: #000 !important;}
.footer-links a:hover{text-decoration:underline;}
.footer-bottom{
  border-top:1px solid var(--line);
  text-align:center;
  font-size:12px;
  color:var(--muted);
  padding:16px 0;
}

/* ===================== BACK TO TOP ===================== */
.back-to-top{
  position:fixed;
  right:24px;
  bottom:24px;
  width:42px;
  height:42px;
  border-radius:8px;
  border:none;
  background:var(--navy);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:0 6px 18px rgba(21,41,81,0.25);
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
}
.back-to-top.visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.back-to-top:hover{background:var(--navy-deep);}

/* ===================== RESPONSIVE ===================== */
@media (max-width:1024px){
  .header-inner{padding:20px;}
  .policy-wrap{padding:48px 20px 70px;}
}

@media (max-width:600px){
  .header-inner{flex-wrap:wrap;padding:16px;gap:10px;}
  .logo svg{width:56px;height:56px;}
  .logo-title{font-size:19px;}
  .logo-sub{font-size:10px;}
  .phone-btn{padding:10px 16px;font-size:12.5px;}
  .policy-wrap{padding:32px 16px 56px;}
  .policy-wrap h1{font-size:28px;}
  .policy-wrap h2{font-size:18px;margin:26px 0 8px;}
  .policy-wrap p{font-size:16px;}
  .site-footer{padding:28px 16px 0;}
  .footer-top{flex-direction:column;align-items:flex-start;padding-bottom:20px;}
  .footer-links{font-size:14px;gap:10px 16px;}
  .back-to-top{right:16px;bottom:16px;width:38px;height:38px;}
}

@media (max-width:400px){
  .header-inner{flex-direction:column;align-items:flex-start;}
  .phone-btn{align-self:stretch;text-align:center;}
  .policy-wrap h1{font-size:24px;}
}

@media (prefers-reduced-motion:reduce){
  *{transition:none !important;}
}
