/* Shared styling for the Insurwell legal pages (privacy, terms, accessibility).
   Kept in one file so all three stay consistent and only need editing once.
   Brand tokens match the main site (from Laura's official brand guide). */

:root{
  --navy:#003B4A;
  --teal:#016A84;
  --teal-hover:#015367;
  --sand:#F7F3EC;
  --ink:#1D2833;
  --muted:#3D4A56;
  --white:#FFFFFF;
  --border:#E4DFD3;
  --radius-sm:14px;
  --radius-lg:22px;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0; background:var(--sand); color:var(--ink);
  font-family:'Archivo', Arial, sans-serif; font-size:18px; line-height:1.65;
}
a{color:var(--teal);}
a:hover{color:var(--teal-hover);}
a:focus-visible, button:focus-visible{outline:3px solid var(--teal); outline-offset:2px; border-radius:4px;}

.skip-link{
  position:absolute; left:12px; top:-60px; z-index:200;
  background:var(--navy); color:var(--white); padding:12px 18px;
  border-radius:var(--radius-sm); font-weight:700; font-size:15px; text-decoration:none;
  transition:top .15s ease;
}
.skip-link:focus{top:12px;}

header{background:rgba(247,243,236,0.94); border-bottom:1px solid var(--border);}
.nav{
  max-width:1200px; margin:0 auto; padding:16px 32px;
  display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
}
.header-logo{display:flex; align-items:center; text-decoration:none;}
.header-logo img{height:34px; width:auto; display:block;}
.back-link{
  font-size:15px; font-weight:700; text-decoration:none; color:var(--navy);
  display:inline-flex; align-items:center; gap:6px; min-height:44px;
}
.back-link:hover{color:var(--teal);}
.back-link svg{width:16px; height:16px;}

main{max-width:760px; margin:0 auto; padding:56px 32px 80px;}
h1{
  font-family:'Archivo', Arial, sans-serif; font-stretch:118%; font-weight:600;
  color:var(--navy); font-size:clamp(30px,4.5vw,42px); line-height:1.15; margin:0 0 10px;
}
.updated{color:var(--muted); font-size:15px; margin:0 0 40px;}
h2{
  font-family:'Archivo', Arial, sans-serif; font-stretch:118%; font-weight:600;
  color:var(--navy); font-size:22px; line-height:1.3; margin:38px 0 12px;
}
p, li{color:var(--ink);}
p{margin:0 0 16px;}
ul{margin:0 0 16px; padding-left:22px;}
li{margin-bottom:8px;}
strong{color:var(--navy);}

.callout{
  background:var(--white); border:1px solid var(--border); border-left:4px solid var(--teal);
  border-radius:var(--radius-sm); padding:18px 20px; margin:0 0 32px;
}
.callout p:last-child{margin-bottom:0;}

.contact-box{
  background:var(--white); border:1px solid var(--border);
  border-radius:var(--radius-lg); padding:24px; margin-top:36px;
}
.contact-box p:last-child{margin-bottom:0;}

footer{background:var(--ink); color:#C9D0D6; font-size:14px; padding:36px 0;}
.footer-inner{max-width:760px; margin:0 auto; padding:0 32px;}
footer a{color:#C9D0D6;}
footer a:hover{color:#fff;}
.footer-links{display:flex; gap:20px; flex-wrap:wrap; margin-bottom:18px;}
.compliance{font-size:12.5px; color:#8B95A0; line-height:1.6; border-top:1px solid #333E48; padding-top:18px;}

@media (max-width: 640px){
  main{padding:36px 20px 60px;}
  .nav{padding:14px 20px;}
  .footer-inner{padding:0 20px;}
  body{font-size:17px;}
}
