/* Nurse Approved — shared site styles */

:root{
  --navy:#1B2A5C;
  --navy-deep:#131F47;
  --navy-ink:#0E1734;
  --gold:#FFC629;
  --gold-bright:#FFD44D;
  --gold-deep:#F0B400;
  --gold-dark:#8A6A00;
  --sky:#EDF1FF;
  --sky-2:#DFE7FF;
  --sky-3:#F6F8FF;
  --line:#D6DEF5;
  --text:#222B4A;
  --muted:#5A6386;
  --teal:#2C7A8C;
  --violet:#6B6BA8;
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}

/* Safety net against horizontal scroll. `clip` (not `hidden`) is used deliberately:
   overflow-x:hidden on html/body silently breaks position:sticky on the nav. */
html{overflow-x:clip}
body{overflow-x:clip;max-width:100%}

body{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  color:var(--text);background:#fff;line-height:1.65;-webkit-font-smoothing:antialiased;
  /* long tokens (emails, URLs) must never push the page wider than the screen */
  overflow-wrap:break-word}
a{text-decoration:none;color:inherit}
img{max-width:100%}
h1,h2,h3,h4{font-family:'Source Serif 4',Georgia,serif}
button{font-family:inherit}

[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
[data-reveal].in{opacity:1;transform:none}

/* ─────────────────────────────── nav ─────────────────────────────── */
.site-nav{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.92);
  backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:74px;
  max-width:1180px;margin:0 auto;padding:0 28px;gap:12px;min-width:0}
.brand{display:flex;align-items:center;gap:11px;font-size:17px;font-weight:800;
  letter-spacing:.02em;color:var(--navy);min-width:0;flex:0 1 auto}
.brand img{width:36px;height:36px;object-fit:contain;flex:0 0 auto}
/* the wordmark is the part that may shrink; the logo never does */
.brand > span{min-width:0;white-space:nowrap}
.brand-gold{color:var(--gold-deep)}
.site-footer .brand-gold{color:var(--gold)}

.nav-links{display:flex;align-items:center;align-self:stretch;gap:26px}
.nav-links > a,.navlink{font-size:14.5px;font-weight:600;color:var(--muted);
  padding-bottom:3px;border-bottom:2px solid transparent;transition:color .15s}
.nav-links > a:hover,.navlink:hover{color:var(--navy)}
.nav-links > a.active{color:var(--navy);border-bottom-color:var(--gold)}
.nav-cta{background:var(--gold);color:var(--navy-ink)!important;padding:0 20px;
  border-radius:8px;font-size:14.5px;font-weight:800;border-bottom:none!important;display:flex;align-items:center;justify-content:center;height:44px;line-height:1}
.nav-cta:hover{background:var(--gold-bright)}

.dropdown{position:relative;align-self:stretch;display:flex;align-items:center}
.dropdown-btn{background:none;border:none;padding:0 0 3px;cursor:pointer;
  display:flex;align-items:center;gap:6px;line-height:1.65;border-bottom:2px solid transparent}
.caret{font-size:16px;line-height:1;color:var(--gold-dark)}
.dropdown-panel{position:absolute;top:100%;left:-24px;width:376px;background:#fff;
  border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 54px rgba(19,31,71,.18);
  padding:10px;display:none}
.dropdown:hover .dropdown-panel,.dropdown.open .dropdown-panel{display:block}
.dropdown-panel a{display:block;padding:14px 16px;border-radius:10px}
.dropdown-panel a:hover{background:var(--sky)}
.dropdown-panel strong{display:block;font-size:15px;font-weight:800;color:var(--navy);margin-bottom:2px}
.dropdown-panel span{display:block;font-size:13.5px;color:var(--muted);line-height:1.5}
.dropdown.is-active > .dropdown-btn{color:var(--navy);border-bottom-color:var(--gold)}
.dropdown-panel a.current{background:var(--sky-3);box-shadow:inset 3px 0 0 var(--gold)}
.dropdown-btn[aria-haspopup]:focus-visible{outline:2px solid var(--navy);outline-offset:4px;border-radius:4px}

.mobile-toggle{display:none;align-items:center;gap:9px;background:none;
  border:1.5px solid var(--line);border-radius:9px;padding:9px 14px;
  font-size:14px;font-weight:800;color:var(--navy);cursor:pointer;
  flex:0 0 auto;white-space:nowrap}
.mobile-toggle .bars{display:flex;flex-direction:column;gap:3.5px}
.mobile-toggle .bars span{display:block;width:17px;height:2px;background:var(--navy)}
.mobile-panel{display:none;border-top:1px solid var(--line);background:#fff;padding:14px 20px 22px}
.mobile-panel.open{display:block}
.mobile-panel .m-top{display:block;padding:13px 4px;font-size:16px;font-weight:700;
  color:var(--navy);border-bottom:1px solid var(--sky)}
.mobile-panel .m-label{display:block;padding:13px 4px;font-size:16px;font-weight:700;
  color:var(--navy);border-bottom:1px solid var(--sky)}
.mobile-panel .m-sub{display:block;padding:11px 4px;font-size:15.5px;font-weight:600;color:var(--muted)}
.mobile-panel .m-last{border-bottom:1px solid var(--sky)}
.mobile-panel .m-sub.current{color:var(--navy);font-weight:800}
.mobile-panel .m-cta{display:block;text-align:center;background:var(--gold);
  color:var(--navy-ink);padding:15px 20px;border-radius:10px;font-size:15.5px;
  font-weight:800;margin-top:16px}

/* ─────────────────────────────── footer ─────────────────────────────── */
.site-footer{background:var(--navy-ink);padding:52px 0 40px}
.footer-inner{max-width:1180px;margin:0 auto;padding:0 28px;display:flex;
  align-items:flex-start;justify-content:space-between;gap:48px;flex-wrap:wrap}
.footer-brand{display:flex;align-items:center;gap:11px;font-size:14.5px;
  font-weight:800;letter-spacing:.02em;color:#fff}
.footer-brand img{width:30px;height:30px;object-fit:contain}
.footer-cols{display:flex;gap:56px;flex-wrap:wrap}
.footer-cols > div{display:flex;flex-direction:column;gap:10px}
.f-label{font-size:11.5px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(232,236,251,.45)}
.footer-cols a{font-size:14.5px;color:rgba(232,236,251,.8);transition:color .15s}
.footer-cols a:hover{color:var(--gold)}
.footer-bottom{max-width:1180px;margin:36px auto 0;padding:22px 28px 0;
  border-top:1px solid rgba(232,236,251,.12);font-size:13.5px;color:rgba(232,236,251,.8)}

/* ─────────────────────────────── shared bits ─────────────────────────────── */
.btn-gold{background:var(--gold);color:var(--navy-ink);border-radius:10px;font-weight:800}
.btn-gold:hover{background:var(--gold-bright)}

/* ─────────────────────────────── responsive ─────────────────────────────── */
@media (max-width:1020px){
  [data-rs="hero"]{grid-template-columns:1fr!important}
  [data-rs="heroPhoto"]{min-height:340px!important;order:2}
  [data-rs="heroCopy"]{padding:60px 26px 54px!important}
  [data-rs="heroWrap"]{padding:70px 26px 60px!important}
  [data-rs="section"]{padding:66px 0!important}
  [data-rs="split"]{grid-template-columns:minmax(0,1fr)!important;gap:34px!important}
  [data-rs="core"]{grid-template-columns:minmax(0,1fr)!important;gap:28px!important;
    padding:38px 30px!important;text-align:center;justify-items:center}
  [data-rs="cards4"],[data-rs="cards3"],[data-rs="cards2"]{grid-template-columns:minmax(0,1fr)!important}
  [data-rs="split"] > *,[data-rs="cards4"] > a,[data-rs="cards3"] > a,[data-rs="cards2"] > a{min-width:0}
  [data-rs="portrait"]{width:100%!important;max-width:440px!important;margin:0 auto}
  [data-rs="quote"]{font-size:23px!important}
}
@media (max-width:1020px){
  .nav-links{gap:20px}
}
@media (max-width:880px){
  .nav-links{display:none!important}
  .mobile-toggle{display:flex!important}
  .nav-inner{padding:0 18px}
  .mobile-panel{padding:14px 18px 22px}
}
@media (max-width:560px){
  [data-rs="heroWrap"]{padding:52px 22px 46px!important}
  [data-rs="section"]{padding:54px 0!important}
}

/* ── small phones ───────────────────────────────────────────────────────────
   At 320–360px the brand wordmark + "Menu" button previously consumed the
   entire nav row with 0px to spare, so any wider text rendering (real iOS
   font metrics, Android font-size scaling, a webfont still loading) pushed
   the page into horizontal scroll. These rules buy back ~60px. */
@media (max-width:430px){
  .nav-inner{padding:0 14px;height:66px}
  .brand{font-size:15.5px;gap:9px}
  .brand img{width:32px;height:32px}
  .mobile-toggle{padding:8px 11px;gap:7px}
  .mobile-panel{padding:12px 14px 20px}
  .footer-inner,.footer-bottom{padding-left:18px;padding-right:18px}
}
@media (max-width:360px){
  /* icon-only menu button; the accessible name still comes from aria-label */
  .mobile-toggle .mt-label{display:none}
  .mobile-toggle{gap:0;padding:9px 10px}
  .brand{font-size:14.5px}
  .brand img{width:29px;height:29px}
}

/* generated hover states */
.ha096c53b:hover{background:#FFD44D;color:#0E1734;transform:translateY(-1px)}
.h6047dc05:hover{background:#1B2A5C;color:#FFFFFF}
.ha6450e3e:hover{background:#FFD44D;color:#0E1734}
.h958e1926:hover{border-color:#1B2A5C;transform:translateY(-3px);box-shadow:0 16px 38px rgba(27,42,92,.12);color:inherit}
.h4d68152a:hover{border-color:#F0B400;transform:translateY(-3px);box-shadow:0 16px 38px rgba(27,42,92,.12);color:inherit}
.h85b455de:hover{border-color:#2C7A8C;transform:translateY(-3px);box-shadow:0 16px 38px rgba(27,42,92,.12);color:inherit}
.hb03f9563:hover{border-color:#6B6BA8;transform:translateY(-3px);box-shadow:0 16px 38px rgba(27,42,92,.12);color:inherit}
.h7c3279c3:hover{background:#131F47;color:#FFFFFF;transform:translateY(-1px)}
.hf5898b33:hover{color:#8A6A00}
.hd1725bb2:hover{transform:translateY(-1px)}
.h1532b245:hover{background:#246776;color:#FFFFFF;transform:translateY(-1px)}
.hf8d38182:hover{background:#131F47;color:#FFFFFF}

/* anchor jumps clear the 74px sticky nav */
section[id]{scroll-margin-top:96px}
[hidden]{display:none!important}
