/* Cosy House shared tokens: navy on cream, sharp bold sans caps + serif italic soft beats */
:root{
  --navy:#162950; --navy-2:#22396b; --marine:#2d5fa8; --ice:#e4eef8; --ice-2:#cfe0f2;
  --cream:#f7f3ea; --paper:#fffdf8; --ink:#1b2236; --muted:#5b6478; --line:#e3dccd;
  --heat:#d9772b; --ok:#2f7a55; --hi:#fde9a8;
  --display:"Archivo",system-ui,Arial,sans-serif;
  --serif:"Instrument Serif",Georgia,serif;
  --body:"Source Sans 3",system-ui,Arial,sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--paper);color:var(--ink);font:400 18px/1.6 var(--body);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block;height:auto}
a{color:inherit}
.soft{font-family:var(--serif);font-style:italic;font-weight:400;text-transform:none;letter-spacing:0}
.logo{font:800 22px/1 var(--display);letter-spacing:.18em;color:var(--navy);text-transform:uppercase;text-align:center}
.logo small{display:block;font:600 9px var(--display);letter-spacing:.4em;margin-top:4px}
/* Real wordmark: scales with each page's .logo font-size */
.logo img{display:inline-block;height:1.55em;width:auto;vertical-align:middle}
/* White wordmark + "Sleep Journal" label for navy masthead bars */
.mast-brand{display:inline-flex;flex-direction:column;align-items:flex-start;gap:5px;line-height:1}
.mast-brand img{display:block;height:15px;width:auto}
.mast-brand small{display:block;margin:0;font:600 9px/1 var(--display);letter-spacing:.34em;text-transform:uppercase;color:var(--ice-2)}
.btn{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--navy);color:#fff;text-decoration:none;font:800 17px/1.2 var(--display);letter-spacing:.05em;text-transform:uppercase;padding:18px 20px;border:0;cursor:pointer;transition:background .2s,transform .1s}
.btn:hover{background:var(--navy-2)}
.btn:active{transform:translateY(1px)}
.btn:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--marine);outline-offset:2px}
.tnum{font-variant-numeric:tabular-nums}
.disc{font-size:12px;line-height:1.5;color:var(--muted)}
/* Footer policy links: Privacy Policy + Terms of Service on every page */
.plinks{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 18px;margin:0 0 12px}
.plinks a{color:inherit;text-decoration:underline;text-underline-offset:3px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
