:root{
  --dusk-blue:#355991;
  --pacific-cyan:#3F909C;
  --charcoal:#343C45;
  --platinum:#F5F7FA;
  --sand:#CCBF98;
  --white:#ffffff;
  --radius:16px;
  --shadow:0 10px 30px rgba(52,60,69,0.08);
  --shadow-lg:0 20px 50px rgba(52,60,69,0.14);
  --font-serif: Georgia, 'Iowan Old Style', 'Palatino Linotype', 'URW Palladio L', Palatino, serif;
  --font-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-sans);
  color:var(--charcoal);
  background:var(--white);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:var(--font-serif);font-weight:700;color:var(--charcoal);line-height:1.2;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;}
.container{max-width:1160px;margin:0 auto;padding:0 24px;}
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:14px 28px;border-radius:100px;font-weight:600;font-size:15px;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
  border:2px solid transparent;
}
.btn-primary{background:var(--dusk-blue);color:#fff;box-shadow:0 8px 20px rgba(53,89,145,0.28);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(53,89,145,0.36);}

/* HEADER */
header{
  position:sticky;top:0;z-index:100;
  background:rgba(255,255,255,0.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(52,60,69,0.08);
}
.nav{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 24px;max-width:1160px;margin:0 auto;
}
.brand{display:flex;align-items:center;gap:10px;}
.brand img{height:36px;width:auto;}
.brand span{font-family:var(--font-serif);font-weight:700;font-size:20px;}
.brand span b{color:var(--pacific-cyan);font-weight:700;}
.brand span em{color:var(--dusk-blue);font-style:normal;}
.nav-links{display:flex;gap:32px;font-size:14.5px;font-weight:600;}
.nav-links a{color:var(--charcoal);opacity:.8;transition:opacity .15s;}
.nav-links a:hover{opacity:1;color:var(--dusk-blue);}
.nav-cta{display:flex;align-items:center;gap:16px;}
.nav-toggle{
  display:none;flex-direction:column;justify-content:center;gap:5px;
  width:40px;height:40px;border:none;background:none;cursor:pointer;flex:none;
}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--charcoal);border-radius:2px;transition:transform .2s ease, opacity .2s ease;}
.nav-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle.active span:nth-child(2){opacity:0;}
.nav-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.mobile-menu{
  display:none;flex-direction:column;max-height:0;overflow:hidden;
  transition:max-height .25s ease;background:#fff;border-top:1px solid rgba(52,60,69,0.08);
}
.mobile-menu.open{max-height:400px;}
.mobile-menu a{
  padding:16px 24px;font-size:15.5px;font-weight:600;color:var(--charcoal);
  border-bottom:1px solid rgba(52,60,69,0.06);
}
.mobile-menu a:last-child{border-bottom:none;}

/* LEGAL CONTENT */
.legal-hero{padding:64px 0 32px;background:linear-gradient(180deg,#F5F7FA 0%, #ffffff 100%);}
.legal-hero .eyebrow{
  display:inline-block;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--pacific-cyan);background:rgba(63,144,156,0.1);padding:6px 14px;border-radius:100px;margin-bottom:16px;
}
.legal-hero h1{font-size:clamp(28px,4vw,40px);}
.legal-content{padding:48px 0 96px;}
.legal-content .container{max-width:820px;}
.legal-content h2{font-size:22px;margin:40px 0 14px;}
.legal-content h2:first-child{margin-top:0;}
.legal-content h3{font-size:17px;margin:24px 0 10px;font-family:var(--font-sans);font-weight:700;}
.legal-content p{font-size:15.5px;color:#3f4650;margin-bottom:14px;}
.legal-content ul{margin:0 0 14px 20px;color:#3f4650;font-size:15.5px;}
.legal-content li{margin-bottom:6px;}
.legal-content a{color:var(--dusk-blue);text-decoration:underline;}
.legal-content strong{color:var(--charcoal);}
.legal-box{
  background:var(--platinum);border-radius:var(--radius);padding:24px 28px;margin-bottom:24px;
}
.back-link{
  display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--dusk-blue);margin-bottom:20px;
}

/* FOOTER */
footer{padding:0 0 32px;background:var(--platinum);}
.foerder-strip{
  display:flex;flex-direction:column;align-items:center;gap:22px;
  padding:36px 24px;border-bottom:1px solid rgba(52,60,69,0.1);
  background:var(--platinum);
}
.foerder-inner{display:flex;align-items:center;justify-content:center;gap:36px;flex-wrap:wrap;}
.foerder-group{display:flex;flex-direction:column;align-items:center;gap:12px;}
.foerder-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#8b93a0;font-weight:700;}
.foerder-divider{width:1px;height:52px;background:rgba(52,60,69,0.15);flex:none;}
.foerder-logos{display:flex;align-items:center;gap:22px;flex:none;}
.foerder-logos img{width:auto;flex:none;}
.foerder-logos .logo-bmwe{height:120px;}
.foerder-logos .logo-exist{height:56px;}
.logo-hsaalen{height:26px;width:auto;}
.foerder-strip p{font-size:12.5px;color:#5b6470;max-width:600px;line-height:1.5;text-align:center;}
.foerder-strip p b{color:var(--charcoal);}
.footer-grid{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:24px;padding:40px 0 32px;border-bottom:1px solid rgba(52,60,69,0.1);}
.footer-brand{display:flex;align-items:center;gap:10px;}
.footer-brand img{height:30px;}
.footer-cols{display:flex;gap:56px;flex-wrap:wrap;}
.footer-col h4{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:#8b93a0;margin-bottom:12px;}
.footer-col a{display:block;font-size:14px;color:var(--charcoal);opacity:.85;padding:4px 0;}
.footer-col a:hover{opacity:1;color:var(--dusk-blue);}
.footer-bottom{display:flex;justify-content:space-between;padding-top:24px;font-size:13px;color:#8b93a0;flex-wrap:wrap;gap:10px;}

@media (max-width: 900px){
  .nav-links{display:none;}
  .nav-toggle{display:flex;}
  .mobile-menu{display:flex;}
  .footer-cols{grid-template-columns:1fr 1fr;}
}
@media (max-width: 620px){
  .legal-content h2{font-size:19px;}
  .footer-cols{flex-direction:column;gap:28px;}
  .foerder-inner{flex-direction:column;gap:20px;}
  .foerder-divider{width:60px;height:1px;}
  .foerder-logos{gap:16px;}
  .foerder-logos .logo-bmwe{height:96px;}
  .foerder-logos .logo-exist{height:44px;}
}
