/* Veyon home v2. Colors match current theme; palette swap is the final step. */
.v2{
    --v-primary:#007bff; --v-primary-strong:#0069d9;
    --v-ink:#121a2b; --v-body:#59616f; --v-muted: #4f5664;
    --v-accent:#10b981; --v-accent-strong:#059669;
    --v-bg:#ffffff; --v-tint:#f5f8fc; --v-line:#e6ebf2;
    --v-maxw:1320px;
    --v-gl:max(20px,env(safe-area-inset-left,0px));
    --v-gr:max(20px,env(safe-area-inset-right,0px));
    --v-display:"Plus Jakarta Sans",ui-sans-serif,system-ui,-apple-system,sans-serif;
    --v-text:"DM Sans",ui-sans-serif,system-ui,-apple-system,sans-serif;
    --v-sh-sm:0 1px 2px rgba(18,26,43,.06),0 2px 10px rgba(18,26,43,.05);
    --v-sh-md:0 10px 34px rgba(18,26,43,.09);
    --v-sh-lg:0 28px 64px rgba(18,26,43,.14);
    font-family:var(--v-text); color:var(--v-body); line-height:1.6;
}
.v2 *{ box-sizing:border-box; }
.v2 h1,.v2 h2,.v2 h3{ font-family:var(--v-display); color:var(--v-ink); margin:0; line-height:1.12; }
.v2-band{ width:100%; }
.v2-band--tint{ background:var(--v-tint); }
.v2-wrap{ width:100%; max-width:var(--v-maxw); margin-inline:auto; padding-left:var(--v-gl); padding-right:var(--v-gr); }
.v2-btn{ display:inline-flex; align-items:center; justify-content:center; gap:.5rem; font-family:var(--v-display); font-weight:700; font-size:1rem; line-height:1; border-radius:999px; padding:.85rem 1.4rem; cursor:pointer; border:1px solid transparent; text-decoration:none; transition:background .2s,transform .15s,border-color .2s,color .2s; white-space:nowrap; }
.v2-btn svg{ width:18px; height:18px; }
.v2-btn--primary{ background:var(--v-primary); color:#fff; box-shadow:0 10px 22px rgba(0,123,255,.26); }
.v2-btn--primary:hover{ background:var(--v-primary-strong); color:#fff; transform:translateY(-1px); }
.v2-btn--ghost{ background:#fff; color:var(--v-ink); border-color:var(--v-line); }
.v2-btn--ghost:hover{ border-color:var(--v-primary); color:var(--v-primary); }

/* hero */
.v2-hero{ position:relative; overflow:hidden; }
.v2-hero::before{ content:""; position:absolute; inset:0; z-index:0; background:
    radial-gradient(920px 460px at 8% -12%, #e5eefc 0%, transparent 60%),
    radial-gradient(760px 440px at 104% -8%, #e2f6ee 0%, transparent 55%), var(--v-tint); }
.v2-hero__grid{ position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr); gap:3.2rem; align-items:center; padding-block:4.6rem 3.4rem; }
.v2-hero__grid > *{ min-width:0; }
.v2-eyebrow{ display:inline-flex; align-items:center; gap:.5rem; padding:.42rem .85rem; border-radius:999px; background:#fff; border:1px solid var(--v-line); font-family:var(--v-display); font-weight:600; font-size:1rem; color:var(--v-ink); box-shadow:var(--v-sh-sm); }
.v2-pulse{ width:9px; height:9px; border-radius:50%; background:var(--v-accent); box-shadow:0 0 0 0 rgba(16,185,129,.5); animation:v2pulse 2.2s infinite; }
@keyframes v2pulse{ 0%{box-shadow:0 0 0 0 rgba(16,185,129,.5)} 70%{box-shadow:0 0 0 9px rgba(16,185,129,0)} 100%{box-shadow:0 0 0 0 rgba(16,185,129,0)} }
.v2-hero h1{ font-size:clamp(2.5rem,5.2vw,4rem); font-weight:800; letter-spacing:-.025em; margin:1.1rem 0 1rem; }
.v2-hero__lead{ font-size:1.16rem; color:var(--v-body); max-width:34em; }
.v2-cta{ max-width:660px; margin-top:1.8rem; }
.v2-cta-row{ display:flex; align-items:center; justify-content:center; gap:.8rem; flex-wrap:wrap; }
.v2-url{ display:flex; gap:.5rem; align-items:center; background:#fff; border:1px solid var(--v-line); border-radius:999px; padding:.38rem .38rem .38rem 1rem; box-shadow:var(--v-sh-md); flex:1 1 300px; min-width:0; }
.v2-url .v2-globe{ width:20px; height:20px; color:var(--v-muted); flex:0 0 auto; }
.v2-url input{ flex:1; min-width:0; border:0; outline:0; background:transparent; font-family:var(--v-text); font-size:1rem; color:var(--v-ink); }
.v2-url input::placeholder{ color:var(--v-muted); }
.v2-url .v2-btn{ padding:.72rem 1.15rem; }
/* keyword two-field pill */
.v2-url--multi .v2-url__div{ width:1px; height:22px; background:var(--v-line); flex:0 0 auto; }
.v2-url--multi .v2-url__kic{ width:17px; height:17px; color:var(--v-muted); flex:0 0 auto; }
.v2-url--multi input[name="url"]{ flex:1.5; }
.v2-url--multi input[name="keyword"]{ flex:1; }
@media (max-width:560px){
    .v2-url--multi{ flex-wrap:wrap; border-radius:18px; }
    .v2-url--multi .v2-url__div{ display:none; }
    .v2-url--multi input[name="url"], .v2-url--multi input[name="keyword"]{ flex:1 1 100%; }
    .v2-url--multi .v2-btn{ flex:1 1 100%; justify-content:center; }
}
.v2-cta-row .v2-btn--ghost{ flex:0 0 auto; }
.v2-trust-wrap{ text-align:center; margin-top:1rem; }
.v2-trust{ display:inline-flex; align-items:center; gap:.45rem; font-size:.9rem; color:var(--v-muted); }
.v2-trust svg{ width:17px; height:17px; color:var(--v-accent); }

/* product mock */
.v2-mock{ background:#fff; border:1px solid var(--v-line); border-radius:20px; box-shadow:var(--v-sh-lg); overflow:hidden; }
.v2-mock__bar{ display:flex; align-items:center; gap:.5rem; padding:.7rem .9rem; border-bottom:1px solid var(--v-line); background:var(--v-tint); }
.v2-mock__dots{ display:flex; gap:.35rem; }
.v2-mock__dots i{ width:10px; height:10px; border-radius:50%; background:var(--v-line); }
.v2-mock__url{ margin-left:.4rem; font-size:.78rem; color:var(--v-muted); background:#fff; border:1px solid var(--v-line); border-radius:7px; padding:.2rem .6rem; }
.v2-mock__body{ padding:1.05rem 1.1rem; display:grid; gap:.75rem; }
.v2-mock__head{ display:flex; align-items:center; justify-content:space-between; }
.v2-mock__head b{ font-family:var(--v-display); font-size:1rem; color:var(--v-ink); }
.v2-chipok{ display:inline-flex; align-items:center; gap:.4rem; font-size:.76rem; font-weight:600; color:var(--v-accent-strong); background:rgba(16,185,129,.1); border:1px solid rgba(16,185,129,.28); padding:.26rem .6rem; border-radius:999px; }
.v2-chipok .d{ width:7px; height:7px; border-radius:50%; background:var(--v-accent); }
.v2-mon{ display:flex; align-items:center; gap:.7rem; padding:.55rem .2rem; border-top:1px solid var(--v-line); }
.v2-mon__ic{ width:30px; height:30px; border-radius:8px; background:var(--v-tint); color:var(--v-primary); display:grid; place-items:center; flex:0 0 auto; }
.v2-mon__ic svg{ width:16px; height:16px; stroke:currentColor; fill:none; }
.v2-mon__name{ font-size:1rem; color:var(--v-ink); font-weight:500; flex:1; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.v2-mon__spark{ flex:0 0 72px; }
.v2-mon__up{ font-size:1rem; color:var(--v-muted); font-variant-numeric:tabular-nums; display:flex; align-items:center; gap:.35rem; }
.v2-mon__up .d{ width:7px; height:7px; border-radius:50%; background:var(--v-accent); }
.v2-mockchart{ margin-top:.2rem; border:1px solid var(--v-line); border-radius:13px; padding:.75rem .85rem; background:var(--v-tint); }
.v2-mockchart .t{ display:flex; align-items:baseline; justify-content:space-between; margin-bottom:.3rem; }
.v2-mockchart .t small{ font-size:.74rem; color:var(--v-muted); }
.v2-mockchart .t b{ font-family:var(--v-display); color:var(--v-ink); font-size:1.05rem; font-variant-numeric:tabular-nums; }
.v2-mock__stats{ display:grid; grid-template-columns:1fr 1fr; gap:.6rem; }
.v2-stat{ border:1px solid var(--v-line); border-radius:11px; padding:.55rem .7rem; background:#fff; }
.v2-stat small{ display:block; font-size:.72rem; color:var(--v-muted); }
.v2-stat b{ font-family:var(--v-display); font-size:1.15rem; color:var(--v-ink); font-variant-numeric:tabular-nums; }

/* feature cards */
.v2-features .v2-wrap{ padding-block:4.2rem; }
.v2-features__head{ max-width:40rem; margin-bottom:2rem; }
.v2-features__head h2{ font-size:clamp(1.7rem,3.2vw,2.3rem); font-weight:800; letter-spacing:-.02em; }
.v2-features__head p{ margin-top:.7rem; color:var(--v-body); }
.v2-fgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; }
.v2-fcard{ background:#fff; border:1px solid var(--v-line); border-radius:18px; padding:1.6rem; box-shadow:var(--v-sh-sm); display:flex; flex-direction:column; gap:.7rem; transition:transform .2s,box-shadow .2s,border-color .2s; }
.v2-fcard:hover{ transform:translateY(-3px); box-shadow:var(--v-sh-md); border-color:#cfe0ff; }
.v2-fic{ width:54px; height:54px; border-radius:15px; display:grid; place-items:center; border:1px solid var(--v-line); }
.v2-fic svg{ width:26px; height:26px; stroke:currentColor; fill:none; }
.v2-fic--a{ background:linear-gradient(135deg,#e8f1ff,#fff); color:var(--v-primary); }
.v2-fic--b{ background:linear-gradient(135deg,#e2f7ee,#fff); color:var(--v-accent-strong); }
.v2-fic--c{ background:linear-gradient(135deg,#fff1df,#fff); color:#c2730b; }
.v2-fcard h3{ font-size:1.22rem; font-weight:700; margin-top:.3rem; }
.v2-fcard p{ color:var(--v-body); font-size:.98rem; }
.v2-learn{ margin-top:auto; display:inline-flex; align-items:center; gap:.4rem; font-family:var(--v-display); font-weight:700; font-size:.92rem; color:var(--v-primary); padding-top:.3rem; text-decoration:none; }
.v2-learn svg{ width:16px; height:16px; transition:transform .2s; }
.v2-learn:hover svg{ transform:translateX(3px); }

/* clients */
.v2-clients .v2-wrap{ padding-block:3.8rem; text-align:center; }
.v2-clients h2{ font-size:clamp(1.4rem,2.6vw,1.9rem); font-weight:700; color:var(--v-ink); letter-spacing:-.01em; /* max-width:24ch; */ margin-inline:auto; }
.v2-marquee{ margin:2.1rem 0 1.6rem; overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); }
.v2-marquee__track{ display:flex; gap:3.2rem; width:max-content; animation:v2scroll 34s linear infinite; }
.v2-marquee:hover .v2-marquee__track{ animation-play-state:paused; }
@keyframes v2scroll{ from{transform:translateX(0)} to{transform:translateX(-50%)} }
.v2-logo{ display:inline-flex; align-items:center; gap:.5rem; font-family:var(--v-display); font-weight:800; font-size:1.3rem; color:var(--v-muted); opacity:.72; white-space:nowrap; }
.v2-logo svg{ width:22px; height:22px; color:#9fb6d6; }
.v2-clients__desc{ max-width:62ch; margin:0 auto; color:var(--v-body); }
@media (prefers-reduced-motion:reduce){ .v2-marquee__track{ animation:none; } }
/* Home: clients strip below the hero (label left, logos scrolling right, divider below) */
.v2-clients--strip{ padding:0; background:var(--v-tint); border-bottom:1px solid var(--v-line); }
.v2-clients--strip .v2-wrap{ padding-block:1.6rem 1.5rem; text-align:left; }
.v2-clients__row{ display:flex; align-items:center; gap:2rem; }
.v2-clients--strip h2{ flex:0 0 15rem; margin:0; font-size:.78rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; line-height:1.4; color:var(--v-ink); }
.v2-clients--strip .v2-marquee{ flex:1 1 auto; min-width:0; margin:0; }
.v2-clients--strip .v2-clients__desc{ max-width:none; margin:1.1rem 0 0; font-size:.92rem; color:var(--v-muted); }
@media (max-width:767px){ .v2-clients__row{ flex-direction:column; align-items:flex-start; gap:.9rem; } .v2-clients--strip h2{ flex:none; } .v2-clients--strip .v2-marquee{ width:100%; } }
.v2-clients__stats{ display:flex; flex-wrap:nowrap; align-items:center; justify-content:space-between; gap:1.2rem; margin-top:1.1rem; color:var(--v-muted); }
.v2-clients__stats > span{ display:inline-flex; align-items:center; gap:.6rem; white-space:nowrap; }
.v2-clients__stats b{ font-family:var(--v-display); font-size:1.55rem; font-weight:800; line-height:1; color:var(--v-ink); font-variant-numeric:tabular-nums; }
.v2-clients__lbl{ font-size:.82rem; font-weight:400; line-height:1.25; color:var(--v-muted); }
@media (max-width:1199px){ .v2-clients__stats{ flex-wrap:wrap; justify-content:flex-start; gap:1rem 2rem; } }
@media (max-width:767px){ .v2-clients__stats{ gap:.9rem 1.4rem; } .v2-clients__stats b{ font-size:1.35rem; } .v2-clients__lbl{ font-size:.78rem; } }

@media (max-width:980px){
    .v2-hero__grid{ grid-template-columns:minmax(0,1fr); gap:2.4rem; padding-block:2.8rem; }
    .v2-fgrid{ grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce){ .v2-pulse{ animation:none; } }
/* all monitors */
.v2am .v2-wrap{ padding-block:5rem; }
.v2am-grid{ display:grid; grid-template-columns:1fr 1.05fr; gap:3rem; align-items:start; }
.v2am-grid > *{ min-width:0; }
.v2am-left h2{ font-size:clamp(1.9rem,3.4vw,2.6rem); font-weight:800; letter-spacing:-.02em; margin:1rem 0 .8rem; }
.v2am-intro{ color:var(--v-body); max-width:44ch; margin-bottom:1.8rem; }
.v2am-cards{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.v2am-card{ background:#fff; border:1px solid var(--v-line); border-radius:16px; padding:1.1rem; display:flex; flex-direction:column; gap:.5rem; box-shadow:var(--v-sh-sm); }
.v2am-card-ic{ width:42px; height:42px; border-radius:11px; background:var(--v-tint); color:var(--v-primary); display:grid; place-items:center; border:1px solid var(--v-line); }
.v2am-card-ic svg{ width:21px; height:21px; stroke:currentColor; fill:none; }
.v2am-card h4{ font-family:var(--v-display); font-size:1.02rem; font-weight:700; color:var(--v-ink); }
.v2am-card p{ font-size:1rem; color:var(--v-body); line-height:1.45; }
.v2am-card-eg{ margin-top:auto; font-family:var(--v-display); font-size:.72rem; font-weight:600; color:var(--v-ink); background:var(--v-tint); border:1px solid var(--v-line); border-radius:8px; padding:.45rem .55rem; display:flex; align-items:center; gap:.4rem; flex-wrap:wrap; }
.v2am-card-eg svg{ width:15px; height:15px; flex:0 0 auto; }
.v2am-card-eg--col{ flex-direction:column; align-items:flex-start; gap:.25rem; }
.v2am-card-eg--col .r{ display:flex; align-items:center; gap:.4rem; }
.v2am-card-eg--col .ch{ color:var(--v-muted); font-weight:600; }
.v2am-right{ margin-top:3.6rem; }
.v2am-panel{ background:#fff; border:1px solid var(--v-line); border-radius:22px; box-shadow:var(--v-sh-lg); padding:1.6rem; }
.v2am-panel-head{ font-family:var(--v-display); font-weight:700; color:var(--v-ink); font-size:1.05rem; margin-bottom:.9rem; }
.v2am-icons{ display:grid; grid-template-columns:repeat(6,1fr); gap:.5rem; margin-bottom:1.1rem; }
.v2am-ic{ display:flex; flex-direction:column; align-items:center; gap:.3rem; padding:.6rem .3rem; border:1px solid var(--v-line); border-radius:12px; background:#fff; cursor:pointer; color:var(--v-body); transition:background .15s,border-color .15s,color .15s,box-shadow .15s; }
.v2am-ic svg{ width:20px; height:20px; stroke:currentColor; fill:none; }
.v2am-ic span{ font-family:var(--v-display); font-size:.64rem; font-weight:600; }
.v2am-ic:hover{ border-color:#bcd7ff; color:var(--v-primary-strong); }
.v2am-ic.is-active{ background:var(--v-primary); border-color:var(--v-primary); color:#fff; box-shadow:0 8px 18px rgba(0,123,255,.3); }
.v2am-ic--amber{ background:#fff7e9; border-color:#f3d9a8; color:#c2730b; }
.v2am-ic--green{ background:#ecf9f1; border-color:#bfe8cf; color:#1f8a4c; }
.v2am-ic--purple{ background:#f3eefb; border-color:#ddc9f3; color:#6b3fb0; }
.v2am-ic--amber:hover{ border-color:#d9850c; color:#c2730b; }
.v2am-ic--green:hover{ border-color:#2faa5e; color:#1f8a4c; }
.v2am-ic--purple:hover{ border-color:#7b52c9; color:#6b3fb0; }
.v2am-ic--amber.is-active{ background:#c2730b; border-color:#c2730b; color:#fff; box-shadow:0 8px 18px rgba(194,115,11,.3); }
.v2am-ic--green.is-active{ background:#1f8a4c; border-color:#1f8a4c; color:#fff; box-shadow:0 8px 18px rgba(31,138,76,.3); }
.v2am-ic--purple.is-active{ background:#6b3fb0; border-color:#6b3fb0; color:#fff; box-shadow:0 8px 18px rgba(107,63,176,.3); }
.v2am-detail.tint-amber{ background:#fff7e9; border-color:#f3d9a8; }
.v2am-detail.tint-green{ background:#ecf9f1; border-color:#bfe8cf; }
.v2am-detail.tint-purple{ background:#f3eefb; border-color:#ddc9f3; }
.v2am-detail.tint-amber .v2am-shot{ color:#c2730b; }
.v2am-detail.tint-green .v2am-shot{ color:#1f8a4c; }
.v2am-detail.tint-purple .v2am-shot{ color:#6b3fb0; }
.v2am-detail{ display:grid; grid-template-columns:1fr 1.1fr; gap:1.3rem; align-items:center; background:var(--v-tint); border:1px solid var(--v-line); border-radius:16px; padding:1.4rem; }
.v2am-detail > *{ min-width:0; }
.v2am-shot{ aspect-ratio:1/1; border-radius:12px; background:#fff; border:1px solid var(--v-line); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.6rem; color:var(--v-primary); }
.v2am-shot svg{ width:38px; height:38px; stroke:currentColor; fill:none; }
.v2am-metric{ font-family:var(--v-display); font-weight:800; font-size:1.15rem; color:var(--v-ink); }
.v2am-status{ display:inline-flex; align-items:center; gap:.35rem; font-size:.72rem; font-weight:600; color:var(--v-accent-strong); }
.v2am-status .d{ width:7px; height:7px; border-radius:50%; background:var(--v-accent); }
.v2am-body h4{ font-family:var(--v-display); font-size:1.15rem; font-weight:700; color:var(--v-ink); margin-bottom:.4rem; }
.v2am-body p{ font-size:1rem; color:var(--v-body); line-height:1.5; margin-bottom:.6rem; }
.v2am-eg{ font-family:var(--v-display); font-size:.73rem; color:var(--v-muted); background:#fff; border:1px solid var(--v-line); border-radius:8px; padding:.4rem .55rem; margin-bottom:.7rem; display:inline-block; }
.v2am-learn{ display:inline-flex; align-items:center; gap:.4rem; font-family:var(--v-display); font-weight:700; font-size:1rem; color:var(--v-primary-strong); text-decoration:none; }
.v2am-learn svg{ width:16px; height:16px; }
.v2am-stats{ position:relative; overflow:hidden; display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:1.3rem; padding:1.3rem 1.1rem; background:var(--v-tint); border:1px solid var(--v-line); border-radius:16px; }
.v2am-stats__globe{ position:absolute; right:-16px; bottom:-26px; width:130px; height:130px; color:var(--v-primary); opacity:.12; pointer-events:none; }
.v2am-stat{ position:relative; z-index:1; text-align:center; }
.v2am-stat b{ display:block; font-family:var(--v-display); font-size:1.4rem; font-weight:800; color:var(--v-ink); }
.v2am-stat span{ font-size:.75rem; color:var(--v-muted); }
@media (max-width:980px){ .v2am-grid{ grid-template-columns:1fr; gap:2.4rem; } .v2am-detail{ grid-template-columns:1fr; } .v2am-right{ margin-top:0; } }
@media (max-width:560px){ .v2am-cards{ grid-template-columns:1fr; } .v2am-icons{ grid-template-columns:repeat(4,1fr); } }
/* features overview */
.v2fo > .v2-wrap{ padding-block:4.5rem 0; }
.v2fo-intro{ max-width:46rem; }
.v2fo-intro h2{ font-size:clamp(1.9rem,3.6vw,2.7rem); font-weight:800; letter-spacing:-.02em; margin-top:.8rem; color:var(--v-ink); }
.v2fo-intro p{ margin-top:.7rem; color:var(--v-body); }
.v2fo-zone{ margin-top:0; }
.v2fo-tabs{ position:sticky; top:73px; z-index:20; background:rgba(255,255,255,.94); backdrop-filter:saturate(1.4) blur(10px); -webkit-backdrop-filter:saturate(1.4) blur(10px); border-bottom:1px solid var(--v-line); box-shadow:0 1px 0 rgba(15,23,42,.04); opacity:0; transform:translateY(-8px); pointer-events:none; transition:opacity .25s ease, transform .25s ease; }
.v2fo-tabs.is-stuck{ opacity:1; transform:none; pointer-events:auto; }
.v2fo-tabs__inner{ display:flex; gap:.2rem; overflow-x:auto; scrollbar-width:none; }
.v2fo-tabs__inner::-webkit-scrollbar{ display:none; }
.v2fo-tab{ flex:0 0 auto; padding:.85rem .9rem; font-family:var(--v-display); font-weight:700; font-size:.95rem; color:var(--v-muted); text-decoration:none; border-bottom:2px solid transparent; white-space:nowrap; transition:color .15s,border-color .15s; }
.v2fo-tab:hover{ color:var(--v-ink); }
.v2fo-tab.is-active{ color:var(--v-primary-strong); border-bottom-color:var(--v-primary); }
.v2fo-sec{ display:grid; grid-template-columns:1fr 1.1fr; gap:3rem; align-items:center; padding-block:4.4rem; border-top:1px solid var(--v-line); scroll-margin-top:130px; }
.v2fo-sec:first-of-type{ border-top:0; padding-top:0; }
.v2fo-sec:nth-of-type(even){ grid-template-columns:1.1fr 1fr; }
.v2fo-sec:nth-of-type(even) > .v2fo-mock{ order:-1; }
.v2fo-sec > *{ min-width:0; }
.v2fo-eyebrow{ font-family:var(--v-display); font-weight:700; font-size:.76rem; letter-spacing:.08em; text-transform:uppercase; color:var(--v-primary-strong); }
.v2fo-sec h3{ font-size:clamp(1.6rem,2.8vw,2.1rem); font-weight:800; letter-spacing:-.02em; margin:.55rem 0 .8rem; color:var(--v-ink); }
.v2fo-desc{ color:var(--v-body); font-size:1.05rem; max-width:34em; }
.v2fo-points{ list-style:none; margin:1.2rem 0 1.4rem; padding:0; display:flex; flex-direction:column; gap:.55rem; }
.v2fo-points li{ display:flex; align-items:center; gap:.6rem; font-weight:500; color:var(--v-ink); font-size:.95rem; }
.v2fo-points svg{ width:18px; height:18px; color:var(--v-accent-strong); flex:0 0 auto; }
.v2fo-learn{ display:inline-flex; align-items:center; gap:.45rem; font-family:var(--v-display); font-weight:700; color:var(--v-primary-strong); text-decoration:none; }
.v2fo-learn svg{ width:16px; height:16px; transition:transform .2s; }
.v2fo-learn:hover svg{ transform:translateX(3px); }
.v2fo-mock{ background:#fff; border:1px solid var(--v-line); border-radius:18px; box-shadow:var(--v-sh-lg); padding:1.2rem 1.3rem; }
.v2fo-mock__bar{ display:flex; align-items:center; justify-content:space-between; margin-bottom:.9rem; }
.v2fo-mock__bar b{ font-family:var(--v-display); font-size:.95rem; color:var(--v-ink); }
.v2fo-cok{ display:inline-flex; align-items:center; gap:.35rem; font-size:.72rem; font-weight:700; color:var(--v-accent-strong); background:rgba(16,185,129,.1); border:1px solid rgba(16,185,129,.28); padding:.24rem .55rem; border-radius:999px; }
.v2fo-cok .d{ width:7px; height:7px; border-radius:50%; background:var(--v-accent); }
.v2fo-cwarn{ display:inline-flex; align-items:center; gap:.35rem; font-size:.72rem; font-weight:700; color:#b45309; background:#fff6e9; border:1px solid #f3d9a8; padding:.24rem .55rem; border-radius:999px; }
.v2fo-chip{ display:flex; align-items:center; gap:.6rem; padding:.55rem .7rem; border:1px solid var(--v-line); border-radius:10px; background:#fff; font-size:1rem; color:var(--v-ink); margin-bottom:.5rem; }
.v2fo-chip .ico{ width:28px; height:28px; border-radius:7px; display:grid; place-items:center; flex:0 0 auto; }
.v2fo-chip .ico svg{ width:15px; height:15px; }
.v2fo-chip small{ color:var(--v-muted); font-size:.74rem; }
.v2fo-dot{ width:8px; height:8px; border-radius:50%; flex:0 0 auto; }
.v2fo-tl{ display:flex; align-items:center; gap:.6rem; padding:.55rem 0; font-size:1rem; color:var(--v-ink); border-top:1px dashed var(--v-line); }
.v2fo-tl:first-child{ border-top:0; }
.v2fo-tl small{ margin-left:auto; color:var(--v-muted); }
.v2fo-msg{ display:flex; gap:.6rem; padding:.5rem 0; font-size:1rem; align-items:flex-start; }
.v2fo-msg .av{ width:30px; height:30px; border-radius:50%; display:grid; place-items:center; background:#e8f1ff; color:var(--v-primary-strong); font-family:var(--v-display); font-weight:700; font-size:1rem; flex:0 0 auto; }
.v2fo-msg b{ color:var(--v-ink); }
.v2fo-msg small{ color:var(--v-muted); margin-left:.3rem; }
.v2fo-row{ display:flex; align-items:center; gap:.6rem; padding:.6rem 0; border-top:1px solid var(--v-line); font-size:1rem; color:var(--v-ink); }
.v2fo-row:first-of-type{ border-top:0; }
.v2fo-reg{ display:flex; align-items:center; gap:.5rem; padding:.35rem 0; font-size:1rem; color:var(--v-body); }
.v2fo-reg b{ margin-left:auto; color:var(--v-ink); font-variant-numeric:tabular-nums; }
@media (max-width:900px){ .v2fo-sec, .v2fo-sec:nth-of-type(even){ grid-template-columns:1fr; gap:2rem; padding-block:3rem; } .v2fo-sec:nth-of-type(even) > .v2fo-mock{ order:0; } }
/* SEO performance */
.v2seo{ background:color-mix(in srgb, var(--v-primary) 4%, #fff); }
.v2seo-head{ text-align:center; max-width:48rem; margin-inline:auto; padding-top:5rem; }
.v2seo-head h2{ font-size:clamp(2rem,4.2vw,2.9rem); font-weight:800; letter-spacing:-.02em; color:var(--v-ink); }
.v2seo-head p{ margin-top:.85rem; font-size:1.12rem; color:var(--v-body); }
.v2seo__grid{ display:grid; grid-template-columns:1fr 1.06fr; gap:3.4rem; align-items:center; padding-block:2.8rem 5rem; }
.v2seo__grid > *{ min-width:0; }
.v2seo__copy h3{ font-size:clamp(1.55rem,2.8vw,2.05rem); font-weight:800; letter-spacing:-.02em; margin:0 0 .85rem; color:var(--v-ink); }
.v2seo__lead{ font-size:1.12rem; color:var(--v-body); max-width:34em; }
.v2seo__points{ list-style:none; margin:1.4rem 0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:.7rem; }
.v2seo__points li{ display:flex; align-items:center; gap:.55rem; font-weight:500; color:var(--v-ink); font-size:.95rem; }
.v2seo__points svg{ width:18px; height:18px; color:var(--v-accent-strong); flex:0 0 auto; }
.v2seo__stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:.8rem; margin:1.5rem 0 1.9rem; }
.v2seo-stat{ background:#fff; border:1px solid var(--v-line); border-radius:14px; padding:.85rem 1rem; box-shadow:var(--v-sh-sm, 0 1px 2px rgba(15,23,42,.06)); }
.v2seo-stat b{ display:block; font-family:var(--v-display); font-size:1.5rem; font-weight:800; color:var(--v-ink); letter-spacing:-.01em; }
.v2seo-stat span{ font-size:.78rem; color:var(--v-muted); }
.v2seo-card{ background:#fff; border:1px solid var(--v-line); border-radius:20px; box-shadow:var(--v-sh-lg); padding:1.3rem; }
.v2seo-card__bar{ display:flex; align-items:center; margin-bottom:1rem; }
.v2seo-card__bar b{ font-family:var(--v-display); font-size:1rem; color:var(--v-ink); }
.v2seo-card__bar small{ color:var(--v-muted); font-weight:500; font-size:1rem; margin-left:.45rem; }
.v2seo-cok{ margin-left:auto; display:inline-flex; align-items:center; gap:.35rem; font-size:.72rem; font-weight:700; color:var(--v-accent-strong); background:color-mix(in srgb, var(--v-accent) 11%, #fff); border:1px solid color-mix(in srgb, var(--v-accent) 28%, #fff); padding:.24rem .55rem; border-radius:999px; }
.v2seo-cok .d{ width:7px; height:7px; border-radius:50%; background:var(--v-accent); }
.v2seo-vis{ display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.9rem 1.1rem; border:1px solid var(--v-line); border-radius:14px; background:color-mix(in srgb, var(--v-primary) 5%, #fff); margin-bottom:1rem; }
.v2seo-vis__n{ font-family:var(--v-display); font-weight:800; font-size:2rem; color:var(--v-ink); line-height:1; }
.v2seo-vis__n em{ font-style:normal; font-size:.9rem; color:var(--v-accent-strong); font-weight:700; margin-left:.35rem; }
.v2seo-vis__l{ font-size:.77rem; color:var(--v-muted); margin-top:.35rem; }
.v2seo-vis svg{ width:132px; height:46px; flex:0 0 auto; }
.v2seo-kw{ display:flex; align-items:center; gap:.7rem; padding:.62rem 0; border-top:1px solid var(--v-line); font-size:.9rem; }
.v2seo-kw:first-of-type{ border-top:0; }
.v2seo-kw__t{ color:var(--v-ink); font-weight:500; flex:1; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.v2seo-pos{ font-family:var(--v-display); font-weight:700; font-size:1rem; color:var(--v-primary-strong); background:color-mix(in srgb, var(--v-primary) 8%, #fff); border:1px solid color-mix(in srgb, var(--v-primary) 22%, #fff); border-radius:8px; padding:.22rem .5rem; flex:0 0 auto; }
.v2seo-chg{ display:inline-flex; align-items:center; gap:.18rem; font-weight:700; font-size:1rem; width:46px; justify-content:flex-end; flex:0 0 auto; }
.v2seo-chg svg{ width:13px; height:13px; }
.v2seo-chg--up{ color:var(--v-accent-strong); }
.v2seo-chg--down{ color:#ef4444; }
.v2seo-chg--flat{ color:var(--v-muted); }
@media (max-width:900px){ .v2seo__grid{ grid-template-columns:1fr; gap:2.4rem; } .v2seo__points{ grid-template-columns:1fr; } }
/* Ranking Improvement */
.v2ri > .v2-wrap{ padding-block:4.6rem; text-align:center; }
.v2ri h2{ font-size:clamp(1.7rem,3.2vw,2.3rem); font-weight:800; letter-spacing:-.02em; color:var(--v-ink); }
.v2ri > .v2-wrap > p{ margin:.7rem auto 0; max-width:40rem; color:var(--v-body); font-size:1.08rem; }
.v2ri__logos{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:2rem 3rem; margin-top:2.6rem; }
.v2ri__logos svg{ height:30px; width:auto; fill:var(--v-muted); opacity:.68; transition:fill .2s,opacity .2s; }
.v2ri__logos svg:hover{ fill:var(--v-ink); opacity:1; }
/* SEO feature splits */
.v2sx > .v2-wrap{ padding-block:5rem; }
.v2sx--tint{ background:color-mix(in srgb, var(--v-primary) 4%, #fff); }
.v2sx__grid{ display:grid; grid-template-columns:1fr 1fr; gap:3.6rem; align-items:center; }
.v2sx__grid > *{ min-width:0; }
.v2sx__copy h2{ font-size:clamp(1.7rem,3.2vw,2.35rem); font-weight:800; letter-spacing:-.02em; color:var(--v-ink); }
.v2sx__copy > p{ margin-top:.7rem; color:var(--v-body); font-size:1.08rem; max-width:34em; }
.v2tag{ display:inline-block; font-size:.68rem; font-weight:700; color:var(--v-accent-strong); background:color-mix(in srgb,var(--v-accent) 14%,#fff); border:1px solid color-mix(in srgb,var(--v-accent) 30%,#fff); padding:.12rem .45rem; border-radius:6px; margin-left:.3rem; vertical-align:middle; }
.v2feat{ display:flex; gap:1rem; margin-top:1.7rem; }
.v2feat__ic{ position:relative; flex:0 0 auto; width:48px; height:48px; border-radius:13px; display:grid; place-items:center; background:color-mix(in srgb, var(--v-primary) 9%, #fff); color:var(--v-primary-strong); border:1px solid var(--v-line); }
.v2feat__badge{ position:absolute; top:-6px; right:-6px; width:20px; height:20px; border-radius:50%; background:#ef4444; display:grid; place-items:center; border:2px solid #fff; }
.v2feat__badge svg{ width:11px; height:11px; color:#fff; }
.v2feat__ic svg{ width:22px; height:22px; }
.v2feat__t{ font-family:var(--v-display); font-weight:700; font-size:1.02rem; color:var(--v-ink); }
.v2feat__d{ color:var(--v-muted); font-size:1rem; margin-top:.15rem; }
.v2sites{ display:grid; gap:.7rem; }
.v2site{ display:flex; align-items:center; gap:.75rem; background:#fff; border:1px solid var(--v-line); border-radius:14px; box-shadow:var(--v-sh-sm, 0 1px 2px rgba(15,23,42,.06)); padding:.7rem 1rem; }
.v2site__ic{ width:22px; height:22px; flex:0 0 auto; display:grid; place-items:center; }
.v2site__ic svg{ width:22px; height:22px; }
.v2site__d{ flex:1; min-width:0; }
.v2site__top{ display:flex; align-items:center; gap:.5rem; }
.v2site__top b{ font-family:var(--v-display); font-weight:700; font-size:.92rem; color:var(--v-primary-strong); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.v2site__time{ color:var(--v-muted); font-size:.76rem; margin-top:.05rem; }
.v2site__more{ flex:0 0 auto; width:28px; height:28px; display:grid; place-items:center; color:var(--v-muted); }
.v2site__more svg{ width:18px; height:18px; }
.v2site__b{ font-size:.72rem; font-weight:700; padding:.18rem .5rem; border-radius:999px; flex:0 0 auto; }
.v2site__b--good{ color:var(--v-accent-strong); background:color-mix(in srgb,var(--v-accent) 14%,#fff); }
.v2site__b--ok{ color:#b45309; background:#fff6e9; }
.v2site__b--bad{ color:#ef4444; background:#fdecec; }
.v2audit{ display:grid; gap:.7rem; }
.v2chk{ display:flex; align-items:center; gap:.85rem; background:#fff; border:1px solid var(--v-line); border-radius:14px; box-shadow:var(--v-sh-sm, 0 1px 2px rgba(15,23,42,.06)); padding:.85rem 1.05rem; }
.v2chk__ic{ width:22px; height:22px; flex:0 0 auto; display:grid; place-items:center; }
.v2chk__ic svg{ width:20px; height:20px; }
.v2chk__t{ font-family:var(--v-display); font-weight:700; font-size:.9rem; color:var(--v-ink); flex:0 0 30%; }
.v2chk__r{ color:var(--v-muted); font-size:1rem; flex:1; min-width:0; }
.v2chk__info{ flex:0 0 auto; width:22px; height:22px; display:grid; place-items:center; color:var(--v-muted); }
.v2chk__info svg{ width:16px; height:16px; }
@media (max-width:900px){ .v2sx__grid{ grid-template-columns:1fr; gap:2.2rem; } .v2ar .v2sx__copy{ order:-1; } }
/* Visitor Analytics */
.v2va{ background:color-mix(in srgb, var(--v-primary) 4%, #fff); }
.v2va-head{ text-align:center; max-width:48rem; margin-inline:auto; padding-top:5rem; }
.v2va-head h2{ font-size:clamp(2rem,4.2vw,2.9rem); font-weight:800; letter-spacing:-.02em; color:var(--v-ink); }
.v2va-head p{ margin-top:.85rem; font-size:1.12rem; color:var(--v-body); }
.v2va__grid{ display:grid; grid-template-columns:1fr 1.06fr; gap:3.4rem; align-items:center; padding-block:2.8rem 5rem; }
.v2va__grid > *{ min-width:0; }
.v2va__copy h3{ font-size:clamp(1.55rem,2.8vw,2.05rem); font-weight:800; letter-spacing:-.02em; margin:0 0 .85rem; color:var(--v-ink); }
.v2va__lead{ font-size:1.12rem; color:var(--v-body); max-width:34em; }
.v2va__points{ list-style:none; margin:1.4rem 0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:.7rem; }
.v2va__points li{ display:flex; align-items:center; gap:.55rem; font-weight:500; color:var(--v-ink); font-size:.95rem; }
.v2va__points svg{ width:18px; height:18px; color:var(--v-accent-strong); flex:0 0 auto; }
.v2va__stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:.8rem; margin:1.5rem 0 1.9rem; }
.v2va-stat{ background:#fff; border:1px solid var(--v-line); border-radius:14px; padding:.85rem 1rem; box-shadow:var(--v-sh-sm, 0 1px 2px rgba(15,23,42,.06)); }
.v2va-stat b{ display:block; font-family:var(--v-display); font-size:1.5rem; font-weight:800; color:var(--v-ink); letter-spacing:-.01em; }
.v2va-stat span{ font-size:.78rem; color:var(--v-muted); }
.v2va-card{ background:#fff; border:1px solid var(--v-line); border-radius:20px; box-shadow:var(--v-sh-lg); padding:1.3rem; }
.v2va-card__bar{ display:flex; align-items:center; justify-content:space-between; margin-bottom:.9rem; }
.v2va-card__bar b{ font-family:var(--v-display); font-size:1rem; color:var(--v-ink); }
.v2va-live{ display:inline-flex; align-items:center; gap:.4rem; font-size:.74rem; font-weight:700; color:var(--v-accent-strong); background:color-mix(in srgb,var(--v-accent) 12%,#fff); border:1px solid color-mix(in srgb,var(--v-accent) 26%,#fff); padding:.24rem .55rem; border-radius:999px; }
.v2va-live .d{ width:7px; height:7px; border-radius:50%; background:var(--v-accent); box-shadow:0 0 0 0 rgba(16,185,129,.5); animation:v2pulse 2.2s infinite; }
@keyframes v2pulse{ 0%{ box-shadow:0 0 0 0 rgba(16,185,129,.5); } 70%{ box-shadow:0 0 0 7px rgba(16,185,129,0); } 100%{ box-shadow:0 0 0 0 rgba(16,185,129,0); } }
.v2va-big{ font-family:var(--v-display); font-weight:800; font-size:2.4rem; color:var(--v-ink); line-height:1; display:flex; align-items:baseline; gap:.5rem; }
.v2va-up{ font-size:.9rem; font-weight:700; color:var(--v-accent-strong); }
.v2va-sub{ font-size:.78rem; color:var(--v-muted); margin:.3rem 0 1rem; }
.v2va-srcs{ display:grid; gap:.6rem; margin-top:.4rem; }
.v2va-src{ display:flex; align-items:center; gap:.7rem; font-size:1rem; }
.v2va-src__l{ flex:0 0 36%; color:var(--v-ink); }
.v2va-src__bar{ flex:1; height:8px; border-radius:999px; background:var(--v-line); overflow:hidden; }
.v2va-src__bar i{ display:block; height:100%; border-radius:999px; }
.v2va-src b{ flex:0 0 auto; color:var(--v-ink); font-variant-numeric:tabular-nums; font-size:1rem; width:34px; text-align:right; }
@media (max-width:900px){ .v2va__grid{ grid-template-columns:1fr; gap:2.4rem; } .v2va__points{ grid-template-columns:1fr; } }
/* Analytics (3-col) */
.v2an > .v2-wrap{ padding-block:5rem; }
.v2an-head{ text-align:center; max-width:44rem; margin-inline:auto; }
.v2an-head h2{ font-size:clamp(1.9rem,3.8vw,2.7rem); font-weight:800; letter-spacing:-.02em; color:var(--v-ink); }
.v2an-head p{ margin-top:.7rem; color:var(--v-body); font-size:1.1rem; }
.v2an-grid{ display:grid; grid-template-columns:1fr 1.05fr 1fr; gap:2.4rem; align-items:center; margin-top:3rem; }
.v2an-grid > *{ min-width:0; }
.v2an-feat{ display:flex; gap:.9rem; }
.v2an-feat + .v2an-feat{ margin-top:1.8rem; }
.v2an-feat__ic{ flex:0 0 auto; width:42px; height:42px; border-radius:11px; display:grid; place-items:center; background:color-mix(in srgb, var(--v-primary) 9%, #fff); color:var(--v-primary-strong); border:1px solid var(--v-line); }
.v2an-feat__ic svg{ width:20px; height:20px; }
.v2an-feat__t{ font-family:var(--v-display); font-weight:700; font-size:1rem; color:var(--v-ink); }
.v2an-feat__d{ color:var(--v-muted); font-size:1rem; margin-top:.1rem; }
.v2an-metrics{ display:grid; gap:.7rem; }
.v2an-metric{ background:#fff; border:1px solid var(--v-line); border-radius:14px; box-shadow:var(--v-sh-sm, 0 1px 2px rgba(15,23,42,.06)); padding:.85rem 1rem; }
.v2an-metric__top{ display:flex; align-items:center; gap:.55rem; margin-bottom:.55rem; }
.v2an-metric__ic{ width:20px; height:20px; flex:0 0 auto; display:grid; place-items:center; }
.v2an-metric__ic svg{ width:20px; height:20px; }
.v2an-metric__ic img{ width:18px; height:18px; object-fit:contain; }
.v2an-metric__l{ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:1rem; color:var(--v-ink); font-weight:500; }
.v2an-metric__ext{ width:12px; height:12px; color:var(--v-muted); vertical-align:middle; margin-left:.25rem; }
.v2an-metric__n{ font-family:var(--v-display); font-weight:700; font-size:1rem; color:var(--v-ink); flex:0 0 auto; font-variant-numeric:tabular-nums; }
.v2an-bar{ height:7px; border-radius:999px; background:var(--v-line); overflow:hidden; }
.v2an-bar i{ display:block; height:100%; border-radius:999px; background:var(--v-primary); }
@media (max-width:980px){ .v2an-grid{ grid-template-columns:1fr; gap:2rem; max-width:34rem; margin-inline:auto; } .v2an-feat + .v2an-feat{ margin-top:1.4rem; } }
/* Testimonials */
.v2tm{ background:color-mix(in srgb, var(--v-primary) 4%, #fff); }
.v2tm > .v2-wrap{ padding-block:5rem; }
.v2tm-head{ text-align:center; max-width:44rem; margin-inline:auto; }
.v2tm-head h2{ font-size:clamp(1.9rem,3.8vw,2.7rem); font-weight:800; letter-spacing:-.02em; margin-top:.8rem; color:var(--v-ink); }
.v2tm-head p{ margin-top:.7rem; color:var(--v-body); font-size:1.1rem; }
.v2tm-scroll{ display:flex; gap:1.4rem; overflow-x:auto; scroll-behavior:auto !important; margin-top:3rem; padding:.4rem .2rem 1rem; scrollbar-width:none; -ms-overflow-style:none; }
.v2tm-scroll::-webkit-scrollbar{ display:none; }
.v2tm-card{ background:#fff; border:1px solid var(--v-line); border-radius:18px; box-shadow:var(--v-sh-sm, 0 1px 2px rgba(15,23,42,.06)); padding:1.6rem; display:flex; flex-direction:column; flex:0 0 clamp(288px,78vw,348px); scroll-snap-align:start; }
.v2tm-stars{ display:flex; gap:.12rem; margin-bottom:1rem; }
.v2tm-stars svg{ width:17px; height:17px; color:#f59e0b; }
.v2tm-quote{ color:var(--v-ink); font-size:1rem; line-height:1.62; flex:1; }
.v2tm-author{ display:flex; align-items:center; gap:.75rem; margin-top:1.5rem; }
.v2tm-av{ width:42px; height:42px; border-radius:50%; display:grid; place-items:center; font-family:var(--v-display); font-weight:700; font-size:.92rem; color:#fff; flex:0 0 auto; }
.v2tm-author b{ display:block; font-family:var(--v-display); font-weight:700; font-size:.95rem; color:var(--v-ink); }
.v2tm-author span{ font-size:1rem; color:var(--v-muted); }
.v2tm-track{ max-width:340px; margin:.5rem auto 0; height:6px; border-radius:999px; background:var(--v-line); position:relative; cursor:pointer; touch-action:none; }
.v2tm-thumb{ position:absolute; top:0; left:0; height:100%; width:30%; border-radius:999px; background:var(--v-primary); transition:background .2s; }
.v2tm-thumb:hover,.v2tm-thumb.dragging{ background:var(--v-primary-strong); }
/* CTA */
.v2cta{ position:relative; overflow:hidden; background:linear-gradient(135deg,var(--v-primary-strong) 0%,var(--v-primary) 55%,color-mix(in srgb,var(--v-primary) 70%,#fff) 100%); }
.v2cta::before{ content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(640px 320px at 12% -30%,rgba(255,255,255,.2),transparent 60%),radial-gradient(560px 340px at 102% 130%,color-mix(in srgb,var(--v-accent) 45%,transparent),transparent 62%); }
.v2cta > .v2-wrap{ position:relative; z-index:1; }
.v2cta__inner{ display:grid; grid-template-columns:1.02fr .98fr; gap:3.5rem; align-items:center; padding-block:4.8rem; }
.v2cta__inner>*{ min-width:0; }
.v2cta h2{ font-family:var(--v-display); font-size:clamp(1.9rem,4vw,2.8rem); font-weight:800; letter-spacing:-.025em; color:#fff; line-height:1.1; }
.v2cta__lead{ margin:1rem 0 0; font-size:1.14rem; color:rgba(255,255,255,.9); max-width:34em; }
.v2cta__actions{ display:flex; gap:.8rem; justify-content:flex-start; flex-wrap:wrap; margin-top:2rem; }
.v2cta-btn{ display:inline-flex; align-items:center; gap:.5rem; font-family:var(--v-display); font-weight:700; font-size:1rem; line-height:1; border-radius:999px; padding:.85rem 1.4rem; cursor:pointer; border:1px solid transparent; transition:transform .15s,background .2s,color .2s,border-color .2s; white-space:nowrap; text-decoration:none; }
.v2cta-btn svg{ width:18px; height:18px; }
.v2cta-btn--light{ background:#fff; color:var(--v-primary-strong); box-shadow:0 12px 26px rgba(10,20,60,.28); }
.v2cta-btn--light:hover{ background:#fff; color:var(--v-primary); transform:translateY(-1px); }
.v2cta-btn--outline{ background:rgba(255,255,255,.08); color:#fff; border-color:rgba(255,255,255,.55); }
.v2cta-btn--outline:hover{ border-color:#fff; background:rgba(255,255,255,.16); }
.v2cta__trust{ margin-top:1.5rem; font-size:1rem; color:rgba(255,255,255,.82); display:inline-flex; align-items:center; gap:.5rem; flex-wrap:wrap; }
.v2cta__trust svg{ width:16px; height:16px; color:#fff; flex:0 0 auto; }
.v2cta__media{ position:relative; }
.v2cta-slides{ position:relative; height:clamp(300px,33vw,340px); perspective:1500px; }
.v2cta-slide{ position:absolute; top:0; left:50%; width:min(84%,340px); height:100%; margin:0; opacity:0; transform-origin:center center; transform:translateX(-50%) scale(.68); transition:transform .65s cubic-bezier(.33,.08,.2,1), opacity .5s ease; pointer-events:none; z-index:0; will-change:transform,opacity; }
.v2cta-slide.is-left{ opacity:.6; z-index:2; transform:translateX(-100%) scale(.8) rotateY(16deg); filter:brightness(.97); }
.v2cta-slide.is-right{ opacity:.6; z-index:2; transform:translateX(0%) scale(.8) rotateY(-16deg); filter:brightness(.97); }
.v2cta-slide.is-center{ opacity:1; z-index:3; transform:translateX(-50%) scale(1) rotateY(0deg); pointer-events:auto; }
.v2cta-shot{ background:#fff; border-radius:16px; box-shadow:0 30px 60px rgba(10,5,40,.34); overflow:hidden; height:100%; display:flex; flex-direction:column; }
.v2cta-shot__bar{ display:flex; align-items:center; gap:.5rem; padding:.6rem .85rem; background:color-mix(in srgb,var(--v-primary) 5%,#fff); border-bottom:1px solid var(--v-line); }
.v2cta-shot__dots{ display:flex; gap:.3rem; }
.v2cta-shot__dots i{ width:9px; height:9px; border-radius:50%; background:#cfd6e4; }
.v2cta-shot__t{ font-family:var(--v-display); font-weight:700; font-size:1rem; color:var(--v-ink); }
.v2cta-shot__body{ padding:1rem 1.1rem; flex:1; display:flex; flex-direction:column; gap:.55rem; overflow:hidden; }
.v2cta-row{ display:flex; align-items:center; gap:.55rem; font-size:1rem; color:var(--v-ink); padding:.32rem 0; border-top:1px solid var(--v-line); }
.v2cta-row:first-child{ border-top:0; }
.v2cta-row .dot{ width:8px; height:8px; border-radius:50%; flex:0 0 auto; }
.v2cta-row .dot--ok{ background:var(--v-accent); } .v2cta-row .dot--warn{ background:#f59e0b; }
.v2cta-row b{ margin-left:auto; font-size:.72rem; font-weight:700; } .v2cta-row b.ok{ color:var(--v-accent-strong); } .v2cta-row b.warn{ color:#b45309; }
.v2cta-mt{ display:flex; align-items:center; justify-content:space-between; }
.v2cta-mt .lbl{ font-size:1rem; color:var(--v-muted); } .v2cta-mt .val{ font-family:var(--v-display); font-weight:800; color:var(--v-primary-strong); }
.v2cta-big{ font-family:var(--v-display); font-weight:800; font-size:1.6rem; color:var(--v-ink); } .v2cta-big em{ font-style:normal; font-size:1rem; color:var(--v-accent-strong); font-weight:700; margin-left:.4rem; }
.v2cta-kw{ display:flex; align-items:center; justify-content:space-between; font-size:1rem; color:var(--v-ink); }
.v2cta-kw .pos{ font-family:var(--v-display); font-weight:700; font-size:.74rem; color:var(--v-primary-strong); background:color-mix(in srgb,var(--v-primary) 8%,#fff); border:1px solid color-mix(in srgb,var(--v-primary) 22%,#fff); border-radius:6px; padding:.08rem .4rem; }
.v2cta-src{ display:flex; align-items:center; gap:.5rem; font-size:.78rem; color:var(--v-muted); }
.v2cta-src .lbl{ flex:0 0 52px; }
.v2cta-src .bar{ flex:1; height:6px; border-radius:999px; background:var(--v-line); overflow:hidden; }
.v2cta-src .bar i{ display:block; height:100%; background:var(--v-primary); border-radius:999px; }
.v2cta-dots{ display:flex; gap:.4rem; justify-content:center; margin-top:1rem; }
.v2cta-dot{ width:8px; height:8px; border-radius:50%; border:0; background:rgba(255,255,255,.35); cursor:pointer; padding:0; transition:background .25s,width .25s; }
.v2cta-dot.is-active{ background:#fff; width:22px; border-radius:999px; }
@media (max-width:860px){ .v2cta__inner{ grid-template-columns:1fr; gap:2.4rem; } .v2cta__media{ max-width:460px; margin-inline:auto; width:100%; } }
.v2-madein{ display:flex; align-items:center; gap:.5rem; margin:0 0 .9rem; font-size:1.2rem; font-weight:600; /* color:var(--v-primary); */ }
.v2-madein .flag{ width:22px; height:15px; border-radius:3px; overflow:hidden; box-shadow:0 0 0 1px var(--v-line); flex:0 0 auto; display:block; }
@keyframes v2amIn{ from{ opacity:0; transform:translateX(24px); } to{ opacity:1; transform:translateX(0); } }
.v2am-detail.v2am-anim{ animation:v2amIn .45s ease; }

/* ===== footer ===== */
.v2ft{ --v-maxw:1320px; --v-gl:max(20px,env(safe-area-inset-left,0px)); --v-gr:max(20px,env(safe-area-inset-right,0px)); position:relative; overflow:hidden; background:#0c1322; color:rgba(255,255,255,.7); }
.v2ft .v2-wrap{ position:relative; z-index:1; }
.v2ft__top{ display:grid; grid-template-columns:1.4fr 2fr 1fr 1fr 1fr; gap:2.4rem; padding-block:4rem 2.6rem; }
.v2ft__brand{ max-width:300px; }
.v2ft__logo{ display:inline-flex; align-items:center; gap:.55rem; font-family:var(--v-display,inherit); font-weight:800; font-size:1.35rem; color:#fff; letter-spacing:-.02em; text-decoration:none; }
.v2ft__logo .mark{ width:30px; height:30px; border-radius:8px; display:grid; place-items:center; font-size:1rem; background:linear-gradient(135deg,#3b9dff,#007bff); color:#fff; }
.v2ft__tag{ margin:1rem 0 1.25rem; font-size:.92rem; line-height:1.6; color:rgba(255,255,255,.6); }
.v2ft__status{ display:inline-flex; align-items:center; gap:.5rem; font-size:.82rem; font-weight:600; color:rgba(255,255,255,.82); background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); border-radius:999px; padding:.4rem .8rem; }
.v2ft__status .d{ width:8px; height:8px; border-radius:50%; background:#10b981; box-shadow:0 0 0 3px rgba(16,185,129,.3); }
.v2ft__social{ display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.25rem; }
.v2ft__social a{ width:34px; height:34px; border-radius:9px; display:grid; place-items:center; color:rgba(255,255,255,.75); background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); transition:background .2s,color .2s,transform .15s; }
.v2ft__social a:hover{ background:#007bff; color:#fff; border-color:transparent; transform:translateY(-2px); }
.v2ft__social svg{ width:17px; height:17px; }
.v2ft__col h4{ font-family:var(--v-display,inherit); font-weight:700; font-size:.82rem; letter-spacing:.06em; text-transform:uppercase; color:rgba(255,255,255,.95); margin:0 0 1rem; }
.v2ft__col ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.65rem; }
.v2ft__col a{ color:rgba(255,255,255,.62); font-size:.92rem; text-decoration:none; transition:color .18s; }
.v2ft__col a:hover{ color:#fff; }
.v2ft__prod{ display:grid; grid-template-columns:1fr 1fr; gap:.65rem 1.5rem; }
.v2ft__bot{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:1rem; padding-block:1.5rem; border-top:1px solid rgba(255,255,255,.1); font-size:.84rem; color:rgba(255,255,255,.55); }
.v2ft__bot a{ color:rgba(255,255,255,.75); text-decoration:none; }
.v2ft__bot a:hover{ color:#fff; }
.v2ft__copy{ justify-self:start; }
.v2ft__made{ font-size: 17px; justify-self:center; display:inline-flex; align-items:center; gap:.5rem; color:rgba(255,255,255,.72); white-space:nowrap; }
.v2ft__flag{ width:21px; height:14px; border-radius:3px; overflow:hidden; box-shadow:0 0 0 1px rgba(255,255,255,.2); flex:0 0 auto; }
.v2ft__utils{ justify-self:end; display:flex; align-items:center; gap:1.4rem; }
.v2ft__utils a{ display:inline-flex; align-items:center; color:rgba(255,255,255,.7); cursor:pointer; }
.v2ft__utils a:hover{ color:#fff; }
.v2ft__utils a span{ color:inherit; }
.v2ft__mark{ position:absolute; left:50%; bottom:-2.2rem; transform:translateX(-50%); font-family:var(--v-display,inherit); font-weight:800; font-size:clamp(5rem,18vw,13rem); letter-spacing:-.04em; line-height:1; color:rgba(255,255,255,.035); pointer-events:none; white-space:nowrap; z-index:0; }
@media (max-width:980px){ .v2ft__top{ grid-template-columns:1fr 1fr; gap:2rem 1.5rem; } .v2ft__brand{ grid-column:1 / -1; max-width:none; } .v2ft__col--wide{ grid-column:1 / -1; } }
@media (max-width:720px){ .v2ft__bot{ grid-template-columns:1fr; justify-items:center; text-align:center; gap:.75rem; } .v2ft__copy,.v2ft__made,.v2ft__utils{ justify-self:center; } }
@media (max-width:560px){ .v2ft__top{ grid-template-columns:1fr; } }

/* ===== shared page components (v2pg) ===== */
.v2pg-hero{ text-align:center; position:relative; overflow:hidden; background:linear-gradient(180deg,color-mix(in srgb,var(--v-primary) 10%,#fff),#fff); }
.v2pg-hero::before{ content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(620px 300px at 12% -15%,color-mix(in srgb,var(--v-primary) 20%,transparent),transparent 60%),radial-gradient(600px 320px at 100% 0%,color-mix(in srgb,var(--v-accent) 16%,transparent),transparent 62%); }
.v2pg-hero > .v2-wrap{ position:relative; z-index:1; padding-block:4.5rem 3.4rem; }
.v2pg-hero .v2-eyebrow{ margin-inline:auto; }
.v2pg-hero h1{ font-family:var(--v-display); font-size:clamp(2rem,4.2vw,3rem); font-weight:800; letter-spacing:-.025em; color:var(--v-ink); line-height:1.08; margin:1rem 0 0; }
.v2pg-lead{ margin:1.1rem auto 0; max-width:40rem; font-size:1.14rem; line-height:1.6; color:var(--v-body); }
.v2pg-split{ display:grid; grid-template-columns:1.05fr .95fr; gap:3rem; align-items:center; padding-block:5rem; }
@media (min-width:861px){ .v2pg-split--mock{ grid-template-columns:1fr 1.1fr; } }
.v2pg-split > *{ min-width:0; }
.v2pg-split h2{ font-family:var(--v-display); font-size:clamp(1.7rem,3vw,2.3rem); font-weight:800; letter-spacing:-.02em; color:var(--v-ink); margin:.9rem 0 .8rem; }
.v2pg-split p{ color:var(--v-body); font-size:1.05rem; line-height:1.65; margin:0 0 .9rem; }
.v2pg-split p:last-child{ margin-bottom:0; }
.v2pg-figure{ background:#fff; border:1px solid var(--v-line); border-radius:20px; box-shadow:var(--v-sh-lg); padding:1.5rem 1.6rem; }
.v2pg-figrow{ display:flex; align-items:center; gap:.7rem; padding:.75rem 0; border-top:1px solid var(--v-line); color:var(--v-ink); font-size:1rem; }
.v2pg-figrow:first-child{ border-top:0; padding-top:0; }
.v2pg-figrow:last-child{ padding-bottom:0; }
.v2pg-figrow svg{ width:20px; height:20px; color:var(--v-accent-strong); flex:0 0 auto; }
.v2pg-figrow b{ margin-left:auto; color:var(--v-primary-strong); font-family:var(--v-display); font-size:.78rem; }
.v2pg-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; text-align:center; padding-block:5rem; }
.v2pg-stat b{ display:block; font-family:var(--v-display); font-size:clamp(1.9rem,3.4vw,2.7rem); font-weight:800; color:var(--v-primary-strong); line-height:1; }
.v2pg-stat span{ display:block; margin-top:.5rem; font-size:.95rem; color:var(--v-muted); }
.v2pg-cta{ position:relative; overflow:hidden; background:linear-gradient(135deg,var(--v-primary-strong) 0%,var(--v-primary) 55%,color-mix(in srgb,var(--v-primary) 70%,#fff) 100%); text-align:center; }
.v2pg-cta::before{ content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(640px 320px at 12% -30%,rgba(255,255,255,.2),transparent 60%),radial-gradient(560px 340px at 102% 130%,color-mix(in srgb,var(--v-accent) 45%,transparent),transparent 62%); }
.v2pg-cta > .v2-wrap{ position:relative; z-index:1; padding-block:4rem; }
.v2pg-cta h2{ font-family:var(--v-display); font-size:clamp(1.8rem,3.6vw,2.6rem); font-weight:800; letter-spacing:-.025em; color:#fff; margin:0; line-height:1.1; }
.v2pg-cta p{ margin:1rem auto 0; max-width:34rem; color:rgba(255,255,255,.9); font-size:1.1rem; }
.v2pg-cta__actions{ display:flex; gap:.8rem; justify-content:center; flex-wrap:wrap; margin-top:1.8rem; }
.v2pg-btn{ display:inline-flex; align-items:center; gap:.5rem; font-family:var(--v-display); font-weight:700; font-size:1rem; border-radius:999px; padding:.85rem 1.5rem; text-decoration:none; transition:transform .15s,background .2s,color .2s,border-color .2s; border:1px solid transparent; white-space:nowrap; }
.v2pg-btn--light{ background:#fff; color:var(--v-primary-strong); box-shadow:0 12px 26px rgba(10,20,60,.28); }
.v2pg-btn--light:hover{ transform:translateY(-1px); color:var(--v-primary); }
.v2pg-btn--outline{ background:rgba(255,255,255,.08); color:#fff; border-color:rgba(255,255,255,.55); }
.v2pg-btn--outline:hover{ background:rgba(255,255,255,.16); border-color:#fff; }
@media (max-width:860px){ .v2pg-split{ grid-template-columns:1fr; gap:2rem; } .v2pg-stats{ grid-template-columns:1fr 1fr; gap:1.8rem 1rem; } }
.v2pg-hero .v2-madein{ display:inline-flex; width:auto; margin:1.1rem 0 0; padding-inline:1.5rem; }
.v2pg-teamgrid{ display:grid; grid-template-columns:repeat(5,1fr); gap:1.4rem; }
.v2pg-tcard{ background:#fff; border:1px solid var(--v-line); border-radius:16px; box-shadow:var(--v-sh-sm); padding:1.4rem 1rem; text-align:center; }
.v2pg-tcard img{ width:92px; height:92px; border-radius:50%; object-fit:cover; margin:0 auto .9rem; display:block; border:3px solid var(--v-tint); }
.v2pg-tcard h4{ font-family:var(--v-display); font-size:1.02rem; font-weight:700; color:var(--v-ink); margin:0; }
.v2pg-tcard .role{ font-size:.9rem; color:var(--v-muted); margin:.25rem 0 .8rem; }
.v2pg-tcard a{ display:inline-flex; width:34px; height:34px; border-radius:8px; align-items:center; justify-content:center; color:var(--v-primary-strong); background:var(--v-tint); border:1px solid var(--v-line); transition:background .2s,color .2s,border-color .2s; }
.v2pg-tcard a:hover{ background:var(--v-primary); color:#fff; border-color:transparent; }
.v2pg-tcard a svg{ width:17px; height:17px; }
@media (max-width:980px){ .v2pg-teamgrid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:560px){ .v2pg-teamgrid{ grid-template-columns:repeat(2,1fr); } }

/* ===== header (header-v2) ===== */
.v2h{
    --v-primary:#007bff; --v-primary-strong:#0069d9;
    --v-ink:#121a2b; --v-body:#59616f; --v-muted:#8b94a4;
    --v-bg:#fff; --v-tint:#f5f8fc; --v-line:#e6ebf2; --v-maxw:1320px;
    --v-display:"Plus Jakarta Sans",ui-sans-serif,system-ui,-apple-system,sans-serif;
    --v-text:"DM Sans",ui-sans-serif,system-ui,-apple-system,sans-serif;
    position:sticky; top:0; z-index:1025; background:rgba(255,255,255,.85);
    backdrop-filter:saturate(1.5) blur(14px); -webkit-backdrop-filter:saturate(1.5) blur(14px);
    border-bottom:1px solid transparent; transition:background .2s,border-color .2s,box-shadow .2s;
    font-family:var(--v-text); display:block;
}
.v2h.is-scrolled{ background:rgba(255,255,255,.95); border-bottom-color:var(--v-line); box-shadow:0 1px 2px rgba(18,26,43,.06),0 2px 10px rgba(18,26,43,.05); }
.v2h *{ box-sizing:border-box; }
.v2h__wrap{ width:100%; max-width:var(--v-maxw); margin-inline:auto; padding-left:max(20px,env(safe-area-inset-left,0px)); padding-right:max(20px,env(safe-area-inset-right,0px)); }
.v2h__nav{ position:relative; display:flex; align-items:center; gap:1.1rem; height:72px; }
.v2h__brand{ display:flex; align-items:center; flex:0 0 auto; }
.v2h__brand img{ height:38px; width:auto; max-width:170px; object-fit:contain; }
.v2h__collapse{ display:contents; }
.v2h__links{ display:flex; align-self:stretch; align-items:stretch; gap:.1rem; list-style:none; margin:0 auto; padding:0; }
.v2h__links>li{ display:flex; align-items:center; }
.v2h__res{ position:relative; }
.v2h__link{ display:inline-flex; align-items:center; gap:.3rem; padding:.55rem .75rem; border-radius:10px; font-family:var(--v-display); font-weight:600; font-size:.96rem; color:var(--v-ink); text-decoration:none; background:none; border:0; cursor:pointer; }
.v2h__link:hover{ color:var(--v-primary); background:rgba(0,123,255,.07); }
.v2h__chev{ width:15px; height:15px; transition:transform .2s; }
.v2h__has-mega:hover .v2h__chev{ transform:rotate(180deg); }
.v2h__actions{ display:flex; align-items:center; gap:.7rem; flex:0 0 auto; }
.v2h__signin{ font-family:var(--v-display); font-weight:600; color:var(--v-ink); text-decoration:none; padding:.5rem .4rem; }
.v2h__signin:hover{ color:var(--v-primary); }
.v2h__btn{ display:inline-flex; align-items:center; gap:.4rem; font-family:var(--v-display); font-weight:700; font-size:.95rem; color:#fff; background:var(--v-primary); border-radius:999px; padding:.7rem 1.25rem; text-decoration:none; box-shadow:0 10px 22px rgba(0,123,255,.25); transition:background .2s,transform .15s; white-space:nowrap; }
.v2h__btn:hover{ background:var(--v-primary-strong); color:#fff; transform:translateY(-1px); }
.v2h__toggle{ display:none; margin-left:auto; width:44px; height:44px; border-radius:12px; border:1px solid var(--v-line); background:#fff; cursor:pointer; color:var(--v-ink); align-items:center; justify-content:center; }
.v2h__toggle svg{ width:22px; height:22px; stroke:currentColor; }
.v2h__mega{ position:absolute; top:calc(100% + 2px); left:50%; transform:translateX(-50%); width:min(860px, calc(100vw - 40px)); background:#fff; border:1px solid var(--v-line); border-radius:22px; box-shadow:0 28px 64px rgba(18,26,43,.16); padding:1.3rem; opacity:0; visibility:hidden; transition:opacity .16s ease; }
.v2h__mega::before{ content:""; position:absolute; top:-16px; left:0; right:0; height:18px; }
.v2h__mega--sm{ width:min(300px, calc(100vw - 40px)); left:auto; right:0; transform:none; padding:.55rem; }
.v2h__has-mega:hover .v2h__mega, .v2h__has-mega:focus-within .v2h__mega, .v2h__has-mega.is-open .v2h__mega{ opacity:1; visibility:visible; }
.v2h__mgrid{ display:grid; grid-template-columns:2fr 1fr; gap:1.1rem 1.6rem; }
.v2h__mcols{ display:grid; grid-template-columns:1fr 1fr; grid-template-rows:repeat(4,auto); grid-auto-flow:column; gap:0 .6rem; }
.v2h__mlabel{ display:flex; align-items:center; gap:.5rem; font-family:var(--v-display); font-weight:700; font-size:.82rem; color:var(--v-muted); margin:.1rem .4rem .5rem; }
.v2h__mlabel .d{ width:8px; height:8px; border-radius:50%; }
.v2h__mitem{ display:flex; gap:.7rem; padding:.55rem; border-radius:13px; align-items:flex-start; text-decoration:none; }
.v2h__mitem:hover{ background:rgba(0,123,255,.06); }
.v2h__mic{ flex:0 0 auto; width:38px; height:38px; border-radius:11px; display:grid; place-items:center; background:var(--v-tint); color:var(--v-primary); border:1px solid var(--v-line); }
.v2h__mic svg{ width:19px; height:19px; stroke:currentColor; fill:none; }
.v2h__mt strong{ display:block; font-family:var(--v-display); font-weight:700; font-size:.93rem; color:var(--v-ink); }
.v2h__mt span{ display:block; font-size:.8rem; color:var(--v-muted); line-height:1.35; margin-top:.08rem; }
@media (max-width:991px){
    .v2h__toggle{ display:inline-flex; }
    .v2h__collapse{ display:none; position:absolute; top:100%; left:0; right:0; background:#fff; border-top:1px solid var(--v-line); box-shadow:0 10px 34px rgba(18,26,43,.1); padding:1rem max(20px,env(safe-area-inset-right,0px)) 1.3rem max(20px,env(safe-area-inset-left,0px)); flex-direction:column; align-items:stretch; gap:.3rem; max-height:calc(100dvh - 72px); overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }
    .v2h.is-open .v2h__collapse{ display:flex; }
    .v2h__links{ flex-direction:column; align-items:stretch; gap:.1rem; margin:0; }
    .v2h__links>li{ display:block; }
    .v2h__link{ width:100%; justify-content:space-between; font-size:1.05rem; padding:.7rem .6rem; }
    .v2h__actions{ flex-direction:column; align-items:stretch; gap:.6rem; margin-top:.8rem; }
    .v2h__signin{ text-align:center; border:1px solid var(--v-line); border-radius:999px; padding:.75rem; }
    .v2h__btn{ justify-content:center; }
    .v2h__mega, .v2h__mega--sm{ position:static; transform:none; left:auto; right:auto; width:auto; opacity:1; visibility:visible; box-shadow:none; border:0; border-radius:0; padding:.2rem 0 .4rem .4rem; display:none; }
    .v2h__has-mega.is-open .v2h__mega{ display:block; }
    .v2h__mgrid{ grid-template-columns:1fr; gap:.5rem; }
    .v2h__mcols{ grid-template-columns:1fr; grid-template-rows:none; grid-auto-flow:row; }
}

/* ===== feature-page sections (audience, monitors, faq, split CTA) ===== */
.v2pg-grid4{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.4rem; }
.v2pg-mongrid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.v2pg-moncard{ display:flex; align-items:center; gap:.7rem; padding:1rem 1.05rem; background:#fff; border:1px solid var(--v-line); border-radius:14px; box-shadow:var(--v-sh-sm); text-decoration:none; color:var(--v-ink); transition:border-color .18s,box-shadow .18s,transform .15s; }
.v2pg-moncard:hover{ border-color:#bcd7ff; box-shadow:var(--v-sh-lg); transform:translateY(-2px); }
.v2pg-moncard.is-current{ border-color:var(--v-primary); background:var(--v-tint); }
.v2pg-moncard .ic{ width:38px; height:38px; border-radius:10px; display:grid; place-items:center; background:var(--v-tint); color:var(--v-primary); flex:0 0 auto; }
.v2pg-moncard .ic svg{ width:19px; height:19px; stroke:currentColor; fill:none; }
.v2pg-moncard h4{ font-family:var(--v-display); font-size:1rem; font-weight:700; margin:0; color:var(--v-ink); }
.v2pg-moncard span{ display:block; font-size:.8rem; color:var(--v-muted); margin-top:.1rem; }
.v2pg-faq{ max-width:48rem; margin-inline:auto; }
.v2pg-faq__item{ border:1px solid var(--v-line); border-radius:12px; background:#fff; margin-bottom:.8rem; overflow:hidden; }
.v2pg-faq__item summary{ list-style:none; cursor:pointer; padding:1.05rem 1.3rem; font-family:var(--v-display); font-weight:700; font-size:1.05rem; color:var(--v-ink); display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.v2pg-faq__item summary::-webkit-details-marker{ display:none; }
.v2pg-faq__item summary::after{ content:"+"; font-size:1.5rem; font-weight:400; color:var(--v-primary); line-height:1; flex:0 0 auto; }
.v2pg-faq__item[open] summary::after{ content:"\2212"; }
.v2pg-faq__item .a{ padding:0 1.3rem 1.15rem; color:var(--v-body); font-size:1rem; line-height:1.6; }
.v2pg-cta--split{ text-align:left; }
.v2pg-cta--split .v2-wrap{ display:grid; grid-template-columns:1.02fr .98fr; gap:3rem; align-items:center; }
.v2pg-cta--split .v2-wrap > *{ min-width:0; }
.v2pg-cta--split .v2pg-cta__copy p{ margin-inline:0; }
.v2pg-cta--split .v2pg-cta__actions{ justify-content:flex-start; }
@media (max-width:980px){ .v2pg-grid4{ grid-template-columns:1fr 1fr; } .v2pg-mongrid{ grid-template-columns:1fr 1fr; } }
@media (max-width:860px){ .v2pg-cta--split{ text-align:center; } .v2pg-cta--split .v2-wrap{ grid-template-columns:1fr; gap:2.2rem; } .v2pg-cta--split .v2pg-cta__copy p{ margin-inline:auto; } .v2pg-cta--split .v2pg-cta__actions{ justify-content:center; } .v2pg-cta--split .v2pg-cta__media{ max-width:460px; margin-inline:auto; width:100%; } }
@media (max-width:560px){ .v2pg-grid4{ grid-template-columns:1fr; } .v2pg-mongrid{ grid-template-columns:1fr; } }

/* ===== server hero dashboard mock (v2sv) ===== */
.v2sv-mock{background:#fff;border:1px solid var(--v-line);border-radius:16px;box-shadow:var(--v-sh-lg);overflow:hidden}
.v2sv-bar{display:flex;align-items:center;gap:.6rem;background:#f8fafc;border-bottom:1px solid var(--v-line);padding:.6rem .85rem}
.v2sv-dots{display:flex;gap:.34rem}
.v2sv-dots i{width:10px;height:10px;border-radius:50%}
.v2sv-dots i:nth-child(1){background:#ff5f57}.v2sv-dots i:nth-child(2){background:#febc2e}.v2sv-dots i:nth-child(3){background:#28c840}
.v2sv-url{font-size:.76rem;color:var(--v-muted);background:#fff;border:1px solid var(--v-line);border-radius:7px;padding:.16rem .55rem;margin-left:.3rem}
.v2sv-body{background:#f3f5f9;padding:.85rem}
.v2sv-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.7rem}
.v2sv-head b{font-family:var(--v-display);color:var(--v-ink);font-size:.95rem;display:block;line-height:1.2}
.v2sv-head small{color:var(--v-muted);font-size:.72rem;font-family:ui-monospace,Menlo,monospace}
.v2sv-online{display:inline-flex;align-items:center;gap:.4rem;background:#dcfce7;color:#16a34a;font-size:.72rem;font-weight:700;padding:.26rem .6rem;border-radius:999px}
.v2sv-online .d{width:7px;height:7px;border-radius:50%;background:#16a34a}
.v2sv-tabs{display:flex;gap:1rem;border-bottom:1px solid var(--v-line);margin-bottom:.75rem;padding-bottom:.1rem}
.v2sv-tabs a{font-size:.76rem;color:var(--v-muted);text-decoration:none;padding-bottom:.4rem;font-weight:600}
.v2sv-tabs a.on{color:var(--v-primary);border-bottom:2px solid var(--v-primary)}
.v2sv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:.6rem}
.v2sv-card{background:#fff;border:1px solid var(--v-line);border-radius:10px;padding:.55rem .6rem}
.v2sv-card .t{display:flex;align-items:center;justify-content:space-between;margin-bottom:.3rem}
.v2sv-card .t small{color:var(--v-muted);font-size:.64rem;letter-spacing:.04em;text-transform:uppercase;font-weight:700}
.v2sv-b{font-size:.6rem;font-weight:700;padding:.08rem .36rem;border-radius:999px;white-space:nowrap}
.v2sv-b--warn{background:#fef3c7;color:#b45309}
.v2sv-b--ok{background:#dcfce7;color:#16a34a}
.v2sv-val{font-family:var(--v-display);font-weight:800;color:var(--v-ink);font-size:1.2rem;line-height:1}
.v2sv-spark{width:100%;height:20px;margin-top:.35rem;display:block}
.v2sv-sub{background:#fff;border:1px solid var(--v-line);border-radius:10px;padding:.55rem .7rem;margin-bottom:.6rem}
.v2sv-sub-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}
.v2sv-sub-h b{font-family:var(--v-display);color:var(--v-ink);font-size:.8rem}
.v2sv-sub-h small{color:#16a34a;font-size:.7rem;font-weight:700}
.v2sv-chips{display:flex;flex-wrap:wrap;gap:.35rem .85rem}
.v2sv-chip{display:inline-flex;align-items:center;gap:.4rem;font-size:.74rem;color:var(--v-body)}
.v2sv-chip .d{width:6px;height:6px;border-radius:50%;background:#16a34a}
.v2sv-up{display:flex;align-items:center;gap:.6rem;background:#fff;border:1px solid var(--v-line);border-radius:10px;padding:.55rem .7rem}
.v2sv-up>small{color:var(--v-muted);font-size:.72rem;white-space:nowrap}
.v2sv-bars{display:flex;gap:.2rem;flex:1}
.v2sv-bars i{flex:1;height:13px;border-radius:3px;background:#22c55e}
.v2sv-up b{color:#16a34a;font-size:.76rem;font-weight:700}

/* ===== server dashboard section (v2sd) ===== */
.v2sd-sec{background:#eef1f6}
.v2sd-wrap{max-width:1040px;margin:0 auto;padding:0 20px}
.v2sd-head{text-align:center;max-width:46rem;margin:0 auto 1.8rem}
.v2sd-eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;font-size:.8rem;color:var(--v-primary-strong);background:#fff;border:1px solid var(--v-line);padding:.35rem .75rem;border-radius:999px}
.v2sd-head h2{font-family:var(--v-display);font-weight:800;color:var(--v-ink);font-size:1.9rem;line-height:1.15;margin:.9rem 0 .5rem}
.v2sd-head p{color:var(--v-body);font-size:1.02rem;line-height:1.55;margin:0}
.v2sd-panel{background:#fff;border:1px solid var(--v-line);border-radius:14px;box-shadow:var(--v-sh-sm);padding:1.1rem 1.2rem;margin-bottom:1rem}
.v2sd-panel__h{display:flex;align-items:center;justify-content:space-between;margin-bottom:.9rem}
.v2sd-panel__h h3{font-family:var(--v-display);color:var(--v-ink);font-size:1.02rem;margin:0}
.v2sd-panel__h small{color:var(--v-muted);font-size:.8rem}
.v2sd-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-bottom:1rem}
.v2sd-metric{background:#fff;border:1px solid var(--v-line);border-radius:12px;box-shadow:var(--v-sh-sm);padding:.9rem 1rem}
.v2sd-metric .t{display:flex;align-items:center;justify-content:space-between;margin-bottom:.45rem}
.v2sd-metric .t small{color:var(--v-muted);font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;font-weight:700}
.v2sd-metric .val{font-family:var(--v-display);font-weight:800;color:var(--v-ink);font-size:1.7rem;line-height:1}
.v2sd-metric .na{color:var(--v-muted);font-size:.95rem;font-weight:500;padding:.5rem 0 .2rem}
.v2sd-metric svg{display:block;width:100%;height:34px;margin-top:.5rem}
.v2sd-b{font-size:.64rem;font-weight:700;padding:.14rem .45rem;border-radius:999px;white-space:nowrap}
.v2sd-b--warn{background:#fef3c7;color:#b45309}
.v2sd-b--ok{background:#dcfce7;color:#16a34a}
.v2sd-b--live{background:#dbeafe;color:#2563eb}
.v2sd-b--na{background:#f1f5f9;color:#64748b}
.v2sd-stat3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--v-line);margin-bottom:1rem}
.v2sd-stat{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}
.v2sd-stat .lab{display:flex;flex-direction:column}
.v2sd-stat .lab b{font-family:var(--v-display);color:var(--v-ink);font-size:.92rem}
.v2sd-stat .lab small{color:var(--v-muted);font-size:.76rem}
.v2sd-stat .big{font-family:var(--v-display);font-weight:800;color:var(--v-ink);font-size:1.5rem}
.v2sd-dotlab{display:inline-flex;align-items:center;gap:.4rem}
.v2sd-dotlab i{width:9px;height:9px;border-radius:2px}
.v2sd-table{width:100%;border-collapse:collapse;font-size:.86rem}
.v2sd-table th{text-align:left;color:var(--v-muted);font-size:.7rem;letter-spacing:.04em;text-transform:uppercase;font-weight:700;padding:.35rem .5rem;border-bottom:1px solid var(--v-line)}
.v2sd-table td{padding:.42rem .5rem;border-bottom:1px solid #f1f4f8;color:var(--v-ink)}
.v2sd-table td.mono{font-family:ui-monospace,Menlo,monospace;color:var(--v-body)}
.v2sd-table td.proc{font-family:ui-monospace,Menlo,monospace;color:var(--v-body);font-size:.8rem}
.v2sd-state{display:inline-block;background:#f1f5f9;color:#64748b;border-radius:5px;padding:.05rem .35rem;font-size:.72rem;font-weight:600}
.v2sd-tl{display:flex;align-items:center;gap:.9rem;margin-bottom:.55rem}
.v2sd-tl__day{width:62px;flex:none}
.v2sd-tl__day b{display:block;color:var(--v-ink);font-size:.82rem;font-weight:700}
.v2sd-tl__day small{color:var(--v-muted);font-size:.72rem}
.v2sd-tl__bar{flex:1;display:flex;gap:1.5px;height:26px}
.v2sd-tl__bar i{flex:1;border-radius:2px}
.v2sd-tl__pct{width:52px;text-align:right;color:var(--v-accent);font-weight:700;font-size:.82rem;flex:none}
.v2sd-legend{display:flex;flex-wrap:wrap;gap:.3rem 1.1rem;margin-top:.9rem;padding-top:.8rem;border-top:1px solid var(--v-line);color:var(--v-muted);font-size:.78rem}
.v2sd-legend span{display:inline-flex;align-items:center;gap:.4rem}
.v2sd-legend i{width:11px;height:11px;border-radius:3px}
.v2sd-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.v2sd-cal .hd{background:#64748b;color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-align:center;padding:.4rem 0;border-radius:5px}
.v2sd-cal .cell{border:1px solid var(--v-line);border-radius:7px;min-height:52px;padding:.3rem .4rem;position:relative}
.v2sd-cal .cell.mute{background:#fafbfc;border-style:dashed}
.v2sd-cal .cell.on{outline:2px solid var(--v-primary);background:#fff8e1}
.v2sd-cal .cell .dn{color:var(--v-ink);font-size:.78rem;font-weight:600}
.v2sd-cal .cell.mute .dn{color:var(--v-muted)}
.v2sd-cal .cell .mk{position:absolute;left:0;right:0;bottom:.3rem;text-align:center}
.v2sd-cal .cell .mk i{width:7px;height:7px;border-radius:50%;display:inline-block}
.v2sd-cal .cell .mk b{display:block;color:var(--v-muted);font-size:.68rem;font-weight:600;margin-top:1px}
.v2sd-filter{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-bottom:.4rem}
.v2sd-filter input,.v2sd-filter select{border:1px solid var(--v-line);border-radius:8px;padding:.45rem .6rem;font:inherit;font-size:.82rem;color:var(--v-ink);background:#fff}
.v2sd-filter input{flex:1;min-width:160px}
.v2sd-apply{border:1px solid var(--v-line);background:#fff;border-radius:8px;padding:.45rem .9rem;font-weight:600;font-size:.82rem;color:var(--v-ink);cursor:pointer;font-family:inherit}
.v2sd-showing{color:var(--v-muted);font-size:.8rem;padding:.5rem 0;border-bottom:1px solid var(--v-line);margin-bottom:.6rem}
.v2sd-inc{display:flex;align-items:flex-start;gap:.7rem;padding:.6rem 0}
.v2sd-inc__ic{width:28px;height:28px;border-radius:50%;background:#fee2e2;color:#dc2626;display:flex;align-items:center;justify-content:center;flex:none}
.v2sd-inc__ic svg{width:16px;height:16px}
.v2sd-inc__b{flex:1}
.v2sd-inc__t{color:var(--v-ink);font-weight:600;font-size:.9rem;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.v2sd-inc__t .sev{background:#fee2e2;color:#dc2626;font-size:.66rem;font-weight:700;padding:.1rem .4rem;border-radius:999px;text-transform:uppercase;letter-spacing:.03em}
.v2sd-inc__t .age{color:var(--v-muted);font-weight:500;font-size:.8rem}
.v2sd-inc__d{color:var(--v-muted);font-size:.82rem;margin-top:.15rem}
.v2sd-inc__time{color:var(--v-muted);font-size:.82rem;flex:none}
.v2sd-daylabel{color:var(--v-muted);font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;font-weight:700;margin:.2rem 0 .3rem}
@media(max-width:720px){.v2sd-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.v2sd-stat3{grid-template-columns:1fr}}

/* ===== server sub-section visuals (v2sd) ===== */
.v2sd-mock{background:#fff;border:1px solid var(--v-line);border-radius:14px;box-shadow:var(--v-sh-lg);padding:1rem 1.1rem}
.v2sd-mock__h{display:flex;align-items:center;justify-content:space-between;margin-bottom:.7rem}
.v2sd-mock__h b{font-family:var(--v-display);color:var(--v-ink);font-size:.92rem}
.v2sd-muted{color:var(--v-muted);font-size:.76rem}
.v2sd-b{font-size:.66rem;font-weight:700;padding:.14rem .45rem;border-radius:999px;white-space:nowrap}
.v2sd-b--warn{background:#fef3c7;color:#b45309}
.v2sd-b--ok{background:#dcfce7;color:#16a34a}
.v2sd-b--live{background:#dbeafe;color:#2563eb}
.v2sd-chart{display:block;width:100%;height:60px;margin-bottom:.6rem}
.v2sd-row{display:flex;align-items:center;justify-content:space-between;padding:.4rem 0;border-top:1px solid #f1f4f8;font-size:.86rem;color:var(--v-body)}
.v2sd-row:first-of-type{border-top:0}
.v2sd-row b{color:var(--v-ink);font-weight:600}
.v2sd-row.warn b{color:#b45309}
.v2sd-table{width:100%;border-collapse:collapse;font-size:.8rem;table-layout:fixed}
.v2sd-table th{text-align:left;color:var(--v-muted);font-size:.64rem;letter-spacing:.03em;text-transform:uppercase;font-weight:700;padding:.3rem .35rem;border-bottom:1px solid var(--v-line)}
.v2sd-table td{padding:.34rem .35rem;border-bottom:1px solid #f1f4f8;color:var(--v-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v2sd-table td.mono{font-family:ui-monospace,Menlo,monospace;color:var(--v-body);font-size:.76rem}
.v2sd-table td.proc{font-family:ui-monospace,Menlo,monospace;color:var(--v-body);font-size:.76rem}
.v2sd-st{display:inline-block;background:#f1f5f9;color:#64748b;border-radius:4px;padding:.02rem .3rem;font-size:.66rem;font-weight:600}
.v2sd-tl{display:flex;align-items:center;gap:.55rem;margin-bottom:.4rem}
.v2sd-tl__d{width:34px;flex:none;color:var(--v-muted);font-size:.72rem;font-weight:600}
.v2sd-tl__bar{flex:1;display:flex;gap:1px;height:18px}
.v2sd-tl__bar i{flex:1;border-radius:1.5px}
.v2sd-tl__p{width:38px;text-align:right;color:var(--v-accent);font-weight:700;font-size:.72rem;flex:none}
.v2sd-leg{display:flex;flex-wrap:wrap;gap:.25rem .8rem;margin-top:.7rem;padding-top:.6rem;border-top:1px solid var(--v-line);color:var(--v-muted);font-size:.72rem}
.v2sd-leg span{display:inline-flex;align-items:center;gap:.3rem}
.v2sd-leg i{width:9px;height:9px;border-radius:2px}
.v2sd-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.v2sd-cal .hd{color:var(--v-muted);font-size:.58rem;font-weight:700;text-align:center;padding:.1rem 0}
.v2sd-cal .cell{border:1px solid var(--v-line);border-radius:5px;aspect-ratio:1/1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.v2sd-cal .cell.mute{background:#fafbfc}
.v2sd-cal .cell.on{outline:2px solid var(--v-primary)}
.v2sd-cal .cell .dn{color:var(--v-ink);font-size:.62rem;font-weight:600;line-height:1}
.v2sd-cal .cell.mute .dn{color:var(--v-muted)}
.v2sd-cal .cell em{width:5px;height:5px;border-radius:50%;display:block}
.v2sd-incident{display:flex;align-items:flex-start;gap:.55rem;margin-top:.8rem;padding-top:.7rem;border-top:1px solid var(--v-line)}
.v2sd-incident em{width:8px;height:8px;border-radius:50%;background:#dc2626;margin-top:.35rem;flex:none}
.v2sd-incident div{flex:1;font-size:.82rem;color:var(--v-ink)}
.v2sd-incident div small{display:block;color:var(--v-muted);font-size:.74rem;margin-top:.1rem}
.v2sd-incident .sev{background:#fee2e2;color:#dc2626;font-size:.62rem;font-weight:700;padding:.05rem .35rem;border-radius:999px;text-transform:uppercase}

/* server sub-sections: uniform size, fills, zig-zag */
.v2sd-mock{height:300px;display:flex;flex-direction:column;overflow:hidden}
.v2sd-chart{flex:1;height:auto;min-height:0}
.v2sd-cal{flex:1;grid-auto-rows:1fr}
.v2sd-cal .cell{aspect-ratio:auto;min-height:0}
.v2sd-tlwrap{flex:1;display:flex;flex-direction:column;justify-content:space-between}
.v2fo-sec:nth-of-type(even) > .v2sd-mock{order:-1}
@media (max-width:900px){.v2fo-sec:nth-of-type(even) > .v2sd-mock{order:0}}

/* uptime chart (how section) */
.v2sd-mock--auto{height:auto}
.v2sd-upchart{display:block;width:100%;height:auto;margin-top:.2rem}
.v2sd-up3{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-bottom:.6rem;padding-bottom:.8rem;border-bottom:1px solid var(--v-line)}
.v2sd-upt{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.v2sd-upt + .v2sd-upt{border-left:1px solid var(--v-line);padding-left:.6rem}
.v2sd-upt .t{display:flex;align-items:center;gap:.35rem;color:var(--v-ink);font-weight:600;font-size:.82rem}
.v2sd-upt .t em{width:9px;height:9px;border-radius:2px;display:inline-block}
.v2sd-upt small{color:var(--v-muted);font-size:.72rem}
.v2sd-upt b{font-family:var(--v-display);font-weight:800;color:var(--v-ink);font-size:1.25rem;white-space:nowrap}

/* contact page */
.v2cf-grid{ display:grid; grid-template-columns:1fr 1.05fr; gap:3rem; align-items:start; }
.v2cf-info h2{ font-size:clamp(1.6rem,2.6vw,2.1rem); font-weight:800; color:var(--v-ink); letter-spacing:-.01em; }
.v2cf-info > p{ color:var(--v-body); font-size:1.02rem; margin:.8rem 0 2rem; max-width:44ch; }
.v2cf-item{ display:flex; gap:1rem; align-items:flex-start; margin-bottom:1.3rem; }
.v2cf-item__ic{ width:48px; height:48px; border-radius:13px; display:grid; place-items:center; flex:0 0 auto; border:1px solid var(--v-line); background:linear-gradient(135deg,#e8f1ff,#fff); color:var(--v-primary); }
.v2cf-item__ic svg{ width:22px; height:22px; stroke:currentColor; fill:none; }
.v2cf-item__t{ font-family:var(--v-display); font-weight:700; color:var(--v-ink); font-size:.95rem; margin-bottom:.15rem; }
.v2cf-item a, .v2cf-item__v{ color:var(--v-body); text-decoration:none; font-size:1rem; }
.v2cf-item a:hover{ color:var(--v-primary); }
.v2cf-card{ background:#fff; border:1px solid var(--v-line); border-radius:20px; padding:2rem; box-shadow:var(--v-sh-md); }
.v2cf-field{ margin-bottom:1.1rem; }
.v2cf-field label{ display:block; font-family:var(--v-display); font-weight:600; color:var(--v-ink); font-size:.92rem; margin-bottom:.45rem; }
.v2cf-field input, .v2cf-field textarea{ width:100%; font-family:var(--v-text); font-size:1rem; color:var(--v-ink); background:#fff; border:1px solid var(--v-line); border-radius:12px; padding:.8rem 1rem; transition:border-color .15s,box-shadow .15s; }
.v2cf-field textarea{ min-height:150px; resize:vertical; }
.v2cf-field input::placeholder, .v2cf-field textarea::placeholder{ color:var(--v-muted); }
.v2cf-field input:focus, .v2cf-field textarea:focus{ outline:0; border-color:var(--v-primary); box-shadow:0 0 0 3px rgba(0,123,255,.14); }
.v2cf-field input.is-invalid, .v2cf-field textarea.is-invalid{ border-color:#ef4444; }
.v2cf-err{ display:block; color:#dc2626; font-size:.85rem; margin-top:.4rem; }
.v2cf-submit{ width:100%; margin-top:.3rem; }
@media(max-width:860px){ .v2cf-grid{ grid-template-columns:1fr; gap:2rem; } }
.v2cf-solo{ max-width:640px; margin-inline:auto; }
.v2cf-solo .v2cf-info{ text-align:center; }
.v2cf-solo .v2cf-item{ justify-content:center; text-align:left; }

/* contact page v2 (redesign) */
.v2ct-hero{ text-align:center; background:
   radial-gradient(820px 460px at 50% -45%,#e5eefc,transparent 62%),
   radial-gradient(520px 360px at 100% 0%,#e2f6ee,transparent 55%),var(--v-tint); }
.v2ct-hero h1{ font-size:clamp(2.2rem,4.8vw,3.3rem); }
.v2ct-lead{ max-width:56ch; margin:1.05rem auto 0; font-size:1.12rem; color:var(--v-body); }
.v2ct-grid{ display:grid; grid-template-columns:1fr 1.05fr; gap:3.2rem; align-items:start; }
.v2ct-grid h2{ font-size:clamp(1.5rem,2.6vw,2rem); margin-bottom:.8rem; }
.v2ct-intro{ color:var(--v-body); max-width:42ch; margin-bottom:2rem; }
.v2ct-quick{ display:flex; gap:2rem; flex-wrap:wrap; }
.v2ct-quick > div b{ font-family:var(--v-display); font-size:1.5rem; color:var(--v-ink); display:block; letter-spacing:-.01em; }
.v2ct-quick > div small{ color:var(--v-muted); font-size:.9rem; }
.v2ct-mini{ margin-top:2rem; padding:1.1rem 1.3rem; background:#fff; border:1px solid var(--v-line); border-radius:14px; box-shadow:var(--v-sh-sm); display:flex; gap:.9rem; align-items:center; max-width:460px; }
.v2ct-av{ width:44px; height:44px; border-radius:50%; display:grid; place-items:center; color:#fff; font-family:var(--v-display); font-weight:700; flex:0 0 auto; }
.v2ct-stars{ color:#f5b400; font-size:.85rem; letter-spacing:1px; }
.v2ct-mini p{ font-size:.95rem; color:var(--v-ink); font-weight:500; }
.v2ct-mini small{ color:var(--v-muted); }
.v2ct-formcard{ background:#fff; border:1px solid var(--v-line); border-radius:20px; padding:2rem; box-shadow:var(--v-sh-lg); }
.v2ct-formcard h3{ font-size:1.2rem; margin-bottom:1.3rem; }
.v2ct-sechead{ text-align:center; max-width:42ch; margin:0 auto 2.6rem; }
.v2ct-sechead h2{ font-size:clamp(1.7rem,3vw,2.3rem); margin-bottom:.7rem; }
.v2ct-sechead p{ color:var(--v-body); }
.v2ct-tiles{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1.2rem; }
.v2ct-tile{ background:#fff; border:1px solid var(--v-line); border-radius:18px; padding:1.5rem; box-shadow:var(--v-sh-sm); transition:transform .2s,box-shadow .2s,border-color .2s; }
.v2ct-tile:hover{ transform:translateY(-3px); box-shadow:var(--v-sh-md); border-color:#cfe0ff; }
.v2ct-ic{ width:46px; height:46px; border-radius:13px; display:grid; place-items:center; border:1px solid var(--v-line); background:linear-gradient(135deg,#e8f1ff,#fff); color:var(--v-primary); margin-bottom:1rem; }
.v2ct-ic svg{ width:22px; height:22px; stroke:currentColor; fill:none; stroke-width:1.7; }
.v2ct-tile h4{ font-size:1.02rem; margin-bottom:.25rem; font-family:var(--v-display); color:var(--v-ink); }
.v2ct-tile p, .v2ct-tile a{ color:var(--v-body); font-size:.96rem; }
.v2ct-tile a:hover{ color:var(--v-primary); }
.v2ct-tgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
.v2ct-tcard{ background:#fff; border:1px solid var(--v-line); border-radius:18px; padding:1.8rem; box-shadow:var(--v-sh-sm); display:flex; flex-direction:column; gap:1.2rem; }
.v2ct-tcard blockquote{ font-size:1.02rem; color:var(--v-ink); font-weight:500; line-height:1.55; }
.v2ct-person{ display:flex; align-items:center; gap:.8rem; margin-top:auto; }
.v2ct-person b{ display:block; font-family:var(--v-display); color:var(--v-ink); font-size:.95rem; }
.v2ct-person small{ color:var(--v-muted); }
.v2ct-cta{ position:relative; overflow:hidden; border-radius:26px; padding:3.6rem; text-align:center; background:
   radial-gradient(600px 300px at 12% -20%,rgba(0,123,255,.45),transparent 60%),
   radial-gradient(500px 320px at 100% 120%,rgba(16,185,129,.35),transparent 55%),#0c1322; }
.v2ct-cta h2{ color:#fff; font-size:clamp(1.8rem,3.4vw,2.5rem); margin-bottom:.8rem; }
.v2ct-cta p{ color:rgba(255,255,255,.75); max-width:48ch; margin:0 auto 2rem; font-size:1.08rem; }
.v2ct-cta-actions{ display:flex; gap:.8rem; justify-content:center; flex-wrap:wrap; }
.v2ct-btn{ display:inline-flex; align-items:center; justify-content:center; font-family:var(--v-display); font-weight:700; font-size:1rem; border-radius:999px; padding:.9rem 1.5rem; border:1px solid transparent; transition:.2s; text-decoration:none; }
.v2ct-btn--light{ background:#fff; color:var(--v-ink); }
.v2ct-btn--light:hover{ transform:translateY(-1px); }
.v2ct-btn--outline{ background:transparent; color:#fff; border-color:rgba(255,255,255,.4); }
.v2ct-btn--outline:hover{ border-color:#fff; }
@media(max-width:880px){
  .v2ct-grid{ grid-template-columns:1fr; gap:2rem; }
  .v2ct-tgrid{ grid-template-columns:1fr; }
  .v2ct-cta{ padding:2.4rem 1.4rem; }
}
.v2ct-sec{ padding-block:4.6rem; }
@media(max-width:880px){ .v2ct-sec{ padding-block:3.2rem; } }

/* header: tools mega + insights */
.v2h__mgrid--3{ grid-template-columns:1fr 1fr 1fr; gap:1.1rem 1.4rem; }
.v2h__tlink{ display:block; padding:.42rem .5rem; border-radius:10px; font-family:var(--v-text); font-size:.9rem; color:var(--v-body); text-decoration:none; transition:background .14s,color .14s; }
.v2h__tlink:hover{ background:rgba(0,123,255,.06); color:var(--v-primary); }
.v2h__tall{ display:inline-flex; align-items:center; gap:.4rem; margin:1rem .4rem .1rem; padding:.5rem .95rem; border:1px solid var(--v-line); border-radius:999px; font-family:var(--v-display); font-weight:700; font-size:.88rem; color:var(--v-primary); text-decoration:none; transition:border-color .16s,background .16s; }
.v2h__tall:hover{ border-color:var(--v-primary); background:rgba(0,123,255,.05); }
.v2h__tall svg{ width:16px; height:16px; stroke:currentColor; fill:none; }
@media (max-width:991px){ .v2h__mgrid--3{ grid-template-columns:1fr; } }
.v2h__mega--tools{ width:min(960px, calc(100vw - 40px)); }
@media (max-width:991px){ .v2h__mega--tools{ width:auto; } }
.v2h__mega--ins{ width:min(320px, calc(100vw - 40px)); padding:.55rem; }
@media (max-width:991px){ .v2h__mega--ins{ width:auto; padding:.2rem 0 .4rem .4rem; } }
.v2h__mgrid--feat{ grid-template-columns:2fr 1fr 1fr; gap:1.1rem 1.4rem; }
.v2h__mega--feat{ width:min(960px, calc(100vw - 40px)); }
@media (max-width:991px){ .v2h__mgrid--feat{ grid-template-columns:1fr; } .v2h__mega--feat{ width:auto; } }
/* Features mega menu: one tinted block per portion */
.v2h__mgrid--feat > div{ padding:.9rem .8rem .5rem; border-radius:18px; border:1px solid transparent; }
.v2h__mgrid--feat > div:nth-child(1){ --fc:#0069d9; background:#eef5ff; border-color:#d6e6ff; }
.v2h__mgrid--feat > div:nth-child(2){ --fc:#7c3aed; background:#f4efff; border-color:#e2d6ff; }
.v2h__mgrid--feat > div:nth-child(3){ --fc:#059669; background:#ecfaf4; border-color:#c9f0df; }
.v2h__mgrid--feat .v2h__mlabel{ color:var(--fc); }
.v2h__mgrid--feat .v2h__mlabel .d{ background:var(--fc) !important; }
.v2h__mgrid--feat .v2h__mic{ background:#fff; color:var(--fc); }
.v2h__mgrid--feat .v2h__mitem:hover{ background:rgba(255,255,255,.8);   text-decoration: none; }
.v2h__mfoot{ display:grid; grid-template-columns:repeat(3,1fr); gap:0 1.4rem; margin-top:1rem; padding-top:.9rem; border-top:1px solid var(--v-line); }
.v2h__mfoot .v2h__mlabel{ grid-column:1 / -1; }
@media (max-width:991px){ .v2h__mfoot{ grid-template-columns:1fr; margin-top:.5rem; padding-top:.5rem; } }

/* header: left-align nav links, keep actions on the right */
@media (min-width:992px){
  .v2h__links{ margin:0; }
  .v2h__actions{ margin-left:auto; }
}

/* v2am: pill on its own line so Learn more sits below it consistently */
.v2am-eg{ display:block; width:fit-content; max-width:100%; }

/* hero mock: response-time chart (p50 + p95) */
.v2-mockchart .t b span{ font-weight:600; color:var(--v-muted); font-size:.76rem; margin-left:.4rem; }
.v2-mockchart__x{ display:flex; justify-content:space-between; margin-top:.3rem; }
.v2-mockchart__x span{ font-size:.66rem; color:var(--v-muted); }
.v2-mockchart__leg{ display:flex; gap:1rem; margin-top:.5rem; }
.v2-mockchart__leg span{ display:inline-flex; align-items:center; gap:.35rem; font-size:.72rem; color:var(--v-body); }
.v2-mockchart__leg i{ width:14px; height:3px; border-radius:2px; display:inline-block; }
.v2-mockchart__leg .p50 i{ background:var(--v-primary); }
.v2-mockchart__leg .p95 i{ background:#b9cdeb; }

/* investigations caption + status-page uptime bars */
.v2fo-cap{ display:flex; align-items:center; gap:.4rem; font-size:.74rem; color:var(--v-muted); margin:.35rem 0 .75rem; }
.v2fo-cap b{ color:#b45309; font-weight:600; }
.v2fo-cap svg{ flex:0 0 auto; }
.v2sp-sum{ display:flex; gap:1.3rem; margin:.3rem 0 .4rem; }
.v2sp-sum > div b{ font-family:var(--v-display); font-size:1.1rem; color:var(--v-ink); }
.v2sp-sum > div span{ display:block; font-size:.72rem; color:var(--v-muted); }
.v2sp-comp{ padding:.6rem 0; border-top:1px solid var(--v-line); }
.v2sp-comp__top{ display:flex; align-items:center; gap:.45rem; margin-bottom:.4rem; }
.v2sp-comp__name{ font-size:.88rem; color:var(--v-ink); font-weight:500; }
.v2sp-comp__st{ margin-left:auto; font-size:.74rem; font-weight:600; }
.v2sp-comp__up{ font-size:.74rem; color:var(--v-muted); margin-left:.6rem; font-variant-numeric:tabular-nums; }
.v2sp-bars{ display:flex; gap:2px; height:20px; }
.v2sp-bars i{ flex:1; border-radius:2px; background:var(--v-accent); opacity:.9; }
.v2sp-bars i.w{ background:#f59e0b; }
.v2sp-bars i.d{ background:#ef4444; }
.v2sp-x{ display:flex; justify-content:space-between; font-size:.66rem; color:var(--v-muted); margin-top:.35rem; }
.v2sp-leg{ display:flex; gap:1rem; margin-top:.7rem; padding-top:.6rem; border-top:1px solid var(--v-line); }
.v2sp-leg span{ display:inline-flex; align-items:center; gap:.35rem; font-size:.72rem; color:var(--v-body); }
.v2sp-leg i{ width:9px; height:9px; border-radius:2px; }

/* cookie notice: keep text readable inside the dark v2 footer */
#cookie-banner{ color:#121a2b; }
#cookie-banner a{ color:#007bff; }

/* SEO report mock */
.v2sr-score{ display:flex; align-items:center; gap:1.1rem; margin-bottom:1rem; }
.v2sr-donut{ width:84px; height:84px; flex:0 0 auto; }
.v2sr-donut text.n{ font-family:var(--v-display); font-weight:800; fill:var(--v-ink); font-size:21px; }
.v2sr-donut text.d{ fill:var(--v-muted); font-size:9px; }
.v2sr-score__t{ font-family:var(--v-display); font-weight:700; color:var(--v-ink); font-size:1rem; }
.v2sr-score__s{ font-size:.86rem; color:var(--v-body); margin:.2rem 0 .5rem; }
.v2sr-score__s b{ color:var(--v-ink); }
.v2sr-metrics{ display:flex; flex-wrap:wrap; gap:.35rem .5rem; }
.v2sr-metrics span{ font-size:.72rem; color:var(--v-body); background:var(--v-tint); border:1px solid var(--v-line); border-radius:7px; padding:.12rem .45rem; }
.v2sr-stack{ display:flex; height:9px; border-radius:6px; overflow:hidden; gap:2px; }
.v2sr-stack em{ display:block; height:100%; border-radius:2px; }
.v2sr-ileg{ display:flex; flex-wrap:wrap; gap:.4rem .9rem; margin-top:.55rem; }
.v2sr-ileg span{ display:inline-flex; align-items:center; gap:.35rem; font-size:.74rem; color:var(--v-body); }
.v2sr-ileg i{ width:9px; height:9px; border-radius:3px; }
.v2sr-checks{ margin-top:1rem; padding-top:.9rem; border-top:1px solid var(--v-line); display:grid; gap:.55rem; }
.v2sr-check{ display:flex; align-items:center; gap:.6rem; font-size:.88rem; }
.v2sr-check__ic{ width:22px; height:22px; border-radius:50%; background:#e6f7ee; color:#0a7d46; display:grid; place-items:center; flex:0 0 auto; }
.v2sr-check__ic svg{ width:13px; height:13px; stroke:currentColor; fill:none; stroke-width:3; }
.v2sr-check__n{ color:var(--v-ink); font-weight:500; }
.v2sr-check__s{ margin-left:auto; color:var(--v-muted); font-size:.78rem; }

/* visitor analytics mock: dual chart + 3-column breakdowns */
.v2va-tot{ display:flex; gap:2rem; margin-bottom:.7rem; }
.v2va-tot__k{ display:inline-flex; align-items:center; gap:.4rem; font-size:.78rem; color:var(--v-muted); }
.v2va-tot__k i{ width:9px; height:9px; border-radius:3px; }
.v2va-tot b{ display:block; font-family:var(--v-display); font-size:1.5rem; color:var(--v-ink); line-height:1.15; margin-top:.15rem; }
.v2va-tot em{ font-style:normal; font-size:.76rem; font-weight:600; color:#0a7d46; }
.v2va-x{ display:flex; justify-content:space-between; margin-top:.3rem; }
.v2va-x span{ font-size:.66rem; color:var(--v-muted); }
.v2va-leg{ display:flex; gap:1rem; margin-top:.55rem; }
.v2va-leg span{ display:inline-flex; align-items:center; gap:.35rem; font-size:.73rem; color:var(--v-body); }
.v2va-leg i{ width:14px; height:3px; border-radius:2px; }
.v2va-brks{ display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:.95rem; padding-top:.85rem; border-top:1px solid var(--v-line); }
.v2va-brk__h{ font-family:var(--v-display); font-weight:700; color:var(--v-ink); font-size:.8rem; margin-bottom:.65rem; }
.v2va-brk__h span{ display:block; font-weight:500; font-size:.68rem; color:var(--v-muted); margin-top:.1rem; }
.v2va-row{ margin-bottom:.55rem; }
.v2va-row:last-child{ margin-bottom:0; }
.v2va-row__top{ display:flex; justify-content:space-between; align-items:baseline; gap:.3rem; margin-bottom:.28rem; }
.v2va-row__n{ flex:1; min-width:0; font-size:.77rem; color:var(--v-ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.v2va-row__v{ font-size:.75rem; color:var(--v-body); flex:0 0 auto; font-variant-numeric:tabular-nums; }
.v2va-row__bar{ height:5px; background:var(--v-tint); border-radius:3px; overflow:hidden; }
.v2va-row__bar i{ display:block; height:100%; background:var(--v-primary); border-radius:3px; }
@media(max-width:560px){ .v2va-brks{ grid-template-columns:1fr; } }
