/* ==========================================================================
   Blue Horse — Footer / Legal pages
   Palette:
   #010D1D  ink        #051C34  navy-900   #03294E  navy-700
   #016DEE  blue       #02B4FB  cyan       #E7AD57  gold
   #FCE999  cream      #F8F8F8  paper      #0A0A0A  black
   ========================================================================== */
:root{
  --ink:#010D1D;
  --navy-900:#051C34;
  --navy-700:#03294E;
  --blue:#016DEE;
  --cyan:#02B4FB;
  --gold:#E7AD57;
  --cream:#FCE999;
  --paper:#F8F8F8;
  --black:#0A0A0A;
  --text:#1b2a3a;
  --muted:#5b6b7b;
}

*{margin:0;padding:0;box-sizing:border-box;text-decoration:none;list-style:none}
html{scroll-behavior:smooth}
body{
  background:var(--paper);
  color:var(--text);
  font-family:"Lato",system-ui,-apple-system,Segoe UI,sans-serif;
  font-size:18px;
  line-height:1.65;
  overflow-x:hidden;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;font:inherit}
button{border:0;font:inherit}

.container{position:relative;z-index:2;width:min(1000px,100% - 48px);margin:0 auto}
.center{text-align:center}

/* --- Call to action button --------------------------------------------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:14px;
  min-height:60px;padding:16px 42px;
  border-radius:50px;border-bottom:5px solid #0a4c9f;
  background:linear-gradient(180deg,#02B4FB,#016DEE);
  color:#fff;
  font-family:"Montserrat",sans-serif;font-size:20px;font-weight:700;
  letter-spacing:.3px;text-transform:uppercase;line-height:1.2;
  box-shadow:0 10px 24px rgba(1,109,238,.28);
  transition:transform .25s ease,filter .25s ease,box-shadow .25s ease;
}
.btn:hover,.btn:focus-visible{filter:brightness(1.06);transform:translateY(-2px);box-shadow:0 14px 30px rgba(2,180,251,.34)}
.btn:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}

/* --- Page heading (dark hero banner) ----------------------------------- */
.page-heading{
  padding:60px 0;
  background:
    radial-gradient(900px 420px at 80% -40%,rgba(2,180,251,.22),transparent 60%),
    linear-gradient(120deg,var(--ink),var(--navy-700) 65%,var(--navy-900));
  color:#fff;text-align:center;
  border-bottom:1px solid rgba(2,180,251,.25);
}
.page-heading span{
  display:inline-block;margin-bottom:14px;
  color:var(--gold);font-family:"Montserrat",sans-serif;
  font-size:14px;font-weight:600;letter-spacing:5px;text-transform:uppercase;
}
.page-heading h1{
  font-family:"Montserrat",sans-serif;font-weight:700;
  font-size:clamp(30px,4vw,48px);line-height:1.2;overflow-wrap:anywhere;
}
.page-heading p{max-width:760px;margin:16px auto 0;color:#c6d6e6;font-size:20px;line-height:1.5}

/* --- Legal body --------------------------------------------------------- */
.legal{padding:64px 0;background:var(--paper);overflow-wrap:anywhere}
.legal h2,.legal h3{
  margin:34px 0 14px;font-family:"Montserrat",sans-serif;line-height:1.3;
}
.legal h2{font-size:28px;color:var(--blue)}
.legal h2:first-child{margin-top:0}
.legal h3{font-size:22px;color:var(--navy-700)}
.legal p,.legal ul,.legal ol{margin-bottom:18px}
.legal ul,.legal ol{padding-left:26px}
.legal ul li,.legal ol li{margin-bottom:10px}
.legal ul,.legal ul li{list-style:disc}
.legal ol,.legal ol li{list-style:decimal}
.legal b,.legal strong{color:var(--navy-900)}
.legal a{color:var(--blue);text-decoration:underline;text-underline-offset:3px;transition:color .2s ease}
.legal a:hover,.legal a:focus-visible{color:var(--cyan)}
.legal em{color:var(--muted)}

/* Callout / tip box */
.legal .notice{
  padding:20px 24px;margin-block:26px;
  border-left:4px solid var(--gold);border-radius:8px;
  background:linear-gradient(180deg,rgba(252,233,153,.22),rgba(252,233,153,.08));
}
.legal .notice h3{margin-top:0;color:var(--navy-900)}
.legal .notice p:last-child{margin-bottom:0}

/* --- Contact step-by-step ---------------------------------------------- */
.contact-steps .step{margin-top:56px}
.contact-steps .step.split{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.contact-steps .step.split.reverse .step-media{order:-1}
.contact-steps img{
  width:100%;border-radius:20px;
  border:1px solid rgba(3,41,78,.12);
  box-shadow:0 14px 34px rgba(1,13,29,.12);
}
.contact-steps .muted{color:var(--muted)}
.contact-steps .notice h3{margin-top:0}
.contact-steps .support-cta{margin-top:56px;text-align:center}
.contact-steps .support-cta h2{margin-top:0;color:var(--navy-900)}
.contact-steps .support-cta .btn{color:#fff;text-decoration:none}

/* --- Footer ------------------------------------------------------------- */
footer{background:linear-gradient(180deg,var(--navy-900),var(--ink))}
footer .container{padding:44px 0}
footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;margin-bottom:28px}
footer nav a{color:#dce7f2;font-size:16px;transition:color .2s ease}
footer nav a:hover,footer nav a:focus-visible{color:var(--cyan)}
footer .container>p{
  max-width:1007px;margin:0 auto;padding:24px 32px;
  border-top:1px solid rgba(2,180,251,.3);border-radius:16px;
  color:#aebccb;font-size:15px;line-height:1.55;text-align:center;
}
footer small{
  display:block;padding:28px 16px;background:var(--black);
  color:#8fa1b3;font-size:15px;text-align:center;
}

/* --- Responsive --------------------------------------------------------- */
@media(max-width:900px){
  .page-heading{padding:44px 0}
  .page-heading p{font-size:18px}
  .legal{padding:44px 0;font-size:17px}
  .legal h2{font-size:24px}
  .contact-steps .step{margin-top:40px}
  .contact-steps .step.split{grid-template-columns:1fr;gap:20px}
  .contact-steps .step.split.reverse .step-media{order:0}
}
@media(max-width:620px){
  .btn{width:100%;padding:15px 24px;font-size:18px}
  footer nav{gap:14px 20px}
  footer .container>p{padding:22px 18px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
}
