/* Shared styles for the standalone legal pages (/privacy, /terms, /accessibility, /refund-policy).
   Self-contained on purpose: these live in public/ and are copied verbatim by Vite, so they
   must not depend on the hashed main bundle. */

:root{
  --sky:#5fb2e6;
  --sky-pale:#eef7fd;
  --sky-deep:#2f7ba9;
  --deep:#1d5e86;
  --navy:#11303f;
  --ink:#1d2e39;
  --ink-soft:#5a7180;
  --paper:#f7fbfe;
  --cloud:#ffffff;
  --line:#e6f0f7;
  --yellow:#ffcb33;
  --radius:26px;
  --display:"Cabinet Grotesk",system-ui,sans-serif;
  --body:"Satoshi",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--body);
  font-size:17px;
  line-height:1.7;
}

.wrap{max-width:760px;margin:0 auto;padding:0 24px}

.masthead{
  background:var(--navy);
  color:var(--cloud);
  padding:22px 0;
}
.masthead .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.brand{
  font-family:var(--display);
  font-weight:800;
  letter-spacing:-.01em;
  font-size:19px;
  color:var(--cloud);
  text-decoration:none;
}
.brand:hover{color:var(--yellow)}
.masthead a.back{color:var(--sky-pale);text-decoration:none;font-size:15px}
.masthead a.back:hover{color:var(--yellow);text-decoration:underline}

main{padding:56px 0 72px}

h1{
  font-family:var(--display);
  font-weight:800;
  font-size:clamp(30px,5vw,44px);
  line-height:1.1;
  letter-spacing:-.02em;
  margin:0 0 10px;
  color:var(--navy);
}
.updated{color:var(--ink-soft);font-size:15px;margin:0 0 40px}

h2{
  font-family:var(--display);
  font-weight:700;
  font-size:clamp(20px,3vw,25px);
  line-height:1.25;
  letter-spacing:-.01em;
  margin:44px 0 12px;
  color:var(--deep);
}
h3{font-family:var(--display);font-weight:700;font-size:18px;margin:28px 0 8px;color:var(--navy)}
p{margin:0 0 16px}
ul{margin:0 0 16px;padding-left:22px}
li{margin:0 0 8px}
strong{font-weight:700;color:var(--navy)}

a{color:var(--sky-deep)}
a:hover{color:var(--deep)}

:where(a,button,input,summary):focus-visible{
  outline:3px solid var(--yellow);
  outline-offset:3px;
  border-radius:4px;
}

.callout{
  background:var(--cloud);
  border:1px solid var(--line);
  border-left:5px solid var(--sky);
  border-radius:var(--radius);
  padding:24px 26px;
  margin:28px 0;
}
.callout :last-child{margin-bottom:0}

.contact{
  background:var(--sky-pale);
  border-radius:var(--radius);
  padding:24px 26px;
  margin:40px 0 0;
}
.contact :last-child{margin-bottom:0}

.legalfoot{
  border-top:1px solid var(--line);
  padding:28px 0 48px;
  color:var(--ink-soft);
  font-size:15px;
}
.legalfoot nav{margin-top:8px;display:flex;gap:18px;flex-wrap:wrap}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
}
