/* =========================================================================
   PanelVPN theme stylesheet
   1. Tokens          6. Hero            11. Demo
   2. Reset / base    7. Sections        12. FAQ
   3. Layout          8. Cards & grids   13. Forms
   4. Typography      9. Content blocks  14. Footer
   5. Header & nav   10. Product pages   15. Editorial / utilities
   ====================================================================== */

/* 1. TOKENS ------------------------------------------------------------ */
:root{
  --pv-navy-900:#060b1c;
  --pv-navy-850:#08102a;
  --pv-navy-800:#0b1330;
  --pv-navy-700:#131e4a;
  --pv-navy-600:#1c2a63;
  --pv-blue-700:#1a3fc4;
  --pv-blue-600:#2154e6;
  --pv-blue-500:#2f6bff;
  --pv-blue-400:#5b8cff;
  --pv-blue-100:#e6eeff;
  --pv-blue-050:#f2f6ff;
  --pv-violet-600:#5b3fe0;
  --pv-violet-500:#7458f0;
  --pv-cyan-400:#2fd0e8;
  --pv-green-500:#16a34a;
  --pv-amber-500:#d97706;

  --pv-ink:#0c1738;
  --pv-ink-2:#28345c;
  --pv-body:#4d5a80;
  --pv-muted:#6b7796;
  --pv-line:#e3e9f6;
  --pv-line-2:#eef2fb;
  --pv-bg:#ffffff;
  --pv-bg-soft:#f5f8ff;
  --pv-bg-softer:#fafcff;

  --pv-grad:linear-gradient(100deg,var(--pv-blue-600) 0%,var(--pv-violet-600) 100%);
  --pv-grad-soft:linear-gradient(140deg,#0b1330 0%,#16225a 55%,#241a63 100%);

  --pv-radius:14px;
  --pv-radius-lg:22px;
  --pv-radius-sm:9px;
  --pv-shadow-sm:0 1px 2px rgba(12,23,56,.06),0 2px 8px rgba(12,23,56,.05);
  --pv-shadow:0 4px 12px rgba(12,23,56,.07),0 14px 40px rgba(12,23,56,.08);
  --pv-shadow-lg:0 10px 24px rgba(12,23,56,.10),0 30px 70px rgba(12,23,56,.13);
  --pv-shadow-blue:0 10px 30px rgba(33,84,230,.28);

  --pv-wrap:1180px;
  --pv-wrap-narrow:820px;
  --pv-gutter:clamp(18px,4vw,32px);
  --pv-sec-y:clamp(56px,7vw,104px);

  --pv-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
  --pv-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
}

/* 2. RESET / BASE ------------------------------------------------------ */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
body{
  margin:0;
  font-family:var(--pv-font);
  font-size:17px;
  line-height:1.65;
  color:var(--pv-body);
  background:var(--pv-bg);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:var(--pv-blue-600);text-decoration:none}
a:hover{color:var(--pv-blue-700);text-decoration:underline}
button{font:inherit}
:focus-visible{outline:3px solid var(--pv-blue-500);outline-offset:2px;border-radius:4px}
hr{border:0;border-top:1px solid var(--pv-line);margin:2.5rem 0}
::selection{background:var(--pv-blue-100);color:var(--pv-ink)}

.pv-skip{position:absolute;left:-9999px;top:0;z-index:1000;background:#fff;color:var(--pv-ink);padding:12px 20px;border-radius:0 0 10px 0;font-weight:600;box-shadow:var(--pv-shadow)}
.pv-skip:focus{left:0}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* 3. LAYOUT ------------------------------------------------------------ */
.pv-wrap{width:100%;max-width:var(--pv-wrap);margin-inline:auto;padding-inline:var(--pv-gutter)}
.pv-wrap--narrow{max-width:var(--pv-wrap-narrow)}
.pv-section{padding-block:var(--pv-sec-y);position:relative}
.pv-section--tight{padding-block:clamp(40px,5vw,68px)}
.pv-section--soft{background:var(--pv-bg-soft)}
.pv-section--softer{background:var(--pv-bg-softer)}
.pv-section--line{border-top:1px solid var(--pv-line-2)}
.pv-section--dark{background:var(--pv-navy-800);color:#c5cfeb}
.pv-section--dark h2,.pv-section--dark h3,.pv-section--dark h4,.pv-section--dark strong{color:#fff}
.pv-section--grad{background:var(--pv-grad-soft);color:#c5cfeb}
.pv-section--grad h2,.pv-section--grad h3,.pv-section--grad strong{color:#fff}
.pv-icon{width:1.25em;height:1.25em;flex:none}

/* 4. TYPOGRAPHY -------------------------------------------------------- */
h1,h2,h3,h4,h5,h6{
  color:var(--pv-ink);
  font-weight:760;
  line-height:1.16;
  letter-spacing:-.021em;
  margin:0 0 .55em;
  text-wrap:balance;
}
h1{font-size:clamp(2.05rem,1.35rem + 2.7vw,3.5rem)}
h2{font-size:clamp(1.65rem,1.2rem + 1.85vw,2.6rem)}
h3{font-size:clamp(1.2rem,1.05rem + .62vw,1.55rem)}
h4{font-size:1.08rem;letter-spacing:-.012em}
p{margin:0 0 1.15em}
p:last-child{margin-bottom:0}
strong{color:var(--pv-ink);font-weight:660}
.pv-lead{font-size:clamp(1.05rem,1rem + .34vw,1.24rem);line-height:1.62;color:var(--pv-ink-2)}
.pv-eyebrow{
  display:inline-block;
  font-size:.775rem;
  font-weight:730;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:var(--pv-blue-600);
  margin:0 0 .85rem;
}
.pv-section--dark .pv-eyebrow,.pv-section--grad .pv-eyebrow{color:var(--pv-blue-400)}
.pv-sechead{max-width:760px;margin:0 auto clamp(34px,4vw,56px)}
.pv-sechead--center{text-align:center}
.pv-sechead--left{margin-inline:0;text-align:left}
.pv-sechead__title{margin-bottom:.4em}
.pv-sechead__lead{font-size:clamp(1rem,.97rem + .3vw,1.16rem);color:var(--pv-body);margin:0}
.pv-section--dark .pv-sechead__lead,.pv-section--grad .pv-sechead__lead{color:#a9b6da}

/* 5. HEADER & NAV ------------------------------------------------------ */
.pv-topbar{background:var(--pv-navy-800);color:#c9d5f5;font-size:.86rem;text-align:center}
.pv-topbar a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.pv-topbar__inner{padding:9px var(--pv-gutter)}

.pv-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--pv-line-2)}
.pv-header--scrolled{box-shadow:0 2px 18px rgba(12,23,56,.09)}
.pv-header__inner{display:flex;align-items:center;gap:20px;min-height:72px}
.pv-brand{display:flex;align-items:center;gap:10px;flex:none;text-decoration:none}
.pv-brand:hover{text-decoration:none}
.pv-brand img{height:38px;width:auto}
.pv-brand__text{display:flex;flex-direction:column;line-height:1.05}
.pv-brand__name{font-weight:800;font-size:1.18rem;color:var(--pv-ink);letter-spacing:-.02em}
.pv-brand__sub{font-size:.68rem;letter-spacing:.07em;text-transform:uppercase;color:var(--pv-muted);font-weight:640}

.pv-nav{margin-left:auto;display:flex;align-items:center;gap:4px}
.pv-nav ul{list-style:none;display:flex;align-items:center;gap:2px;margin:0;padding:0}
.pv-nav li{position:relative}
.pv-nav ul a{display:flex;align-items:center;gap:5px;padding:9px 13px;border-radius:9px;color:var(--pv-ink-2);font-weight:585;font-size:.945rem;text-decoration:none;white-space:nowrap;transition:background .16s,color .16s}
.pv-nav ul a:hover,.pv-nav .current-menu-item>a,.pv-nav .current-menu-ancestor>a{background:var(--pv-blue-050);color:var(--pv-blue-700);text-decoration:none}
.pv-nav .menu-item-has-children>a::after{content:"";width:5px;height:5px;border-right:1.8px solid currentColor;border-bottom:1.8px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.55}
.pv-nav .sub-menu{
  position:absolute;top:calc(100% + 8px);left:0;min-width:262px;
  background:#fff;border:1px solid var(--pv-line);border-radius:var(--pv-radius);
  box-shadow:var(--pv-shadow-lg);padding:7px;display:block;flex-direction:column;gap:0;
  opacity:0;visibility:hidden;transform:translateY(6px);transition:.18s;
}
.pv-nav li:hover>.sub-menu,.pv-nav li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.pv-nav .sub-menu a{padding:10px 12px;border-radius:9px;font-weight:560;font-size:.925rem;color:var(--pv-ink-2)}
.pv-header__cta{display:flex;align-items:center;gap:9px;flex:none;margin-left:8px}
.pv-navtoggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--pv-line);background:#fff;border-radius:11px;color:var(--pv-ink);cursor:pointer;margin-left:auto}
.pv-navtoggle .pv-icon{width:22px;height:22px}
.pv-navtoggle__close{display:none}
.pv-navtoggle[aria-expanded="true"] .pv-navtoggle__open{display:none}
.pv-navtoggle[aria-expanded="true"] .pv-navtoggle__close{display:block}

@media (max-width:1060px){
  /* backdrop-filter would make the header a containing block for the
     position:fixed mobile menu, trapping it inside the 72px header box.
     Solid background on mobile, glass effect on desktop only. */
  .pv-header{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}
  .pv-navtoggle{display:flex}
  .pv-nav{
    position:fixed;inset:auto 0 0 0;top:var(--pv-header-h,72px);
    margin:0;display:none;flex-direction:column;align-items:stretch;gap:0;
    background:#fff;border-top:1px solid var(--pv-line);
    padding:14px var(--pv-gutter) 28px;overflow-y:auto;z-index:59;
  }
  .pv-nav.is-open{display:flex}
  .pv-nav ul{flex-direction:column;align-items:stretch;gap:0;width:100%}
  .pv-nav ul a{padding:13px 12px;font-size:1.02rem;border-radius:10px}
  .pv-nav .menu-item-has-children>a::after{margin-left:auto;transform:rotate(45deg)}
  .pv-nav .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;border-left:2px solid var(--pv-line);border-radius:0;margin:0 0 6px 14px;padding:0 0 0 6px}
  .pv-header__cta{display:none}
  .pv-nav__cta{display:flex;flex-direction:column;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid var(--pv-line)}
  .pv-nav__cta .pv-btn{width:100%;justify-content:center}
}
@media (min-width:1061px){.pv-nav__cta{display:none}}

/* BUTTONS -------------------------------------------------------------- */
.pv-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 22px;border-radius:11px;border:1px solid transparent;
  font-weight:660;font-size:.97rem;line-height:1.2;letter-spacing:-.005em;
  cursor:pointer;text-decoration:none;white-space:nowrap;
  transition:transform .14s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease,color .18s ease;
}
.pv-btn:hover{text-decoration:none;transform:translateY(-1px)}
.pv-btn:active{transform:translateY(0)}
.pv-btn__icon{width:1.05em;height:1.05em;opacity:.9}
.pv-btn--sm{padding:9px 15px;font-size:.89rem;border-radius:9px}
.pv-btn--primary{background:var(--pv-grad);color:#fff;box-shadow:var(--pv-shadow-blue)}
.pv-btn--primary:hover{color:#fff;box-shadow:0 14px 34px rgba(33,84,230,.36)}
.pv-btn--secondary{background:#fff;color:var(--pv-ink);border-color:var(--pv-line);box-shadow:var(--pv-shadow-sm)}
.pv-btn--secondary:hover{color:var(--pv-blue-700);border-color:var(--pv-blue-400);background:var(--pv-blue-050)}
.pv-btn--ghost{background:rgba(255,255,255,.09);color:#fff;border-color:rgba(255,255,255,.28)}
.pv-btn--ghost:hover{background:rgba(255,255,255,.16);color:#fff;border-color:rgba(255,255,255,.5)}
.pv-btn--dark{background:var(--pv-navy-800);color:#fff}
.pv-btn--dark:hover{background:var(--pv-navy-700);color:#fff}
.pv-btn--link{padding:0;background:none;color:var(--pv-blue-600);box-shadow:none;font-weight:650}
.pv-btn--link:hover{color:var(--pv-blue-700);text-decoration:underline;transform:none}
.pv-btns{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.pv-btns--center{justify-content:center}

/* PRICE TAG ------------------------------------------------------------ */
.pv-price{display:inline-flex;align-items:baseline;gap:3px;color:var(--pv-ink);font-weight:800;letter-spacing:-.03em;line-height:1}
.pv-price__cur{font-size:.62em;transform:translateY(-.32em);font-weight:750}
.pv-price__num{font-size:1em}
.pv-price__note{font-size:.36em;font-weight:620;letter-spacing:.02em;color:var(--pv-muted);margin-left:5px;transform:translateY(-.05em)}
.pv-price--quote{font-size:1.15rem;font-weight:700;color:var(--pv-ink-2)}
.pv-price--xl{font-size:3.1rem}
.pv-price--lg{font-size:2.3rem}
.pv-price--md{font-size:1.85rem}
.pv-section--dark .pv-price,.pv-section--grad .pv-price,
.pv-hero .pv-price,.pv-phero .pv-price,.pv-demo .pv-price{color:#fff}
.pv-section--dark .pv-price__note,.pv-hero .pv-price__note,
.pv-phero .pv-price__note,.pv-demo .pv-price__note{color:#9fb0d9}
.pv-section--dark .pv-price--quote,.pv-section--grad .pv-price--quote,
.pv-hero .pv-price--quote,.pv-phero .pv-price--quote{color:#dbe4fb}

/* 6. HERO -------------------------------------------------------------- */
.pv-hero{position:relative;background:var(--pv-grad-soft);color:#bcc9ea;overflow:hidden;isolation:isolate}
.pv-hero::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:
    radial-gradient(720px 380px at 78% 8%,rgba(47,107,255,.34),transparent 62%),
    radial-gradient(560px 340px at 10% 92%,rgba(116,88,240,.30),transparent 64%);
}
.pv-hero::after{
  content:"";position:absolute;inset:0;z-index:-1;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:radial-gradient(circle at 50% 30%,#000,transparent 78%);
  mask-image:radial-gradient(circle at 50% 30%,#000,transparent 78%);
}
.pv-hero__inner{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(30px,4.5vw,64px);align-items:center;padding-block:clamp(52px,7vw,96px)}
.pv-hero h1{color:#fff;margin-bottom:.5em}
.pv-hero__lead{font-size:clamp(1.04rem,1rem + .4vw,1.22rem);color:#b6c4e8;margin-bottom:1.6em;max-width:56ch}
.pv-hero__points{list-style:none;margin:0 0 1.9rem;padding:0;display:grid;gap:10px}
.pv-hero__points li{display:flex;gap:10px;align-items:flex-start;font-size:.99rem;color:#c7d3f0}
.pv-hero__points .pv-icon{width:19px;height:19px;color:var(--pv-cyan-400);margin-top:3px;stroke-width:2.4}
.pv-hero__media{position:relative}
.pv-hero__media .pv-figure{margin:0}
.pv-hero__media img{border-radius:var(--pv-radius-lg);box-shadow:0 24px 70px rgba(3,8,26,.6);border:1px solid rgba(255,255,255,.1)}
.pv-hero__badge{
  display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:7px 15px 7px 9px;
  font-size:.85rem;font-weight:620;color:#dbe4fb;margin-bottom:20px;backdrop-filter:blur(6px);
}
.pv-hero__badge .pv-icon{width:16px;height:16px;color:var(--pv-cyan-400)}
.pv-hero__badge b{color:#fff;font-weight:740}
.pv-hero__pricecard{
  margin-top:26px;display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px 20px;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);
  border-radius:var(--pv-radius);padding:16px 22px;backdrop-filter:blur(8px);
}
.pv-hero__pricecard-label{font-size:.9rem;color:#b6c4e8;max-width:24ch;line-height:1.4}
.pv-hero__pricecard .pv-price{font-size:2.3rem}
@media (max-width:900px){
  .pv-hero__inner{grid-template-columns:1fr;padding-block:clamp(38px,6vw,60px)}
  .pv-hero__media{order:-1;max-width:620px}
}

/* PAGE HERO (inner pages) ---------------------------------------------- */
.pv-phero{position:relative;background:var(--pv-grad-soft);color:#bcc9ea;overflow:hidden;isolation:isolate}
.pv-phero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(680px 340px at 82% 0%,rgba(47,107,255,.30),transparent 64%),radial-gradient(480px 300px at 4% 100%,rgba(116,88,240,.26),transparent 66%)}
.pv-phero__inner{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(28px,4vw,58px);align-items:center;padding-block:clamp(34px,4.5vw,66px)}
.pv-phero h1{color:#fff}
.pv-phero__lead{font-size:clamp(1.01rem,.98rem + .34vw,1.16rem);color:#b6c4e8;max-width:58ch}
.pv-phero__points{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;gap:9px}
.pv-phero__points li{display:flex;gap:10px;align-items:flex-start;font-size:.96rem;color:#c7d3f0}
.pv-phero__points .pv-icon{width:18px;height:18px;color:var(--pv-cyan-400);margin-top:3px;stroke-width:2.4}
.pv-phero__media img{border-radius:var(--pv-radius);box-shadow:0 20px 56px rgba(3,8,26,.55);border:1px solid rgba(255,255,255,.1)}
.pv-phero__meta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:24px}
@media (max-width:900px){.pv-phero__inner{grid-template-columns:1fr}.pv-phero__media{order:-1;max-width:560px}}

/* BREADCRUMBS ---------------------------------------------------------- */
.pv-crumbs{font-size:.85rem;padding-top:20px}
.pv-crumbs ol{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin:0;padding:0}
.pv-crumbs li{display:flex;align-items:center;gap:4px}
.pv-crumbs__sep{width:13px;height:13px;opacity:.42;margin-left:2px}
.pv-crumbs--dark a{color:#9fb0d9;text-decoration:none}
.pv-crumbs--dark a:hover{color:#fff;text-decoration:underline}
.pv-crumbs--dark span[aria-current]{color:#dbe4fb}
.pv-crumbs--light a{color:var(--pv-muted)}
.pv-crumbs--light span[aria-current]{color:var(--pv-ink-2)}

/* 8. CARDS & GRIDS ----------------------------------------------------- */
.pv-grid{display:grid;gap:22px}
.pv-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.pv-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.pv-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1000px){.pv-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}.pv-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:660px){.pv-grid--2,.pv-grid--3,.pv-grid--4{grid-template-columns:1fr}}

.pv-card{
  background:#fff;border:1px solid var(--pv-line);border-radius:var(--pv-radius);
  padding:26px;box-shadow:var(--pv-shadow-sm);
  display:flex;flex-direction:column;gap:11px;
  transition:transform .18s ease,box-shadow .22s ease,border-color .22s ease;
}
.pv-card h3{margin:0;font-size:1.11rem}
.pv-card p{margin:0;font-size:.955rem;color:var(--pv-body)}
.pv-card__icon{
  width:46px;height:46px;border-radius:12px;display:grid;place-items:center;flex:none;
  background:var(--pv-blue-050);color:var(--pv-blue-600);border:1px solid var(--pv-blue-100);
}
.pv-card__icon .pv-icon{width:22px;height:22px}
.pv-section--dark .pv-card,.pv-section--grad .pv-card{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.12);box-shadow:none}
.pv-section--dark .pv-card p,.pv-section--grad .pv-card p{color:#a9b6da}
.pv-section--dark .pv-card__icon,.pv-section--grad .pv-card__icon{background:rgba(47,107,255,.16);border-color:rgba(91,140,255,.3);color:var(--pv-blue-400)}

/* Product card ---------------------------------------------------------- */
.pv-pcard{
  position:relative;background:#fff;border:1px solid var(--pv-line);border-radius:var(--pv-radius-lg);
  overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--pv-shadow-sm);
  transition:transform .2s ease,box-shadow .25s ease,border-color .25s ease;
}
.pv-pcard:hover{transform:translateY(-4px);box-shadow:var(--pv-shadow);border-color:var(--pv-blue-100)}
.pv-pcard--featured{border-color:var(--pv-blue-400);box-shadow:var(--pv-shadow)}
.pv-pcard__media{background:var(--pv-navy-800);aspect-ratio:16/9;overflow:hidden}
.pv-pcard__media img{width:100%;height:100%;object-fit:cover}
.pv-pcard__body{padding:22px 24px 24px;display:flex;flex-direction:column;gap:12px;flex:1}
.pv-pcard__head{display:flex;align-items:flex-start;gap:12px}
.pv-pcard h3{margin:0;font-size:1.09rem;line-height:1.3;flex:1}
.pv-pcard p{margin:0;font-size:.94rem;flex:1}
.pv-pcard__price{display:flex;align-items:baseline;gap:10px;margin-top:2px;padding-top:14px;border-top:1px solid var(--pv-line-2)}
.pv-pcard__price .pv-price{font-size:1.75rem}
.pv-pcard__foot{margin-top:auto;padding-top:4px}
.pv-badge{
  position:absolute;top:14px;right:14px;z-index:2;
  background:var(--pv-grad);color:#fff;font-size:.71rem;font-weight:730;
  letter-spacing:.05em;text-transform:uppercase;padding:5px 11px;border-radius:999px;
  box-shadow:0 4px 14px rgba(33,84,230,.4);
}
.pv-badge--soft{position:static;background:var(--pv-blue-050);color:var(--pv-blue-700);box-shadow:none;border:1px solid var(--pv-blue-100)}

/* 9. CONTENT BLOCKS ---------------------------------------------------- */
/* Split prose + image */
.pv-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4.5vw,64px);align-items:center}
.pv-split--flip .pv-split__media{order:-1}
.pv-split__body h2,.pv-split__body h3{margin-bottom:.5em}
.pv-split__body>p{font-size:1.02rem}
@media (max-width:900px){.pv-split{grid-template-columns:1fr}.pv-split--flip .pv-split__media{order:0}}

.pv-figure{margin:0}
.pv-figure img{border-radius:var(--pv-radius);border:1px solid var(--pv-line);box-shadow:var(--pv-shadow)}
.pv-figure__caption{margin-top:11px;font-size:.87rem;color:var(--pv-muted);line-height:1.5}
.pv-section--dark .pv-figure img,.pv-section--grad .pv-figure img,.pv-hero .pv-figure img{border-color:rgba(255,255,255,.1)}
.pv-section--dark .pv-figure__caption,.pv-section--grad .pv-figure__caption{color:#98a6cd}

/* Checklist */
.pv-checklist{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.pv-checklist--2{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 30px}
@media (max-width:700px){.pv-checklist--2{grid-template-columns:1fr}}
.pv-checklist li{display:flex;gap:11px;align-items:flex-start;font-size:.99rem;line-height:1.55}
.pv-checklist__icon{width:21px;height:21px;flex:none;margin-top:2px;color:var(--pv-green-500);stroke-width:2.6}
.pv-section--dark .pv-checklist__icon,.pv-section--grad .pv-checklist__icon{color:var(--pv-cyan-400)}

/* Steps */
.pv-steps{list-style:none;counter-reset:pv;margin:0;padding:0;display:grid;gap:16px}
.pv-steps li{
  counter-increment:pv;position:relative;padding:22px 24px 22px 68px;
  background:#fff;border:1px solid var(--pv-line);border-radius:var(--pv-radius);box-shadow:var(--pv-shadow-sm);
}
.pv-steps li::before{
  content:counter(pv);position:absolute;left:22px;top:21px;
  width:32px;height:32px;border-radius:10px;background:var(--pv-grad);color:#fff;
  display:grid;place-items:center;font-weight:750;font-size:.95rem;box-shadow:0 4px 12px rgba(33,84,230,.3);
}
.pv-steps h3{margin:0 0 5px;font-size:1.04rem}
.pv-steps p{margin:0;font-size:.95rem}
.pv-section--dark .pv-steps li,.pv-section--grad .pv-steps li{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.12);box-shadow:none}
.pv-section--dark .pv-steps p,.pv-section--grad .pv-steps p{color:#a9b6da}
@media (min-width:820px){.pv-steps--cols{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Workflow chain */
.pv-flow{list-style:none;margin:0;padding:0;display:grid;gap:14px;counter-reset:fl}
@media (min-width:760px){.pv-flow{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}}
.pv-flow li{
  counter-increment:fl;position:relative;padding:20px 20px 20px 22px;border-radius:var(--pv-radius);
  background:#fff;border:1px solid var(--pv-line);box-shadow:var(--pv-shadow-sm);
  font-size:.97rem;color:var(--pv-ink-2);font-weight:560;line-height:1.45;
}
.pv-flow li::before{
  content:"0" counter(fl);display:block;font-size:.72rem;font-weight:780;letter-spacing:.09em;
  color:var(--pv-blue-600);margin-bottom:7px;
}
.pv-flow li::after{
  content:"";position:absolute;right:-13px;top:50%;width:10px;height:10px;
  border-top:2px solid var(--pv-blue-400);border-right:2px solid var(--pv-blue-400);
  transform:translateY(-50%) rotate(45deg);opacity:.75;
}
.pv-flow li:last-child::after{display:none}
@media (max-width:759px){
  .pv-flow li::after{right:auto;left:26px;top:auto;bottom:-12px;transform:rotate(135deg)}
}
@media (min-width:760px){
  .pv-flow li:nth-child(3n)::after{display:none}
}
.pv-section--dark .pv-flow li,.pv-section--grad .pv-flow li{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.13);color:#d5def6;box-shadow:none}
.pv-section--dark .pv-flow li::before,.pv-section--grad .pv-flow li::before{color:var(--pv-blue-400)}

/* Table */
.pv-tablewrap{overflow-x:auto;border:1px solid var(--pv-line);border-radius:var(--pv-radius);background:#fff;box-shadow:var(--pv-shadow-sm);-webkit-overflow-scrolling:touch}
.pv-table{width:100%;border-collapse:collapse;min-width:560px;font-size:.96rem}
.pv-table th,.pv-table td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--pv-line-2);vertical-align:top}
.pv-table thead th{background:var(--pv-bg-soft);color:var(--pv-ink);font-weight:700;font-size:.86rem;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}
.pv-table tbody tr:last-child td{border-bottom:0}
.pv-table tbody tr:hover{background:var(--pv-bg-softer)}
.pv-table td:first-child{color:var(--pv-ink);font-weight:600}

/* Callout */
.pv-callout{
  display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px;
  background:var(--pv-blue-050);border:1px solid var(--pv-blue-100);
  border-left:4px solid var(--pv-blue-500);border-radius:var(--pv-radius);
  padding:24px 28px;
}
.pv-callout__body{flex:1;min-width:260px}
.pv-callout h3{margin:0 0 6px;font-size:1.1rem}
.pv-callout p{margin:0;font-size:.97rem}
.pv-section--dark .pv-callout,.pv-section--grad .pv-callout{background:rgba(47,107,255,.12);border-color:rgba(91,140,255,.3);border-left-color:var(--pv-blue-400)}
.pv-section--dark .pv-callout p,.pv-section--grad .pv-callout p{color:#c0cbe9}

/* Chat note */
.pv-chatnote{display:flex;gap:10px;align-items:flex-start;font-size:.94rem;color:var(--pv-muted);margin:22px 0 0;line-height:1.55}
.pv-chatnote__icon{width:19px;height:19px;flex:none;margin-top:3px;color:var(--pv-blue-500)}
.pv-section--dark .pv-chatnote,.pv-section--grad .pv-chatnote{color:#9fb0d9}
.pv-parentline{font-size:.92rem;color:var(--pv-muted);margin:0}

/* Gallery ------------------------------------------------------------- */
.pv-gallery{display:grid;gap:26px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:760px){.pv-gallery{grid-template-columns:1fr}}
.pv-gallery .pv-figure img{width:100%}

/* Platform strip ------------------------------------------------------- */
.pv-platforms{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
@media (max-width:900px){.pv-platforms{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.pv-platforms{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pv-plat{
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:9px;
  padding:22px 14px;border-radius:var(--pv-radius);background:#fff;
  border:1px solid var(--pv-line);box-shadow:var(--pv-shadow-sm);text-decoration:none;
  transition:transform .18s,box-shadow .2s,border-color .2s;
}
.pv-plat:hover{transform:translateY(-3px);box-shadow:var(--pv-shadow);border-color:var(--pv-blue-100);text-decoration:none}
.pv-plat .pv-icon{width:28px;height:28px;color:var(--pv-blue-600)}
.pv-plat__name{font-weight:680;color:var(--pv-ink);font-size:.98rem}
.pv-plat__price{font-size:.83rem;color:var(--pv-muted);font-weight:600}
.pv-plat__price--inc{color:var(--pv-green-500)}

/* 11. DEMO BOX --------------------------------------------------------- */
.pv-demo{
  background:var(--pv-navy-850);border:1px solid rgba(255,255,255,.13);border-radius:var(--pv-radius-lg);
  padding:clamp(24px,3.4vw,40px);color:#c0cbe9;box-shadow:0 20px 60px rgba(3,8,26,.3);
}
.pv-demo__head{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:8px}
.pv-demo h2,.pv-demo h3{color:#fff;margin:0}
.pv-demo__live{display:inline-flex;align-items:center;gap:7px;font-size:.76rem;font-weight:730;letter-spacing:.07em;text-transform:uppercase;color:#7ef0c3;background:rgba(22,163,74,.16);border:1px solid rgba(126,240,195,.32);padding:4px 11px;border-radius:999px}
.pv-demo__live::before{content:"";width:7px;height:7px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 3px rgba(74,222,128,.24)}
.pv-demo__lead{color:#a9b6da;margin:0 0 24px;max-width:62ch;font-size:1rem}
.pv-demo__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:860px){.pv-demo__grid{grid-template-columns:1fr}}
.pv-demo__item{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:var(--pv-radius);padding:20px;display:flex;flex-direction:column;gap:12px}
.pv-demo__item h3,.pv-demo__item h4{color:#fff;margin:0;font-size:1.02rem;display:flex;align-items:center;gap:9px}
.pv-demo__item h3 .pv-icon,.pv-demo__item h4 .pv-icon{width:19px;height:19px;color:var(--pv-blue-400)}
.pv-demo__item p{margin:0;font-size:.9rem;color:#9fb0d9;flex:1}
.pv-demo__item .pv-btn{width:100%}
.pv-creds{display:grid;gap:9px;margin:0}
.pv-cred{display:flex;align-items:center;gap:10px;background:rgba(0,0,0,.26);border:1px solid rgba(255,255,255,.11);border-radius:9px;padding:8px 8px 8px 13px}
.pv-cred__label{font-size:.73rem;text-transform:uppercase;letter-spacing:.07em;color:#8494bd;font-weight:700;min-width:66px}
.pv-cred__value{font-family:var(--pv-mono);font-size:.92rem;color:#fff;flex:1;word-break:break-all}
.pv-copy{
  display:inline-flex;align-items:center;justify-content:center;gap:5px;flex:none;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#dbe4fb;
  border-radius:7px;padding:5px 10px;font-size:.78rem;font-weight:640;cursor:pointer;transition:.16s;
}
.pv-copy:hover{background:rgba(255,255,255,.19);color:#fff}
.pv-copy.is-copied{background:rgba(74,222,128,.2);border-color:rgba(126,240,195,.4);color:#9ff5cd}
.pv-demo__note{margin:20px 0 0;font-size:.86rem;color:#8494bd;line-height:1.55}

/* 12. FAQ -------------------------------------------------------------- */
.pv-faq{display:grid;gap:12px;max-width:880px;margin-inline:auto}
.pv-faq__item{background:#fff;border:1px solid var(--pv-line);border-radius:var(--pv-radius);overflow:hidden;transition:border-color .2s,box-shadow .2s}
.pv-faq__item[open]{border-color:var(--pv-blue-100);box-shadow:var(--pv-shadow-sm)}
.pv-faq__q{
  display:flex;align-items:flex-start;gap:14px;padding:19px 22px;cursor:pointer;list-style:none;
  font-weight:650;color:var(--pv-ink);font-size:1.02rem;line-height:1.45;
}
.pv-faq__q::-webkit-details-marker{display:none}
.pv-faq__q:hover{color:var(--pv-blue-700)}
.pv-faq__q .pv-icon{width:20px;height:20px;flex:none;margin-top:2px;margin-left:auto;color:var(--pv-blue-500);transform:rotate(90deg);transition:transform .2s}
.pv-faq__item[open] .pv-faq__q .pv-icon{transform:rotate(-90deg)}
.pv-faq__a{padding:0 22px 21px;font-size:.99rem;color:var(--pv-body);line-height:1.65}
.pv-faq__a p:last-child{margin-bottom:0}
.pv-section--dark .pv-faq__item,.pv-section--grad .pv-faq__item{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.12)}
.pv-section--dark .pv-faq__q,.pv-section--grad .pv-faq__q{color:#fff}
.pv-section--dark .pv-faq__a,.pv-section--grad .pv-faq__a{color:#a9b6da}

/* 13. FORMS ------------------------------------------------------------ */
.pv-form{background:#fff;border:1px solid var(--pv-line);border-radius:var(--pv-radius-lg);padding:clamp(22px,3vw,34px);box-shadow:var(--pv-shadow-sm)}
.pv-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
@media (max-width:640px){.pv-form__grid{grid-template-columns:1fr}}
.pv-field{margin:0;display:flex;flex-direction:column;gap:7px}
.pv-field--wide{grid-column:1/-1}
.pv-field label{font-weight:640;font-size:.9rem;color:var(--pv-ink)}
.pv-req{color:#dc2626}
.pv-field input,.pv-field select,.pv-field textarea{
  width:100%;padding:12px 14px;border:1px solid var(--pv-line);border-radius:10px;
  font:inherit;font-size:.97rem;color:var(--pv-ink);background:#fff;transition:border-color .16s,box-shadow .16s;
}
.pv-field textarea{resize:vertical;min-height:130px;line-height:1.6}
.pv-field input:focus,.pv-field select:focus,.pv-field textarea:focus{
  outline:none;border-color:var(--pv-blue-500);box-shadow:0 0 0 3px rgba(47,107,255,.16);
}
.pv-field input::placeholder,.pv-field textarea::placeholder{color:#9aa5c2}
.pv-form__hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.pv-form__foot{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;margin-top:22px;padding-top:20px;border-top:1px solid var(--pv-line-2)}
.pv-form__note{margin:0;font-size:.86rem;color:var(--pv-muted);flex:1;min-width:220px}
.pv-notice{border-radius:var(--pv-radius);padding:16px 20px;margin:0 0 22px;font-size:.97rem;line-height:1.55}
.pv-notice--ok{background:#ecfdf3;border:1px solid #a7f3c8;color:#14532d}
.pv-notice--err{background:#fef2f2;border:1px solid #fecaca;color:#7f1d1d}
.pv-notice a{color:inherit;text-decoration:underline}

/* Contact cards -------------------------------------------------------- */
.pv-contactgrid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(26px,4vw,52px);align-items:start}
@media (max-width:940px){.pv-contactgrid{grid-template-columns:1fr}}
.pv-contactcard{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--pv-line);border-radius:var(--pv-radius);padding:20px;box-shadow:var(--pv-shadow-sm);margin-bottom:14px}
.pv-contactcard__icon{width:42px;height:42px;border-radius:11px;background:var(--pv-blue-050);border:1px solid var(--pv-blue-100);color:var(--pv-blue-600);display:grid;place-items:center;flex:none}
.pv-contactcard h3{margin:0 0 3px;font-size:1.01rem}
.pv-contactcard p{margin:0;font-size:.93rem}
.pv-contactcard a{font-weight:620;word-break:break-word}

/* 10. PRODUCT / PRICING PAGE ------------------------------------------- */
.pv-pricetable{display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1000px){.pv-pricetable{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.pv-pricetable{grid-template-columns:1fr}}
.pv-plan{
  position:relative;background:#fff;border:1px solid var(--pv-line);border-radius:var(--pv-radius-lg);
  padding:28px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--pv-shadow-sm);
  transition:transform .2s,box-shadow .24s,border-color .24s;
}
.pv-plan:hover{transform:translateY(-3px);box-shadow:var(--pv-shadow)}
.pv-plan--featured{border-color:var(--pv-blue-500);box-shadow:var(--pv-shadow)}
.pv-plan--featured::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px var(--pv-blue-400)}
.pv-plan__name{margin:0;font-size:1.08rem;line-height:1.35;padding-right:70px}
.pv-plan__price .pv-price{font-size:2.5rem}
.pv-plan__desc{margin:0;font-size:.94rem;flex:1}
.pv-plan__list{list-style:none;margin:0;padding:0;display:grid;gap:9px;font-size:.92rem}
.pv-plan__list li{display:flex;gap:9px;align-items:flex-start}
.pv-plan__list .pv-icon{width:18px;height:18px;flex:none;margin-top:3px;color:var(--pv-green-500);stroke-width:2.6}
.pv-plan .pv-btn{width:100%;margin-top:auto}

.pv-related{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
@media (max-width:900px){.pv-related{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.pv-related{grid-template-columns:1fr}}
.pv-related a{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  background:#fff;border:1px solid var(--pv-line);border-radius:var(--pv-radius);
  padding:16px 18px;font-weight:620;color:var(--pv-ink);font-size:.95rem;
  box-shadow:var(--pv-shadow-sm);transition:.18s;text-decoration:none;line-height:1.35;
}
.pv-related a:hover{border-color:var(--pv-blue-400);color:var(--pv-blue-700);transform:translateY(-2px);text-decoration:none}
.pv-related .pv-icon{width:17px;height:17px;flex:none;opacity:.5}

/* Final CTA ------------------------------------------------------------ */
.pv-finalcta{position:relative;background:var(--pv-grad-soft);overflow:hidden;isolation:isolate;text-align:center;color:#b6c4e8}
.pv-finalcta::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(620px 320px at 50% 0%,rgba(47,107,255,.36),transparent 66%),radial-gradient(500px 300px at 80% 100%,rgba(116,88,240,.3),transparent 66%)}
.pv-finalcta h2{color:#fff;font-size:clamp(1.8rem,1.3rem + 2vw,2.9rem)}
.pv-finalcta p{max-width:60ch;margin-inline:auto;font-size:clamp(1rem,.97rem + .3vw,1.15rem);color:#b6c4e8}
.pv-finalcta .pv-btns{margin-top:30px}
.pv-finalcta__meta{margin-top:26px;font-size:.9rem;color:#8fa0cb}
.pv-finalcta__meta a{color:#dbe4fb;text-decoration:underline;text-underline-offset:3px}

/* 14. FOOTER ----------------------------------------------------------- */
.pv-footer{background:var(--pv-navy-900);color:#95a3ca;font-size:.95rem;padding-top:clamp(46px,5.5vw,74px)}
.pv-footer a{color:#c2cdea;text-decoration:none}
.pv-footer a:hover{color:#fff;text-decoration:underline}
.pv-footer__top{display:grid;grid-template-columns:minmax(240px,1.5fr) repeat(3,minmax(0,1fr));gap:36px 30px;padding-bottom:44px}
@media (max-width:980px){.pv-footer__top{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.pv-footer__top{grid-template-columns:1fr;gap:30px}}
.pv-footer__brand{display:flex;align-items:center;gap:11px;margin-bottom:16px}
.pv-footer__brand img{width:40px;height:40px}
.pv-footer__brandname{font-size:1.2rem;font-weight:800;color:#fff;letter-spacing:-.02em;line-height:1.1}
.pv-footer__brandsub{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:#7787b3;font-weight:640}
.pv-footer__about{font-size:.93rem;line-height:1.65;max-width:38ch;margin:0 0 18px}
.pv-footer h2,.pv-footer__title{color:#fff;font-size:.83rem;font-weight:730;letter-spacing:.09em;text-transform:uppercase;margin:0 0 16px}
.pv-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.pv-footer li{line-height:1.4}
.pv-footer__contact{display:grid;gap:11px;margin:0 0 18px}
.pv-footer__contact li{display:flex;gap:10px;align-items:flex-start}
.pv-footer__contact .pv-icon{width:18px;height:18px;flex:none;margin-top:3px;color:var(--pv-blue-400)}
.pv-footer__bottom{border-top:1px solid rgba(255,255,255,.09);padding:22px 0 30px;display:flex;flex-wrap:wrap;gap:12px 26px;align-items:center;justify-content:space-between;font-size:.88rem}
.pv-footer .pv-footer__legal{display:flex;flex-wrap:wrap;gap:6px 22px;list-style:none;margin:0;padding:0;justify-content:flex-end}
.pv-footer__parent{color:#c2cdea}
.pv-footer__parent strong{color:#fff}
.pv-footer-widget{margin-bottom:18px}

/* 15. EDITORIAL / PROSE ------------------------------------------------- */
.pv-prose{font-size:1.045rem;line-height:1.72;color:var(--pv-body)}
.pv-prose>*:first-child{margin-top:0}
.pv-prose h2{margin-top:2em;font-size:clamp(1.45rem,1.2rem + 1vw,1.95rem)}
.pv-prose h3{margin-top:1.7em;font-size:1.25rem}
.pv-prose ul,.pv-prose ol{padding-left:1.3em;margin:0 0 1.3em}
.pv-prose li{margin-bottom:.5em}
.pv-prose img{border-radius:var(--pv-radius);margin-block:1.6em}
.pv-prose blockquote{margin:1.8em 0;padding:4px 0 4px 22px;border-left:3px solid var(--pv-blue-400);color:var(--pv-ink-2);font-style:italic}
.pv-prose code{font-family:var(--pv-mono);font-size:.9em;background:var(--pv-bg-soft);border:1px solid var(--pv-line);border-radius:5px;padding:1px 5px}
.pv-prose pre{background:var(--pv-navy-850);color:#dbe4fb;padding:18px 20px;border-radius:var(--pv-radius);overflow-x:auto;font-size:.9rem}
.pv-prose pre code{background:none;border:0;color:inherit;padding:0}
.pv-prose table{width:100%;border-collapse:collapse;margin:1.6em 0;font-size:.96rem}
.pv-prose th,.pv-prose td{border:1px solid var(--pv-line);padding:11px 14px;text-align:left}
.pv-prose th{background:var(--pv-bg-soft);color:var(--pv-ink)}
.pv-prose a{text-decoration:underline;text-underline-offset:2px}

.pv-postcard{background:#fff;border:1px solid var(--pv-line);border-radius:var(--pv-radius);overflow:hidden;box-shadow:var(--pv-shadow-sm);display:flex;flex-direction:column;transition:.2s}
.pv-postcard:hover{transform:translateY(-3px);box-shadow:var(--pv-shadow)}
.pv-postcard__body{padding:22px}
.pv-postcard h2{font-size:1.15rem;margin:0 0 8px}
.pv-postcard__meta{font-size:.84rem;color:var(--pv-muted);margin:0 0 10px}
.pv-pagination{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:40px}
.pv-pagination .page-numbers{display:grid;place-items:center;min-width:42px;height:42px;padding:0 12px;border:1px solid var(--pv-line);border-radius:10px;background:#fff;color:var(--pv-ink-2);font-weight:620;text-decoration:none}
.pv-pagination .page-numbers:hover,.pv-pagination .current{background:var(--pv-grad);border-color:transparent;color:#fff;text-decoration:none}

.pv-404{text-align:center;max-width:620px;margin-inline:auto}
.pv-404__code{font-size:clamp(4rem,3rem + 6vw,7.5rem);font-weight:850;line-height:1;background:var(--pv-grad);-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:-.04em;margin-bottom:.15em}
.pv-searchform{display:flex;gap:10px;max-width:460px;margin:26px auto 0}
.pv-searchform input[type="search"]{flex:1;padding:12px 15px;border:1px solid var(--pv-line);border-radius:10px;font:inherit}
.pv-searchform input[type="search"]:focus{outline:none;border-color:var(--pv-blue-500);box-shadow:0 0 0 3px rgba(47,107,255,.16)}

/* Reveal on scroll ----------------------------------------------------- */
.pv-reveal{opacity:0;transform:translateY(16px)}
.pv-reveal.is-in{opacity:1;transform:none;transition:opacity .55s ease,transform .55s cubic-bezier(.22,.8,.3,1)}
.no-js .pv-reveal,.pv-noanim .pv-reveal{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.pv-reveal{opacity:1;transform:none}}

/* Utilities ------------------------------------------------------------ */
.pv-center{text-align:center}
.pv-mt-0{margin-top:0}
.pv-mt-2{margin-top:1.2rem}
.pv-mt-4{margin-top:2.2rem}
.pv-mt-6{margin-top:3.2rem}
.pv-maxw{max-width:760px}
.pv-maxw--center{max-width:760px;margin-inline:auto}
.alignwide{max-width:1080px;margin-inline:auto}
.alignfull{max-width:none}

/* Architecture diagram -------------------------------------------------- */
.pv-arch{margin:0}
.pv-arch__svg{width:100%;height:auto;display:block;max-width:1080px;margin-inline:auto;
  background:#fff;border:1px solid var(--pv-line);border-radius:var(--pv-radius-lg);
  padding:12px;box-shadow:var(--pv-shadow-sm);font-family:var(--pv-font)}
.pv-diagram{overflow-x:auto;-webkit-overflow-scrolling:touch}
@media (max-width:720px){
  .pv-arch__svg{min-width:720px}
  .pv-diagram{margin-inline:calc(var(--pv-gutter) * -1);padding-inline:var(--pv-gutter)}
}

/* Flush figures inside media wells (product cards) ---------------------- */
.pv-pcard__media .pv-figure,
.pv-pcard__media picture,
.pv-figure--flush{margin:0;height:100%}
.pv-pcard__media .pv-figure img,
.pv-figure--flush img{border:0;border-radius:0;box-shadow:none;width:100%;height:100%;object-fit:cover}

/* "Contact for pricing" must not inherit the big numeric price size ------ */
.pv-plan__price .pv-price--quote,
.pv-pcard__price .pv-price--quote,
.pv-hero__pricecard .pv-price--quote,
.pv-phero__meta .pv-price--quote{font-size:1.15rem;line-height:1.3}
