/* Life Unlocked · Boyd S. Davids — shared brand layer (site + app) */
@font-face{font-family:"Montserrat";src:url("../fonts/montserrat.woff2") format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Merriweather";src:url("../fonts/merriweather.woff2") format("woff2");font-weight:300 800;font-style:normal;font-display:swap}
@font-face{font-family:"Merriweather";src:url("../fonts/merriweather-italic.woff2") format("woff2");font-weight:300 800;font-style:italic;font-display:swap}
:root{
  --blue:#1E40AF;--blue-d:#17338C;--ink:#111111;--paper:#F6F3EC;--slate:#5B6472;--amber:#E0A030;--mist:#DCE4F5;
  --card:#FFFFFF;--line:#E4DED1;--ok:#2F7A4B;--warn:#B4521B;
  --sans:"Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --serif:"Merriweather",Georgia,"Times New Roman",serif;
  --r:14px;--shadow:0 1px 2px rgba(17,17,17,.06),0 6px 20px rgba(30,64,175,.07);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.6 var(--serif)}
h1,h2,h3,h4,.sans{font-family:var(--sans);line-height:1.2;letter-spacing:-.01em}
h1{font-weight:800}h2{font-weight:800}h3{font-weight:700}
a{color:var(--blue)}
img{max-width:100%;display:block}
.eyebrow{font:700 12px/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--blue)}
.rule{width:56px;height:4px;background:var(--amber);border-radius:2px;border:0;margin:14px 0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:700 15px/1 var(--sans);padding:13px 20px;border-radius:999px;border:2px solid var(--blue);background:var(--blue);color:#fff;text-decoration:none;cursor:pointer;transition:transform .08s,background .15s}
.btn:hover{background:var(--blue-d);border-color:var(--blue-d)}
.btn:active{transform:translateY(1px)}
.btn.ghost{background:transparent;color:var(--blue)}
.btn.ghost:hover{background:var(--mist)}
.btn.amber{background:var(--amber);border-color:var(--amber);color:var(--ink)}
.btn.small{padding:8px 14px;font-size:13px}
.btn[disabled],.btn.disabled{opacity:.55;cursor:not-allowed}
.badge{display:inline-block;font:700 11px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;padding:6px 10px;border-radius:999px;background:var(--mist);color:var(--blue)}
.badge.amber{background:#F7E3B8;color:#6B4A0E}
.badge.live{background:#DDEFE3;color:var(--ok)}
.keyhole{display:inline-block;vertical-align:middle}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
