/* ==========================================================================
   MemoHive — stylesheet
   Sits on top of Bootstrap 5.3.3. Everything namespaced .hvz-
   White page, navy structure, gold as the single ornament.
   ========================================================================== */

html{scroll-behavior:smooth;scroll-padding-top:92px}
body{
  font-family:var(--hvz-sans);
  background:var(--hvz-page);
  color:var(--hvz-text);
  font-size:1.03rem;
  line-height:1.74;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:var(--hvz-serif);color:var(--hvz-navy);line-height:1.18;letter-spacing:-.005em}
h1{font-size:clamp(2.15rem,5.2vw,3.55rem);font-weight:600}
h2{font-size:clamp(1.7rem,3.6vw,2.55rem);font-weight:600;margin-bottom:.55em}
h3{font-size:1.2rem;font-weight:600;line-height:1.32}
h4{font-size:1.02rem;font-weight:600}
p{max-width:72ch}
a{color:var(--hvz-navy);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:var(--hvz-rule-gold)}
a:hover{color:var(--hvz-gold);text-decoration-color:var(--hvz-gold)}
img{max-width:100%;height:auto}
:focus-visible{outline:none;box-shadow:var(--hvz-focus);border-radius:6px}
::selection{background:var(--hvz-gold-wash);color:var(--hvz-navy)}

.hvz-jump{position:absolute;left:-9999px;top:0;background:var(--hvz-navy);color:#fff;padding:12px 18px;z-index:500;border-radius:0 0 8px 0}
.hvz-jump:focus{left:0;color:#fff}

.hvz-shell{width:100%;max-width:1180px;margin-inline:auto;padding-inline:var(--hvz-pad)}
.hvz-shell-narrow{max-width:830px}

/* --- section frames ------------------------------------------------------ */
.hvz-sec{padding-block:var(--hvz-section)}
.hvz-sec-wash{background:var(--hvz-navy-wash)}
.hvz-sec-honey{background:var(--hvz-gold-wash)}
.hvz-sec-ruled{border-top:1px solid var(--hvz-rule)}
.hvz-sec-navy{background:var(--hvz-navy);color:#e6ecf8}
.hvz-sec-navy h2,.hvz-sec-navy h3{color:#fff}
.hvz-sec-navy p{color:rgba(255,255,255,.8)}

/* the one repeating ornament: a short gold rule above a heading */
.hvz-eyebrow{
  display:block;font-family:var(--hvz-sans);font-size:.88rem;font-weight:600;
  color:var(--hvz-gold);margin-bottom:12px;padding-top:14px;position:relative;
}
.hvz-eyebrow::before{content:"";position:absolute;top:0;left:0;width:44px;height:2px;background:var(--hvz-gold)}
.hvz-eyebrow.is-centred::before{left:50%;translate:-50% 0}
.hvz-eyebrow.on-navy{color:var(--hvz-gold-bright)}
.hvz-eyebrow.on-navy::before{background:var(--hvz-gold-bright)}

.hvz-intro{max-width:60ch;margin-bottom:40px}
.hvz-intro.is-centred{margin-inline:auto;text-align:center}
.hvz-intro p{color:var(--hvz-text-2);font-size:1.09rem;margin-bottom:0}
.hvz-intro.is-centred p{margin-inline:auto}

/* --- buttons ------------------------------------------------------------- */
.hvz-act{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--hvz-sans);font-weight:700;font-size:1rem;letter-spacing:.01em;
  padding:15px 32px;border:2px solid transparent;border-radius:var(--hvz-round-s);
  text-decoration:none;cursor:pointer;text-align:center;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .2s ease;
}
.hvz-act:hover{text-decoration:none}
.hvz-act-gold{background:var(--hvz-gold);color:#fff;box-shadow:0 8px 20px rgba(185,139,33,.26)}
.hvz-act-gold:hover{background:var(--hvz-gold-bright);color:#fff;box-shadow:0 12px 28px rgba(185,139,33,.34)}
.hvz-act-navy{background:var(--hvz-navy);color:#fff}
.hvz-act-navy:hover{background:var(--hvz-navy-soft);color:#fff}
.hvz-act-line{background:#fff;color:var(--hvz-navy);border-color:var(--hvz-rule)}
.hvz-act-line:hover{border-color:var(--hvz-navy);color:var(--hvz-navy);background:var(--hvz-navy-wash)}
.hvz-act-cream{background:#fff;color:var(--hvz-navy)}
.hvz-act-cream:hover{background:var(--hvz-gold-wash);color:var(--hvz-navy)}
.hvz-act-sm{padding:10px 20px;font-size:.93rem}
.hvz-act-full{width:100%}

/* --- masthead ------------------------------------------------------------ */
.hvz-ribbon{
  background:var(--hvz-navy);color:rgba(255,255,255,.85);
  font-size:.82rem;text-align:center;padding:9px 16px;line-height:1.5;
}
.hvz-ribbon b{color:var(--hvz-gold-bright);font-weight:600}
.hvz-ribbon em{font-style:normal;opacity:.35;padding-inline:9px}

.hvz-mast{
  position:sticky;top:0;z-index:210;background:rgba(255,255,255,.96);
  backdrop-filter:blur(12px);border-bottom:1px solid var(--hvz-rule);
}
.hvz-mast.is-lifted{box-shadow:0 4px 18px rgba(15,32,68,.08)}
.hvz-mast .hvz-shell{display:flex;align-items:center;gap:18px;height:70px}
.hvz-sig{
  font-family:var(--hvz-serif);font-weight:600;font-size:1.42rem;color:var(--hvz-navy);
  display:inline-flex;align-items:center;gap:9px;text-decoration:none;letter-spacing:-.01em;
}
.hvz-sig:hover{color:var(--hvz-navy);text-decoration:none}
.hvz-sig span{color:var(--hvz-gold)}
.hvz-links{display:flex;gap:24px;margin-left:auto}
.hvz-links a{
  font-family:var(--hvz-sans);font-size:.94rem;font-weight:600;color:var(--hvz-text-2);
  text-decoration:none;padding-block:5px;border-bottom:2px solid transparent;
}
.hvz-links a:hover,.hvz-links a[aria-current="page"]{color:var(--hvz-navy);border-bottom-color:var(--hvz-gold)}
.hvz-mast-end{display:flex;align-items:center;gap:10px;margin-left:auto}
.hvz-links+.hvz-mast-end{margin-left:24px}
.hvz-hamburger{
  display:none;background:#fff;border:1px solid var(--hvz-rule);border-radius:10px;
  width:44px;height:44px;align-items:center;justify-content:center;color:var(--hvz-navy);cursor:pointer;
}

.hvz-tray{
  position:fixed;inset:0 0 0 auto;width:min(330px,85vw);background:#fff;z-index:330;
  transform:translateX(102%);transition:transform .3s cubic-bezier(.4,0,.2,1);
  padding:24px var(--hvz-pad);overflow-y:auto;box-shadow:-12px 0 40px rgba(15,32,68,.16);
}
.hvz-tray.is-out{transform:translateX(0)}
.hvz-tray a{display:block;padding:13px 0;font-weight:600;color:var(--hvz-text);
  text-decoration:none;border-bottom:1px solid var(--hvz-rule)}
.hvz-tray a.hvz-act{border-bottom:0;color:#fff;margin-top:18px}
.hvz-tray-shut{background:none;border:0;font-size:1.9rem;line-height:1;color:var(--hvz-text-3);cursor:pointer;margin-bottom:10px}
.hvz-scrim{position:fixed;inset:0;background:rgba(15,32,68,.48);z-index:320;opacity:0;pointer-events:none;transition:opacity .28s}
.hvz-scrim.is-out{opacity:1;pointer-events:auto}

/* --- opening ------------------------------------------------------------- */
.hvz-open{position:relative;overflow:hidden;padding-block:clamp(30px,5vw,58px) clamp(46px,7vw,84px)}
.hvz-open::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--hvz-rule-gold),transparent);
}
.hvz-open-grid{display:grid;grid-template-columns:1fr;gap:clamp(24px,4vw,54px);align-items:center}

/* product stage: gold arcs that draw themselves, then a shimmer crosses the bottle */
.hvz-stage{position:relative;display:grid;place-items:center;isolation:isolate}
.hvz-arcs{position:absolute;inset:-6%;z-index:0;pointer-events:none}
.hvz-arcs circle{
  fill:none;stroke:var(--hvz-rule-gold);stroke-width:1.2;
  transform-origin:50% 50%;
}
.hvz-arcs .hvz-arc-draw{
  stroke:var(--hvz-gold);stroke-width:2;stroke-linecap:round;
  animation:hvz-draw 4.8s cubic-bezier(.65,0,.35,1) infinite;
}
.hvz-arcs .hvz-arc-draw.t2{animation-duration:6.2s;animation-delay:.9s}
.hvz-arcs .hvz-arc-draw.t3{animation-duration:7.6s;animation-delay:1.8s}
@keyframes hvz-draw{
  0%{stroke-dashoffset:var(--len);opacity:0}
  12%{opacity:.85}
  62%{stroke-dashoffset:0;opacity:.85}
  100%{stroke-dashoffset:calc(var(--len) * -1);opacity:0}
}
.hvz-stage-pool{
  position:absolute;width:72%;aspect-ratio:1;border-radius:50%;z-index:0;
  background:radial-gradient(circle,#fff 30%,rgba(253,248,236,.9) 54%,rgba(253,248,236,0) 74%);
}
.hvz-stage figure{position:relative;z-index:1;margin:0;overflow:hidden;border-radius:var(--hvz-round-l)}
.hvz-stage img{display:block;filter:drop-shadow(0 22px 34px rgba(15,32,68,.24))}
.hvz-stage figure::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.55) 48%,rgba(255,214,120,.35) 52%,transparent 62%);
  transform:translateX(-120%);
  animation:hvz-sheen 7.5s ease-in-out infinite;
}
@keyframes hvz-sheen{0%,72%{transform:translateX(-120%)}92%,100%{transform:translateX(120%)}}

.hvz-stage-chip{
  position:absolute;z-index:2;left:2%;bottom:4%;
  background:#fff;border:1px solid var(--hvz-rule);border-radius:var(--hvz-round);
  padding:10px 16px;box-shadow:var(--hvz-lift);font-size:.84rem;color:var(--hvz-text-2);
}
.hvz-stage-chip b{display:block;font-family:var(--hvz-serif);font-size:1.12rem;color:var(--hvz-navy)}

/* opening copy, revealed once in sequence */
.hvz-enter{opacity:0;transform:translateY(14px);animation:hvz-enter .66s cubic-bezier(.22,1,.36,1) forwards}
.hvz-enter.s1{animation-delay:.04s}
.hvz-enter.s2{animation-delay:.14s}
.hvz-enter.s3{animation-delay:.24s}
.hvz-enter.s4{animation-delay:.34s}
.hvz-enter.s5{animation-delay:.44s}
.hvz-enter.s6{animation-delay:.54s}
@keyframes hvz-enter{to{opacity:1;transform:translateY(0)}}

.hvz-open h1{margin-bottom:16px}
.hvz-open-sub{font-size:1.1rem;color:var(--hvz-text-2);margin-bottom:22px}

.hvz-nutshell{
  border-left:3px solid var(--hvz-gold);background:var(--hvz-gold-wash);
  border-radius:0 var(--hvz-round) var(--hvz-round) 0;padding:20px 24px;margin-bottom:22px;
}
.hvz-nutshell h2{font-family:var(--hvz-sans);font-size:.83rem;font-weight:700;color:var(--hvz-gold);margin-bottom:8px;letter-spacing:.03em}
.hvz-nutshell p{margin-bottom:0;font-size:1rem;color:var(--hvz-text-2)}
.hvz-nutshell p+p{margin-top:10px}
.hvz-nutshell strong{color:var(--hvz-navy)}

.hvz-pills{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0 0 22px}
.hvz-pills li{
  font-size:.85rem;font-weight:600;color:var(--hvz-text-2);background:#fff;
  border:1px solid var(--hvz-rule);border-radius:var(--hvz-round-full);padding:6px 15px;
}
.hvz-pills li::before{content:"\2713";color:var(--hvz-gold);font-weight:700;margin-right:7px}

.hvz-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-bottom:26px;
  border:1px solid var(--hvz-rule);border-radius:var(--hvz-round);overflow:hidden;background:#fff}
.hvz-number{padding:16px 12px;text-align:center;border-right:1px solid var(--hvz-rule)}
.hvz-number:last-child{border-right:0}
.hvz-number b{display:block;font-family:var(--hvz-serif);font-size:1.6rem;font-weight:600;color:var(--hvz-gold)}
.hvz-number span{font-size:.79rem;color:var(--hvz-text-3);line-height:1.35;display:block}

.hvz-open-acts{display:flex;flex-wrap:wrap;gap:12px}

/* --- key/value panel ----------------------------------------------------- */
.hvz-spec{border:1px solid var(--hvz-rule);border-radius:var(--hvz-round-l);background:#fff;
  padding:26px 28px;box-shadow:var(--hvz-lift-2)}
.hvz-spec h2{font-size:1.12rem;margin-bottom:14px}
.hvz-spec dl{margin:0}
.hvz-spec div{display:flex;gap:14px;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--hvz-rule)}
.hvz-spec div:last-child{border-bottom:0}
.hvz-spec dt{font-weight:600;color:var(--hvz-text-3);font-size:.91rem;flex:none}
.hvz-spec dd{margin:0;text-align:right;font-weight:600;color:var(--hvz-navy);font-size:.94rem}

/* --- badge strip --------------------------------------------------------- */
.hvz-marks{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.hvz-mark{text-align:center}
.hvz-mark img{height:54px;width:auto;object-fit:contain;margin-bottom:10px}
.hvz-mark h3{font-size:.98rem;margin-bottom:5px}
.hvz-mark p{font-size:.85rem;color:var(--hvz-text-3);margin:0}

/* --- panels -------------------------------------------------------------- */
.hvz-grid{display:grid;grid-template-columns:1fr;gap:18px}
.hvz-panel{
  background:var(--hvz-card);border:1px solid var(--hvz-rule);border-radius:var(--hvz-round);
  padding:25px;height:100%;
}
.hvz-panel h3{margin-bottom:9px}
.hvz-panel p{font-size:.96rem;color:var(--hvz-text-2);margin-bottom:0}
.hvz-panel-key{
  font-family:var(--hvz-serif);font-size:1.5rem;color:var(--hvz-gold);
  line-height:1;margin-bottom:12px;display:block;
}
.hvz-sec-wash .hvz-panel,.hvz-sec-honey .hvz-panel{background:#fff}
.hvz-sec-navy .hvz-panel{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.15)}
.hvz-sec-navy .hvz-panel p{color:rgba(255,255,255,.78)}

/* --- ingredient ledger --------------------------------------------------- */
.hvz-ledger{border:1px solid var(--hvz-rule);border-radius:var(--hvz-round);overflow:hidden;background:#fff}
.hvz-ledger-row{display:grid;grid-template-columns:1fr;gap:4px;padding:20px 24px;border-bottom:1px solid var(--hvz-rule)}
.hvz-ledger-row:last-child{border-bottom:0}
.hvz-ledger-row:nth-child(odd){background:var(--hvz-navy-wash)}
.hvz-ledger-top{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap}
.hvz-ledger-top h3{margin:0}
.hvz-dose{
  font-family:var(--hvz-serif);font-size:1.25rem;color:var(--hvz-gold);font-weight:600;white-space:nowrap;
}
.hvz-ledger-row p{font-size:.95rem;color:var(--hvz-text-2);margin:0}

/* --- staged process ------------------------------------------------------ */
.hvz-steps{display:grid;gap:0;counter-reset:hvz-step}
.hvz-step{display:flex;gap:22px;padding-bottom:26px;position:relative}
.hvz-step:last-child{padding-bottom:0}
.hvz-step::before{
  counter-increment:hvz-step;content:counter(hvz-step,decimal-leading-zero);
  flex:none;font-family:var(--hvz-serif);font-size:1.15rem;font-weight:600;color:var(--hvz-gold);
  width:42px;height:42px;border:1px solid var(--hvz-rule-gold);border-radius:50%;
  display:grid;place-items:center;background:#fff;z-index:1;
}
.hvz-step:not(:last-child)::after{
  content:"";position:absolute;left:21px;top:44px;bottom:4px;width:1px;background:var(--hvz-rule-gold);
}
.hvz-step h3{margin-bottom:6px}
.hvz-step p{font-size:.96rem;color:var(--hvz-text-2);margin-bottom:0}

/* --- notice -------------------------------------------------------------- */
.hvz-flag{
  background:#fff;border:1px solid var(--hvz-rule);border-top:3px solid var(--hvz-gold);
  border-radius:var(--hvz-round);padding:22px 26px;
}
.hvz-flag h3{margin-bottom:9px}
.hvz-flag p{font-size:.96rem;color:var(--hvz-text-2);margin-bottom:0}
.hvz-flag p+p{margin-top:10px}

/* --- pricing ------------------------------------------------------------- */
.hvz-offers{display:grid;grid-template-columns:1fr;gap:20px;align-items:stretch}
.hvz-offer{
  background:#fff;border:1px solid var(--hvz-rule);border-radius:var(--hvz-round-l);
  padding:26px 22px;text-align:center;position:relative;display:flex;flex-direction:column;
  transition:box-shadow .2s ease,border-color .2s ease;
}
.hvz-offer:hover{box-shadow:var(--hvz-lift-2);border-color:var(--hvz-rule-gold)}
.hvz-offer.is-lead{border:2px solid var(--hvz-gold);box-shadow:var(--hvz-lift-2)}
.hvz-offer-tab{
  position:absolute;top:-13px;left:50%;translate:-50% 0;background:var(--hvz-gold);color:#fff;
  font-weight:700;font-size:.79rem;padding:5px 18px;border-radius:var(--hvz-round-full);white-space:nowrap;
}
.hvz-offer img{max-height:170px;width:auto;margin:8px auto 14px;object-fit:contain}
.hvz-offer h3{font-size:1.3rem;margin-bottom:2px}
.hvz-offer-span{font-size:.87rem;color:var(--hvz-text-3);margin-bottom:14px}
.hvz-offer-rate{font-family:var(--hvz-serif);font-size:2.55rem;font-weight:600;color:var(--hvz-navy);line-height:1}
.hvz-offer-rate small{font-size:.9rem;font-weight:600;color:var(--hvz-text-3);font-family:var(--hvz-sans)}
.hvz-offer-total{font-size:.89rem;color:var(--hvz-text-3);margin-bottom:16px}
.hvz-offer-total s{opacity:.65}
.hvz-offer-total b{color:var(--hvz-gold)}
.hvz-offer ul{list-style:none;padding:0;margin:0 0 20px;text-align:left}
.hvz-offer li{font-size:.92rem;color:var(--hvz-text-2);padding:5px 0 5px 23px;position:relative}
.hvz-offer li::before{content:"\2713";position:absolute;left:0;color:var(--hvz-gold);font-weight:700}
.hvz-offer .hvz-act{margin-top:auto}
.hvz-offer-atc{display:block;margin-top:auto;transition:filter .2s ease}
.hvz-offer-atc:hover{filter:brightness(1.07)}
.hvz-offer-atc img{display:block;width:100%;max-width:240px;height:auto;margin-inline:auto;border-radius:var(--hvz-round-full)}
.hvz-offer-cards{height:24px;width:auto;margin:14px auto 0;opacity:.75}

/* --- guarantee ----------------------------------------------------------- */
.hvz-pledge{
  display:flex;gap:26px;align-items:center;flex-direction:column;text-align:center;
  background:#fff;border:1px solid var(--hvz-rule);border-radius:var(--hvz-round-l);
  padding:32px 30px;box-shadow:var(--hvz-lift);
}
.hvz-pledge img{width:118px;height:auto;flex:none}
.hvz-pledge ul{list-style:none;padding:0;margin:14px 0 0;text-align:left;display:inline-block}
.hvz-pledge li{padding:5px 0 5px 23px;position:relative;font-size:.96rem;color:var(--hvz-text-2)}
.hvz-pledge li::before{content:"\2713";position:absolute;left:0;color:var(--hvz-gold);font-weight:700}

/* --- reader notes (initial avatars, no stock photos) --------------------- */
.hvz-notes{display:grid;grid-template-columns:1fr;gap:18px}
.hvz-note{
  background:#fff;border:1px solid var(--hvz-rule);border-radius:var(--hvz-round);
  padding:24px;height:100%;display:flex;flex-direction:column;
}
.hvz-note-head{display:flex;align-items:center;gap:13px;margin-bottom:13px}
.hvz-initial{
  flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;
  background:var(--hvz-navy);color:var(--hvz-gold-bright);
  font-family:var(--hvz-serif);font-size:1.15rem;font-weight:600;
}
.hvz-note-head b{display:block;font-family:var(--hvz-serif);font-size:1.02rem;color:var(--hvz-navy)}
.hvz-note-head span{font-size:.79rem;color:var(--hvz-text-3)}
.hvz-rating{color:var(--hvz-gold);letter-spacing:2px;font-size:.88rem;margin-bottom:8px}
.hvz-note blockquote{margin:0;font-size:.97rem;color:var(--hvz-text-2);line-height:1.68}
.hvz-note-tail{margin-top:auto;padding-top:13px;font-size:.77rem;color:var(--hvz-text-3)}

.hvz-tally{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-bottom:36px;
  border:1px solid var(--hvz-rule);border-radius:var(--hvz-round);overflow:hidden;background:#fff}
.hvz-tally-cell{text-align:center;padding:20px 12px;border-right:1px solid var(--hvz-rule)}
.hvz-tally-cell:last-child{border-right:0}
.hvz-tally-cell b{display:block;font-family:var(--hvz-serif);font-size:clamp(1.7rem,4vw,2.25rem);font-weight:600;color:var(--hvz-gold)}
.hvz-tally-cell span{font-size:.84rem;color:var(--hvz-text-3)}

/* --- comparison ---------------------------------------------------------- */
.hvz-tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--hvz-rule);border-radius:var(--hvz-round);background:#fff}
.hvz-table{width:100%;min-width:680px;border-collapse:collapse;margin:0}
.hvz-table th,.hvz-table td{padding:15px 18px;text-align:left;border-bottom:1px solid var(--hvz-rule);font-size:.94rem;vertical-align:top}
.hvz-table thead th{background:var(--hvz-navy);color:#fff;font-family:var(--hvz-serif);font-weight:600;font-size:.98rem;border-bottom:0}
.hvz-table tbody th{font-weight:700;color:var(--hvz-navy);width:24%}
.hvz-table td{color:var(--hvz-text-2)}
.hvz-table tbody tr:last-child th,.hvz-table tbody tr:last-child td{border-bottom:0}
.hvz-table .is-ours{background:var(--hvz-gold-wash);color:var(--hvz-text);font-weight:600}

/* --- timeline ------------------------------------------------------------ */
.hvz-phases{display:grid;grid-template-columns:1fr;gap:16px}
.hvz-phase{background:#fff;border:1px solid var(--hvz-rule);border-radius:var(--hvz-round);padding:22px 24px}
.hvz-phase-when{font-family:var(--hvz-sans);font-weight:700;font-size:.82rem;color:var(--hvz-gold);margin-bottom:8px;letter-spacing:.04em}
.hvz-phase h3{font-size:1.05rem;margin-bottom:7px}
.hvz-phase p{font-size:.94rem;color:var(--hvz-text-2);margin-bottom:0}

/* --- ordered checklist --------------------------------------------------- */
.hvz-list{list-style:none;padding:0;margin:0;counter-reset:hvz-item;display:grid;gap:13px}
.hvz-list li{background:#fff;border:1px solid var(--hvz-rule);border-radius:var(--hvz-round);
  padding:18px 22px 18px 60px;position:relative}
.hvz-list li::before{
  counter-increment:hvz-item;content:counter(hvz-item);
  position:absolute;left:20px;top:19px;width:26px;height:26px;border-radius:50%;
  background:var(--hvz-navy);color:var(--hvz-gold-bright);display:grid;place-items:center;
  font-family:var(--hvz-serif);font-size:.85rem;font-weight:600;
}
.hvz-list h3{font-size:1.02rem;margin-bottom:5px}
.hvz-list p{font-size:.94rem;color:var(--hvz-text-2);margin-bottom:0}

/* --- questions ----------------------------------------------------------- */
.hvz-ask{border-bottom:1px solid var(--hvz-rule)}
.hvz-ask:first-of-type{border-top:1px solid var(--hvz-rule)}
.hvz-ask-q{
  width:100%;background:none;border:0;text-align:left;cursor:pointer;
  padding:20px 50px 20px 0;font-family:var(--hvz-serif);font-weight:600;font-size:1.08rem;
  color:var(--hvz-navy);position:relative;line-height:1.38;
}
.hvz-ask-q::after{
  content:"+";position:absolute;right:8px;top:50%;translate:0 -50%;
  font-family:var(--hvz-sans);font-size:1.5rem;font-weight:400;color:var(--hvz-gold);
  transition:transform .25s ease;
}
.hvz-ask-q[aria-expanded="true"]::after{transform:rotate(45deg)}
.hvz-ask-a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.hvz-ask-a>div{padding:0 0 20px}
.hvz-ask-a p{font-size:.96rem;color:var(--hvz-text-2);margin-bottom:0}
.hvz-ask-a p+p{margin-top:10px}

/* --- citations ----------------------------------------------------------- */
.hvz-cites{list-style:none;padding:0;margin:0;display:grid;gap:11px}
.hvz-cites li{padding-left:24px;position:relative;font-size:.95rem}
.hvz-cites li::before{content:"\2197";position:absolute;left:0;color:var(--hvz-gold)}

/* --- article cards ------------------------------------------------------- */
.hvz-reads{display:grid;grid-template-columns:1fr;gap:18px}
.hvz-read{background:#fff;border:1px solid var(--hvz-rule);border-radius:var(--hvz-round);
  padding:24px;display:flex;flex-direction:column;height:100%;transition:border-color .2s ease,box-shadow .2s ease}
.hvz-read:hover{border-color:var(--hvz-rule-gold);box-shadow:var(--hvz-lift)}
.hvz-read-kind{font-size:.74rem;font-weight:700;color:var(--hvz-gold);letter-spacing:.06em;margin-bottom:11px}
.hvz-read h3{font-size:1.08rem;margin-bottom:9px;line-height:1.36}
.hvz-read h3 a{color:var(--hvz-navy);text-decoration:none}
.hvz-read h3 a:hover{color:var(--hvz-gold)}
.hvz-read p{font-size:.93rem;color:var(--hvz-text-2);margin-bottom:14px}
.hvz-read-when{margin-top:auto;font-size:.79rem;color:var(--hvz-text-3)}

/* --- closing ------------------------------------------------------------- */
.hvz-finale{text-align:center}
.hvz-finale img{max-width:360px;margin-bottom:22px}
.hvz-finale-was{color:rgba(255,255,255,.6);text-decoration:line-through;font-size:1rem}
.hvz-finale-now{font-family:var(--hvz-serif);font-size:clamp(1.65rem,4vw,2.35rem);font-weight:600;color:var(--hvz-gold-bright);margin-bottom:22px}

/* --- article pages ------------------------------------------------------- */
.hvz-trail{font-size:.83rem;color:var(--hvz-text-3);padding-block:16px}
.hvz-trail a{color:var(--hvz-text-3);text-decoration:none}
.hvz-trail a:hover{color:var(--hvz-gold)}
.hvz-trail i{font-style:normal;padding-inline:7px;opacity:.5}
.hvz-masthead{padding-block:clamp(20px,4vw,42px) clamp(24px,4vw,38px);background:var(--hvz-navy-wash);border-bottom:1px solid var(--hvz-rule)}
.hvz-masthead p{color:var(--hvz-text-2);font-size:1.06rem;margin:14px 0 0}
.hvz-credit{font-size:.86rem;color:var(--hvz-text-3);margin-top:14px}
.hvz-credit b{color:var(--hvz-text-2)}
.hvz-copy h2{margin-top:2em}
.hvz-copy h2:first-child{margin-top:0}
.hvz-copy h3{margin-top:1.5em;margin-bottom:.45em}
.hvz-copy p,.hvz-copy li{color:var(--hvz-text-2)}
.hvz-copy ul,.hvz-copy ol{padding-left:22px;margin-bottom:1.2em}
.hvz-copy li{margin-bottom:8px}
.hvz-copy img{border-radius:var(--hvz-round);margin-block:24px}
.hvz-copy table{width:100%;border-collapse:collapse;margin-block:22px;font-size:.94rem}
.hvz-copy th,.hvz-copy td{border:1px solid var(--hvz-rule);padding:11px 14px;text-align:left}
.hvz-copy th{background:var(--hvz-navy-wash);color:var(--hvz-navy);font-weight:700}
.hvz-inset{
  background:var(--hvz-navy);color:#fff;border-radius:var(--hvz-round-l);
  padding:30px;text-align:center;margin-block:34px;
}
.hvz-inset h3{color:#fff;margin-bottom:10px}
.hvz-inset p{color:rgba(255,255,255,.82);margin:0 auto 18px;max-width:50ch}
.hvz-onward{border-top:1px solid var(--hvz-rule);margin-top:40px;padding-top:24px}
.hvz-onward h2{font-size:1.18rem;margin-bottom:13px}
.hvz-onward ul{list-style:none;padding:0;margin:0;display:grid;gap:9px}
.hvz-onward li{padding-left:20px;position:relative}
.hvz-onward li::before{content:"\203A";position:absolute;left:0;color:var(--hvz-gold);font-weight:700}

/* --- footer -------------------------------------------------------------- */
.hvz-foot{background:var(--hvz-navy);color:rgba(255,255,255,.72);padding-block:50px 26px}
.hvz-foot-sig{display:block;text-align:center;font-family:var(--hvz-serif);font-weight:600;
  font-size:1.5rem;color:#fff;margin-bottom:24px;text-decoration:none}
.hvz-foot-sig span{color:var(--hvz-gold-bright)}
.hvz-foot-sig:hover{color:#fff;text-decoration:none}
.hvz-foot-row{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;list-style:none;padding:0;margin:0 0 15px}
.hvz-foot-row a{color:rgba(255,255,255,.88);font-weight:600;font-size:.95rem;text-decoration:none}
.hvz-foot-row a:hover{color:var(--hvz-gold-bright)}
.hvz-foot-row.is-sub{margin-bottom:32px}
.hvz-foot-row.is-sub a{font-weight:500;font-size:.89rem;color:rgba(255,255,255,.6)}
.hvz-foot-fine{max-width:920px;margin:0 auto;text-align:center;font-size:.83rem;line-height:1.72;color:rgba(255,255,255,.55)}
.hvz-foot-fine p{max-width:none;margin-bottom:16px}
.hvz-foot-fine b{color:var(--hvz-gold-bright);font-weight:700}
.hvz-foot-fine a{color:rgba(255,255,255,.82)}
.hvz-foot-hr{border:0;border-top:1px solid rgba(255,255,255,.13);margin:26px auto;max-width:920px}
.hvz-foot-mark{text-align:center;font-size:.86rem;color:rgba(255,255,255,.68)}
.hvz-foot-strap{text-align:center;font-size:.79rem;color:rgba(255,255,255,.4);margin-top:6px}

/* --- sticky bar + back to top -------------------------------------------- */
.hvz-bar{
  position:fixed;left:0;right:0;bottom:0;z-index:190;background:#fff;
  border-top:1px solid var(--hvz-rule);box-shadow:0 -5px 20px rgba(15,32,68,.11);
  padding:10px var(--hvz-pad) calc(10px + env(safe-area-inset-bottom,0px));
  display:flex;align-items:center;gap:14px;justify-content:space-between;
}
.hvz-bar-copy{font-size:.81rem;line-height:1.35;color:var(--hvz-text-3)}
.hvz-bar-copy b{display:block;font-family:var(--hvz-serif);color:var(--hvz-navy);font-size:1.02rem}
.hvz-top{
  position:fixed;right:18px;bottom:86px;z-index:180;width:44px;height:44px;border-radius:50%;
  border:1px solid var(--hvz-rule);background:#fff;color:var(--hvz-navy);cursor:pointer;
  box-shadow:var(--hvz-lift);opacity:0;pointer-events:none;transition:opacity .22s ease;
  display:grid;place-items:center;
}
.hvz-top.is-shown{opacity:1;pointer-events:auto}

/* --- breakpoints --------------------------------------------------------- */
@media (min-width:576px){
  .hvz-grid{grid-template-columns:repeat(2,1fr)}
  .hvz-marks{grid-template-columns:repeat(4,1fr)}
  .hvz-phases{grid-template-columns:repeat(2,1fr)}
  .hvz-ledger-row{grid-template-columns:1fr}
}
@media (min-width:768px){
  .hvz-notes{grid-template-columns:repeat(3,1fr)}
  .hvz-reads{grid-template-columns:repeat(3,1fr)}
  .hvz-grid.is-three{grid-template-columns:repeat(3,1fr)}
  .hvz-pledge{flex-direction:row;text-align:left}
  .hvz-pledge ul{display:block}
  .hvz-offers{grid-template-columns:repeat(3,1fr)}
  .hvz-list{grid-template-columns:repeat(2,1fr)}
}
@media (min-width:992px){
  .hvz-open-grid{grid-template-columns:1.06fr .94fr}
  /* image is first in the DOM for mobile, sent right on desktop */
  .hvz-open-grid>.hvz-stage{order:2}
  .hvz-open-grid>.hvz-open-copy{order:1}
  .hvz-grid.is-four{grid-template-columns:repeat(4,1fr)}
  .hvz-phases{grid-template-columns:repeat(4,1fr)}
  .hvz-bar{display:none}
  .hvz-top{bottom:24px}
}
@media (max-width:991.98px){
  .hvz-links{display:none}
  .hvz-hamburger{display:flex}
  .hvz-mast-end .hvz-act-line{display:none}
  body{padding-bottom:76px}
}
@media (max-width:575.98px){
  .hvz-numbers,.hvz-tally{grid-template-columns:1fr}
  .hvz-number,.hvz-tally-cell{border-right:0;border-bottom:1px solid var(--hvz-rule)}
  .hvz-number:last-child,.hvz-tally-cell:last-child{border-bottom:0}
  .hvz-stage-chip{left:0;bottom:0;padding:8px 13px;font-size:.78rem}
  .hvz-step{gap:15px}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .hvz-enter{opacity:1;transform:none}
  .hvz-stage figure::after{display:none}
}

@media print{
  .hvz-mast,.hvz-ribbon,.hvz-bar,.hvz-top,.hvz-tray,.hvz-scrim{display:none!important}
}
