/* ============================================================
   SOLIDEO CONSULTING - shared styles for the legal pages
   (privacy.html, terms.html)

   Same tokens as index.html. Long-form reading layout: narrower
   measure, larger line-height, numbered sections.
   ============================================================ */

:root{
  --accent:        #4C8DFF;
  --accent-soft:   #7BACFF;
  --accent-ink:    #06101F;

  --bg:            #070C14;
  --bg-raise:      #101827;
  --line:          rgba(255,255,255,.10);
  --line-soft:     rgba(255,255,255,.06);
  --white:         #FFFFFF;
  --grey:          #A3AABA;
  --grey-dim:      #6B7383;

  --shell:         min(760px, 100% - 2.5rem);
  --font-body:     "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  --font-display:  "Archivo", "Inter", -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{
  margin:0;
  background:var(--bg);
  color:var(--grey);
  font-family:var(--font-body);
  font-size:1rem;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}

.wrap{width:var(--shell);margin:0 auto;padding:2.5rem 0 4rem}

/* ---------- masthead ---------- */
.masthead{
  display:flex;flex-direction:column;align-items:center;gap:1.25rem;
  padding-bottom:2rem;
  border-bottom:1px solid var(--line-soft);
  text-align:center;
}
.masthead img{width:auto;height:auto;max-width:118px;max-height:75px}
.back{
  font-size:.6875rem;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--accent);
  text-decoration:none;
}
.back:hover{text-decoration:underline}

/* ---------- headings ---------- */
h1{
  font-family:var(--font-display);
  font-weight:800;
  font-size:clamp(1.75rem,1.4rem + 1.4vw,2.5rem);
  line-height:1.1;
  letter-spacing:-.02em;
  color:var(--white);
  margin:2.5rem 0 .5rem;
  text-wrap:balance;
}
.updated{
  font-size:.8125rem;
  color:var(--grey-dim);
  margin:0 0 2.5rem;
}
.lede{
  font-size:1.0625rem;
  color:var(--grey);
  margin:0 0 2.5rem;
  padding-bottom:2.5rem;
  border-bottom:1px solid var(--line-soft);
}
h2{
  font-family:var(--font-display);
  font-weight:700;
  font-size:1.1875rem;
  line-height:1.3;
  letter-spacing:-.01em;
  color:var(--white);
  margin:2.75rem 0 .75rem;
}
h3{
  font-family:var(--font-display);
  font-weight:700;
  font-size:1rem;
  color:var(--white);
  margin:1.75rem 0 .5rem;
}

p{margin:0 0 1rem}
ul{margin:0 0 1rem;padding-left:1.25rem}
li{margin-bottom:.5rem}
li::marker{color:var(--grey-dim)}
strong{color:var(--white);font-weight:600}

a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* ---------- the SMS box (what GHL / the carriers look for) ---------- */
.callout{
  border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);
  border-radius:12px;
  background:var(--bg-raise);
  padding:1.5rem;
  margin:1.5rem 0 2rem;
}
.callout p:last-child{margin-bottom:0}
.callout strong{color:var(--white)}

/* ---------- contact block ---------- */
.contact-box{
  border:1px solid var(--line);
  border-radius:12px;
  padding:1.5rem;
  margin:1.5rem 0 0;
  font-size:.9375rem;
}
.contact-box p:last-child{margin-bottom:0}

/* ---------- footer ---------- */
.legal-footer{
  margin-top:4rem;
  padding-top:2rem;
  border-top:1px solid var(--line-soft);
  text-align:center;
  font-size:.75rem;
  line-height:1.7;
  color:var(--grey-dim);
}
.legal-footer nav{
  display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;
  justify-content:center;
  margin-bottom:.9rem;
}
.legal-footer a{color:var(--grey-dim)}
.legal-footer a:hover{color:var(--grey)}
.legal-footer p{margin:0}

@media (max-width:640px){
  .wrap{padding:1.75rem 0 3rem}
  h1{margin-top:2rem}
}
