
:root{--bg:#f4f8fd;--bg2:#eef5fc;--surface:#fff;--surface2:#f8fbff;--text:#18324a;--muted:#60758c;--line:#d8e6f3;--primary:#2aabee;--primary2:#229ed9;--deep:#0f4f79;--shadow:0 20px 55px rgba(24,50,74,.10);--radius:28px;--container:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:linear-gradient(180deg,var(--bg) 0%,#fff 22%,var(--bg) 100%);line-height:1.65}a{text-decoration:none;color:var(--primary2)}img{max-width:100%;display:block}
.container{width:min(var(--container),calc(100% - 32px));margin:0 auto}
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.86);backdrop-filter:blur(18px) saturate(170%);border-bottom:1px solid rgba(216,230,243,.75)}
.header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;gap:12px;align-items:center;color:var(--text);font-weight:800}.brand-mark{width:40px;height:40px;border-radius:14px;background:linear-gradient(135deg,var(--primary),#69cdfc);display:grid;place-items:center;color:#fff;box-shadow:var(--shadow)}.brand small{display:block;color:var(--muted);font-weight:600;font-size:12px}
.nav{display:flex;gap:18px;align-items:center}.nav a{font-weight:650;color:var(--muted)}.nav a:hover,.nav a.active{color:var(--text)}.header-cta{display:flex;gap:10px;align-items:center}.menu-toggle{display:none;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 12px;font-weight:800}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 18px;border-radius:999px;font-weight:750;border:1px solid transparent;transition:.18s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;box-shadow:0 12px 30px rgba(42,171,238,.24)}.btn-secondary{background:#fff;color:var(--text);border-color:var(--line)}
.breadcrumbs{padding:16px 0 0;color:var(--muted);font-size:14px}.breadcrumbs a{color:var(--muted)}
.hero-home{padding:72px 0 26px}.hero-home .shell{display:grid;grid-template-columns:1.15fr .95fr;gap:26px;align-items:center}.hero-main,.hero-side,.intro-band,.mini-top{background:linear-gradient(180deg,#fff 0%,#f7fbff 100%);border:1px solid var(--line);border-radius:34px;box-shadow:var(--shadow)}.hero-main{padding:42px}.hero-side{padding:24px;min-height:420px;display:grid;place-items:center}.eyebrow{display:inline-flex;align-items:center;gap:8px;background:#edf6ff;color:var(--primary2);padding:8px 12px;border-radius:999px;font-weight:750;margin-bottom:16px}.hero-home h1,.intro-band h1,.mini-top h1{font-size:clamp(36px,6vw,68px);line-height:1.02;letter-spacing:-.03em;margin:0 0 16px}.hero-home p.lead,.intro-band p.lead,.mini-top p.lead{font-size:18px;color:var(--muted);margin:0 0 22px;max-width:64ch}.cta-row{display:flex;flex-wrap:wrap;gap:12px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:26px}.stat{background:#fff;border:1px solid var(--line);border-radius:22px;padding:16px}.stat strong{display:block;font-size:26px;line-height:1.05}.stat span{color:var(--muted);font-size:14px}
.intro-wrap{padding:34px 0 10px}.intro-band{padding:28px 30px}.intro-band.compact h1{font-size:clamp(30px,4vw,46px)}.intro-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:22px;align-items:center}.mini-top-wrap{padding:24px 0 8px}.mini-top{padding:24px 28px}.mini-top h1{font-size:clamp(28px,3vw,40px)}
.section{padding:18px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:16px}.section-head h2{font-size:clamp(28px,4vw,42px);line-height:1.08;letter-spacing:-.02em;margin:0}.section-head p{margin:0;color:var(--muted)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:30px;padding:28px;box-shadow:var(--shadow)}.rich{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;align-items:center}.rich.reverse{grid-template-columns:.85fr 1.15fr}.rich .copy p:last-child{margin-bottom:0}.art-card{background:linear-gradient(180deg,#f1f8ff 0%,#fff 100%);border:1px solid var(--line);border-radius:28px;padding:18px;min-height:240px;display:grid;place-items:center}
p{margin:0 0 14px}.muted{color:var(--muted)}
.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card-grid.three{grid-template-columns:repeat(3,1fr)}.card-grid.two{grid-template-columns:repeat(2,1fr)}.card,.step-card,.product-card{background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);border:1px solid var(--line);border-radius:24px;padding:22px;color:var(--text);box-shadow:0 10px 26px rgba(24,50,74,.06)}.card h3,.step-card h3,.product-card h3{margin:0 0 8px;font-size:20px;line-height:1.15}.card p,.step-card p,.product-card p{margin:0;color:var(--muted)}
.step-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.step-num{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#ecf6ff;color:var(--primary2);font-weight:800;margin-bottom:12px}
.warning-box{background:linear-gradient(180deg,#eef7ff 0%,#fbfdff 100%);border:1px solid #c9def0;border-radius:22px;padding:18px 20px}.warning-box strong{color:var(--deep)}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.product-card .badge{display:inline-block;background:#edf6ff;color:var(--primary2);padding:6px 10px;border-radius:999px;font-size:12px;font-weight:750;margin-bottom:10px}.product-card ul{margin:12px 0 0;padding-left:18px;color:var(--muted)}.product-card .thumb{height:132px;margin:-6px 0 14px;border-radius:20px;background:linear-gradient(135deg,#ebf6ff,#ffffff);border:1px solid var(--line);display:grid;place-items:center}
.spec-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.spec{padding:14px 16px;border:1px solid var(--line);border-radius:18px;background:#fff}.spec strong{display:block}
.quote{padding:18px 20px;border-left:4px solid var(--primary);background:#f5fbff;border-radius:0 18px 18px 0;color:var(--text)}
.next-steps{padding:18px 0 80px}.footer{background:#fff;border-top:1px solid var(--line);margin-top:12px}.footer-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:24px;padding:40px 0}.footer-grid h4{margin:0 0 10px;font-size:16px}.footer-grid a,.footer-grid p{display:block;color:var(--muted);margin:0 0 6px}.footer-bottom{padding:0 0 28px;color:var(--muted);font-size:14px}
.tag-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.tag{padding:7px 10px;border-radius:999px;background:#edf6ff;color:var(--primary2);font-size:13px;font-weight:700}
@media (max-width:1080px){.nav{display:none}.menu-toggle{display:inline-flex}.hero-home .shell,.intro-grid,.rich,.rich.reverse,.footer-grid,.card-grid,.card-grid.three,.step-grid,.product-grid,.spec-list{grid-template-columns:1fr 1fr}.mobile-open .nav{display:flex;position:absolute;left:16px;right:16px;top:76px;flex-direction:column;align-items:stretch;background:#fff;border:1px solid var(--line);padding:16px;border-radius:22px;box-shadow:var(--shadow)}}
@media (max-width:720px){.container{width:min(var(--container),calc(100% - 22px))}.hero-home{padding:40px 0 18px}.hero-main{padding:26px}.header-cta{display:none}.hero-home .shell,.intro-grid,.rich,.rich.reverse,.footer-grid,.card-grid,.card-grid.two,.card-grid.three,.step-grid,.product-grid,.spec-list,.stats{grid-template-columns:1fr}.hero-home h1{font-size:42px}.intro-band,.mini-top,.panel{padding:22px}.hero-side{min-height:280px}}

.brand-logo{width:44px;height:44px;display:block;filter:drop-shadow(0 10px 18px rgba(42,171,238,.28))}
.nav{gap:14px}.nav a{font-size:15px;letter-spacing:-.01em;white-space:nowrap}
.hero-media{grid-template-rows:1fr auto;align-content:stretch}.hero-media-frame{width:100%;height:100%;min-height:360px;border-radius:26px;background:radial-gradient(circle at 30% 20%,rgba(42,171,238,.14),transparent 35%),linear-gradient(180deg,#f3f9ff,#ffffff);border:1px solid var(--line);display:grid;place-items:center;padding:22px}.hero-media-frame img{max-width:100%;max-height:420px;object-fit:contain}.hero-media-note{margin-top:12px;color:var(--muted);font-size:13px;text-align:center}
.card,.step-card,.product-card,.panel,.art-card,.stat,.spec{position:relative;overflow:hidden;isolation:isolate;transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease}
.card::before,.step-card::before,.product-card::before,.panel::before,.art-card::before,.stat::before,.spec::before{content:'';position:absolute;inset:0;padding:1px;border-radius:inherit;background:linear-gradient(120deg,transparent 18%, rgba(42,171,238,.0) 32%, rgba(42,171,238,.62) 50%, rgba(97,205,252,.52) 58%, transparent 76%);background-size:220% 100%;background-position:180% 0;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.45;animation:border-run 8s linear infinite;pointer-events:none}
.card:hover,.step-card:hover,.product-card:hover,.art-card:hover,.stat:hover,.spec:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(24,50,74,.14);border-color:#bfd8ee}
.panel:hover{box-shadow:0 24px 58px rgba(24,50,74,.12);border-color:#bfd8ee}
.card:hover::before,.step-card:hover::before,.product-card:hover::before,.art-card:hover::before,.stat:hover::before,.spec:hover::before,.panel:hover::before{opacity:.9;animation-duration:2.2s}
.product-card .thumb{position:relative}.product-card .thumb img{max-width:100%;max-height:88px;object-fit:contain}.slot-note{margin-top:8px;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.01em}
@keyframes border-run{0%{background-position:180% 0}100%{background-position:-40% 0}}
@media (prefers-reduced-motion: reduce){.card::before,.step-card::before,.product-card::before,.panel::before,.art-card::before,.stat::before,.spec::before{animation:none}}
@media (max-width:1080px){.nav a{font-size:16px}.brand-logo{width:42px;height:42px}}
@media (max-width:720px){.hero-media-frame{min-height:240px}.hero-media-frame img{max-height:260px}.slot-note{font-size:11px}}

/* v4 image integration */
.hero-side.hero-media{background:linear-gradient(180deg,#0d1017 0%,#0f1420 100%);border-color:#1e2634}
.hero-media-frame{background:radial-gradient(circle at 18% 22%,rgba(42,171,238,.16),transparent 30%),radial-gradient(circle at 72% 72%,rgba(97,205,252,.11),transparent 26%),linear-gradient(180deg,#0d1017,#131b28);border-color:#202b3d;min-height:440px;padding:14px}
.hero-media-frame img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 26px 38px rgba(0,0,0,.34))}
.hero-media-note{display:none}
@media (max-width:720px){.hero-media-frame{min-height:300px}}

.product-listing{padding:26px 0 22px}
.product-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:18px}
.product-head h1{font-size:clamp(34px,5vw,54px);line-height:1.02;letter-spacing:-.03em;margin:0}
.product-head p{margin:0;color:var(--muted);max-width:64ch}
.product-grid.product-grid-two{grid-template-columns:repeat(2,1fr)}
.product-card{padding:18px 18px 20px}
.product-card .thumb{height:220px;background:radial-gradient(circle at 30% 20%, rgba(42,171,238,.12), transparent 26%), linear-gradient(180deg,#0d1017,#131b28);border-color:#202b3d;padding:14px}
.product-card .thumb img{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 18px 24px rgba(0,0,0,.28))}
.product-card .buy-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}
.product-card .buy-note{font-size:12px;color:var(--muted)}
.product-card .buy-row .btn{padding:12px 16px}
.product-card .spec-mini{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.product-card .spec-mini span{padding:6px 10px;border-radius:999px;background:#edf6ff;color:var(--primary2);font-size:12px;font-weight:700}
@media (max-width:900px){.product-grid.product-grid-two{grid-template-columns:1fr}.product-head{display:block}.product-head p{margin-top:10px}}


/* v5 cleanup */
.brand.brand-image{display:flex;align-items:center}
.brand.brand-image img{height:42px;width:auto;display:block}
@media (max-width:740px){.brand.brand-image img{height:34px}}

.hero-side.hero-media{background:transparent !important;border-color:var(--line) !important;box-shadow:none !important}
.hero-media-frame{
  background:
    radial-gradient(circle at 18% 20%, rgba(42,171,238,.12), transparent 26%),
    radial-gradient(circle at 72% 70%, rgba(42,171,238,.08), transparent 22%),
    linear-gradient(180deg,#f8fbff,#eef6ff) !important;
  border-color:#dbe8f6 !important;
  min-height:440px;
}
.hero-media-frame img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 18px 32px rgba(18,38,58,.18)) !important;
}

.product-listing .eyebrow{display:none}
.product-head p{max-width:58ch}
.product-card{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  min-height:100%;
}
.product-card .thumb{
  height:220px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  background:
    radial-gradient(circle at 32% 18%, rgba(42,171,238,.10), transparent 26%),
    linear-gradient(180deg,#f8fbff,#eef6ff) !important;
  border:1px solid #dbe8f6 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
  overflow:hidden;
  margin-bottom:14px;
}
.product-card .thumb img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 12px 20px rgba(18,38,58,.16)) !important;
}
.product-card h3{
  margin-top:4px;
  min-height:54px;
}
.product-card p{
  flex:1 1 auto;
}
.product-card .buy-row{
  align-items:flex-end;
  margin-top:18px;
}
.product-card .buy-note{
  max-width:60%;
  line-height:1.35;
}
@media (max-width:900px){
  .product-card h3{min-height:auto}
  .product-card .buy-note{max-width:none}
}


/* v6 product image update */
.product-card .thumb{
  height: 232px;
  padding: 12px 12px 6px;
}
.product-card .thumb img{
  object-position:center bottom;
}
.product-card h3{
  margin-top:8px;
  line-height:1.16;
}


/* v7 homepage hero steps */
.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.hero-actions .btn-secondary{background:#fff}
.hero-steps-frame{
  background:
    radial-gradient(circle at 18% 18%, rgba(42,171,238,.10), transparent 28%),
    radial-gradient(circle at 76% 74%, rgba(42,171,238,.07), transparent 24%),
    linear-gradient(180deg,#f8fbff,#eef6ff) !important;
  padding:18px !important;
}
.hero-steps-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
  width:100%;
}
.hero-step{
  display:block;
  color:var(--ink);
  background:linear-gradient(180deg,#ffffff,#f7fbff);
  border:1px solid #dbe8f6;
  border-radius:22px;
  padding:18px 18px 16px;
  box-shadow:0 10px 26px rgba(18,38,58,.06);
  min-height:152px;
  position:relative;
  overflow:hidden;
}
.hero-step:before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  padding:1px;
  background:linear-gradient(115deg,rgba(42,171,238,0),rgba(42,171,238,.38),rgba(42,171,238,0));
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
          mask-composite:exclude;
  opacity:.55;
  animation:heroBorderRun 5.5s linear infinite;
}
.hero-step:hover{transform:translateY(-2px)}
.hero-step-num{
  display:inline-grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:50%;
  background:#e9f6ff;
  color:#1498da;
  font-weight:800;
  margin-bottom:10px;
}
.hero-step h3{
  margin:0 0 8px;
  font-size:20px;
  line-height:1.15;
}
.hero-step p{
  margin:0;
  color:var(--muted);
  line-height:1.45;
}
@keyframes heroBorderRun{
  0%{transform:translateX(-20%)}
  100%{transform:translateX(20%)}
}
@media (max-width:820px){
  .hero-steps-grid{grid-template-columns:1fr}
}



/* v8 homepage hero layout */
.hero-home{
  min-height:calc(100dvh - 76px);
  padding:16px 0 22px;
  display:flex;
  align-items:center;
}
.hero-home .shell{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  gap:24px;
  align-items:stretch;
}
.hero-main,
.hero-steps-panel{
  min-height:clamp(420px, 68dvh, 580px);
}
.hero-main{
  padding:clamp(28px,3vw,40px);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.hero-home p.lead{
  max-width:36rem;
  margin-bottom:22px;
}
.hero-cta-row{
  gap:14px;
}
.hero-cta-row .btn{
  min-width:172px;
  justify-content:center;
}
.hero-steps-panel{
  padding:clamp(16px,2vw,22px);
  display:flex;
  align-items:center;
}
.hero-steps-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-auto-rows:1fr;
  gap:14px;
  width:100%;
}
.hero-step-card{
  min-height:168px;
  padding:20px 20px 18px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  background:
    radial-gradient(circle at top left, rgba(42,171,238,.08), transparent 34%),
    linear-gradient(180deg,#ffffff 0%,#f6fbff 100%);
}
.hero-step-card h3{
  font-size:clamp(19px,2vw,24px);
  margin-bottom:10px;
}
.hero-step-card p{
  line-height:1.5;
}
.hero-step-card .step-num{
  margin-bottom:14px;
}

@media (max-width:1080px){
  .hero-home{
    min-height:auto;
    padding:14px 0 18px;
  }
  .hero-home .shell{
    grid-template-columns:1fr;
    gap:18px;
  }
  .hero-main,
  .hero-steps-panel{
    min-height:auto;
  }
  .hero-main{
    align-items:center;
    text-align:center;
  }
  .hero-home p.lead{
    max-width:42rem;
  }
  .hero-cta-row{
    justify-content:center;
  }
}

@media (max-width:720px){
  .hero-home{
    padding:12px 0 14px;
  }
  .hero-main{
    padding:24px;
  }
  .hero-home h1{
    font-size:clamp(34px,9vw,46px);
  }
  .hero-home p.lead{
    font-size:16px;
    margin-bottom:18px;
  }
  .hero-cta-row{
    width:100%;
    gap:10px;
  }
  .hero-cta-row .btn{
    width:100%;
    min-width:0;
  }
  .hero-steps-grid{
    grid-template-columns:1fr;
  }
  .hero-step-card{
    min-height:auto;
  }
}


/* v9 logo + favicon + hero harmony */
.brand.brand-image{
  gap:0;
  flex:0 0 auto;
}
.brand-logo-wordmark{
  display:block;
  width:auto;
  height:46px;
  max-width:min(326px, 22vw);
  object-fit:contain;
  filter:drop-shadow(0 10px 18px rgba(21,102,138,.10));
}
.brand.brand-image span,
.brand small{
  display:none;
}
@media (max-width:1080px){
  .brand-logo-wordmark{
    height:42px;
    max-width:220px;
  }
}
@media (max-width:740px){
  .brand-logo-wordmark{
    height:34px;
    max-width:180px;
  }
}

.hero-home{
  min-height:calc(100dvh - 76px);
  padding:18px 0 22px;
}
.hero-home .shell{
  grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);
  gap:24px;
  align-items:stretch;
}
.hero-main,
.hero-steps-panel{
  min-height:clamp(430px, 70dvh, 590px);
}
.hero-main{
  background:
    radial-gradient(circle at 14% 14%, rgba(42,171,238,.13), transparent 32%),
    linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);
  padding:clamp(30px,3vw,42px);
  justify-content:center;
}
.hero-main .eyebrow{
  display:none;
}
.hero-home h1{
  margin:0 0 18px;
  font-size:clamp(42px,6vw,74px);
  line-height:.96;
  letter-spacing:-.045em;
  max-width:10ch;
}
.hero-home h1 span{
  color:var(--primary2);
}
.hero-home p.lead{
  max-width:35rem;
  font-size:clamp(17px,1.5vw,20px);
  line-height:1.55;
  margin-bottom:26px;
}
.hero-cta-row{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  gap:12px;
  width:max-content;
  max-width:100%;
}
.hero-cta-row .btn{
  min-width:0;
  padding-inline:20px;
  white-space:nowrap;
  flex:0 0 auto;
}
.hero-steps-panel{
  background:
    radial-gradient(circle at 18% 18%, rgba(42,171,238,.12), transparent 30%),
    radial-gradient(circle at 82% 78%, rgba(42,171,238,.08), transparent 24%),
    linear-gradient(180deg,#f7fbff 0%,#eef6ff 100%);
  padding:16px;
}
.hero-steps-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.hero-step-card{
  min-height:176px;
  padding:20px 20px 18px;
  border-radius:24px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  background:
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(244,251,255,.96));
  box-shadow:0 14px 30px rgba(24,50,74,.07);
}
.hero-step-card:nth-child(1){background:radial-gradient(circle at top left, rgba(42,171,238,.12), transparent 40%), linear-gradient(180deg,#ffffff,#f7fbff);}
.hero-step-card:nth-child(2){background:radial-gradient(circle at top right, rgba(42,171,238,.09), transparent 36%), linear-gradient(180deg,#ffffff,#f7fbff);}
.hero-step-card:nth-child(3){background:radial-gradient(circle at 20% 80%, rgba(42,171,238,.10), transparent 34%), linear-gradient(180deg,#ffffff,#f7fbff);}
.hero-step-card:nth-child(4){background:radial-gradient(circle at 82% 18%, rgba(42,171,238,.10), transparent 34%), linear-gradient(180deg,#ffffff,#f7fbff);}
.hero-step-top{
  display:flex;
  justify-content:flex-end;
  margin-bottom:16px;
}
.hero-step-card .step-num{
  display:none;
}
.hero-step-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:46px;
  height:30px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(42,171,238,.18);
  background:rgba(255,255,255,.82);
  color:var(--primary2);
  font-size:13px;
  font-weight:800;
  letter-spacing:.08em;
  box-shadow:0 10px 24px rgba(18,38,58,.06);
}
.hero-step-card h3{
  margin:0 0 10px;
  font-size:clamp(20px,2vw,24px);
  line-height:1.16;
}
.hero-step-card p{
  margin:0;
  color:var(--muted);
  line-height:1.52;
  font-size:15px;
  max-width:26ch;
}
.hero-step-card::after{
  content:"→";
  position:absolute;
  right:20px;
  bottom:18px;
  color:rgba(34,158,217,.7);
  font-size:18px;
  font-weight:800;
  transition:transform .25s ease, opacity .25s ease;
  opacity:.7;
}
.hero-step-card:hover::after{
  transform:translateX(2px);
  opacity:1;
}

@media (max-width:1180px){
  .hero-home h1{
    font-size:clamp(40px,5.8vw,66px);
  }
  .hero-cta-row .btn{
    padding-inline:18px;
  }
}
@media (max-width:1080px){
  .hero-home{
    min-height:auto;
    padding:14px 0 18px;
  }
  .hero-home .shell{
    grid-template-columns:1fr;
  }
  .hero-main,
  .hero-steps-panel{
    min-height:auto;
  }
  .hero-main{
    text-align:center;
    align-items:center;
  }
  .hero-home h1{
    max-width:none;
  }
  .hero-home p.lead{
    max-width:40rem;
  }
  .hero-cta-row{
    width:100%;
    max-width:640px;
    justify-content:center;
    flex-wrap:wrap;
  }
}
@media (max-width:720px){
  .hero-home{
    padding:12px 0 14px;
  }
  .hero-main{
    padding:24px;
  }
  .hero-home h1{
    font-size:clamp(34px,10vw,48px);
    line-height:1;
  }
  .hero-home p.lead{
    font-size:16px;
    margin-bottom:18px;
  }
  .hero-cta-row{
    width:100%;
    flex-direction:column;
    gap:10px;
  }
  .hero-cta-row .btn{
    width:100%;
  }
  .hero-steps-grid{
    grid-template-columns:1fr;
  }
  .hero-step-card{
    min-height:auto;
  }
  .hero-step-card p{
    max-width:none;
  }
}

/* v11 hero refinements */
.hero-home{
  min-height:calc(100dvh - 76px);
  padding:18px 0;
}
.hero-home .shell{
  grid-template-columns:minmax(0,1fr) minmax(0,1.03fr);
  gap:20px;
  align-items:stretch;
}
.hero-main,
.hero-steps-panel{
  min-height:clamp(440px,70dvh,580px);
  padding:28px;
}
.hero-main{
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:
    radial-gradient(circle at 14% 14%, rgba(42,171,238,.11), transparent 30%),
    linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);
}
.hero-home h1{
  margin:0 0 18px;
  max-width:none;
  font-size:clamp(42px,5.8vw,72px);
  line-height:.95;
  letter-spacing:-.045em;
}
.hero-title-line,
.hero-title-accent{
  display:block;
  white-space:nowrap;
}
.hero-title-accent{
  color:var(--primary2);
}
.hero-home p.lead{
  max-width:33rem;
  margin:0 0 24px;
}
.hero-cta-row{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  gap:12px;
  width:max-content;
  max-width:100%;
}
.hero-cta-row .btn{
  flex:0 0 auto;
  white-space:nowrap;
}
.hero-steps-panel{
  display:flex;
  align-items:stretch;
  background:
    radial-gradient(circle at 18% 18%, rgba(42,171,238,.11), transparent 28%),
    radial-gradient(circle at 82% 78%, rgba(42,171,238,.08), transparent 24%),
    linear-gradient(180deg,#f7fbff 0%,#eef6ff 100%);
}
.hero-steps-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-auto-rows:minmax(0,1fr);
  gap:16px;
  width:100%;
}
.hero-step-card{
  min-height:0;
  padding:22px 20px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.hero-step-top,
.hero-step-badge,
.hero-step-card .step-num{
  display:none !important;
}
.hero-step-card h3{
  margin:0 0 10px;
  font-size:22px;
  line-height:1.14;
}
.hero-step-card p{
  margin:0;
  max-width:30ch;
  line-height:1.45;
  font-size:15px;
}
.hero-step-card::after{
  right:18px;
  bottom:16px;
}



@media (max-width:1180px){
  .hero-main,
  .hero-steps-panel{
    padding:24px;
  }
  .hero-home h1{
    font-size:clamp(38px,5.6vw,62px);
  }
  .hero-step-card h3{
    font-size:20px;
  }
}

@media (max-width:1080px){
  .hero-home{
    min-height:auto;
    padding:14px 0 16px;
  }
  .hero-home .shell{
    grid-template-columns:1fr;
    gap:16px;
  }
  .hero-main,
  .hero-steps-panel{
    min-height:auto;
    padding:24px;
  }
  .hero-main{
    text-align:center;
    align-items:center;
  }
  .hero-home p.lead{
    max-width:40rem;
  }
  .hero-cta-row{
    width:100%;
    max-width:640px;
    justify-content:center;
    flex-wrap:wrap;
  }
}

@media (max-width:720px){
  .hero-home{
    padding:12px 0 14px;
  }
  .hero-main,
  .hero-steps-panel{
    padding:20px;
  }
  .hero-home h1{
    font-size:clamp(26px,8vw,40px);
    line-height:.98;
  }
  .hero-home p.lead{
    font-size:16px;
    margin-bottom:18px;
  }
  .hero-cta-row{
    width:100%;
    flex-direction:column;
    gap:10px;
  }
  .hero-cta-row .btn{
    width:100%;
  }
  .hero-steps-grid{
    grid-template-columns:1fr;
  }
  .hero-step-card{
    padding:20px 18px;
  }
  .hero-step-card h3{
    white-space:normal;
    font-size:20px;
  }
  .hero-step-card p{
    max-width:none;
  }
}

@media (max-width:380px){
  .hero-home h1{
    font-size:24px;
  }
}


/* v13 hero balance */
.hero-home{
  padding:18px 0 18px;
}
.hero-home .shell{
  grid-template-columns:minmax(0,1.16fr) minmax(0,.84fr);
  gap:18px;
  align-items:stretch;
}
.hero-main,
.hero-steps-panel{
  padding:22px;
}
.hero-main{
  justify-content:center;
}
.hero-home h1{
  margin:0 0 12px;
  max-width:none;
  font-size:clamp(28px,3.95vw,54px);
  line-height:.96;
  letter-spacing:-.045em;
}
.hero-title-line,
.hero-title-accent{
  display:block;
  white-space:nowrap;
}
.hero-home p.lead{
  max-width:33rem;
  margin:0 0 18px;
}
.hero-cta-row{
  gap:10px;
}
.hero-steps-panel{
  padding:16px;
}
.hero-steps-grid{
  gap:14px;
}
.hero-step-card{
  min-height:168px;
  padding:16px 16px 14px;
  justify-content:flex-start;
}
.hero-step-top{
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}
.hero-step-badge{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  min-width:44px;
  height:28px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(42,171,238,.18);
  background:rgba(255,255,255,.86);
  color:var(--primary2);
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  box-shadow:0 8px 18px rgba(18,38,58,.06);
}
.hero-step-visual{
  position:relative;
  width:54px;
  height:54px;
  border-radius:16px;
  flex:0 0 54px;
  border:1px solid rgba(42,171,238,.16);
  background:
    radial-gradient(circle at 28% 24%, rgba(255,255,255,.95), rgba(255,255,255,.45) 28%, transparent 29%),
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(234,246,255,.96));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.88), 0 10px 24px rgba(18,38,58,.06);
  overflow:hidden;
}
.hero-step-visual::before,
.hero-step-visual::after{
  content:'';
  position:absolute;
  inset:0;
  margin:auto;
}
.hero-step-visual-device::before{
  width:24px;
  height:34px;
  border-radius:8px;
  border:2px solid #2197d6;
  top:9px;
  background:linear-gradient(180deg, rgba(42,171,238,.08), rgba(42,171,238,.18));
}
.hero-step-visual-device::after{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#2197d6;
  top:31px;
  box-shadow:-10px -10px 0 -2px rgba(42,171,238,.22), 10px 2px 0 -3px rgba(42,171,238,.18);
}
.hero-step-visual-firmware::before{
  width:26px;
  height:26px;
  border-radius:8px;
  border:2px solid #2197d6;
  background:linear-gradient(180deg, rgba(42,171,238,.12), rgba(42,171,238,.24));
}
.hero-step-visual-firmware::after{
  width:42px;
  height:34px;
  background:
    linear-gradient(#2197d6 0 0) 50% 0/2px 8px no-repeat,
    linear-gradient(#2197d6 0 0) 50% 100%/2px 8px no-repeat,
    linear-gradient(#2197d6 0 0) 0 50%/8px 2px no-repeat,
    linear-gradient(#2197d6 0 0) 100% 50%/8px 2px no-repeat,
    linear-gradient(#2197d6 0 0) 16% 18%/2px 7px no-repeat,
    linear-gradient(#2197d6 0 0) 84% 18%/2px 7px no-repeat,
    linear-gradient(#2197d6 0 0) 16% 82%/2px 7px no-repeat,
    linear-gradient(#2197d6 0 0) 84% 82%/2px 7px no-repeat,
    linear-gradient(#2197d6 0 0) 18% 16%/7px 2px no-repeat,
    linear-gradient(#2197d6 0 0) 82% 16%/7px 2px no-repeat,
    linear-gradient(#2197d6 0 0) 18% 84%/7px 2px no-repeat,
    linear-gradient(#2197d6 0 0) 82% 84%/7px 2px no-repeat;
}
.hero-step-visual-node::before{
  width:30px;
  height:22px;
  background:
    linear-gradient(#2197d6 0 0) 0 4px/22px 2px no-repeat,
    linear-gradient(#2197d6 0 0) 0 11px/30px 2px no-repeat,
    linear-gradient(#2197d6 0 0) 0 18px/18px 2px no-repeat,
    radial-gradient(circle, #2197d6 0 3px, transparent 3.5px) 18px 0/8px 8px no-repeat,
    radial-gradient(circle, #2197d6 0 3px, transparent 3.5px) 24px 7px/8px 8px no-repeat,
    radial-gradient(circle, #2197d6 0 3px, transparent 3.5px) 12px 14px/8px 8px no-repeat;
}
.hero-step-visual-node::after{
  width:36px;
  height:36px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(42,171,238,.18) 0 30%, transparent 31% 100%);
}
.hero-step-visual-check::before{
  width:34px;
  height:34px;
  border-radius:50%;
  border:2px solid rgba(33,151,214,.86);
  box-shadow:0 0 0 6px rgba(42,171,238,.08);
}
.hero-step-visual-check::after{
  width:18px;
  height:10px;
  border-left:3px solid #2197d6;
  border-bottom:3px solid #2197d6;
  transform:rotate(-45deg);
  top:2px;
}
.hero-step-card h3{
  margin:0 0 10px;
  font-size:clamp(18px,1.28vw,20px);
  line-height:1.15;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.hero-step-card p{
  margin:0;
  max-width:31ch;
  font-size:15px;
  line-height:1.42;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:2.84em;
}
.hero-step-card::after{
  right:16px;
  bottom:14px;
}
@media (max-width:1180px){
  .hero-home .shell{
    grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  }
  .hero-home h1{
    font-size:clamp(26px,3.7vw,48px);
  }
  .hero-main,
  .hero-steps-panel{
    padding:20px;
  }
}
@media (max-width:1080px){
  .hero-home .shell{
    grid-template-columns:1fr;
  }
  .hero-main,
  .hero-steps-panel{
    padding:20px;
  }
  .hero-home h1{
    font-size:clamp(24px,5.2vw,42px);
  }
  .hero-cta-row{
    width:100%;
    max-width:100%;
    justify-content:flex-start;
    flex-wrap:wrap;
  }
}
@media (max-width:720px){
  .hero-home{
    padding:12px 0 14px;
  }
  .hero-main,
  .hero-steps-panel{
    padding:18px;
  }
  .hero-home h1{
    font-size:clamp(20px,6.9vw,34px);
    line-height:.98;
  }
  .hero-home p.lead{
    font-size:16px;
    margin:0 0 18px;
  }
  .hero-cta-row{
    width:100%;
    flex-direction:column;
    gap:10px;
  }
  .hero-cta-row .btn{
    width:100%;
  }
  .hero-steps-grid{
    grid-template-columns:1fr;
  }
  .hero-step-card{
    min-height:auto;
    padding:16px;
  }
  .hero-step-card h3{
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
  }
  .hero-step-card p{
    display:block;
    min-height:auto;
    max-width:none;
  }
}
@media (max-width:380px){
  .hero-home h1{
    font-size:19px;
  }
  .hero-main,
  .hero-steps-panel{
    padding:16px;
  }
  .hero-step-top{
    margin-bottom:12px;
  }
}


/* system cleanup layer */
:root{--bg:#f4f8fd;--bg2:#edf5fc;--surface:#ffffff;--surface2:#f8fbff;--text:#18324a;--ink:#18324a;--muted:#5f758c;--line:#d7e5f2;--primary:#116ea8;--primary2:#0b5e91;--deep:#0a4d77;--shadow:0 16px 36px rgba(24,50,74,.08);--radius:20px;--container:1180px}html{scroll-padding-top:92px}body{background:linear-gradient(180deg,var(--bg) 0%,#fff 24%,var(--bg) 100%)}a{color:var(--primary)}img{height:auto}.site-header{background:rgba(255,255,255,.94);border-bottom:1px solid rgba(215,229,242,.96)}.header-inner{position:relative;min-height:78px;gap:18px}.skip-link{position:absolute;left:12px;top:8px;transform:translateY(-180%);padding:10px 14px;border-radius:12px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);color:var(--text);font-weight:700;z-index:1200}.skip-link:focus{transform:translateY(0)}.nav a{font-weight:700;color:var(--muted)}.nav a:hover,.nav a.active{color:var(--text)}.menu-toggle{font-weight:800}.btn{border-radius:999px}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;box-shadow:0 12px 26px rgba(17,110,168,.22)}.btn-secondary{background:#fff;color:var(--text);border-color:var(--line)}.btn:hover{transform:none}.btn:focus-visible,a:focus-visible,button:focus-visible,[role="button"]:focus-visible,.card:focus-visible,.step-card:focus-visible,.product-card:focus-visible{outline:3px solid var(--primary2);outline-offset:3px}.breadcrumbs{padding:16px 0 0;font-size:14px;color:var(--muted)}.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}.breadcrumbs li{display:flex;align-items:center;gap:8px}.breadcrumbs li+li::before{content:"/";color:#8aa3ba}.breadcrumbs a{color:var(--muted)}.hero-home{min-height:auto;padding:28px 0 20px}.hero-home .shell{align-items:stretch;gap:20px}.hero-main,.hero-side,.intro-band,.mini-top,.panel,.card,.step-card,.product-card,.art-card,.stat,.spec{border-radius:20px;box-shadow:var(--shadow)}.hero-main,.hero-side,.intro-band,.mini-top{border-color:var(--line)}.hero-main,.hero-steps-panel{min-height:auto;padding:28px}.hero-home h1{max-width:12ch;font-size:clamp(40px,5.8vw,68px)}.hero-home p.lead{max-width:40rem}.hero-cta-row{flex-wrap:wrap;width:auto}.hero-cta-row .btn{min-width:min(100%,220px)}.hero-step-card{min-height:0;padding:20px}.hero-step-card h3{white-space:normal;overflow:visible;text-overflow:clip}.hero-step-card p{max-width:none;display:block;overflow:visible}.card,.step-card,.product-card,.panel,.art-card,.stat,.spec{transition:border-color .2s ease, box-shadow .2s ease}.card::before,.step-card::before,.product-card::before,.panel::before,.art-card::before,.stat::before,.spec::before{content:none !important;animation:none !important}.card:hover,.step-card:hover,.product-card:hover,.art-card:hover,.stat:hover,.spec:hover,.panel:hover{transform:none;box-shadow:0 18px 34px rgba(24,50,74,.10);border-color:#c7ddee}.tag,.product-card .spec-mini span,.hero-step-badge,.product-card .badge{color:var(--primary2)}.tag,.product-card .spec-mini span,.product-card .badge{background:#edf6ff}.product-card .buy-note{font-size:13px;line-height:1.4}.footer{margin-top:24px}.footer-grid a,.footer-grid p{line-height:1.55}@media (max-width:1080px){.mobile-open{overflow:hidden}.mobile-open .site-header{backdrop-filter:none}.mobile-open .nav{display:flex;position:absolute;left:0;right:0;top:calc(100% + 8px);flex-direction:column;align-items:stretch;background:#fff;border:1px solid var(--line);padding:16px;border-radius:20px;box-shadow:0 20px 48px rgba(24,50,74,.16)}.nav a{padding:10px 12px;border-radius:12px}.nav a:hover,.nav a.active{background:#f4f8fd}}@media (max-width:720px){.hero-home{padding:18px 0 14px}.hero-main,.hero-steps-panel,.intro-band,.mini-top,.panel{padding:22px}.hero-home h1{max-width:none;font-size:clamp(34px,10vw,48px)}.hero-cta-row{width:100%}.hero-cta-row .btn{width:100%}}


/* patch: remove skip link and visual breadcrumbs, stabilize images */
.skip-link,.breadcrumbs{display:none !important;}
.art-card img,.hero-media-frame img,.product-card .thumb img,.rich img{max-width:100%;height:auto;object-fit:contain;}
.art-card picture,.hero-media-frame picture,.product-card .thumb picture{display:block;width:100%;}
.brand-logo-wordmark{display:block;}

/* v15 hero rebuild + image system */
:root{
  --media-radius:28px;
  --media-inner-radius:22px;
  --media-surface:linear-gradient(180deg,#f5faff 0%,#ffffff 100%);
  --media-border:1px solid rgba(215,229,242,.98);
}

.hero-home-rebuild{
  padding:34px 0 18px;
}
.hero-home-rebuild .hero-shell{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  gap:22px;
  align-items:stretch;
}
.hero-home-rebuild .hero-main{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:34px;
  background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);
}
.hero-home-rebuild .eyebrow{
  width:max-content;
  margin-bottom:18px;
}
.hero-home-rebuild h1{
  max-width:10ch;
  margin-bottom:18px;
}
.hero-home-rebuild .hero-title-line,
.hero-home-rebuild .hero-title-accent{
  display:block;
}
.hero-home-rebuild .hero-title-accent{
  color:var(--primary2);
}
.hero-home-rebuild p.lead{
  max-width:34rem;
  font-size:19px;
  margin-bottom:18px;
}
.hero-points{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 22px;
}
.hero-point{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border-radius:999px;
  background:#edf6ff;
  border:1px solid rgba(17,110,168,.12);
  color:var(--text);
  font-weight:700;
  line-height:1.3;
}
.hero-point::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:999px;
  background:var(--primary);
  box-shadow:0 0 0 4px rgba(17,110,168,.10);
}
.hero-showcase{
  display:grid;
  gap:16px;
}
.hero-visual-card,
.art-card,
.product-card .thumb,
.hero-media-frame{
  position:relative;
  overflow:hidden;
  border-radius:var(--media-radius);
  border:var(--media-border);
  background:var(--media-surface);
  box-shadow:var(--shadow);
}
.hero-visual-card{
  min-height:100%;
  padding:18px;
  display:grid;
  gap:12px;
  align-content:start;
}
.hero-visual-card picture,
.art-card picture,
.product-card .thumb picture,
.hero-media-frame picture{
  display:block;
  width:100%;
}
.hero-visual-card img,
.art-card img,
.product-card .thumb img,
.hero-media-frame img,
.rich img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  border-radius:var(--media-inner-radius);
  object-fit:contain;
}
.hero-visual-card figcaption{
  margin:0;
  padding:0 4px 2px;
  color:var(--muted);
  font-size:14px;
  line-height:1.5;
}
.hero-glance-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.hero-glance-card{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:18px 20px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  color:inherit;
  box-shadow:0 10px 26px rgba(24,50,74,.06);
}
.hero-glance-card:hover{border-color:#c7ddee;box-shadow:0 16px 32px rgba(24,50,74,.10)}
.hero-glance-card:focus-visible{outline:3px solid var(--primary2);outline-offset:3px}
.hero-glance-card strong{
  font-size:20px;
  line-height:1.15;
}
.hero-glance-card p{
  margin:0;
  color:var(--muted);
}
.hero-glance-kicker{
  color:var(--primary2);
  font-size:13px;
  font-weight:800;
  letter-spacing:.03em;
  text-transform:uppercase;
}
.home-route{
  padding-top:6px;
}
.home-route-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.home-route-grid .hero-step-card{
  min-height:100%;
  padding:22px;
}
.home-route-grid .hero-step-badge{
  display:inline-flex;
  margin-bottom:16px;
}
.home-route-grid h3{
  margin:0 0 10px;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
}
.home-route-grid p{
  margin:0;
  color:var(--muted);
}

.art-card{
  padding:16px;
}
.rich .art-card,
.section .art-card{
  min-height:0;
}
.rich .art-card img,
.section .art-card img{
  background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%);
}
.product-card .thumb{
  padding:18px;
}
.product-card .thumb img{
  max-height:100%;
  width:auto;
  margin:auto;
  border-radius:20px;
}
.rich img:not(.brand-logo-wordmark),
.art-card img,
.product-card .thumb img{
  box-shadow:0 14px 34px rgba(24,50,74,.10);
}

@media (max-width:1080px){
  .hero-home-rebuild .hero-shell,
  .home-route-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width:820px){
  .hero-home-rebuild .hero-shell,
  .hero-glance-grid,
  .home-route-grid{
    grid-template-columns:1fr;
  }
  .hero-home-rebuild .hero-main,
  .hero-visual-card{
    padding:24px;
  }
}
@media (max-width:720px){
  .hero-home-rebuild{
    padding:18px 0 10px;
  }
  .hero-home-rebuild h1{
    max-width:none;
  }
  .hero-home-rebuild p.lead{
    font-size:17px;
  }
  .hero-point{
    width:100%;
    justify-content:flex-start;
  }
  .hero-glance-card{
    padding:16px 18px;
  }
  .hero-visual-card,
  .art-card,
  .product-card .thumb,
  .hero-media-frame{
    border-radius:22px;
  }
  .hero-visual-card img,
  .art-card img,
  .product-card .thumb img,
  .hero-media-frame img,
  .rich img{
    border-radius:18px;
  }
}


/* v16 hero refinement + product cards */
:root{
  --media-radius:32px;
  --media-inner-radius:26px;
}

.hero-home-rebuild{
  padding:40px 0 20px;
}
.hero-home-rebuild .hero-shell{
  grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);
  gap:28px;
}
.hero-home-rebuild .hero-main{
  padding:40px 40px 36px;
}
.hero-home-rebuild .eyebrow{
  margin-bottom:14px;
}
.hero-home-rebuild h1{
  max-width:11ch;
  margin-bottom:14px;
}
.hero-home-rebuild .hero-title-line{
  color:#2c455a;
}
.hero-home-rebuild .hero-title-accent{
  color:var(--primary2);
}
.hero-home-rebuild p.lead{
  max-width:36rem;
  margin-bottom:20px;
  font-size:20px;
  line-height:1.45;
}
.hero-cta-row{
  gap:14px;
  margin-top:4px;
  align-items:center;
}
.hero-cta-row .btn{
  min-width:230px;
  padding:15px 22px;
}
.hero-showcase{
  gap:18px;
}
.hero-device-card{
  min-height:0;
  padding:20px;
  background:
    radial-gradient(circle at 22% 18%, rgba(17,110,168,.18), transparent 32%),
    radial-gradient(circle at 82% 78%, rgba(11,94,145,.12), transparent 26%),
    linear-gradient(180deg,#f7fbff 0%,#ffffff 100%);
}
.hero-device-stage{
  display:grid;
  place-items:center;
  min-height:360px;
  padding:18px;
  border-radius:28px;
  background:
    radial-gradient(circle at 50% 62%, rgba(17,110,168,.10), transparent 34%),
    linear-gradient(180deg,#eef6ff 0%,#ffffff 100%);
  border:1px solid rgba(215,229,242,.9);
}
.hero-device-image{
  width:min(100%,560px);
  margin:0 auto;
  filter:drop-shadow(0 36px 48px rgba(24,50,74,.18));
}
.hero-device-note{
  display:grid;
  gap:8px;
  padding:2px 6px 4px;
}
.hero-visual-kicker{
  color:var(--primary2);
  font-size:13px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.hero-device-note strong{
  font-size:20px;
  line-height:1.25;
}
.hero-device-note p{
  margin:0;
  color:var(--muted);
}
.hero-glance-grid{
  gap:14px;
}
.hero-glance-card{
  border-radius:24px;
  padding:18px 20px 20px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
}
.hero-glance-card strong{
  font-size:18px;
}
.hero-glance-card p{
  line-height:1.5;
}
.hero-glance-kicker{
  display:none;
}

.art-card,
.hero-visual-card,
.product-card .thumb,
.hero-media-frame{
  border-radius:var(--media-radius);
}
.art-card img,
.hero-visual-card img,
.product-card .thumb img,
.hero-media-frame img,
.rich img{
  border-radius:var(--media-inner-radius);
}

.product-grid.product-grid-two{
  gap:22px;
}
.product-card{
  display:grid;
  gap:18px;
  padding:20px 20px 22px;
  background:
    radial-gradient(circle at 16% 10%, rgba(17,110,168,.10), transparent 28%),
    linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
}
.product-visual{
  display:grid;
  gap:12px;
}
.product-card .thumb{
  height:250px;
  padding:22px;
  background:
    radial-gradient(circle at 50% 28%, rgba(17,110,168,.10), transparent 30%),
    linear-gradient(180deg,#eef5ff 0%,#ffffff 100%);
  display:grid;
  place-items:center;
}
.product-card .thumb img{
  width:min(100%,380px);
  max-height:170px;
  object-fit:contain;
  filter:drop-shadow(0 22px 34px rgba(24,50,74,.18));
}
.product-visual-bar{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.product-visual-bar span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:8px 14px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(215,229,242,.98);
  color:#2f4b62;
  font-size:13px;
  font-weight:800;
  box-shadow:0 10px 20px rgba(24,50,74,.05);
}
.product-copy{
  display:grid;
  gap:10px;
}
.product-subtitle{
  margin:0;
  color:var(--primary2) !important;
  font-size:13px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.product-card h3{
  margin:0;
  font-size:26px;
  line-height:1.16;
}
.product-card p{
  line-height:1.55;
}
.product-card .spec-mini{
  margin-top:4px;
}
.product-card .spec-mini span{
  padding:8px 12px;
}
.product-card .buy-row{
  margin-top:auto;
  padding-top:6px;
  border-top:1px solid rgba(215,229,242,.88);
}
.product-card .buy-note{
  max-width:16rem;
  color:#60758c;
}

@media (max-width:1080px){
  .hero-device-stage{
    min-height:320px;
  }
}
@media (max-width:820px){
  .hero-home-rebuild .hero-shell{
    gap:20px;
  }
  .hero-home-rebuild .hero-main{
    padding:28px 28px 24px;
  }
  .hero-cta-row .btn{
    min-width:0;
    width:100%;
  }
  .hero-device-stage{
    min-height:280px;
  }
}
@media (max-width:720px){
  .hero-home-rebuild{
    padding:20px 0 12px;
  }
  .hero-home-rebuild p.lead{
    font-size:17px;
  }
  .hero-cta-row{
    gap:12px;
  }
  .hero-device-card{
    padding:16px;
  }
  .hero-device-stage{
    min-height:240px;
    padding:14px;
    border-radius:24px;
  }
  .hero-device-note strong{
    font-size:18px;
  }
  .product-card{
    padding:18px;
  }
  .product-card .thumb{
    height:220px;
  }
  .product-card h3{
    font-size:22px;
  }
}


/* v19 premium mesh hero */
.hero-premium-home{
  padding: 44px 0 24px;
}
.hero-premium-shell{
  display:grid;
  grid-template-columns:minmax(0, 1.02fr) minmax(520px, .98fr);
  gap:24px;
  align-items:stretch;
}
.hero-premium-copy,
.hero-premium-visual{
  position:relative;
  overflow:hidden;
  border:1px solid #cfe0ef;
  border-radius:32px;
  background:linear-gradient(180deg, rgba(255,255,255,.94) 0%, rgba(244,249,255,.98) 100%);
  box-shadow:0 24px 64px rgba(19,42,64,.10);
}
.hero-premium-copy{
  padding:46px 44px 42px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:560px;
}
.hero-premium-copy::before,
.hero-premium-visual::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 14% 16%, rgba(94,200,255,.18), transparent 26%),
    radial-gradient(circle at 76% 78%, rgba(25,115,191,.10), transparent 28%);
  pointer-events:none;
}
.hero-kicker-row{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:26px;
}
.hero-kicker-line{
  width:42px;
  height:1px;
  flex:0 0 auto;
  background:linear-gradient(90deg, #6ec9ff, #b8d7ef);
}
.hero-kicker-text{
  font-size:14px;
  line-height:1.2;
  letter-spacing:.12em;
  font-weight:800;
  color:#62798e;
}
.hero-premium-home h1{
  margin:0 0 22px;
  font-size:clamp(54px, 6.8vw, 86px);
  line-height:.95;
  letter-spacing:-.055em;
  max-width:9.5ch;
}
.hero-premium-home .hero-title-line{
  display:block;
  color:#0f5e97;
}
.hero-premium-home p.lead{
  margin:0 0 30px;
  max-width:25ch;
  font-size:29px;
  line-height:1.45;
  color:#657c92;
}
.hero-premium-actions{
  gap:14px;
  margin-bottom:24px;
}
.hero-premium-actions .btn{
  min-height:58px;
  padding:15px 24px;
  font-size:18px;
}
.hero-premium-actions .btn-secondary{
  background:rgba(255,255,255,.78);
  border-color:#cfe0ef;
}
.hero-trust-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.hero-trust-badge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:44px;
  padding:10px 16px;
  border:1px solid #d7e5f2;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:#456179;
  font-weight:750;
  box-shadow:0 10px 24px rgba(19,42,64,.05);
}
.hero-trust-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:linear-gradient(180deg,#45bcff,#0f75bf);
  box-shadow:0 0 0 5px rgba(69,188,255,.16);
}
.hero-premium-visual{
  min-height:560px;
  padding:22px;
  isolation:isolate;
}
.hero-map-grid,
.hero-map-grid::before,
.hero-map-grid::after{
  position:absolute;
  inset:0;
  pointer-events:none;
}
.hero-map-grid{
  opacity:.6;
  background:
    linear-gradient(180deg, rgba(206,226,242,.0), rgba(206,226,242,.22) 55%, rgba(206,226,242,.0)),
    repeating-linear-gradient(90deg, rgba(183,206,225,.0) 0 62px, rgba(183,206,225,.22) 62px 63px),
    repeating-linear-gradient(0deg, rgba(183,206,225,.0) 0 62px, rgba(183,206,225,.18) 62px 63px);
  mask:linear-gradient(180deg, transparent 0%, rgba(0,0,0,.8) 18%, rgba(0,0,0,.9) 100%);
}
.hero-map-grid::before,
.hero-map-grid::after{
  content:"";
  border:1px solid rgba(181,207,230,.35);
  border-radius:46px;
}
.hero-map-grid::before{ inset:34px 64px 180px 40px; }
.hero-map-grid::after{ inset:124px 30px 70px 120px; }
.hero-visual-glow{
  position:absolute;
  border-radius:50%;
  filter:blur(22px);
  pointer-events:none;
}
.hero-visual-glow-a{
  width:180px;height:180px;left:28px;top:28px;
  background:rgba(126,213,255,.22);
}
.hero-visual-glow-b{
  width:210px;height:210px;right:24px;bottom:40px;
  background:rgba(18,112,184,.12);
}
.hero-mesh-svg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.mesh-link{
  fill:none;
  stroke:rgba(125,156,183,.38);
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-dasharray:2 10;
}
.mesh-route{
  fill:none;
  stroke:url(#meshRoute);
  stroke-width:4;
  stroke-linecap:round;
  filter:url(#meshGlow);
  stroke-dasharray:20 14;
  animation:meshRouteFlow 8s linear infinite;
}
.mesh-packet-dot{
  fill:#66d0ff;
  filter:url(#meshGlow);
  animation:meshPacketTravel 6.8s cubic-bezier(.65,.05,.36,1) infinite;
}
.mesh-node{
  position:absolute;
  z-index:2;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.mesh-node-meta{
  font-size:11px;
  font-weight:800;
  line-height:1;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#6f8397;
}
.mesh-node-tag,
.mesh-node-pill,
.mesh-delivered-label,
.mesh-message-label{
  display:inline-flex;
  align-items:center;
  width:max-content;
  min-height:28px;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  color:#3b5b74;
  background:rgba(255,255,255,.88);
  border:1px solid #d5e4f1;
  box-shadow:0 12px 24px rgba(19,42,64,.07);
}
.mesh-node-pill{
  background:rgba(233,247,255,.95);
  color:#0e6db2;
}
.mesh-device-body{
  position:relative;
  width:106px;
  height:144px;
  border-radius:24px;
  border:1px solid #bfd6ea;
  background:linear-gradient(180deg, rgba(255,255,255,.95), rgba(238,246,255,.94));
  box-shadow:0 18px 40px rgba(19,42,64,.14);
}
.mesh-screen{
  position:absolute;
  left:16px;
  right:16px;
  top:20px;
  height:66px;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(200,238,255,.92), rgba(241,249,255,.9));
  border:1px solid #cfe0ef;
}
.mesh-screen::before,
.mesh-screen::after{
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  border-radius:999px;
  background:#94d9ff;
}
.mesh-screen::before{ top:16px; height:8px; }
.mesh-screen::after{ top:34px; height:8px; width:54%; }
.mesh-antenna{
  position:absolute;
  left:50%;
  top:-28px;
  width:4px;
  height:28px;
  margin-left:-2px;
  border-radius:999px;
  background:linear-gradient(180deg,#79d1ff,#2f8fd1);
}
.mesh-antenna::before,
.mesh-antenna::after{
  content:"";
  position:absolute;
  left:50%;
  border:2px solid rgba(94,200,255,.62);
  border-bottom:none;
  border-left-color:transparent;
  border-right-color:transparent;
  border-radius:999px 999px 0 0;
  transform:translateX(-50%);
}
.mesh-antenna::before{ top:-16px; width:24px; height:14px; }
.mesh-antenna::after{ top:-28px; width:38px; height:24px; }
.mesh-node-core{
  width:74px;
  height:74px;
  border-radius:24px;
  border:1px solid #bfd6ea;
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(237,246,255,.94));
  box-shadow:0 16px 38px rgba(19,42,64,.12);
  position:relative;
}
.mesh-node-core::before,
.mesh-node-core::after{
  content:"";
  position:absolute;
  inset:18px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(65,188,255,.95) 0%, rgba(29,127,199,.82) 48%, rgba(18,90,150,.10) 76%, transparent 78%);
}
.mesh-node-core::after{
  inset:8px;
  border:1px solid rgba(131,196,237,.42);
  background:none;
}
.mesh-node-core-soft::before{
  background:radial-gradient(circle, rgba(156,196,226,.9) 0%, rgba(111,151,183,.65) 44%, rgba(18,90,150,.06) 76%, transparent 78%);
}
.mesh-node-origin{ left:54px; bottom:66px; }
.mesh-node-hop1{ left:245px; top:122px; }
.mesh-node-hop2{ left:414px; top:196px; }
.mesh-node-hop3{ right:46px; top:104px; align-items:flex-end; }
.mesh-node-backup{ right:80px; bottom:92px; align-items:flex-end; }
.mesh-delivered-card,
.mesh-message-card,
.mesh-status-panel{
  position:absolute;
  z-index:2;
  border:1px solid #d6e5f2;
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(18px);
  box-shadow:0 20px 48px rgba(19,42,64,.10);
}
.mesh-delivered-card,
.mesh-message-card{
  border-radius:22px;
  padding:16px 18px;
}
.mesh-delivered-card strong,
.mesh-message-card strong,
.mesh-status-panel strong{
  display:block;
  font-size:16px;
  line-height:1.25;
  letter-spacing:-.02em;
  color:#133957;
}
.mesh-delivered-card p,
.mesh-message-card p,
.mesh-status-panel span{
  margin:0;
  font-size:13px;
  line-height:1.45;
  color:#617991;
}
.mesh-message-send{
  left:128px;
  bottom:218px;
  max-width:220px;
}
.mesh-delivered-card{
  right:28px;
  top:190px;
  max-width:230px;
}
.mesh-status-panel{
  left:26px;
  right:26px;
  bottom:24px;
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:12px;
  padding:14px 16px;
  border-radius:20px;
}
.mesh-status-panel > div{
  padding:8px 10px;
  border-radius:16px;
  background:rgba(243,249,255,.86);
  border:1px solid rgba(214,229,242,.84);
}
@keyframes meshRouteFlow{
  from{ stroke-dashoffset:0; }
  to{ stroke-dashoffset:-340; }
}
@keyframes meshPacketTravel{
  0%{ transform:translate(0px, 0px) scale(1); opacity:0; }
  10%{ transform:translate(74px, -48px) scale(1); opacity:1; }
  34%{ transform:translate(176px, -138px) scale(1.08); opacity:1; }
  58%{ transform:translate(336px, -84px) scale(1.08); opacity:1; }
  82%{ transform:translate(498px, -166px) scale(1); opacity:1; }
  100%{ transform:translate(498px, -166px) scale(.92); opacity:0; }
}
@media (max-width:1260px){
  .hero-premium-home h1{ font-size:clamp(50px, 6.2vw, 78px); }
  .hero-premium-home p.lead{ font-size:25px; max-width:24ch; }
  .hero-premium-shell{ grid-template-columns:minmax(0, 1fr) minmax(470px, .94fr); }
}
@media (max-width:1080px){
  .hero-premium-shell{ grid-template-columns:1fr; }
  .hero-premium-copy,
  .hero-premium-visual{ min-height:auto; }
  .hero-premium-copy{ padding:40px 36px; }
  .hero-premium-home h1{ max-width:none; }
  .hero-premium-home p.lead{ max-width:32ch; }
  .hero-premium-visual{ min-height:540px; }
}
@media (max-width:720px){
  .hero-premium-home{ padding:26px 0 14px; }
  .hero-premium-copy,
  .hero-premium-visual{ border-radius:26px; }
  .hero-premium-copy{ padding:30px 22px 24px; }
  .hero-kicker-row{ gap:12px; margin-bottom:18px; }
  .hero-kicker-text{ font-size:11px; }
  .hero-premium-home h1{ font-size:44px; line-height:.98; margin-bottom:18px; }
  .hero-premium-home p.lead{ font-size:19px; max-width:none; margin-bottom:22px; }
  .hero-premium-actions{ flex-direction:column; align-items:stretch; }
  .hero-premium-actions .btn{ width:100%; }
  .hero-trust-row{ gap:10px; }
  .hero-trust-badge{ width:100%; justify-content:flex-start; }
  .hero-premium-visual{ padding:16px; min-height:650px; }
  .mesh-node-origin{ left:20px; bottom:86px; }
  .mesh-node-hop1{ left:132px; top:116px; }
  .mesh-node-hop2{ left:206px; top:252px; }
  .mesh-node-hop3{ right:22px; top:96px; }
  .mesh-node-backup{ right:30px; bottom:186px; }
  .mesh-message-send{ left:24px; bottom:270px; max-width:210px; }
  .mesh-delivered-card{ right:16px; top:220px; max-width:206px; }
  .mesh-status-panel{ left:16px; right:16px; bottom:16px; grid-template-columns:1fr; }
}
