/* ============================================================
   JOINTETERNALUS — css/style.css
   Domain: jointeternalus.com
   Theme: Deep Ocean Teal/Cyan + Forest Green + Pearl White
           + Warm Gold
   Font: Nunito (rounded friendly premium) +
         Crimson Pro (authoritative elegant serif)
   Layout: Full-width centered hero + animated wave/ripple CSS bg
           + 4 benefit shield icons.
           4-benefit 2x2 grid.
           Hex offset ingredient grid.
           Before/After comparison table.
           Magazine-style quote testimonials.
           Circular guarantee stamp.
           Dotted-line 3-step howto.
           Footer: feature strip + 4-col grid.
   Naming: --je- prefix
   NOTE: All CSS content values use Unicode escapes only
   ============================================================ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --je-teal:    #0a7c8c;
  --je-te-md:   #0d8fa0;
  --je-te-lt:   #10a2b4;
  --je-te-brt:  #12b5c8;
  --je-te-pal:  #e6f7fa;
  --je-te-xpl:  #f0fbfd;
  --je-green:   #1a6e3a;
  --je-gn-md:   #207d44;
  --je-gn-lt:   #268c4e;
  --je-gn-brt:  #2c9b58;
  --je-gn-pal:  #e8f5ed;
  --je-gold:    #b07e10;
  --je-gd-lt:   #c48e18;
  --je-gd-brt:  #d89e20;
  --je-white:   #ffffff;
  --je-pearl:   #fdfcfb;
  --je-warm-w:  #f8f6f2;
  --je-ivory:   #f2efe8;
  --je-cream:   #ece9e0;
  --je-dark:    #0a1a1e;
  --je-xdark:   #050e10;
  --je-dk-md:   #0d2228;
  --je-dk-lt:   #112a32;
  --je-text:    #0d2228;
  --je-muted:   #1a3540;
  --je-faint:   #4a6870;
  --je-border:  #bdd8dc;
  --je-bdr-lt:  #cee4e8;

  --sh-1: 0 1px 6px rgba(10,30,35,.08);
  --sh-2: 0 4px 18px rgba(10,30,35,.14);
  --sh-3: 0 12px 40px rgba(10,30,35,.22);
  --sh-teal:  0 4px 22px rgba(10,124,140,.36);
  --sh-green: 0 4px 22px rgba(26,110,58,.28);

  --r-xs:  4px;
  --r-sm:  10px;
  --r-md:  16px;
  --r-lg:  24px;
  --r-xl:  32px;
  --r-pill:999px;
}

html{scroll-behavior:smooth}
body{font-family:'Nunito',sans-serif;font-size:17px;color:var(--je-text);background:var(--je-pearl);overflow-x:hidden;line-height:1.80}
h1,h2,h3,h4,h5{font-family:'Nunito',sans-serif;font-weight:700}
em{font-style:italic;font-family:'Crimson Pro',serif}

/* NAV */
nav{position:sticky;top:0;z-index:1000;background:var(--je-xdark);padding:0 24px;height:66px;border-bottom:3px solid var(--je-te-brt);box-shadow:0 4px 20px rgba(5,14,16,.90)}
.nav-inner{max-width:1280px;margin:0 auto;height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.nav-logo{text-decoration:none;display:flex;align-items:baseline;flex-shrink:0;gap:1px}
.nl-joint{font-family:'Nunito',sans-serif;font-size:1.5rem;font-weight:800;color:var(--je-te-brt)}
.nl-eternal{font-family:'Crimson Pro',serif;font-size:1.6rem;font-weight:600;color:var(--je-white);font-style:italic}
.nav-links{display:flex;align-items:center;gap:16px;list-style:none}
.nav-links a{color:rgba(255,255,255,.44);text-decoration:none;font-family:'Nunito',sans-serif;font-size:.80rem;font-weight:600;transition:color .2s;white-space:nowrap}
.nav-links a:hover{color:var(--je-te-brt)}
.nav-cta{background:var(--je-teal)!important;color:var(--je-white)!important;font-family:'Nunito',sans-serif!important;font-weight:800!important;font-size:.78rem!important;padding:9px 18px!important;border-radius:var(--r-xs)!important;transition:filter .2s!important;border:1px solid rgba(18,181,200,.24)!important}
.nav-cta:hover{filter:brightness(1.12)!important}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;background:none;border:none}
.hamburger span{width:24px;height:2px;background:var(--je-te-brt);display:block;border-radius:2px}
.mobile-menu{display:none;flex-direction:column;background:var(--je-dk-md);position:absolute;top:69px;left:0;right:0;padding:20px 28px;gap:14px;z-index:999;border-bottom:3px solid var(--je-te-brt)}
.mobile-menu.open{display:flex}
.mobile-menu a{color:rgba(255,255,255,.60);text-decoration:none;font-family:'Nunito',sans-serif;font-size:.96rem;font-weight:600;padding:4px 0;border-bottom:1px solid rgba(10,124,140,.14)}
.mob-cta{background:var(--je-teal)!important;color:var(--je-white)!important;text-align:center;padding:12px!important;border-radius:var(--r-xs)!important;font-weight:800!important;margin-top:8px;border:none!important}

/* BUTTONS */
.cta-teal{display:inline-block;background:linear-gradient(135deg,var(--je-teal) 0%,var(--je-te-md) 55%,var(--je-te-lt) 100%);color:var(--je-white);font-family:'Nunito',sans-serif;font-weight:800;font-size:.88rem;letter-spacing:.3px;padding:14px 42px;border-radius:var(--r-xs);text-decoration:none;transition:filter .25s,transform .2s,box-shadow .2s;box-shadow:var(--sh-teal)}
.cta-teal:hover{filter:brightness(1.12);transform:translateY(-3px);box-shadow:0 8px 28px rgba(10,124,140,.48)}
.cta-xl{font-size:.94rem;padding:16px 54px}
.cta-ghost-je{display:inline-block;background:transparent;color:rgba(255,255,255,.44);font-family:'Nunito',sans-serif;font-weight:600;font-size:.82rem;padding:13px 28px;border-radius:var(--r-xs);text-decoration:none;border:1.5px solid rgba(10,124,140,.30);transition:all .2s}
.cta-ghost-je:hover{border-color:var(--je-te-brt);color:var(--je-te-brt)}

/* TAGS */
.etag{display:inline-block;font-family:'Nunito',sans-serif;font-size:.60rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;border-bottom:2px solid currentColor;padding-bottom:3px;margin-bottom:14px}
.etag-teal{color:var(--je-te-brt);border-bottom-color:var(--je-te-brt)}
.etag-lt{color:rgba(255,255,255,.80);border-bottom-color:rgba(255,255,255,.60)}
.etag-dk{color:var(--je-text);border-bottom-color:var(--je-text)}

/* SHARED BAND INNER */
.bb-inner,.ib-inner,.cb-inner,.htb-inner,.fb-inner,.rb-inner,.pb2-inner{max-width:860px;margin:0 auto;text-align:center;padding:0 16px}
.bb-inner h2,.ib-inner h2,.cb-inner h2,.htb-inner h2,.faq-band .fb-inner h2,.rb-inner h2{font-family:'Nunito',sans-serif;font-size:1.90rem;font-weight:800;line-height:1.22;margin-bottom:10px}

/* BAND HEADERS */
.band-hdr{padding:52px 24px 36px;text-align:center}
.teal-band{background:linear-gradient(145deg,var(--je-xdark) 0%,var(--je-dk-lt) 100%);border-top:3px solid var(--je-te-brt)}
.white-band{background:var(--je-ivory);border-top:3px solid var(--je-teal)}
.teal-band .bb-inner h2,.teal-band .ib-inner h2,.teal-band .rb-inner h2{color:var(--je-white)}
.white-band .cb-inner h2,.white-band .bb-inner h2{color:var(--je-text)}
.teal-band .bb-inner p,.teal-band .ib-inner p,.teal-band .rb-inner p{font-family:'Crimson Pro',serif;font-size:.92rem;color:rgba(255,255,255,.52);font-style:italic}
.white-band .cb-inner p,.white-band .bb-inner p{font-family:'Crimson Pro',serif;font-size:.92rem;color:var(--je-faint);font-style:italic}
.ben-band,.compare-band,.howto-band,.faq-band{padding:52px 24px 36px;text-align:center}
.ben-band{background:var(--je-ivory);border-top:3px solid var(--je-teal)}
.compare-band{background:var(--je-xdark);border-top:3px solid var(--je-te-brt)}
.howto-band{background:var(--je-xdark);border-top:3px solid var(--je-te-brt)}
.faq-band{background:var(--je-ivory);border-top:3px solid var(--je-teal)}
.compare-band .cb-inner h2,.howto-band .htb-inner h2{color:var(--je-white)}
.ben-band .bb-inner h2,.faq-band .fb-inner h2{color:var(--je-text)}
.compare-band .cb-inner p,.howto-band .htb-inner p{font-family:'Crimson Pro',serif;font-size:.92rem;color:rgba(255,255,255,.52);font-style:italic}
.ben-band .bb-inner p,.faq-band .fb-inner p{font-family:'Crimson Pro',serif;font-size:.92rem;color:var(--je-faint);font-style:italic}
.ing-band,.rev-band{padding:52px 24px 36px;text-align:center}
.ing-band{background:linear-gradient(145deg,var(--je-dk-md) 0%,var(--je-dk-lt) 100%);border-top:3px solid var(--je-te-brt)}
.rev-band{background:var(--je-xdark);border-top:3px solid var(--je-te-brt)}
.ing-band .ib-inner h2,.rev-band .rb-inner h2{color:var(--je-white)}
.ing-band .ib-inner p,.rev-band .rb-inner p{font-family:'Crimson Pro',serif;font-size:.92rem;color:rgba(255,255,255,.52);font-style:italic}

/* ============================
   HERO: Full-width centered
   + animated wave/ripple CSS bg
   ============================ */
.hero{background:linear-gradient(170deg,var(--je-xdark) 0%,var(--je-dk-md) 55%,#0a1e24 100%);position:relative;overflow:hidden;border-bottom:4px solid var(--je-te-brt);padding:72px 24px 90px;text-align:center}

/* Wave/ripple CSS bg */
.hero-wave-bg{position:absolute;inset:0;z-index:0;pointer-events:none}
.hero-wave-bg::before{content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse 70% 45% at 50% 60%, rgba(10,124,140,.12) 0%, transparent 65%),
    radial-gradient(circle 2px at 10% 18%, rgba(18,181,200,.80) 0%, transparent 2px),
    radial-gradient(circle 1.5px at 88% 14%, rgba(18,181,200,.60) 0%, transparent 2px),
    radial-gradient(circle 1px at 6% 70%, rgba(44,155,88,.60) 0%, transparent 1px),
    radial-gradient(circle 1.5px at 92% 68%, rgba(10,124,140,.44) 0%, transparent 2px),
    radial-gradient(circle 1px at 48% 5%, rgba(18,181,200,.44) 0%, transparent 1px),
    radial-gradient(circle 1.5px at 4% 44%, rgba(44,155,88,.32) 0%, transparent 2px),
    radial-gradient(circle 1px at 96% 36%, rgba(10,124,140,.36) 0%, transparent 1px),
    radial-gradient(circle 2px at 22% 90%, rgba(18,181,200,.30) 0%, transparent 2px),
    radial-gradient(circle 1px at 76% 86%, rgba(44,155,88,.24) 0%, transparent 1px);
  animation:wavePulse 10s ease-in-out infinite alternate}
.hero-wave-bg::after{content:'';position:absolute;inset:0;
  background:
    repeating-linear-gradient(
      0deg,
      transparent 0px, transparent 38px,
      rgba(10,124,140,.018) 38px, rgba(10,124,140,.018) 39px,
      transparent 39px, transparent 76px
    );
  animation:waveFlow 18s linear infinite}
@keyframes wavePulse{0%{opacity:.5;transform:scale(1)}100%{opacity:1;transform:scale(1.04)}}
@keyframes waveFlow{0%{transform:translateY(0)}100%{transform:translateY(-39px)}}

.hero-center{position:relative;z-index:1;max-width:900px;margin:0 auto}

.hc-eyebrow{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:18px}
.hce-badge{font-family:'Nunito',sans-serif;font-size:.62rem;font-weight:700;color:rgba(255,255,255,.88);background:rgba(255,255,255,.07);border:1px solid rgba(18,181,200,.28);padding:5px 14px;border-radius:var(--r-pill)}

.hero-h1{font-family:'Nunito',sans-serif;font-size:2.7rem;font-weight:800;line-height:1.14;color:var(--je-white);margin-bottom:16px}
.h1-teal{color:var(--je-te-brt)}
.h1-green{color:var(--je-gn-brt)}
.hero-h1 em{font-family:'Crimson Pro',serif;font-style:italic;color:rgba(255,255,255,.52);font-size:2.3rem;font-weight:400;display:block;margin-top:6px}
.hero-sub{font-family:'Crimson Pro',serif;font-size:1rem;line-height:1.84;color:rgba(255,255,255,.70);max-width:780px;margin:0 auto 22px;font-style:italic}
.hero-sub strong{color:var(--je-te-brt);font-style:normal;font-family:'Nunito',sans-serif;font-weight:700}

/* 4 benefit shields row */
.hero-shields{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:22px}
.hs-shield{background:rgba(255,255,255,.07);border:2px solid rgba(10,124,140,.36);border-radius:var(--r-md);padding:14px 16px;min-width:120px;display:flex;flex-direction:column;align-items:center;gap:6px;transition:transform .2s;cursor:default}
.hs-alt{border-color:rgba(26,110,58,.36)}
.hs-shield:hover{transform:translateY(-4px)}
.hss-icon{font-size:1.8rem}
.hs-shield span{font-family:'Nunito',sans-serif;font-size:.64rem;font-weight:700;color:rgba(255,255,255,.78);text-align:center;line-height:1.28}

/* Hero product */
.hero-product{display:inline-block;margin:0 auto 18px}
.hero-product-img{width:100%;max-width:380px;height:auto;object-fit:contain;filter:drop-shadow(0 28px 70px rgba(0,0,0,.82)) drop-shadow(0 0 50px rgba(10,124,140,.18));transition:transform .5s;display:block;margin:0 auto}
.hero-product a:hover .hero-product-img{transform:scale(1.05) translateY(-12px)}
.hero-product a{display:block}

.hero-rating{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.hr-stars{color:var(--je-gd-brt);font-size:1rem;letter-spacing:1.5px}
.hr-score{font-family:'Nunito',sans-serif;font-size:.80rem;font-weight:700;color:var(--je-gd-brt)}
.hr-sep{color:rgba(255,255,255,.24)}
.hr-ct{font-family:'Nunito',sans-serif;font-size:.80rem;font-weight:600;color:rgba(255,255,255,.70)}

/* 3-tier price strip */
.hero-prices{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:20px}
.hp-tier{background:rgba(255,255,255,.06);border:1px solid rgba(10,124,140,.18);border-radius:var(--r-md);padding:14px 18px;min-width:140px;display:flex;flex-direction:column;gap:4px;text-align:center;position:relative}
.hp-best{background:rgba(10,124,140,.18);border-color:rgba(18,181,200,.36)}
.hpt-badge{position:absolute;top:-10px;left:50%;transform:translateX(-50%);background:var(--je-teal);color:var(--je-white);font-family:'Nunito',sans-serif;font-size:.52rem;font-weight:800;padding:4px 12px;border-radius:var(--r-pill);white-space:nowrap;letter-spacing:.5px}
.hp-tier strong{font-family:'Nunito',sans-serif;font-size:.96rem;font-weight:800;color:var(--je-white);display:block;padding-top:2px}
.hp-tier span{font-family:'Crimson Pro',serif;font-size:.78rem;color:rgba(255,255,255,.60);font-style:italic}
.hero-ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:14px}
.hero-fine{font-family:'Nunito',sans-serif;font-size:.68rem;font-weight:500;color:rgba(255,255,255,.30)}

/* 4 BENEFITS: 2x2 grid */
.ben-section{background:var(--je-warm-w);padding:64px 40px}
.ben-grid{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.bg-card{background:var(--je-white);border:1px solid var(--je-border);border-radius:var(--r-xl);padding:26px 22px;box-shadow:var(--sh-1);transition:box-shadow .25s,transform .25s;border-left:5px solid var(--je-teal);display:flex;flex-direction:column;gap:10px}
.bg-alt{border-left-color:var(--je-green)}
.bg-card:hover{box-shadow:var(--sh-3);transform:translateY(-4px)}
.bgc-num{font-family:'Nunito',sans-serif;font-size:.58rem;font-weight:700;letter-spacing:2px;color:var(--je-teal)}
.bg-alt .bgc-num{color:var(--je-green)}
.bgc-icon{font-size:2rem;display:block}
.bg-card h3{font-family:'Nunito',sans-serif;font-size:1rem;font-weight:800;color:var(--je-text);line-height:1.26}
.bg-card p{font-family:'Crimson Pro',serif;font-size:.90rem;line-height:1.74;color:var(--je-muted);font-style:italic}

/* PRICE BAND */
.price-band{background:var(--je-xdark);padding:38px 24px 14px;text-align:center;border-top:3px solid var(--je-te-brt)}
.pb-inner{text-align:center;padding:0 16px}
.pb-inner h2{font-family:'Nunito',sans-serif;font-size:1.80rem;font-weight:800;color:var(--je-te-brt);line-height:1.28;margin-bottom:8px}
.pb-inner p{font-family:'Crimson Pro',serif;font-size:.90rem;color:rgba(255,255,255,.42);font-style:italic}
.price-sec{background:var(--je-dk-md);padding:42px;text-align:center}
.price-link{display:block}
.price-img-lg{width:100%;max-width:1000px;height:auto;object-fit:contain;border-radius:var(--r-sm);display:block;margin:0 auto;transition:transform .3s}
.price-link:hover .price-img-lg{transform:scale(1.01)}

/* 7 INGREDIENTS: Hex offset grid */
.ing-section{background:var(--je-dk-lt);padding:64px 40px}
.ing-hex-grid{max-width:1100px;margin:0 auto 32px;display:flex;flex-direction:column;gap:16px}
.ihg-card{display:grid;grid-template-columns:100px 1fr;gap:0;background:rgba(255,255,255,.04);border:1px solid rgba(10,124,140,.20);border-radius:var(--r-xl);overflow:hidden;transition:box-shadow .25s,transform .25s}
.ihg-offset{margin-left:40px}
.ihg-card:hover{transform:translateY(-3px);box-shadow:var(--sh-teal)}
.ihgc-hex{width:100px;min-height:100px;background:linear-gradient(135deg,var(--je-teal) 0%,var(--je-te-md) 100%);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ihgc-hex-alt{background:linear-gradient(135deg,var(--je-green) 0%,var(--je-gn-md) 100%)}
.ihgch-inner{display:flex;flex-direction:column;align-items:center;gap:4px}
.ihgchi-icon{font-size:1.6rem}
.ihgchi-num{font-family:'Nunito',sans-serif;font-size:.58rem;font-weight:800;color:rgba(255,255,255,.80);letter-spacing:1px}
.ihgc-body{padding:18px 20px;display:flex;flex-direction:column;gap:6px}
.ihgc-body h3{font-family:'Nunito',sans-serif;font-size:.94rem;font-weight:800;color:var(--je-white);line-height:1.26}
.ihgcb-role{font-family:'Nunito',sans-serif;font-size:.58rem;font-weight:700;letter-spacing:1px;color:var(--je-te-brt);background:rgba(10,124,140,.20);border:1px solid rgba(18,181,200,.18);padding:3px 10px;border-radius:var(--r-xs);display:inline-block;width:fit-content}
.ihg-offset .ihgcb-role{color:var(--je-gn-brt);background:rgba(26,110,58,.20);border-color:rgba(44,155,88,.18)}
.ihgc-body p{font-family:'Crimson Pro',serif;font-size:.86rem;line-height:1.70;color:rgba(255,255,255,.56);font-style:italic}

/* Ingredient trust bar */
.ing-trust-bar{max-width:1100px;margin:0 auto;background:var(--je-xdark);border-radius:var(--r-sm);display:flex;flex-wrap:wrap;overflow:hidden}
.itb-item{display:flex;flex-direction:column;padding:13px 18px;flex:1;min-width:120px}
.itb-sep{width:1px;background:rgba(10,124,140,.14);flex-shrink:0}
.itbk{font-family:'Nunito',sans-serif;font-size:.58rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--je-te-brt);margin-bottom:3px}
.itbv{font-family:'Nunito',sans-serif;font-size:.84rem;font-weight:500;color:rgba(255,255,255,.54)}
.itbg{color:var(--je-gd-brt);font-weight:700}

/* BEFORE/AFTER COMPARISON TABLE */
.compare-section{background:var(--je-dk-lt);padding:56px 40px}
.compare-table-wrap{max-width:1100px;margin:0 auto;overflow-x:auto;border-radius:var(--r-lg);box-shadow:var(--sh-3)}
.compare-table{width:100%;border-collapse:collapse;min-width:640px}
.compare-table thead tr{background:var(--je-teal)}
.ct-col-area{width:20%;padding:16px 18px;font-family:'Nunito',sans-serif;font-size:.78rem;font-weight:800;color:var(--je-white);text-align:left;letter-spacing:.5px;text-transform:uppercase}
.ct-col-before{width:40%;padding:16px 18px;font-family:'Nunito',sans-serif;font-size:.78rem;font-weight:800;color:var(--je-white);text-align:left;background:rgba(0,0,0,.16)}
.ct-col-after{width:40%;padding:16px 18px;font-family:'Nunito',sans-serif;font-size:.78rem;font-weight:800;color:var(--je-white);text-align:left;background:rgba(0,0,0,.08)}
.compare-table tbody tr{background:var(--je-dk-md)}
.ct-stripe{background:var(--je-dk-lt)}
.ct-area{padding:14px 18px;font-family:'Nunito',sans-serif;font-size:.82rem;font-weight:700;color:var(--je-te-brt);border-right:1px solid rgba(10,124,140,.14);vertical-align:top}
.ct-before{padding:14px 18px;font-family:'Crimson Pro',serif;font-size:.88rem;line-height:1.64;color:rgba(255,255,255,.48);font-style:italic;border-right:1px solid rgba(10,124,140,.14);vertical-align:top;position:relative}
.ct-before::before{content:'\2715';position:absolute;top:14px;right:10px;color:rgba(255,80,80,.44);font-size:.72rem;font-family:'Nunito',sans-serif;font-style:normal}
.ct-after{padding:14px 18px;font-family:'Crimson Pro',serif;font-size:.88rem;line-height:1.64;color:rgba(255,255,255,.70);font-style:italic;vertical-align:top;position:relative}
.ct-after::before{content:'\2713';position:absolute;top:14px;right:10px;color:var(--je-te-brt);font-size:.72rem;font-family:'Nunito',sans-serif;font-style:normal}

/* MAGAZINE-STYLE TESTIMONIALS */
.rev-section,.reviews-section{background:var(--je-dk-md);padding:64px 40px}
.rev-magazine{max-width:1000px;margin:0 auto;display:flex;flex-direction:column;gap:20px}
.rm-card{background:var(--je-dk-lt);border:1px solid rgba(10,124,140,.20);border-radius:var(--r-xl);padding:28px 28px 24px;position:relative;transition:transform .25s,box-shadow .25s;display:grid;grid-template-columns:1fr;gap:14px}
.rm-alt{border-color:rgba(26,110,58,.20)}
.rm-card:hover{transform:translateY(-3px);box-shadow:var(--sh-teal)}
.rmc-bar{position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(to bottom,var(--je-teal),var(--je-te-lt));border-radius:var(--r-xl) 0 0 var(--r-xl)}
.rm-alt .rmc-bar{background:linear-gradient(to bottom,var(--je-green),var(--je-gn-lt))}
.rmc-stars{font-family:'Nunito',sans-serif;font-size:.70rem;font-weight:700;color:var(--je-gd-brt);letter-spacing:1px;padding-left:12px}
.rmc-quote{font-family:'Crimson Pro',serif;font-size:1.08rem;line-height:1.80;color:rgba(255,255,255,.70);font-style:italic;padding-left:12px;border:none;quotes:none}
.rmc-quote::before,.rmc-quote::after{content:none}
.rmc-author{display:flex;align-items:center;gap:14px;padding-left:12px;border-top:1px solid rgba(10,124,140,.14);padding-top:14px}
.rmca-av{width:62px;height:62px;border-radius:50%;object-fit:cover;border:3px solid var(--je-teal);flex-shrink:0;display:block}
.rm-alt .rmca-av{border-color:var(--je-green)}
.rmc-author div{display:flex;flex-direction:column;gap:2px}
.rmc-author strong{font-family:'Nunito',sans-serif;font-size:.92rem;font-weight:800;color:var(--je-white)}
.rmc-author span{font-family:'Nunito',sans-serif;font-size:.68rem;font-weight:500;color:rgba(255,255,255,.44)}

/* GUARANTEE: Circular stamp design */
.guar-section{background:linear-gradient(135deg,var(--je-te-xpl) 0%,var(--je-gn-pal) 100%);padding:64px 40px;border-top:3px solid var(--je-teal);border-bottom:3px solid var(--je-green)}
.guar-inner{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:280px 1fr;gap:56px;align-items:center}
.guar-stamp-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}
.guar-img-lg{width:100%;max-width:260px;height:auto;object-fit:contain;display:block;margin:0 auto;filter:drop-shadow(0 8px 24px rgba(10,124,140,.22))}
.guar-right h2{font-family:'Nunito',sans-serif;font-size:1.90rem;font-weight:800;color:var(--je-teal);line-height:1.24;margin-bottom:14px}
.guar-right p{font-family:'Crimson Pro',serif;font-size:1rem;line-height:1.80;color:var(--je-muted);font-style:italic;margin-bottom:12px}

/* HOWTO: Dotted-line steps */
.howto-section{background:var(--je-dk-md);padding:64px 40px}
.howto-steps{max-width:880px;margin:0 auto;display:flex;flex-direction:column}
.hs-step{display:grid;grid-template-columns:66px 1fr;gap:0;align-items:start;position:relative}
.hs-step:not(:last-child)::after{content:'';position:absolute;left:32px;top:66px;bottom:0;width:2px;border-left:3px dashed rgba(18,181,200,.30);z-index:0}
.hs-num{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--je-teal) 0%,var(--je-te-lt) 100%);color:var(--je-white);font-family:'Nunito',sans-serif;font-size:1.6rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;z-index:1;box-shadow:var(--sh-teal)}
.hs-body{padding:6px 0 34px 22px}
.hs-body h4{font-family:'Nunito',sans-serif;font-size:1rem;font-weight:800;color:var(--je-white);margin-bottom:6px;line-height:1.28}
.hs-tldr{font-family:'Crimson Pro',serif;font-size:.80rem;font-style:italic;background:rgba(18,181,200,.14);border-left:3px solid var(--je-te-brt);padding:8px 12px;border-radius:0 var(--r-xs) var(--r-xs) 0;margin-bottom:9px;line-height:1.60;color:rgba(255,255,255,.90)}
.hs-body p:last-child{font-family:'Crimson Pro',serif;font-size:.90rem;line-height:1.76;color:rgba(255,255,255,.42);font-style:italic}

/* FAQs */
.faq-section{background:var(--je-warm-w);padding:60px 40px}
.faq-list{max-width:880px;margin:0 auto;display:flex;flex-direction:column;gap:8px}
.faq-item{background:var(--je-white);border:1px solid var(--je-border);border-radius:var(--r-sm);overflow:hidden;box-shadow:var(--sh-1)}
.faq-q{width:100%;background:none;border:none;text-align:left;padding:17px 22px;font-family:'Nunito',sans-serif;font-size:.88rem;font-weight:700;color:var(--je-text);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:13px;transition:background .2s;line-height:1.38}
.faq-q:hover{background:var(--je-te-xpl)}
.faq-arr{font-size:1.4rem;font-weight:300;transition:transform .3s;color:var(--je-teal);flex-shrink:0;line-height:1}
.faq-ans{display:none;padding:0 22px 18px;border-top:1px solid var(--je-bdr-lt)}
.faq-ans p{font-family:'Crimson Pro',serif;font-size:.96rem;line-height:1.80;color:var(--je-muted);padding-top:13px;font-style:italic}
.faq-tldr{font-family:'Crimson Pro',serif;font-size:.80rem;font-style:italic;background:var(--je-te-xpl);border-left:3px solid var(--je-teal);padding:8px 13px;border-radius:0 var(--r-xs) var(--r-xs) 0;line-height:1.60;color:var(--je-text)}
.faq-item.open .faq-ans{display:block}
.faq-item.open .faq-arr{transform:rotate(45deg);color:var(--je-green)}
.faq-item.open .faq-q{background:var(--je-te-xpl)}

/* FINAL CTA */
.cta-final{background:linear-gradient(160deg,var(--je-xdark) 0%,#041214 55%,var(--je-dk-lt) 100%);padding:84px 24px;text-align:center;border-top:4px solid var(--je-te-brt);position:relative;overflow:hidden}
.cta-final::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(10,124,140,.14) 0%,transparent 55%);pointer-events:none}
.cta-final-inner{position:relative;z-index:1;max-width:820px;margin:0 auto}
.ctaf-icons{display:flex;justify-content:center;gap:14px;margin-bottom:14px}
.ctafi-1,.ctafi-3{font-size:2.2rem;opacity:.5;animation:iconBob 4s ease-in-out infinite}
.ctafi-2{font-size:3rem;animation:iconBob 4s ease-in-out infinite .6s}
.ctafi-1{animation-delay:0s}
.ctafi-3{animation-delay:1.2s}
@keyframes iconBob{0%,100%{transform:translateY(0);opacity:.6}50%{transform:translateY(-10px);opacity:1}}
.cta-final-inner h2{font-family:'Nunito',sans-serif;font-size:2.8rem;font-weight:800;color:var(--je-white);margin-bottom:12px;line-height:1.12}
.cta-final-inner h2 span{color:var(--je-te-brt)}
.cta-final-inner h2 em{font-family:'Crimson Pro',serif;font-style:italic;color:rgba(255,255,255,.44);font-size:2.2rem;font-weight:400;display:block}
.ctaf-sub{font-family:'Nunito',sans-serif;font-size:.80rem;font-weight:500;color:rgba(255,255,255,.28);margin-bottom:34px;line-height:1.72}
.ctaf-img{max-width:280px;margin:0 auto 28px}
.ctaf-product-img{width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 0 28px rgba(10,124,140,.20)) drop-shadow(0 12px 36px rgba(0,0,0,.80));transition:transform .4s;display:block}
.ctaf-img:hover .ctaf-product-img{transform:scale(1.06) translateY(-8px)}
.ctaf-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 24px;margin-top:18px}
.ctaf-trust span{font-family:'Nunito',sans-serif;font-size:.66rem;font-weight:600;color:rgba(255,255,255,.24);white-space:nowrap}

/* ============================
   FOOTER — Feature strip + 4-col
   ============================ */
footer{background:var(--je-xdark);border-top:4px solid var(--je-te-brt)}

.footer-strip{background:linear-gradient(90deg,#030b0d 0%,#071418 50%,#030b0d 100%);border-bottom:1px solid rgba(10,124,140,.16);padding:14px 24px}
.fs-inner{max-width:1300px;margin:0 auto;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0}
.fsi-item{display:flex;align-items:center;gap:7px;padding:8px 18px}
.fsii{font-size:.90rem;color:var(--je-te-brt);font-weight:700}
.fsi-item span:last-child{font-family:'Nunito',sans-serif;font-size:.78rem;font-weight:600;color:rgba(255,255,255,.68)}
.fsi-div{width:1px;height:26px;background:rgba(10,124,140,.18);flex-shrink:0}

.footer-main{padding:44px 40px;border-bottom:1px solid rgba(10,124,140,.10)}
.footer-grid{max-width:1300px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:36px;align-items:start}
.footer-logo{text-decoration:none;display:flex;align-items:baseline;gap:1px;margin-bottom:6px}
.fll-joint{font-family:'Nunito',sans-serif;font-size:1.7rem;font-weight:800;color:var(--je-te-brt)}
.fll-eternal{font-family:'Crimson Pro',serif;font-size:1.8rem;font-weight:600;color:var(--je-white);font-style:italic}
.fg-tagline{font-family:'Nunito',sans-serif;font-size:.70rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--je-te-brt);margin-bottom:12px}
.fg-desc{font-family:'Crimson Pro',serif;font-size:.78rem;line-height:1.70;color:rgba(255,255,255,.22);margin-bottom:14px;font-style:italic}
.fg-chips{display:flex;flex-wrap:wrap;gap:6px}
.fg-chips span{background:rgba(10,124,140,.16);border:1px solid rgba(18,181,200,.22);color:var(--je-te-brt);font-family:'Nunito',sans-serif;font-size:.60rem;font-weight:700;padding:3px 10px;border-radius:var(--r-xs)}
.fg-nav h5{font-family:'Nunito',sans-serif;font-size:.70rem;font-weight:800;letter-spacing:2.5px;text-transform:uppercase;color:var(--je-te-brt);margin-bottom:14px;padding-bottom:6px;border-bottom:1px solid rgba(10,124,140,.14)}
.fg-nav ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px}
.fg-nav ul li a{color:rgba(255,255,255,.26);text-decoration:none;font-family:'Nunito',sans-serif;font-size:.90rem;font-weight:600;transition:color .2s;display:flex;align-items:center;gap:5px}
.fg-nav ul li a::before{content:'\203A';color:var(--je-te-brt);font-size:.9rem;font-family:'Nunito',sans-serif}
.fg-nav ul li a:hover{color:var(--je-white)}
.fg-cta-wrap{margin-top:18px}
.fg-order-btn{display:inline-block;background:var(--je-teal);color:var(--je-white);font-family:'Nunito',sans-serif;font-weight:800;font-size:.88rem;padding:11px 22px;border-radius:var(--r-xs);text-decoration:none;transition:filter .2s;box-shadow:var(--sh-teal)}
.fg-order-btn:hover{filter:brightness(1.12)}
.fgg-box{background:rgba(10,124,140,.12);border:1px solid rgba(10,124,140,.24);border-radius:var(--r-lg);padding:18px;text-align:center}
.fgg-icon{font-size:2rem;display:block;margin-bottom:8px}
.fgg-box strong{font-family:'Nunito',sans-serif;font-size:1.0rem;font-weight:800;color:var(--je-white);display:block;margin-bottom:6px}
.fgg-box p{font-family:'Crimson Pro',serif;font-size:.80rem;color:rgba(255,255,255,.50);line-height:1.60;font-style:italic}

.footer-legal{max-width:1300px;margin:0 auto;padding:14px 40px 20px;text-align:center}
.footer-legal p{font-family:'Crimson Pro',serif;font-size:.75rem;color:rgba(255,255,255,.18);line-height:1.65;margin-bottom:7px;font-style:italic}
.footer-copy{font-size:.72rem;color:rgba(255,255,255,.16);margin-top:8px;padding-top:8px;border-top:1px solid rgba(10,124,140,.08)}
.footer-copy a{color:rgba(255,255,255,.32);text-decoration:none}
.footer-copy a:hover{color:var(--je-te-brt);text-decoration:underline}

/* FADE-UP */
.fade-up{opacity:0;transform:translateY(24px);transition:opacity .60s ease,transform .60s ease}
.fade-up.visible{opacity:1;transform:translateY(0)}
.hero .fade-up{opacity:1;transform:translateY(0);animation:heroFd .70s ease both}
@keyframes heroFd{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
.hero .hc-eyebrow{animation-delay:.06s}
.hero .hero-h1{animation-delay:.14s}
.hero .hero-sub{animation-delay:.20s}
.hero .hero-shields{animation-delay:.28s}
.hero .hero-product{animation-delay:.36s}
.hero .hero-rating{animation-delay:.44s}
.hero .hero-prices{animation-delay:.52s}
.hero .hero-ctas{animation-delay:.60s}
.hero .hero-fine{animation-delay:.68s}

/* RESPONSIVE */
@media(max-width:1200px){
  .footer-grid{grid-template-columns:1fr 1fr}
  .fg-brand{grid-column:1/-1}
  .fg-guarantee{grid-column:1/-1}
}
@media(max-width:1000px){
  .ben-grid{grid-template-columns:1fr}
  .guar-inner{grid-template-columns:1fr;text-align:center}
  .guar-img-lg{max-width:220px}
  .ihg-offset{margin-left:20px}
}
@media(max-width:768px){
  .fsi-div{display:none}
  .fsi-item{padding:6px 10px}
  .rev-magazine{gap:14px}
}
@media(max-width:640px){
  nav{padding:0 16px}
  .nav-links{display:none}
  .hamburger{display:flex}
  .hero{padding:44px 16px 60px}
  .hero-h1{font-size:2.2rem}
  .hero-h1 em{font-size:1.9rem}
  .hero-product-img{max-width:280px}
  .hero-shields{gap:7px}
  .hs-shield{min-width:90px;padding:10px 10px}
  .ben-section,.compare-section,.reviews-section,.guar-section,.howto-section,.faq-section,.price-sec,.cta-final,.ing-section{padding:44px 20px}
  .footer-main,.footer-legal{padding:28px 20px}
  .footer-grid{grid-template-columns:1fr;gap:22px}
  .cta-final-inner h2{font-size:2.3rem}
  .cta-final-inner h2 em{font-size:1.9rem}
  .ben-band,.compare-band,.rev-band,.howto-band,.faq-band,.ing-band,.price-band{padding:36px 20px 24px}
  .ihg-card{grid-template-columns:80px 1fr}
  .ihgc-hex{width:80px;min-height:80px}
  .ihgchi-icon{font-size:1.2rem}
  .ihg-offset{margin-left:0}
  .hp-tier{min-width:110px}
}