/* ===================================================================
   CARTIVEX — carttivex.com
   Palette : ink #1F4A3D (deep forest green, from the label) | ink-dk
             #123027 | steel(=warm turmeric-gold accent, tying
             directly to the real Turmeric ingredient in this
             formula) #D9A030 | steel-dk #B8801F | sage(=lighter
             sage-green secondary) #7FBA9E | stone #F7FAF8 | sand
             #EDF3EF | slate #445048 | line #DCE8E1
   Type    : 'Schibsted Grotesk' (a clean, confident display) +
             'Inter' (clean body) — a fresh pairing not reused
   Motif   : the joint flex — a simple two-segment hinged line (like
             a bent knee) slowly flexing its angle back and forth on
             a loop, with a small pulsing highlight at the pivot
             point, echoing the label's own joint icon and the
             product's real anatomical knee-joint image; distinct
             from every other signature used across this project (a
             HINGED BEND ANGLE changing over time - not a sweeping
             gauge needle, not a scan-line through brackets, not
             concentric rings, not a honeycomb grid, not a diagonal
             clip-path panel)
   Layout  : STRUCTURALLY UNIQUE HERO — the bottle sits centered with
             the hinged joint-flex line arcing behind it in open
             space, object-fit:contain, never clipped or masked.
   Voice   : cautious, structure-function only - CartiVex supports
             joint comfort, cartilage health, and everyday mobility as
             part of a healthy, active lifestyle. NEVER claims to
             "eliminate" joint pain, reverse arthritis, regenerate
             cartilage, or treat any diagnosed joint disease -
             softened from the competitor site's aggressive
             "eliminate joint pain" / "cartilage regeneration"
             language to a support/comfort framing that matches the
             product's own more measured label copy ("Promotes
             Advanced Mobility," "Supports Joint Comfort," "Supports
             Cartilage Care").
   HONESTY NOTE: the competitor site's 5 bonus ebooks (Nerve Renew
             Guide, Natural Nerve Recovery, Fortifying Vitamins,
             Renewed Nerves Challenge, Personalized Usage Guide) are
             entirely about PERIPHERAL NEUROPATHY and nerve pain -
             numbness, tingling, burning sensations - which is a
             mismatched, evidently copy-pasted bonus set from an
             unrelated nerve-health product, not genuinely about
             joints or cartilage. These bonus images and their
             unverifiable "338% collagen boost in 9 days" statistic
             are EXCLUDED from this build entirely rather than
             reproduced. A single, generically-worded "digital usage
             guide" bonus is referenced in text only, without
             inventing new specific unverifiable claims. The
             competitor's unverified "21,469 reviews" figure and an
             unnamed "expert" testimonial photo with no stated
             credentials are also not reproduced as verified facts.
             The 4 real ingredients (Turmeric Root Extract 4:1,
             Turmeric 95% Curcuminoids, Coleus Forskohlii Extract,
             BioPerine/Black Pepper Extract) and the 60-day guarantee's
             actual fine print (a minimum 30 days of use is required
             before requesting a refund) are carried forward honestly.
   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:#1F4A3D;
  --ink-dk:#123027;
  --steel:#D9A030;
  --steel-dk:#B8801F;
  --sage:#7FBA9E;
  --stone:#F7FAF8;
  --sand:#EDF3EF;
  --slate:#445048;
  --line:#DCE8E1;
}



*{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:'Schibsted Grotesk',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}
.cv-wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.cv-narrow{max-width:760px;margin:0 auto}
.cv-mid{text-align:center}

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

/* ---------- HERO : HONEYCOMB SHIMMER GRID — a grid of small hexagon cells softly shimmering in sequence, echoing the label's honeycomb pattern ---------- */
.cv-hero{background:linear-gradient(180deg,var(--ink) 0%,var(--ink-dk) 100%);padding:54px 0 68px;overflow:hidden;position:relative}
.cv-hero-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:50px;align-items:center;
  position:relative;z-index:1}
.cv-hero-shot{order:1;position:relative;display:flex;justify-content:center;align-items:center;min-height:260px}
.cv-flex-svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:270px;height:270px;z-index:0}
.cv-flex-bone{stroke:rgba(255,255,255,.28);stroke-width:9;stroke-linecap:round;fill:none}
.cv-flex-upper{animation:cvJointBend 4.2s ease-in-out infinite;transform-origin:135px 135px}
.cv-flex-pivot{fill:var(--steel);animation:cvPivotPulse 4.2s ease-in-out infinite}
@keyframes cvJointBend{0%,100%{transform:rotate(0deg)}50%{transform:rotate(-22deg)}}
@keyframes cvPivotPulse{0%,100%{opacity:.55;r:6}50%{opacity:1;r:9}}
@media(prefers-reduced-motion:reduce){.cv-flex-upper{animation:none}.cv-flex-pivot{animation:none;opacity:.8}}
.cv-hero-copy{order:2}
.cv-hero h1{color:#fff}
.cv-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(217,160,48,.35))}
.cv-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}
.cv-hero h1 em{font-style:italic;color:var(--sage)}
.cv-lede{font-size:1.05rem;color:#CFE3D8;max-width:37em}

.cv-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(18,48,39,.08)}
.cv-answer .tag{display:block;font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--steel-dk);margin-bottom:9px}
.cv-answer p{margin:0;color:var(--slate)}
.cv-answer p.first{color:var(--ink);font-weight:700;margin-bottom:.75em}

.cv-facts{display:flex;flex-wrap:wrap;gap:9px;list-style:none;margin:0 0 22px;padding:0}
.cv-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}

.cv-check{list-style:none;margin:0 0 24px;padding:0}
.cv-check li{position:relative;padding-left:32px;margin-bottom:11px;font-size:.96rem;font-weight:500;color:#DDEDE5}
.cv-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(217,160,48,.28)}
.cv-check li::after{content:'\2713';position:absolute;left:4px;top:6.5px;color:var(--ink);font-size:.62rem;font-weight:800}

.cv-figures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 26px}
.cv-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}
.cv-figures b{display:block;font-family:'Schibsted Grotesk',sans-serif;font-weight:700;font-size:1.2rem;color:#fff;line-height:1.1}
.cv-figures span{font-size:.68rem;font-weight:700;color:#9FCBB4;text-transform:uppercase;letter-spacing:.05em}

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

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

/* ---------- "the joint flex" signature — a small hinged knee-bend line with a pulsing pivot ---------- */
.cv-ascent{margin-top:18px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 18px 14px;
  box-shadow:0 8px 22px rgba(18,48,39,.14);text-align:center;max-width:260px;margin-left:auto;margin-right:auto}
.cv-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}
.cv-ascent svg{display:block;margin:0 auto;overflow:visible}
.cv-mini-bone{stroke:var(--line);stroke-width:5;stroke-linecap:round;fill:none}
.cv-mini-upper{animation:cvMiniBend 3s ease-in-out infinite;transform-origin:30px 30px}
.cv-mini-pivot{fill:var(--steel);animation:cvMiniPulse 3s ease-in-out infinite}
.cv-ascent-cap{font-size:.68rem;font-weight:700;color:var(--slate);margin-top:8px}
@keyframes cvMiniBend{0%,100%{transform:rotate(0deg)}50%{transform:rotate(-20deg)}}
@keyframes cvMiniPulse{0%,100%{opacity:.55}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.cv-mini-upper{animation:none}.cv-mini-pivot{animation:none;opacity:.8}}

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

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

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

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

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

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

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

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

/* ---------- guarantee ---------- */
.cv-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){.cv-guar{grid-template-columns:minmax(0,1fr);text-align:center}}
.cv-guar-badge img{max-width:180px}

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

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

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

/* ---------- steps ---------- */
.cv-steps{display:flex;flex-direction:column;gap:18px}
.cv-step-row{display:flex;gap:18px;align-items:flex-start}
.cv-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:'Schibsted Grotesk',serif;font-weight:700}
.cv-step-row h4{margin-bottom:4px;color:#fff}
.cv-step-row p{margin:0;color:#CFE3D8;font-size:.9rem}

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

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

.cv-safety-list{list-style:none;margin:0;padding:0}
.cv-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}
.cv-safety-list li b{color:var(--ink)}

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

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

.cv-bonus-grid{display:grid;gap:18px}
.cv-bonus-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px;text-align:center;position:relative}
.cv-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}
.cv-bonus-card img{max-width:120px;margin:14px auto 12px;border-radius:6px}
.cv-bonus-card h4{font-size:.95rem;margin-bottom:6px}
.cv-bonus-card p{font-size:.82rem;margin:0}

.cv-ing-grid{display:grid;gap:18px}
.cv-ing-card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.cv-ing-top{height:6px}
.cv-ing-body{padding:20px}
.cv-ing-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.cv-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}
.cv-ing-name{margin:0;font-size:.98rem}
.cv-ing-cat{font-size:.72rem;font-weight:700;color:var(--steel-dk);text-transform:uppercase;letter-spacing:.04em}
.cv-ing-body p{font-size:.87rem;margin:0}

/* ---------- article/legal pages ---------- */
.cv-article h2{margin-top:1.6em}
.cv-article p{color:var(--slate)}
.cv-article .lead{font-size:1.1rem;color:var(--ink);font-weight:500}
.cv-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}
.cv-callout{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px 22px;margin:18px 0}
.cv-meta{font-size:.85rem;color:var(--slate);margin-bottom:22px}

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

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

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

/* ---------- sticky bar ---------- */
.cv-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}
.cv-sticky .t b{display:block;color:var(--ink);font-family:'Schibsted Grotesk',serif}
.cv-sticky .t small{color:var(--slate);font-size:.78rem}
@media(min-width:920px){.cv-sticky{display:none}}
body{padding-bottom:70px}
@media(min-width:920px){body{padding-bottom:0}}
