/* Base tokens and global styles */
:root{
  --bg: #ffffff;
  --bg2: #f6f9fc;
  --border: rgba(11,46,79,.15);
  --border2: rgba(11,46,79,.24);

  --text: rgba(11,46,79,.96);
  --muted: rgba(11,46,79,.72);
  --muted2: rgba(11,46,79,.56);

  --shadow: 0 8px 20px rgba(11,46,79,.08);
  --shadow2: 0 4px 12px rgba(11,46,79,.08);

  --radius: 10px;
  --radius2: 14px;

  --a1: #005b96;
  --a2: #007fbc;
  --a3: #1f9d8b;

  --font-body: "Segoe UI Variable Text", "Segoe UI", Segoe, "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-heading: "Segoe UI Variable Display", "Segoe UI", Segoe, "Helvetica Neue", Helvetica, Arial, sans-serif;
}

*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  margin:0;
  font-family: var(--font-body);
  color:var(--text);
  background: linear-gradient(180deg, var(--bg), var(--bg2));
  line-height:1.55;
}
body.menu-open{
  overflow: hidden;
}

a{ color:inherit; text-decoration:none; }
a:hover{ opacity:.92; }

.container{ width:min(1140px, 92vw); margin-inline:auto; }

h1{ font-size: clamp(2rem, 4.1vw, 3.2rem); line-height: 1.1; margin: .9rem 0 .85rem; letter-spacing: -.02em; }
h2{ font-size: clamp(1.6rem, 2.4vw, 2.1rem); margin:0 0 .5rem; letter-spacing: -.02em; }
h1, h2, h3, h4, h5, h6{
  font-family: var(--font-heading);
}

button, input, select, textarea{
  font-family: inherit;
}

.brand__text,
.nav > li > a,
.dropdown a,
.btn,
.hero__title,
.section-title{
  font-family: var(--font-heading);
}

.muted{ color: var(--muted); margin:0; }

.footer-address-card{
  margin-top: .55rem;
  display: block;
  width: 83%;
  max-width: 20rem;
  box-sizing: border-box;
  padding: .9rem 1rem;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 12px;
  background: rgba(255,255,255,.06);
  box-shadow: none;
}
.footer-address-card strong{
  display:block;
  margin-bottom: .45rem;
  color: rgba(255,255,255,.96);
  font-size: .85rem;
  letter-spacing: .02em;
}
.footer-address-card a{
  display:block;
  color: rgba(255,255,255,.8);
  padding: 0;
  margin: 0 0 .2rem;
  font-size: .9rem;
  line-height: 1.45;
  white-space: normal;
  overflow-wrap: anywhere;
  transform: none !important;
}
.footer-address-card a:last-child{
  margin-bottom: 0;
}

@keyframes drift{ 0%,100%{ transform: translate(0,0);} 50%{ transform: translate(8px,-10px);} }
