@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600&family=Tenor+Sans&display=swap');

:root{
  --navy:#00416B;
  --navy-deep:#002E4D;
  --cyan:#5DC9D6;
  --teal:#0D6A85;
  --paper:#FFFFFF;
  --mist:#F2F7F9;
  --ink:#0B2233;
  --muted:#5A7182;
  --line:#DCE7EC;
  --display:"Tenor Sans","Gill Sans",Optima,system-ui,sans-serif;
  --body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--body);
  color:var(--ink);
  background:linear-gradient(180deg,#eaf4f7 0,#f7fafb 340px,var(--mist) 100%);
  -webkit-font-smoothing:antialiased;
  line-height:1.65;
}
a{color:var(--navy);text-underline-offset:3px}
a:hover{color:var(--teal)}
a:focus-visible{outline:3px solid var(--cyan);outline-offset:3px;border-radius:4px}
img{display:block;max-width:100%}

.site-header{
  background:var(--paper);
  border-bottom:1px solid var(--line);
}
.site-header__inner{
  width:min(1120px,calc(100% - 40px));
  min-height:86px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.brand img{width:176px;height:auto}
.back-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--navy);
  font-size:14px;
  font-weight:600;
  text-decoration:none;
}
.back-link::before{content:"←";font-size:18px;line-height:1}

.page-wrap{
  width:min(920px,calc(100% - 40px));
  margin:48px auto 72px;
}
.legal-card{
  overflow:hidden;
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow:0 20px 50px -34px rgba(0,46,77,.55);
}
.legal-card__intro{
  padding:48px clamp(24px,6vw,72px) 38px;
  background:
    radial-gradient(circle at 92% 0,rgba(93,201,214,.24),transparent 26%),
    linear-gradient(135deg,var(--navy-deep),var(--navy));
  color:#fff;
}
.eyebrow{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 14px;
  color:var(--cyan);
  font-size:13px;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.eyebrow::before{content:"";width:24px;height:3px;border-radius:2px;background:var(--cyan)}
h1,h2,h3{font-family:var(--display);font-weight:400}
h1{
  margin:0;
  font-size:clamp(32px,5vw,52px);
  line-height:1.1;
  letter-spacing:-.01em;
}
.intro-note{
  max-width:62ch;
  margin:18px 0 0;
  color:#d9f2f5;
  font-size:16px;
}
.legal-content{
  padding:clamp(28px,5vw,56px) clamp(24px,6vw,72px);
}
.legal-content section+section{margin-top:38px}
.legal-content h2{
  margin:0 0 12px;
  color:var(--navy);
  font-size:clamp(21px,3vw,28px);
  line-height:1.2;
}
.legal-content h3{
  margin:26px 0 8px;
  color:var(--navy);
  font-size:19px;
  line-height:1.3;
}
.legal-content p{margin:0 0 16px}
.legal-content p:last-child{margin-bottom:0}
.legal-content ul{margin:0 0 18px;padding-left:22px}
.legal-content li+li{margin-top:8px}
.legal-content strong{font-weight:600;color:var(--navy)}
.updated{
  margin-top:28px!important;
  padding-top:18px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:14px;
}

.locations{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:28px;
}
.location{
  padding:22px;
  border:1px solid var(--line);
  border-radius:16px;
  background:linear-gradient(180deg,#fff,#f7fbfc);
}
.location h2{
  margin:0 0 12px;
  padding-bottom:10px;
  border-bottom:2px solid var(--cyan);
  font-size:25px;
}
.location address{
  min-height:90px;
  margin:0;
  color:var(--muted);
  font-style:normal;
  font-size:15px;
  line-height:1.55;
}
.location__phone{
  display:inline-flex;
  margin-top:18px;
  font-size:15px;
  font-weight:600;
  text-decoration:none;
}

.site-footer{
  width:min(920px,calc(100% - 40px));
  margin:0 auto 28px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:8px 20px;
  color:var(--muted);
  font-size:13px;
}
.site-footer nav{display:flex;flex-wrap:wrap;gap:6px 18px}
.site-footer a{text-decoration:none}

@media (max-width:700px){
  .site-header__inner{min-height:76px}
  .brand img{width:150px}
  .back-link{font-size:13px}
  .page-wrap{margin-top:24px;margin-bottom:48px}
  .legal-card__intro{padding-top:36px;padding-bottom:30px}
  .legal-content section+section{margin-top:30px}
  .locations{grid-template-columns:1fr}
  .location address{min-height:0}
}

@media (max-width:420px){
  .site-header__inner,.page-wrap,.site-footer{width:min(100% - 28px,920px)}
  .site-header__inner{gap:12px}
  .brand img{width:132px}
  .back-link{font-size:12px}
  .legal-card{border-radius:16px}
  .legal-card__intro,.legal-content{padding-left:20px;padding-right:20px}
  .site-footer{display:block}
  .site-footer nav{margin-top:8px;gap:4px 14px}
}