:root{
  --bg:#f5f8f7;
  --card:#ffffff;
  --ink:#0f172a;
  --muted:#5c6577;
  --brand:#19c37d;
  --brand-dark:#0e8f5c;
  --accent:#19c37d;
  --line:#e4e8ef;
  --dark:#0f172a;
  --radius-card:22px;
  --shadow-premium:0 12px 28px rgba(15,23,42,.08);
  --shadow-soft:0 6px 14px rgba(15,23,42,.06);
  --space-section:88px;
  --space-section-tight:56px;
  --space-hero-top:98px;
  --space-hero-bottom:84px;
  --header-h:72px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  background:radial-gradient(1200px 650px at 90% -100px,#dff7ea 0%,rgba(223,247,234,0) 60%),var(--bg);
  color:var(--ink);
  overflow-x:hidden;
}
a{text-decoration:none;color:inherit}
.container{max-width:1160px;margin:0 auto;padding:0 24px}
.header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.header-row{height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:16px}
.logo{font-weight:800;font-size:1.3rem;letter-spacing:-.02em}
.nav{display:flex;gap:20px;font-size:.92rem;color:#334155;flex-wrap:wrap}
.nav a{padding:8px 0;border-bottom:2px solid transparent}
.nav a.is-active{border-color:var(--brand);color:#0f172a}
.btn{
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;
  border-radius:999px;padding:12px 18px;font-weight:700;font-size:.92rem;
  border:1px solid transparent;transition:.2s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--brand);color:#fff}
.btn-primary:hover{background:var(--brand-dark)}
.btn-ghost{background:#fff;border-color:var(--line)}
.btn-ghost:hover{border-color:#cfd8e3}
.header-actions{display:flex;gap:8px;align-items:center}

/* Mobile menu button */
.mobile-menu-btn{
  display:none;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  width:40px;
  height:40px;
  padding:8px;
  background:none;
  border:none;
  cursor:pointer;
  border-radius:8px;
  transition:background .2s ease;
}
.mobile-menu-btn:hover{background:rgba(0,0,0,.04)}
.mobile-menu-bar{
  display:block;
  width:100%;
  height:2px;
  background:#0f172a;
  border-radius:2px;
  transition:transform .25s ease, opacity .25s ease;
}
.mobile-menu-btn.is-active .mobile-menu-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}
.mobile-menu-btn.is-active .mobile-menu-bar:nth-child(2){opacity:0}
.mobile-menu-btn.is-active .mobile-menu-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Mobile drawer */
.mobile-drawer{
  position:absolute;
  top:100%;
  left:0;
  right:0;
  background:rgba(255,255,255,.98);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid var(--line);
  box-shadow:0 12px 32px rgba(15,23,42,.1);
  padding:16px 24px 24px;
  z-index:49;
  opacity:0;
  visibility:hidden;
  transform:translateY(-8px);
  transition:opacity .25s ease, transform .25s ease, visibility .25s ease;
  pointer-events:none;
}
.mobile-drawer.is-open{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
}
.mobile-drawer-nav{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.mobile-drawer-link{
  display:block;
  padding:12px 16px;
  font-size:1rem;
  font-weight:600;
  color:#334155;
  border-radius:10px;
  transition:background .15s ease;
}
.mobile-drawer-link:hover{background:rgba(0,0,0,.03)}
.mobile-drawer-actions{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid var(--line);
}
.mobile-drawer-cta{
  width:100%;
  justify-content:center;
  text-align:center;
}

.section{padding:88px 0}
.section-tight{padding:56px 0}
.section-contrast{background:#ffffff}
.hero-premium{padding:98px 0 84px}
.hero-grid{display:grid;grid-template-columns:1.07fr .93fr;gap:36px;align-items:center}
.hero-showcase{
  position:relative;
  border-radius:28px;
  overflow:hidden;
  background:linear-gradient(180deg,#ffffff 0%,#edf6f2 100%);
  border:1px solid #dcebe4;
  box-shadow:0 14px 36px rgba(15,23,42,.1);
  min-height:480px;
  aspect-ratio:1/1.05;
}
.media-glow{
  position:absolute;
  inset:auto;
  width:280px;
  height:280px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(25,195,125,.3),rgba(25,195,125,0) 70%);
  filter:blur(8px);
  top:140px;
  left:50%;
  transform:translateX(-50%);
  pointer-events:none;
}
.badge{
  display:inline-block;border-radius:999px;
  background:#dcfce9;color:#0e8f5c;font-size:.72rem;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;padding:7px 12px;
}
h1{
  margin:.85rem 0;
  font-size:3.45rem;
  line-height:1.02;
  letter-spacing:-.035em;
  max-width:20ch;
}
h1 em{
  font-style:normal;
  color:var(--brand);
}

/* "Most Popular" badge on toggle */
.toggle-popular{
  display:inline-block;
  font-size:.56rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:#0e8f5c;
  background:#dcfce9;
  border-radius:999px;
  padding:2px 6px;
  margin-left:4px;
  vertical-align:middle;
}

/* ---- Hero product showcase (3-layer stack) ---- */
.hero-layer{position:absolute;pointer-events:none}
.hero-layer-map{
  inset:0;
  border-radius:inherit;
  overflow:hidden;
  z-index:0;
}
.hero-map-bg{
  position:absolute;
  inset:0;
}
.hero-map-pin{
  position:absolute;
  top:38%;
  left:32%;
  width:52px;
  height:52px;
  z-index:500;
  transition:opacity .4s ease;
}
.hero-map-pin-ring{
  position:absolute;
  inset:-8px;
  border-radius:50%;
  border:2px solid rgba(25,195,125,.35);
  animation:heroPinPulse 2.4s ease-out infinite;
}
.hero-map-pin-avatar{
  width:52px;
  height:52px;
  border-radius:50%;
  border:3px solid #fff;
  box-shadow:0 4px 14px rgba(0,0,0,.18);
  overflow:hidden;
  position:relative;
  background:linear-gradient(145deg,#b8e6d0,#6bc4a0);
}
.hero-map-pin-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
}
@keyframes heroPinPulse{
  0%{transform:scale(1);opacity:.7}
  70%{transform:scale(2.2);opacity:0}
  100%{transform:scale(2.2);opacity:0}
}

/* Health dashboard card */
.hero-layer-health{
  right:12px;
  top:10%;
  width:52%;
  max-width:280px;
  z-index:2;
  transition:opacity .4s ease;
}
.hero-health-card{
  background:#fff;
  border:1px solid #e4ebf3;
  border-radius:18px;
  padding:16px;
  box-shadow:0 12px 36px rgba(15,23,42,.12);
  pointer-events:auto;
}
.hero-health-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:12px;
}
.hero-health-pet{
  display:flex;
  align-items:center;
  gap:8px;
}
.hero-health-pet img{
  width:30px;
  height:30px;
  border-radius:50%;
  object-fit:cover;
  border:2px solid #fff;
  box-shadow:0 2px 6px rgba(0,0,0,.1);
  background:linear-gradient(145deg,#b8e6d0,#6bc4a0);
}
.hero-health-pet strong{
  font-size:.82rem;
  color:#0f172a;
}
.hero-health-badge{
  font-size:.56rem;
  font-weight:700;
  color:#0e8f5c;
  background:#dcfce9;
  border-radius:999px;
  padding:3px 8px;
  letter-spacing:.02em;
}
.hero-health-body{
  display:flex;
  align-items:center;
  gap:16px;
}
.hero-health-ring-wrap{
  position:relative;
  flex-shrink:0;
}
.hero-health-ring-svg{
  display:block;
}
.hero-health-ring-progress{
  stroke-dashoffset:263.89;
  animation:heroRingFill 1.6s ease-out .5s forwards;
}
@keyframes heroRingFill{
  to{stroke-dashoffset:47.5}
}
.hero-health-ring-label{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.hero-health-ring-label strong{
  font-size:1.5rem;
  font-weight:800;
  color:#0f172a;
  line-height:1;
}
.hero-health-ring-label span{
  font-size:.6rem;
  font-weight:600;
  color:#5c6577;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.hero-health-metrics{
  display:grid;
  gap:8px;
  flex:1;
}
.hero-health-metric{
  display:flex;
  flex-direction:column;
}
.hero-health-metric strong{
  font-size:.82rem;
  font-weight:800;
  color:#0f172a;
}
.hero-health-metric span{
  font-size:.62rem;
  color:#5c6577;
}

/* Physical tag (front layer) */
.hero-layer-tag{
  bottom:14%;
  left:10%;
  z-index:3;
}
.hero-product-tag{
  width:130px;
  height:130px;
  border-radius:50%;
  background:linear-gradient(135deg,#c0c0c0 0%,#e8e8e8 40%,#a8a8a8 60%,#d0d0d0 100%);
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  box-shadow:
    0 12px 40px rgba(0,0,0,.22),
    0 3px 10px rgba(0,0,0,.12),
    inset 0 2px 6px rgba(255,255,255,.5);
  animation:heroTagFloat 5s ease-in-out infinite;
  pointer-events:auto;
}
.hero-tag-hole{
  position:absolute;
  top:12px;
  left:50%;
  transform:translateX(-50%);
  width:12px;
  height:12px;
  border-radius:50%;
  background:linear-gradient(135deg,#999,#bbb);
  box-shadow:inset 0 1px 3px rgba(0,0,0,.35);
}
.hero-tag-name{
  font-family:'Georgia', serif;
  font-size:1.1rem;
  font-weight:700;
  color:#4a4a4a;
  text-shadow:0 1px 1px rgba(255,255,255,.4);
  letter-spacing:.5px;
  margin-top:6px;
}
@keyframes heroTagFloat{
  0%,100%{transform:translateY(0) rotate(0deg)}
  50%{transform:translateY(-12px) rotate(2deg)}
}

h2{
  font-size:2.2rem;
  line-height:1.14;
  letter-spacing:-.02em;
  margin:.45rem 0;
}
h3{margin:.2rem 0;font-size:1.2rem;letter-spacing:-.01em}
p{color:var(--muted);line-height:1.63}
.section-head{max-width:740px}
.section-head.center{margin:0 auto;text-align:center}
.card{
  background:var(--card);
  border:1px solid #e8edf4;
  border-radius:var(--radius-card);
  padding:26px;
  box-shadow:var(--shadow-premium);
}
.card:hover{box-shadow:0 12px 34px rgba(15,23,42,.1)}
.feature-tile{
  background:#fff;border:1px solid #e8edf4;border-radius:20px;padding:24px;
  box-shadow:0 8px 24px rgba(15,23,42,.05);
}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.center{text-align:center}
.list{display:grid;gap:10px;margin:14px 0 0;padding:0;list-style:none;color:#334155}
.list li{line-height:1.45}
.icon-list li{
  position:relative;
  padding-left:18px;
}
.icon-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.48em;
  width:8px;
  height:8px;
  border-radius:50%;
  background:linear-gradient(145deg,#2fb088,#1b8766);
}
.roadmap-strip .card{
  background:linear-gradient(180deg,#ffffff,#f8fbff);
}
.tagline-band{
  border:1px solid rgba(255,255,255,.14);
}
.tagline-band p{
  max-width:58ch;
  margin:0 auto;
}
.dark-block{
  background:linear-gradient(145deg,#0f172a,#1e293b);
  color:#fff;border-radius:26px;padding:34px;
}
.dark-block p{color:#cbd5e1}
.top-space{margin-top:16px}
.small{font-size:.85rem;color:#748097}
.trust-strip{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
  background:#fff;border:1px solid #e8edf4;border-radius:18px;padding:14px;
}
.trust-strip > div{border-right:1px solid #edf2f7;padding:8px 12px}
.trust-strip > div:last-child{border-right:none}
.trust-strip strong{display:block;font-size:.9rem}
.trust-strip span{font-size:.82rem;color:#64748b}
.timeline{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.timeline-step{
  background:#fff;border:1px solid #e8edf4;border-radius:20px;padding:22px;
}
.timeline-step span{
  display:inline-block;font-size:.78rem;font-weight:700;
  color:#0e8f5c;background:#dcfce9;border-radius:999px;padding:4px 9px;
}
.comparison-card{padding:8px}
.table{width:100%;border-collapse:collapse}
.table th{
  background:#111827;color:#fff;padding:14px;text-align:left;
  font-size:.85rem;letter-spacing:.02em;
}
.table td{
  padding:14px;border-top:1px solid #edf2f7;color:#334155;font-size:.92rem;
}
.module-card{padding:22px}
.price{font-size:2.1rem;font-weight:800;color:#0f172a;line-height:1}
.price span{font-size:.92rem;color:#64748b;font-weight:600}
.plan-grid .plan-card{display:flex;flex-direction:column}
.plan-card-pop{border-color:#98e8c5;box-shadow:0 14px 34px rgba(25,195,125,.12)}
.premium-use-cases{
  background:linear-gradient(180deg,#f9fcfb,#ffffff);
}
.zoomitag-swiper{
  margin-top:24px;
  padding:6px 2px 34px;
}
.usecase-card{
  min-height:180px;
  border:1px solid #e4ebf3;
  border-radius:18px;
  background:#fff;
  box-shadow:var(--shadow-soft);
  padding:18px;
}
.usecase-card h3{
  margin-top:10px;
  margin-bottom:8px;
  font-size:1rem;
}
.usecase-card p{
  margin:0;
  font-size:.9rem;
}
.usecase-icon{
  width:18px;
  height:18px;
  color:#2b8c69;
}
.swiper-pagination-bullet{
  background:#95a3b8;
  opacity:.55;
}
.swiper-pagination-bullet-active{
  background:#1f9d73;
  opacity:1;
}
.footer{border-top:1px solid var(--line);background:#fff}
.footer-row{
  padding:26px 0;display:flex;justify-content:space-between;gap:12px;
  flex-wrap:wrap;color:#64748b;font-size:.92rem;
}
.seo-footer{
  border-top:1px solid var(--line);
  background:#f8fbfa;
}
.seo-footer-wrap{
  padding-top:46px;
  padding-bottom:18px;
}
.seo-footer-grid{
  display:grid;
  grid-template-columns:1.3fr 1fr 1fr 1fr 1fr;
  gap:22px;
}
.seo-footer-col h4{
  margin:0 0 12px;
  font-size:.9rem;
  color:#1f2e42;
}
.seo-footer-brand p{
  margin:8px 0 0;
  font-size:.9rem;
  max-width:280px;
}
.seo-footer-links{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:8px;
}
.seo-footer-links a{
  color:#607086;
  font-size:.86rem;
}
.seo-footer-links a:hover{
  color:#1b2b3f;
}
.seo-social{
  display:flex;
  gap:8px;
  margin-top:12px;
}
.seo-social-icon{
  width:32px;
  height:32px;
  border-radius:50%;
  border:1px solid #d8e2ed;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#66778f;
  background:#fff;
  transition:background .15s,color .15s,border-color .15s;
  text-decoration:none;
}
.seo-social-icon:hover{
  background:#f1f5f9;
  color:#0f172a;
  border-color:#cbd5e1;
}
.seo-footer-bottom{
  margin-top:24px;
  padding-top:16px;
  border-top:1px solid #e3e9ef;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.seo-footer-bottom p{
  margin:0;
  font-size:.82rem;
  color:#7a879b;
}
.seo-footer-news{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.seo-footer-news-label{
  font-size:.76rem;
  font-weight:700;
  color:#1f2e42;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.seo-footer-news-row{
  display:flex;
  gap:6px;
  align-items:center;
}
.seo-footer-news input{
  border:1px solid #d8e2ed;
  border-radius:999px;
  padding:8px 11px;
  width:220px;
  font:inherit;
  font-size:.82rem;
  background:#fff;
}
.seo-footer-news button{
  border:0;
  border-radius:999px;
  padding:8px 11px;
  background:#19c37d;
  color:#fff;
  font-size:.8rem;
  font-weight:700;
  cursor:pointer;
  transition:background .15s;
  white-space:nowrap;
  flex-shrink:0;
}
.seo-footer-news button:hover{
  background:#15a86c;
}
.seo-footer-news button:disabled{
  opacity:.65;
  cursor:not-allowed;
}
.seo-footer-news-honeypot{
  position:absolute;
  left:-9999px;
  width:1px;
  height:1px;
  overflow:hidden;
}
.visually-hidden{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.seo-footer-news-msg{
  display:none;
  font-size:.84rem;
  line-height:1.4;
  margin:0;
  padding:8px 12px;
  border-radius:10px;
}
.seo-footer-news-msg--success{
  background:rgba(25,195,125,.1);
  border:1px solid rgba(25,195,125,.35);
  color:#0d5c3a;
}
.seo-footer-news-msg--error{
  background:rgba(229,62,62,.08);
  border:1px solid rgba(229,62,62,.25);
  color:#9b2c2c;
}
.seo-footer-news.is-success .seo-footer-news-msg--success{
  display:block;
}
.seo-footer-news.is-error .seo-footer-news-msg--error{
  display:block;
}
.seo-footer-news.is-success .seo-footer-news-inner{
  display:none;
}
.input,.select{
  width:100%;border:1px solid #cbd5e1;border-radius:12px;padding:10px 12px;font:inherit;
}
.qty{width:120px}
.hidden-mobile{display:inline-flex}
.cart-fab{
  position:fixed;right:16px;bottom:16px;z-index:50;
  width:320px;max-width:calc(100vw - 24px);background:#fff;border:1px solid var(--line);
  border-radius:18px;padding:14px;box-shadow:0 10px 30px rgba(15,23,42,.14);
}

/* Hero conversion elements */
.hero-bullets{
  list-style:none;
  padding:0;
  margin:16px 0 0;
  display:grid;
  gap:8px;
}
.hero-bullets li{
  position:relative;
  padding-left:20px;
  font-size:.95rem;
  color:#334155;
  line-height:1.5;
}
.hero-bullets li::before{
  content:"✓";
  position:absolute;
  left:0;
  font-weight:800;
  color:var(--brand);
}
.hero-cta-row{
  display:flex;
  gap:10px;
  margin-top:22px;
  flex-wrap:wrap;
}
.btn-lg{
  padding:16px 28px;
  font-size:1.02rem;
}
.hero-trust-bar{
  display:flex;
  gap:16px;
  margin-top:18px;
  flex-wrap:wrap;
  align-items:center;
  font-size:.82rem;
  color:#64748b;
}
.hero-trust-stars{
  color:#f59e0b;
  letter-spacing:1px;
}

/* Product card section */
.product-card-section{
  background:linear-gradient(180deg,#ffffff,#f7fbf9);
}
.product-card{
  display:grid;
  grid-template-columns:.55fr .45fr;
  gap:34px;
  align-items:start;
  background:#fff;
  border:1px solid #e4ebf3;
  border-radius:var(--radius-card);
  padding:32px;
  box-shadow:var(--shadow-premium);
}
.product-card-media{
  border-radius:16px;
  overflow:hidden;
  width:100%;
  max-width:min(100%,420px);
  margin-inline:auto;
}
.product-card-media .media-placeholder{
  aspect-ratio:16 / 10;
}
.product-card-media img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16 / 10;
  object-fit:contain;
  object-position:center;
  border:1px solid #d9e5f1;
  background:linear-gradient(180deg,#f8fafc,#ffffff);
}
.product-card-info{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.product-price{
  font-size:2rem;
  font-weight:800;
  color:#0f172a;
  line-height:1.2;
  margin:.6rem 0 .4rem;
}
.product-price span{
  display:block;
  font-size:.88rem;
  font-weight:600;
  color:#64748b;
  margin-top:2px;
}
.product-features{
  list-style:none;
  padding:0;
  margin:12px 0;
  display:grid;
  gap:8px;
}
.product-features li{
  position:relative;
  padding-left:20px;
  font-size:.92rem;
  color:#334155;
}
.product-features li::before{
  content:"✓";
  position:absolute;
  left:0;
  font-weight:800;
  color:var(--brand);
}
.product-note{
  font-size:.78rem;
  color:#8896a8;
  margin-top:6px;
}

/* Feature tiles hover */
.feature-tile{
  transition:box-shadow .2s ease,transform .2s ease;
}
.feature-tile:hover{
  box-shadow:0 14px 34px rgba(15,23,42,.1);
  transform:translateY(-2px);
}

/* Trust / social proof */
.trust-stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  text-align:center;
}
.trust-stat{
  background:#fff;
  border:1px solid #e4ebf3;
  border-radius:18px;
  padding:24px 16px;
  box-shadow:var(--shadow-soft);
}
.trust-stat-value{
  font-size:2rem;
  font-weight:800;
  color:#0f172a;
  line-height:1;
  margin-bottom:4px;
}
.trust-stat-label{
  font-size:.82rem;
  color:#64748b;
}
.testimonial-card{
  background:#fff;
  border:1px solid #e8edf4;
  border-radius:var(--radius-card);
  padding:24px;
  box-shadow:var(--shadow-soft);
}
.testimonial-card p{
  margin:10px 0 12px;
  font-style:italic;
  line-height:1.6;
}
.testimonial-card strong{
  font-size:.85rem;
  color:#64748b;
}
.testimonial-stars{
  color:#f59e0b;
  letter-spacing:1px;
  font-size:1rem;
}

/* Comparison check table */
.check-table th:first-child{border-radius:8px 0 0 0}
.check-table th:last-child{border-radius:0 8px 0 0}
.check-yes{
  color:#0e8f5c;
  font-weight:800;
  font-size:1.15rem;
  text-align:center;
}
.check-no{
  color:#dc2626;
  font-weight:700;
  font-size:1.15rem;
  text-align:center;
}
.check-table td:not(:first-child){
  text-align:center;
}

/* SEO content blocks */
.seo-content-block h3{
  margin-bottom:6px;
}
.seo-content-block p{
  font-size:.92rem;
  line-height:1.65;
}

/* Positioning strip */
.positioning-strip{
  background:linear-gradient(180deg,#f5f8f7 0%,#edf3ef 100%);
}
.positioning-strip .dark-block{
  padding:48px 38px;
  text-align:center;
}
.positioning-strip .dark-block h2{
  max-width:22ch;
  margin:0 auto .6rem;
}
.positioning-strip .dark-block p{
  max-width:48ch;
  margin:0 auto;
}

/* Plan / pricing */
.plan-card .price{
  margin:.6rem 0 .2rem;
}
.plan-card .btn{
  margin-top:auto;
}

/* ---- Nav badge ---- */
.nav-badge{
  display:inline-block;
  font-size:.58rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  background:#dcfce9;
  color:#0e8f5c;
  border-radius:999px;
  padding:2px 6px;
  margin-left:4px;
  vertical-align:middle;
  line-height:1.4;
}

/* ---- Hero phone: faithful finder profile miniature ---- */

/* ---- Tracker section ---- */
.tracker-section{
  background:linear-gradient(180deg,#ffffff 0%,#f5faf8 100%);
}
.tracker-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:42px;
  align-items:center;
}
.tracker-copy{
  max-width:520px;
}
.tracker-bullets{
  list-style:none;
  padding:0;
  margin:18px 0 0;
  display:grid;
  gap:9px;
}
.tracker-bullets li{
  position:relative;
  padding-left:22px;
  font-size:.94rem;
  color:#334155;
  line-height:1.5;
}
.tracker-bullets li::before{
  content:"";
  position:absolute;
  left:0;
  top:.5em;
  width:8px;
  height:8px;
  border-radius:50%;
  background:linear-gradient(145deg,#2fb088,#1b8766);
}
.tracker-bridge{
  font-size:.9rem;
  color:#5c6577;
  margin-top:14px;
  line-height:1.6;
}

/* Tracker demo card */
.tracker-demo{
  position:relative;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 20px 50px rgba(15,23,42,.14);
  border:1px solid #e0e8ef;
  background:#fff;
  height:440px;
}
.tracker-map{
  position:absolute;
  inset:0;
  z-index:1;
}
.tracker-map .leaflet-tile-pane{
  filter:saturate(.35) brightness(1.06);
  opacity:0;
  transition:opacity .6s ease;
}
.tracker-demo.tiles-loaded .tracker-map .leaflet-tile-pane{
  opacity:1;
}
.tracker-demo::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:20px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);
  z-index:5;
}

/* Leaflet custom marker */
.tracker-leaflet-marker{
  background:none !important;
  border:none !important;
  position:relative;
}
.tracker-marker-img{
  width:46px;
  height:46px;
  border-radius:50%;
  border:3px solid #fff;
  box-shadow:0 4px 16px rgba(0,0,0,.18);
  overflow:hidden;
  position:relative;
  z-index:3;
  margin:3px;
}
.tracker-marker-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  background:linear-gradient(145deg,#b8e6d0,#6bc4a0);
}
.tracker-marker-ring{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:46px;
  height:46px;
  border-radius:50%;
  background:rgba(25,195,125,.25);
  animation:tracker-pulse 2.4s ease-out infinite;
  z-index:1;
}
@keyframes tracker-pulse{
  0%{width:46px;height:46px;opacity:.55}
  100%{width:110px;height:110px;opacity:0}
}

/* Tracker status card */
.tracker-status-card{
  position:absolute;
  bottom:14px;
  left:14px;
  right:14px;
  padding:14px 18px;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border-radius:16px;
  border:1px solid rgba(228,235,243,.5);
  box-shadow:0 8px 28px rgba(15,23,42,.1);
  z-index:4;
  opacity:0;
  transform:translateY(12px);
  transition:opacity .5s ease,transform .5s ease;
}
.tracker-status-card.is-visible{
  opacity:1;
  transform:translateY(0);
}
.tracker-status-info{
  display:flex;
  align-items:center;
  gap:10px;
}
.tracker-status-avatar{
  width:36px;
  height:36px;
  border-radius:50%;
  border:2px solid #fff;
  box-shadow:0 2px 6px rgba(0,0,0,.1);
  flex-shrink:0;
  overflow:hidden;
}
.tracker-status-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  background:linear-gradient(145deg,#b8e6d0,#6bc4a0);
}
.tracker-status-text{
  display:flex;
  flex-direction:column;
  gap:1px;
}
.tracker-status-text strong{
  font-size:.88rem;
  color:#0f172a;
}
.tracker-status-text span{
  font-size:.72rem;
  color:#708197;
}
.tracker-status-live{
  margin-left:auto;
  font-size:.62rem;
  font-weight:800;
  color:#0e8f5c;
  background:#dcfce9;
  border-radius:999px;
  padding:4px 10px;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.tracker-status-time{
  margin:8px 0 0;
  font-size:.74rem;
  color:#708197;
}
.tracker-pills{
  display:flex;
  gap:6px;
  margin-top:10px;
}
.tracker-pill{
  display:inline-flex;
  align-items:center;
  padding:6px 14px;
  border-radius:999px;
  background:rgba(240,244,248,.9);
  border:1px solid #e0e7ef;
  font-size:.72rem;
  font-weight:700;
  color:#4e6179;
  cursor:default;
  transition:background .15s,transform .15s;
}
.tracker-pill:hover{
  background:#e8ecf2;
  transform:translateY(-1px);
}

.reveal{
  opacity:0;
  transform:translateY(16px) scale(.995);
  transition:opacity .45s ease,transform .45s ease;
  transition-delay:var(--reveal-delay,0ms);
}
.reveal.is-visible{
  opacity:1;
  transform:translateY(0) scale(1);
}
.reveal-up{transform:translateY(16px)}
.hero-showcase .reveal{transform:translateY(18px)}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{
    opacity:1;
    transform:none;
    transition:none;
  }
  .media-placeholder{animation:none}
}
@media (max-width:1100px){
  h1{font-size:3rem}
}
@media (max-width:940px){
  :root{--header-h:60px}
  .logo{font-size:1.15rem}
  .nav{display:none}
  .mobile-menu-btn{display:flex}
  .container{padding:0 20px}
  .hero-grid,.grid-2,.grid-3,.timeline,.trust-strip,.trust-stats,.product-card,.tracker-grid{grid-template-columns:1fr}
  .hidden-mobile{display:none}
  .hero-premium{padding:64px 0 48px}
  .hero-premium .container{text-align:center}
  .hero-premium .hero-bullets{text-align:left;display:inline-block}
  .section-head.center{padding:0}
  .section-head{text-align:center}
  .hero-showcase{
    min-height:340px;
    aspect-ratio:auto;
    margin-top:24px;
  }
  .hero-layer-health{
    width:56%;
    max-width:240px;
    right:8px;
    top:6%;
  }
  .hero-layer-tag{
    bottom:8%;
    left:6%;
  }
  .hero-product-tag{
    width:100px;
    height:100px;
  }
  .hero-tag-name{
    font-size:.88rem;
  }
  .hero-tag-hole{
    width:10px;
    height:10px;
    top:10px;
  }
  .hero-health-card{
    padding:12px;
  }
  .hero-health-ring-svg{
    width:72px;
    height:72px;
  }
  .hero-health-ring-label strong{
    font-size:1.1rem;
  }
  .hero-health-ring-label span{
    font-size:.5rem;
  }
  .hero-health-metric strong{
    font-size:.7rem;
  }
  .hero-health-metric span{
    font-size:.52rem;
  }
  .hero-health-pet img{
    width:24px;
    height:24px;
  }
  .hero-health-pet strong{
    font-size:.72rem;
  }
  .hero-map-pin{
    top:24%;
    left:14%;
    width:42px;
    height:42px;
  }
  .hero-map-pin-avatar{
    width:42px;
    height:42px;
  }
  h1{font-size:2.2rem;max-width:none}
  h2{font-size:1.72rem}
  .section{padding:56px 0}
  .section-tight{padding:40px 0}
  .seo-footer-grid{grid-template-columns:1fr 1fr}
  .seo-footer-brand{grid-column:1 / -1}
  .seo-footer-news input{width:170px}
  .seo-footer-news-row{display:flex;gap:6px;align-items:center}
  .usecase-card{
    min-height:unset;
  }
  .trust-strip > div{border-right:none;border-bottom:1px solid #edf2f7}
  .trust-strip > div:last-child{border-bottom:none}
  .hero-trust-bar{
    gap:10px;
    font-size:.76rem;
  }
  .product-card{
    padding:20px;
    gap:20px;
  }
  .trust-stat-value{
    font-size:1.6rem;
  }
  .positioning-strip .dark-block{
    padding:32px 22px;
  }
  .plan-grid{
    gap:14px;
  }
  .tracker-demo{
    height:320px;
  }
  .tracker-grid{
    gap:24px;
  }
  .tracker-status-card{
    bottom:10px;
    left:10px;
    right:10px;
    padding:12px 14px;
  }
  .tracker-pill{
    padding:5px 10px;
    font-size:.66rem;
  }
}

/* ============================================================
   PREMIUM HOMEPAGE REDESIGN — New component styles
   ============================================================ */

/* Homepage spacing override */
.home-page .section{padding:var(--space-section-home, 120px) 0}
.home-page .section-tight{padding:var(--space-section-tight-home, 72px) 0}
.home-page .hero-premium{padding:var(--space-hero-top-home, 110px) 0 var(--space-hero-bottom-home, 100px)}

/* Hero subheading */
.hero-sub{
  font-size:1.08rem;
  color:#5c6577;
  max-width:38ch;
  line-height:1.65;
  margin:.4rem 0 0;
}

/* ---- Product toggle ---- */
.product-toggle{
  display:inline-flex;
  gap:4px;
  margin-top:26px;
  background:#f0f4f2;
  border-radius:999px;
  padding:4px;
  border:1px solid #e4e8ef;
}
.product-toggle-btn{
  border:none;
  background:transparent;
  border-radius:999px;
  padding:10px 22px;
  font-size:.9rem;
  font-weight:700;
  color:#5c6577;
  cursor:pointer;
  transition:all .2s ease;
  font-family:inherit;
}
.product-toggle-btn.is-active{
  background:#fff;
  color:#0f172a;
  box-shadow:0 2px 8px rgba(15,23,42,.08);
}
.product-toggle-btn:hover:not(.is-active){
  color:#0f172a;
}

/* Hero product views (toggle content) */
.hero-product-view{display:none}
.hero-product-views[data-active="lite"] .hero-product-view[data-view="lite"],
.hero-product-views[data-active="health"] .hero-product-view[data-view="health"]{
  display:block;
}

/* ---- Shared 2-col grid (reused by "What you get" etc.) ---- */
.product-split-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  margin-top:24px;
}

/* ---- Section subheading ---- */
.section-sub{
  font-size:1.05rem;
  color:#5c6577;
  margin:.4rem 0 0;
  line-height:1.6;
}

/* ---- Segment toggle ---- */
.product-segment-toggle{
  display:flex;
  justify-content:center;
  gap:4px;
  background:#edf2f7;
  border-radius:14px;
  padding:4px;
  max-width:480px;
  margin:8px auto 0;
}
.segment-btn{
  flex:1;
  padding:11px 20px;
  border:none;
  background:transparent;
  border-radius:11px;
  font-size:.88rem;
  font-weight:700;
  color:#617389;
  cursor:pointer;
  transition:background .2s,color .2s,box-shadow .2s;
}
.segment-btn.is-active{
  background:#fff;
  color:#0f172a;
  box-shadow:0 2px 8px rgba(15,23,42,.08);
}
.segment-btn:hover:not(.is-active){
  color:#334155;
}

/* ---- Product card grid ---- */
.product-card-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  margin-top:14px;
  max-width:920px;
  margin-left:auto;
  margin-right:auto;
  align-items:stretch;
}
.product-card-grid[data-highlight="lite"] .product-card--health{opacity:.88}
.product-card-grid[data-highlight="health"] .product-card--lite{opacity:.88}

/* ---- Product card (shared) ---- */
.product-card{
  background:#fff;
  border:1px solid #e4ebf3;
  border-radius:var(--radius-card);
  padding:28px 32px;
  box-shadow:var(--shadow-premium);
  display:flex;
  flex-direction:column;
  position:relative;
  transition:box-shadow .25s ease,transform .25s ease,border-color .25s ease,opacity .3s ease;
}
.product-card h3{
  font-size:1.5rem;
  margin:0 0 2px;
}
.product-card__label{
  font-size:.92rem;
  color:#5c6577;
  margin:0;
}
.product-card__price{
  font-size:2.2rem;
  font-weight:800;
  color:#0f172a;
  margin:.5rem 0 .15rem;
  line-height:1;
}
.product-card__price-sub{
  font-size:1.1rem;
  font-weight:700;
  color:#5c6577;
}
.product-card__micro{
  font-size:.82rem;
  color:#708197;
  margin:0;
  line-height:1.5;
}

/* ---- Product card badge ---- */
.product-card__badge{
  position:absolute;
  top:18px;
  right:28px;
  display:inline-block;
  border-radius:999px;
  background:#dcfce9;
  color:#0e8f5c;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:5px 10px;
  z-index:2;
}

/* ---- Product card visual area ---- */
.product-card__visual{
  border-radius:14px;
  overflow:hidden;
  margin:14px 0;
  min-height:140px;
}

/* ---- Product card features ---- */
.product-card__features{
  display:grid;
  gap:10px;
  flex:1;
}
.product-card__feature{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:.92rem;
  color:#334155;
}
.product-card__feature svg{
  flex-shrink:0;
}

/* ---- Product card CTA ---- */
.product-card__cta{
  margin-top:auto;
  padding-top:16px;
}
.product-card__cta .btn{
  width:100%;
  justify-content:center;
}
.product-card__trust{
  font-size:.78rem;
  color:#708197;
  text-align:center;
  margin:10px 0 0;
}

/* ---- ZoomiTag™ Lite card ---- */
.product-card--lite:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 40px rgba(15,23,42,.1);
}

/* ---- ZoomiTag™ Health card (featured) ---- */
.product-card--health.is-featured{
  border-color:#98e8c5;
  box-shadow:0 16px 40px rgba(25,195,125,.1);
  background:linear-gradient(180deg,#f8fdfb 0%,#fff 100%);
  transform:scale(1.02);
  transform-origin:center top;
}
.product-card--health.is-featured:hover{
  box-shadow:0 20px 52px rgba(25,195,125,.16);
  transform:scale(1.02) translateY(-6px);
  border-color:#6be4a8;
}

/* ---- Lite mock (profile preview) ---- */
.lite-mock{
  background:linear-gradient(180deg,#f7faf9 0%,#edf6f2 100%);
  padding:16px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:inherit;
}
.lite-mock__card{
  display:flex;
  align-items:center;
  gap:12px;
  background:#fff;
  border:1px solid #e4ebf3;
  border-radius:10px;
  padding:14px 16px;
  box-shadow:0 2px 8px rgba(15,23,42,.05);
}
.lite-mock__avatar{
  width:40px;
  height:40px;
  border-radius:50%;
  background:linear-gradient(145deg,#b8e6d0,#6bc4a0);
  flex-shrink:0;
  overflow:hidden;
  border:2px solid #fff;
  box-shadow:0 2px 6px rgba(0,0,0,.1);
}
.lite-mock__avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.lite-mock__info{
  display:flex;
  flex-direction:column;
  flex:1;
  min-width:0;
}
.lite-mock__name{
  font-size:.88rem;
  font-weight:700;
  color:#0f172a;
}
.lite-mock__breed{
  font-size:.72rem;
  color:#708197;
}
.lite-mock__qr{
  color:#94a3b8;
}
.lite-mock__contact{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:10px;
  font-size:.78rem;
  color:#5c6577;
}
.lite-mock__dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#19c37d;
  flex-shrink:0;
}

/* ---- Health demo panel ---- */
.health-demo-panel{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:14px;
  align-items:center;
  background:linear-gradient(180deg,#f7faf9 0%,#edf6f2 100%);
  padding:16px;
  min-height:inherit;
  transition:transform .3s ease,box-shadow .3s ease;
}
.product-card--health:hover .health-demo-panel{
  transform:translateY(-2px);
  box-shadow:0 4px 16px rgba(25,195,125,.08);
}

/* Demo ring */
.demo-ring{
  display:flex;
  align-items:center;
  justify-content:center;
  transition:transform .4s ease,filter .4s ease;
}
.demo-ring__wrap{
  position:relative;
  width:80px;
  height:80px;
}
.demo-ring__svg{display:block}
.demo-ring__svg circle:nth-child(2){
  stroke-dashoffset:213.63;
  transition:stroke-dashoffset 1.2s cubic-bezier(.4,0,.2,1);
}
.demo-ring__svg.is-animated circle:nth-child(2){
  stroke-dashoffset:38.45;
}
.demo-ring__label{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.demo-ring__label strong{
  font-size:1.4rem;
  font-weight:800;
  color:#0f172a;
  line-height:1;
}
.demo-ring__label span{
  font-size:.58rem;
  color:#708197;
  font-weight:600;
  margin-top:1px;
}

/* Demo right column */
.demo-right{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:0;
}

/* Demo map */
.demo-map{
  position:relative;
  border-radius:10px;
  overflow:hidden;
  height:100px;
  background:#f1f5f9;
}
.demo-map__leaflet{
  position:absolute;
  inset:0;
  z-index:1;
}
.demo-map__leaflet .leaflet-tile-pane{
  filter:saturate(.35) brightness(1.06);
  opacity:0;
  transition:opacity .6s ease;
}
.demo-map.tiles-loaded .demo-map__leaflet .leaflet-tile-pane{
  opacity:1;
}
.demo-map__badge{
  position:absolute;
  top:6px;
  left:6px;
  font-size:.6rem;
  font-weight:700;
  color:#fff;
  background:#19c37d;
  border-radius:6px;
  padding:2px 7px;
  letter-spacing:.04em;
  text-transform:uppercase;
  z-index:3;
}

/* Demo mini map marker */
.demo-mini-marker{
  background:none !important;
  border:none !important;
  position:relative;
}
.demo-mini-marker-img{
  width:32px;
  height:32px;
  border-radius:50%;
  border:2px solid #fff;
  box-shadow:0 3px 10px rgba(0,0,0,.18);
  overflow:hidden;
  position:relative;
  z-index:3;
}
.demo-mini-marker-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  background:linear-gradient(145deg,#b8e6d0,#6bc4a0);
}
.demo-mini-marker-ring{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:32px;
  height:32px;
  border-radius:50%;
  background:rgba(25,195,125,.25);
  animation:demoPulse 2.4s ease-out infinite;
  z-index:1;
}
@keyframes demoPulse{
  0%{width:32px;height:32px;opacity:.55}
  100%{width:80px;height:80px;opacity:0}
}

/* Demo stats */
.demo-stats{
  display:flex;
  flex-direction:row;
  gap:6px;
}
.demo-stat-card{
  flex:1;
  background:#fff;
  border:1px solid #e4ebf3;
  border-radius:10px;
  padding:7px 8px;
  text-align:center;
  opacity:0;
  transform:translateY(6px);
  transition:opacity .4s ease,transform .4s ease;
}
.demo-stat-card.is-visible{
  opacity:1;
  transform:translateY(0);
}
.demo-stat-card strong{
  display:block;
  font-size:.82rem;
  color:#0f172a;
  line-height:1.2;
}
.demo-stat-card span{
  font-size:.6rem;
  color:#708197;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.03em;
}

/* Demo focus states (idle cycle) */
.demo-ring.is-focused{transform:scale(1.06);filter:drop-shadow(0 0 8px rgba(25,195,125,.2))}
.demo-map.is-focused{box-shadow:0 0 0 2px rgba(25,195,125,.25);transform:scale(1.03)}
.demo-stats.is-focused .demo-stat-card{border-color:#b8e6d0}

/* ---- Feature comparison strip ---- */
.product-compare-strip{
  max-width:820px;
  margin:24px auto 0;
}
.compare-toggle-btn{
  display:none;
  width:100%;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:12px;
  background:#fff;
  border:1px solid #e4ebf3;
  border-radius:14px;
  font-size:.88rem;
  font-weight:700;
  color:#334155;
  cursor:pointer;
  transition:background .2s;
}
.compare-toggle-btn:hover{background:#f7faf9}
.compare-toggle-btn svg{transition:transform .2s}
.product-compare-strip.is-expanded .compare-toggle-btn svg{transform:rotate(180deg)}
.compare-rows{
  display:grid;
  gap:0;
  border:1px solid #e4ebf3;
  border-radius:16px;
  overflow:hidden;
}
.compare-row{
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  align-items:center;
  padding:11px 18px;
  font-size:.86rem;
  border-bottom:1px solid #edf2f7;
}
.compare-row:last-child{border-bottom:none}
.compare-row--header{
  background:#f7faf9;
  font-weight:700;
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--muted);
}
.compare-row__label{
  font-weight:600;
  color:#334155;
}
.compare-row__val{
  text-align:center;
  display:flex;
  align-items:center;
  justify-content:center;
}
.compare-row__text{
  font-size:.82rem;
  color:#5c6577;
  font-weight:500;
}

/* ---- Health section ---- */
.health-section{
  background:linear-gradient(180deg,#f9fcfb 0%,#ffffff 100%);
}
.health-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:48px;
  align-items:center;
}
.health-copy h2{
  max-width:16ch;
}
.health-subtitle{
  font-size:1.05rem;
  color:#5c6577;
  line-height:1.65;
  margin:.4rem 0 0;
}
.health-hook{
  font-size:1rem;
  color:#0f172a;
  font-weight:600;
  font-style:italic;
  margin-top:18px;
  line-height:1.55;
}

/* Health dashboard mock */
.health-mock{
  background:linear-gradient(180deg,#ffffff 0%,#f7fbf9 100%);
  border:1px solid #e0e8ef;
  border-radius:24px;
  padding:24px;
  box-shadow:0 20px 50px rgba(15,23,42,.1);
}
.health-mock-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:14px;
}
.health-mock-pet{
  display:flex;
  align-items:center;
  gap:10px;
}
.health-mock-pet strong{
  font-size:1rem;
  color:#0f172a;
}
.health-mock-avatar{
  width:34px;
  height:34px;
  border-radius:50%;
  object-fit:cover;
  border:2px solid #fff;
  box-shadow:0 2px 6px rgba(0,0,0,.1);
  background:linear-gradient(145deg,#b8e6d0,#6bc4a0);
}
.health-mock-badge{
  font-size:.62rem;
  font-weight:700;
  color:#0e8f5c;
  background:#dcfce9;
  border-radius:999px;
  padding:4px 10px;
  letter-spacing:.02em;
}
.health-mock-tabs{
  display:flex;
  gap:4px;
  background:#edf2f7;
  border-radius:10px;
  padding:3px;
  margin-bottom:20px;
}
.health-mock-tabs span{
  flex:1;
  text-align:center;
  font-size:.72rem;
  font-weight:700;
  color:#617389;
  padding:6px 0;
  border-radius:8px;
  cursor:default;
}
.health-mock-tabs span.is-active{
  background:#fff;
  color:#0f172a;
  box-shadow:0 1px 3px rgba(15,23,42,.1);
}
.health-mock-body{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:24px;
  padding:8px 0;
}
.health-ring-wrap{
  position:relative;
  width:120px;
  height:120px;
}
.health-ring-svg{
  display:block;
}
.health-ring-label{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.health-ring-label strong{
  font-size:2rem;
  font-weight:800;
  color:#0f172a;
  line-height:1;
}
.health-ring-label span{
  font-size:.68rem;
  color:#708197;
  font-weight:600;
  margin-top:2px;
}
.health-mock-metrics{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  width:100%;
}
.health-mock-metric{
  background:#fff;
  border:1px solid #e8edf4;
  border-radius:14px;
  padding:14px 12px;
  text-align:center;
}
.health-mock-metric strong{
  display:block;
  font-size:1.05rem;
  color:#0f172a;
  margin-bottom:2px;
}
.health-mock-metric span{
  font-size:.7rem;
  color:#708197;
  font-weight:600;
}
.health-mock-insights{
  display:grid;
  gap:8px;
  width:100%;
  margin-top:4px;
}
.health-mock-insight{
  display:flex;
  align-items:center;
  gap:8px;
  background:#fff;
  border:1px solid #e8edf4;
  border-radius:10px;
  padding:10px 12px;
  font-size:.78rem;
  color:#334155;
}
.health-insight-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  flex-shrink:0;
}
.health-insight-dot.good{background:#19c37d}
.health-insight-dot.stable{background:#3b82f6}

/* ---- Steps (How it works) ---- */
.steps-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.step-card{
  background:#fff;
  border:1px solid #e8edf4;
  border-radius:20px;
  padding:28px;
  box-shadow:var(--shadow-soft);
}
.step-number{
  display:inline-block;
  font-size:.78rem;
  font-weight:700;
  color:#0e8f5c;
  background:#dcfce9;
  border-radius:999px;
  padding:4px 10px;
  margin-bottom:8px;
}
.step-card h3{
  margin-bottom:6px;
}
.step-card p{
  margin:0;
  font-size:.92rem;
}

/* ---- Trust row ---- */
.trust-row{
  display:flex;
  justify-content:center;
  gap:48px;
  flex-wrap:wrap;
}
.trust-row-item{
  text-align:center;
}
.trust-row-item strong{
  display:block;
  font-size:1.8rem;
  font-weight:800;
  color:#0f172a;
  line-height:1.1;
}
.trust-row-item span{
  font-size:.85rem;
  color:#64748b;
}
.pricing-head-spacer{margin-top:64px}

/* ---- Pricing split ---- */
.pricing-split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  max-width:820px;
  margin:24px auto 0;
}
.pricing-card{
  background:#fff;
  border:1px solid #e4ebf3;
  border-radius:var(--radius-card);
  padding:36px;
  box-shadow:var(--shadow-premium);
  display:flex;
  flex-direction:column;
}
.pricing-card.is-featured{
  border-color:#98e8c5;
  box-shadow:0 16px 40px rgba(25,195,125,.1);
}
.pricing-card h3{
  font-size:1.3rem;
  margin-bottom:2px;
}
.pricing-label{
  font-size:.88rem;
  color:#5c6577;
  margin:0;
}
.pricing-price{
  font-size:2.6rem;
  font-weight:800;
  color:#0f172a;
  line-height:1;
  margin:.8rem 0 .4rem;
}
.pricing-features{
  list-style:none;
  padding:0;
  margin:16px 0 0;
  display:grid;
  gap:9px;
  flex:1;
}
.pricing-features li{
  position:relative;
  padding-left:20px;
  font-size:.9rem;
  color:#334155;
}
.pricing-features li::before{
  content:"✓";
  position:absolute;
  left:0;
  font-weight:800;
  color:var(--brand);
}
.pricing-card .btn{
  margin-top:24px;
}

/* ---- Final CTA ---- */
.final-cta-actions{
  display:flex;
  gap:12px;
  justify-content:center;
  margin-top:22px;
  flex-wrap:wrap;
}
.dark-block .btn-ghost{
  background:transparent;
  border-color:rgba(255,255,255,.2);
  color:#fff;
}
.dark-block .btn-ghost:hover{
  border-color:rgba(255,255,255,.4);
}

/* ---- Product showcase ---- */
.product-showcase{
  background:linear-gradient(180deg,#ffffff 0%,#f7fbf9 100%);
}
.showcase-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:48px;
  align-items:center;
}
.showcase-visual{
  display:flex;
  justify-content:center;
  align-items:center;
  min-height:300px;
}
.showcase-tag-wrap{
  position:relative;
}
.showcase-tag{
  width:170px;
  height:170px;
  border-radius:50%;
  background:conic-gradient(from 45deg,#b8b8b8,#e8e8e8 25%,#c8c8c8 40%,#f2f2f2 55%,#d0d0d0 70%,#e0e0e0 85%,#b8b8b8);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  position:relative;
  box-shadow:
    0 20px 50px rgba(0,0,0,.18),
    0 0 0 3px rgba(200,200,200,.4),
    inset 0 2px 6px rgba(255,255,255,.6),
    inset 0 -2px 4px rgba(0,0,0,.08);
  animation:showcase-float 3.5s ease-in-out infinite;
}
.showcase-tag::before{
  content:"";
  position:absolute;
  inset:6px;
  border-radius:50%;
  border:1px solid rgba(180,180,180,.3);
  pointer-events:none;
}
.showcase-tag-hole{
  width:12px;
  height:12px;
  border-radius:50%;
  border:2px solid rgba(150,150,150,.5);
  background:radial-gradient(circle,#e0e0e0 40%,#b0b0b0);
  position:absolute;
  top:16px;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.15);
}
.showcase-tag-text{
  font-size:1rem;
  font-weight:800;
  color:rgba(90,90,90,.55);
  letter-spacing:.12em;
  text-transform:uppercase;
  text-shadow:0 1px 0 rgba(255,255,255,.6);
  margin-top:6px;
}
@keyframes showcase-float{
  0%,100%{transform:translateY(0) rotate(0deg)}
  50%{transform:translateY(-10px) rotate(2deg)}
}
.showcase-copy h2{
  max-width:16ch;
}
.showcase-bullets{
  list-style:none;
  padding:0;
  margin:20px 0 0;
  display:grid;
  gap:12px;
}
.showcase-bullets li{
  position:relative;
  padding-left:22px;
  font-size:1rem;
  color:#334155;
  line-height:1.5;
}
.showcase-bullets li::before{
  content:"";
  position:absolute;
  left:0;
  top:.55em;
  width:8px;
  height:8px;
  border-radius:50%;
  background:linear-gradient(145deg,#2fb088,#1b8766);
}

/* ---- Product video ---- */
.video-section{
  background:#fff;
}
.video-wrap{
  margin-top:24px;
  border-radius:20px;
  overflow:hidden;
  position:relative;
  box-shadow:0 20px 50px rgba(15,23,42,.12);
}
.video-poster{
  aspect-ratio:16 / 7;
  background:
    linear-gradient(135deg,#0f172a 0%,#1e293b 40%,#0f172a 100%);
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  overflow:hidden;
}
.video-poster::before{
  content:"";
  position:absolute;
  inset:0;
  background:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");
  pointer-events:none;
}
.video-overlay{
  position:relative;
  z-index:2;
  text-align:center;
  color:#fff;
}
.video-play-icon{
  width:72px;
  height:72px;
  border-radius:50%;
  background:rgba(255,255,255,.1);
  border:2px solid rgba(255,255,255,.2);
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 16px;
  cursor:pointer;
  transition:all .25s ease;
  backdrop-filter:blur(4px);
}
.video-play-icon:hover{
  background:rgba(255,255,255,.18);
  transform:scale(1.06);
}
.video-play-icon svg{
  margin-left:3px;
}
.video-tagline{
  font-size:1.3rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(255,255,255,.8);
  margin:0;
}
.video-el{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:none;
}
.video-el[src]{
  display:block;
}

/* ---- Emotional section ---- */
.emotional-section{
  background:linear-gradient(145deg,#0f172a,#1e293b);
}
.emotional-block{
  max-width:640px;
  margin:0 auto;
}
.emotional-block h2{
  color:#fff;
  font-size:2.4rem;
  margin-bottom:28px;
}
.emotional-block p{
  color:#94a3b8;
  font-size:1.12rem;
  line-height:1.75;
  margin:.6rem 0;
}
.emotional-highlight{
  color:#fff !important;
  font-weight:700;
  font-size:1.2rem !important;
}

/* ---- What's in the box ---- */
.box-card{
  background:#fff;
  border:1px solid #e4ebf3;
  border-radius:var(--radius-card);
  padding:32px;
  box-shadow:var(--shadow-soft);
  transition:box-shadow .2s ease,transform .2s ease;
}
.box-card:hover{
  box-shadow:0 14px 34px rgba(15,23,42,.1);
  transform:translateY(-3px);
}
.box-card h3{
  font-size:1.3rem;
  margin-bottom:14px;
}
.box-features{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:10px;
}
.box-features li{
  position:relative;
  padding-left:22px;
  font-size:.94rem;
  color:#334155;
  line-height:1.5;
}
.box-features li::before{
  content:"✓";
  position:absolute;
  left:0;
  font-weight:800;
  color:var(--brand);
}

/* ---- Pricing subscription labels ---- */
.pricing-monthly{
  font-size:1.2rem;
  font-weight:700;
  color:#5c6577;
}
.pricing-plan-type{
  display:block;
  font-size:.82rem;
  color:#64748b;
  margin-top:4px;
  line-height:1.4;
}
.pricing-note{
  font-size:.78rem;
  color:#8896a8;
  margin-top:14px;
  line-height:1.5;
  padding-top:10px;
  border-top:1px solid #edf2f7;
}

/* ---- Micro-interactions ---- */
.btn-primary:hover{
  transform:scale(1.03) translateY(-1px);
  box-shadow:0 6px 20px rgba(25,195,125,.2);
}
.btn-ghost:hover{
  transform:scale(1.02) translateY(-1px);
}
.pricing-card:hover,
.step-card:hover{
  transform:translateY(-4px);
  border-color:#c8e0d8;
}
.step-card{
  transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease;
}
.pricing-card{
  transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease;
}

/* ---- Health ring scroll animation ---- */
.health-ring-svg circle:nth-child(2){
  stroke-dashoffset:326.73;
  transition:stroke-dashoffset 1.2s cubic-bezier(.4,0,.2,1);
}
.health-ring-svg.is-animated circle:nth-child(2){
  stroke-dashoffset:58.81;
}

/* ---- Responsive: all new + existing sections ---- */
@media (max-width:940px){
  .home-page .section{padding:56px 0}
  .home-page .section-tight{padding:40px 0}
  .home-page .hero-premium{padding:64px 0 48px}
  .product-split-grid{grid-template-columns:1fr}
  .product-card-grid{grid-template-columns:1fr;max-width:480px;margin-left:auto;margin-right:auto}
  .product-card--health{order:-1}
  .product-card--health.is-featured{transform:none}
  .product-card--health.is-featured:hover{transform:translateY(-4px)}
  .product-card{padding:22px}
  .product-card__visual{min-height:auto}
  .health-demo-panel{grid-template-columns:1fr;justify-items:center}
  .demo-ring{order:0}
  .demo-right{order:1;width:100%}
  .demo-map{height:120px}
  .compare-toggle-btn{display:flex}
  .compare-rows{display:none}
  .product-compare-strip.is-expanded .compare-rows{display:grid}
  .health-grid{grid-template-columns:1fr;gap:28px}
  .health-grid .health-mock{order:2}
  .health-grid .health-copy{order:1}
  .steps-grid{grid-template-columns:1fr}
  .step-card{padding:22px}
  .pricing-split{grid-template-columns:1fr;max-width:420px;margin-left:auto;margin-right:auto}
  .pricing-card{padding:28px}
  .trust-row{gap:24px}
  .trust-row-item strong{font-size:1.5rem}
  .product-toggle-btn{padding:8px 16px;font-size:.82rem}
  .showcase-grid{grid-template-columns:1fr;gap:28px;text-align:center}
  .showcase-visual{min-height:200px}
  .showcase-tag{width:140px;height:140px}
  .showcase-bullets{text-align:left;max-width:340px;margin:16px auto 0}
  .video-poster{aspect-ratio:16 / 9}
  .video-tagline{font-size:1rem}
  .emotional-block h2{font-size:1.8rem}
  .emotional-block p{font-size:1rem}
  .box-card{padding:22px}
  .dark-block{padding:28px}
  .health-mock{padding:20px}
  .health-mock-body{gap:18px}
  .compare-row{padding:10px 14px;font-size:.82rem}
  .tracker-grid{gap:20px}
}

/* ============================================================
   SHOP PAGE
   ============================================================ */

/* Product selection toggle */
.shop-product-select{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  max-width:880px;
  margin:0 auto;
}
.shop-product-card{
  position:relative;
  background:#fff;
  border:2px solid #e2e8f0;
  border-radius:14px;
  padding:28px 24px;
  text-align:center;
  cursor:pointer;
  transition:border-color .25s ease, box-shadow .25s ease, transform .2s ease;
  font-family:inherit;
  font-size:1rem;
  color:inherit;
}
.shop-product-card:hover{
  transform:translateY(-3px);
  border-color:#c8e0d8;
}
.shop-product-card.is-selected{
  border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(25,195,125,.18), 0 8px 28px rgba(25,195,125,.10);
}
.shop-product-card .badge{
  position:absolute;
  top:-12px;
  left:50%;
  transform:translateX(-50%);
  font-size:.72rem;
  white-space:nowrap;
}
.shop-product-card h3{
  margin:0 0 6px;
  font-size:1.1rem;
}
.shop-product-price{
  font-size:1.4rem;
  font-weight:700;
  margin:0 0 4px;
  color:var(--dark);
}
.shop-product-price .pricing-monthly{
  font-size:.85rem;
  font-weight:500;
  color:#718096;
}
.shop-product-desc{
  margin:0;
  font-size:.9rem;
  color:#4a5568;
}
.shop-product-sub{
  display:block;
  margin-top:8px;
  font-size:.78rem;
  color:#a0aec0;
}

/* Shop grid layout */
.shop-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:48px;
  align-items:start;
  max-width:880px;
  margin:0 auto;
}

/* Tag render */
.shop-tag-render{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:360px;
}
.shop-tag-wrap{
  perspective:600px;
}
.shop-tag{
  width:200px;
  height:200px;
  border-radius:50%;
  background:linear-gradient(135deg,#c0c0c0 0%,#e8e8e8 40%,#a8a8a8 60%,#d0d0d0 100%);
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  box-shadow:
    0 8px 32px rgba(0,0,0,.18),
    0 2px 8px rgba(0,0,0,.10),
    inset 0 2px 4px rgba(255,255,255,.5);
  animation:shopTagFloat 4s ease-in-out infinite;
}
@keyframes shopTagFloat{
  0%,100%{transform:translateY(0) rotateY(0)}
  50%{transform:translateY(-10px) rotateY(3deg)}
}
.shop-tag-hole{
  position:absolute;
  top:18px;
  left:50%;
  transform:translateX(-50%);
  width:16px;
  height:16px;
  border-radius:50%;
  background:linear-gradient(135deg,#999,#bbb);
  box-shadow:inset 0 1px 3px rgba(0,0,0,.35);
}
.shop-tag-name{
  font-family:'Georgia', serif;
  font-size:1.4rem;
  font-weight:700;
  color:#4a4a4a;
  text-shadow:0 1px 1px rgba(255,255,255,.4);
  letter-spacing:.5px;
  margin-top:8px;
  text-align:center;
  max-width:160px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* Config panel */
.shop-config{
  padding:8px 0;
}
.shop-label{
  display:block;
  font-size:.88rem;
  font-weight:600;
  color:#4a5568;
  margin-bottom:8px;
}
.shop-config .input{
  width:100%;
  margin-bottom:4px;
}
.shop-helper{
  display:block;
  font-size:.75rem;
  color:#a0aec0;
  margin:0 0 16px;
}

/* Plan section */
.shop-plan-section{
  margin-bottom:24px;
}
.shop-plan-toggle{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.shop-plan-card{
  position:relative;
  background:#fff;
  border:2px solid #e2e8f0;
  border-radius:12px;
  padding:20px 16px;
  text-align:center;
  cursor:pointer;
  transition:border-color .25s ease, box-shadow .25s ease, transform .2s ease;
  font-family:inherit;
  font-size:1rem;
  color:inherit;
}
.shop-plan-card:hover{
  transform:translateY(-2px);
  border-color:#c8e0d8;
}
.shop-plan-card.is-selected{
  border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(25,195,125,.18);
}
.shop-plan-card strong{
  display:block;
  font-size:.95rem;
  margin-bottom:4px;
}
.shop-plan-price{
  font-size:1.1rem;
  font-weight:700;
  color:var(--dark);
}
.shop-plan-save{
  position:absolute;
  top:-10px;
  left:50%;
  transform:translateX(-50%);
  background:#dcfce7;
  color:#166534;
  font-size:.68rem;
  font-weight:700;
  padding:2px 10px;
  border-radius:10px;
  white-space:nowrap;
  text-transform:uppercase;
  letter-spacing:.3px;
}

/* Price summary */
.shop-price-summary{
  background:#f7fafc;
  border:1px solid #e2e8f0;
  border-radius:12px;
  padding:20px;
  margin-bottom:20px;
}
.shop-price-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:6px 0;
  font-size:.92rem;
  color:#4a5568;
}
.shop-price-total{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:12px 0 0;
  margin-top:8px;
  border-top:1px solid #e2e8f0;
  font-size:1.05rem;
}
.shop-price-total strong{
  font-size:1.2rem;
  color:var(--dark);
}

/* Discount rows */
.shop-discount-row{
  color:#166534;
}
.shop-discount-value{
  color:#166534;
  font-weight:600;
}

/* Savings banner */
.shop-savings-banner{
  background:#dcfce7;
  border:1px solid #bbf7d0;
  border-radius:10px;
  padding:10px 14px;
  margin-bottom:16px;
  font-size:.85rem;
  font-weight:600;
  color:#166534;
  text-align:center;
}

/* Coupon section */
.shop-coupon-section{
  margin-bottom:16px;
}
.shop-coupon-toggle{
  background:none;
  border:none;
  color:var(--accent);
  font-weight:600;
  font-size:.85rem;
  cursor:pointer;
  padding:0;
  font-family:inherit;
  transition:opacity .2s ease;
}
.shop-coupon-toggle:hover{
  opacity:.75;
}
.shop-coupon-drawer{
  animation:shopCouponSlide .25s ease;
}
@keyframes shopCouponSlide{
  from{opacity:0;transform:translateY(-6px)}
  to{opacity:1;transform:translateY(0)}
}
.shop-coupon-input-wrap{
  display:flex;
  gap:8px;
  align-items:center;
}
.shop-coupon-input-wrap .input{
  flex:1;
  margin-bottom:0;
  text-transform:uppercase;
}
.shop-coupon-btn{
  flex-shrink:0;
  padding:8px 16px;
  font-size:.88rem;
}
.shop-coupon-feedback{
  font-size:.82rem;
  margin:6px 0 0;
  min-height:1.2em;
}
.shop-coupon-feedback:empty{
  display:none;
}
.shop-coupon-feedback.is-success{
  color:#166534;
  font-weight:600;
}
.shop-coupon-feedback.is-error{
  color:#e53e3e;
}

/* CTA */
.shop-cta{
  width:100%;
  padding:16px 24px;
  font-size:1.05rem;
}

/* Trust badges */
.shop-trust{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:20px;
}
.shop-trust-item{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:.82rem;
  color:#718096;
}
.shop-trust-item span{
  color:var(--accent);
  font-weight:700;
}

.shop-section{padding:48px 0}
.shop-section .section-head{
  max-width:880px;
  text-align:center;
  margin:0 auto;
}
.shop-section .top-space{margin-top:10px}

/* Shop responsive */
@media (max-width:940px){
  .shop-section{padding:32px 0}
  .shop-grid{
    grid-template-columns:1fr;
    gap:28px;
    max-width:520px;
  }
  .shop-tag-render{
    min-height:240px;
  }
  .shop-tag{
    width:170px;
    height:170px;
  }
  .shop-tag-name{
    font-size:1.2rem;
  }
  .shop-product-select{
    max-width:100%;
  }
}
@media (max-width:480px){
  .shop-product-select{
    grid-template-columns:1fr;
  }
  .shop-grid{max-width:none}
  .shop-trust{
    grid-template-columns:1fr;
  }
}

/* Shop conversion upgrades */
.shop-sub-reassurance{
  margin-top:12px;
  text-align:center;
}
.shop-sub-reassurance p{
  font-size:.78rem;
  color:#a0aec0;
  margin:0;
  line-height:1.6;
}

.shop-upgrade-prompt{
  border:1px solid rgba(25,195,125,.15);
  background:rgba(25,195,125,.02);
  border-radius:8px;
  padding:12px 16px;
  margin-bottom:12px;
}
.shop-upgrade-title{
  font-weight:700;
  font-size:.85rem;
  color:var(--dark);
  margin:0 0 6px;
}
.shop-upgrade-list{
  list-style:none;
  padding:0;
  margin:0 0 10px;
}
.shop-upgrade-list li{
  font-size:.8rem;
  color:#4a5568;
  padding:3px 0;
}
.shop-upgrade-list li::before{
  content:"✓ ";
  color:var(--accent);
  font-weight:700;
}
.shop-upgrade-btn{
  width:100%;
  font-size:.82rem;
}

.shop-extra-names{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}
.shop-extra-names:empty{margin-bottom:0}
.shop-extra-name-row{position:relative;animation:shopExtraFadeIn .3s ease}
.shop-extra-name-row.is-removing{animation:shopExtraFadeOut .25s ease forwards}
.shop-extra-name-row .input{width:100%;margin-bottom:0;padding-right:36px}
.shop-extra-remove{
  position:absolute;
  right:8px;
  top:50%;
  transform:translateY(-50%);
  width:22px;
  height:22px;
  border-radius:50%;
  border:none;
  background:none;
  color:#a0aec0;
  font-size:1rem;
  line-height:1;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:color .2s ease, background .2s ease;
  padding:0;
  font-family:inherit;
}
.shop-extra-remove:hover{
  color:#e53e3e;
  background:rgba(229,62,62,.08);
}
@keyframes shopExtraFadeIn{
  from{opacity:0;transform:translateY(-6px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes shopExtraFadeOut{
  from{opacity:1;transform:translateY(0)}
  to{opacity:0;transform:translateY(-6px)}
}

.shop-upsell{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 0;
  margin-bottom:16px;
  border-top:1px solid #e2e8f0;
}
.shop-upsell-btn{
  background:none;
  border:none;
  color:var(--accent);
  font-weight:600;
  font-size:.88rem;
  cursor:pointer;
  padding:0;
  font-family:inherit;
  transition:opacity .2s ease;
}
.shop-upsell-btn:hover{
  opacity:.8;
}
.shop-upsell-note{
  font-size:.78rem;
  color:#a0aec0;
  transition:color .25s ease, font-weight .25s ease;
}
.shop-upsell-note.is-active{
  color:var(--accent);
  font-weight:600;
}

.shop-coming-soon{
  text-align:center;
  margin-top:20px;
  padding-top:16px;
  border-top:1px solid #edf2f7;
}
.shop-coming-soon-title{
  font-weight:600;
  font-size:.78rem;
  color:#a0aec0;
  text-transform:uppercase;
  letter-spacing:.5px;
  margin:0 0 4px;
}
.shop-coming-soon p:last-child{
  font-size:.82rem;
  color:#718096;
  margin:0;
}

/* ============================================================
   PROGRESSIVE MOBILE BREAKPOINTS
   ============================================================ */

/* ---- 640px: large phone ---- */
@media (max-width:640px){
  :root{--header-h:56px}
  .logo{font-size:1.1rem}
  .container{padding:0 16px}

  .section{padding:44px 0}
  .section-tight{padding:32px 0}
  .home-page .section{padding:44px 0}
  .home-page .section-tight{padding:32px 0}
  .home-page .hero-premium{padding:48px 0 36px}
  .hero-premium{padding:48px 0 36px}

  h1{font-size:1.9rem}
  h2{font-size:1.55rem}
  h3{font-size:1.08rem}
  .hero-sub{font-size:.95rem;max-width:none}

  .hero-showcase{min-height:300px;margin-top:20px}
  .hero-trust-bar{gap:8px;font-size:.72rem}
  .hero-trust-bar span:not(.hero-trust-stars){font-size:.7rem}
  .hero-cta-row{gap:8px;margin-top:16px}
  .hero-cta-row .btn{font-size:.88rem;padding:12px 20px}
  .btn-lg{padding:14px 24px;font-size:.95rem}

  .product-toggle{margin-top:18px;display:flex;margin-left:auto;margin-right:auto;width:fit-content}
  .product-toggle-btn{padding:8px 14px;font-size:.78rem}
  .toggle-popular{font-size:.5rem;padding:2px 5px}

  .product-card{padding:18px}
  .product-card h3{font-size:1.25rem}
  .product-card__price{font-size:1.8rem}
  .product-card__price-sub{font-size:.92rem}
  .product-card__feature{font-size:.86rem;gap:8px}
  .product-card__badge{top:14px;right:18px;font-size:.62rem;padding:4px 8px}

  .compare-row{padding:9px 12px;font-size:.78rem}
  .compare-row--header{font-size:.68rem}

  .tracker-demo{height:280px}
  .tracker-status-card{padding:10px 12px}
  .tracker-status-text strong{font-size:.82rem}
  .tracker-status-time{font-size:.68rem}
  .tracker-pill{padding:4px 8px;font-size:.62rem}

  .health-mock{padding:18px}
  .health-ring-wrap{width:100px;height:100px}
  .health-ring-svg{width:100px;height:100px}
  .health-ring-label strong{font-size:1.6rem}
  .health-ring-label span{font-size:.6rem}
  .health-mock-metric{padding:10px 8px}
  .health-mock-metric strong{font-size:.92rem}
  .health-mock-metric span{font-size:.64rem}
  .health-mock-insight{padding:8px 10px;font-size:.74rem}

  .step-card{padding:18px}
  .step-card p{font-size:.86rem}

  .emotional-block h2{font-size:1.5rem;margin-bottom:20px}
  .emotional-block p{font-size:.92rem}
  .emotional-highlight{font-size:1.05rem !important}

  .trust-row{gap:16px}
  .trust-row-item strong{font-size:1.3rem}
  .trust-row-item span{font-size:.78rem}
  .pricing-head-spacer{margin-top:36px}

  .pricing-card{padding:24px}
  .pricing-price{font-size:2.2rem}
  .pricing-features li{font-size:.86rem}
  .pricing-label{font-size:.82rem}

  .dark-block{padding:24px;border-radius:20px}
  .final-cta-actions{gap:10px}
  .final-cta-actions .btn{padding:14px 20px;font-size:.92rem}

  .box-card{padding:18px}
  .box-card h3{font-size:1.15rem;margin-bottom:10px}
  .box-features li{font-size:.88rem}

  .showcase-visual{min-height:180px}
  .showcase-tag{width:120px;height:120px}
  .showcase-tag-text{font-size:.85rem}
  .showcase-bullets li{font-size:.92rem}

  .video-play-icon{width:56px;height:56px}
  .video-play-icon svg{width:36px;height:36px}

  .card{padding:20px}
  .price{font-size:1.8rem}
  .list li{font-size:.88rem}

  .seo-footer-wrap{padding-top:32px;padding-bottom:14px}
  .seo-footer-grid{gap:16px}
  .seo-footer-col h4{font-size:.82rem;margin-bottom:8px}
  .seo-footer-links a{font-size:.8rem}
  .seo-footer-brand p{font-size:.82rem}
  .seo-footer-bottom{margin-top:16px;padding-top:12px}

  /* Shop at 640px */
  .shop-product-card{padding:20px 16px}
  .shop-product-card h3{font-size:1rem}
  .shop-product-price{font-size:1.2rem}
  .shop-tag-render{min-height:220px}
  .shop-tag{width:160px;height:160px}
  .shop-price-summary{padding:16px}
  .shop-plan-card{padding:16px 12px}
  .shop-upgrade-prompt{padding:10px 14px}

  .cart-fab{width:280px;max-width:calc(100vw - 32px)}

  /* Table scroll wrapper for mobile */
  .table-scroll-wrap{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
  .table-scroll-wrap .table{min-width:520px}

  .table td{padding:10px;font-size:.84rem}
  .table th{padding:10px;font-size:.8rem}
}

/* ---- 480px: small phone ---- */
@media (max-width:480px){
  .section{padding:36px 0}
  .section-tight{padding:28px 0}
  .home-page .section{padding:36px 0}
  .home-page .section-tight{padding:28px 0}
  .home-page .hero-premium{padding:36px 0 28px}
  .hero-premium{padding:36px 0 28px}

  h1{font-size:1.7rem}
  h2{font-size:1.4rem}
  .hero-sub{font-size:.9rem}

  .hero-showcase{min-height:280px;margin-top:16px}
  .hero-layer-health{max-width:200px;width:54%;top:5%}
  .hero-health-card{padding:10px}
  .hero-health-ring-svg{width:60px;height:60px}
  .hero-health-ring-label strong{font-size:.95rem}
  .hero-health-ring-label span{font-size:.44rem}
  .hero-health-body{gap:10px}
  .hero-health-metric strong{font-size:.6rem}
  .hero-health-metric span{font-size:.46rem}
  .hero-product-tag{width:80px;height:80px}
  .hero-tag-name{font-size:.75rem}
  .hero-tag-hole{width:8px;height:8px;top:8px}

  .product-toggle{width:100%;margin-left:0;margin-right:0}
  .product-toggle-btn{flex:1;padding:8px 10px;font-size:.76rem}

  .product-card{padding:16px}
  .product-card h3{font-size:1.15rem}
  .product-card__price{font-size:1.6rem}
  .product-card__micro{font-size:.76rem}
  .product-card__feature{font-size:.82rem}
  .product-card__trust{font-size:.72rem}
  .demo-ring__wrap{width:64px;height:64px}
  .demo-ring__svg{width:64px;height:64px}
  .demo-ring__label strong{font-size:1.1rem}
  .demo-ring__label span{font-size:.5rem}
  .demo-map{height:90px}
  .demo-stat-card{padding:5px 4px}
  .demo-stat-card strong{font-size:.72rem}
  .demo-stat-card span{font-size:.52rem}

  .compare-row{grid-template-columns:1.4fr 1fr 1fr;padding:8px 10px;font-size:.74rem}
  .compare-row--header{font-size:.64rem}
  .compare-toggle-btn{padding:10px;font-size:.82rem}

  .tracker-demo{height:240px}
  .tracker-status-card{padding:8px 10px;border-radius:12px}
  .tracker-status-avatar{width:28px;height:28px}
  .tracker-status-text strong{font-size:.76rem}
  .tracker-status-text span{font-size:.64rem}
  .tracker-status-live{font-size:.56rem;padding:3px 7px}
  .tracker-status-time{font-size:.64rem;margin-top:5px}
  .tracker-pills{gap:4px;margin-top:6px}
  .tracker-pill{padding:3px 7px;font-size:.58rem}

  .health-mock{padding:16px;border-radius:18px}
  .health-mock-tabs span{font-size:.66rem;padding:5px 0}
  .health-ring-wrap{width:88px;height:88px}
  .health-ring-svg{width:88px;height:88px}
  .health-ring-label strong{font-size:1.4rem}
  .health-ring-label span{font-size:.56rem}
  .health-mock-metric{padding:8px 6px;border-radius:10px}
  .health-mock-metric strong{font-size:.85rem}
  .health-mock-insight{padding:7px 8px;font-size:.7rem;border-radius:8px}
  .health-mock-body{gap:14px}
  .health-mock-metrics{gap:8px}
  .health-grid{gap:20px}

  .step-card{padding:16px}
  .step-number{font-size:.72rem;padding:3px 8px}

  .trust-row{gap:12px}
  .trust-row-item strong{font-size:1.15rem}
  .trust-row-item span{font-size:.74rem}
  .pricing-head-spacer{margin-top:24px}

  .pricing-card{padding:20px}
  .pricing-price{font-size:1.9rem}
  .pricing-monthly{font-size:1rem}
  .pricing-card h3{font-size:1.15rem}
  .pricing-note{font-size:.72rem}

  .dark-block{padding:20px;border-radius:16px}
  .final-cta-actions{flex-direction:column}
  .final-cta-actions .btn{width:100%}

  .emotional-block h2{font-size:1.35rem;margin-bottom:16px}
  .emotional-block p{font-size:.88rem;margin:.4rem 0}

  .box-card{padding:16px}
  .box-features li{font-size:.86rem}

  .showcase-visual{min-height:160px}
  .showcase-tag{width:110px;height:110px}

  .video-play-icon{width:48px;height:48px}
  .video-play-icon svg{width:28px;height:28px}
  .video-tagline{font-size:.88rem}

  .seo-footer-grid{grid-template-columns:1fr 1fr}
  .seo-footer-brand{grid-column:1 / -1;text-align:center}
  .seo-footer-brand p{margin-left:auto;margin-right:auto}
  .seo-social{justify-content:center}
  .seo-footer-wrap{padding-top:24px;padding-bottom:16px}
  .seo-footer-grid{gap:16px}
  .seo-footer-bottom{flex-direction:column;align-items:center;gap:14px;text-align:center}
  .seo-footer-news{width:100%;align-items:center}
  .seo-footer-news-row{width:100%}
  .seo-footer-news input{width:100%;flex:1}
  .seo-footer-news button{flex-shrink:0}

  .card{padding:16px}
  .price{font-size:1.5rem}

  /* Shop at 480px */
  .shop-product-select{grid-template-columns:1fr}
  .shop-trust{grid-template-columns:1fr}
  .shop-section{padding:24px 0}
  .shop-tag-render{min-height:200px}
  .shop-tag{width:140px;height:140px}
  .shop-tag-name{font-size:1.1rem}
  .shop-product-card{padding:18px 14px}
  .shop-price-summary{padding:14px}
  .shop-price-row{font-size:.86rem}
  .shop-price-total{font-size:.95rem}
  .shop-price-total strong{font-size:1.1rem}
  .shop-plan-card{padding:14px 10px}
  .shop-plan-price{font-size:1rem}
  .shop-upgrade-prompt{padding:10px 12px}
  .shop-extra-remove{width:36px;height:36px;font-size:1.2rem}
  .shop-cta{padding:14px 20px;font-size:.95rem}

  .cart-fab{max-width:calc(100vw - 24px);width:auto;left:12px;right:12px}

  /* Sub-page h1 */
  .section h1{font-size:1.7rem}
}

/* ---- 375px: iPhone SE / narrow ---- */
@media (max-width:375px){
  .container{padding:0 14px}
  .section{padding:28px 0}
  .section-tight{padding:22px 0}
  .home-page .section{padding:28px 0}
  .home-page .section-tight{padding:22px 0}
  .home-page .hero-premium{padding:28px 0 20px}
  .hero-premium{padding:28px 0 20px}

  h1{font-size:1.5rem}
  h2{font-size:1.28rem}
  h3{font-size:1rem}
  .hero-sub{font-size:.85rem}
  p{font-size:.9rem}

  .hero-showcase{min-height:240px;margin-top:14px;border-radius:18px}
  .hero-layer-health{max-width:170px;width:52%;top:4%}
  .hero-map-pin{width:34px;height:34px}
  .hero-map-pin-avatar{width:34px;height:34px}
  .hero-health-card{padding:8px;border-radius:12px}
  .hero-health-ring-svg{width:50px;height:50px}
  .hero-health-ring-label strong{font-size:.82rem}
  .hero-health-body{gap:6px}
  .hero-health-metric strong{font-size:.52rem}
  .hero-product-tag{width:64px;height:64px}
  .hero-tag-name{font-size:.62rem;margin-top:4px}
  .hero-tag-hole{width:6px;height:6px;top:6px}

  .hero-trust-bar{gap:6px;font-size:.66rem}
  .hero-cta-row .btn{width:100%;padding:12px 16px;text-align:center;justify-content:center}
  .hero-cta-row{flex-direction:column;align-items:stretch}
  .btn-lg{padding:12px 20px;font-size:.88rem}

  .product-card{padding:14px}
  .product-card__price{font-size:1.4rem}
  .product-card h3{font-size:1.05rem}

  .tracker-demo{height:200px}
  .tracker-status-card{bottom:6px;left:6px;right:6px;padding:7px 8px;border-radius:10px}

  .health-mock{padding:12px;border-radius:14px}
  .health-ring-wrap{width:72px;height:72px}
  .health-ring-svg{width:72px;height:72px}
  .health-ring-label strong{font-size:1.2rem}
  .health-mock-metric{padding:6px 4px}
  .health-mock-metric strong{font-size:.78rem}
  .health-mock-metrics{gap:6px}
  .health-mock-insight{padding:6px 7px;font-size:.66rem}
  .health-mock-tabs span{font-size:.6rem;padding:4px 0}
  .health-mock-header{margin-bottom:10px}
  .health-mock-badge{font-size:.56rem;padding:3px 7px}
  .health-mock-body{gap:12px}

  .step-card{padding:14px}
  .step-card p{font-size:.82rem}

  .pricing-card{padding:16px}
  .pricing-price{font-size:1.6rem}
  .pricing-features li{font-size:.82rem}
  .pricing-card .btn{font-size:.88rem}

  .dark-block{padding:16px;border-radius:14px}

  .emotional-block h2{font-size:1.2rem}
  .emotional-block p{font-size:.82rem}

  .box-card{padding:14px}

  .seo-footer-grid{grid-template-columns:1fr}
  .seo-footer-col{text-align:center}
  .seo-footer-col h4{font-size:.78rem}
  .seo-footer-links{justify-items:center}
  .seo-footer-links a{font-size:.76rem}

  .card{padding:14px}
  .price{font-size:1.3rem}
  .price span{font-size:.78rem}

  /* Shop at 375px */
  .shop-section{padding:20px 0}
  .shop-tag-render{min-height:170px}
  .shop-tag{width:120px;height:120px}
  .shop-tag-name{font-size:.95rem}
  .shop-product-card{padding:14px 10px}
  .shop-product-card h3{font-size:.95rem}
  .shop-product-price{font-size:1.1rem}
  .shop-price-summary{padding:12px}
  .shop-cta{padding:12px 16px;font-size:.9rem}
  .shop-coming-soon{margin-top:14px;padding-top:12px}
  .shop-upsell{padding:10px 0;margin-bottom:12px}

  .section h1{font-size:1.5rem}
}

/* ---- 320px: very narrow ---- */
@media (max-width:320px){
  .container{padding:0 12px}
  .compare-row{grid-template-columns:1.6fr 1fr 1fr;padding:6px 8px;font-size:.68rem}
  .compare-row--header{font-size:.58rem}
  .health-mock-metrics{grid-template-columns:1fr 1fr 1fr;gap:4px}
  .health-mock-metric strong{font-size:.72rem}
}
