/* ===================================================================
   OLIVARO — olivaero.com
   Palette : ink #1B3A57 (deep navy, from the label text) | ink-dk
             #0F2438 | steel(=warm gold accent, from the "Most
             Popular"/"Free Shipping" ribbons) #C89B3C | steel-dk
             #A67F28 | sage(=olive-green secondary, tying to the
             product's own olive-branch name and imagery) #7A8B5A
             | stone #FAF8F3 | sand #F2EEE1 | slate #4F5850 | line
             #E3DFD0
   Type    : 'Cormorant Garamond' (an elegant, Mediterranean-feeling
             display, echoing the olive-branch identity) + 'Inter'
             (clean body) — a fresh pairing not reused
   Motif   : the steady line — a jagged, spiking waveform (echoing an
             erratic blood-sugar reading) that smoothly morphs into a
             flat, level line and holds, then loops back to jagged and
             repeats; a shape-morph mechanic distinct from every other
             signature used across this project (not a hinged joint-
             flex, not a radar sweep, not an arc-and-reset, not rising
             bubbles, not an expanding ripple, not a charge-bar)
   Layout  : HERO IMAGE ON THE LEFT, soft navy/gold glow backdrop
   COMPLIANCE — READ CAREFULLY: independent research on this exact
             product documents SEVERE red flags on its own sales
             pages: unsubstantiated "pancreas rebuilding" and "Type 2
             diabetes reversal within 21 days" claims, a fabricated/
             unverifiable "pancreatic parasite" narrative, an
             unverifiable "Cleveland Clinic 6,438 Americans, 83%"
             statistic with no linkable source, claims of reduced need
             for diabetes medication, conflicting refund terms across
             the sales page/FAQ/linked policy (30-day vs delivery-date
             starts, a 20% restocking fee only in the FAQ, an
             unexplained "lifetime guarantee" claim for the 6-bottle
             tier), and reused testimonials duplicated word-for-word
             on unrelated products. NONE of that language is used
             anywhere in this build. This site uses ONLY the measured,
             structure-function language that is actually printed on
             the product's own label ("Fasting Blood Sugar Health
             Support*," "Clean Ingredients*," "Balance Form System*")
             — never "reverses," "cures," "rebuilds," "eliminates
             medication," or "parasite." A single guarantee (60 days,
             with a stated 30-day minimum use before a refund request)
             is presented, with no "lifetime guarantee" claim. The
             label's actual usage instructions (swallow) are used, not
             the sales-page's conflicting "under the tongue" language.
   HONESTY NOTE: the competitor bonus set included a "Diabetes
             Freedom" ebook whose title itself implies a disease-cure
             promise. That single bonus is EXCLUDED from this build
             entirely; the other five bonuses (Fortifying Vitamins,
             Nerve Renew Guide, Personalized Usage Guide, Accelerated
             Metabolism, Glycemic Rebalance Challenge) are used as-is,
             since none of them make a disease-cure claim in their own
             titles. The formula's real dilution (a single 200 mg
             proprietary blend spread across roughly 18 named
             ingredients, with only Chromium individually dosed) is
             disclosed honestly rather than glossed over. Grapefruit
             Extract's well-documented drug-metabolism interactions
             are flagged explicitly.
   Rules   : grids minmax(0,1fr) · flex min-width:0 · img max-width min(Npx,100%)
             mobile hero order = IMAGE first, then H1, then rest
=================================================================== */

:root{
  --ink:#1B3A57;
  --ink-dk:#0F2438;
  --steel:#C89B3C;
  --steel-dk:#A67F28;
  --sage:#7A8B5A;
  --stone:#FAF8F3;
  --sand:#F2EEE1;
  --slate:#4F5850;
  --line:#E3DFD0;
}



*{box-sizing:border-box}
body{font-family:'Inter',sans-serif;color:var(--slate);margin:0;background:var(--stone);overflow-x:hidden}
h1,h2,h3,h4{font-family:'Cormorant Garamond',serif;color:var(--ink);margin:0 0 .5em;line-height:1.15}
h1{font-size:clamp(1.9rem,4vw,2.7rem);font-weight:700}
h2{font-size:clamp(1.5rem,3vw,2rem);font-weight:700}
h3{font-size:1.3rem;font-weight:700}
h4{font-size:1.05rem;font-weight:700}
p{margin:0 0 1em;line-height:1.65}
a{color:inherit}
img{max-width:100%;height:auto;display:block}
.olv-wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.olv-narrow{max-width:760px;margin:0 auto}
.olv-mid{text-align:center}

/* ---------- top strip + nav ---------- */
.olv-strip{background:var(--ink-dk);color:#fff;font-size:.78rem;padding:8px 0;text-align:center}
.olv-strip span{margin:0 12px;display:inline-block}
.olv-nav{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.olv-nav .olv-wrap{display:flex;align-items:center;justify-content:space-between;padding-top:14px;padding-bottom:14px}
.olv-logo{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:1.35rem;color:var(--ink)}
.olv-logo em{font-style:normal;color:var(--steel-dk)}
.olv-links{list-style:none;display:flex;align-items:center;gap:22px;margin:0;padding:0}
.olv-links a{font-size:.92rem;font-weight:600;color:var(--slate)}
.olv-links a:hover{color:var(--steel-dk)}
.olv-btn{background:var(--steel);color:#fff!important;padding:10px 20px;border-radius:999px;font-weight:700;font-size:.88rem;display:inline-block}
.olv-btn:hover{background:var(--steel-dk)}
.olv-btn-sage{background:var(--steel)}
.olv-btn-full{display:block;text-align:center;width:100%;margin-bottom:10px}
.olv-btn-ghost{border:1.5px solid var(--ink);color:var(--ink)!important;padding:9px 19px;border-radius:999px;font-weight:600;font-size:.88rem;display:inline-block}
.olv-toggle{display:none;background:none;border:0;font-size:1.4rem;color:var(--ink)}
@media(max-width:860px){.olv-links{display:none}.olv-toggle{display:block}}

/* ---------- HERO : HONEYCOMB SHIMMER GRID — a grid of small hexagon cells softly shimmering in sequence, echoing the label's honeycomb pattern ---------- */
.olv-hero{background:linear-gradient(180deg,var(--ink) 0%,var(--ink-dk) 100%);padding:54px 0 68px;overflow:hidden;position:relative}
.olv-hero-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:50px;align-items:center;
  position:relative;z-index:1}
.olv-hero-shot{order:1;position:relative;display:flex;justify-content:center;align-items:center;min-height:260px}
.olv-flex-svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:270px;height:270px;z-index:0}
.olv-wave-line{fill:none;stroke:rgba(255,255,255,.4);stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;
  transition:d 1.6s cubic-bezier(.65,0,.35,1)}
.olv-hero-copy{order:2}
.olv-hero h1{color:#fff}
.olv-hero-shot img{max-width:min(215px,100%);width:100%;height:auto;object-fit:contain;margin:0 auto;
  position:relative;z-index:2;filter:drop-shadow(0 22px 34px rgba(200,155,60,.35))}
.olv-wave-tag{position:absolute;bottom:2%;right:2%;background:#fff;border:1px solid var(--line);border-radius:10px;
  padding:8px 14px;font-size:.74rem;font-weight:700;color:var(--ink);box-shadow:0 10px 20px rgba(0,0,0,.3);
  z-index:3;white-space:nowrap}
.olv-hero h1 em{font-style:italic;color:var(--sage)}
.olv-lede{font-size:1.05rem;color:#CFE3D8;max-width:37em}

.olv-answer{background:#fff;border-left:4px solid var(--steel);border-radius:0 8px 8px 0;
  padding:23px 25px;margin:0 0 22px;box-shadow:0 8px 24px rgba(15,36,56,.08)}
.olv-answer .tag{display:block;font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--steel-dk);margin-bottom:9px}
.olv-answer p{margin:0;color:var(--slate)}
.olv-answer p.first{color:var(--ink);font-weight:700;margin-bottom:.75em}

.olv-facts{display:flex;flex-wrap:wrap;gap:9px;list-style:none;margin:0 0 22px;padding:0}
.olv-facts li{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:7px 15px;
  font-size:.8rem;font-weight:700;color:#fff}

.olv-check{list-style:none;margin:0 0 24px;padding:0}
.olv-check li{position:relative;padding-left:32px;margin-bottom:11px;font-size:.96rem;font-weight:500;color:#DDEDE5}
.olv-check li::before{content:'';position:absolute;left:0;top:5px;width:18px;height:18px;border-radius:50%;
  background:var(--steel);box-shadow:0 0 0 4px rgba(200,155,60,.28)}
.olv-check li::after{content:'\2713';position:absolute;left:4px;top:6.5px;color:var(--ink);font-size:.62rem;font-weight:800}

.olv-figures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 26px}
.olv-figures div{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:8px;padding:14px 8px;text-align:center}
.olv-figures b{display:block;font-family:'Cormorant Garamond',sans-serif;font-weight:700;font-size:1.2rem;color:#fff;line-height:1.1}
.olv-figures span{font-size:.68rem;font-weight:700;color:#9FCBB4;text-transform:uppercase;letter-spacing:.05em}

.olv-hero-btns{display:flex;flex-wrap:wrap;gap:13px;margin-bottom:20px}
.olv-hero-trust{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:.78rem;font-weight:700;color:#9FCBB4}

@media(max-width:920px){
  .olv-hero-grid{grid-template-columns:minmax(0,1fr);gap:26px}
  .olv-hero-copy{display:contents}
  .olv-hero-shot{order:1;min-height:200px}
  .olv-hero-title{order:2}
  .olv-hero-rest{order:3}
  .olv-hero-shot img{max-width:min(175px,100%)}
  .olv-flex-svg{width:210px;height:210px}
  .olv-wave-tag{bottom:0;right:0}
}

/* ---------- "the steady line" signature — a jagged waveform that morphs into a flat, level line, on a loop ---------- */
.olv-ascent{margin-top:18px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 18px 14px;
  box-shadow:0 8px 22px rgba(15,36,56,.14);text-align:center;max-width:260px;margin-left:auto;margin-right:auto}
.olv-ascent h4{font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:var(--steel-dk);
  margin-bottom:8px;font-family:'Inter',sans-serif;font-weight:700}
.olv-ascent svg{display:block;margin:0 auto;overflow:visible}
.olv-line-path{fill:none;stroke:var(--steel);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;
  transition:d 1.6s cubic-bezier(.65,0,.35,1)}
.olv-line-base{fill:none;stroke:var(--line);stroke-width:1.5;stroke-dasharray:2 3}
.olv-ascent-cap{font-size:.68rem;font-weight:700;color:var(--slate);margin-top:8px}
@media(prefers-reduced-motion:reduce){.olv-line-path{transition:none !important}}

/* ---------- grids ---------- */
.olv-grid{display:grid;gap:20px}
.olv-g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.olv-g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.olv-g4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:980px){.olv-g4{grid-template-columns:repeat(2,minmax(0,1fr))}.olv-g3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.olv-g4,.olv-g3,.olv-g2{grid-template-columns:minmax(0,1fr)}}

.olv-sec{padding:64px 0}
.olv-sec-sand{background:var(--sand)}
.olv-sec-dark{background:var(--ink);color:#fff}
.olv-sec-dark h2,.olv-sec-dark h3,.olv-sec-dark h4{color:#fff}
.olv-sec-dark p{color:#CFE3D8}
.olv-sec-dark .olv-eyebrow{color:var(--sage)}

.olv-head{text-align:center;max-width:640px;margin:0 auto 40px}
.olv-eyebrow{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--steel-dk);margin-bottom:10px}

.olv-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:26px 22px}
.olv-card p{color:var(--slate);font-size:.93rem;margin:0}
.olv-card h4{margin-bottom:8px}
.olv-card-badge{text-align:center}
.olv-card-badge img{max-width:70px;margin:0 auto 14px}

.olv-idx{width:38px;height:38px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;
  justify-content:center;font-family:'Cormorant Garamond',serif;font-weight:700;margin-bottom:14px}
.olv-idx-sage{background:var(--steel)}

/* ---------- split ---------- */
.olv-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:50px;align-items:center}
@media(max-width:820px){.olv-split{grid-template-columns:minmax(0,1fr)}}
.olv-split-copy p{color:var(--slate)}

/* ---------- reviews ---------- */
.olv-rev-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.olv-rev-head img{width:52px;height:52px;border-radius:50%;object-fit:cover}
.olv-rev-name{font-weight:700;color:var(--ink);font-size:.95rem}
.olv-rev-sub{font-size:.78rem;color:var(--slate)}
.olv-stars{color:#F4B740;letter-spacing:2px;margin-bottom:10px}
.olv-board{display:flex;justify-content:center;gap:50px;margin-top:34px;flex-wrap:wrap;text-align:center}
.olv-board b{display:block;font-family:'Cormorant Garamond',serif;font-size:1.7rem;color:var(--ink)}
.olv-board span{font-size:.8rem;color:var(--slate);text-transform:uppercase;letter-spacing:.05em}

/* ---------- pricing plans ---------- */
.olv-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start}
@media(max-width:900px){.olv-plans{grid-template-columns:minmax(0,1fr)}}
.olv-plan{background:#fff;border:2px solid var(--line);border-radius:14px;padding:26px 22px;text-align:center;position:relative}
.olv-plan.top{border-color:var(--steel);box-shadow:0 14px 34px rgba(200,155,60,.18);transform:scale(1.04)}
.olv-plan img.pk{max-width:140px;margin:0 auto 16px}
.olv-plan-ttl{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:1.1rem;color:var(--ink)}
.olv-plan-sub{font-size:.82rem;color:var(--slate);margin-bottom:12px}
.olv-plan-price{font-family:'Cormorant Garamond',serif;font-size:2.1rem;font-weight:700;color:var(--ink)}
.olv-plan-price small{font-size:.9rem;font-weight:600;color:var(--slate)}
.olv-plan-tot{font-size:.85rem;color:var(--slate);margin:6px 0}
.olv-plan-ship{font-size:.78rem;font-weight:700;color:var(--steel-dk);margin-bottom:14px}
.olv-plan-ship.pay{color:var(--slate)}
.olv-plan ul{list-style:none;padding:0;margin:0 0 16px;text-align:left;font-size:.86rem;color:var(--slate)}
.olv-plan ul li{padding:5px 0;position:relative;padding-left:20px}
.olv-plan ul li::before{content:'\2713';position:absolute;left:0;color:var(--steel-dk);font-weight:800}
.olv-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--steel);color:#fff;
  font-size:.72rem;font-weight:700;padding:5px 16px;border-radius:999px;white-space:nowrap}
.olv-badge-steel{background:var(--ink)}
.olv-plan .cards{max-width:180px;margin:0 auto}

/* ---------- guarantee ---------- */
.olv-guar{display:grid;grid-template-columns:auto minmax(0,1fr);gap:34px;align-items:center;background:#fff;
  border:1px solid var(--line);border-radius:14px;padding:34px}
@media(max-width:680px){.olv-guar{grid-template-columns:minmax(0,1fr);text-align:center}}
.olv-guar-badge img{max-width:180px}

/* ---------- ribbon list ---------- */
.olv-ribbon-list{display:flex;flex-direction:column;gap:16px}
.olv-ribbon{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--line);
  border-radius:10px;padding:18px 20px}
.olv-ribbon-icon{font-size:1.5rem;flex:0 0 auto}
.olv-ribbon-body h4{margin-bottom:4px}
.olv-ribbon-body p{margin:0;font-size:.9rem}

/* ---------- timeline ---------- */
.olv-timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
@media(max-width:820px){.olv-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}}
.olv-tl-item{text-align:center}
.olv-tl-dot{width:36px;height:36px;border-radius:50%;background:var(--steel);color:#fff;display:flex;
  align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-weight:700;margin:0 auto 12px}
.olv-tl-item h4{font-size:.95rem;margin-bottom:6px}
.olv-tl-item p{font-size:.85rem;color:var(--slate);margin:0}

/* ---------- compare ---------- */
.olv-compare{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}
@media(max-width:700px){.olv-compare{grid-template-columns:minmax(0,1fr)}}
.olv-compare .a,.olv-compare .b{border-radius:12px;padding:24px}
.olv-compare .a{background:#fff;border:1px solid var(--line)}
.olv-compare .b{background:var(--ink);color:#fff}
.olv-compare .b h4{color:#fff}
.olv-compare ul{list-style:none;padding:0;margin:0;font-size:.9rem}
.olv-compare ul li{padding:6px 0}
.olv-compare .a ul li{color:var(--slate)}
.olv-compare .b ul li{color:#CFE3D8}

/* ---------- steps ---------- */
.olv-steps{display:flex;flex-direction:column;gap:18px}
.olv-step-row{display:flex;gap:18px;align-items:flex-start}
.olv-step-row .n{flex:0 0 auto;width:34px;height:34px;border-radius:50%;background:var(--steel);color:#fff;
  display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-weight:700}
.olv-step-row h4{margin-bottom:4px;color:#fff}
.olv-step-row p{margin:0;color:#CFE3D8;font-size:.9rem}

/* ---------- FAQ ---------- */
.olv-faq-row{border-bottom:1px solid var(--line)}
.olv-faq-btn{width:100%;text-align:left;background:none;border:0;padding:18px 0;font-family:'Cormorant Garamond',serif;
  font-weight:700;font-size:1rem;color:var(--ink);display:flex;justify-content:space-between;align-items:center;cursor:pointer}
.olv-faq-btn::after{content:'+';font-size:1.3rem;color:var(--steel-dk)}
.olv-faq-btn[aria-expanded="true"]::after{content:'\2212'}
.olv-faq-body{max-height:0;overflow:hidden;transition:max-height .3s ease}
.olv-faq-body p{padding-bottom:16px;color:var(--slate);margin:0}
.olv-faq-row.open .olv-faq-body{max-height:400px}
.olv-faq{border-top:1px solid var(--line)}

/* ---------- refs ---------- */
.olv-refs{list-style:none;margin:0 0 18px;padding:0}
.olv-refs li{padding:11px 0;border-bottom:1px solid var(--line);font-size:.91rem;color:var(--slate)}
.olv-refs a{color:var(--steel-dk);font-weight:600;text-decoration:underline;text-underline-offset:3px}

.olv-safety-list{list-style:none;margin:0;padding:0}
.olv-safety-list li{background:#fff;border:1px solid var(--line);border-left:4px solid var(--steel);
  border-radius:0 8px 8px 0;padding:16px 20px;margin-bottom:14px;font-size:.93rem;color:var(--slate);line-height:1.6}
.olv-safety-list li b{color:var(--ink)}

/* ---------- final CTA ---------- */
.olv-final{background:linear-gradient(150deg,var(--ink) 0%,var(--ink-dk) 100%);border-radius:14px;
  padding:52px 30px;text-align:center}
.olv-final h2{color:#fff}
.olv-final p{color:#CFE3D8;max-width:520px;margin:0 auto 22px}
.olv-final img{max-width:200px;margin:0 auto 18px}
.olv-final .old{color:#6E8F81;text-decoration:line-through;font-size:.9rem}
.olv-final .new{font-family:'Cormorant Garamond',serif;font-size:1.8rem;font-weight:700;color:var(--sage);margin-bottom:18px}
.olv-final .sm{font-size:.82rem;color:#9FCBB4;margin-top:14px}

/* ---------- related / bonus / ingredients ---------- */
.olv-rel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media(max-width:820px){.olv-rel{grid-template-columns:minmax(0,1fr)}}
.olv-rel a{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px;display:block}
.olv-rel a b{display:block;color:var(--ink);margin-bottom:6px;font-family:'Cormorant Garamond',serif}
.olv-rel a span{font-size:.85rem;color:var(--slate)}

.olv-bonus-grid{display:grid;gap:18px}
.olv-bonus-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px;text-align:center;position:relative}
.olv-bonus-tag{position:absolute;top:-10px;left:50%;transform:translateX(-50%);background:var(--steel);color:#fff;
  font-size:.68rem;font-weight:700;padding:4px 12px;border-radius:999px}
.olv-bonus-card img{max-width:120px;margin:14px auto 12px;border-radius:6px}
.olv-bonus-card h4{font-size:.95rem;margin-bottom:6px}
.olv-bonus-card p{font-size:.82rem;margin:0}

.olv-ing-grid{display:grid;gap:18px}
.olv-ing-card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.olv-ing-top{height:6px}
.olv-ing-body{padding:20px}
.olv-ing-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.olv-ing-icon{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex:0 0 auto}
.olv-ing-name{margin:0;font-size:.98rem}
.olv-ing-cat{font-size:.72rem;font-weight:700;color:var(--steel-dk);text-transform:uppercase;letter-spacing:.04em}
.olv-ing-body p{font-size:.87rem;margin:0}

/* ---------- article/legal pages ---------- */
.olv-article h2{margin-top:1.6em}
.olv-article p{color:var(--slate)}
.olv-article .lead{font-size:1.1rem;color:var(--ink);font-weight:500}
.olv-alert{background:var(--sand);border-left:4px solid var(--steel);border-radius:0 8px 8px 0;padding:18px 22px;
  color:var(--slate);margin-bottom:22px}
.olv-callout{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px 22px;margin:18px 0}
.olv-meta{font-size:.85rem;color:var(--slate);margin-bottom:22px}

.olv-crumb{font-size:.85rem;color:var(--slate);padding:16px 0}
.olv-crumb a{color:var(--steel-dk);font-weight:600}
.olv-crumb i{margin:0 6px;font-style:normal;opacity:.5}

/* ---------- blog hub ---------- */
.olv-bhero{background:linear-gradient(150deg,var(--ink) 0%,var(--ink-dk) 100%);color:#fff;padding:44px 0 34px;text-align:center}
.olv-bhero .lede{color:#CFE3D8;max-width:540px;margin:14px auto 0}
.olv-bhero-meta{margin-top:16px;font-size:.85rem;color:var(--sage)}
.olv-bhero-meta span{margin:0 10px}
.olv-pill{display:inline-block;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);
  color:#fff;font-size:.78rem;font-weight:700;padding:7px 16px;border-radius:999px}
.olv-bgroup{margin-bottom:10px}
.olv-bsection-ttl{display:block;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--steel-dk);margin-bottom:16px}
.olv-bgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media(max-width:820px){.olv-bgrid{grid-template-columns:minmax(0,1fr)}}
.olv-bcard{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px;display:block}
.olv-bcard-head .tag{font-size:.7rem;font-weight:700;color:var(--steel-dk);text-transform:uppercase;letter-spacing:.08em}
.olv-bcard-head h3{font-size:1.05rem;margin:8px 0 10px}
.olv-bcard-body p{font-size:.88rem;margin:0 0 10px}
.olv-bcard-body .read{font-size:.85rem;font-weight:700;color:var(--steel-dk)}

/* ---------- footer ---------- */
.olv-foot{background:var(--ink-dk);color:#9FCBB4;padding:50px 0 26px;font-size:.85rem}
.olv-foot-nav,.olv-foot-legal{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:16px;margin:0 0 20px}
.olv-foot-nav a,.olv-foot-legal a{color:#CFE3D8}
.olv-foot hr{border-color:rgba(255,255,255,.12);margin:20px 0}
.olv-foot p{color:#6E8F81;font-size:.8rem}
.olv-foot .cr{color:#4E6459;font-size:.78rem;margin-top:16px}

/* ---------- sticky bar ---------- */
.olv-sticky{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);
  box-shadow:0 -8px 24px rgba(0,0,0,.08);padding:12px 20px;display:flex;align-items:center;
  justify-content:space-between;gap:16px;z-index:60}
.olv-sticky .t b{display:block;color:var(--ink);font-family:'Cormorant Garamond',serif}
.olv-sticky .t small{color:var(--slate);font-size:.78rem}
@media(min-width:920px){.olv-sticky{display:none}}
body{padding-bottom:70px}
@media(min-width:920px){body{padding-bottom:0}}
