/* ==========================================================================
   MemoHoney — get-memo-honey.com
   Design system: "Honeycomb Lab"
   Bricolage Grotesque (display) + Hanken Grotesk (text)
   Prefix: hx-
   ========================================================================== */

:root{
  --hx-ink:#171208;
  --hx-ink-2:#3a2e1c;
  --hx-ink-3:#6d5c40;
  --hx-honey:#d89a16;
  --hx-honey-l:#f2c14e;
  --hx-honey-d:#a8690a;
  --hx-paper:#fcfaf5;
  --hx-cream:#f5ebd8;
  --hx-cream-2:#faf3e6;
  --hx-line:#e7dcc6;
  --hx-violet:#5b4bd6;
  --hx-violet-l:#8f83f0;
  --hx-mint:#1f7a5c;
  --hx-red:#c0392b;
  --hx-white:#ffffff;

  --hx-radius:18px;
  --hx-radius-lg:26px;
  --hx-shadow:0 10px 34px rgba(84,62,18,.10);
  --hx-shadow-lg:0 24px 60px rgba(64,46,12,.16);
  --hx-ring:0 0 0 1px var(--hx-line);
  --hx-display:"Bricolage Grotesque","Hanken Grotesk",system-ui,sans-serif;
  --hx-text:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;
  --hx-mono:ui-monospace,"SFMono-Regular","Cascadia Code",monospace;
  --hx-header-h:70px;
}

/* ------------------------------------------------------------------ base */
*{ -webkit-tap-highlight-color:transparent; }
html{ scroll-behavior:smooth; scroll-padding-top:calc(var(--hx-header-h) + 18px); }
body{
  font-family:var(--hx-text);
  background:var(--hx-paper);
  color:var(--hx-ink-2);
  font-size:17px;
  line-height:1.72;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,.hx-display{
  font-family:var(--hx-display);
  color:var(--hx-ink);
  font-weight:700;
  line-height:1.14;
  letter-spacing:-.018em;
}
h1{ font-size:clamp(2.05rem,5.1vw,3.5rem); }
h2{ font-size:clamp(1.65rem,3.7vw,2.6rem); margin-bottom:.55rem; }
h3{ font-size:clamp(1.15rem,2.2vw,1.5rem); }
h4{ font-size:1.08rem; }
p{ margin-bottom:1.05rem; }
a{ color:var(--hx-honey-d); text-decoration:none; }
a:hover{ color:var(--hx-ink); text-decoration:underline; text-underline-offset:3px; }
strong,b{ color:var(--hx-ink); font-weight:700; }
hr{ border-color:var(--hx-line); opacity:1; }
::selection{ background:var(--hx-honey-l); color:var(--hx-ink); }

/* STANDING RULE — every content image is centred and fluid */
img{ max-width:100%; height:auto; }
.hx-img,
main img,
section img,
article img{ display:block; margin-left:auto; margin-right:auto; }
.hx-img--frame{
  border-radius:var(--hx-radius-lg);
  box-shadow:var(--hx-shadow-lg);
  border:1px solid var(--hx-line);
  background:var(--hx-white);
}

/* copy protection support */
body.hx-protect{ -webkit-user-select:none; -ms-user-select:none; user-select:none; }
body.hx-protect img{ pointer-events:none; -webkit-user-drag:none; user-drag:none; }
body.hx-protect input,
body.hx-protect textarea,
body.hx-protect select{ -webkit-user-select:text; user-select:text; }

/* --------------------------------------------------------------- layout */
.hx-wrap{ max-width:1200px; }
.hx-sec{ padding:clamp(56px,7vw,104px) 0; position:relative; }
.hx-sec--tint{ background:linear-gradient(180deg,var(--hx-cream-2),var(--hx-paper)); }
.hx-sec--cream{ background:var(--hx-cream); }
.hx-sec--dark{ background:var(--hx-ink); color:#ded3c0; }
.hx-sec--dark h2,.hx-sec--dark h3,.hx-sec--dark h4{ color:var(--hx-white); }
.hx-sec--dark a{ color:var(--hx-honey-l); }

.hx-eyebrow{
  display:inline-flex; align-items:center; gap:.5rem;
  font-family:var(--hx-mono); font-size:.72rem; font-weight:600;
  letter-spacing:.19em; text-transform:uppercase;
  color:var(--hx-honey-d); margin-bottom:.85rem;
}
.hx-eyebrow::before{
  content:""; width:22px; height:12px; flex:none;
  background:var(--hx-honey);
  clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);
}
.hx-sec--dark .hx-eyebrow{ color:var(--hx-honey-l); }
.hx-lead{ font-size:clamp(1.02rem,1.6vw,1.16rem); color:var(--hx-ink-3); max-width:64ch; }
.hx-sec--dark .hx-lead{ color:#c3b7a2; }

/* --------------------------------------------------------------- header */
.hx-announce{
  background:linear-gradient(90deg,var(--hx-honey-d),var(--hx-honey),var(--hx-honey-l),var(--hx-honey));
  background-size:280% 100%;
  animation:hx-slide 14s linear infinite;
  color:#2a1f06; font-size:.83rem; font-weight:600;
  text-align:center; padding:7px 12px; letter-spacing:.01em;
}
.hx-announce a{ color:#2a1f06; text-decoration:underline; font-weight:700; }
@keyframes hx-slide{ 0%{background-position:0 0} 100%{background-position:280% 0} }

.hx-nav{
  background:rgba(252,250,245,.9);
  backdrop-filter:saturate(160%) blur(12px);
  -webkit-backdrop-filter:saturate(160%) blur(12px);
  border-bottom:1px solid var(--hx-line);
  min-height:var(--hx-header-h);
}
.hx-nav .navbar-brand{ display:flex; align-items:center; gap:.6rem; padding:0; }
.hx-brand-mark{ width:38px; height:38px; border-radius:11px; flex:none; }
.hx-brand-txt{ font-family:var(--hx-display); font-weight:800; font-size:1.32rem; color:var(--hx-ink); line-height:1; letter-spacing:-.03em; }
.hx-brand-txt span{ color:var(--hx-honey-d); }
.hx-brand-sub{ display:block; font-family:var(--hx-mono); font-size:.56rem; letter-spacing:.2em; color:var(--hx-ink-3); text-transform:uppercase; margin-top:3px; }
.hx-nav .nav-link{
  font-size:.93rem; font-weight:600; color:var(--hx-ink-2);
  padding:.45rem .78rem !important; border-radius:9px;
}
.hx-nav .nav-link:hover,.hx-nav .nav-link:focus{ color:var(--hx-honey-d); background:var(--hx-cream-2); }
.hx-nav .navbar-toggler{ border:1px solid var(--hx-line); padding:.32rem .55rem; }
.hx-nav .navbar-toggler:focus{ box-shadow:0 0 0 3px rgba(216,154,22,.28); }

/* --------------------------------------------------------------- buttons */
.hx-btn{
  --b:var(--hx-honey);
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  font-family:var(--hx-display); font-weight:700; font-size:1rem;
  padding:.86rem 1.6rem; border-radius:999px; border:2px solid transparent;
  background:linear-gradient(135deg,var(--hx-honey-l),var(--hx-honey) 55%,var(--hx-honey-d));
  color:#20180a !important; text-decoration:none !important;
  box-shadow:0 10px 26px rgba(184,124,12,.34);
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
  text-align:center;
}
.hx-btn:hover{ transform:translateY(-2px); box-shadow:0 16px 34px rgba(184,124,12,.42); filter:saturate(112%); color:#20180a !important; }
.hx-btn:active{ transform:translateY(0); }
.hx-btn--ghost{
  background:transparent; border-color:var(--hx-ink); color:var(--hx-ink) !important;
  box-shadow:none;
}
.hx-btn--ghost:hover{ background:var(--hx-ink); color:var(--hx-honey-l) !important; box-shadow:none; }
.hx-btn--dark{ background:var(--hx-ink); color:var(--hx-honey-l) !important; box-shadow:0 10px 26px rgba(23,18,8,.28); }
.hx-btn--dark:hover{ color:var(--hx-white) !important; }
.hx-btn--sm{ font-size:.88rem; padding:.6rem 1.15rem; }
.hx-btn--lg{ font-size:1.08rem; padding:1.02rem 2.05rem; }
.hx-btn--block{ width:100%; }

/* --------------------------------------------------------------- hero */
.hx-hero{
  position:relative; overflow:hidden;
  background:
    radial-gradient(1100px 520px at 78% 8%, rgba(242,193,78,.34), transparent 62%),
    radial-gradient(760px 460px at 6% 88%, rgba(91,75,214,.10), transparent 60%),
    linear-gradient(180deg,#fffdf8 0%, var(--hx-cream-2) 58%, var(--hx-paper) 100%);
  padding:clamp(38px,6vw,74px) 0 clamp(50px,7vw,92px);
}
.hx-hero__grid{
  position:absolute; inset:0; pointer-events:none; opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='97' viewBox='0 0 56 97'%3E%3Cpath d='M28 0 56 16v32L28 64 0 48V16z' fill='none' stroke='%23d89a16' stroke-opacity='.22' stroke-width='1.2'/%3E%3Cpath d='M28 64 56 80v32L28 128 0 112V80z' fill='none' stroke='%23d89a16' stroke-opacity='.22' stroke-width='1.2'/%3E%3C/svg%3E");
  mask-image:radial-gradient(70% 60% at 60% 30%,#000,transparent 78%);
  -webkit-mask-image:radial-gradient(70% 60% at 60% 30%,#000,transparent 78%);
}
.hx-hero__cells{ position:absolute; inset:0; pointer-events:none; overflow:hidden; }
.hx-cell{
  position:absolute; width:var(--s,44px); height:var(--s,44px);
  background:linear-gradient(140deg,rgba(242,193,78,.55),rgba(216,154,22,.18));
  clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);
  animation:hx-float var(--d,13s) ease-in-out infinite;
  animation-delay:var(--dl,0s);
  opacity:.55;
}
.hx-cell--v{ background:linear-gradient(140deg,rgba(143,131,240,.42),rgba(91,75,214,.14)); }
@keyframes hx-float{
  0%,100%{ transform:translate3d(0,0,0) rotate(0deg); }
  50%{ transform:translate3d(0,-26px,0) rotate(14deg); }
}
.hx-hero__inner{ position:relative; z-index:2; }
.hx-hero h1{ margin-bottom:1rem; }
.hx-hero h1 .hx-shine{
  background:linear-gradient(100deg,var(--hx-honey-d),var(--hx-honey) 32%,var(--hx-honey-l) 50%,var(--hx-honey) 68%,var(--hx-honey-d));
  background-size:230% 100%;
  -webkit-background-clip:text; background-clip:text; color:transparent;
  animation:hx-shine 6.5s linear infinite;
}
@keyframes hx-shine{ 0%{background-position:0 0} 100%{background-position:230% 0} }

.hx-pill{
  display:inline-flex; align-items:center; gap:.45rem;
  background:var(--hx-white); border:1px solid var(--hx-line);
  border-radius:999px; padding:.38rem .9rem;
  font-size:.79rem; font-weight:700; color:var(--hx-ink-2);
  box-shadow:0 4px 14px rgba(120,90,24,.09);
}
.hx-pill i,.hx-pill .hx-dot{ color:var(--hx-honey-d); }
.hx-dot{ width:8px; height:8px; border-radius:50%; background:var(--hx-mint); display:inline-block;
  box-shadow:0 0 0 0 rgba(31,122,92,.55); animation:hx-pulse 2.4s infinite; }
@keyframes hx-pulse{ 70%{ box-shadow:0 0 0 9px rgba(31,122,92,0);} 100%{ box-shadow:0 0 0 0 rgba(31,122,92,0);} }

.hx-hero__ticks{ list-style:none; padding:0; margin:1.35rem 0 1.6rem; }
.hx-hero__ticks li{ display:flex; gap:.65rem; align-items:flex-start; margin-bottom:.55rem; font-weight:500; }
.hx-hero__ticks li::before{
  content:""; margin-top:.42rem; width:15px; height:15px; flex:none;
  background:var(--hx-honey);
  clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);
}
.hx-hero__media{ position:relative; }
.hx-hero__halo{
  position:absolute; left:50%; top:48%; transform:translate(-50%,-50%);
  width:min(112%,560px); aspect-ratio:1; border-radius:50%;
  background:radial-gradient(circle,rgba(242,193,78,.62),rgba(242,193,78,0) 66%);
  animation:hx-breathe 7s ease-in-out infinite; z-index:0;
}
@keyframes hx-breathe{ 0%,100%{ transform:translate(-50%,-50%) scale(1); opacity:.85 } 50%{ transform:translate(-50%,-50%) scale(1.08); opacity:1 } }
.hx-hero__bottle{ position:relative; z-index:2; animation:hx-bob 6.5s ease-in-out infinite; filter:drop-shadow(0 26px 34px rgba(96,68,14,.28)); }
@keyframes hx-bob{ 0%,100%{ transform:translateY(0) } 50%{ transform:translateY(-16px) } }
.hx-orbit{
  position:absolute; z-index:3; background:var(--hx-white);
  border:1px solid var(--hx-line); border-radius:14px; padding:.6rem .8rem;
  box-shadow:var(--hx-shadow); font-size:.78rem; font-weight:700; color:var(--hx-ink);
  animation:hx-bob 8s ease-in-out infinite;
}
.hx-orbit small{ display:block; font-weight:500; color:var(--hx-ink-3); font-size:.7rem; }
.hx-orbit--a{ top:9%; left:-2%; animation-delay:.4s; }
.hx-orbit--b{ bottom:16%; right:-1%; animation-delay:1.4s; }

.hx-rating{ display:flex; align-items:center; gap:.7rem; flex-wrap:wrap; font-size:.88rem; color:var(--hx-ink-3); }
.hx-stars{ color:var(--hx-honey); letter-spacing:2px; font-size:1rem; }

/* --------------------------------------------------- answer / fact cards */
.hx-answer{
  background:var(--hx-white); border:1px solid var(--hx-line);
  border-left:5px solid var(--hx-honey);
  border-radius:var(--hx-radius); padding:1.4rem 1.5rem;
  box-shadow:var(--hx-shadow);
}
.hx-answer h2,.hx-answer h3{ font-size:1.06rem; margin-bottom:.5rem; }
.hx-answer p:last-child{ margin-bottom:0; }
.hx-answer__tag{
  display:inline-block; font-family:var(--hx-mono); font-size:.66rem; letter-spacing:.18em;
  text-transform:uppercase; color:var(--hx-honey-d); background:var(--hx-cream-2);
  border-radius:999px; padding:.2rem .66rem; margin-bottom:.6rem;
}
.hx-facts{ width:100%; border-collapse:separate; border-spacing:0; font-size:.94rem; }
.hx-facts th,.hx-facts td{ padding:.72rem .9rem; border-bottom:1px solid var(--hx-line); text-align:left; vertical-align:top; }
.hx-facts th{ width:42%; color:var(--hx-ink); font-weight:700; background:var(--hx-cream-2); }
.hx-facts tr:last-child th,.hx-facts tr:last-child td{ border-bottom:0; }
.hx-tablewrap{ overflow-x:auto; border:1px solid var(--hx-line); border-radius:var(--hx-radius); background:var(--hx-white); box-shadow:var(--hx-shadow); }

/* ---------------------------------------------------------------- cards */
.hx-card{
  background:var(--hx-white); border:1px solid var(--hx-line);
  border-radius:var(--hx-radius); padding:1.5rem;
  box-shadow:var(--hx-shadow); height:100%;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.hx-card:hover{ transform:translateY(-4px); box-shadow:var(--hx-shadow-lg); border-color:#dfd0b2; }
.hx-card h3,.hx-card h4{ margin-bottom:.45rem; }
.hx-card p:last-child{ margin-bottom:0; }
.hx-card__ico{
  width:50px; height:50px; display:grid; place-items:center; margin-bottom:.95rem;
  background:linear-gradient(140deg,var(--hx-honey-l),var(--hx-honey));
  clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);
  color:#1e1608; font-weight:800; font-family:var(--hx-display); font-size:1.05rem;
}
.hx-card--v .hx-card__ico{ background:linear-gradient(140deg,var(--hx-violet-l),var(--hx-violet)); color:#fff; }
.hx-card--flat{ box-shadow:none; }
.hx-card--flat:hover{ transform:none; box-shadow:var(--hx-shadow); }

/* honeycomb tile grid (benefits) */
.hx-comb{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1rem; }
.hx-comb__item{
  position:relative; background:var(--hx-white); border:1px solid var(--hx-line);
  border-radius:16px; padding:1.15rem 1.15rem 1.15rem 3.4rem; box-shadow:var(--hx-shadow);
  transition:transform .2s ease, box-shadow .2s ease;
}
.hx-comb__item:hover{ transform:translateY(-3px); box-shadow:var(--hx-shadow-lg); }
.hx-comb__item::before{
  content:""; position:absolute; left:1.05rem; top:1.35rem; width:20px; height:20px;
  background:linear-gradient(140deg,var(--hx-honey-l),var(--hx-honey-d));
  clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);
}
.hx-comb__item h3{ font-size:1.06rem; margin-bottom:.3rem; }
.hx-comb__item p{ margin-bottom:0; font-size:.95rem; color:var(--hx-ink-3); }

/* ----------------------------------------------- neural animation (what-is) */
.hx-neural{ width:100%; height:auto; display:block; }
.hx-neural .hx-n-line{
  stroke:var(--hx-honey); stroke-width:1.6; fill:none; opacity:.55;
  stroke-dasharray:6 10; animation:hx-dash 4.5s linear infinite;
}
.hx-neural .hx-n-line--v{ stroke:var(--hx-violet); animation-duration:6s; }
@keyframes hx-dash{ to{ stroke-dashoffset:-64; } }
.hx-neural .hx-n-node{ fill:var(--hx-honey); animation:hx-node 3.4s ease-in-out infinite; transform-box:fill-box; transform-origin:center; }
.hx-neural .hx-n-node--v{ fill:var(--hx-violet); }
@keyframes hx-node{ 0%,100%{ opacity:.45; transform:scale(.82); } 50%{ opacity:1; transform:scale(1.18); } }
.hx-neural .hx-n-ring{ fill:none; stroke:var(--hx-honey-l); stroke-width:2; opacity:0; animation:hx-ring 4s ease-out infinite; transform-box:fill-box; transform-origin:center; }
@keyframes hx-ring{ 0%{ opacity:.85; transform:scale(.35);} 70%{ opacity:0; transform:scale(1.6);} 100%{ opacity:0; } }
.hx-neural text{ font-family:var(--hx-mono); font-size:11px; fill:var(--hx-ink-3); letter-spacing:.12em; }

/* --------------------------------------------------------- ledger (signature) */
.hx-ledger{ background:var(--hx-white); border:1px solid var(--hx-line); border-radius:var(--hx-radius-lg); box-shadow:var(--hx-shadow-lg); overflow:hidden; }
.hx-ledger__head{ background:var(--hx-ink); color:var(--hx-white); padding:1.15rem 1.4rem; }
.hx-ledger__head h3{ color:var(--hx-white); margin:0; font-size:1.15rem; }
.hx-ledger__head p{ margin:.3rem 0 0; color:#bdb1a0; font-size:.87rem; }
.hx-ledger__body{ padding:1.15rem 1.4rem 1.5rem; }
.hx-row{ padding:.85rem 0; border-bottom:1px dashed var(--hx-line); }
.hx-row:last-child{ border-bottom:0; }
.hx-row__top{ display:flex; justify-content:space-between; align-items:baseline; gap:1rem; flex-wrap:wrap; }
.hx-row__name{ font-weight:700; color:var(--hx-ink); font-size:.99rem; }
.hx-row__dose{ font-family:var(--hx-mono); font-size:.82rem; color:var(--hx-ink-3); white-space:nowrap; }
.hx-bar{ position:relative; height:11px; border-radius:99px; background:var(--hx-cream); margin-top:.5rem; overflow:hidden; }
.hx-bar__fill{
  position:absolute; inset:0 auto 0 0; width:0;
  border-radius:99px;
  background:linear-gradient(90deg,var(--hx-honey-l),var(--hx-honey-d));
  transition:width 1.25s cubic-bezier(.22,.9,.28,1);
}
.hx-bar__fill--low{ background:linear-gradient(90deg,#e8a09a,var(--hx-red)); }
.hx-bar__fill--mid{ background:linear-gradient(90deg,var(--hx-honey-l),var(--hx-honey-d)); }
.hx-bar__fill--high{ background:linear-gradient(90deg,#63c39c,var(--hx-mint)); }
.hx-row__note{ font-size:.85rem; color:var(--hx-ink-3); margin:.42rem 0 0; }
.hx-row__pct{ font-family:var(--hx-mono); font-weight:700; font-size:.82rem; }

.hx-math{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:.85rem;
  margin-top:1.25rem;
}
.hx-math__cell{
  background:var(--hx-cream-2); border:1px solid var(--hx-line);
  border-radius:14px; padding:.95rem 1rem; text-align:center;
}
.hx-math__num{ font-family:var(--hx-display); font-size:1.75rem; font-weight:800; color:var(--hx-ink); line-height:1.1; }
.hx-math__num--flag{ color:var(--hx-red); }
.hx-math__lbl{ font-size:.79rem; color:var(--hx-ink-3); }

/* ------------------------------------------------------------- timeline */
.hx-steps{ position:relative; padding-left:0; list-style:none; margin:0; }
.hx-step{ position:relative; padding:0 0 1.65rem 3.55rem; }
.hx-step::before{
  content:attr(data-n); position:absolute; left:0; top:0;
  width:42px; height:42px; display:grid; place-items:center;
  background:linear-gradient(140deg,var(--hx-honey-l),var(--hx-honey-d)); color:#1d1507;
  clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);
  font-family:var(--hx-display); font-weight:800; font-size:1.02rem;
}
.hx-step::after{
  content:""; position:absolute; left:20px; top:46px; bottom:-4px; width:2px;
  background:linear-gradient(180deg,var(--hx-honey),rgba(216,154,22,.12));
}
.hx-step:last-child::after{ display:none; }
.hx-step h3{ font-size:1.1rem; margin-bottom:.3rem; }
.hx-step p{ margin-bottom:0; color:var(--hx-ink-3); }
.hx-sec--dark .hx-step p{ color:#bdb1a0; }

/* -------------------------------------------------------------- pricing */
.hx-price{
  position:relative; background:var(--hx-white); border:1px solid var(--hx-line);
  border-radius:var(--hx-radius-lg); padding:1.7rem 1.4rem 1.5rem; text-align:center;
  box-shadow:var(--hx-shadow); height:100%;
  transition:transform .22s ease, box-shadow .22s ease;
  display:flex; flex-direction:column;
}
.hx-price:hover{ transform:translateY(-6px); box-shadow:var(--hx-shadow-lg); }
.hx-price--best{ border:2px solid var(--hx-honey); box-shadow:0 22px 54px rgba(184,124,12,.24); }
.hx-price__ribbon{
  position:absolute; top:-14px; left:50%; transform:translateX(-50%);
  background:var(--hx-ink); color:var(--hx-honey-l);
  font-size:.72rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase;
  padding:.36rem 1rem; border-radius:999px; white-space:nowrap;
}
.hx-price img{ max-height:180px; width:auto; margin:.4rem auto 1rem; }
.hx-price__qty{ font-family:var(--hx-display); font-size:1.4rem; font-weight:800; color:var(--hx-ink); }
.hx-price__sup{ font-size:.84rem; color:var(--hx-ink-3); }
.hx-price__each{ font-family:var(--hx-display); font-size:2.5rem; font-weight:800; color:var(--hx-honey-d); line-height:1; margin:.55rem 0 .1rem; }
.hx-price__each span{ font-size:.95rem; color:var(--hx-ink-3); font-weight:600; }
.hx-price__ref{ font-size:.82rem; color:var(--hx-ink-3); }
.hx-price__ref s{ opacity:.75; }
.hx-price__total{ font-weight:700; color:var(--hx-ink); margin:.5rem 0 .9rem; }
.hx-price ul{ list-style:none; padding:0; margin:0 0 1.2rem; text-align:left; font-size:.9rem; }
.hx-price li{ padding:.3rem 0 .3rem 1.5rem; position:relative; color:var(--hx-ink-3); }
.hx-price li::before{ content:"✓"; position:absolute; left:0; color:var(--hx-mint); font-weight:800; }
.hx-price .hx-btn{ margin-top:auto; }

/* ------------------------------------------------------------ guarantee */
.hx-guarantee{
  background:linear-gradient(135deg,#1d1608,#2c2210 60%,#1d1608);
  border-radius:var(--hx-radius-lg); color:#ded3c0; padding:clamp(1.6rem,3vw,2.6rem);
  border:1px solid #3a2f18;
}
.hx-guarantee h2,.hx-guarantee h3{ color:var(--hx-white); }
.hx-guarantee img{ max-width:210px; }

/* -------------------------------------------------------------- reviews */
.hx-quote{
  background:var(--hx-white); border:1px solid var(--hx-line); border-radius:var(--hx-radius);
  padding:1.4rem; box-shadow:var(--hx-shadow); height:100%;
}
.hx-quote__top{ display:flex; align-items:center; gap:.85rem; margin-bottom:.75rem; }
.hx-quote__top img{ width:56px; height:56px; border-radius:50%; object-fit:cover; margin:0 !important; border:2px solid var(--hx-honey-l); }
.hx-quote__name{ font-weight:800; color:var(--hx-ink); line-height:1.2; }
.hx-quote__meta{ font-size:.78rem; color:var(--hx-ink-3); }
.hx-quote p{ font-size:.96rem; margin-bottom:0; }
.hx-verified{ display:inline-flex; gap:.3rem; align-items:center; font-size:.72rem; font-weight:700; color:var(--hx-mint); }

/* ------------------------------------------------------------- notices */
.hx-note{
  border-radius:16px; padding:1.15rem 1.3rem; font-size:.94rem;
  border:1px solid var(--hx-line); background:var(--hx-cream-2);
}
.hx-note strong{ display:block; margin-bottom:.25rem; }
.hx-note p:last-child{ margin-bottom:0; }
.hx-note--warn{ background:#fdf3f1; border-color:#f0cdc7; }
.hx-note--warn strong{ color:var(--hx-red); }
.hx-note--ok{ background:#f0f8f4; border-color:#c8e5d7; }
.hx-note--ok strong{ color:var(--hx-mint); }
.hx-note--v{ background:#f3f2fe; border-color:#d6d1fa; }
.hx-note--v strong{ color:var(--hx-violet); }

/* ------------------------------------------------------------- E-E-A-T */
.hx-eeat{
  display:flex; flex-wrap:wrap; gap:.65rem 1.4rem; align-items:center;
  background:var(--hx-white); border:1px solid var(--hx-line); border-radius:14px;
  padding:.85rem 1.1rem; font-size:.83rem; color:var(--hx-ink-3);
}
.hx-eeat b{ color:var(--hx-ink); }
.hx-eeat__item{ display:flex; align-items:center; gap:.4rem; }

.hx-badges{ display:flex; flex-wrap:wrap; gap:1.4rem; justify-content:center; align-items:center; }
.hx-badges figure{ margin:0; text-align:center; width:132px; }
.hx-badges img{ height:76px; width:auto; object-fit:contain; margin-bottom:.35rem !important; }
.hx-badges figcaption{ font-size:.74rem; color:var(--hx-ink-3); line-height:1.35; }

/* ----------------------------------------------------------------- FAQ */
.hx-faq{ border:1px solid var(--hx-line); border-radius:var(--hx-radius); background:var(--hx-white); overflow:hidden; box-shadow:var(--hx-shadow); }
.hx-faq details{ border-bottom:1px solid var(--hx-line); }
.hx-faq details:last-child{ border-bottom:0; }
.hx-faq summary{
  cursor:pointer; list-style:none; padding:1.05rem 3rem 1.05rem 1.25rem;
  font-family:var(--hx-display); font-weight:700; color:var(--hx-ink); font-size:1.03rem;
  position:relative; transition:background .18s ease;
}
.hx-faq summary::-webkit-details-marker{ display:none; }
.hx-faq summary:hover{ background:var(--hx-cream-2); }
.hx-faq summary::after{
  content:"+"; position:absolute; right:1.15rem; top:50%; transform:translateY(-50%);
  font-size:1.45rem; color:var(--hx-honey-d); font-weight:400; line-height:1;
  transition:transform .22s ease;
}
.hx-faq details[open] summary::after{ transform:translateY(-50%) rotate(45deg); }
.hx-faq__a{ padding:0 1.25rem 1.15rem; color:var(--hx-ink-3); font-size:.97rem; }
.hx-faq__a p:last-child{ margin-bottom:0; }

/* ----------------------------------------------------------- blog cards */
.hx-post{
  display:flex; flex-direction:column; height:100%;
  background:var(--hx-white); border:1px solid var(--hx-line); border-radius:var(--hx-radius);
  padding:1.3rem; box-shadow:var(--hx-shadow); transition:transform .2s ease, box-shadow .2s ease;
}
.hx-post:hover{ transform:translateY(-4px); box-shadow:var(--hx-shadow-lg); }
.hx-post__cat{
  font-family:var(--hx-mono); font-size:.66rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--hx-honey-d); background:var(--hx-cream-2); border-radius:999px;
  padding:.22rem .68rem; display:inline-block; margin-bottom:.7rem;
}
.hx-post h3{ font-size:1.05rem; line-height:1.32; margin-bottom:.45rem; }
.hx-post h3 a{ color:var(--hx-ink); }
.hx-post h3 a:hover{ color:var(--hx-honey-d); text-decoration:none; }
.hx-post p{ font-size:.92rem; color:var(--hx-ink-3); margin-bottom:.9rem; }
.hx-post__meta{ margin-top:auto; font-size:.78rem; color:var(--hx-ink-3); display:flex; gap:.6rem; flex-wrap:wrap; }

/* --------------------------------------------------------------- footer */
.hx-footer{ background:var(--hx-ink); color:#b6a992; padding:clamp(46px,6vw,72px) 0 1.6rem; font-size:.92rem; }
.hx-footer h4{ color:var(--hx-white); font-size:.94rem; letter-spacing:.03em; margin-bottom:.9rem; }
.hx-footer a{ color:#cfc2aa; }
.hx-footer a:hover{ color:var(--hx-honey-l); text-decoration:none; }
.hx-footer ul{ list-style:none; padding:0; margin:0; }
.hx-footer li{ margin-bottom:.48rem; }
.hx-footer__legal{ border-top:1px solid #2f2716; margin-top:2rem; padding-top:1.4rem; font-size:.8rem; color:#8f836e; }
.hx-footer__legal p{ margin-bottom:.75rem; }
.hx-footer__legal strong{ color:#c9bca4; }
.hx-footer__brand{ display:flex; align-items:center; gap:.6rem; margin-bottom:.9rem; }
.hx-footer__brand .hx-brand-txt{ color:var(--hx-white); }
.hx-footer__brand .hx-brand-txt span{ color:var(--hx-honey-l); }

/* --------------------------------------------------------- sticky CTA */
.hx-sticky{
  position:fixed; left:0; right:0; bottom:0; z-index:1040;
  background:rgba(23,18,8,.96); backdrop-filter:blur(8px);
  padding:.6rem .9rem; display:none; align-items:center; gap:.8rem;
  border-top:1px solid #3a2f18;
}
.hx-sticky span{ color:#e2d7c2; font-size:.82rem; line-height:1.25; }
.hx-sticky b{ color:var(--hx-honey-l); }
.hx-sticky .hx-btn{ flex:none; }

/* ------------------------------------------------------------- article */
.hx-article{ max-width:820px; }
.hx-article h2{ margin-top:2.2rem; }
.hx-article h3{ margin-top:1.5rem; margin-bottom:.5rem; }
.hx-article ul,.hx-article ol{ margin-bottom:1.15rem; padding-left:1.3rem; }
.hx-article li{ margin-bottom:.45rem; }
.hx-crumbs{ font-size:.82rem; color:var(--hx-ink-3); margin-bottom:1rem; }
.hx-crumbs a{ color:var(--hx-ink-3); }
.hx-crumbs a:hover{ color:var(--hx-honey-d); }
.hx-toc{ background:var(--hx-cream-2); border:1px solid var(--hx-line); border-radius:var(--hx-radius); padding:1.15rem 1.35rem; }
.hx-toc h2,.hx-toc h3{ font-size:.95rem; margin:0 0 .55rem; text-transform:uppercase; letter-spacing:.1em; font-family:var(--hx-mono); color:var(--hx-ink-3); }
.hx-toc ol{ margin:0; padding-left:1.15rem; font-size:.94rem; }
.hx-toc li{ margin-bottom:.3rem; }
.hx-cta-inline{
  background:linear-gradient(135deg,var(--hx-cream-2),#fff);
  border:1px solid var(--hx-line); border-left:5px solid var(--hx-honey);
  border-radius:var(--hx-radius); padding:1.25rem 1.4rem; margin:1.8rem 0;
}
.hx-cta-inline p{ margin-bottom:.9rem; }
.hx-author{
  display:flex; gap:1rem; align-items:flex-start; background:var(--hx-white);
  border:1px solid var(--hx-line); border-radius:var(--hx-radius); padding:1.2rem; box-shadow:var(--hx-shadow);
}
.hx-author__av{
  width:52px; height:52px; flex:none; display:grid; place-items:center;
  background:linear-gradient(140deg,var(--hx-honey-l),var(--hx-honey-d)); color:#1d1507;
  clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);
  font-family:var(--hx-display); font-weight:800;
}
.hx-author p{ font-size:.9rem; margin-bottom:0; color:var(--hx-ink-3); }

/* ------------------------------------------------------------ utilities */
.hx-mt-n{ margin-top:-1px; }
.hx-divider{
  height:26px; width:100%;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='26' viewBox='0 0 48 26'%3E%3Cpath d='M12 0 24 7v12L12 26 0 19V7z' fill='none' stroke='%23d89a16' stroke-opacity='.3'/%3E%3Cpath d='M36 0 48 7v12L36 26 24 19V7z' fill='none' stroke='%23d89a16' stroke-opacity='.3'/%3E%3C/svg%3E");
  background-repeat:repeat-x; opacity:.8;
}
.hx-reveal{ opacity:0; transform:translateY(22px); transition:opacity .65s ease, transform .65s ease; }
.hx-reveal.is-in{ opacity:1; transform:none; }
.hx-anchor{ scroll-margin-top:calc(var(--hx-header-h) + 22px); }
.hx-small{ font-size:.83rem; color:var(--hx-ink-3); }
.hx-mono{ font-family:var(--hx-mono); }
.hx-hl{ background:linear-gradient(180deg,transparent 62%,var(--hx-honey-l) 62%); }

/* ---------------------------------------------------------- responsive */
@media (max-width:991.98px){
  .hx-nav .navbar-collapse{
    background:var(--hx-white); border:1px solid var(--hx-line);
    border-radius:16px; padding:.8rem; margin-top:.7rem; box-shadow:var(--hx-shadow);
  }
  .hx-orbit{ display:none; }
  .hx-hero{ text-align:center; }
  .hx-hero .hx-hero__ticks li{ text-align:left; }
  .hx-hero .hx-rating{ justify-content:center; }
  .hx-hero .hx-eyebrow{ justify-content:center; }
}
@media (max-width:767.98px){
  body{ font-size:16.5px; }
  .hx-sticky{ display:flex; }
  body.hx-has-sticky{ padding-bottom:74px; }
  .hx-price img{ max-height:150px; }
  .hx-badges figure{ width:110px; }
  .hx-badges img{ height:62px; }
  .hx-step{ padding-left:3.1rem; }
  .hx-step::before{ width:36px; height:36px; font-size:.92rem; }
  .hx-step::after{ left:17px; top:40px; }
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
  .hx-reveal{ opacity:1; transform:none; }
}
@media print{
  .hx-nav,.hx-announce,.hx-sticky,.hx-footer{ display:none !important; }
}
