/* =========================================================================
   ExiTide — exi-tide.com
   Design system: "Ember Console"
   Display: Archivo  ·  Body: Instrument Sans
   ========================================================================= */

:root{
  --void:#0a0a0c;
  --panel:#141418;
  --panel-2:#1b1b21;
  --line:#26262d;
  --line-2:#33333c;

  --ember:#f4622a;
  --flame:#ff8a3d;
  --amber:#ffb547;
  --ember-dim:rgba(244,98,42,.16);

  --sand:#f3ece5;
  --muted:#a09a94;
  --muted-2:#7c7772;

  --data:#35d0d8;
  --flag:#ff5a5a;
  --ok:#5bd97f;

  --r-sm:10px;
  --r:16px;
  --r-lg:24px;
  --wrap:1180px;
  --shadow:0 24px 60px rgba(0,0,0,.55);
  --shadow-sm:0 10px 30px rgba(0,0,0,.4);
}

*,*::before,*::after{box-sizing:border-box}

html{scroll-behavior:smooth;scroll-padding-top:86px}

body{
  margin:0;
  background:var(--void);
  color:var(--sand);
  font-family:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:17px;
  line-height:1.72;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

body.ex-protect{
  -webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;
  -webkit-touch-callout:none;
}
body.ex-protect input,body.ex-protect textarea,body.ex-protect select{
  -webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;
}
img{max-width:100%;height:auto;-webkit-user-drag:none;user-drag:none}

h1,h2,h3,h4{
  font-family:"Archivo",system-ui,sans-serif;
  font-weight:800;
  line-height:1.1;
  letter-spacing:-.022em;
  color:#fff;
  margin:0 0 .55em;
  font-stretch:105%;
}
h1{font-size:clamp(2.15rem,5.1vw,4rem)}
h2{font-size:clamp(1.72rem,3.5vw,2.7rem)}
h3{font-size:clamp(1.12rem,1.9vw,1.42rem);letter-spacing:-.012em}
h4{font-size:1.02rem}
p{margin:0 0 1.15em}
a{color:var(--flame);text-decoration:none;transition:color .18s ease}
a:hover{color:var(--amber);text-decoration:underline;text-underline-offset:3px}
strong,b{color:#fff;font-weight:700}
s{color:var(--muted-2)}
hr{border:0;border-top:1px solid var(--line);margin:2.4rem 0}

.ex-wrap{max-width:var(--wrap)}
.ex-small{font-size:.855rem;color:var(--muted);line-height:1.62}
.ex-mono{font-family:ui-monospace,"SFMono-Regular",Menlo,monospace;font-size:.9em;letter-spacing:-.02em}
.ex-lead{font-size:clamp(1.04rem,1.6vw,1.2rem);color:#ded5cd;line-height:1.68;max-width:66ch}

/* ---------------------------------------------------------- announce bar */
.ex-announce{
  background:linear-gradient(90deg,#c14a17,var(--ember) 42%,var(--amber));
  color:#170b03;
  font-size:.86rem;
  font-weight:600;
  text-align:center;
  padding:8px 16px;
  position:relative;
  overflow:hidden;
}
.ex-announce b{color:#170b03;font-weight:800}
.ex-announce a{
  color:#170b03;text-decoration:underline;font-weight:800;text-underline-offset:2px;
}
.ex-announce::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.42) 50%,transparent 70%);
  transform:translateX(-100%);
  animation:ex-sweep 6.5s ease-in-out infinite;
}
@keyframes ex-sweep{0%,72%{transform:translateX(-100%)}100%{transform:translateX(100%)}}

/* ----------------------------------------------------------------- nav */
.ex-nav{
  background:rgba(10,10,12,.9);
  backdrop-filter:saturate(150%) blur(14px);
  -webkit-backdrop-filter:saturate(150%) blur(14px);
  border-bottom:1px solid var(--line);
  padding:.5rem 0;
}
.ex-nav .navbar-brand{display:flex;align-items:center;gap:.6rem;padding:0}
.ex-brand-mark{border-radius:11px;display:block}
.ex-brand-txt{
  font-family:"Archivo",sans-serif;font-weight:800;font-size:1.32rem;
  letter-spacing:-.03em;color:#fff;line-height:1;display:block;font-stretch:112%;
}
.ex-brand-txt span{color:var(--ember)}
.ex-brand-sub{
  display:block;font-size:.6rem;letter-spacing:.19em;text-transform:uppercase;
  color:var(--muted-2);font-weight:600;margin-top:2px;
}
.ex-nav .nav-link{
  color:#cdc5be !important;font-size:.925rem;font-weight:500;
  padding:.44rem .78rem !important;border-radius:8px;transition:all .18s ease;
}
.ex-nav .nav-link:hover{color:#fff !important;background:var(--panel-2)}
.ex-nav .navbar-toggler{border-color:var(--line-2);padding:.32rem .55rem}
.ex-nav .navbar-toggler:focus{box-shadow:0 0 0 3px var(--ember-dim)}
.ex-nav .navbar-toggler-icon{
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23f3ece5' stroke-linecap='round' stroke-width='2.4' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* --------------------------------------------------------------- buttons */
.ex-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  background:linear-gradient(135deg,var(--ember),#ff7a35 55%,var(--amber));
  color:#160a02 !important;
  font-family:"Archivo",sans-serif;font-weight:800;font-size:.96rem;
  letter-spacing:-.008em;
  padding:.82rem 1.7rem;border-radius:999px;border:0;
  text-decoration:none !important;
  box-shadow:0 12px 30px rgba(244,98,42,.3);
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
  text-align:center;cursor:pointer;
}
.ex-btn:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(244,98,42,.42);filter:brightness(1.06)}
.ex-btn:active{transform:translateY(0)}
.ex-btn--lg{padding:1.02rem 2.2rem;font-size:1.06rem}
.ex-btn--sm{padding:.58rem 1.15rem;font-size:.86rem}
.ex-btn--block{display:flex;width:100%}
.ex-btn--ghost{
  background:transparent;color:var(--sand) !important;
  border:1.5px solid var(--line-2);box-shadow:none;
}
.ex-btn--ghost:hover{border-color:var(--ember);background:var(--ember-dim);box-shadow:none}

/* ----------------------------------------------------------------- hero */
.ex-hero{
  position:relative;overflow:hidden;
  padding:clamp(46px,7vw,96px) 0 clamp(52px,7vw,104px);
  background:
    radial-gradient(1000px 520px at 78% 8%,rgba(244,98,42,.20),transparent 62%),
    radial-gradient(760px 460px at 8% 92%,rgba(255,181,71,.10),transparent 60%),
    var(--void);
}
.ex-hero__grid{
  position:absolute;inset:0;pointer-events:none;opacity:.42;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:66px 66px;
  mask-image:radial-gradient(circle at 50% 32%,#000 20%,transparent 78%);
  -webkit-mask-image:radial-gradient(circle at 50% 32%,#000 20%,transparent 78%);
}
.ex-hero__embers{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.ex-ember{
  position:absolute;bottom:-30px;
  width:var(--s,7px);height:var(--s,7px);border-radius:50%;
  background:radial-gradient(circle,var(--amber),rgba(244,98,42,0) 72%);
  opacity:0;
  animation:ex-rise var(--d,13s) linear var(--dl,0s) infinite;
}
.ex-ember--b{background:radial-gradient(circle,var(--flame),rgba(244,98,42,0) 70%)}
@keyframes ex-rise{
  0%{transform:translate3d(0,0,0) scale(.6);opacity:0}
  12%{opacity:.85}
  70%{opacity:.5}
  100%{transform:translate3d(26px,-96vh,0) scale(1.15);opacity:0}
}
.ex-hero__inner{position:relative;z-index:2}
.ex-eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;
  font-family:"Archivo",sans-serif;font-size:.72rem;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;color:var(--flame);
  background:var(--ember-dim);border:1px solid rgba(244,98,42,.32);
  padding:.36rem .85rem;border-radius:999px;margin-bottom:1.1rem;
}
.ex-shine{
  background:linear-gradient(96deg,var(--ember),var(--amber) 34%,#fff 52%,var(--amber) 68%,var(--ember));
  background-size:250% 100%;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  animation:ex-shine 7.5s linear infinite;
}
@keyframes ex-shine{0%{background-position:220% 0}100%{background-position:-30% 0}}
.ex-hero__ticks{list-style:none;padding:0;margin:1.5rem 0 1.7rem;display:grid;gap:.62rem}
.ex-hero__ticks li{position:relative;padding-left:2rem;color:#ded5cd;font-size:.99rem}
.ex-hero__ticks li::before{
  content:"";position:absolute;left:0;top:.42em;width:1.25rem;height:1.25rem;
  border-radius:6px;background:var(--ember-dim);border:1px solid rgba(244,98,42,.4);
}
.ex-hero__ticks li::after{
  content:"";position:absolute;left:.4rem;top:.72em;width:.42rem;height:.72rem;
  border:solid var(--flame);border-width:0 2px 2px 0;transform:rotate(42deg);
}
.ex-hero__media{position:relative;display:flex;align-items:center;justify-content:center;min-height:330px}
.ex-hero__glow{
  position:absolute;width:74%;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(244,98,42,.42),rgba(244,98,42,0) 66%);
  filter:blur(12px);animation:ex-breathe 6.5s ease-in-out infinite;
}
@keyframes ex-breathe{0%,100%{transform:scale(.9);opacity:.62}50%{transform:scale(1.08);opacity:1}}
.ex-hero__bottle{
  position:relative;z-index:2;width:100%;max-width:560px;
  filter:drop-shadow(0 34px 46px rgba(0,0,0,.62));
  animation:ex-bob 7s ease-in-out infinite;
}
@keyframes ex-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-15px)}}
.ex-orbit{
  position:absolute;z-index:3;
  background:rgba(20,20,24,.92);border:1px solid var(--line-2);
  border-radius:14px;padding:.6rem .95rem;
  font-family:"Archivo",sans-serif;font-weight:700;font-size:.88rem;color:#fff;
  box-shadow:var(--shadow-sm);backdrop-filter:blur(8px);
  animation:ex-float 8s ease-in-out infinite;
}
.ex-orbit small{display:block;font-family:"Instrument Sans",sans-serif;font-weight:500;
  font-size:.72rem;color:var(--muted);letter-spacing:0;margin-top:1px}
.ex-orbit--a{top:6%;left:-2%}
.ex-orbit--b{bottom:9%;right:-1%;animation-delay:1.7s}
.ex-orbit--c{top:44%;right:-4%;animation-delay:3.1s}
@keyframes ex-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-13px)}}
.ex-rating{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;color:var(--muted);font-size:.9rem}
.ex-stars{color:var(--amber);letter-spacing:.12em;font-size:1.02rem}

/* -------------------------------------------------------------- sections */
.ex-sec{padding:clamp(52px,7vw,96px) 0;position:relative}
.ex-sec--panel{background:var(--panel);border-block:1px solid var(--line)}
.ex-sec--deep{background:linear-gradient(180deg,#0a0a0c,#131317 40%,#0a0a0c)}
.ex-sec--ember{
  background:
    radial-gradient(700px 380px at 82% 12%,rgba(244,98,42,.16),transparent 64%),
    var(--panel);
  border-block:1px solid var(--line);
}
.ex-anchor{scroll-margin-top:88px}
.ex-divider{
  height:1px;
  background:linear-gradient(90deg,transparent,var(--line-2) 22%,var(--ember) 50%,var(--line-2) 78%,transparent);
  opacity:.55;
}

/* ----------------------------------------------------------- quick answer */
.ex-answer{
  background:var(--panel);border:1px solid var(--line);
  border-left:4px solid var(--ember);
  border-radius:var(--r);padding:clamp(1.3rem,2.6vw,2rem);
}
.ex-answer__tag{
  display:inline-block;font-family:"Archivo",sans-serif;font-size:.68rem;font-weight:800;
  letter-spacing:.19em;text-transform:uppercase;color:var(--ember);margin-bottom:.6rem;
}
.ex-answer h2{font-size:clamp(1.35rem,2.4vw,1.85rem)}
.ex-answer p:last-child{margin-bottom:0}

/* ------------------------------------------------------------ facts table */
.ex-tablewrap{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--r);
  overflow:hidden;
}
.ex-facts{width:100%;border-collapse:collapse;font-size:.93rem}
.ex-facts th,.ex-facts td{padding:.72rem 1.05rem;border-bottom:1px solid var(--line);text-align:left}
.ex-facts th{color:var(--muted);font-weight:600;width:47%;font-size:.87rem}
.ex-facts td{color:#fff;font-weight:600}
.ex-facts tr:last-child th,.ex-facts tr:last-child td{border-bottom:0}
.ex-facts tr:nth-child(odd){background:rgba(255,255,255,.016)}

/* ------------------------------------------------------------------ eeat */
.ex-eeat{
  display:flex;flex-wrap:wrap;gap:.5rem .95rem;align-items:center;
  font-size:.82rem;color:var(--muted);
  background:var(--panel-2);border:1px solid var(--line);
  border-radius:999px;padding:.6rem 1.1rem;
}
.ex-eeat__item{display:inline-flex;align-items:center;gap:.34rem}
.ex-eeat__item b{color:#e9e0d8;font-weight:600}
.ex-eeat__item + .ex-eeat__item::before{
  content:"";width:4px;height:4px;border-radius:50%;background:var(--line-2);margin-right:.6rem;
}

/* ----------------------------------------------------------------- cards */
.ex-card{
  background:var(--panel);border:1px solid var(--line);
  border-radius:var(--r);padding:1.5rem;height:100%;
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.ex-card:hover{transform:translateY(-4px);border-color:var(--line-2);box-shadow:var(--shadow-sm)}
.ex-card--flat{background:var(--panel-2);border-color:var(--line)}
.ex-card--flat:hover{transform:none}
.ex-card--v{border-color:rgba(53,208,216,.28)}
.ex-card__ico{
  display:inline-flex;align-items:center;justify-content:center;
  width:2.9rem;height:2.9rem;border-radius:12px;margin-bottom:.95rem;
  background:var(--ember-dim);border:1px solid rgba(244,98,42,.3);
  font-family:"Archivo",sans-serif;font-weight:800;color:var(--flame);font-size:1.02rem;
}
.ex-card p:last-child{margin-bottom:0}
.ex-card p{color:#cdc5be;font-size:.955rem}

.ex-reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
.ex-reveal.is-in{opacity:1;transform:none}

/* ------------------------------------------------- metabolic pathway svg */
.ex-metab{width:100%;height:auto;display:block}
.ex-m-line{
  fill:none;stroke:var(--ember);stroke-width:2.4;opacity:.55;
  stroke-dasharray:7 9;animation:ex-flow 2.6s linear infinite;
}
.ex-m-line--v{stroke:var(--data);animation-duration:3.6s;opacity:.5}
.ex-m-line--d{stroke:var(--muted-2);opacity:.3;animation-duration:5s}
@keyframes ex-flow{to{stroke-dashoffset:-64}}
.ex-m-node{fill:var(--flame);animation:ex-pulse 3s ease-in-out infinite}
.ex-m-node--v{fill:var(--data)}
.ex-m-node--f{fill:var(--flag)}
@keyframes ex-pulse{0%,100%{opacity:.55;r:7}50%{opacity:1;r:9.5}}
.ex-m-ring{fill:none;stroke:var(--ember);stroke-width:1.4;opacity:0;animation:ex-ring 3.6s ease-out infinite}
@keyframes ex-ring{0%{opacity:.6;transform:scale(.5)}100%{opacity:0;transform:scale(1.5)}}
.ex-metab text{
  font-family:"Archivo",sans-serif;font-size:11px;font-weight:700;
  fill:var(--muted);letter-spacing:.13em;
}
.ex-metab .ex-m-cap{fill:var(--sand);font-size:12px}

/* ----------------------------------------------------------------- notes */
.ex-note{
  background:var(--panel-2);border:1px solid var(--line);
  border-left:3px solid var(--muted-2);
  border-radius:var(--r-sm);padding:1.05rem 1.25rem;font-size:.94rem;color:#cdc5be;
}
.ex-note strong{display:block;color:#fff;margin-bottom:.32rem;font-family:"Archivo",sans-serif}
.ex-note--warn{border-left-color:var(--flag);background:rgba(255,90,90,.07)}
.ex-note--v{border-left-color:var(--data);background:rgba(53,208,216,.06)}
.ex-note--ok{border-left-color:var(--ok);background:rgba(91,217,127,.06)}
.ex-note p:last-child{margin-bottom:0}

/* ---------------------------------------------------------- dose ledger */
.ex-ledger{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;
}
.ex-ledger__head{padding:1.25rem 1.4rem;border-bottom:1px solid var(--line);background:var(--panel-2)}
.ex-ledger__head h3{margin:0 0 .2rem}
.ex-ledger__head p{margin:0;font-size:.84rem;color:var(--muted)}
.ex-ledger__body{padding:1.15rem 1.4rem}
.ex-row{padding:.82rem 0;border-bottom:1px dashed var(--line)}
.ex-row:last-child{border-bottom:0;padding-bottom:0}
.ex-row__top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.35rem;margin-bottom:.42rem}
.ex-row__name{font-family:"Archivo",sans-serif;font-weight:700;color:#fff;font-size:.99rem}
.ex-row__dose{font-family:ui-monospace,Menlo,monospace;font-size:.78rem;color:var(--muted)}
.ex-bar{height:9px;background:var(--panel-2);border-radius:999px;overflow:hidden;border:1px solid var(--line)}
.ex-bar__fill{
  display:block;height:100%;width:0;border-radius:999px;
  transition:width 1.15s cubic-bezier(.22,1,.36,1);
  background:linear-gradient(90deg,var(--ember),var(--amber));
}
.ex-bar__fill--low{background:linear-gradient(90deg,#8d2f1e,var(--flag))}
.ex-bar__fill--mid{background:linear-gradient(90deg,#b4610f,var(--amber))}
.ex-bar__fill--high{background:linear-gradient(90deg,#1f7a4d,var(--ok))}
.ex-row__note{margin:.42rem 0 0;font-size:.86rem;color:var(--muted)}
.ex-row__pct{color:var(--flame);font-weight:600;white-space:nowrap}

/* ------------------------------------------------------------ count-ups */
.ex-math{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin-top:1.1rem}
.ex-math__cell{
  background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r-sm);
  padding:.9rem .6rem;text-align:center;
}
.ex-math__num{
  font-family:"Archivo",sans-serif;font-weight:800;font-size:clamp(1.15rem,2.5vw,1.6rem);
  color:#fff;line-height:1.1;letter-spacing:-.03em;
}
.ex-math__num--flag{color:var(--flag)}
.ex-math__num--ok{color:var(--ok)}
.ex-math__lbl{font-size:.7rem;text-transform:uppercase;letter-spacing:.11em;color:var(--muted-2);margin-top:.34rem}

/* --------------------------------------------------- glucomannan gel viz */
.ex-gel{
  display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:end;
  background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r);
  padding:1.3rem 1.4rem;margin-top:1.1rem;
}
.ex-gel__col{text-align:center}
.ex-gel__track{
  height:190px;display:flex;align-items:flex-end;justify-content:center;
  border-bottom:1px solid var(--line-2);margin-bottom:.7rem;
}
.ex-gel__vol{
  width:72%;border-radius:10px 10px 0 0;height:0;
  transition:height 1.3s cubic-bezier(.22,1,.36,1);
  background:linear-gradient(180deg,var(--flag),#6d1f1f);
  border:1px solid rgba(255,90,90,.5);border-bottom:0;
}
.ex-gel__vol--full{background:linear-gradient(180deg,var(--ok),#14532d);border-color:rgba(91,217,127,.5)}
.ex-gel__amt{font-family:"Archivo",sans-serif;font-weight:800;font-size:1.15rem;color:#fff}
.ex-gel__lbl{font-size:.78rem;color:var(--muted);line-height:1.45}

/* ----------------------------------------------------------------- steps */
.ex-steps{list-style:none;counter-reset:s;padding:0;margin:0;display:grid;gap:1.05rem}
.ex-step{position:relative;padding-left:3.4rem}
.ex-step::before{
  counter-increment:s;content:counter(s,decimal-leading-zero);
  position:absolute;left:0;top:0;
  width:2.5rem;height:2.5rem;border-radius:11px;
  display:flex;align-items:center;justify-content:center;
  background:var(--ember-dim);border:1px solid rgba(244,98,42,.32);
  font-family:"Archivo",sans-serif;font-weight:800;color:var(--flame);font-size:.84rem;
}
.ex-step h3{margin-bottom:.28rem;font-size:1.06rem}
.ex-step p{margin:0;color:#cdc5be;font-size:.955rem}

/* -------------------------------------------------------------- benefits */
.ex-blist{display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:1rem}
.ex-blist__item{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--r);
  padding:1.3rem;position:relative;overflow:hidden;
  transition:border-color .25s ease,transform .25s ease;
}
.ex-blist__item::before{
  content:"";position:absolute;left:0;top:0;width:100%;height:2px;
  background:linear-gradient(90deg,var(--ember),transparent);
}
.ex-blist__item:hover{border-color:rgba(244,98,42,.4);transform:translateY(-3px)}
.ex-blist__item h3{font-size:1.02rem;margin-bottom:.38rem}
.ex-blist__item p{margin:0;font-size:.925rem;color:#cdc5be}

/* --------------------------------------------------------------- pricing */
.ex-price{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:1.7rem 1.4rem;text-align:center;height:100%;position:relative;
  display:flex;flex-direction:column;
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.ex-price:hover{transform:translateY(-5px);border-color:rgba(244,98,42,.45);box-shadow:var(--shadow)}
.ex-price--best{
  border-color:var(--ember);
  background:radial-gradient(520px 260px at 50% 0%,rgba(244,98,42,.16),transparent 70%),var(--panel);
  box-shadow:0 0 0 1px rgba(244,98,42,.28),var(--shadow);
}
.ex-price__ribbon{
  position:absolute;top:-.85rem;left:50%;transform:translateX(-50%);
  background:linear-gradient(135deg,var(--ember),var(--amber));color:#160a02;
  font-family:"Archivo",sans-serif;font-weight:800;font-size:.68rem;
  letter-spacing:.11em;text-transform:uppercase;padding:.34rem .95rem;border-radius:999px;
  white-space:nowrap;box-shadow:0 6px 18px rgba(244,98,42,.42);
}
.ex-price img{max-width:210px;margin:.5rem auto 1rem;display:block}
.ex-price__qty{font-family:"Archivo",sans-serif;font-weight:800;font-size:1.3rem;color:#fff}
.ex-price__sup{font-size:.8rem;color:var(--muted);margin-bottom:.85rem}
.ex-price__each{
  font-family:"Archivo",sans-serif;font-weight:800;
  font-size:clamp(2.1rem,4.4vw,2.85rem);color:var(--flame);line-height:1;letter-spacing:-.04em;
}
.ex-price__each span{font-size:.92rem;color:var(--muted);font-weight:600;letter-spacing:0}
.ex-price__ref{font-size:.79rem;color:var(--muted-2);margin:.3rem 0 .1rem}
.ex-price__total{font-size:.93rem;color:#fff;font-weight:600;margin-bottom:.9rem}
.ex-price ul{list-style:none;padding:0;margin:0 0 1.2rem;text-align:left;font-size:.885rem;flex:1}
.ex-price ul li{position:relative;padding-left:1.5rem;margin-bottom:.42rem;color:#cdc5be}
.ex-price ul li::before{
  content:"";position:absolute;left:.28rem;top:.5em;width:.34rem;height:.6rem;
  border:solid var(--flame);border-width:0 2px 2px 0;transform:rotate(42deg);
}

/* ------------------------------------------------------------- guarantee */
.ex-guarantee{
  background:
    radial-gradient(560px 300px at 14% 20%,rgba(255,181,71,.14),transparent 66%),
    var(--panel);
  border:1px solid var(--line);border-radius:var(--r-lg);
  padding:clamp(1.5rem,3.4vw,2.6rem);
}
.ex-guarantee img{max-width:230px;margin:0 auto;display:block}

/* ---------------------------------------------------------------- badges */
.ex-badges{
  display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;
  gap:clamp(1.2rem,4vw,3.1rem);
}
.ex-badges figure{margin:0;text-align:center;max-width:170px}
.ex-badges img{max-height:96px;width:auto;margin-bottom:.6rem}
.ex-badges figcaption{font-size:.76rem;color:var(--muted);line-height:1.45}

/* --------------------------------------------------------------- quotes */
.ex-quote{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--r);
  padding:1.4rem;height:100%;
}
.ex-quote__top{display:flex;align-items:center;gap:.75rem;margin-bottom:.7rem}
.ex-quote__top img{width:52px;height:52px;border-radius:50%;object-fit:cover;border:2px solid var(--line-2)}
.ex-quote__name{font-family:"Archivo",sans-serif;font-weight:700;color:#fff;font-size:.99rem}
.ex-quote__meta{font-size:.76rem;color:var(--muted)}
.ex-verified{color:var(--ok)}
.ex-quote p{font-size:.93rem;color:#cdc5be;margin:0;font-style:italic}

/* ------------------------------------------------------------------ faq */
.ex-faq details{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--r-sm);
  margin-bottom:.68rem;overflow:hidden;transition:border-color .2s ease;
}
.ex-faq details[open]{border-color:rgba(244,98,42,.42)}
.ex-faq summary{
  cursor:pointer;list-style:none;padding:1.02rem 3rem 1.02rem 1.25rem;
  font-family:"Archivo",sans-serif;font-weight:700;color:#fff;font-size:1rem;
  position:relative;line-height:1.4;
}
.ex-faq summary::-webkit-details-marker{display:none}
.ex-faq summary::after{
  content:"";position:absolute;right:1.25rem;top:1.32rem;
  width:.6rem;height:.6rem;border:solid var(--flame);border-width:0 2px 2px 0;
  transform:rotate(45deg);transition:transform .22s ease;
}
.ex-faq details[open] summary::after{transform:rotate(-135deg);top:1.5rem}
.ex-faq summary:hover{background:var(--panel-2)}
.ex-faq__a{padding:0 1.25rem 1.1rem;color:#cdc5be;font-size:.95rem}
.ex-faq__a p{margin:0}

/* ------------------------------------------------------- cta + articles */
.ex-cta-inline{
  background:
    radial-gradient(520px 260px at 12% 10%,rgba(244,98,42,.18),transparent 66%),
    var(--panel-2);
  border:1px solid rgba(244,98,42,.28);border-radius:var(--r);
  padding:clamp(1.3rem,2.8vw,2rem);margin:1.9rem 0;
}
.ex-cta-inline h3{margin-bottom:.45rem}
.ex-cta-inline p{color:#cdc5be;font-size:.96rem}

.ex-article{font-size:1.03rem}
.ex-article h2{margin-top:2.3rem;font-size:clamp(1.42rem,2.7vw,1.95rem)}
.ex-article h3{margin-top:1.6rem;font-size:clamp(1.08rem,1.9vw,1.24rem)}
.ex-article ul,.ex-article ol{padding-left:1.25rem;margin-bottom:1.3rem}
.ex-article li{margin-bottom:.5rem;color:#ded5cd}
.ex-article p{color:#ded5cd}

.ex-author{display:flex;gap:.9rem;align-items:flex-start}
.ex-author__av{
  flex:0 0 auto;width:3rem;height:3rem;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  background:var(--ember-dim);border:1px solid rgba(244,98,42,.3);
  font-family:"Archivo",sans-serif;font-weight:800;color:var(--flame);
}
.ex-author p{margin:.25rem 0 0;font-size:.9rem;color:var(--muted)}

.ex-img--frame{
  border-radius:var(--r-lg);border:1px solid var(--line);
  background:var(--panel);display:block;margin:0 auto;
  box-shadow:var(--shadow-sm);
}

/* ---------------------------------------------------------- post teaser */
.ex-post{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--r);
  padding:1.35rem;height:100%;transition:border-color .22s ease,transform .22s ease;
}
.ex-post:hover{border-color:rgba(244,98,42,.4);transform:translateY(-3px)}
.ex-post__cat{
  font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--flame);font-weight:700;font-family:"Archivo",sans-serif;
}
.ex-post h3{font-size:1.02rem;margin:.5rem 0 .5rem;line-height:1.32}
.ex-post h3 a{color:#fff}
.ex-post h3 a:hover{color:var(--flame);text-decoration:none}
.ex-post p{font-size:.9rem;color:var(--muted);margin-bottom:.9rem}
.ex-post__meta{
  display:flex;justify-content:space-between;font-size:.75rem;color:var(--muted-2);
  border-top:1px solid var(--line);padding-top:.7rem;
}

/* ------------------------------------------------------------- crumbs */
.ex-crumbs{font-size:.82rem;color:var(--muted-2);margin-bottom:1rem}
.ex-crumbs a{color:var(--muted)}
.ex-crumbs a:hover{color:var(--flame)}

/* ------------------------------------------------------------- footer */
.ex-footer{
  background:#08080a;border-top:1px solid var(--line);
  padding:clamp(42px,5vw,72px) 0 2rem;font-size:.925rem;
}
.ex-footer h4{
  font-size:.74rem;letter-spacing:.17em;text-transform:uppercase;
  color:var(--muted-2);margin-bottom:1rem;font-weight:700;
}
.ex-footer p{color:var(--muted);font-size:.9rem}
.ex-footer ul{list-style:none;padding:0;margin:0}
.ex-footer ul li{margin-bottom:.5rem}
.ex-footer ul a{color:#cdc5be;font-size:.9rem}
.ex-footer ul a:hover{color:var(--flame);text-decoration:none}
.ex-footer__brand{display:flex;align-items:center;gap:.6rem;margin-bottom:.9rem}
.ex-footer__legal{
  border-top:1px solid var(--line);margin-top:2.4rem;padding-top:1.6rem;
  font-size:.79rem;color:var(--muted-2);line-height:1.68;
}
.ex-footer__legal strong{color:var(--muted);font-weight:700}
.ex-footer__legal p{font-size:.79rem;color:var(--muted-2);margin-bottom:.85rem}
.ex-footer__legal a{color:var(--muted)}

/* ------------------------------------------------------------ sticky cta */
.ex-sticky{
  position:fixed;left:0;right:0;bottom:0;z-index:1030;
  display:none;align-items:center;gap:.9rem;
  background:rgba(12,12,15,.97);border-top:1px solid var(--line-2);
  padding:.62rem .95rem;backdrop-filter:blur(12px);
  box-shadow:0 -10px 30px rgba(0,0,0,.55);
}
.ex-sticky span{font-size:.79rem;color:var(--muted);line-height:1.35}
.ex-sticky b{color:var(--flame)}

@media (max-width:991.98px){
  .ex-orbit--a{top:2%;left:0}
  .ex-orbit--b{bottom:2%;right:0}
  .ex-orbit--c{display:none}
  .ex-hero__media{min-height:270px}
}
@media (max-width:767.98px){
  body{font-size:16.2px}
  .ex-sticky{display:flex}
  body.ex-has-sticky{padding-bottom:74px}
  .ex-math{grid-template-columns:1fr;gap:.5rem}
  .ex-gel{grid-template-columns:1fr 1fr;padding:1rem}
  .ex-gel__track{height:140px}
  .ex-eeat{border-radius:var(--r-sm)}
  .ex-price img{max-width:160px}
}

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

@media print{
  .ex-nav,.ex-sticky,.ex-announce,.ex-footer,.ex-cta-inline{display:none !important}
  body{background:#fff;color:#000}
}
