/* HIVE Nurse · Learning Design — shared shell.
   Tokens carried over from the product so the practice and the platform read as one house. */
:root {
  --navy:#1A3159; --navy-deep:#0F1F3F; --navy-ink:#1A3159;
  --gold:#F2B93F; --gold-strong:#C9911C; --gold-wash:#FBF2DC;
  --ink:#1B2233; --ink-soft:#5A657A;
  --surface:#F3F4F8; --card:#FFFFFF; --border:#E3E6EE; --wash:#EEF1FA;
  --good:#2E8B57; --good-wash:#E6F4EC; --info:#2F6BFF; --info-wash:#E8EFFF;
  --shadow:0 1px 2px rgba(20,30,70,.06), 0 8px 24px -10px rgba(20,30,70,.18);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --ink:#EEF1F8; --ink-soft:#A7B0C4; --surface:#0C1430; --card:#141E44;
    --border:#26325E; --wash:#1B2652; --navy-ink:#EEF1F8;
    --gold-wash:#3A2E10; --good-wash:#10301E; --info-wash:#182449;
    --shadow:0 1px 2px rgba(0,0,0,.4), 0 8px 24px -10px rgba(0,0,0,.6);
  }
}
:root[data-theme="dark"] {
  --ink:#EEF1F8; --ink-soft:#A7B0C4; --surface:#0C1430; --card:#141E44;
  --border:#26325E; --wash:#1B2652; --navy-ink:#EEF1F8;
  --gold-wash:#3A2E10; --good-wash:#10301E; --info-wash:#182449;
  --shadow:0 1px 2px rgba(0,0,0,.4), 0 8px 24px -10px rgba(0,0,0,.6);
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { background:var(--surface); color:var(--ink); margin:0; line-height:1.55;
       font-family:'Nunito Sans', system-ui, sans-serif; -webkit-font-smoothing:antialiased; }
h1,h2,h3,h4 { font-family:'Poppins', system-ui, sans-serif; letter-spacing:-.015em; text-wrap:balance; margin:0; }
a { color:inherit; }
img { max-width:100%; display:block; }
.muted { color:var(--ink-soft); }
.wrap { max-width:1060px; margin:0 auto; padding-inline:20px; }

/* header */
.top { position:sticky; top:0; z-index:30; border-bottom:1px solid var(--border);
       background:color-mix(in srgb, var(--surface) 88%, transparent); backdrop-filter:blur(10px); }
.top .wrap { display:flex; align-items:center; gap:14px; padding-block:12px; }
.brand { display:flex; align-items:center; gap:9px; text-decoration:none; flex:none; }
.brand img { height:30px; width:auto; }
.brand .tag { font:700 .72rem/1 'Poppins',sans-serif; color:var(--ink-soft);
              border-left:1px solid var(--border); padding-left:9px; }
.top nav { margin-left:auto; display:flex; align-items:center; gap:2px; }
.top nav a { white-space:nowrap; text-decoration:none; }
.top nav a.link { font:700 .82rem/1 'Poppins',sans-serif; color:var(--ink-soft); padding:8px 10px; border-radius:100px; }
.top nav a.link:hover { color:var(--navy-ink); background:var(--wash); }
@media (max-width:880px){ .top nav a.link.hide-sm{display:none} }
@media (max-width:560px){ .brand .tag{display:none} }

/* atoms */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:7px; white-space:nowrap;
       border:none; background:var(--gold); color:var(--navy-deep); font-weight:700; font-size:.92rem;
       padding:11px 18px; border-radius:100px; font-family:'Poppins',sans-serif; text-decoration:none; cursor:pointer; }
.btn:hover { background:var(--gold-strong); }
.btn.navy { background:var(--navy); color:#fff; } .btn.navy:hover { background:var(--navy-deep); }
.btn.ghost { background:var(--card); color:var(--navy-ink); border:1px solid var(--border); }
.btn.ghost:hover { border-color:var(--navy); }
.btn.small { padding:8px 14px; font-size:.82rem; }
.pill { display:inline-flex; align-items:center; gap:5px; font-size:.72rem; font-weight:700;
        padding:4px 10px; border-radius:100px; }
.pill.gold{background:var(--gold-wash); color:var(--gold-strong)}
.pill.good{background:var(--good-wash); color:var(--good)}
.pill.info{background:var(--info-wash); color:var(--info)}
.pill.wash{background:var(--wash); color:var(--ink-soft)}
.card { background:var(--card); border:1px solid var(--border); border-radius:16px; padding:18px;
        box-shadow:var(--shadow); display:flex; flex-direction:column; gap:9px; }
.rule { border:0; border-top:1px solid var(--border); margin:0; }

section { padding:48px 0; }
section > .wrap > header { max-width:66ch; margin-bottom:24px; }
section h2 { font-size:clamp(1.5rem,3.4vw,2rem); color:var(--navy-ink); }
section > .wrap > header p { margin:9px 0 0; color:var(--ink-soft); font-size:1rem; }

footer.site { border-top:1px solid var(--border); margin-top:48px; }
footer.site .wrap { padding-block:26px 40px; display:flex; flex-wrap:wrap; gap:14px 24px;
                    align-items:center; justify-content:space-between; }
footer.site img { height:24px; width:auto; opacity:.85; }
footer.site p { margin:0; font-size:.8rem; color:var(--ink-soft); max-width:60ch; line-height:1.55; }

/* lightbox used to open a sample without leaving the page */
.lb { position:fixed; inset:0; z-index:100; display:none; background:rgba(8,14,34,.72);
      backdrop-filter:blur(3px); padding:24px; }
.lb[open] { display:flex; align-items:center; justify-content:center; }
.lb .frame { background:var(--card); border-radius:18px; overflow:hidden; box-shadow:0 30px 80px -20px rgba(0,0,0,.6);
             display:flex; flex-direction:column; width:min(1100px,100%); height:min(860px,100%); }
.lb .frame.phone { width:min(420px,100%); height:min(860px,100%); }
.lb .bar { display:flex; align-items:center; gap:12px; padding:11px 14px; border-bottom:1px solid var(--border); flex:none; }
.lb .bar b { font:700 .9rem/1.3 'Poppins',sans-serif; color:var(--navy-ink); }
.lb .bar .x { margin-left:auto; border:1px solid var(--border); background:var(--surface); color:var(--ink-soft);
              border-radius:100px; width:30px; height:30px; font-size:1rem; line-height:1; cursor:pointer; flex:none; }
.lb .bar .x:hover { border-color:var(--navy); color:var(--navy-ink); }
.lb iframe { flex:1; width:100%; border:0; background:#fff; }
@media (max-width:560px){ .lb{padding:10px} }
