/* Halo theme — editorial apothecary. Warm paper, deep evergreen, brass accent. */
:root{
  --hl-paper:#FAF6EF; --hl-paper-2:#F3EDE2; --hl-card:#FFFDF9;
  --hl-ink:#1C2B24; --hl-ink-2:#33463C; --hl-body:#4A5D53; --hl-mute:#7C8B82;
  --hl-brass:#C6A15B; --hl-brass-dk:#A8823C; --hl-edge:#E4DBCB;
  --hl-shell:1080px;
}
*{box-sizing:border-box}
body{margin:0;background:var(--hl-paper);color:var(--hl-body);font-family:Jost,-apple-system,Segoe UI,sans-serif;font-weight:400;font-size:16.5px;line-height:1.78;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:600;color:var(--hl-ink);line-height:1.16;margin:0 0 .55em;letter-spacing:-.01em}
h1{font-size:clamp(2.2rem,5vw,3.5rem)}
h2{font-size:clamp(1.7rem,3.2vw,2.5rem)}
h3{font-size:1.16rem}
p{margin:0 0 1.05em}
a{color:var(--hl-brass-dk)}
a:hover{color:var(--hl-ink)}
.hl-shell{max-width:var(--hl-shell);margin:0 auto;padding:0 26px}

/* ---------- header ---------- */
.hl-head{background:var(--hl-paper);border-bottom:1px solid var(--hl-edge)}
.hl-head-in{display:flex;align-items:center;justify-content:space-between;gap:20px;height:84px}
.hl-word{display:inline-flex;align-items:center;gap:12px;font-family:Fraunces,serif;font-size:1.02rem;letter-spacing:.14em;text-transform:uppercase;color:var(--hl-ink);text-decoration:none}
.hl-seal{width:20px;height:20px;flex:0 0 20px;border-radius:50%;border:1.5px solid var(--hl-brass);position:relative}
.hl-seal::after{content:"";position:absolute;inset:5.5px;border-radius:50%;background:var(--hl-brass)}
.hl-links{display:flex;gap:34px;font-size:.87rem;letter-spacing:.06em;text-transform:uppercase}
.hl-links a{color:var(--hl-ink-2);text-decoration:none;padding-bottom:3px;border-bottom:1px solid transparent}
.hl-links a:hover{border-bottom-color:var(--hl-brass)}
.hl-toggle{display:none;background:none;border:1px solid var(--hl-edge);border-radius:999px;padding:7px 17px;font:inherit;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--hl-ink);cursor:pointer}
.hl-drawer{display:none;flex-direction:column;border-top:1px solid var(--hl-edge)}
.hl-drawer a{padding:15px 26px;border-bottom:1px solid var(--hl-edge);color:var(--hl-ink-2);text-decoration:none;letter-spacing:.06em;text-transform:uppercase;font-size:.85rem}

/* ---------- shared bits ---------- */
.hl-eyebrow{display:block;font-size:.73rem;letter-spacing:.24em;text-transform:uppercase;color:var(--hl-brass-dk);margin-bottom:16px}
.hl-band{padding:88px 0}
.hl-band--paper2{background:var(--hl-paper-2)}
.hl-band--ink{background:var(--hl-ink);color:#CBD8CF}
.hl-band--ink h2,.hl-band--ink h3{color:#FBF7EF}
.hl-narrow{max-width:660px}
.hl-centered{max-width:720px;margin:0 auto;text-align:center}
.hl-pill{display:inline-block;padding:14px 32px;border-radius:999px;font-size:.9rem;letter-spacing:.05em;text-decoration:none;border:1px solid transparent;cursor:pointer;font-family:Jost,sans-serif}
.hl-pill--solid{background:var(--hl-ink);color:#FBF7EF}
.hl-pill--solid:hover{background:var(--hl-ink-2);color:#fff}
.hl-pill--line{border-color:var(--hl-ink);color:var(--hl-ink)}
.hl-pill--line:hover{background:var(--hl-ink);color:#FBF7EF}
.hl-rule{width:52px;height:1px;background:var(--hl-brass);margin:26px auto}
.hl-rule--left{margin:26px 0}

/* ---------- hero ---------- */
.hl-hero{background:linear-gradient(180deg,#FAF6EF 0%,#F3EDE2 100%);text-align:center;padding:92px 0 76px;border-bottom:1px solid var(--hl-edge)}
.hl-hero h1{max-width:15ch;margin-left:auto;margin-right:auto}
.hl-hero-lead{max-width:60ch;margin:0 auto 30px;font-size:1.1rem;color:var(--hl-ink-2)}
.hl-hero-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.hl-strip{display:flex;justify-content:center;flex-wrap:wrap;gap:0;border-top:1px solid var(--hl-edge);background:var(--hl-card)}
.hl-strip div{flex:1 1 220px;padding:26px 20px;text-align:center;border-right:1px solid var(--hl-edge)}
.hl-strip div:last-child{border-right:0}
.hl-strip b{display:block;font-family:Fraunces,serif;font-size:1.15rem;color:var(--hl-ink)}
.hl-strip span{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--hl-mute)}

/* ---------- editorial columns ---------- */
.hl-split{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:start}
.hl-split--even{grid-template-columns:1fr 1fr}
.hl-note{font-size:.9rem;color:var(--hl-mute)}

/* ---------- ledger (numbered standards) ---------- */
.hl-ledger{counter-reset:hl;border-top:1px solid var(--hl-edge)}
.hl-ledger-row{counter-increment:hl;display:grid;grid-template-columns:64px 1fr;gap:24px;padding:26px 0;border-bottom:1px solid var(--hl-edge)}
.hl-ledger-row::before{content:"0" counter(hl);font-family:Fraunces,serif;font-size:1.5rem;color:var(--hl-brass)}
.hl-ledger-row h3{margin-bottom:6px}
.hl-ledger-row p{margin:0;font-size:.95rem}

/* ---------- accordion ---------- */
.hl-fold{border-top:1px solid var(--hl-edge)}
.hl-fold details{border-bottom:1px solid var(--hl-edge)}
.hl-fold summary{list-style:none;cursor:pointer;padding:20px 40px 20px 0;position:relative;font-family:Fraunces,serif;font-size:1.05rem;color:var(--hl-ink)}
.hl-fold summary::-webkit-details-marker{display:none}
.hl-fold summary::after{content:"+";position:absolute;right:6px;top:18px;font-size:1.3rem;color:var(--hl-brass);font-family:Jost,sans-serif}
.hl-fold details[open] summary::after{content:"–"}
.hl-fold-body{padding:0 0 22px;font-size:.95rem}
.hl-fold-body p:last-child{margin-bottom:0}
.hl-dose{display:inline-block;margin-left:10px;font-family:Jost,sans-serif;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--hl-mute);vertical-align:middle}

/* ---------- definition record ---------- */
.hl-record{border:1px solid var(--hl-edge);background:var(--hl-card);border-radius:14px;padding:8px 26px}
.hl-record dl{display:grid;grid-template-columns:auto 1fr;gap:0;margin:0}
.hl-record dt{padding:14px 0;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--hl-mute);border-bottom:1px solid var(--hl-edge);padding-right:26px}
.hl-record dd{padding:14px 0;margin:0;font-size:.95rem;color:var(--hl-ink-2);border-bottom:1px solid var(--hl-edge);text-align:right}
.hl-record dl > :nth-last-child(1),.hl-record dl > :nth-last-child(2){border-bottom:0}

/* ---------- chips + quote ---------- */
.hl-chips{display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:0;list-style:none}
.hl-chips li{border:1px solid var(--hl-edge);background:var(--hl-card);border-radius:999px;padding:8px 18px;font-size:.86rem;color:var(--hl-ink-2)}
.hl-quote{font-family:Fraunces,serif;font-size:clamp(1.3rem,2.6vw,1.9rem);line-height:1.45;color:#FBF7EF;max-width:24ch}
.hl-aside{border-left:2px solid var(--hl-brass);padding:4px 0 4px 22px;font-size:.95rem}

/* ---------- form ---------- */
.hl-panel{background:var(--hl-card);border:1px solid var(--hl-edge);border-radius:18px;padding:34px}
.hl-panel h3{margin-bottom:4px}
.hl-panel-sub{font-size:.88rem;color:var(--hl-mute);margin-bottom:22px}
.hl-in{margin-bottom:16px}
.hl-in label{display:block;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--hl-mute);margin-bottom:7px}
.hl-in input,.hl-in textarea{width:100%;padding:13px 0;border:0;border-bottom:1px solid var(--hl-edge);background:transparent;font:inherit;font-size:1rem;color:var(--hl-ink)}
.hl-in input:focus,.hl-in textarea:focus{outline:none;border-bottom-color:var(--hl-brass)}
.hl-agree{display:flex;gap:12px;align-items:flex-start;font-size:.79rem;line-height:1.62;color:var(--hl-mute);margin:20px 0 22px}
.hl-agree input{margin-top:4px;width:16px;height:16px;flex:0 0 16px;accent-color:var(--hl-brass-dk)}
.hl-say{font-size:.86rem;margin:14px 0 0;color:var(--hl-mute)}
.hl-say.is-bad{color:#A33A2B}
.hl-done{text-align:center;padding:12px 0}
.hl-done-mark{width:44px;height:44px;border-radius:50%;border:1px solid var(--hl-brass);color:var(--hl-brass-dk);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:1.2rem}

/* ---------- legal documents ---------- */
.hl-paper{max-width:780px;margin:0 auto;padding:70px 26px 40px}
.hl-paper h1{font-size:clamp(1.9rem,3.6vw,2.7rem)}
.hl-paper h2{font-size:1.15rem;font-family:Jost,sans-serif;font-weight:600;letter-spacing:.02em;margin:36px 0 10px;color:var(--hl-ink)}
.hl-paper p,.hl-paper li{font-size:.96rem}
.hl-paper ul{padding-left:18px}
.hl-paper li{margin-bottom:8px}
.hl-stamp{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--hl-mute);margin-bottom:30px}
.hl-preamble{border-top:1px solid var(--hl-edge);border-bottom:1px solid var(--hl-edge);padding:22px 0;font-size:1rem;color:var(--hl-ink-2)}

/* ---------- regulatory strip + footer ---------- */
.hl-legalstrip{background:var(--hl-paper-2);border-top:1px solid var(--hl-edge);padding:30px 0;font-size:.82rem;color:var(--hl-mute);line-height:1.72}
.hl-legalstrip-t{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--hl-ink-2);margin-bottom:8px}
.hl-legalstrip p:last-child{margin-bottom:0}
.hl-foot{background:var(--hl-ink);color:#9DB0A5;padding:58px 0 34px;font-size:.9rem}
.hl-foot a{color:#D7E2DA;text-decoration:none;display:block;margin-bottom:7px}
.hl-foot a:hover{color:var(--hl-brass)}
.hl-foot .hl-word--foot{color:#FBF7EF;margin:0 0 8px}
.hl-foot-top{display:grid;grid-template-columns:1fr 1.5fr;gap:40px;padding-bottom:34px;border-bottom:1px solid #2C3D34}
.hl-foot-line{color:#9DB0A5;max-width:32ch}
.hl-foot-menus{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.hl-foot-menus span{display:block;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:#7E9187;margin-bottom:14px}
.hl-foot-menus em{font-style:normal;font-size:.82rem;color:#7E9187}
.hl-foot-id{padding:24px 0;border-bottom:1px solid #2C3D34;font-size:.85rem}
.hl-foot-id p{margin:0 0 4px}
.hl-foot-id b{color:#E4EDE7}
.hl-foot-sms{padding:22px 0;border-bottom:1px solid #2C3D34;font-size:.78rem;line-height:1.72;color:#87998E}
.hl-foot-sms b{color:#C3D2C8}
.hl-foot-sms p:last-child{margin-bottom:0}
.hl-foot-rule{padding-top:22px;margin:0;font-size:.78rem;color:#728578}

@media (max-width:900px){
  .hl-split,.hl-split--even{grid-template-columns:1fr;gap:34px}
  .hl-foot-top{grid-template-columns:1fr}
}
@media (max-width:680px){
  .hl-links{display:none}
  .hl-toggle{display:block}
  .hl-band{padding:58px 0}
  .hl-hero{padding:62px 0 52px}
  .hl-foot-menus{grid-template-columns:1fr}
  .hl-record dl{grid-template-columns:1fr}
  .hl-record dt{border-bottom:0;padding-bottom:0}
  .hl-record dd{text-align:left;padding-top:4px}
}
