/* ============================================================
   PRIMETESTLAB HOME V2
   Light, precise, one accent: the "approved" green.
   Display: Bricolage Grotesque · Body: Inter · Labels: mono
   ============================================================ */

:root {
    --ink:      #0A1017;
    --slate:    #55616D;
    --faint:    #8A94A0;
    --paper:    #FFFFFF;
    --mist:     #F5F7F8;
    --line:     #E6EAEE;
    --go:       #0B8A47;
    --go-deep:  #087038;
    --go-tint:  #E8F5EE;
    --star:     #F0A50A;

    --font-display: "Bricolage Grotesque", "Inter", system-ui, sans-serif;
    --font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
    --font-mono: ui-monospace, "Cascadia Code", "SF Mono", Menlo, Consolas, monospace;

    --nav-h: 64px;
    --radius: 14px;
}

/* ---------- Base ---------- */

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

html { scroll-behavior: smooth; }

body.v2 {
    margin: 0;
    overflow-x: clip;
    background: var(--paper);
    color: var(--ink);
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -webkit-tap-highlight-color: transparent;
}

.v2 :where(h1, h2, h3, p) { margin: 0; }
.v2 a { color: inherit; text-decoration: none; }
.v2 img, .v2 svg { display: block; max-width: 100%; }
.v2 button { font: inherit; background: none; border: 0; cursor: pointer; color: inherit; padding: 0; }
.v2 hr { border: 0; }

.v2 ::selection { background: var(--go-tint); color: var(--ink); }

.v2 :focus-visible {
    outline: 2px solid var(--go);
    outline-offset: 3px;
    border-radius: 4px;
}

.v2 [id] { scroll-margin-top: calc(var(--nav-h) + 20px); }

html.v2-no-scroll { overflow: hidden; }

.v2-container {
    max-width: 1120px;
    margin-inline: auto;
    padding-inline: clamp(20px, 4vw, 32px);
}

/* Inline icon inside buttons/links */
.v2-ic { width: 18px; height: 18px; flex: 0 0 auto; }

/* Mono utility label */
.v2-mono {
    font-family: var(--font-mono);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--faint);
}

/* ---------- Buttons ---------- */

.v2 .v2-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    height: 46px;
    padding: 0 22px;
    border-radius: 12px;
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 600;
    letter-spacing: -0.01em;
    white-space: nowrap;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease,
                transform .18s ease, box-shadow .18s ease;
}

.v2 .v2-btn--primary {
    background: var(--go);
    color: #FFFFFF;
    box-shadow: 0 1px 2px rgba(10, 16, 23, 0.10);
}
.v2 .v2-btn--primary:hover {
    background: var(--go-deep);
    transform: translateY(-1px);
    box-shadow: 0 10px 22px -8px rgba(11, 138, 71, 0.55);
}
.v2 .v2-btn--primary:active { transform: translateY(0); box-shadow: 0 1px 2px rgba(10, 16, 23, 0.10); }

.v2 .v2-btn--ghost {
    background: transparent;
    border: 1px solid var(--line);
    color: var(--ink);
}
.v2 .v2-btn--ghost:hover {
    border-color: #B9C3CC;
    background: #FBFCFD;
    transform: translateY(-1px);
}
.v2 .v2-btn--ghost .v2-ic { color: #25D366; } /* WhatsApp glyph keeps its brand green */

.v2 .v2-btn--sm { height: 38px; padding: 0 16px; font-size: 14px; border-radius: 10px; }
.v2 .v2-btn--lg { height: 52px; padding: 0 26px; font-size: 16px; }

/* ---------- Nav ---------- */

.v2-nav {
    position: fixed;
    inset: 0 0 auto 0;
    z-index: 100;
    background: rgba(255, 255, 255, 0.82);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid transparent;
    transition: border-color .25s ease, background-color .25s ease;
}
.v2-nav.is-scrolled,
.v2-nav.is-open {
    background: rgba(255, 255, 255, 0.94);
    border-bottom-color: var(--line);
}

.v2-nav__in {
    display: flex;
    align-items: center;
    gap: 32px;
    height: var(--nav-h);
}

.v2-logo { display: inline-flex; align-items: center; gap: 10px; }
.v2-logo__tile {
    position: relative;
    width: 30px;
    height: 30px;
    border-radius: 9px;
    background: var(--ink);
    display: grid;
    place-items: center;
}
.v2-logo__p {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 15px;
    line-height: 1;
    color: #FFFFFF;
    transform: translateY(-0.5px);
}
.v2-logo__dot {
    position: absolute;
    right: -2px;
    bottom: -2px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--go);
    border: 2px solid var(--paper);
}
.v2-logo__word {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 17.5px;
    letter-spacing: -0.015em;
    color: var(--ink);
}

.v2-nav__links {
    display: flex;
    align-items: center;
    gap: 26px;
    margin-inline: auto;
}
.v2-nav__links a {
    font-size: 14.5px;
    font-weight: 500;
    color: var(--slate);
    transition: color .15s ease;
}
.v2-nav__links a:hover { color: var(--ink); }

.v2-nav__actions {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-left: auto;
}
.v2-nav__login {
    font-size: 14.5px;
    font-weight: 500;
    color: var(--slate);
    transition: color .15s ease;
}
.v2-nav__login:hover { color: var(--ink); }

/* Burger (mobile only) */
.v2-nav__burger {
    display: none;
    position: relative;
    width: 40px;
    height: 40px;
    border-radius: 10px;
}
.v2-nav__burger span {
    position: absolute;
    left: 11px;
    width: 18px;
    height: 2px;
    border-radius: 2px;
    background: var(--ink);
    transition: transform .25s ease, top .25s ease;
}
.v2-nav__burger span:nth-child(1) { top: 16px; }
.v2-nav__burger span:nth-child(2) { top: 22px; }
.v2-nav.is-open .v2-nav__burger span:nth-child(1) { top: 19px; transform: rotate(45deg); }
.v2-nav.is-open .v2-nav__burger span:nth-child(2) { top: 19px; transform: rotate(-45deg); }

/* Mobile sheet */
.v2-nav__sheet[hidden] { display: none; }
.v2-nav__sheet {
    position: fixed;
    top: var(--nav-h);
    left: 0;
    right: 0;
    height: calc(100dvh - var(--nav-h));
    background: var(--paper);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 12px clamp(20px, 4vw, 32px) 28px;
    overflow-y: auto;
}
.v2-nav__sheet-links { display: flex; flex-direction: column; }
.v2-nav__sheet-links a {
    font-size: 17px;
    font-weight: 600;
    padding: 15px 2px;
    border-bottom: 1px solid var(--mist);
    color: var(--ink);
}
.v2-nav__sheet-cta {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-top: 24px;
}
.v2-nav__sheet-cta .v2-btn { width: 100%; }

@media (max-width: 960px) {
    .v2-nav__links, .v2-nav__login { display: none; }
    .v2-nav__burger { display: block; }
    .v2-nav__actions { gap: 8px; }
    .v2-nav__in { gap: 16px; }
    .v2 .v2-btn--sm { padding: 0 14px; }
}

/* ---------- Section primitives (shared by all v2 sections) ---------- */

.v2-section { padding-block: clamp(72px, 9vw, 120px); }
.v2-section--mist { background: var(--mist); }

.v2-eyebrow {
    font-family: var(--font-mono);
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--go);
}

.v2-h2 {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: clamp(1.85rem, 1.2rem + 2.6vw, 2.8rem);
    line-height: 1.08;
    letter-spacing: -0.022em;
    text-wrap: balance;
}

.v2-lead {
    font-size: 17px;
    line-height: 1.65;
    color: var(--slate);
    text-wrap: pretty;
}

/* ---------- Hero ---------- */

.v2-hero {
    position: relative;
    padding-top: calc(var(--nav-h) + clamp(48px, 8vh, 96px));
    padding-bottom: clamp(64px, 9vh, 116px);
    overflow: hidden;
}

.v2-hero__wash {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(52rem 34rem at 84% -12%, rgba(11, 138, 71, 0.07), transparent 62%),
        radial-gradient(40rem 28rem at -12% 112%, rgba(10, 16, 23, 0.04), transparent 62%);
}

.v2-hero__grid {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr);
    gap: clamp(40px, 6vw, 72px);
    align-items: center;
}

.v2-hero__title {
    margin-top: 18px;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: clamp(2.55rem, 1.35rem + 3.6vw, 3.9rem);
    line-height: 1.03;
    letter-spacing: -0.028em;
    text-wrap: balance;
}
.v2-hero__title-go {
    display: block;
    color: var(--go);
}

.v2-hero__sub {
    margin-top: 22px;
    max-width: 54ch;
    font-size: clamp(16px, 1.5vw, 17.5px);
    line-height: 1.65;
    color: var(--slate);
    text-wrap: pretty;
}

.v2-hero__cta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 34px;
}

.v2-hero__fine {
    margin-top: 16px;
    font-family: var(--font-mono);
    font-size: 12px;
    letter-spacing: 0.04em;
    color: var(--faint);
}
.v2-hero__fine span { white-space: nowrap; }

.v2-hero__trust {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 18px;
    margin-top: 34px;
    padding-top: 26px;
    border-top: 1px solid var(--line);
}
.v2-stars { display: inline-flex; gap: 2px; color: var(--star); }
.v2-stars svg { width: 15px; height: 15px; }
.v2-hero__trust-item { font-size: 14px; color: var(--slate); }
.v2-hero__trust-item b { color: var(--ink); font-weight: 600; }
.v2-hero__trust-sep {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--line);
}

/* ---------- Track Card (hero signature) ---------- */

.v2-hero__visual {
    position: relative;
    display: flex;
    justify-content: flex-end;
}

.v2-track {
    width: 100%;
    max-width: 470px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: clamp(20px, 2.6vw, 28px);
    box-shadow:
        0 1px 2px rgba(10, 16, 23, 0.05),
        0 28px 56px -20px rgba(10, 16, 23, 0.16);
}

.v2-track__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.v2-track__live {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-family: var(--font-mono);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--go);
}
.v2-track__live i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--go);
    animation: v2Pulse 2.2s ease-out infinite;
}

.v2-track__app {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 20px;
}
.v2-track__tile {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: var(--ink);
    color: #FFFFFF;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 18px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
}
.v2-track__meta { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.v2-track__name { font-size: 15px; font-weight: 600; letter-spacing: -0.01em; }
.v2-track__pkg {
    font-family: var(--font-mono);
    font-size: 11.5px;
    color: var(--faint);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.v2-track__ver {
    margin-left: auto;
    font-family: var(--font-mono);
    font-size: 11px;
    color: var(--faint);
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 4px 10px;
}

.v2-track__hr {
    height: 1px;
    background: var(--line);
    margin: 20px 0;
}

.v2-track__row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
}
.v2-track__row--days { margin-top: 20px; }
.v2-track__val {
    font-size: 13px;
    font-weight: 600;
    color: var(--ink);
    font-variant-numeric: tabular-nums;
}

.v2-track__avs {
    display: flex;
    gap: 6px;
    margin-top: 12px;
}
.v2-track__av {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #EDF1F4;
    color: var(--slate);
    font-size: 10px;
    font-weight: 600;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
}
.v2-track__av:nth-child(even) { background: #E3E9EE; }

.v2-track__bar {
    height: 8px;
    border-radius: 999px;
    background: var(--mist);
    margin-top: 12px;
    overflow: hidden;
}
.v2-track__bar i {
    display: block;
    height: 100%;
    width: 100%;
    border-radius: inherit;
    background: var(--go);
}

.v2-track__grant {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 22px;
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.22);
    border-radius: 14px;
    padding: 14px 16px;
}
.v2-track__grant-ic {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--go);
    color: #FFFFFF;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
}
.v2-track__grant-ic svg { width: 16px; height: 16px; }
.v2-track__grant-txt { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.v2-track__grant-txt b { font-size: 14.5px; font-weight: 700; letter-spacing: -0.01em; color: var(--ink); }
.v2-track__grant-txt span { font-size: 12.5px; color: var(--slate); }

/* ---------- Track Card animation (runs once when .is-play is set) ---------- */

@keyframes v2CardIn {
    from { opacity: 0; transform: translateY(16px); }
    to   { opacity: 1; transform: none; }
}
@keyframes v2Pop {
    from { opacity: 0; transform: scale(0.3); }
    60%  { transform: scale(1.12); }
    to   { opacity: 1; transform: scale(1); }
}
@keyframes v2Fill {
    from { width: 0; }
    to   { width: 100%; }
}
@keyframes v2Rise {
    from { opacity: 0; transform: translateY(10px); }
    to   { opacity: 1; transform: none; }
}
@keyframes v2Pulse {
    0%   { box-shadow: 0 0 0 0 rgba(11, 138, 71, 0.35); }
    70%  { box-shadow: 0 0 0 9px rgba(11, 138, 71, 0); }
    100% { box-shadow: 0 0 0 0 rgba(11, 138, 71, 0); }
}

.v2-track.is-play { animation: v2CardIn 0.55s cubic-bezier(0.22, 0.8, 0.26, 1) both; }
.v2-track.is-play .v2-track__av {
    animation: v2Pop 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) both;
    animation-delay: calc(0.5s + var(--i) * 0.09s);
}
.v2-track.is-play .v2-track__bar i {
    animation: v2Fill 1.1s cubic-bezier(0.22, 0.8, 0.26, 1) 1.75s both;
}
.v2-track.is-play .v2-track__grant {
    animation: v2Rise 0.5s cubic-bezier(0.22, 0.8, 0.26, 1) 2.95s both;
}

/* ---------- Hero responsive ---------- */

@media (max-width: 960px) {
    .v2-hero__grid { grid-template-columns: minmax(0, 1fr); gap: 52px; }
    .v2-hero__visual { justify-content: center; }
    .v2-hero__sub { max-width: 60ch; }
}

@media (max-width: 640px) {
    .v2-hero { padding-top: calc(var(--nav-h) + 36px); padding-bottom: 56px; }
    .v2-hero__grid { gap: 44px; }
    .v2-hero__copy { text-align: center; }
    .v2-hero__sub { margin-inline: auto; }
    .v2-hero__cta { justify-content: center; }
    .v2-hero__cta .v2-btn { width: 100%; }
    .v2-hero__trust { justify-content: center; gap: 10px 14px; }
    .v2-hero__trust-sep { display: none; }
    .v2-track { max-width: 440px; }
    .v2-track__avs { gap: 4px; flex-wrap: wrap; }
    .v2-track__av { width: 22px; height: 22px; font-size: 9px; }
}

/* ---------- Proof section ---------- */

.v2-sechead {
    max-width: 660px;
    margin-inline: auto;
    text-align: center;
}
.v2-sechead .v2-h2 { margin-top: 14px; }
.v2-sechead .v2-lead { margin-top: 16px; }

.v2-proof__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);
    grid-template-areas:
        "head fig"
        "stats fig";
    align-items: start;
    column-gap: clamp(40px, 5vw, 72px);
}
.v2-proof__head { grid-area: head; max-width: 46ch; }
.v2-proof__head .v2-h2 { margin-top: 14px; }
.v2-proof__head .v2-lead { margin-top: 16px; }

.v2-proof__fig {
    grid-area: fig;
    width: 100%;
    max-width: 500px;
    justify-self: end;
    align-self: center;
    margin: 0;
}
.v2-proof__shot {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    overflow: hidden;
    box-shadow:
        0 1px 2px rgba(10, 16, 23, 0.04),
        0 24px 48px -20px rgba(10, 16, 23, 0.12);
    transition: transform .18s ease-out, box-shadow .3s ease;
    will-change: transform;
}
.v2-proof__shot:hover {
    box-shadow:
        0 2px 4px rgba(10, 16, 23, 0.05),
        0 32px 60px -20px rgba(10, 16, 23, 0.17);
}

/* Email chrome */
.v2-proof__mailhead {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px 18px;
    border-bottom: 1px solid var(--line);
    background: #FBFCFD;
}
.v2-proof__mailav {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--go-tint);
    color: var(--go);
    display: grid;
    place-items: center;
    flex: 0 0 auto;
}
.v2-proof__mailav svg { width: 19px; height: 19px; }
.v2-proof__mailwho { display: flex; flex-direction: column; min-width: 0; }
.v2-proof__mailwho b {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--ink);
}
.v2-proof__mailwho span {
    font-family: var(--font-mono);
    font-size: 11px;
    color: var(--faint);
    margin-top: 1px;
}
.v2-proof__mailhead .v2-proof__chip { margin-left: auto; }

.v2-proof__imgwrap { position: relative; padding: clamp(10px, 1.8vw, 16px); }
.v2-proof__zoom {
    position: absolute;
    inset: 0;
    z-index: 2;
    cursor: zoom-in;
    border-radius: 8px;
}
.v2-proof__zoomhint {
    position: absolute;
    right: 14px;
    bottom: 14px;
    display: none;
    align-items: center;
    background: rgba(10, 16, 23, 0.6);
    color: #FFFFFF;
    font-size: 9px;
    padding: 5px 9px;
    border-radius: 7px;
    letter-spacing: 0.08em;
}
.v2-proof__imgwrap img {
    width: 100%;
    height: auto;
    border-radius: 8px;
}
.v2-proof__mark {
    position: absolute;
    left: 5.2%;
    top: 19%;
    width: 84%;
    height: 12.5%;
    border: 2px solid var(--go);
    border-radius: 10px;
    pointer-events: none;
    overflow: hidden;
}
.v2-proof__mark i {
    position: absolute;
    inset: 0;
    background: rgba(11, 138, 71, 0.07);
}

@media (max-width: 480px) {
    .v2-proof__mailhead { padding: 11px 14px; gap: 10px; }
    .v2-proof__mailav { width: 32px; height: 32px; }
    .v2-proof__mailav svg { width: 16px; height: 16px; }
    .v2-proof__mailwho b { font-size: 13px; white-space: nowrap; }
    .v2-proof__mailwho span { font-size: 10px; }
    .v2-proof__mailhead .v2-proof__chip { padding: 4px 9px; font-size: 11px; white-space: nowrap; }
}

/* Arrival + marker sweep (enabled by JS, skipped for reduced motion) */
.v2-anim .v2-proof__fig {
    opacity: 0;
    transform: translateY(26px);
}
.v2-anim.is-in .v2-proof__fig {
    opacity: 1;
    transform: none;
    transition: opacity .7s ease, transform .7s cubic-bezier(0.22, 0.8, 0.26, 1);
}
.v2-anim .v2-proof__mark { opacity: 0; }
.v2-anim.is-in .v2-proof__mark {
    opacity: 1;
    transition: opacity .35s ease .8s;
}
.v2-anim .v2-proof__mark i {
    transform: scaleX(0);
    transform-origin: left center;
}
.v2-anim.is-in .v2-proof__mark i {
    transform: scaleX(1);
    transition: transform .6s cubic-bezier(0.22, 0.8, 0.26, 1) .9s;
}

.v2-proof__cap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px 16px;
    margin-top: 16px;
    padding-inline: 4px;
}
.v2-proof__chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12.5px;
    font-weight: 600;
    color: var(--go-deep);
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.22);
    border-radius: 999px;
    padding: 5px 12px;
}
.v2-proof__chip svg { width: 13px; height: 13px; }

/* ---------- Stats band (KPI tiles with micro-viz) ---------- */

.v2-stats {
    grid-area: stats;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 36px 0 0;
}
.v2-stat {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 20px 22px;
    transition: border-color .2s ease, box-shadow .2s ease;
}
.v2-stat:hover {
    border-color: #C9D2DA;
    box-shadow: 0 16px 32px -22px rgba(10, 16, 23, 0.2);
}

.v2-stat__viz {
    height: 48px;
    margin-bottom: 16px;
    display: flex;
    align-items: flex-end;
}

.v2-stat__num {
    display: block;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: clamp(1.65rem, 1.2rem + 1.4vw, 2.2rem);
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: var(--ink);
    font-variant-numeric: tabular-nums;
}
.v2-stat__lbl {
    display: block;
    margin-top: 5px;
    font-size: 13.5px;
    color: var(--slate);
}

/* Micro-viz marks: one green, neutral tracks; numbers stay ink */
.vz-bars rect { fill: #E9EDF1; }
.vz-bars rect.is-hot { fill: var(--go); }
.vz-dots circle { fill: var(--go); opacity: 0.9; }
.vz-dots circle.is-dim { fill: #DCE3E9; opacity: 1; }

/* Entrance choreography (JS adds .v2-anim / .is-in; static otherwise) */
.v2-stats.v2-anim .vz-bars rect {
    transform: scaleY(0);
    transform-origin: bottom;
    transform-box: fill-box;
}
.v2-stats.v2-anim.is-in .vz-bars rect {
    transform: none;
    transition: transform .5s cubic-bezier(0.22, 0.8, 0.26, 1) calc(var(--i) * 70ms + 120ms);
}

.v2-stats.v2-anim .vz-ring__arc { stroke-dashoffset: 119.4; }
.v2-stats.v2-anim.is-in .vz-ring__arc {
    stroke-dashoffset: 0.12;
    transition: stroke-dashoffset 1.1s cubic-bezier(0.22, 0.8, 0.26, 1) .15s;
}
.v2-stats.v2-anim .vz-ring path { opacity: 0; }
.v2-stats.v2-anim.is-in .vz-ring path { opacity: 1; transition: opacity .3s ease 1.05s; }

.v2-stats.v2-anim .vz-spark__line { stroke-dasharray: 1; stroke-dashoffset: 1; }
.v2-stats.v2-anim.is-in .vz-spark__line {
    stroke-dashoffset: 0;
    transition: stroke-dashoffset 1s cubic-bezier(0.4, 0, 0.3, 1) .2s;
}
.v2-stats.v2-anim .vz-spark__area { opacity: 0; }
.v2-stats.v2-anim.is-in .vz-spark__area { opacity: 1; transition: opacity .6s ease .85s; }
.v2-stats.v2-anim .vz-spark__dot {
    transform: scale(0);
    transform-origin: center;
    transform-box: fill-box;
}
.v2-stats.v2-anim.is-in .vz-spark__dot {
    transform: scale(1);
    transition: transform .35s cubic-bezier(0.34, 1.56, 0.64, 1) 1.1s;
}

.v2-stats.v2-anim .vz-dots circle { opacity: 0; }
.v2-stats.v2-anim.is-in .vz-dots circle {
    opacity: 0.9;
    transition: opacity .3s ease calc(var(--i) * 22ms + 100ms);
}
.v2-stats.v2-anim.is-in .vz-dots circle.is-dim { opacity: 1; }

@media (max-width: 960px) {
    .v2-proof__grid {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas:
            "head"
            "fig"
            "stats";
    }
    .v2-proof__head { text-align: center; margin-inline: auto; }
    .v2-proof__head .v2-lead { margin-inline: auto; }
    .v2-proof__fig { justify-self: center; margin-top: 34px; }
    .v2-stats { margin-top: 30px; gap: 12px; }
    .v2-proof__zoomhint { display: inline-flex; }
}
@media (max-width: 380px) {
    .v2-stat { padding: 16px 18px; }
}

/* ---------- Pricing ---------- */

.v2-plans {
    display: grid;
    grid-template-columns: 1fr 1.08fr 1fr;
    gap: 22px;
    align-items: stretch;
    max-width: 1020px;
    margin: clamp(44px, 6vw, 64px) auto 0;
}

.v2-plan {
    display: flex;
    flex-direction: column;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: clamp(24px, 3vw, 30px);
}

.v2-plan__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 24px;
}
.v2-plan__badge {
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #FFFFFF;
    background: var(--go);
    border-radius: 999px;
    padding: 5px 11px;
    white-space: nowrap;
}

.v2-plan__testers {
    margin-top: 14px;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 24px;
    letter-spacing: -0.02em;
}

.v2-plan__price {
    margin-top: 10px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--line);
}
.v2-plan__amount {
    font-family: var(--font-display);
    font-weight: 800;
    font-size: clamp(2.35rem, 2rem + 1vw, 2.8rem);
    line-height: 1;
    letter-spacing: -0.025em;
    font-variant-numeric: tabular-nums;
}
.v2-plan__cur {
    font-size: 0.55em;
    vertical-align: 0.55em;
    margin-right: 1px;
    font-weight: 700;
}
.v2-plan__meta {
    display: block;
    margin-top: 8px;
    font-family: var(--font-mono);
    font-size: 12px;
    letter-spacing: 0.03em;
    color: var(--faint);
}
.v2-plan__meta s { text-decoration-thickness: 1.5px; }
.v2-plan__meta b { color: var(--go); font-weight: 700; }

.v2-plan__list {
    list-style: none;
    margin: 20px 0 26px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 11px;
    flex: 1;
}
.v2-plan__list li {
    position: relative;
    padding-left: 26px;
    font-size: 14.5px;
    line-height: 1.5;
    color: var(--slate);
}
.v2-plan__list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 3px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-color: var(--go-tint);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-6.5' fill='none' stroke='%230B8A47' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-size: 11px;
    background-position: center;
    background-repeat: no-repeat;
}
.v2-plan__list .v2-plan__hl { color: var(--ink); font-weight: 600; }

.v2-plan__cta { width: 100%; }
.v2-plan__more {
    margin-top: 14px;
    text-align: center;
    font-size: 13.5px;
    font-weight: 500;
    color: var(--faint);
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-color: var(--line);
    transition: color .15s ease;
}
.v2-plan__more:hover { color: var(--ink); }

/* Featured (dark) plan */
.v2-plan--featured {
    background: var(--ink);
    border-color: var(--ink);
    box-shadow: 0 32px 64px -28px rgba(10, 16, 23, 0.5);
}
.v2-plan--featured .v2-mono { color: #8FA0AE; }
.v2-plan--featured .v2-plan__testers,
.v2-plan--featured .v2-plan__amount { color: #FFFFFF; }
.v2-plan--featured .v2-plan__price { border-bottom-color: rgba(255, 255, 255, 0.14); }
.v2-plan--featured .v2-plan__meta { color: #8FA0AE; }
.v2-plan--featured .v2-plan__meta b { color: #3ECF81; }
.v2-plan--featured .v2-plan__list li { color: #C2CBD4; }
.v2-plan--featured .v2-plan__list li::before {
    background-color: rgba(62, 207, 129, 0.16);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-6.5' fill='none' stroke='%233ECF81' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.v2-plan--featured .v2-plan__list .v2-plan__hl { color: #FFFFFF; }
.v2-plan--featured .v2-plan__more { color: #8FA0AE; text-decoration-color: rgba(255,255,255,.2); }
.v2-plan--featured .v2-plan__more:hover { color: #FFFFFF; }

@media (max-width: 900px) {
    .v2-plans { grid-template-columns: minmax(0, 1fr); max-width: 480px; gap: 18px; }
    .v2-plan__head { justify-content: center; gap: 12px; }
    .v2-plan__testers,
    .v2-plan__price { text-align: center; }
}
@media (max-width: 640px) {
    .v2-plans { gap: 14px; margin-top: 36px; }
    .v2-plan { padding: 22px 20px 20px; border-radius: 18px; }
    .v2-plan__head { min-height: 0; }
    .v2-plan__testers { margin-top: 12px; font-size: 21px; }
    .v2-plan__price { margin-top: 8px; padding-bottom: 16px; }
    .v2-plan__amount { font-size: 2.15rem; }
    .v2-plan__meta { margin-top: 6px; font-size: 11px; }
    .v2-plan__list { margin: 16px 0 20px; gap: 9px; }
    .v2-plan__list li { font-size: 13.5px; padding-left: 24px; }
    .v2-plan__list li::before { width: 15px; height: 15px; top: 2.5px; background-size: 10px; }
    .v2 .v2-plan__cta { height: 48px; }
    .v2-plan__more { margin-top: 10px; font-size: 13px; }
}

/* Guarantee strip */
.v2-guarantee {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 18px 32px;
    max-width: 1020px;
    margin: clamp(28px, 4vw, 40px) auto 0;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 22px clamp(20px, 3vw, 30px);
}
.v2-guarantee__main {
    display: flex;
    align-items: center;
    gap: 16px;
    min-width: 0;
}
.v2-guarantee__ic {
    width: 44px;
    height: 44px;
    border-radius: 13px;
    background: var(--go-tint);
    color: var(--go);
    display: grid;
    place-items: center;
    flex: 0 0 auto;
}
.v2-guarantee__ic svg { width: 23px; height: 23px; }
.v2-guarantee__txt b {
    display: block;
    font-size: 15.5px;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: var(--ink);
}
.v2-guarantee__txt p {
    margin-top: 3px;
    font-size: 13.5px;
    line-height: 1.5;
    color: var(--slate);
}
.v2-guarantee__pay {
    display: flex;
    align-items: center;
    gap: 14px;
    flex: 0 0 auto;
}
.v2-guarantee__logos {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}
.v2-guarantee__logos img {
    height: 20px;
    width: auto;
    opacity: 0.75;
    filter: grayscale(0.2);
}

@media (max-width: 640px) {
    .v2-guarantee {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 16px;
        padding: 26px 20px;
    }
    .v2-guarantee__main { flex-direction: column; align-items: center; gap: 14px; }
    .v2-guarantee__txt p { margin-inline: auto; max-width: 34ch; }
    .v2-guarantee__pay { flex-direction: column; gap: 10px; }
}

/* ---------- How it works ---------- */

.v2-how__grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, 1fr) max-content;
    gap: 36px;
    max-width: 1020px;
    margin: clamp(48px, 7vw, 72px) auto 0;
}
.v2-how__grid::before {
    content: "";
    position: absolute;
    left: 0;
    right: 6px;
    top: 14px;
    height: 1px;
    background: var(--line);
}

.v2-how__chip {
    position: relative;
    display: inline-flex;
    align-items: center;
    height: 28px;
    padding: 0 13px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 999px;
    font-family: var(--font-mono);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--slate);
}

.v2-how__step h3 {
    margin-top: 22px;
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 19.5px;
    letter-spacing: -0.015em;
    color: var(--ink);
}
.v2-how__step p {
    margin-top: 10px;
    font-size: 14.5px;
    line-height: 1.62;
    color: var(--slate);
}
.v2-how__step .v2-how__meta {
    margin-top: 14px;
    font-family: var(--font-mono);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--faint);
}
.v2-how__meta b { color: var(--go); font-weight: 700; }

.v2-how__end {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}
.v2-how__end-node {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--go);
    color: #FFFFFF;
    display: grid;
    place-items: center;
    box-shadow: 0 0 0 5px var(--go-tint);
}
.v2-how__end-node svg { width: 14px; height: 14px; }
.v2-how__end .v2-mono { color: var(--go); font-weight: 700; }

/* Stage artifacts: the real thing you hold at each step */
.v2-how__art {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: 14px;
    padding: 7px 11px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 9px;
    font-family: var(--font-mono);
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--slate);
    width: fit-content;
}
.v2-how__art svg { width: 14px; height: 14px; flex: 0 0 auto; }
.v2-how__art--days { gap: 3px; padding: 9px 11px; }
.v2-how__art--days i {
    width: 9px;
    height: 9px;
    border-radius: 2.5px;
    background: var(--go);
}
.v2-how__art--grant {
    background: var(--go-tint);
    border-color: rgba(11, 138, 71, 0.25);
    color: var(--go-deep);
    font-weight: 700;
}
.v2-how__art--grant svg { color: var(--go); }

/* Rail fill that draws across the timeline */
.v2-how__railfill {
    position: absolute;
    left: 0;
    right: 6px;
    top: 13.5px;
    height: 2px;
    border-radius: 2px;
    background: var(--go);
    transform-origin: left center;
    z-index: 0;
}

/* Play-through choreography */
.v2-how.v2-anim .v2-how__railfill { transform: scaleX(0); }
.v2-how.v2-anim.is-in .v2-how__railfill {
    transform: scaleX(1);
    transition: transform 1.4s cubic-bezier(0.4, 0, 0.3, 1) .1s;
}
.v2-how.v2-anim .v2-how__chip { opacity: 0; transform: scale(0.7); }
.v2-how.v2-anim.is-in .v2-how__chip {
    opacity: 1;
    transform: none;
    transition: opacity .4s ease, transform .4s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.v2-how.v2-anim.is-in .v2-how__step:nth-of-type(1) .v2-how__chip { transition-delay: .12s; }
.v2-how.v2-anim.is-in .v2-how__step:nth-of-type(2) .v2-how__chip { transition-delay: .6s; }
.v2-how.v2-anim.is-in .v2-how__step:nth-of-type(3) .v2-how__chip { transition-delay: 1.1s; }

.v2-how.v2-anim .v2-how__art--file { opacity: 0; transform: translateY(8px); }
.v2-how.v2-anim.is-in .v2-how__art--file {
    opacity: 1;
    transform: none;
    transition: opacity .45s ease .45s, transform .45s cubic-bezier(0.22, 0.8, 0.26, 1) .45s;
}
.v2-how.v2-anim .v2-how__art--days i { background: #E3E9EE; }
.v2-how.v2-anim.is-in .v2-how__art--days i {
    background: var(--go);
    transition: background-color .3s ease calc(.9s + var(--i) * 55ms);
}
.v2-how.v2-anim .v2-how__art--grant { opacity: 0; transform: scale(0.85); }
.v2-how.v2-anim.is-in .v2-how__art--grant {
    opacity: 1;
    transform: none;
    transition: opacity .45s ease 1.75s, transform .5s cubic-bezier(0.34, 1.56, 0.64, 1) 1.75s;
}
.v2-how.v2-anim .v2-how__end-node { opacity: 0; transform: scale(0.5); }
.v2-how.v2-anim.is-in .v2-how__end-node {
    opacity: 1;
    transform: none;
    transition: opacity .4s ease 1.55s, transform .5s cubic-bezier(0.34, 1.56, 0.64, 1) 1.55s;
}
.v2-how.v2-anim .v2-how__end .v2-mono { opacity: 0; }
.v2-how.v2-anim.is-in .v2-how__end .v2-mono { opacity: 1; transition: opacity .4s ease 1.8s; }

.v2-how__cta {
    margin-top: clamp(44px, 6vw, 64px);
    text-align: center;
}
.v2-how__cta-note {
    margin-top: 14px;
    font-family: var(--font-mono);
    font-size: 12px;
    letter-spacing: 0.04em;
    color: var(--faint);
}

@media (max-width: 900px) {
    .v2-how__grid { grid-template-columns: minmax(0, 1fr); gap: 12px; margin-top: 36px; }
    .v2-how__grid::before { display: none; }
    .v2-how__railfill { display: none; }

    /* Steps become compact cards */
    .v2-how__step {
        display: grid;
        grid-template-columns: 1fr auto;
        grid-template-areas:
            "chip meta"
            "title title"
            "body body"
            "art art";
        background: var(--paper);
        border: 1px solid var(--line);
        border-radius: 18px;
        padding: 18px 18px 16px;
    }
    .v2-how__step::after { display: none; }
    .v2-how__chip { grid-area: chip; justify-self: start; }
    .v2-how__step .v2-how__meta {
        grid-area: meta;
        margin: 0;
        align-self: center;
        justify-self: end;
        font-size: 10px;
        text-align: right;
    }
    .v2-how__step h3 { grid-area: title; margin-top: 14px; font-size: 18px; }
    .v2-how__step p:not(.v2-how__meta) { grid-area: body; margin-top: 8px; font-size: 14px; }
    .v2-how__art { grid-area: art; margin-top: 14px; }

    .v2-how.v2-anim.is-in .v2-how__step:nth-of-type(2) .v2-how__chip { transition-delay: .3s; }
    .v2-how.v2-anim.is-in .v2-how__step:nth-of-type(3) .v2-how__chip { transition-delay: .5s; }
    .v2-how.v2-anim.is-in .v2-how__art--days i { transition-delay: calc(.5s + var(--i) * 45ms); }
    .v2-how.v2-anim.is-in .v2-how__art--grant { transition-delay: 1s; }
    .v2-how.v2-anim.is-in .v2-how__end-node { transition-delay: 1.1s; }
    .v2-how.v2-anim.is-in .v2-how__end .v2-mono { transition-delay: 1.25s; }

    .v2-how__end { flex-direction: row; gap: 12px; margin-top: 10px; justify-content: center; }
}
@media (max-width: 640px) {
    .v2-how__cta .v2-btn { width: 100%; }
}

/* ---------- Reviews (masonry wall) ---------- */

.v2-rwall {
    columns: 3;
    column-gap: 20px;
    max-width: 1060px;
    margin: clamp(40px, 6vw, 56px) auto 0;
}

.v2-rcard {
    break-inside: avoid;
    margin-bottom: 20px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 22px;
    transition: border-color .2s ease, box-shadow .2s ease;
}
.v2-rcard:hover {
    border-color: #C9D2DA;
    box-shadow: 0 16px 32px -20px rgba(10, 16, 23, 0.2);
}

.v2-rcard__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.v2-rcard__head .v2-stars svg { width: 14px; height: 14px; }
.v2-rcard__head .v2-stars svg.is-off { color: #D9DFE5; }
.v2-rcard__geo { font-size: 10px; letter-spacing: 0.1em; }

.v2-rcard__text {
    margin-top: 14px;
    font-size: 14.5px;
    line-height: 1.65;
    color: var(--ink);
}

.v2-rcard__who {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid var(--mist);
}
.v2-rcard__av {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #EDF1F4;
    color: var(--slate);
    font-size: 12px;
    font-weight: 600;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
}
.v2-rcard__id { display: flex; flex-direction: column; min-width: 0; }
.v2-rcard__id b {
    font-size: 13.5px;
    font-weight: 600;
    color: var(--ink);
    letter-spacing: -0.01em;
}
.v2-rcard__id i {
    font-style: normal;
    font-size: 11.5px;
    color: var(--faint);
    margin-top: 1px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
.v2-rcard__id i::before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--go);
}

/* Aggregate tile set into the wall */
.v2-rcard--agg {
    background: var(--ink);
    border-color: var(--ink);
}
.v2-rcard--agg:hover { border-color: var(--ink); }
.v2-rcard__num {
    display: block;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 54px;
    line-height: 1;
    letter-spacing: -0.03em;
    color: #FFFFFF;
}
.v2-rcard--agg .v2-stars { margin-top: 12px; }
.v2-rcard--agg .v2-stars svg { width: 15px; height: 15px; }
.v2-rcard--agg p {
    margin-top: 12px;
    font-size: 14px;
    color: #A9B4BF;
}
.v2-rcard--agg p b { color: #FFFFFF; font-weight: 600; }
.v2-rcard__aggnote {
    display: block;
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    color: #7A8794;
    font-size: 10px;
}

/* Load more */
.v2-rmore {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    margin-top: 16px;
}
.v2-rmore__count { font-size: 11px; }

/* Arrival + appended-card entrance */
@keyframes v2RiseCard {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: none; }
}
.v2-reviews.v2-anim .v2-rcard { opacity: 0; }
.v2-reviews.v2-anim.is-in .v2-rcard {
    animation: v2RiseCard 0.55s cubic-bezier(0.22, 0.8, 0.26, 1) both;
    animation-delay: var(--d, 0s);
}
.v2-rcard--enter {
    animation: v2RiseCard 0.5s cubic-bezier(0.22, 0.8, 0.26, 1) both;
}

@media (max-width: 1000px) {
    .v2-rwall { columns: 2; }
}
@media (max-width: 640px) {
    .v2-rwall { columns: 1; margin-top: 32px; }
    .v2-rcard { padding: 16px 16px 14px; margin-bottom: 10px; border-radius: 14px; }
    .v2-rcard__head .v2-stars svg { width: 12.5px; height: 12.5px; }
    .v2-rcard__geo { font-size: 9px; }
    .v2-rcard__text { margin-top: 10px; font-size: 13.5px; line-height: 1.6; }
    .v2-rcard__who { margin-top: 12px; padding-top: 12px; gap: 9px; }
    .v2-rcard__av { width: 26px; height: 26px; font-size: 11px; }
    .v2-rcard__id b { font-size: 13px; }
    .v2-rcard__id i { font-size: 10.5px; }
    .v2-rcard__num { font-size: 44px; }
    .v2-rcard--agg .v2-stars svg { width: 13px; height: 13px; }
    .v2-rcard--agg p { margin-top: 10px; font-size: 13px; }
    .v2-rcard__aggnote { margin-top: 12px; padding-top: 11px; }
    .v2-rmore { margin-top: 14px; gap: 10px; }
    .v2-rmore .v2-btn { width: 100%; height: 48px; }
}

/* ---------- FAQ ---------- */

/* Two-column index: 14 questions at half the height with a
   center hairline, then the human-contact strip as the closer */
.v2-faq__cols {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    margin-top: clamp(32px, 4.5vw, 46px);
}
.v2-faq__col { min-width: 0; }
.v2-faq__col:first-child { padding-right: clamp(26px, 3.5vw, 44px); }
.v2-faq__col:last-child {
    padding-left: clamp(26px, 3.5vw, 44px);
    border-left: 1px solid var(--line);
}

.v2-faq__item { border-bottom: 1px solid var(--line); }
.v2-faq__col .v2-faq__item:first-child { border-top: 1px solid var(--line); }

.v2-faq__item summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 15px 2px;
    cursor: pointer;
    list-style: none;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: -0.01em;
    line-height: 1.35;
    color: var(--ink);
}
.v2-faq__item summary::-webkit-details-marker { display: none; }
.v2-faq__item summary:hover { color: var(--go-deep); }

.v2-faq__ic {
    position: relative;
    width: 20px;
    height: 20px;
    flex: 0 0 auto;
}
.v2-faq__ic::before,
.v2-faq__ic::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 12px;
    height: 2px;
    border-radius: 2px;
    background: var(--faint);
    transform: translate(-50%, -50%);
    transition: transform .25s ease, background-color .25s ease;
}
.v2-faq__ic::after { transform: translate(-50%, -50%) rotate(90deg); }
.v2-faq__item[open] .v2-faq__ic::before,
.v2-faq__item[open] .v2-faq__ic::after {
    background: var(--go);
    transform: translate(-50%, -50%) rotate(0deg);
}

.v2-faq__a { padding: 1px 30px 17px 2px; }
.v2-faq__a p {
    font-size: 14px;
    line-height: 1.66;
    color: var(--slate);
}
.v2-faq__a a {
    color: var(--go-deep);
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Human strip: photo, promise, alternates, WhatsApp */
.v2-faq__human {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;
    margin-top: 26px;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 14px 16px 14px 18px;
}
.v2-faq__human > img {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    object-fit: cover;
    flex: 0 0 auto;
}
.v2-faq__human-t { min-width: 0; }
.v2-faq__human-t b {
    display: block;
    font-size: 14.5px;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: var(--ink);
}
.v2-faq__human-t span {
    display: block;
    margin-top: 2px;
    font-size: 12.5px;
    color: var(--slate);
}
.v2-faq__alt {
    margin-left: auto;
    font-size: 13px;
    color: var(--faint);
}
.v2-faq__alt a { color: var(--slate); text-decoration: underline; text-underline-offset: 3px; }
.v2-faq__alt a:hover { color: var(--ink); }
.v2 .v2-faq__wa {
    flex: 0 0 auto;
    height: 44px;
    padding: 0 18px;
    background: #25D366;
    color: #FFFFFF;
}
.v2 .v2-faq__wa:hover {
    background: #1EBE5A;
    transform: translateY(-1px);
    box-shadow: 0 10px 22px -8px rgba(37, 211, 102, 0.5);
}

@media (max-width: 960px) {
    .v2-faq__alt {
        flex: 1 1 100%;
        order: 4;
        margin-left: 0;
        text-align: center;
    }
    .v2 .v2-faq__wa { margin-left: auto; }
}
@media (max-width: 900px) {
    .v2-faq__cols { grid-template-columns: minmax(0, 1fr); margin-top: 30px; }
    .v2-faq__col:first-child { padding-right: 0; }
    .v2-faq__col:last-child { padding-left: 0; border-left: 0; }
    .v2-faq__col:last-child .v2-faq__item:first-child { border-top: 0; }
}
@media (max-width: 640px) {
    .v2-faq__item summary { padding: 14px 0; font-size: 14.5px; gap: 12px; }
    .v2-faq__a { padding: 0 8px 16px 0; }
    .v2-faq__a p { font-size: 13.5px; }
    .v2-faq__human { padding: 16px; margin-top: 22px; gap: 12px; }
    .v2-faq__human-t b { font-size: 14px; }
    .v2-faq__human-t span { font-size: 12px; }
    .v2 .v2-faq__wa { flex: 1 1 100%; order: 3; height: 48px; margin-left: 0; }
    .v2-faq__alt { font-size: 12.5px; }
}

/* ---------- Final CTA + Footer (dark close) ---------- */

.v2 .v2-btn--ghostdark {
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.22);
    color: #FFFFFF;
}
.v2 .v2-btn--ghostdark:hover {
    border-color: rgba(255, 255, 255, 0.5);
    background: rgba(255, 255, 255, 0.06);
    transform: translateY(-1px);
}
.v2 .v2-btn--ghostdark .v2-ic { color: #25D366; }

.v2-cta {
    position: relative;
    background: var(--ink);
    padding: clamp(80px, 11vw, 130px) 0 clamp(72px, 9vw, 110px);
    overflow: hidden;
}
.v2-cta__wash {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(46rem 30rem at 50% -14%, rgba(11, 138, 71, 0.22), transparent 62%);
}
.v2-cta__in {
    position: relative;
    text-align: center;
}
.v2-cta__eyebrow { color: #3ECF81; }
.v2-cta__title {
    margin-top: 18px;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: clamp(2.2rem, 1.3rem + 3.4vw, 3.6rem);
    line-height: 1.05;
    letter-spacing: -0.026em;
    color: #FFFFFF;
    text-wrap: balance;
}
.v2-cta__sub {
    margin-top: 16px;
    font-size: 16.5px;
    color: #A9B4BF;
}
.v2-cta__actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 32px;
}
.v2-cta__fine {
    margin-top: 18px;
    font-family: var(--font-mono);
    font-size: 12px;
    letter-spacing: 0.04em;
    color: #7A8794;
}
.v2-cta__fine span { white-space: nowrap; }

@media (max-width: 640px) {
    .v2-cta__actions .v2-btn { width: 100%; max-width: 420px; }
}

/* Footer */

.v2-footer {
    position: relative;
    background: var(--ink);
    border-top: 1px solid rgba(255, 255, 255, 0.09);
    padding: clamp(40px, 5vw, 56px) 0 30px;
    overflow: hidden;
}
.v2-footer .v2-container { position: relative; z-index: 1; }

/* Trust strip */
.v2-footer__trust {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px 36px;
    padding-bottom: 26px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}
.v2-footer__fact {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    font-size: 13.5px;
    font-weight: 500;
    color: #A9B4BF;
}
.v2-footer__fact svg { width: 17px; height: 17px; color: #3ECF81; flex: 0 0 auto; }
.v2-footer__pay {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-left: auto;
}
.v2-footer__pay img { height: 18px; width: auto; opacity: 0.85; }

/* Main columns */
.v2-footer__grid {
    display: grid;
    grid-template-columns: 1.45fr 1fr 1fr 1.25fr 1fr;
    gap: 40px;
    padding-top: clamp(36px, 4vw, 48px);
}

.v2-footer__about {
    margin-top: 24px;
    max-width: 32ch;
    font-size: 13.5px;
    line-height: 1.65;
    color: #93A0AC;
}
.v2-footer .v2-logo__tile { background: #FFFFFF; }
.v2-footer .v2-logo__p { color: var(--ink); }
.v2-footer .v2-logo__dot { border-color: var(--ink); }
.v2-footer .v2-logo__word { color: #FFFFFF; }

.v2-footer__contact {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 24px;
}
.v2-footer__contact a {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    font-size: 13.5px;
    color: #A9B4BF;
    transition: color .15s ease;
    width: fit-content;
}
.v2-footer__contact a svg { width: 15px; height: 15px; color: #3ECF81; flex: 0 0 auto; }
.v2-footer__contact a:hover { color: #FFFFFF; }
.v2-footer__addr {
    margin-top: 20px;
    font-family: var(--font-mono);
    font-size: 11px;
    line-height: 1.7;
    color: #6E7B88;
}

.v2-footer__col { display: flex; flex-direction: column; gap: 11px; }
.v2-footer__col .v2-mono { color: #6E7B88; margin-bottom: 4px; }
.v2-footer__col .v2-footer__legalhead { margin-top: 14px; }
.v2-footer__col a {
    font-size: 13.5px;
    color: #A9B4BF;
    transition: color .15s ease;
    width: fit-content;
    line-height: 1.5;
}
.v2-footer__col a:hover { color: #FFFFFF; }

/* Bottom bar */
.v2-footer__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 14px 20px;
    margin-top: clamp(36px, 5vw, 52px);
    padding-top: 22px;
    border-top: 1px solid rgba(255, 255, 255, 0.09);
    font-size: 12.5px;
    color: #7A8794;
}
.v2-footer__social { display: inline-flex; gap: 10px; }
.v2-footer__social a {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.14);
    display: grid;
    place-items: center;
    color: #A9B4BF;
    transition: color .15s ease, border-color .15s ease, background-color .15s ease;
}
.v2-footer__social a svg { width: 15px; height: 15px; }
.v2-footer__social a:hover {
    color: #FFFFFF;
    border-color: rgba(255, 255, 255, 0.4);
    background: rgba(255, 255, 255, 0.05);
}

/* Ghost wordmark */
.v2-footer__ghost {
    position: absolute;
    left: 50%;
    bottom: -0.32em;
    transform: translateX(-50%);
    font-family: var(--font-display);
    font-weight: 800;
    font-size: clamp(96px, 15vw, 210px);
    letter-spacing: -0.04em;
    line-height: 1;
    color: rgba(255, 255, 255, 0.028);
    white-space: nowrap;
    pointer-events: none;
    user-select: none;
    z-index: 0;
}

@media (max-width: 1060px) {
    .v2-footer__grid { grid-template-columns: 1fr 1fr; gap: 32px 40px; }
    .v2-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
    .v2-footer { padding-top: 30px; padding-bottom: 20px; }

    /* Redundant with the CTA band right above it on phones */
    .v2-footer__trust { display: none; }

    /* Brand block */
    .v2-footer__grid { grid-template-columns: 1fr; gap: 0; padding-top: 0; }
    .v2-footer__brand { grid-column: auto; margin-bottom: 22px; }
    .v2-footer__about { margin-top: 14px; font-size: 13px; max-width: 42ch; }

    /* Contact repositioned as two action pills */
    .v2-footer__contact {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
        margin-top: 18px;
    }
    .v2-footer__contact a {
        justify-content: center;
        height: 44px;
        border: 1px solid rgba(255, 255, 255, 0.14);
        border-radius: 12px;
        background: rgba(255, 255, 255, 0.04);
        font-size: 12.5px;
        font-weight: 600;
        color: #C9D2DA;
        width: auto;
        min-width: 0;
        overflow: hidden;
    }
    .v2-footer__contact a:active { background: rgba(255, 255, 255, 0.09); }
    .v2-footer__addr { margin-top: 16px; font-size: 10px; }

    /* Link groups become collapsible rows */
    .js-acc .v2-footer__col {
        gap: 0;
        border-top: 1px solid rgba(255, 255, 255, 0.09);
    }
    .js-acc .v2-footer__col:last-of-type { border-bottom: 1px solid rgba(255, 255, 255, 0.09); }
    .js-acc .v2-footer__col > .v2-mono {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 15px 2px;
        margin-bottom: 0;
        font-size: 10.5px;
        color: #A9B4BF;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
    }
    .js-acc .v2-footer__col > .v2-mono::after {
        content: "+";
        font-family: var(--font-body);
        font-size: 17px;
        font-weight: 400;
        line-height: 1;
        color: #6E7B88;
        transition: transform .25s ease;
    }
    .js-acc .v2-footer__col.is-open > .v2-mono::after { transform: rotate(45deg); }
    .js-acc .v2-footer__col > .v2-mono.v2-footer__legalhead {
        cursor: default;
        padding: 10px 2px 4px;
    }
    .js-acc .v2-footer__col .v2-footer__legalhead::after { content: none; }

    .js-acc .v2-footer__col:not(.is-open) > a,
    .js-acc .v2-footer__col:not(.is-open) > .v2-footer__legalhead { display: none; }
    .js-acc .v2-footer__col.is-open > a {
        font-size: 14px;
        padding: 6px 2px;
    }
    .js-acc .v2-footer__col.is-open > a:last-of-type { margin-bottom: 12px; }

    /* Slim bottom bar */
    .v2-footer__bar {
        margin-top: 24px;
        padding-top: 18px;
        gap: 12px 16px;
        font-size: 11.5px;
    }
    .v2-footer__social { gap: 8px; }
    .v2-footer__social a { width: 32px; height: 32px; }
    .v2-footer__social a svg { width: 13px; height: 13px; }

    .v2-footer__ghost { font-size: 23vw; }
}

/* Skip link */
.v2-skip {
    position: fixed;
    top: -48px;
    left: 16px;
    z-index: 200;
    background: var(--ink);
    color: #FFFFFF;
    padding: 10px 16px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    transition: top .2s ease;
}
.v2-skip:focus-visible { top: 12px; }

/* ---------- Why us (three-way showdown) ---------- */

.v2-visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}

.v2-ways {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    align-items: stretch;
    max-width: 1060px;
    margin: clamp(44px, 6vw, 64px) auto 0;
}

.v2-way {
    display: flex;
    flex-direction: column;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: 26px;
}
.v2-way--win {
    border: 2px solid var(--go);
    box-shadow:
        0 1px 2px rgba(10, 16, 23, 0.05),
        0 28px 56px -26px rgba(11, 138, 71, 0.4);
}

.v2-way__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.v2-way__ic {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: var(--mist);
    color: var(--slate);
    display: grid;
    place-items: center;
    flex: 0 0 auto;
}
.v2-way__ic svg { width: 22px; height: 22px; }
.v2-way__ic--brand { position: relative; background: var(--ink); }
.v2-way__p {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 18px;
    line-height: 1;
    color: #FFFFFF;
}
.v2-way__dot {
    position: absolute;
    right: -3px;
    bottom: -3px;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: var(--go);
    border: 2px solid var(--paper);
}

.v2-way__chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.02em;
    border-radius: 999px;
    padding: 5px 11px;
    white-space: nowrap;
}
.v2-way__chip svg { width: 12px; height: 12px; }
.v2-way__chip--slow { background: var(--mist); color: var(--slate); border: 1px solid var(--line); }
.v2-way__chip--risk { background: #FDF1F0; color: #B42318; border: 1px solid rgba(180, 35, 24, 0.16); }
.v2-way__chip--rec  { background: var(--go); color: #FFFFFF; }

.v2-way__title {
    margin-top: 18px;
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 19px;
    letter-spacing: -0.015em;
    color: var(--ink);
}
.v2-way__sub {
    margin-top: 5px;
    font-size: 13.5px;
    color: var(--faint);
}

.v2-way__list {
    list-style: none;
    margin: 18px 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 11px;
    flex: 1;
}
.v2-way__list li {
    position: relative;
    padding-left: 26px;
    font-size: 14px;
    line-height: 1.55;
    color: var(--slate);
}
.v2-way__list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 3px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-color: var(--mist);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6.5 6.5l7 7m0-7-7 7' stroke='%239AA6B2' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
    background-size: 10px;
    background-position: center;
    background-repeat: no-repeat;
}
.v2-way__list--check li { color: var(--ink); }
.v2-way__list--check li::before {
    background-color: var(--go-tint);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-6.5' fill='none' stroke='%230B8A47' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-size: 11px;
}

.v2-way__cost {
    display: flex;
    flex-direction: column;
    gap: 3px;
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid var(--line);
}
.v2-way__cost .v2-mono { font-size: 10px; }
.v2-way__cost b {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--ink);
}
.v2-way__cost-win { color: var(--go-deep); }

.v2 .v2-way__cta { width: 100%; margin-top: 16px; }

/* VS badges between the columns */
.v2-ways__vs {
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--paper);
    border: 1px solid var(--line);
    box-shadow: 0 4px 12px -4px rgba(10, 16, 23, 0.15);
    display: grid;
    place-items: center;
    font-family: var(--font-mono);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--faint);
    z-index: 2;
}
.v2-ways__vs--a { left: calc((100% - 40px) / 3 + 10px); }
.v2-ways__vs--b { left: calc(((100% - 40px) / 3) * 2 + 30px); }

/* Staggered arrival */
.v2-why.v2-anim .v2-way { opacity: 0; transform: translateY(26px); }
.v2-why.v2-anim.is-in .v2-way {
    opacity: 1;
    transform: none;
    transition: opacity .6s ease, transform .6s cubic-bezier(0.22, 0.8, 0.26, 1);
}
.v2-why.v2-anim.is-in .v2-way:nth-of-type(1) { transition-delay: .05s; }
.v2-why.v2-anim.is-in .v2-way:nth-of-type(2) { transition-delay: .17s; }
.v2-why.v2-anim.is-in .v2-way:nth-of-type(3) { transition-delay: .29s; }
.v2-why.v2-anim .v2-ways__vs { opacity: 0; }
.v2-why.v2-anim.is-in .v2-ways__vs { opacity: 1; transition: opacity .45s ease .6s; }

@media (max-width: 980px) {
    .v2-ways { grid-template-columns: minmax(0, 1fr); max-width: 480px; gap: 10px; }
    /* VS badges join the flow between stacked cards */
    .v2-ways__vs {
        position: static;
        transform: none;
        justify-self: center;
        width: 30px;
        height: 30px;
    }
    .v2-ways__vs--a { grid-row: 2; }
    .v2-ways__vs--b { grid-row: 4; }
    .v2-way:nth-of-type(1) { grid-row: 1; }
    .v2-way:nth-of-type(2) { grid-row: 3; }
    .v2-way:nth-of-type(3) { grid-row: 5; }
}
@media (max-width: 640px) {
    .v2-way { padding: 20px 18px 18px; }
    .v2-way__ic { width: 38px; height: 38px; border-radius: 11px; }
    .v2-way__ic svg { width: 20px; height: 20px; }
    .v2-way__p { font-size: 16px; }
    .v2-way__title { margin-top: 14px; font-size: 17.5px; }
    .v2-way__sub { font-size: 13px; }
    .v2-way__list { margin-top: 14px; gap: 9px; }
    .v2-way__list li { font-size: 13.5px; padding-left: 24px; }
    .v2-way__list li::before { width: 15px; height: 15px; top: 2.5px; background-size: 10px; }
    .v2-way__cost { margin-top: 16px; padding-top: 14px; }
    .v2 .v2-way__cta { height: 48px; margin-top: 14px; }
}

/* ---------- Video review ---------- */

.v2-video__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
    gap: clamp(40px, 6vw, 80px);
    align-items: center;
}
.v2-video__copy .v2-h2 { margin-top: 14px; }
.v2-video__copy .v2-lead { margin-top: 16px; max-width: 50ch; }

.v2-video__actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px 22px;
    margin-top: 28px;
}
.v2-video__yt { color: #FF0000; }
.v2-video__case {
    font-size: 14px;
    font-weight: 500;
    color: var(--slate);
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-color: var(--line);
    transition: color .15s ease;
}
.v2-video__case:hover { color: var(--ink); }

.v2-video__facts {
    margin-top: 16px;
    font-size: 11.5px;
    letter-spacing: 0.05em;
    color: var(--faint);
}
.v2-video__facts span { white-space: nowrap; }

.v2-video__stage { display: flex; justify-content: center; }

.v2-video__scene { position: relative; }
.v2-video__scene::before {
    content: "";
    position: absolute;
    width: min(150%, 100vw);
    aspect-ratio: 1;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background: radial-gradient(closest-side, rgba(11, 138, 71, 0.12), transparent 70%);
    pointer-events: none;
}

.v2-video__notch {
    position: absolute;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    width: 74px;
    height: 18px;
    border-radius: 999px;
    background: rgba(10, 16, 23, 0.9);
    z-index: 1;
}

.v2-video__cap {
    margin-top: 16px;
    text-align: center;
    font-size: 10.5px;
}

/* Scene choreography */
.v2-video.v2-anim .v2-video__phone { opacity: 0; transform: translateY(22px); }
.v2-video.v2-anim.is-in .v2-video__phone {
    opacity: 1;
    transform: none;
    transition: opacity .6s ease, transform .6s cubic-bezier(0.22, 0.8, 0.26, 1);
}

.v2-video__phone {
    position: relative;
    width: min(300px, 78vw);
    aspect-ratio: 9 / 16;
    background: var(--ink);
    border: 9px solid var(--ink);
    border-radius: 34px;
    overflow: hidden;
    box-shadow:
        0 2px 4px rgba(10, 16, 23, 0.08),
        0 36px 68px -24px rgba(10, 16, 23, 0.35);
}
.v2-video__cover {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border-radius: 26px;
    overflow: hidden;
    display: block;
}
.v2-video__cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.v2-video__cover::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(10, 16, 23, 0) 55%, rgba(10, 16, 23, 0.45) 100%);
}
.v2-video__playbtn {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 66px;
    height: 66px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.97);
    color: var(--ink);
    display: grid;
    place-items: center;
    z-index: 1;
    box-shadow: 0 8px 24px rgba(10, 16, 23, 0.35);
    transition: transform .2s ease;
    animation: v2Pulse 2.4s ease-out infinite;
}
.v2-video__playbtn svg { width: 24px; height: 24px; margin-left: 2px; }
.v2-video__cover:hover .v2-video__playbtn { transform: translate(-50%, -50%) scale(1.07); }
.v2-video__dur {
    position: absolute;
    left: 14px;
    bottom: 14px;
    z-index: 1;
    color: #FFFFFF;
    background: rgba(10, 16, 23, 0.55);
    border-radius: 8px;
    padding: 4px 9px;
    letter-spacing: 0.08em;
}
.v2-video__iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 26px;
}

@media (max-width: 900px) {
    .v2-video__grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
    .v2-video__copy { text-align: center; }
    .v2-video__copy .v2-lead { margin-inline: auto; }
    .v2-video__actions { justify-content: center; }
}
@media (max-width: 640px) {
    .v2-video__actions { flex-direction: column; gap: 14px; }
    .v2-video__actions .v2-btn { width: 100%; }
}
/* ---------- Reports ---------- */

.v2-reports__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    grid-template-areas:
        "stage head"
        "stage body";
    column-gap: clamp(40px, 6vw, 80px);
    align-items: center;
}
.v2-reports__stage { grid-area: stage; }
.v2-reports__head { grid-area: head; align-self: end; }
.v2-reports__body { grid-area: body; align-self: start; margin-top: 24px; }

.v2-reports__doc {
    position: relative;
    display: block;
    margin: 0;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    overflow: hidden;
    box-shadow:
        0 1px 2px rgba(10, 16, 23, 0.05),
        0 28px 56px -22px rgba(10, 16, 23, 0.18);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.v2-reports__doc:hover {
    transform: translateY(-3px);
    border-color: #C9D2DA;
    box-shadow:
        0 2px 4px rgba(10, 16, 23, 0.06),
        0 34px 64px -22px rgba(10, 16, 23, 0.24);
}
.v2-reports__doc:hover .v2-reports__open { color: var(--go); }
.v2-reports__doc::before {
    content: "";
    position: absolute;
    inset: 14px -10px -10px 14px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    z-index: -1;
}
.v2-reports__docbar {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 12px 16px;
    border-bottom: 1px solid var(--line);
    background: #FBFCFD;
}
.v2-reports__docbar > .v2-mono:not(.v2-reports__open) {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.v2-reports__open {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    flex: 0 0 auto;
    white-space: nowrap;
    color: var(--slate);
    font-weight: 700;
    transition: color .15s ease;
}
.v2-reports__open svg { width: 13px; height: 13px; }
.v2-reports__docdot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--go);
}
.v2-reports__doc img {
    width: 100%;
    height: auto;
}

.v2-reports__head .v2-h2 { margin-top: 14px; }
.v2-reports__head .v2-lead { margin-top: 16px; max-width: 46ch; }

.v2-reports__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 18px;
}
.v2-reports__list li {
    position: relative;
    padding-left: 30px;
}
.v2-reports__list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 2px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background-color: var(--go-tint);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-6.5' fill='none' stroke='%230B8A47' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-size: 12px;
    background-position: center;
    background-repeat: no-repeat;
}
.v2-reports__list b {
    display: block;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--ink);
}
.v2-reports__list span {
    display: block;
    margin-top: 3px;
    font-size: 13.5px;
    line-height: 1.55;
    color: var(--slate);
}

.v2-reports__tiers {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 28px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 14px;
    overflow: hidden;
}
.v2-reports__tier {
    padding: 14px 16px;
    border-left: 1px solid var(--line);
}
.v2-reports__tier:first-child { border-left: 0; }
.v2-reports__tier .v2-mono { font-size: 10px; }
.v2-reports__tier b {
    display: block;
    margin-top: 5px;
    font-size: 13.5px;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--ink);
}

.v2-reports__note {
    margin-top: 14px;
    color: var(--go);
    font-weight: 700;
}

@media (max-width: 480px) {
    .v2-reports__tiers { grid-template-columns: 1fr; }
    .v2-reports__tier { border-left: 0; border-top: 1px solid var(--line); }
    .v2-reports__tier:first-child { border-top: 0; }
}

@media (max-width: 900px) {
    .v2-reports__grid {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas:
            "head"
            "stage"
            "body";
    }
    .v2-reports__head { text-align: center; align-self: auto; }
    .v2-reports__head .v2-lead { margin-inline: auto; }
    .v2-reports__stage { margin-top: 28px; }
    .v2-reports__body { margin-top: 26px; }
    .v2-reports__doc::before { display: none; }

    .v2-reports__list { gap: 14px; }
    .v2-reports__list b { font-size: 14.5px; }
    .v2-reports__list span { font-size: 13px; }
    .v2-reports__tiers { margin-top: 22px; }
    .v2-reports__tier { padding: 12px 14px; }
    .v2-reports__tier b { font-size: 13px; }
    .v2-reports__note {
        margin-top: 12px;
        text-align: center;
        font-size: 10px;
    }
}

/* ============================================================
   SEO migration additions (2026-07-03)
   FAQ h3-in-summary parity, video transcript, how process
   link, guides section. See HOMEPAGE_SEO_MIGRATION_PLAN.md.
============================================================ */

/* FAQ: the question is an h3 for search/AI extractability.
   Renders exactly like the span it replaced. */
.v2-faq__item summary h3 {
    font: inherit;
    letter-spacing: inherit;
    color: inherit;
}

/* How: quiet process link inside the CTA note */
.v2-how__cta-note a {
    color: var(--slate);
    text-decoration: underline;
    text-underline-offset: 3px;
}
.v2-how__cta-note a:hover { color: var(--ink); }

/* Video: collapsed transcript below the actions */
.v2-video__tr {
    margin-top: 26px;
    border-top: 1px solid var(--line);
}
.v2-video__tr summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 13px 0;
    cursor: pointer;
    list-style: none;
}
.v2-video__tr summary::-webkit-details-marker { display: none; }
.v2-video__tr summary:hover .v2-mono { color: var(--ink); }
.v2-video__tr[open] .v2-faq__ic::before,
.v2-video__tr[open] .v2-faq__ic::after {
    background: var(--go);
    transform: translate(-50%, -50%) rotate(0deg);
}
.v2-video__tr-body { padding: 4px 0 10px; }
.v2-video__tr-body p {
    font-size: 13.5px;
    line-height: 1.7;
    color: var(--slate);
}
.v2-video__tr-body p + p { margin-top: 10px; }
.v2-video__tr-body b { color: var(--ink); font-weight: 600; }

/* Guides: editorial index of the top three guides */
.v2-guides__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: clamp(36px, 5vw, 52px);
}
.v2-guide {
    display: flex;
    flex-direction: column;
    gap: 12px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 26px 24px;
    text-decoration: none;
    transition: border-color 0.22s ease, box-shadow 0.22s ease;
}
.v2-guide:hover {
    border-color: #C9D2DA;
    box-shadow: 0 16px 36px -20px rgba(10, 16, 23, 0.2);
}
.v2-guide__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.v2-guide h3 {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 19px;
    letter-spacing: -0.015em;
    line-height: 1.28;
    color: var(--ink);
}
.v2-guide__dek {
    font-size: 14px;
    line-height: 1.62;
    color: var(--slate);
    flex: 1;
}
.v2-guide__go {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: 2px;
    font-size: 13.5px;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--go-deep);
}
.v2-guide__go svg { width: 15px; height: 15px; transition: transform 0.22s ease; }
.v2-guide:hover .v2-guide__go svg { transform: translateX(3px); }
.v2-guides__all { text-align: center; margin-top: 36px; }

/* Guides arrival */
.v2-guides.v2-anim .v2-guide { opacity: 0; }
.v2-guides.v2-anim.is-in .v2-guide {
    animation: v2RiseCard 0.6s cubic-bezier(0.22, 0.8, 0.26, 1) both;
    animation-delay: var(--d, 0s);
}

@media (max-width: 960px) {
    .v2-guides__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
        max-width: 560px;
        margin-inline: auto;
    }
}
@media (max-width: 640px) {
    .v2-guide { padding: 18px; border-radius: 16px; gap: 10px; }
    .v2-guide h3 { font-size: 17px; }
    .v2-guide__dek { font-size: 13.5px; }
    .v2-guides__all { margin-top: 26px; }
    .v2 .v2-guides__all .v2-btn { width: 100%; max-width: 420px; height: 48px; }
    .v2-video__tr { margin-top: 20px; }
}

/* Fold: reusable collapsed detail row (How, Reports) */
.v2-fold {
    margin-top: 26px;
    border-top: 1px solid var(--line);
}
.v2-fold summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 13px 0;
    cursor: pointer;
    list-style: none;
}
.v2-fold summary::-webkit-details-marker { display: none; }
.v2-fold summary:hover .v2-mono { color: var(--ink); }
.v2-fold[open] .v2-faq__ic::before,
.v2-fold[open] .v2-faq__ic::after {
    background: var(--go);
    transform: translate(-50%, -50%) rotate(0deg);
}
.v2-fold__body { padding: 4px 0 10px; }
.v2-fold__body p {
    font-size: 13.5px;
    line-height: 1.7;
    color: var(--slate);
}
.v2-fold__body p + p { margin-top: 10px; }
.v2-how__fold {
    max-width: 720px;
    margin: 38px auto 0;
}

/* Explain: the chapter reader. A rail of 13 chapters beside one
   reading pane; every chapter stays in the DOM for search and AI
   systems, only the active one renders. */
.v2-reader {
    display: grid;
    grid-template-columns: 284px minmax(0, 1fr);
    margin-top: clamp(32px, 4.5vw, 48px);
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 30px 70px -48px rgba(10, 16, 23, 0.25);
}

.v2-reader__rail {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 16px 12px;
    background: var(--mist);
    border-right: 1px solid var(--line);
}

/* Without JS there are no tabs: the rail hides and every
   chapter renders stacked, so nothing is unreachable. */
.v2-reader:not(.is-ready) { grid-template-columns: minmax(0, 1fr); }
.v2-reader:not(.is-ready) .v2-reader__rail { display: none; }
.v2-reader:not(.is-ready) .v2-reader__pane + .v2-reader__pane { border-top: 1px solid var(--line); }
.v2-reader.is-ready .v2-reader__pane { display: none; }
.v2-reader.is-ready .v2-reader__pane.is-active {
    display: block;
    animation: v2PaneIn 0.32s cubic-bezier(0.22, 0.8, 0.26, 1);
}
@keyframes v2PaneIn {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: none; }
}

.v2 .v2-reader__tab {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 9px 12px;
    border-radius: 10px;
    text-align: left;
    color: var(--slate);
    transition: background-color 0.15s ease, color 0.15s ease;
}
.v2 .v2-reader__tab:hover { color: var(--ink); background: rgba(255, 255, 255, 0.75); }
.v2-reader__num {
    width: 18px;
    flex: 0 0 auto;
    font-size: 10px;
    letter-spacing: 0.08em;
}
.v2-reader__lab {
    font-size: 13.5px;
    font-weight: 600;
    letter-spacing: -0.01em;
    line-height: 1.25;
}
.v2 .v2-reader__tab.is-active {
    background: var(--ink);
    color: #FFFFFF;
    box-shadow: 0 12px 24px -14px rgba(10, 16, 23, 0.55);
}
.v2 .v2-reader__tab.is-active .v2-reader__num { color: rgba(255, 255, 255, 0.55); }

.v2-reader__pane {
    min-width: 0;
    padding: clamp(24px, 3.4vw, 36px) clamp(22px, 3.6vw, 42px) clamp(18px, 2.4vw, 26px);
}
/* The pane is focusable (tabindex) for keyboard scrolling, but a
   reading region does not need the ring; deep links would show a
   full-height green outline otherwise. */
.v2 .v2-reader__pane:focus-visible { outline: none; }
.v2-reader__kicker { color: var(--go); }
.v2-reader__title {
    margin: 9px 0 16px;
    font-family: var(--font-display);
    font-weight: 600;
    font-size: clamp(20px, 2.3vw, 24px);
    letter-spacing: -0.02em;
    line-height: 1.22;
    color: var(--ink);
}

.v2-reader__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    max-width: 64ch;
    margin-top: 24px;
    padding-top: 15px;
    border-top: 1px solid var(--line);
}
.v2 .v2-reader__next {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 13.5px;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--go-deep);
}
.v2 .v2-reader__next svg { width: 15px; height: 15px; transition: transform 0.18s ease; }
.v2 .v2-reader__next:hover svg { transform: translateX(3px); }

.v2-explain__a {
    max-width: 64ch;
    padding: 0;
}
.v2-explain__a p {
    font-size: 15px;
    line-height: 1.72;
    color: var(--slate);
}
.v2-explain__a p + p,
.v2-explain__a blockquote + p,
.v2-explain__a ol + p { margin-top: 12px; }
.v2-explain__a a {
    color: var(--go-deep);
    text-decoration: underline;
    text-underline-offset: 3px;
}
.v2-explain__a b { color: var(--ink); font-weight: 600; }
.v2-explain__quote {
    margin: 16px 0;
    background: var(--paper);
    border: 1px solid var(--line);
    border-left: 3px solid var(--go);
    border-radius: 12px;
    padding: 18px 20px;
}
.v2-explain__quote p {
    color: var(--ink);
    font-size: 15.5px;
    line-height: 1.6;
    font-weight: 500;
}
.v2-explain__quote footer { margin-top: 10px; }
.v2-explain__list {
    margin: 14px 0 0;
    padding: 0;
    list-style: none;
    counter-reset: xrules;
}
.v2-explain__list li {
    counter-increment: xrules;
    position: relative;
    padding: 0 0 0 44px;
    font-size: 15px;
    line-height: 1.7;
    color: var(--slate);
}
.v2-explain__list li + li { margin-top: 14px; }
.v2-explain__list li::before {
    content: counter(xrules, decimal-leading-zero);
    position: absolute;
    left: 0;
    top: 2px;
    font-family: var(--font-mono);
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 0.08em;
    color: var(--faint);
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 7px;
    padding: 3px 6px;
}

.v2-explain__gloss {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px 26px;
    margin: 16px 0 0;
}
.v2-explain__gloss dt {
    font-family: var(--font-mono);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--ink);
}
.v2-explain__gloss dd {
    margin: 5px 0 0;
    font-size: 13.5px;
    line-height: 1.6;
    color: var(--slate);
}

/* Explain arrival */
.v2-explain.v2-anim .v2-reader { opacity: 0; transform: translateY(18px); }
.v2-explain.v2-anim.is-in .v2-reader {
    opacity: 1;
    transform: none;
    transition: opacity 0.65s cubic-bezier(0.22, 0.8, 0.26, 1), transform 0.65s cubic-bezier(0.22, 0.8, 0.26, 1);
}

/* Reader on mobile: the rail becomes a scrollable chip row */
@media (max-width: 900px) {
    .v2-reader { grid-template-columns: minmax(0, 1fr); border-radius: 18px; }
    .v2-reader__rail {
        flex-direction: row;
        gap: 6px;
        padding: 12px;
        overflow-x: auto;
        border-right: 0;
        border-bottom: 1px solid var(--line);
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }
    .v2-reader__rail::-webkit-scrollbar { display: none; }
    .v2 .v2-reader__tab {
        flex: 0 0 auto;
        gap: 8px;
        padding: 8px 13px;
        border-radius: 999px;
        background: var(--paper);
        border: 1px solid var(--line);
    }
    .v2 .v2-reader__tab.is-active { border-color: var(--ink); }
    .v2-reader__num { width: auto; }
    .v2-reader__lab { font-size: 12.5px; white-space: nowrap; }
}

@media (max-width: 640px) {
    .v2-reader__pane { padding: 20px 16px 16px; }
    .v2-reader__title { font-size: 19px; margin-bottom: 13px; }
    .v2-explain__a p, .v2-explain__list li { font-size: 14px; }
    .v2-explain__list li { padding-left: 40px; }
    .v2-explain__quote { padding: 15px 16px; }
    .v2-explain__quote p { font-size: 14.5px; }
    .v2-explain__gloss { grid-template-columns: minmax(0, 1fr); gap: 13px; }
    .v2-reader__foot { margin-top: 20px; flex-wrap: wrap; }
    .v2-how__fold { margin-top: 30px; }
}

/* ============================================================
   PRICING V2 PAGE (2026-07-04)
   Sections for /pricing-v2: hero, plan-card per-tester line,
   comparison matrix, included grid, cost showdown. Reuses every
   V2 primitive; tokens/base/primitives stay untouched.
============================================================ */

/* ---------- Pricing hero ---------- */

.v2-phero {
    position: relative;
    padding-top: calc(var(--nav-h) + clamp(44px, 7vh, 84px));
    padding-bottom: clamp(48px, 7vh, 84px);
    overflow: hidden;
}
.v2-phero__wash {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(52rem 34rem at 84% -12%, rgba(11, 138, 71, 0.07), transparent 62%),
        radial-gradient(40rem 28rem at -12% 112%, rgba(10, 16, 23, 0.04), transparent 62%);
}
.v2-phero__in {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.v2-phero__title {
    margin-top: 16px;
    max-width: 21ch;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: clamp(2.15rem, 1.2rem + 3.1vw, 3.45rem);
    line-height: 1.06;
    letter-spacing: -0.028em;
    text-wrap: balance;
}
.v2-phero__title-go { display: block; color: var(--go); }
.v2-phero__sub {
    margin-top: 20px;
    max-width: 64ch;
    font-size: clamp(16px, 1.5vw, 17.5px);
    line-height: 1.65;
    color: var(--slate);
    text-wrap: pretty;
}
.v2-phero__cta {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin-top: 30px;
}
.v2-phero__fine {
    margin-top: 16px;
    font-family: var(--font-mono);
    font-size: 12px;
    letter-spacing: 0.04em;
    color: var(--faint);
}
.v2-phero__fine span { white-space: nowrap; }

.v2-phero__trust {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 12px 16px;
    margin-top: 30px;
    padding-top: 24px;
    border-top: 1px solid var(--line);
    width: min(100%, 780px);
}
.v2-phero__trust-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: var(--slate);
}
.v2-phero__trust-item b { color: var(--ink); font-weight: 600; }
.v2-phero__trust-sep {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--line);
}

.v2-phero__intro {
    margin-top: clamp(34px, 5vw, 46px);
    max-width: 860px;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 20px 24px;
    text-align: left;
}
.v2-phero__intro p {
    font-size: 14px;
    line-height: 1.75;
    color: var(--slate);
}
.v2-phero__intro strong { color: var(--ink); font-weight: 600; }
.v2-phero__intro a {
    color: var(--go-deep);
    text-decoration: underline;
    text-underline-offset: 3px;
}

@media (max-width: 640px) {
    .v2-phero { padding-top: calc(var(--nav-h) + 36px); padding-bottom: 44px; }
    .v2-phero__sub { font-size: 15.5px; }
    .v2-phero__cta { width: 100%; max-width: 420px; margin-top: 26px; }
    .v2 .v2-phero__cta .v2-btn { flex: 1 1 100%; height: 50px; }
    .v2-phero__trust { gap: 9px; margin-top: 26px; padding-top: 22px; }
    .v2-phero__trust-item { font-size: 13.5px; }
    .v2-phero__trust-sep { display: none; }
    .v2-phero__intro { padding: 17px 16px; border-radius: 14px; }
    .v2-phero__intro p { font-size: 13.5px; line-height: 1.7; }
}

/* ---------- Plans: per-tester line (pricing page only) ---------- */

.v2-plan__per {
    display: block;
    margin-top: 7px;
    font-family: var(--font-mono);
    font-size: 10.5px;
    letter-spacing: 0.06em;
    color: var(--faint);
}
.v2-plan--featured .v2-plan__per { color: #8FA0AE; }

/* ---------- Comparison matrix ---------- */

.v2-cmp__wrap {
    margin-top: clamp(40px, 5.5vw, 56px);
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.v2-cmp__table {
    width: 100%;
    min-width: 720px;
    border-collapse: separate;
    border-spacing: 0;
}
.v2-cmp__table.has-qa { min-width: 860px; } /* 5 columns when Premium QA is enabled */
.v2-cmp__table thead th {
    padding: 20px 16px 16px;
    text-align: center;
    vertical-align: bottom;
    border-bottom: 1px solid var(--line);
}
.v2-cmp__table thead th.v2-cmp__feat {
    width: 30%;
    text-align: left;
}
.v2-cmp__price {
    display: block;
    margin-top: 6px;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 22px;
    letter-spacing: -0.02em;
    line-height: 1;
    color: var(--ink);
    font-variant-numeric: tabular-nums;
}
.v2-cmp__sub {
    display: block;
    margin-top: 6px;
    font-family: var(--font-mono);
    font-size: 10.5px;
    letter-spacing: 0.06em;
    color: var(--faint);
}
.v2-cmp__pop {
    display: inline-block;
    margin-bottom: 8px;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #FFFFFF;
    background: var(--go);
    border-radius: 999px;
    padding: 4px 10px;
    white-space: nowrap;
}

.v2-cmp__table tbody th {
    padding: 13px 16px;
    text-align: left;
    font-size: 14px;
    font-weight: 500;
    color: var(--slate);
    border-bottom: 1px solid var(--line);
}
.v2-cmp__table tbody td {
    padding: 13px 12px;
    text-align: center;
    font-size: 14px;
    color: var(--ink);
    border-bottom: 1px solid var(--line);
}
.v2-cmp__table tbody td b {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 16.5px;
    letter-spacing: -0.01em;
}
.v2-cmp__table tbody tr:last-child th,
.v2-cmp__table tbody tr:last-child td { border-bottom: 0; }

/* Featured (Enterprise) column: soft green tint, solid for stickiness.
   Class-based since the Premium QA column joined after Enterprise
   (a :last-child rule would move the highlight to the wrong plan). */
.v2-cmp__table th.is-feat,
.v2-cmp__table td.is-feat {
    background: #F0F8F3;
    box-shadow: inset 1px 0 0 rgba(11, 138, 71, 0.14);
}

.v2-cmp__yes,
.v2-cmp__no {
    display: inline-block;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    vertical-align: middle;
    background-color: var(--go-tint);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-6.5' fill='none' stroke='%230B8A47' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-size: 12px;
    background-position: center;
    background-repeat: no-repeat;
}
.v2-cmp__no {
    background-color: var(--mist);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6.5 10h7' fill='none' stroke='%239AA6B2' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E");
}

.v2-cmp__cta-row th { background: var(--paper); }
.v2-cmp__cta-row td { padding: 16px 12px 18px; }
.v2 .v2-cmp__cta-row .v2-btn { width: 100%; }

.v2-cmp__note {
    display: none;
    margin-top: 14px;
    text-align: center;
}
.v2-cmp__note span { white-space: nowrap; }

/* Entrance: single rise, no hover transforms on the wrap */
.v2-cmp.v2-anim .v2-cmp__wrap {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity .6s cubic-bezier(0.22, 0.8, 0.26, 1), transform .6s cubic-bezier(0.22, 0.8, 0.26, 1);
}
.v2-cmp.v2-anim.is-in .v2-cmp__wrap { opacity: 1; transform: none; }

@media (max-width: 900px) {
    .v2-cmp__table { min-width: 620px; }
    .v2-cmp__table.has-qa { min-width: 740px; }
    .v2-cmp__table thead th.v2-cmp__feat { width: 132px; min-width: 132px; }
    .v2-cmp__table thead th { min-width: 130px; }
    /* Feature column pins left; the plan columns scroll under it.
       (Pinning Enterprise right as well crushed the middle columns
       to slivers at 390px, so only the label column is sticky.) */
    .v2-cmp__table th:first-child,
    .v2-cmp__table td:first-child {
        position: sticky;
        left: 0;
        z-index: 2;
        background: var(--paper);
        box-shadow: inset -1px 0 0 var(--line);
    }
    .v2-cmp__note { display: block; }
}
@media (max-width: 640px) {
    .v2-cmp__wrap { border-radius: 16px; }
    .v2-cmp__table thead th { padding: 16px 12px 13px; min-width: 118px; }
    .v2-cmp__table thead th.v2-cmp__feat { width: 118px; min-width: 118px; }
    .v2-cmp__price { font-size: 19px; }
    .v2-cmp__table tbody th { padding: 11px 12px; font-size: 13px; }
    .v2-cmp__table tbody td { padding: 11px 10px; font-size: 13.5px; }
    .v2-cmp__table tbody td b { font-size: 15.5px; }
}

/* ---------- Included in every plan ---------- */

.v2-inc__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin-top: clamp(40px, 5.5vw, 56px);
}
.v2-inc__item {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 22px 20px;
}
.v2-inc__ic {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: var(--go-tint);
    color: var(--go);
    margin-bottom: 14px;
}
.v2-inc__ic svg { width: 22px; height: 22px; }
.v2-inc__item h3 {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 16.5px;
    letter-spacing: -0.012em;
    margin-bottom: 7px;
}
.v2-inc__item p {
    font-size: 13.5px;
    line-height: 1.55;
    color: var(--slate);
}

.v2-inc.v2-anim .v2-inc__item {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity .55s cubic-bezier(0.22, 0.8, 0.26, 1), transform .55s cubic-bezier(0.22, 0.8, 0.26, 1);
    transition-delay: calc(var(--i) * 55ms);
}
.v2-inc.v2-anim.is-in .v2-inc__item { opacity: 1; transform: none; }

@media (max-width: 960px) {
    .v2-inc__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
}
@media (max-width: 640px) {
    .v2-inc__grid { margin-top: 36px; gap: 11px; }
    .v2-inc__item { padding: 18px 16px; border-radius: 14px; }
    .v2-inc__ic { width: 38px; height: 38px; border-radius: 11px; margin-bottom: 12px; }
    .v2-inc__ic svg { width: 20px; height: 20px; }
    .v2-inc__item h3 { font-size: 15px; }
    .v2-inc__item p { font-size: 13px; }
}
@media (max-width: 400px) {
    .v2-inc__grid { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- Cost showdown ---------- */

.v2-cost__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    align-items: stretch;
    margin-top: clamp(40px, 5.5vw, 56px);
}
.v2-cost__card {
    display: flex;
    flex-direction: column;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: 26px 24px;
}
.v2-cost__card--win {
    border: 2px solid var(--go);
    box-shadow: 0 22px 44px -20px rgba(11, 138, 71, 0.38);
    padding: 25px 23px;
}
.v2-cost__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}
.v2-cost__ic {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: var(--mist);
    color: var(--slate);
}
.v2-cost__ic svg { width: 21px; height: 21px; }
.v2-cost__ic--brand { background: transparent; }
.v2-cost__chip {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: var(--slate);
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 5px 11px;
    white-space: nowrap;
}
.v2-cost__chip--risk {
    color: #B42318;
    background: #FDF1F0;
    border-color: rgba(180, 35, 24, 0.16);
}
.v2-cost__chip--win {
    color: #FFFFFF;
    background: var(--go);
    border-color: var(--go);
}
.v2-cost__card h3 {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 18px;
    letter-spacing: -0.014em;
}
.v2-cost__amount {
    margin: 6px 0 16px;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 29px;
    line-height: 1;
    letter-spacing: -0.02em;
    font-variant-numeric: tabular-nums;
}
.v2-cost__amount-note {
    display: block;
    margin-top: 6px;
    font-family: var(--font-mono);
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 0.06em;
    color: var(--faint);
}
.v2-cost__list {
    list-style: none;
    margin: 0 0 18px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
}
.v2-cost__list li {
    position: relative;
    padding-left: 26px;
    font-size: 13.5px;
    line-height: 1.5;
    color: var(--slate);
}
.v2-cost__list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 2px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-size: 10px;
    background-position: center;
    background-repeat: no-repeat;
}
.v2-cost__list--x li::before {
    background-color: var(--mist);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6.5 6.5l7 7m0-7l-7 7' fill='none' stroke='%239AA6B2' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E");
}
.v2-cost__list--check li::before {
    background-color: var(--go-tint);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-6.5' fill='none' stroke='%230B8A47' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-size: 11px;
}
.v2-cost__foot {
    border-top: 1px solid var(--line);
    padding-top: 14px;
    font-size: 13px;
    font-weight: 500;
    color: var(--faint);
}
.v2 .v2-cost__cta { width: 100%; }

.v2-cost__math {
    margin-top: clamp(26px, 4vw, 34px);
    text-align: center;
}
.v2-cost__math span { white-space: nowrap; }
.v2-cost__diy {
    margin-top: 10px;
    text-align: center;
    font-size: 13.5px;
    color: var(--slate);
}
.v2-cost__diy a {
    color: var(--go-deep);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.v2-cost.v2-anim .v2-cost__card {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity .6s cubic-bezier(0.22, 0.8, 0.26, 1), transform .6s cubic-bezier(0.22, 0.8, 0.26, 1);
    transition-delay: calc(var(--i) * 120ms);
}
.v2-cost.v2-anim.is-in .v2-cost__card { opacity: 1; transform: none; }

@media (max-width: 960px) {
    .v2-cost__grid { grid-template-columns: minmax(0, 1fr); max-width: 480px; margin-inline: auto; gap: 16px; }
    .v2-cost__math, .v2-cost__diy { padding-inline: 8px; }
}
@media (max-width: 640px) {
    .v2-cost__grid { margin-top: 36px; gap: 14px; }
    .v2-cost__card { padding: 20px 18px; border-radius: 18px; }
    .v2-cost__card--win { padding: 19px 17px; }
    .v2-cost__card h3 { font-size: 17px; }
    .v2-cost__amount { font-size: 25px; margin-bottom: 14px; }
    .v2-cost__list li { font-size: 13px; }
    .v2 .v2-cost__cta { height: 48px; }
    .v2-cost__math { font-size: 10.5px; }
}

/* ============================================================
   SERVICES V2 (/services-v2) - page-specific blocks (2026-07-04)
   Reuses every V2 primitive and the home hero copy-column
   classes; only services-specific structures live here under
   the v2s- prefix. Appended per V2_DESIGN_RULES section 6.3.
   ============================================================ */

/* Breadcrumb (matches the BreadcrumbList schema) */
.v2s-crumbs {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 18px;
    font-family: var(--font-mono);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--faint);
}
.v2s-crumbs a { color: var(--faint); transition: color 0.15s ease; }
.v2s-crumbs a:hover { color: var(--ink); }
.v2s-crumbs [aria-current] { color: var(--slate); }

/* Console Card: the Play Console window re-enacting the outcome */
.v2s-console {
    width: min(460px, 100%);
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(10, 16, 23, 0.05), 0 28px 56px -20px rgba(10, 16, 23, 0.16);
}
.v2s-console__bar {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 16px;
    border-bottom: 1px solid var(--line);
}
.v2s-console__dots { display: flex; gap: 6px; }
.v2s-console__dots i {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #D9DFE5;
}
.v2s-console__url {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    flex: 1;
    min-width: 0;
    padding: 7px 12px;
    background: var(--mist);
    border-radius: 8px;
    letter-spacing: 0.06em;
    text-transform: none;
    white-space: nowrap;
    overflow: hidden;
}
.v2s-console__url svg { width: 12px; height: 12px; flex: 0 0 auto; color: var(--go); }

.v2s-console__body { padding: 20px; }

.v2s-console__grant {
    display: flex;
    align-items: center;
    gap: 13px;
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.22);
    border-radius: 14px;
    padding: 16px 18px;
}
.v2s-console__grant-ic {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--go);
    color: #FFFFFF;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
}
.v2s-console__grant-ic svg { width: 19px; height: 19px; }
.v2s-console__grant-txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.v2s-console__grant-txt b {
    font-family: var(--font-display);
    font-size: 16.5px;
    font-weight: 700;
    letter-spacing: -0.015em;
    color: var(--ink);
}
.v2s-console__grant-txt span { font-size: 13px; color: var(--slate); }

.v2s-console__meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 14px;
}
.v2s-console__meta > div {
    background: var(--mist);
    border-radius: 12px;
    padding: 12px 13px;
    min-width: 0;
}
.v2s-console__meta .v2-mono { display: block; font-size: 9.5px; }
.v2s-console__meta b {
    display: block;
    margin-top: 6px;
    font-family: var(--font-display);
    font-size: 17px;
    font-weight: 700;
    letter-spacing: -0.02em;
    font-variant-numeric: tabular-nums;
    color: var(--ink);
    white-space: nowrap;
}
.v2s-console__zero { color: var(--go-deep); }

/* Console Card entrance (runs once when .is-play is set) */
.v2s-console.is-play { animation: v2CardIn 0.6s cubic-bezier(0.22, 0.8, 0.26, 1) both; }
.v2s-console.is-play .v2s-console__grant {
    animation: v2Rise 0.5s cubic-bezier(0.22, 0.8, 0.26, 1) 1.85s both;
}

@media (max-width: 640px) {
    .v2s-crumbs { justify-content: center; }
    .v2s-console__body { padding: 16px; }
    .v2s-console__grant { padding: 14px 15px; gap: 11px; }
    .v2s-console__grant-ic { width: 34px; height: 34px; }
    .v2s-console__grant-ic svg { width: 17px; height: 17px; }
    .v2s-console__grant-txt b { font-size: 15px; }
    .v2s-console__grant-txt span { font-size: 12px; }
    .v2s-console__meta { gap: 8px; }
    .v2s-console__meta > div { padding: 10px 10px; }
    .v2s-console__meta .v2-mono { font-size: 9px; }
    .v2s-console__meta b { font-size: 14.5px; margin-top: 5px; }
}
@media (max-width: 380px) {
    .v2s-console__meta { gap: 6px; }
    .v2s-console__meta > div { padding: 9px 8px; }
    .v2s-console__url { letter-spacing: 0.02em; font-size: 10px; }
}

/* Answer capsule (AEO): the machine-quotable definition, docked
   under the hero as its factual footnote */
.v2s-answer { padding: clamp(4px, 1vw, 12px) 0 clamp(72px, 9vw, 110px); }
.v2s-answer__card {
    max-width: 880px;
    margin-inline: auto;
    background: var(--paper);
    border: 1px solid var(--line);
    border-left: 3px solid var(--go);
    border-radius: 16px;
    padding: 22px 28px 24px;
}
.v2s-answer__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px 14px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}
.v2s-answer__chip {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 5px 13px;
    border-radius: 999px;
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.22);
    color: var(--go-deep);
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: -0.005em;
}
.v2s-answer__chip svg { width: 13px; height: 13px; flex: 0 0 auto; }
.v2s-answer__card > p {
    font-size: 16.5px;
    line-height: 1.7;
    color: var(--slate);
    text-wrap: pretty;
}
.v2s-answer__card b { color: var(--ink); font-weight: 600; }

/* Answer arrival */
.v2s-answer.v2-anim .v2s-answer__card { opacity: 0; transform: translateY(14px); }
.v2s-answer.v2-anim.is-in .v2s-answer__card {
    opacity: 1;
    transform: none;
    transition: opacity 0.6s cubic-bezier(0.22, 0.8, 0.26, 1), transform 0.6s cubic-bezier(0.22, 0.8, 0.26, 1);
}

@media (max-width: 640px) {
    .v2s-answer { padding-bottom: 64px; }
    .v2s-answer__card { padding: 18px 18px 20px; border-radius: 14px; }
    .v2s-answer__top { margin-bottom: 10px; }
    .v2s-answer__card > p { font-size: 14.5px; line-height: 1.68; }
}

/* ---------- Services: flagship + continuity simulator ---------- */

.v2s-flag__grid {
    display: grid;
    grid-template-columns: 1.04fr 0.96fr;
    gap: clamp(36px, 5vw, 60px);
    align-items: start;
}
.v2s-flag__copy .v2-h2 { margin-top: 14px; }
.v2s-flag__p {
    margin-top: 16px;
    font-size: 15.5px;
    line-height: 1.72;
    color: var(--slate);
}
.v2s-flag__p:first-of-type { margin-top: 20px; font-size: 16.5px; }
.v2s-flag__p b { color: var(--ink); font-weight: 600; }
.v2s-flag__facts {
    list-style: none;
    margin: 24px 0 0;
    padding: 0;
    display: grid;
    gap: 12px;
}
.v2s-flag__facts li {
    display: flex;
    gap: 11px;
    align-items: flex-start;
    font-size: 14.5px;
    line-height: 1.6;
    color: var(--slate);
}
.v2s-flag__facts svg { width: 19px; height: 19px; flex: 0 0 auto; margin-top: 1px; }
.v2s-flag__facts b { color: var(--ink); font-weight: 600; }

.v2s-sim {
    position: sticky;
    top: calc(var(--nav-h) + 24px);
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: 22px;
    box-shadow: 0 1px 2px rgba(10, 16, 23, 0.05), 0 28px 56px -20px rgba(10, 16, 23, 0.16);
}
.v2s-sim__tag { display: block; margin-bottom: 14px; }
.v2s-sim__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}
.v2s-sim__status {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--go-deep);
}
.v2s-sim__status b { font-variant-numeric: tabular-nums; }
.v2s-sim__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--go);
    animation: v2Pulse 2.4s infinite;
}
.v2s-sim__status.is-warn { color: #B42318; }
.v2s-sim__status.is-warn .v2s-sim__dot { background: #B42318; animation: none; }
.v2s-sim__day { font-size: 13px; color: var(--slate); }
.v2s-sim__day b {
    font-family: var(--font-display);
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.02em;
    font-variant-numeric: tabular-nums;
    color: var(--ink);
}
.v2s-sim__track {
    height: 10px;
    border-radius: 999px;
    background: #E9EDF1;
    overflow: hidden;
    margin-bottom: 8px;
}
.v2s-sim__track i {
    display: block;
    height: 100%;
    width: 0%;
    border-radius: 999px;
    background: var(--go);
    transition: width 0.4s cubic-bezier(0.22, 0.8, 0.26, 1);
}
.v2s-sim__scale {
    display: flex;
    justify-content: space-between;
    margin-bottom: 16px;
}
.v2s-sim__scale .v2-mono { font-size: 9px; }
.v2s-sim__testers {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 14px;
}
.v2 .v2s-sim__chip {
    aspect-ratio: 1;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.22);
    color: var(--go-deep);
    transition: transform 0.15s ease, background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.v2 .v2s-sim__chip:hover { transform: translateY(-2px); }
.v2 .v2s-sim__chip svg { width: 19px; height: 19px; }
.v2 .v2s-sim__chip.is-off {
    background: #FDF1F0;
    border-color: rgba(180, 35, 24, 0.16);
    color: #B42318;
}
.v2s-sim__msg {
    min-height: 62px;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 11px 13px;
    font-size: 13px;
    line-height: 1.55;
    color: var(--slate);
    margin-bottom: 14px;
}
.v2s-sim__msg b { color: var(--ink); font-weight: 600; }
.v2s-sim__msg.is-good {
    background: var(--go-tint);
    border-color: rgba(11, 138, 71, 0.22);
    color: var(--go-deep);
}
.v2s-sim__msg.is-good b { color: var(--go-deep); }
.v2s-sim__msg.is-bad {
    background: #FDF1F0;
    border-color: rgba(180, 35, 24, 0.16);
    color: #B42318;
}
.v2s-sim__msg.is-bad b { color: #B42318; }
.v2s-sim__actions { display: flex; gap: 10px; }
.v2s-sim__actions .v2-btn:first-child { flex: 1; }

@keyframes v2sShake {
    0%, 100% { transform: translateX(0); }
    20%, 60% { transform: translateX(-6px); }
    40%, 80% { transform: translateX(6px); }
}
.v2s-shake { animation: v2sShake 0.45s ease; }

/* Flagship arrival */
.v2s-flag.v2-anim .v2s-flag__copy,
.v2s-flag.v2-anim .v2s-sim { opacity: 0; transform: translateY(18px); }
.v2s-flag.v2-anim.is-in .v2s-flag__copy,
.v2s-flag.v2-anim.is-in .v2s-sim {
    opacity: 1;
    transform: none;
    transition: opacity 0.65s cubic-bezier(0.22, 0.8, 0.26, 1), transform 0.65s cubic-bezier(0.22, 0.8, 0.26, 1);
}
.v2s-flag.v2-anim.is-in .v2s-sim { transition-delay: 0.12s; }

/* ---------- Services: why DIY fails ---------- */

.v2s-diy__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-top: clamp(36px, 5vw, 52px);
}
.v2s-diy__card {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 24px 22px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.v2s-diy__card:hover {
    border-color: #C9D2DA;
    box-shadow: 0 16px 36px -20px rgba(10, 16, 23, 0.2);
}
.v2s-diy__ic {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: var(--mist);
    color: var(--slate);
    margin-bottom: 16px;
}
.v2s-diy__ic svg { width: 22px; height: 22px; }
.v2s-diy__card h3 {
    font-family: var(--font-display);
    font-size: 17px;
    font-weight: 600;
    letter-spacing: -0.015em;
    color: var(--ink);
    margin-bottom: 8px;
}
.v2s-diy__card p { font-size: 13.5px; line-height: 1.62; color: var(--slate); }

.v2s-note {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    margin-top: 22px;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 18px 20px;
}
.v2s-note__ic {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    border-radius: 11px;
    background: var(--paper);
    border: 1px solid var(--line);
    color: var(--slate);
}
.v2s-note__ic svg { width: 20px; height: 20px; }
.v2s-note p { font-size: 14px; line-height: 1.68; color: var(--slate); }
.v2s-note b { color: var(--ink); font-weight: 600; }

.v2s-diy.v2-anim .v2s-diy__card { opacity: 0; }
.v2s-diy.v2-anim.is-in .v2s-diy__card {
    animation: v2RiseCard 0.6s cubic-bezier(0.22, 0.8, 0.26, 1) both;
    animation-delay: var(--d, 0s);
}

/* ---------- Services: what's included ---------- */

.v2s-inc__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: clamp(36px, 5vw, 52px);
}
.v2s-inc__card {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 26px 24px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.v2s-inc__card:hover {
    border-color: #C9D2DA;
    box-shadow: 0 16px 36px -20px rgba(10, 16, 23, 0.2);
}
.v2s-inc__ic {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 13px;
    background: var(--go-tint);
    color: var(--go);
    margin-bottom: 16px;
}
.v2s-inc__ic svg { width: 23px; height: 23px; }
.v2s-inc__card h3 {
    font-family: var(--font-display);
    font-size: 17.5px;
    font-weight: 600;
    letter-spacing: -0.015em;
    color: var(--ink);
    margin-bottom: 8px;
}
.v2s-inc__card p { font-size: 14px; line-height: 1.65; color: var(--slate); }

.v2s-inc.v2-anim .v2s-inc__card { opacity: 0; }
.v2s-inc.v2-anim.is-in .v2s-inc__card {
    animation: v2RiseCard 0.6s cubic-bezier(0.22, 0.8, 0.26, 1) both;
    animation-delay: var(--d, 0s);
}

/* ---------- Services: plan finder ---------- */

.v2s-finder__card {
    max-width: 860px;
    margin: clamp(36px, 5vw, 52px) auto 0;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: clamp(22px, 3.4vw, 34px);
}
.v2s-finder__q + .v2s-finder__q { margin-top: 24px; }
.v2s-finder__label {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--ink);
    margin-bottom: 12px;
}
.v2s-finder__opts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}
.v2s-finder__opts--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.v2 .v2s-finder__opt {
    padding: 13px 14px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--paper);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--slate);
    text-align: center;
    transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}
.v2 .v2s-finder__opt:hover { border-color: #B9C3CC; color: var(--ink); }
.v2 .v2s-finder__opt.is-sel {
    background: var(--go-tint);
    border-color: rgba(11, 138, 71, 0.45);
    color: var(--go-deep);
    box-shadow: inset 0 0 0 1px rgba(11, 138, 71, 0.45);
}
.v2 .v2s-finder__go { width: 100%; margin-top: 26px; height: 50px; }

.v2s-finder__result { margin-top: 24px; border-top: 1px solid var(--line); padding-top: 24px; }
.v2s-finder__result.is-in { animation: v2Rise 0.45s cubic-bezier(0.22, 0.8, 0.26, 1) both; }
.v2s-finder__rec {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px 28px;
    flex-wrap: wrap;
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.22);
    border-radius: 16px;
    padding: 20px 24px;
}
.v2s-finder__rec-main { min-width: 0; max-width: 460px; }
.v2s-finder__rec-main .v2-mono { color: var(--go-deep); }
.v2s-finder__rec-name {
    display: block;
    margin-top: 4px;
    font-family: var(--font-display);
    font-size: 24px;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--ink);
}
.v2s-finder__rec-why { margin-top: 6px; font-size: 13.5px; line-height: 1.6; color: var(--slate); }
.v2s-finder__rec-side { text-align: center; }
.v2s-finder__rec-price {
    display: block;
    font-family: var(--font-display);
    font-size: 15px;
    font-weight: 700;
    color: var(--ink);
}
.v2s-finder__rec-price b {
    font-size: 32px;
    letter-spacing: -0.02em;
    font-variant-numeric: tabular-nums;
}
.v2s-finder__rec-actions { display: flex; gap: 10px; margin-top: 12px; flex-wrap: wrap; justify-content: center; }

.v2s-finder.v2-anim .v2s-finder__card { opacity: 0; transform: translateY(18px); }
.v2s-finder.v2-anim.is-in .v2s-finder__card {
    opacity: 1;
    transform: none;
    transition: opacity 0.65s cubic-bezier(0.22, 0.8, 0.26, 1), transform 0.65s cubic-bezier(0.22, 0.8, 0.26, 1);
}

/* ---------- Services: packages (plans reuse .v2-plans) ---------- */

.v2s-plans.v2-anim .v2-plan { opacity: 0; }
.v2s-plans.v2-anim.is-in .v2-plan {
    animation: v2RiseCard 0.6s cubic-bezier(0.22, 0.8, 0.26, 1) both;
}
.v2s-plans.v2-anim.is-in .v2-plan:nth-child(2) { animation-delay: 0.08s; }
.v2s-plans.v2-anim.is-in .v2-plan:nth-child(3) { animation-delay: 0.16s; }

.v2s-tablewrap {
    max-width: 1020px;
    margin: clamp(32px, 4.5vw, 44px) auto 0;
    border: 1px solid var(--line);
    border-radius: 16px;
    overflow-x: auto;
    background: var(--paper);
    -webkit-overflow-scrolling: touch;
}
.v2s-table {
    width: 100%;
    min-width: 620px;
    border-collapse: collapse;
}
.v2s-table th,
.v2s-table td {
    padding: 14px 18px;
    text-align: center;
    border-bottom: 1px solid var(--line);
    font-size: 14px;
}
.v2s-table thead th {
    font-family: var(--font-mono);
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--faint);
    background: var(--mist);
}
.v2s-table thead th.is-feat,
.v2s-table td.is-feat { background: var(--go-tint); }
.v2s-table thead th.is-feat { color: var(--go-deep); }
.v2s-table tbody th {
    text-align: left;
    font-weight: 500;
    color: var(--slate);
    background: var(--paper);
}
.v2s-table tbody td { font-weight: 600; color: var(--ink); font-variant-numeric: tabular-nums; }
.v2s-table tr:last-child th,
.v2s-table tr:last-child td { border-bottom: 0; }
.v2s-table__yes { width: 18px; height: 18px; margin-inline: auto; color: var(--go); }
.v2s-table__no { width: 16px; height: 16px; margin-inline: auto; color: #C3CBD3; }

/* ---------- Services: personal vs organization ---------- */

.v2s-pvo__wrap { max-width: 940px; margin: clamp(32px, 4.5vw, 46px) auto 0; }
.v2s-pvo__tabs {
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 22px;
}
.v2 .v2s-pvo__tab {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 11px 20px;
    border-radius: 999px;
    border: 1px solid var(--line);
    background: var(--paper);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--slate);
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.v2 .v2s-pvo__tab svg { width: 17px; height: 17px; }
.v2 .v2s-pvo__tab:hover { color: var(--ink); border-color: #B9C3CC; }
.v2 .v2s-pvo__tab.is-active {
    background: var(--ink);
    border-color: var(--ink);
    color: #FFFFFF;
}
.v2s-pvo__panel.is-active { animation: v2Rise 0.4s cubic-bezier(0.22, 0.8, 0.26, 1); }
.v2s-pvo__card {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 32px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: clamp(22px, 3vw, 30px);
}
.v2s-pvo__col h3 {
    display: flex;
    align-items: center;
    gap: 9px;
    font-family: var(--font-display);
    font-size: 16px;
    font-weight: 600;
    letter-spacing: -0.015em;
    color: var(--ink);
    margin-bottom: 13px;
}
.v2s-pvo__col h3 svg { width: 19px; height: 19px; flex: 0 0 auto; color: var(--slate); }
.v2s-pvo__col ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 10px;
}
.v2s-pvo__col ul li {
    position: relative;
    padding-left: 26px;
    font-size: 14px;
    line-height: 1.55;
    color: var(--slate);
}
.v2s-pvo__col ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 2px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--go-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M6 10.4l2.5 2.5 5.5-6.2' stroke='%230B8A47' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/10px 10px no-repeat;
}
.v2s-pvo__col--slow ul li::before {
    background: var(--mist) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Ccircle cx='10' cy='10' r='6.6' stroke='%2355616D' stroke-width='1.8'/%3E%3Cpath d='M10 6.8V10l2.2 1.5' stroke='%2355616D' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center/12px 12px no-repeat;
}
.v2s-pvo__verdict {
    grid-column: 1 / -1;
    display: flex;
    gap: 12px;
    align-items: flex-start;
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.22);
    border-radius: 14px;
    padding: 16px 20px;
    font-size: 14px;
    line-height: 1.65;
    color: var(--ink);
}
.v2s-pvo__verdict svg { width: 19px; height: 19px; flex: 0 0 auto; margin-top: 2px; color: var(--go-deep); }
.v2s-pvo__verdict a {
    color: var(--go-deep);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.v2s-pvo.v2-anim .v2s-pvo__wrap { opacity: 0; transform: translateY(18px); }
.v2s-pvo.v2-anim.is-in .v2s-pvo__wrap {
    opacity: 1;
    transform: none;
    transition: opacity 0.65s cubic-bezier(0.22, 0.8, 0.26, 1), transform 0.65s cubic-bezier(0.22, 0.8, 0.26, 1);
}

/* ---------- Services: how it works ---------- */

.v2s-how__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: clamp(36px, 5vw, 52px);
}
.v2s-how__step {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 26px 24px;
}
.v2s-how__n {
    display: inline-flex;
    padding: 5px 11px;
    border-radius: 8px;
    background: var(--mist);
    border: 1px solid var(--line);
    margin-bottom: 16px;
}
.v2s-how__step h3 {
    font-family: var(--font-display);
    font-size: 17.5px;
    font-weight: 600;
    letter-spacing: -0.015em;
    color: var(--ink);
    margin-bottom: 8px;
}
.v2s-how__step p { font-size: 14px; line-height: 1.68; color: var(--slate); }
.v2s-how__more { text-align: center; margin-top: 30px; }
.v2s-how__more a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 14.5px;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--go-deep);
    text-decoration: underline;
    text-underline-offset: 3px;
}
.v2s-how__more svg { width: 16px; height: 16px; transition: transform 0.18s ease; }
.v2s-how__more a:hover svg { transform: translateX(3px); }

.v2s-how.v2-anim .v2s-how__step { opacity: 0; }
.v2s-how.v2-anim.is-in .v2s-how__step {
    animation: v2RiseCard 0.6s cubic-bezier(0.22, 0.8, 0.26, 1) both;
    animation-delay: var(--d, 0s);
}

/* ---------- Services: QA coming soon (dark moment) ---------- */

.v2s-qa__panel {
    position: relative;
    display: grid;
    grid-template-columns: 1.25fr 1fr;
    gap: clamp(28px, 4vw, 44px);
    align-items: center;
    background: var(--ink);
    border-radius: 24px;
    padding: clamp(28px, 4vw, 46px);
    overflow: hidden;
}
.v2s-qa__panel::before {
    content: "";
    position: absolute;
    right: -80px;
    top: -80px;
    width: 340px;
    height: 340px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(62, 207, 129, 0.16), transparent 65%);
    pointer-events: none;
}
.v2s-qa__copy { position: relative; min-width: 0; }
.v2s-qa__chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.14);
    color: #A9B4BF;
}
.v2s-qa__chip i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #3ECF81;
    animation: v2Pulse 2.4s infinite;
}
.v2s-qa__copy h2 {
    margin-top: 16px;
    font-family: var(--font-display);
    font-size: clamp(24px, 2.8vw, 30px);
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.15;
    color: #FFFFFF;
}
.v2s-qa__copy > p {
    margin-top: 12px;
    max-width: 52ch;
    font-size: 15px;
    line-height: 1.7;
    color: #A9B4BF;
}
.v2s-qa__tags { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 18px; }
.v2s-qa__tags span {
    padding: 7px 13px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    font-size: 12.5px;
    font-weight: 500;
    color: #C7CFD7;
}
.v2s-qa__box {
    position: relative;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 18px;
    padding: 24px;
    text-align: center;
}
.v2s-qa__box h3 {
    font-family: var(--font-display);
    font-size: 18px;
    font-weight: 600;
    letter-spacing: -0.015em;
    color: #FFFFFF;
}
.v2s-qa__box p { margin-top: 5px; font-size: 13px; color: #93A0AC; }
.v2 .v2s-qa__wa {
    width: 100%;
    margin-top: 16px;
    background: #25D366;
    color: #FFFFFF;
}
.v2 .v2s-qa__wa:hover {
    background: #1EBE5A;
    transform: translateY(-1px);
    box-shadow: 0 10px 22px -8px rgba(37, 211, 102, 0.5);
}
.v2s-qa__box .v2-btn--ghostdark { width: 100%; margin-top: 10px; }

.v2s-qa.v2-anim .v2s-qa__panel { opacity: 0; transform: translateY(18px); }
.v2s-qa.v2-anim.is-in .v2s-qa__panel {
    opacity: 1;
    transform: none;
    transition: opacity 0.65s cubic-bezier(0.22, 0.8, 0.26, 1), transform 0.65s cubic-bezier(0.22, 0.8, 0.26, 1);
}

/* ---------- Services: proof (KPIs reuse .v2-stat) ---------- */

.v2s-kpis {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-top: clamp(36px, 5vw, 52px);
}
.v2s-proof__reviews {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: clamp(30px, 4vw, 40px);
}
.v2s-review {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 20px 22px;
}
.v2s-review > p {
    margin-top: 12px;
    font-size: 14px;
    line-height: 1.66;
    color: var(--slate);
}
.v2s-review footer {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 14px;
    padding-top: 13px;
    border-top: 1px solid var(--mist);
}
.v2s-review__av {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--mist);
    font-size: 12.5px;
    font-weight: 700;
    color: var(--slate);
    flex: 0 0 auto;
}
.v2s-review__id { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.v2s-review__id b { font-size: 13.5px; font-weight: 600; letter-spacing: -0.01em; color: var(--ink); }
.v2s-review__id i { font-style: normal; font-size: 11.5px; color: var(--faint); }
.v2s-proof__ratingline { text-align: center; margin-top: 18px; }

.v2s-eeat {
    display: flex;
    align-items: center;
    gap: 22px;
    margin-top: clamp(30px, 4vw, 40px);
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: 26px 30px;
}
.v2s-eeat__ic {
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    flex: 0 0 auto;
    border-radius: 15px;
    background: var(--ink);
    color: #FFFFFF;
}
.v2s-eeat__ic svg { width: 27px; height: 27px; }
.v2s-eeat__body { min-width: 0; }
.v2s-eeat__body h3 {
    font-family: var(--font-display);
    font-size: 18px;
    font-weight: 600;
    letter-spacing: -0.015em;
    color: var(--ink);
    margin-bottom: 6px;
}
.v2s-eeat__body p { font-size: 14px; line-height: 1.65; color: var(--slate); }
.v2s-eeat__body a {
    color: var(--go-deep);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.v2s-eeat__links {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-left: auto;
    flex: 0 0 auto;
}
.v2s-eeat__links a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13.5px;
    font-weight: 500;
    color: var(--slate);
    white-space: nowrap;
    transition: color 0.15s ease;
}
.v2s-eeat__links a:hover { color: var(--ink); }
.v2s-eeat__links svg { width: 16px; height: 16px; color: var(--go); }

.v2s-proof.v2-anim .v2-stat,
.v2s-proof.v2-anim .v2s-review,
.v2s-proof.v2-anim .v2s-eeat { opacity: 0; }
.v2s-proof.v2-anim.is-in .v2-stat,
.v2s-proof.v2-anim.is-in .v2s-review,
.v2s-proof.v2-anim.is-in .v2s-eeat {
    animation: v2RiseCard 0.6s cubic-bezier(0.22, 0.8, 0.26, 1) both;
    animation-delay: var(--d, 0s);
}
.v2s-proof.v2-anim.is-in .v2s-eeat { animation-delay: 0.28s; }

/* ---------- Services: responsive ---------- */

@media (max-width: 960px) {
    .v2s-flag__grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
    .v2s-sim { position: static; max-width: 560px; margin-inline: auto; }
    .v2s-diy__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .v2s-inc__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .v2s-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .v2s-proof__reviews { grid-template-columns: minmax(0, 1fr); max-width: 560px; margin-inline: auto; }
    .v2s-qa__panel { grid-template-columns: minmax(0, 1fr); }
    .v2s-eeat { flex-wrap: wrap; }
    .v2s-eeat__links { flex-direction: row; flex-wrap: wrap; gap: 14px; margin-left: 0; width: 100%; }
}
@media (max-width: 900px) {
    .v2s-how__grid { grid-template-columns: minmax(0, 1fr); max-width: 560px; margin-inline: auto; }
    .v2s-pvo__card { grid-template-columns: minmax(0, 1fr); }
    .v2s-table tbody th,
    .v2s-table thead th:first-child {
        position: sticky;
        left: 0;
        z-index: 1;
        background: var(--paper);
        box-shadow: 1px 0 0 var(--line);
    }
    .v2s-table thead th:first-child { background: var(--mist); }
}
@media (max-width: 640px) {
    .v2s-flag__copy .v2-eyebrow,
    .v2s-flag__copy .v2-h2 { text-align: center; }
    .v2s-flag__p { font-size: 14.5px; }
    .v2s-flag__p:first-of-type { font-size: 15px; }
    .v2s-flag__facts li { font-size: 13.5px; }
    .v2s-sim { padding: 18px; border-radius: 18px; }
    .v2s-sim__testers { gap: 7px; }
    .v2s-diy__grid { grid-template-columns: minmax(0, 1fr); max-width: 480px; margin-inline: auto; gap: 12px; }
    .v2s-diy__card { padding: 20px 18px; }
    .v2s-note { flex-direction: column; padding: 18px; }
    .v2s-inc__grid { grid-template-columns: minmax(0, 1fr); max-width: 480px; margin-inline: auto; gap: 12px; }
    .v2s-inc__card { padding: 20px 18px; }
    .v2s-finder__card { padding: 20px 16px; border-radius: 18px; }
    .v2s-finder__opts,
    .v2s-finder__opts--two { grid-template-columns: minmax(0, 1fr); }
    .v2 .v2s-finder__opt { padding: 12px; }
    .v2 .v2s-finder__go { height: 48px; }
    .v2s-finder__rec { padding: 18px; }
    .v2s-finder__rec-side { width: 100%; }
    .v2s-pvo__card { padding: 18px 16px; gap: 20px; }
    .v2 .v2s-pvo__tab { padding: 10px 15px; font-size: 13px; }
    .v2s-qa__panel { padding: 24px 20px; border-radius: 20px; }
    .v2s-qa__box { padding: 20px 16px; }
    .v2 .v2s-qa__wa,
    .v2s-qa__box .v2-btn--ghostdark { height: 48px; }
    .v2s-kpis { grid-template-columns: minmax(0, 1fr); max-width: 420px; margin-inline: auto; gap: 12px; }
    .v2s-review { padding: 18px; }
    .v2s-eeat { padding: 20px 18px; gap: 14px; }
    .v2s-eeat__links { gap: 10px 16px; }
    .v2s-how__step { padding: 20px 18px; }
}
@media (max-width: 380px) {
    .v2s-sim__head { flex-wrap: wrap; gap: 6px; }
    .v2s-sim__testers { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 5px; }
    .v2s-finder__rec-actions .v2-btn { width: 100%; }
}

/* ============================================================
   ABOUT US V2 (/about-us) - page-specific blocks (2026-07-04)
   Reuses V2 primitives, the hero copy-column classes, the
   services crumbs/KPI/review blocks; About-specific structures
   live here under the v2a- prefix.
   ============================================================ */

/* Fact Sheet: the company as a checkable document */
.v2a-fact {
    width: min(440px, 100%);
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(10, 16, 23, 0.05), 0 28px 56px -20px rgba(10, 16, 23, 0.16);
}
.v2a-fact__bar {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 16px;
    border-bottom: 1px solid var(--line);
}
.v2a-fact__bar .v2-mono { letter-spacing: 0.06em; text-transform: none; }
.v2a-fact__dots { display: flex; gap: 6px; }
.v2a-fact__dots i { width: 10px; height: 10px; border-radius: 50%; background: #D9DFE5; }
.v2a-fact__body { padding: 20px; }
.v2a-fact__id {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--line);
}
.v2a-fact__name b {
    display: block;
    font-family: var(--font-display);
    font-size: 17px;
    font-weight: 700;
    letter-spacing: -0.015em;
    color: var(--ink);
}
.v2a-fact__name span { display: block; margin-top: 1px; font-size: 12.5px; color: var(--slate); }
.v2a-fact__rows { margin: 6px 0 0; }
.v2a-fact__rows > div {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    padding: 10px 0;
    border-bottom: 1px solid var(--mist);
}
.v2a-fact__rows > div:last-child { border-bottom: 0; }
.v2a-fact__rows dt { flex: 0 0 auto; }
.v2a-fact__rows dd {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--ink);
    text-align: right;
    font-variant-numeric: tabular-nums;
}
.v2a-fact__foot {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 14px;
    padding: 11px 14px;
    border-radius: 12px;
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.22);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--go-deep);
}
.v2a-fact__foot svg { width: 15px; height: 15px; flex: 0 0 auto; }
.v2a-fact.is-play { animation: v2CardIn 0.6s cubic-bezier(0.22, 0.8, 0.26, 1) both; }
.v2a-fact.is-play .v2a-fact__foot { animation: v2Rise 0.5s cubic-bezier(0.22, 0.8, 0.26, 1) 0.7s both; }

/* Story + timeline */
.v2a-story__copy {
    max-width: 720px;
    margin: clamp(30px, 4vw, 40px) auto 0;
}
.v2a-story__copy p {
    font-size: 16px;
    line-height: 1.75;
    color: var(--slate);
}
.v2a-story__copy p + p { margin-top: 16px; }
.v2a-story__copy b { color: var(--ink); font-weight: 600; }

.v2a-line {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin: clamp(40px, 5.5vw, 56px) 0 0;
    padding: 24px 0 0;
    position: relative;
}
.v2a-line::before {
    content: "";
    position: absolute;
    top: 29px;
    left: 4%;
    right: 4%;
    height: 2px;
    background: var(--line);
}
.v2a-line__node { position: relative; text-align: center; padding-top: 22px; }
.v2a-line__dot {
    position: absolute;
    top: -1px;
    left: 50%;
    transform: translateX(-50%);
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: var(--paper);
    border: 3px solid #C3CBD3;
}
.v2a-line__dot.is-now { border-color: var(--go); background: var(--go); box-shadow: 0 0 0 4px var(--go-tint); }
.v2a-line__node .v2-mono { display: block; }
.v2a-line__node b {
    display: block;
    margin-top: 7px;
    font-family: var(--font-display);
    font-size: 15.5px;
    font-weight: 600;
    letter-spacing: -0.015em;
    line-height: 1.3;
    color: var(--ink);
}
.v2a-line__sub { display: block; margin-top: 5px; font-size: 12.5px; color: var(--faint); }

.v2a-story.v2-anim .v2a-story__copy,
.v2a-story.v2-anim .v2a-line__node { opacity: 0; transform: translateY(14px); }
.v2a-story.v2-anim.is-in .v2a-story__copy,
.v2a-story.v2-anim.is-in .v2a-line__node {
    opacity: 1;
    transform: none;
    transition: opacity 0.6s cubic-bezier(0.22, 0.8, 0.26, 1), transform 0.6s cubic-bezier(0.22, 0.8, 0.26, 1);
    transition-delay: var(--d, 0s);
}

/* What we do */
.v2a-what__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: clamp(36px, 5vw, 52px);
}
.v2a-what__card {
    display: flex;
    flex-direction: column;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 26px 24px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.v2a-what__card:hover {
    border-color: #C9D2DA;
    box-shadow: 0 16px 36px -20px rgba(10, 16, 23, 0.2);
}
.v2a-what__ic {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 13px;
    background: var(--go-tint);
    color: var(--go);
    margin-bottom: 16px;
}
.v2a-what__ic svg { width: 23px; height: 23px; }
.v2a-what__card h3 {
    font-family: var(--font-display);
    font-size: 18px;
    font-weight: 600;
    letter-spacing: -0.015em;
    color: var(--ink);
    margin-bottom: 8px;
}
.v2a-what__card p { font-size: 14px; line-height: 1.65; color: var(--slate); }
.v2a-what__card a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: auto;
    padding-top: 16px;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--go-deep);
}
.v2a-what__card a svg { width: 15px; height: 15px; transition: transform 0.18s ease; }
.v2a-what__card a:hover svg { transform: translateX(3px); }

.v2a-what.v2-anim .v2a-what__card { opacity: 0; }
.v2a-what.v2-anim.is-in .v2a-what__card {
    animation: v2RiseCard 0.6s cubic-bezier(0.22, 0.8, 0.26, 1) both;
    animation-delay: var(--d, 0s);
}

/* Proof: stars viz inside the shared stat tile */
.v2a-stat__stars { display: flex; align-items: center; }
.v2a-stat__stars .v2-stars svg { width: 17px; height: 17px; }

.v2a-proof.v2-anim .v2-stat,
.v2a-proof.v2-anim .v2s-review { opacity: 0; }
.v2a-proof.v2-anim.is-in .v2-stat,
.v2a-proof.v2-anim.is-in .v2s-review {
    animation: v2RiseCard 0.6s cubic-bezier(0.22, 0.8, 0.26, 1) both;
    animation-delay: var(--d, 0s);
}
.v2s-proof__ratingline a { color: var(--slate); text-decoration: underline; text-underline-offset: 3px; }
.v2s-proof__ratingline a:hover { color: var(--ink); }

/* How we work (values) */
.v2a-values__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    max-width: 940px;
    margin: clamp(36px, 5vw, 52px) auto 0;
}
.v2a-values__card {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 26px 24px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.v2a-values__card:hover {
    border-color: #C9D2DA;
    box-shadow: 0 16px 36px -20px rgba(10, 16, 23, 0.2);
}
.v2a-values__ic {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: var(--mist);
    color: var(--slate);
    margin-bottom: 15px;
}
.v2a-values__ic svg { width: 22px; height: 22px; }
.v2a-values__card h3 {
    font-family: var(--font-display);
    font-size: 17.5px;
    font-weight: 600;
    letter-spacing: -0.015em;
    color: var(--ink);
    margin-bottom: 8px;
}
.v2a-values__card p { font-size: 14px; line-height: 1.68; color: var(--slate); }
.v2a-values__card a {
    color: var(--go-deep);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.v2a-values.v2-anim .v2a-values__card { opacity: 0; }
.v2a-values.v2-anim.is-in .v2a-values__card {
    animation: v2RiseCard 0.6s cubic-bezier(0.22, 0.8, 0.26, 1) both;
    animation-delay: var(--d, 0s);
}

/* Founder */
.v2a-founder__card {
    display: flex;
    align-items: center;
    gap: clamp(24px, 3.5vw, 40px);
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: clamp(24px, 3.4vw, 38px);
    max-width: 880px;
    margin-inline: auto;
}
.v2a-founder__photo {
    width: 120px;
    height: 120px;
    border-radius: 24px;
    object-fit: cover;
    flex: 0 0 auto;
    border: 1px solid var(--line);
}
.v2a-founder__body { min-width: 0; }
.v2a-founder__body h2 {
    margin-top: 10px;
    font-family: var(--font-display);
    font-size: clamp(21px, 2.4vw, 26px);
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--ink);
}
.v2a-founder__role { display: block; margin-top: 5px; }
.v2a-founder__bio {
    margin-top: 12px;
    font-size: 14.5px;
    line-height: 1.7;
    color: var(--slate);
    max-width: 56ch;
}
.v2a-founder__actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 18px; }
.v2a-founder .v2-guarantee { margin-top: clamp(26px, 3.5vw, 36px); }

.v2a-founder.v2-anim .v2a-founder__card,
.v2a-founder.v2-anim .v2-guarantee { opacity: 0; transform: translateY(16px); }
.v2a-founder.v2-anim.is-in .v2a-founder__card,
.v2a-founder.v2-anim.is-in .v2-guarantee {
    opacity: 1;
    transform: none;
    transition: opacity 0.6s cubic-bezier(0.22, 0.8, 0.26, 1), transform 0.6s cubic-bezier(0.22, 0.8, 0.26, 1);
}
.v2a-founder.v2-anim.is-in .v2-guarantee { transition-delay: 0.12s; }

/* About responsive */
@media (max-width: 960px) {
    .v2a-what__grid { grid-template-columns: minmax(0, 1fr); max-width: 560px; margin-inline: auto; }
    .v2a-line { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 18px; padding-top: 0; }
    .v2a-line::before { display: none; }
    .v2a-line__node { text-align: left; padding-top: 0; padding-left: 24px; }
    .v2a-line__dot { left: 0; top: 3px; transform: none; }
}
@media (max-width: 640px) {
    .v2a-story__copy p { font-size: 14.5px; }
    .v2a-line { grid-template-columns: minmax(0, 1fr); gap: 20px; max-width: 420px; margin-inline: auto; }
    .v2a-what__card { padding: 20px 18px; }
    .v2a-values__grid { grid-template-columns: minmax(0, 1fr); max-width: 480px; gap: 12px; }
    .v2a-values__card { padding: 20px 18px; }
    .v2a-founder__card { flex-direction: column; align-items: flex-start; text-align: left; padding: 22px 18px; }
    .v2a-founder__photo { width: 96px; height: 96px; border-radius: 20px; }
    .v2a-founder__actions { width: 100%; }
    .v2a-founder__actions .v2-btn { flex: 1 1 100%; height: 48px; }
    .v2 .v2a-founder__actions .v2-faq__wa { margin-left: 0; }
    .v2a-fact__body { padding: 16px; }
    .v2a-fact__rows dd { font-size: 13px; }
}

/* ============================================================
   REFUND POLICY V2 (/refund-policy) - page blocks (2026-07-04)
   The pre-checkout trust page. Reuses V2 primitives, crumbs,
   and the FAQ recipe; refund-specific structures under v2r-.
   ============================================================ */

/* Hero: centered promise + the two outcome cards */
.v2r-hero__in {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.v2r-hero__crumbs { justify-content: center; }
.v2r-hero__title { max-width: 780px; }
.v2r-hero__sub { max-width: 640px; margin-inline: auto; }
.v2r-hero__options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    width: min(640px, 100%);
    margin-top: 34px;
}
.v2r-opt {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 20px;
    text-align: center;
}
.v2r-opt__ic {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    margin: 0 auto 12px;
    border-radius: 12px;
    background: var(--go-tint);
    color: var(--go);
}
.v2r-opt__ic svg { width: 22px; height: 22px; }
.v2r-opt b {
    display: block;
    font-family: var(--font-display);
    font-size: 16.5px;
    font-weight: 700;
    letter-spacing: -0.015em;
    color: var(--ink);
}
.v2r-opt p { margin-top: 6px; font-size: 13px; line-height: 1.55; color: var(--slate); }
.v2r-hero__choice { margin-top: 12px; }
.v2r-hero__options.is-play .v2r-opt { animation: v2RiseCard 0.55s cubic-bezier(0.22, 0.8, 0.26, 1) 0.25s both; }
.v2r-hero__options.is-play .v2r-opt:last-child { animation-delay: 0.35s; }

.v2r-hero__calm {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    width: min(640px, 100%);
    margin-top: 22px;
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.22);
    border-radius: 14px;
    padding: 14px 18px;
    text-align: left;
}
.v2r-hero__calm svg { width: 18px; height: 18px; flex: 0 0 auto; margin-top: 2px; }
.v2r-hero__calm p { font-size: 13.5px; line-height: 1.6; color: var(--go-deep); }
.v2r-hero__calm b { color: var(--go-deep); font-weight: 700; }
.v2r-hero__fine { margin-top: 26px; }

/* Flow: the four steps */
.v2r-steps {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin: clamp(36px, 5vw, 52px) 0 0;
    padding: 0;
}
.v2r-step {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 22px 20px;
}
.v2r-step__n {
    display: inline-flex;
    padding: 5px 11px;
    border-radius: 8px;
    background: var(--mist);
    border: 1px solid var(--line);
    margin-bottom: 14px;
}
.v2r-step h3 {
    font-family: var(--font-display);
    font-size: 16px;
    font-weight: 600;
    letter-spacing: -0.015em;
    line-height: 1.3;
    color: var(--ink);
    margin-bottom: 8px;
}
.v2r-step p { font-size: 13.5px; line-height: 1.62; color: var(--slate); }
.v2r-step--last { border-color: rgba(11, 138, 71, 0.35); }
.v2r-step--last .v2r-step__n { background: var(--go-tint); border-color: rgba(11, 138, 71, 0.22); color: var(--go-deep); }
.v2r-step__chips {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 12px;
}
.v2r-step__chips i {
    font-style: normal;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: -0.005em;
    color: #FFFFFF;
    background: var(--go);
    border-radius: 999px;
    padding: 5px 12px;
}
.v2r-step__chips em {
    font-style: normal;
    font-family: var(--font-mono);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--faint);
}
.v2r-flow.v2-anim .v2r-step { opacity: 0; }
.v2r-flow.v2-anim.is-in .v2r-step {
    animation: v2RiseCard 0.6s cubic-bezier(0.22, 0.8, 0.26, 1) both;
    animation-delay: var(--d, 0s);
}

/* Options in detail */
.v2r-options__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    max-width: 940px;
    margin: clamp(36px, 5vw, 52px) auto 0;
}
.v2r-card {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 26px 24px;
}
.v2r-card__head {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}
.v2r-card__ic {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: var(--go-tint);
    color: var(--go);
    flex: 0 0 auto;
}
.v2r-card__ic svg { width: 22px; height: 22px; }
.v2r-card__head h3 {
    font-family: var(--font-display);
    font-size: 18px;
    font-weight: 600;
    letter-spacing: -0.015em;
    color: var(--ink);
}
.v2r-card__chip {
    padding: 4px 11px;
    border-radius: 999px;
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.22);
    color: var(--go-deep);
    font-size: 11px;
    font-weight: 700;
}
.v2r-card__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 10px;
}
.v2r-card__list li {
    position: relative;
    padding-left: 26px;
    font-size: 14.5px;
    line-height: 1.6;
    color: var(--slate);
}
.v2r-card__list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 3px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--go-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M6 10.4l2.5 2.5 5.5-6.2' stroke='%230B8A47' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/10px 10px no-repeat;
}
.v2r-card__list b { color: var(--ink); font-weight: 600; }
.v2r-options.v2-anim .v2r-card { opacity: 0; }
.v2r-options.v2-anim.is-in .v2r-card {
    animation: v2RiseCard 0.6s cubic-bezier(0.22, 0.8, 0.26, 1) both;
}
.v2r-options.v2-anim.is-in .v2r-card:last-child { animation-delay: 0.1s; }

/* Shared quiet note (fairness valve, most-choose-retest) */
.v2r-note {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    max-width: 860px;
    margin: 26px auto 0;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 16px 20px;
}
.v2r-note svg { width: 18px; height: 18px; flex: 0 0 auto; margin-top: 2px; color: var(--slate); }
.v2r-note p { font-size: 14px; line-height: 1.68; color: var(--slate); }
.v2r-note b { color: var(--ink); font-weight: 600; }

/* Request: the compose window */
.v2r-mail {
    max-width: 720px;
    margin: clamp(36px, 5vw, 52px) auto 0;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(10, 16, 23, 0.05), 0 28px 56px -20px rgba(10, 16, 23, 0.16);
}
.v2r-mail__bar {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 16px;
    border-bottom: 1px solid var(--line);
}
.v2r-mail__dots { display: flex; gap: 6px; }
.v2r-mail__dots i { width: 10px; height: 10px; border-radius: 50%; background: #D9DFE3; }
.v2r-mail__row {
    display: flex;
    align-items: baseline;
    gap: 14px;
    padding: 12px 20px;
    border-bottom: 1px solid var(--mist);
}
.v2r-mail__row .v2-mono { flex: 0 0 56px; }
.v2r-mail__row b { font-size: 14.5px; font-weight: 600; letter-spacing: -0.01em; color: var(--ink); overflow-wrap: anywhere; }
.v2r-mail__body { padding: 20px; }
.v2r-mail__hint { font-size: 13.5px; font-weight: 600; color: var(--ink); margin-bottom: 14px; }
.v2r-mail__body ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 14px;
}
.v2r-mail__body li {
    position: relative;
    padding-left: 28px;
}
.v2r-mail__body li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 2px;
    width: 17px;
    height: 17px;
    border-radius: 50%;
    background: var(--go-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M6 10.4l2.5 2.5 5.5-6.2' stroke='%230B8A47' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/10px 10px no-repeat;
}
.v2r-mail__body li b { display: block; font-size: 14.5px; font-weight: 600; letter-spacing: -0.01em; color: var(--ink); }
.v2r-mail__body li span { display: block; margin-top: 3px; font-size: 13px; line-height: 1.6; color: var(--slate); }
.v2r-mail__body code { text-transform: none; letter-spacing: 0.04em; background: var(--mist); border-radius: 6px; padding: 2px 7px; color: var(--slate); }
.v2 .v2r-mail__send { width: 100%; margin-top: 18px; height: 48px; }

.v2r-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    max-width: 860px;
    margin: 26px auto 0;
}
.v2r-facts__tile {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 16px 18px;
    text-align: center;
}
.v2r-facts__tile > b {
    display: block;
    margin-top: 8px;
    font-family: var(--font-display);
    font-size: 18px;
    font-weight: 700;
    letter-spacing: -0.02em;
    font-variant-numeric: tabular-nums;
    color: var(--ink);
}
.v2r-facts__sub { display: block; margin-top: 4px; font-size: 12px; color: var(--faint); }
.v2r-request.v2-anim .v2r-mail,
.v2r-request.v2-anim .v2r-facts__tile { opacity: 0; transform: translateY(16px); }
.v2r-request.v2-anim.is-in .v2r-mail,
.v2r-request.v2-anim.is-in .v2r-facts__tile {
    opacity: 1;
    transform: none;
    transition: opacity 0.6s cubic-bezier(0.22, 0.8, 0.26, 1), transform 0.6s cubic-bezier(0.22, 0.8, 0.26, 1);
}
.v2r-request.v2-anim.is-in .v2r-facts__tile { transition-delay: 0.12s; }

/* Coverage: covered vs not covered */
.v2r-cover__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    max-width: 1020px;
    margin: clamp(36px, 5vw, 52px) auto 0;
}
.v2r-cover__col {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 26px 24px;
}
.v2r-cover__head {
    display: flex;
    align-items: center;
    gap: 9px;
    font-family: var(--font-display);
    font-size: 16.5px;
    font-weight: 600;
    letter-spacing: -0.015em;
    color: var(--ink);
    margin-bottom: 14px;
}
.v2r-cover__head svg { width: 19px; height: 19px; flex: 0 0 auto; }
.v2r-cover__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 12px;
}
.v2r-cover__list li {
    position: relative;
    padding-left: 26px;
    font-size: 14px;
    line-height: 1.62;
    color: var(--slate);
}
.v2r-cover__list b { color: var(--ink); font-weight: 600; }
.v2r-cover__list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 3px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
}
.v2r-cover__list--yes li::before {
    background: var(--go-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M6 10.4l2.5 2.5 5.5-6.2' stroke='%230B8A47' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/10px 10px no-repeat;
}
.v2r-cover__list--no li::before {
    background: var(--mist) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M6.5 6.5l7 7m0-7-7 7' stroke='%239AA6B2' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") center/9px 9px no-repeat;
}
.v2r-cover.v2-anim .v2r-cover__col { opacity: 0; }
.v2r-cover.v2-anim.is-in .v2r-cover__col {
    animation: v2RiseCard 0.6s cubic-bezier(0.22, 0.8, 0.26, 1) both;
}
.v2r-cover.v2-anim.is-in .v2r-cover__col:last-child { animation-delay: 0.1s; }

/* CTA extras: terms link + legal line */
.v2r-cta__terms { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.v2r-cta__terms:hover { color: #A9B4BF; }
.v2r-cta__legal {
    margin-top: 24px;
    font-size: 10.5px;
    color: #6E7B88;
}
.v2r-cta__legal span { white-space: nowrap; }
.v2r-cta__legal a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }

/* Refund responsive */
@media (max-width: 960px) {
    .v2r-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .v2r-options__grid { grid-template-columns: minmax(0, 1fr); max-width: 560px; }
    .v2r-cover__grid { grid-template-columns: minmax(0, 1fr); max-width: 620px; }
}
@media (max-width: 640px) {
    .v2r-hero__options { grid-template-columns: minmax(0, 1fr); gap: 10px; }
    .v2r-opt { padding: 16px; }
    .v2r-steps { grid-template-columns: minmax(0, 1fr); max-width: 480px; margin-inline: auto; gap: 12px; }
    .v2r-step { padding: 18px 16px; }
    .v2r-card { padding: 20px 18px; }
    .v2r-cover__col { padding: 20px 18px; }
    .v2r-facts { grid-template-columns: minmax(0, 1fr); max-width: 420px; }
    .v2r-mail__row { padding: 11px 16px; }
    .v2r-mail__body { padding: 16px; }
    .v2r-hero__calm { padding: 13px 15px; }
    .v2r-cta__legal span { white-space: normal; }
}

/* ============================================================
   LEGAL PAGES V2 (/terms-conditions + /privacy-policy) - shared
   document layout (2026-07-04): centered hero with fact chips,
   sticky scrollspy table of contents beside an always-visible
   numbered document. One v2l- block serves both pages.
   ============================================================ */

/* Hero */
.v2l-hero__in {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.v2l-hero__crumbs { justify-content: center; }
.v2l-hero__title { max-width: 820px; }
.v2l-hero__sub { max-width: 660px; margin-inline: auto; }
.v2l-hero__chips {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 28px;
}
.v2l-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 15px;
    border-radius: 999px;
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.22);
    color: var(--go-deep);
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: -0.005em;
}
.v2l-chip svg { width: 15px; height: 15px; flex: 0 0 auto; }
.v2l-hero__fine { margin-top: 24px; }

/* Layout: ToC + document */
.v2l-grid {
    display: grid;
    grid-template-columns: 264px minmax(0, 1fr);
    gap: clamp(28px, 4vw, 52px);
    align-items: start;
}
.v2l-toc {
    position: sticky;
    top: calc(var(--nav-h) + 24px);
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 18px 14px;
    max-height: calc(100vh - var(--nav-h) - 48px);
    overflow-y: auto;
}
.v2l-toc > .v2-mono { display: block; padding: 0 10px 10px; }
.v2l-toc ol {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 1px;
}
.v2l-toc a {
    display: flex;
    align-items: baseline;
    gap: 9px;
    padding: 7px 10px;
    border-radius: 9px;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: -0.005em;
    line-height: 1.3;
    color: var(--slate);
    transition: background-color 0.15s ease, color 0.15s ease;
}
.v2l-toc a .v2-mono { font-size: 9.5px; flex: 0 0 auto; }
.v2l-toc a:hover { color: var(--ink); background: var(--mist); }
.v2l-toc a.is-active {
    background: var(--ink);
    color: #FFFFFF;
    font-weight: 600;
}
.v2l-toc a.is-active .v2-mono { color: rgba(255, 255, 255, 0.55); }

/* Document */
.v2l-doc {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: clamp(24px, 3.6vw, 44px) clamp(20px, 3.6vw, 48px);
}
.v2l-sec { scroll-margin-top: calc(var(--nav-h) + 24px); }
.v2l-sec + .v2l-sec {
    margin-top: clamp(30px, 4vw, 42px);
    padding-top: clamp(28px, 3.6vw, 38px);
    border-top: 1px solid var(--line);
}
.v2l-sec h2 {
    display: flex;
    align-items: baseline;
    gap: 12px;
    font-family: var(--font-display);
    font-size: clamp(19px, 2.1vw, 23px);
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.2;
    color: var(--ink);
    margin-bottom: 14px;
}
.v2l-sec h2 .v2-mono { flex: 0 0 auto; color: var(--go); }
.v2l-sec h3 {
    font-family: var(--font-display);
    font-size: 16px;
    font-weight: 600;
    letter-spacing: -0.015em;
    color: var(--ink);
    margin: 20px 0 8px;
}
.v2l-sec p {
    font-size: 14.5px;
    line-height: 1.72;
    color: var(--slate);
    max-width: 72ch;
}
.v2l-sec p + p { margin-top: 10px; }
.v2l-sec b { color: var(--ink); font-weight: 600; }
.v2l-sec a {
    color: var(--go-deep);
    text-decoration: underline;
    text-underline-offset: 3px;
}
.v2l-sec ul {
    list-style: none;
    margin: 10px 0;
    padding: 0;
    display: grid;
    gap: 8px;
    max-width: 72ch;
}
.v2l-sec ul li {
    position: relative;
    padding-left: 24px;
    font-size: 14px;
    line-height: 1.65;
    color: var(--slate);
}
.v2l-sec ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 4px;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: var(--go-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M6 10.4l2.5 2.5 5.5-6.2' stroke='%230B8A47' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/9px 9px no-repeat;
}
.v2l-sec ul.v2l-ul--no li::before {
    background: var(--mist) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M6.5 6.5l7 7m0-7-7 7' stroke='%239AA6B2' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") center/8px 8px no-repeat;
}
.v2l-sec code {
    font-family: var(--font-mono);
    font-size: 12px;
    background: var(--mist);
    border-radius: 6px;
    padding: 2px 7px;
    color: var(--slate);
    white-space: nowrap;
}

/* Callouts */
.v2l-call {
    margin: 14px 0;
    background: var(--mist);
    border: 1px solid var(--line);
    border-left: 3px solid var(--ink);
    border-radius: 12px;
    padding: 14px 18px;
    max-width: 72ch;
}
.v2l-call p { color: var(--slate); }
.v2l-good {
    margin: 14px 0;
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.22);
    border-radius: 14px;
    padding: 16px 20px;
    max-width: 72ch;
}
.v2l-good p { color: var(--go-deep); }
.v2l-good b { color: var(--go-deep); }
.v2l-good a { color: var(--go-deep); font-weight: 600; }
.v2l-good ul { margin: 10px 0; }
.v2l-good ul li { color: var(--go-deep); }
.v2l-good ul li::before { background-color: rgba(255, 255, 255, 0.7); }
.v2l-good__head {
    display: flex;
    align-items: center;
    gap: 9px;
    font-family: var(--font-display);
    font-size: 15.5px;
    font-weight: 700;
    letter-spacing: -0.015em;
    margin-bottom: 8px;
}
.v2l-good__head svg { width: 18px; height: 18px; flex: 0 0 auto; }
.v2l-good__note { margin-top: 10px; font-size: 13px; }
.v2l-danger {
    margin: 14px 0;
    background: #FDF1F0;
    border: 1px solid rgba(180, 35, 24, 0.16);
    border-radius: 12px;
    padding: 14px 18px;
    max-width: 72ch;
}
.v2l-danger p { color: #B42318; }
.v2l-danger b { color: #B42318; }
.v2l-danger a { color: #B42318; font-weight: 700; }

/* Facts dl (contact blocks) */
.v2l-facts {
    margin: 14px 0;
    max-width: 560px;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 6px 18px;
}
.v2l-facts > div {
    display: flex;
    align-items: baseline;
    gap: 16px;
    padding: 11px 0;
    border-bottom: 1px solid var(--line);
}
.v2l-facts > div:last-child { border-bottom: 0; }
.v2l-facts dt { flex: 0 0 76px; }
.v2l-facts dd {
    margin: 0;
    font-size: 14px;
    font-weight: 500;
    color: var(--ink);
    overflow-wrap: anywhere;
}

/* Cookie tables */
.v2l-tablewrap {
    margin: 12px 0 4px;
    border: 1px solid var(--line);
    border-radius: 14px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.v2l-table {
    width: 100%;
    min-width: 560px;
    border-collapse: collapse;
}
.v2l-table th,
.v2l-table td {
    padding: 11px 15px;
    text-align: left;
    border-bottom: 1px solid var(--line);
    font-size: 13px;
    line-height: 1.55;
    color: var(--slate);
    vertical-align: top;
}
.v2l-table thead th {
    font-family: var(--font-mono);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--faint);
    background: var(--mist);
}
.v2l-table tbody td:first-child { color: var(--ink); font-weight: 500; white-space: nowrap; }
.v2l-table tr:last-child td { border-bottom: 0; }

/* Third-party service blocks */
.v2l-svc {
    margin: 14px 0;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 18px 20px;
    max-width: 72ch;
}
.v2l-svc h3 { margin: 0 0 8px; }
.v2l-svc__link { font-size: 12.5px; color: var(--faint); margin-top: 10px; }
.v2l-svc__link a { color: var(--slate); }

/* Confirmation + related links */
.v2l-confirm {
    margin-top: 18px;
    font-size: 13.5px;
    color: var(--faint);
}
.v2l-related {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
}

/* Legal responsive */
@media (max-width: 960px) {
    .v2l-grid { grid-template-columns: minmax(0, 1fr); }
    .v2l-toc {
        position: static;
        max-height: none;
        overflow: visible;
    }
    .v2l-toc ol {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 4px;
    }
    .v2l-toc a {
        padding: 6px 11px;
        border: 1px solid var(--line);
        border-radius: 999px;
        font-size: 12px;
    }
    .v2l-toc a .v2-mono { display: none; }
}
@media (max-width: 640px) {
    .v2l-doc { padding: 20px 16px; border-radius: 18px; }
    .v2l-sec h2 { gap: 9px; }
    .v2l-sec p { font-size: 14px; }
    .v2l-sec ul li { font-size: 13.5px; }
    .v2l-facts { padding: 4px 14px; }
    .v2l-facts dt { flex-basis: 68px; }
    .v2l-svc { padding: 15px 14px; }
    .v2l-related .v2-btn { flex: 1 1 100%; }
    .v2l-hero__chips { gap: 8px; }
    .v2l-chip { padding: 7px 12px; font-size: 11.5px; }
}

/* ============================================================
   HOW IT WORKS V2 PAGE (2026-07-04)
   Sections for /how-it-works-v2: glance rail, four step blocks
   with artifact windows, safety grid. Hero reuses .v2-phero,
   the comparison reuses .v2-cmp, plans reuse .v2-plans.
============================================================ */

/* ---------- Glance rail ---------- */

.v2-hglance {
    position: relative;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    list-style: none;
    margin: clamp(44px, 6vw, 60px) 0 0;
    padding: 0;
}
.v2-hglance::before {
    content: "";
    position: absolute;
    top: 27px;
    left: 4%;
    right: 4%;
    height: 2px;
    background: var(--line);
    transform-origin: left center;
}
.v2-hglance__node {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 7px;
}
.v2-hglance__node .v2-mono { letter-spacing: 0.1em; }
.v2-hglance__dot {
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: var(--paper);
    border: 2.5px solid #C9D2DA;
    flex: 0 0 auto;
}
.v2-hglance__node b {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--ink);
}
.v2-hglance__t {
    font-size: 12px;
    color: var(--faint);
}
.v2-hglance__node--go .v2-mono { color: var(--go); }
.v2-hglance__node--go .v2-hglance__dot {
    background: var(--go);
    border-color: var(--go);
    box-shadow: 0 0 0 4px var(--go-tint);
}

@media (max-width: 760px) {
    .v2-hglance {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
        max-width: 340px;
        margin-inline: auto;
    }
    .v2-hglance::before {
        top: 8px;
        bottom: 8px;
        left: 5px;
        right: auto;
        width: 2px;
        height: auto;
        transform-origin: center top;
    }
    .v2-hglance__node {
        display: grid;
        grid-template-columns: 13px minmax(0, 1fr);
        grid-template-areas: "dot day" "dot label" "dot time";
        column-gap: 14px;
        row-gap: 2px;
        text-align: left;
        align-items: start;
        justify-items: start;
        padding: 9px 0;
    }
    .v2-hglance__node .v2-mono { grid-area: day; }
    .v2-hglance__dot { grid-area: dot; margin-top: 3px; }
    .v2-hglance__node b { grid-area: label; font-size: 13.5px; }
    .v2-hglance__t { grid-area: time; font-size: 11.5px; }
}

/* ---------- Step blocks ---------- */

.v2-hsteps__list { margin-top: clamp(48px, 6.5vw, 76px); }

.v2-hstep {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr);
    gap: clamp(28px, 4.5vw, 60px);
    align-items: center;
}
.v2-hstep + .v2-hstep { margin-top: clamp(52px, 6.5vw, 80px); }
.v2-hstep--flip .v2-hstep__copy { order: 2; }
.v2-hstep--flip .v2-hstep__art { order: 1; }

.v2-hstep__kicker { letter-spacing: 0.1em; }
.v2-hstep__kicker span { white-space: nowrap; }
.v2-hstep__kicker span:first-child { color: var(--go); }

.v2-hstep__copy h3 {
    margin-top: 10px;
    font-family: var(--font-display);
    font-weight: 600;
    font-size: clamp(19px, 1.3rem + 0.6vw, 23px);
    letter-spacing: -0.016em;
    text-wrap: balance;
}
.v2-hstep__body {
    margin-top: 12px;
    font-size: 15px;
    line-height: 1.65;
    color: var(--slate);
    text-wrap: pretty;
}
.v2-hstep__list {
    list-style: none;
    margin: 15px 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 9px;
}
.v2-hstep__list li {
    position: relative;
    padding-left: 26px;
    font-size: 14px;
    line-height: 1.5;
    color: var(--slate);
}
.v2-hstep__list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 2.5px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-color: var(--go-tint);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-6.5' fill='none' stroke='%230B8A47' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-size: 11px;
    background-position: center;
    background-repeat: no-repeat;
}
.v2-hstep__list .v2-hstep__hl { color: var(--ink); font-weight: 600; }

.v2-hstep__art { min-width: 0; }

/* ---------- Artifact windows ---------- */

.v2-hart {
    display: block;
    width: 100%;
    max-width: 440px;
    margin-inline: auto;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(10, 16, 23, 0.05), 0 22px 44px -20px rgba(10, 16, 23, 0.14);
}
.v2-hart__bar {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border-bottom: 1px solid var(--line);
}
.v2-hart__bar .v2-mono { font-size: 10.5px; }
.v2-hart__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--go);
    flex: 0 0 auto;
}
.v2-hart__dot--live { animation: v2Pulse 2.2s infinite; }
.v2-hart__chip {
    margin-left: auto;
    font-size: 10px;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 3px 9px;
    white-space: nowrap;
}
.v2-hart__chip--go {
    background: var(--go-tint);
    border-color: rgba(11, 138, 71, 0.22);
    color: var(--go-deep);
}
.v2-hart__body {
    padding: 16px 16px 14px;
    display: flex;
    flex-direction: column;
    gap: 9px;
}
.v2-hart__colhead { font-size: 10px; }
.v2-hart__redact {
    display: block;
    height: 12px;
    border-radius: 6px;
    background: #E9EDF1;
}
.v2-hart__foot { margin-top: 5px; font-size: 10px; }

/* Console path rows */
.v2-hpath { gap: 0; padding: 8px 16px 10px; }
.v2-hpath__row {
    position: relative;
    padding: 9px 0 9px 26px;
    font-size: 13.5px;
    line-height: 1.45;
    color: var(--slate);
}
.v2-hpath__row + .v2-hpath__row { border-top: 1px solid var(--mist); }
.v2-hpath__row::before {
    content: "";
    position: absolute;
    left: 0;
    top: 11px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-color: var(--go-tint);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-6.5' fill='none' stroke='%230B8A47' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-size: 11px;
    background-position: center;
    background-repeat: no-repeat;
}
.v2-hpath__row--go { color: var(--ink); font-weight: 600; }

/* Streak card */
.v2-hstreak__grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 6px;
}
.v2-hstreak__sq {
    display: block;
    aspect-ratio: 1;
    border-radius: 5px;
    background: #E9EDF1;
}
.v2-hstreak__sq.is-on { background: var(--go); }
.v2-hstreak__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 10px;
}
.v2-hstreak__avs { display: flex; align-items: center; }
.v2-hstreak__avs i,
.v2-hstreak__avs b {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--mist);
    border: 2px solid var(--paper);
    display: grid;
    place-items: center;
    font-family: var(--font-mono);
    font-size: 9.5px;
    font-weight: 600;
    font-style: normal;
    color: var(--slate);
}
.v2-hstreak__avs i + i,
.v2-hstreak__avs b { margin-left: -7px; }
.v2-hstreak__avs b { background: var(--go-tint); color: var(--go-deep); }
.v2-hstreak__live {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 12.5px;
    font-weight: 500;
    color: var(--slate);
}
.v2-hstreak__live i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--go);
    animation: v2Pulse 2.2s infinite;
}

/* Approval email card */
.v2-hmail { position: relative; cursor: zoom-in; }
.v2-hmail img { display: block; width: 100%; height: auto; }
.v2-hmail__av {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--mist);
    display: grid;
    place-items: center;
    font-family: var(--font-display);
    font-size: 13px;
    font-weight: 700;
    color: var(--slate);
    flex: 0 0 auto;
}
.v2-hmail__meta { min-width: 0; line-height: 1.2; }
.v2-hmail__meta b {
    display: block;
    font-size: 12.5px;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--ink);
}
.v2-hmail__meta .v2-mono { font-size: 9.5px; letter-spacing: 0.06em; }
.v2-hmail__zoom {
    display: none;
    position: absolute;
    right: 10px;
    bottom: 10px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 4px 10px;
    font-size: 9.5px;
}
@media (max-width: 960px) {
    .v2-hmail__zoom { display: inline-block; }
}

/* Steps closing CTA */
.v2-hsteps__cta {
    margin-top: clamp(44px, 6vw, 64px);
    text-align: center;
}
.v2-hsteps__note {
    margin-top: 14px;
    font-size: 13.5px;
    color: var(--faint);
}
.v2-hsteps__note a {
    color: var(--slate);
    text-decoration: underline;
    text-underline-offset: 3px;
}
.v2-hsteps__note a:hover { color: var(--ink); }

/* Steps entrances (JS adds .v2-anim on the section, .is-in per step) */
.v2-hsteps.v2-anim .v2-hglance::before { transform: scaleX(0); }
.v2-hsteps.v2-anim.is-in .v2-hglance::before {
    transform: scaleX(1);
    transition: transform 1.1s cubic-bezier(0.22, 0.8, 0.26, 1) 0.1s;
}
.v2-hsteps.v2-anim .v2-hglance__node { opacity: 0; transform: translateY(10px); }
.v2-hsteps.v2-anim.is-in .v2-hglance__node {
    opacity: 1;
    transform: none;
    transition: opacity .5s cubic-bezier(0.22, 0.8, 0.26, 1), transform .5s cubic-bezier(0.22, 0.8, 0.26, 1);
}
.v2-hsteps.v2-anim.is-in .v2-hglance__node:nth-child(1) { transition-delay: .12s; }
.v2-hsteps.v2-anim.is-in .v2-hglance__node:nth-child(2) { transition-delay: .3s; }
.v2-hsteps.v2-anim.is-in .v2-hglance__node:nth-child(3) { transition-delay: .48s; }
.v2-hsteps.v2-anim.is-in .v2-hglance__node:nth-child(4) { transition-delay: .66s; }
.v2-hsteps.v2-anim.is-in .v2-hglance__node:nth-child(5) { transition-delay: .84s; }

.v2-hsteps.v2-anim .v2-hstep {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity .6s cubic-bezier(0.22, 0.8, 0.26, 1), transform .6s cubic-bezier(0.22, 0.8, 0.26, 1);
}
.v2-hsteps.v2-anim .v2-hstep.is-in { opacity: 1; transform: none; }

.v2-hsteps.v2-anim .v2-hstreak__sq.is-on { transform: scale(0); }
.v2-hsteps.v2-anim .v2-hstep.is-in .v2-hstreak__sq.is-on {
    transform: scale(1);
    transition: transform .3s cubic-bezier(0.34, 1.56, 0.64, 1);
    transition-delay: calc(var(--s) * 50ms + 0.25s);
}

@media (max-width: 900px) {
    .v2-hstep { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    .v2-hstep--flip .v2-hstep__copy { order: 1; }
    .v2-hstep--flip .v2-hstep__art { order: 2; }
    .v2-hstep + .v2-hstep { margin-top: 48px; }
    .v2-hsteps__list { margin-top: 44px; }
}
@media (max-width: 640px) {
    .v2-hstep__copy h3 { font-size: 18.5px; }
    .v2-hstep__body { font-size: 14px; }
    .v2-hstep__list li { font-size: 13.5px; }
    .v2-hart { max-width: 100%; }
    .v2-hstep + .v2-hstep { margin-top: 40px; }
    .v2-hsteps__note { font-size: 12.5px; padding-inline: 8px; }
    .v2 .v2-hsteps__cta .v2-btn { width: 100%; max-width: 420px; }
}

/* ---------- Safety grid ---------- */

.v2-hsafe__quote {
    max-width: 720px;
    margin: clamp(36px, 5vw, 48px) auto 0;
    background: var(--paper);
    border: 1px solid var(--line);
    border-left: 3px solid var(--go);
    border-radius: 12px;
    padding: 20px 24px;
}
.v2-hsafe__quote blockquote { margin: 0; }
.v2-hsafe__quote blockquote p {
    font-size: 16.5px;
    font-weight: 500;
    line-height: 1.6;
    color: var(--ink);
}
.v2-hsafe__quote figcaption {
    margin-top: 10px;
    font-size: 10.5px;
}
.v2-hsafe__quote figcaption a {
    color: var(--slate);
    text-decoration: underline;
    text-underline-offset: 3px;
}
.v2-hsafe__quote figcaption a:hover { color: var(--ink); }

.v2-hsafe__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: clamp(30px, 4.5vw, 40px);
}
.v2-hsafe__item {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 18px 20px;
}
.v2-hsafe__item b {
    position: relative;
    display: block;
    padding-left: 26px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: var(--ink);
}
.v2-hsafe__item b::before {
    content: "";
    position: absolute;
    left: 0;
    top: 2px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-color: var(--go-tint);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-6.5' fill='none' stroke='%230B8A47' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-size: 11px;
    background-position: center;
    background-repeat: no-repeat;
}
.v2-hsafe__item p {
    margin-top: 7px;
    padding-left: 26px;
    font-size: 13.5px;
    line-height: 1.55;
    color: var(--slate);
}
.v2-hsafe__item p a {
    color: var(--go-deep);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.v2-hsafe.v2-anim .v2-hsafe__item {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity .5s cubic-bezier(0.22, 0.8, 0.26, 1), transform .5s cubic-bezier(0.22, 0.8, 0.26, 1);
    transition-delay: calc(var(--i) * 60ms);
}
.v2-hsafe.v2-anim.is-in .v2-hsafe__item { opacity: 1; transform: none; }

@media (max-width: 960px) {
    .v2-hsafe__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
}
@media (max-width: 640px) {
    .v2-hsafe__grid { grid-template-columns: minmax(0, 1fr); gap: 11px; }
    .v2-hsafe__quote { padding: 16px 18px; }
    .v2-hsafe__quote blockquote p { font-size: 15px; }
    .v2-hsafe__item { padding: 16px; border-radius: 14px; }
}

/* Solo-CTA comparison (how-it-works): the only buy button sits in
   the pinned-away green column on mobile, so the row would render
   as an empty band. Hide it there; surrounding CTAs cover it. */
@media (max-width: 900px) {
    .v2-cmp--solo .v2-cmp__cta-row { display: none; }
}

/* ---------- Plans: pricing-page cross link ---------- */

.v2-ppl__more {
    margin-top: 22px;
    text-align: center;
    font-size: 14px;
    color: var(--slate);
}
.v2-ppl__more a {
    color: var(--go-deep);
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* ============================================================
   FAQ V2 PAGE (2026-07-04)
   Page-specific blocks for /faq-v2: hero search + category
   chips, quick-answer cards, category browser (sticky rail +
   accordion groups + live-search empty state). Reuses .v2-phero,
   .v2-faq__item, .v2-guide, .v2-plan, .v2-guarantee primitives.
============================================================ */

/* ---------- FAQ hero: live search ---------- */

.v2-fqsearch {
    margin: 26px auto 0;
    width: min(100%, 660px);
}
.v2-fqsearch__box {
    position: relative;
    display: flex;
    align-items: center;
}
.v2-fqsearch__ic {
    position: absolute;
    left: 18px;
    width: 19px;
    height: 19px;
    color: var(--faint);
    pointer-events: none;
}
.v2 .v2-fqsearch__input {
    width: 100%;
    height: 56px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: var(--paper);
    padding: 0 118px 0 48px;
    font: 500 15.5px/1.2 var(--font-body);
    color: var(--ink);
    text-overflow: ellipsis;
    appearance: none;
    box-shadow: 0 1px 2px rgba(10, 16, 23, 0.04), 0 14px 34px -18px rgba(10, 16, 23, 0.14);
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
}
.v2 .v2-fqsearch__input::placeholder { color: var(--faint); }
.v2 .v2-fqsearch__input:focus {
    outline: none;
    border-color: var(--go);
    box-shadow: 0 0 0 3px rgba(11, 138, 71, 0.14);
}
.v2-fqsearch__count {
    position: absolute;
    right: 12px;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 5px 10px;
    white-space: nowrap;
}

.v2-fqchips {
    margin-top: 14px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}
.v2-fqchip {
    display: inline-flex;
    align-items: center;
    height: 34px;
    padding: 0 14px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: var(--paper);
    font: 600 12.5px/1 var(--font-body);
    color: var(--slate);
    text-decoration: none;
    transition: border-color 0.16s ease, color 0.16s ease, background 0.16s ease;
}
.v2-fqchip:hover {
    border-color: #C9D2DA;
    color: var(--ink);
}

/* ---------- FAQ: quick answer cards ---------- */

.v2-fqtop__grid {
    margin-top: clamp(34px, 5vw, 46px);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.v2-fqcard {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 22px 24px;
}
.v2-fqcard:first-child { grid-column: 1 / -1; }
.v2-fqcard__ic {
    flex: 0 0 auto;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: var(--go-tint);
    color: var(--go);
    display: grid;
    place-items: center;
}
.v2-fqcard__ic svg { width: 22px; height: 22px; }
.v2-fqcard__body { min-width: 0; }
.v2-fqcard__q {
    font: 600 17.5px/1.3 var(--font-display);
    letter-spacing: -0.015em;
    color: var(--ink);
}
.v2-fqcard__a {
    margin-top: 8px;
    font: 400 14px/1.62 var(--font-body);
    color: var(--slate);
}

/* ---------- FAQ: category browser ---------- */

.v2-fqb__layout {
    display: grid;
    grid-template-columns: 250px minmax(0, 1fr);
    gap: clamp(28px, 4vw, 56px);
    align-items: start;
}
.v2-fqb__rail {
    position: sticky;
    top: calc(var(--nav-h) + 24px);
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.v2-fqb__rail-t { margin-bottom: 8px; }
.v2-fqb__rail-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 14px;
    border-radius: 11px;
    font: 600 14px/1.2 var(--font-body);
    color: var(--slate);
    text-decoration: none;
    transition: background 0.16s ease, color 0.16s ease;
}
.v2-fqb__rail-link:hover {
    background: var(--mist);
    color: var(--ink);
}
.v2-fqb__rail-link.is-active {
    background: var(--ink);
    color: #FFFFFF;
}
.v2-fqb__rail-n {
    font: 600 10.5px/1 var(--font-mono);
    letter-spacing: 0.08em;
    color: var(--faint);
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 4px 8px;
}
.v2-fqb__rail-link.is-active .v2-fqb__rail-n {
    background: rgba(255, 255, 255, 0.14);
    border-color: transparent;
    color: #FFFFFF;
}
.v2-fqb__rail-help {
    margin-top: 18px;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 16px;
}
.v2-fqb__rail-help p {
    font: 400 13px/1.55 var(--font-body);
    color: var(--slate);
    margin-bottom: 12px;
}
.v2-fqb__rail-help b { color: var(--ink); }
.v2-fqb__rail-help .v2-btn { width: 100%; }

.v2-fqb__groups {
    display: flex;
    flex-direction: column;
    gap: clamp(40px, 6vw, 56px);
}
.v2-fqtop,
.v2-fqb__group,
.v2-fqcard[id],
.v2-fqb .v2-faq__item {
    scroll-margin-top: calc(var(--nav-h) + 22px);
}
.v2-fqb__ghead {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 14px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--line);
    margin-bottom: 6px;
}
.v2-fqb__h2 {
    font: 650 clamp(19px, 1rem + 1vw, 24px)/1.22 var(--font-display);
    letter-spacing: -0.018em;
    color: var(--ink);
    text-wrap: balance;
}
.v2-fqb__gcount { white-space: nowrap; }

/* live-search hide states (hidden attr vs display gotcha) */
.v2-fqtop[hidden],
.v2-fqb__group[hidden],
.v2-fqcard[hidden],
.v2-fqb .v2-faq__item[hidden],
.v2-fqempty[hidden] { display: none; }

.v2-fqempty {
    border: 1px dashed #C9D2DA;
    border-radius: 18px;
    padding: 34px 26px;
    text-align: center;
}
.v2-fqempty svg {
    width: 34px;
    height: 34px;
    color: var(--faint);
    margin-bottom: 12px;
}
.v2-fqempty p {
    font: 400 15px/1.6 var(--font-body);
    color: var(--slate);
    max-width: 460px;
    margin-inline: auto;
}
.v2-fqempty b { color: var(--ink); }
.v2-fqempty__row {
    margin-top: 16px;
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
}

.v2-fqb .v2-faq__human { margin-top: clamp(44px, 6vw, 64px); }

/* ---------- FAQ: entrances ---------- */

.v2-fqtop.v2-anim .v2-fqcard {
    opacity: 0;
    transform: translateY(16px);
}
.v2-fqtop.v2-anim.is-in .v2-fqcard {
    opacity: 1;
    transform: none;
    transition: opacity 0.6s cubic-bezier(0.22, 0.8, 0.26, 1) var(--d, 0s), transform 0.6s cubic-bezier(0.22, 0.8, 0.26, 1) var(--d, 0s);
}
.v2-fqb.v2-anim .v2-fqb__rail,
.v2-fqb.v2-anim .v2-fqb__groups {
    opacity: 0;
    transform: translateY(16px);
}
.v2-fqb.v2-anim.is-in .v2-fqb__rail,
.v2-fqb.v2-anim.is-in .v2-fqb__groups {
    opacity: 1;
    transform: none;
    transition: opacity 0.6s cubic-bezier(0.22, 0.8, 0.26, 1), transform 0.6s cubic-bezier(0.22, 0.8, 0.26, 1);
}
.v2-fqb.v2-anim.is-in .v2-fqb__groups { transition-delay: 0.1s; }

/* ---------- FAQ: mobile ---------- */

@media (max-width: 960px) {
    .v2-fqb__layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 22px;
    }
    .v2-fqb__rail {
        top: var(--nav-h);
        z-index: 20;
        flex-direction: row;
        align-items: center;
        gap: 8px;
        background: rgba(255, 255, 255, 0.94);
        -webkit-backdrop-filter: blur(8px);
        backdrop-filter: blur(8px);
        border-bottom: 1px solid var(--line);
        margin-inline: calc(-1 * clamp(20px, 4vw, 32px));
        padding: 10px clamp(20px, 4vw, 32px);
        overflow-x: auto;
        scrollbar-width: none;
    }
    .v2-fqb__rail::-webkit-scrollbar { display: none; }
    .v2-fqb__rail-t { display: none; }
    .v2-fqb__rail-help { display: none; }
    .v2-fqb__rail-link {
        flex: 0 0 auto;
        padding: 8px 12px;
        border: 1px solid var(--line);
        border-radius: 999px;
        background: var(--paper);
        font-size: 13px;
    }
    .v2-fqb__rail-link:hover { background: var(--paper); }
    .v2-fqb__rail-link.is-active { border-color: var(--ink); }
    .v2-fqb__rail-n { padding: 3px 7px; }
}

@media (max-width: 900px) {
    .v2-fqtop__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
    }
    .v2-fqcard:first-child { grid-column: auto; }
}

@media (max-width: 640px) {
    .v2 .v2-fqsearch__input {
        height: 52px;
        padding: 0 96px 0 44px;
        font-size: 15px;
    }
    .v2-fqsearch__ic { left: 15px; }
    .v2-fqchip {
        height: 32px;
        padding: 0 12px;
        font-size: 12px;
    }
    .v2-fqcard {
        padding: 18px;
        gap: 13px;
    }
    .v2-fqcard__ic { width: 38px; height: 38px; }
    .v2-fqcard__ic svg { width: 20px; height: 20px; }
    .v2-fqcard__q { font-size: 16.5px; }
    .v2-fqcard__a { font-size: 13.5px; }
    .v2-fqb__ghead {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }
    .v2-fqempty { padding: 28px 18px; }
}

/* ============================================================
   CONTACT V2 PAGE (2026-07-04)
   Page-specific blocks for /contact-v2: channel cards, message
   form (inputs, alerts, honeypot, include-rail), help topics.
   Reuses .v2-phero, .v2-cta, .v2-btn, .v2-sechead primitives.
============================================================ */

/* WhatsApp brand button (channel recognition converts) */
.v2 .v2-btn--wa {
    background: #25D366;
    border-color: #25D366;
    color: #FFFFFF;
}
.v2 .v2-btn--wa:hover {
    background: #1EBE5A;
    border-color: #1EBE5A;
    color: #FFFFFF;
}

/* ---------- Contact: channel cards ---------- */

.v2-ctch__grid {
    margin-top: clamp(34px, 5vw, 46px);
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}
.v2-ctch__card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 22px;
}
.v2-ctch__ic {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: var(--go-tint);
    color: var(--go);
    display: grid;
    place-items: center;
}
.v2-ctch__ic svg { width: 22px; height: 22px; }
.v2-ctch__badge {
    position: absolute;
    top: 18px;
    right: 18px;
    background: var(--go);
    color: #FFFFFF;
    font: 700 11px/1 var(--font-body);
    letter-spacing: 0.02em;
    border-radius: 999px;
    padding: 6px 11px;
}
.v2-ctch__title {
    margin-top: 14px;
    font: 600 17.5px/1.25 var(--font-display);
    letter-spacing: -0.015em;
    color: var(--ink);
}
.v2-ctch__desc {
    margin-top: 8px;
    font: 400 13.5px/1.6 var(--font-body);
    color: var(--slate);
}
.v2-ctch__fact {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--line);
    width: 100%;
}
.v2-ctch__fact span { white-space: nowrap; }
.v2 .v2-ctch__act {
    margin-top: 14px;
    width: 100%;
}

/* ---------- Contact: message form ---------- */

.v2-ctf__layout {
    margin-top: clamp(34px, 5vw, 46px);
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
    gap: clamp(28px, 4vw, 56px);
    align-items: start;
    max-width: 1040px;
    margin-inline: auto;
}

.v2-ctf__alert {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    border-radius: 14px;
    padding: 16px 18px;
    margin-bottom: 18px;
    font-size: 14.5px;
    line-height: 1.6;
}
.v2-ctf__alert svg { width: 20px; height: 20px; flex: 0 0 auto; margin-top: 2px; }
.v2-ctf__alert b { color: inherit; }
.v2-ctf__alert--ok {
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.22);
    color: var(--go-deep);
}
.v2-ctf__alert--ok a {
    color: var(--go-deep);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.v2-ctf__alert--err {
    background: #FDF1F0;
    border: 1px solid rgba(180, 35, 24, 0.16);
    color: #B42318;
}

.v2-ctf__form { display: flex; flex-direction: column; gap: 16px; }
.v2-ctf__row2 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.v2-ctf__field { display: flex; flex-direction: column; }
.v2-ctf__field label {
    font: 600 13px/1.3 var(--font-body);
    color: var(--ink);
    margin-bottom: 7px;
}
.v2-ctf__opt {
    font: 600 10.5px/1 var(--font-mono);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--faint);
    margin-left: 4px;
}
.v2 .v2-ctf__field input,
.v2 .v2-ctf__field select,
.v2 .v2-ctf__field textarea {
    width: 100%;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--paper);
    font: 400 15px/1.45 var(--font-body);
    color: var(--ink);
    appearance: none;
    transition: border-color 0.16s ease, box-shadow 0.16s ease;
}
.v2 .v2-ctf__field input,
.v2 .v2-ctf__field select {
    height: 48px;
    padding: 0 14px;
}
.v2 .v2-ctf__field textarea {
    min-height: 150px;
    padding: 12px 14px;
    resize: vertical;
}
.v2 .v2-ctf__field select {
    padding-right: 40px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='m6 8 4 4 4-4' stroke='%2355616D' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 16px;
    cursor: pointer;
}
.v2 .v2-ctf__field input::placeholder,
.v2 .v2-ctf__field textarea::placeholder { color: var(--faint); }
.v2 .v2-ctf__field input:focus,
.v2 .v2-ctf__field select:focus,
.v2 .v2-ctf__field textarea:focus {
    outline: none;
    border-color: var(--go);
    box-shadow: 0 0 0 3px rgba(11, 138, 71, 0.14);
}
.v2 .v2-ctf__field input.is-err,
.v2 .v2-ctf__field textarea.is-err { border-color: #B42318; }
.v2-ctf__err {
    margin-top: 6px;
    font: 500 12.5px/1.4 var(--font-body);
    color: #B42318;
}

.v2-ctf__hp {
    position: absolute;
    left: -9999px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.v2-ctf__foot {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    margin-top: 4px;
}
.v2-ctf__note span { white-space: nowrap; }

/* include-this rail */
.v2-ctf__rail { display: flex; flex-direction: column; gap: 16px; }
.v2-ctf__include {
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 20px 22px;
}
.v2-ctf__include-t { margin-bottom: 12px; }
.v2-ctf__list { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.v2-ctf__list li {
    position: relative;
    padding-left: 26px;
    font: 400 13.5px/1.55 var(--font-body);
    color: var(--slate);
}
.v2-ctf__list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 2px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--go-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M6 10.4l2.5 2.5 5.5-6.2' stroke='%230B8A47' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/10px 10px no-repeat;
}
.v2-ctf__code {
    font: 600 12px/1 var(--font-mono);
    letter-spacing: 0.02em;
    color: var(--ink);
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 7px;
    padding: 3px 7px;
    white-space: nowrap;
}
.v2-ctf__human {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 18px 20px;
}
.v2-ctf__human img {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    object-fit: cover;
    flex: 0 0 auto;
}
.v2-ctf__human p {
    font: 400 13.5px/1.6 var(--font-body);
    color: var(--slate);
}
.v2-ctf__railfact { text-align: center; }
.v2-ctf__railfact span { white-space: nowrap; }

/* ---------- Contact: help topics ---------- */

.v2-cttop__grid {
    margin-top: clamp(34px, 5vw, 46px);
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}
.v2-cttop__tile {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 20px 22px;
}
.v2-cttop__ic {
    width: 40px;
    height: 40px;
    border-radius: 11px;
    background: var(--mist);
    color: var(--slate);
    display: grid;
    place-items: center;
}
.v2-cttop__ic svg { width: 21px; height: 21px; }
.v2-cttop__title {
    margin-top: 13px;
    font: 600 16.5px/1.3 var(--font-display);
    letter-spacing: -0.015em;
    color: var(--ink);
}
.v2-cttop__desc {
    margin-top: 7px;
    font: 400 13.5px/1.6 var(--font-body);
    color: var(--slate);
}
.v2-cttop__link {
    margin-top: auto;
    padding-top: 14px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font: 600 13.5px/1 var(--font-body);
    color: var(--go-deep);
    text-decoration: none;
}
.v2-cttop__link svg { width: 15px; height: 15px; transition: transform 0.18s ease; }
.v2-cttop__link:hover svg { transform: translateX(3px); }

/* ---------- Contact: entrances ---------- */

.v2-ctch.v2-anim .v2-ctch__card,
.v2-cttop.v2-anim .v2-cttop__tile {
    opacity: 0;
    transform: translateY(16px);
}
.v2-ctch.v2-anim.is-in .v2-ctch__card,
.v2-cttop.v2-anim.is-in .v2-cttop__tile {
    opacity: 1;
    transform: none;
    transition: opacity 0.6s cubic-bezier(0.22, 0.8, 0.26, 1) var(--d, 0s), transform 0.6s cubic-bezier(0.22, 0.8, 0.26, 1) var(--d, 0s);
}
.v2-ctf.v2-anim .v2-ctf__layout {
    opacity: 0;
    transform: translateY(16px);
}
.v2-ctf.v2-anim.is-in .v2-ctf__layout {
    opacity: 1;
    transform: none;
    transition: opacity 0.6s cubic-bezier(0.22, 0.8, 0.26, 1), transform 0.6s cubic-bezier(0.22, 0.8, 0.26, 1);
}

/* ---------- Contact: mobile ---------- */

@media (max-width: 1080px) {
    .v2-ctch__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 960px) {
    .v2-ctf__layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 30px;
    }
    .v2-cttop__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .v2-ctch__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
    }
    .v2-ctch__card { padding: 18px; }
    .v2-cttop__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
    }
    .v2-cttop__tile { padding: 18px; }
    .v2-ctf__row2 {
        grid-template-columns: minmax(0, 1fr);
    }
    .v2-ctf__include { padding: 18px; }
    .v2-ctf__foot { align-items: stretch; flex-direction: column; }
    .v2 .v2-ctf__foot .v2-btn { width: 100%; }
    .v2-ctf__note { text-align: center; }
}

/* ============================================================
   BOOK A MEETING V2 PAGE (2026-07-04)
   Page-specific blocks for /book-meeting-v2: calendar-invite
   artifact in the hero, lazy Calendly embed card, agenda cards,
   what-happens-next steps. Reuses .v2-phero, .v2-faq, .v2-cta,
   .v2-fqchip primitives.
============================================================ */

/* ---------- Book: calendar-invite artifact ---------- */

.v2-bminvite {
    margin: 34px auto 0;
    width: min(100%, 560px);
    text-align: left;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 20px 22px;
    box-shadow: 0 1px 2px rgba(10, 16, 23, 0.05), 0 28px 56px -20px rgba(10, 16, 23, 0.16);
}
.v2-bminvite__head {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-bottom: 13px;
    border-bottom: 1px solid var(--line);
}
.v2-bminvite__dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--go);
    animation: v2Pulse 2.4s ease-out infinite;
}
.v2-bminvite__chip {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.22);
    color: var(--go-deep);
    font: 700 11.5px/1 var(--font-body);
    border-radius: 999px;
    padding: 6px 11px;
}
.v2-bminvite__chip svg { width: 14px; height: 14px; }
.v2-bminvite__title {
    margin-top: 14px;
    font: 600 18.5px/1.3 var(--font-display);
    letter-spacing: -0.015em;
    color: var(--ink);
}
.v2-bminvite__rows { margin-top: 6px; }
.v2-bminvite__row {
    display: grid;
    grid-template-columns: 74px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    padding-block: 9px;
    border-bottom: 1px solid var(--line);
}
.v2-bminvite__row:last-child { border-bottom: 0; }
.v2-bminvite__row dd {
    font: 500 14px/1.5 var(--font-body);
    color: var(--ink);
}
.v2-bminvite__host {
    display: flex;
    align-items: center;
    gap: 9px;
}
.v2-bminvite__host img {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    object-fit: cover;
}
.v2-bminvite__host span {
    color: var(--slate);
    font-weight: 400;
    font-size: 12.5px;
    white-space: nowrap;
}
.v2-bminvite__foot {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--line);
}
.v2-bminvite__foot span { white-space: nowrap; }

/* ---------- Book: scheduler embed ---------- */

.v2-bmcal__card {
    position: relative;
    margin: clamp(34px, 5vw, 46px) auto 0;
    width: min(100%, 920px);
    height: 720px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 20px;
    overflow: hidden;
}
.v2-bmcal__skel {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    background: var(--paper);
}
.v2-bmcal__skel p { animation: v2BmSkel 1.6s ease-in-out infinite; }
@keyframes v2BmSkel {
    50% { opacity: 0.4; }
}
.v2-bmcal__skel[hidden] { display: none; }
.v2-bmcal .calendly-inline-widget {
    position: relative;
    width: 100%;
    height: 100%;
    min-width: 0;
}
.v2-bmcal__alt {
    margin-top: 18px;
    text-align: center;
    font: 400 13.5px/1.7 var(--font-body);
    color: var(--slate);
}
.v2-bmcal__alt a {
    color: var(--go-deep);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.v2-bmcal__alt .v2-mono span { white-space: nowrap; }

/* ---------- Book: agenda ---------- */

.v2-bmag__grid {
    margin-top: clamp(34px, 5vw, 46px);
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}
.v2-bmag__card {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 20px 22px;
}
.v2-bmag__n {
    color: var(--go);
    font-weight: 700;
}
.v2-bmag__card h3 {
    margin-top: 10px;
    font: 600 16.5px/1.3 var(--font-display);
    letter-spacing: -0.015em;
    color: var(--ink);
}
.v2-bmag__card p {
    margin-top: 7px;
    font: 400 13.5px/1.6 var(--font-body);
    color: var(--slate);
}
.v2-bmag__topics {
    margin-top: 28px;
    text-align: center;
}
.v2-bmag__topics > .v2-mono { margin-bottom: 12px; }
.v2-bmag__chips {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

/* ---------- Book: what happens next ---------- */

.v2-bmnext__grid {
    margin-top: clamp(34px, 5vw, 46px);
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}
.v2-bmnext__step {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 22px;
}
.v2-bmnext__chip {
    display: inline-flex;
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.22);
    color: var(--go-deep);
    border-radius: 999px;
    padding: 5px 10px;
}
.v2-bmnext__step h3 {
    margin-top: 12px;
    font: 600 17px/1.3 var(--font-display);
    letter-spacing: -0.015em;
    color: var(--ink);
}
.v2-bmnext__step p {
    margin-top: 8px;
    font: 400 13.5px/1.62 var(--font-body);
    color: var(--slate);
}

.v2-bmfaq__alt {
    margin-top: 26px;
    text-align: center;
    font: 400 14px/1.6 var(--font-body);
    color: var(--slate);
}
.v2-bmfaq__alt a {
    color: var(--go-deep);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* ---------- Book: entrances ---------- */

.v2-bmag.v2-anim .v2-bmag__card,
.v2-bmnext.v2-anim .v2-bmnext__step {
    opacity: 0;
    transform: translateY(16px);
}
.v2-bmag.v2-anim.is-in .v2-bmag__card,
.v2-bmnext.v2-anim.is-in .v2-bmnext__step {
    opacity: 1;
    transform: none;
    transition: opacity 0.6s cubic-bezier(0.22, 0.8, 0.26, 1) var(--d, 0s), transform 0.6s cubic-bezier(0.22, 0.8, 0.26, 1) var(--d, 0s);
}

/* ---------- Book: mobile ---------- */

@media (max-width: 1080px) {
    .v2-bmag__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
    .v2-bmnext__grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
}

@media (max-width: 640px) {
    .v2-bmag__grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
    .v2-bmag__card { padding: 18px; }
    .v2-bmnext__step { padding: 18px; }
    .v2-bmcal__card { height: 640px; border-radius: 16px; }
}

@media (max-width: 480px) {
    .v2-bminvite { padding: 16px 18px; }
    .v2-bminvite__row { grid-template-columns: 64px minmax(0, 1fr); }
    .v2-bminvite__host span { white-space: normal; }
}

/* ============================================================
   ANDROID APP TESTING SERVICE V2 PAGE (2026-07-04)
   Page-specific blocks for /android-app-testing-service-v2:
   hero plan-card artifact, why/rejections split, included
   tiles, process steps. Reuses .v2-phero, .v2-plan, .v2-ppl,
   .v2-guarantee, .v2-faq, .v2-cta primitives.
============================================================ */

/* ---------- Enterprise page: hero plan card ---------- */

.v2-atcard {
    margin: 34px auto 0;
    width: min(100%, 420px);
    text-align: left;
}
.v2-atcard .v2-plan {
    box-shadow: 0 1px 2px rgba(10, 16, 23, 0.05), 0 28px 56px -20px rgba(10, 16, 23, 0.28);
}

/* ---------- Enterprise page: why / rejections ---------- */

.v2-atwhy__grid {
    margin-top: clamp(34px, 5vw, 46px);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(20px, 3vw, 40px);
    align-items: start;
}
.v2-atwhy__col {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: clamp(20px, 3vw, 28px);
}
.v2-atwhy__h3 {
    font: 600 18px/1.3 var(--font-display);
    letter-spacing: -0.015em;
    color: var(--ink);
}
.v2-atwhy__p {
    margin-top: 10px;
    font: 400 14px/1.65 var(--font-body);
    color: var(--slate);
}
.v2-atwhy__p a {
    color: var(--go-deep);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.v2-atwhy__list {
    margin-top: 14px;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 11px;
}
.v2-atwhy__list li {
    position: relative;
    padding-left: 26px;
    font: 400 13.5px/1.6 var(--font-body);
    color: var(--slate);
}
.v2-atwhy__list li b { color: var(--ink); }
.v2-atwhy__list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 3px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--mist) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='m7 7 6 6m0-6-6 6' stroke='%239AA6B2' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") center/9px 9px no-repeat;
}
.v2-atwhy__math {
    margin-top: 16px;
    border: 1px solid var(--line);
    border-radius: 14px;
    overflow: hidden;
}
.v2-atwhy__mrow {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 16px;
    border-bottom: 1px solid var(--line);
}
.v2-atwhy__mrow:last-child { border-bottom: 0; }
.v2-atwhy__mrow b {
    font: 700 15px/1 var(--font-display);
    letter-spacing: -0.01em;
    color: var(--ink);
    font-variant-numeric: tabular-nums;
}
.v2-atwhy__mrow--hl {
    background: var(--go-tint);
}
.v2-atwhy__mrow--hl b { color: var(--go-deep); }
.v2-atwhy__mrow--hl .v2-mono { color: var(--go-deep); }

/* ---------- Enterprise page: included tiles ---------- */

.v2-atinc__grid {
    margin-top: clamp(34px, 5vw, 46px);
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}
.v2-atinc__tile {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 20px 22px;
}
.v2-atinc__ic {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: var(--go-tint);
    color: var(--go);
    display: grid;
    place-items: center;
}
.v2-atinc__ic svg { width: 22px; height: 22px; }
.v2-atinc__tile h3 {
    margin-top: 13px;
    font: 600 16.5px/1.3 var(--font-display);
    letter-spacing: -0.015em;
    color: var(--ink);
}
.v2-atinc__tile p {
    margin-top: 7px;
    font: 400 13.5px/1.6 var(--font-body);
    color: var(--slate);
}

/* ---------- Enterprise page: process steps ---------- */

.v2-athow__grid {
    margin-top: clamp(34px, 5vw, 46px);
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}
.v2-athow__step {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 20px 22px;
}
.v2-athow__chip {
    display: inline-flex;
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.22);
    color: var(--go-deep);
    border-radius: 999px;
    padding: 5px 10px;
}
.v2-athow__step h3 {
    margin-top: 12px;
    font: 600 16.5px/1.3 var(--font-display);
    letter-spacing: -0.015em;
    color: var(--ink);
}
.v2-athow__step p {
    margin-top: 7px;
    font: 400 13.5px/1.6 var(--font-body);
    color: var(--slate);
}
.v2-athow__more {
    margin-top: 26px;
    text-align: center;
    font: 400 14px/1.6 var(--font-body);
    color: var(--slate);
}
.v2-athow__more a {
    color: var(--go-deep);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* ---------- Enterprise page: entrances ---------- */

.v2-atwhy.v2-anim .v2-atwhy__col,
.v2-atinc.v2-anim .v2-atinc__tile,
.v2-athow.v2-anim .v2-athow__step {
    opacity: 0;
    transform: translateY(16px);
}
.v2-atwhy.v2-anim.is-in .v2-atwhy__col,
.v2-atinc.v2-anim.is-in .v2-atinc__tile,
.v2-athow.v2-anim.is-in .v2-athow__step {
    opacity: 1;
    transform: none;
    transition: opacity 0.6s cubic-bezier(0.22, 0.8, 0.26, 1) var(--d, 0s), transform 0.6s cubic-bezier(0.22, 0.8, 0.26, 1) var(--d, 0s);
}
.v2-atwhy.v2-anim.is-in .v2-atwhy__col:last-child { transition-delay: 0.1s; }

/* ---------- Enterprise page: mobile ---------- */

@media (max-width: 1080px) {
    .v2-athow__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 960px) {
    .v2-atwhy__grid { grid-template-columns: minmax(0, 1fr); }
    .v2-atinc__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
    .v2-atinc__grid,
    .v2-athow__grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
    .v2-atinc__tile,
    .v2-athow__step { padding: 18px; }
    .v2-atwhy__col { padding: 18px; }
}

/* ============================================================
   CASE STUDY V2 (/case-study-v2/...) + CASE STUDIES LISTING V2
   (/case-studies-v2) - page-specific blocks (2026-07-04)
   Reuses primitives: v2-section, v2-sechead, v2-btn, v2-plan*,
   v2-guarantee*, v2-faq*, v2-video*, v2-proof__shot chrome,
   v2-phero (listing hero), v2-cta (listing close).
============================================================ */

/* ---------- Case study: hero ---------- */

.v2-csh {
    position: relative;
    padding-top: calc(var(--nav-h) + clamp(40px, 6vh, 72px));
    padding-bottom: clamp(46px, 6vh, 76px);
    overflow: hidden;
}
.v2-csh__wash {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(52rem 34rem at 88% -14%, rgba(11, 138, 71, 0.07), transparent 62%),
        radial-gradient(38rem 26rem at -10% 116%, rgba(10, 16, 23, 0.04), transparent 62%);
}
.v2-csh__grid {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
    gap: clamp(36px, 5vw, 64px);
    align-items: center;
}
.v2-csh__crumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    font-size: 10.5px;
}
.v2-csh__crumb a { color: var(--faint); text-decoration: none; }
.v2-csh__crumb a:hover { color: var(--go-deep); }
.v2-csh__crumb span[aria-hidden] { color: #C9D2DA; }
.v2-csh__chip {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: 18px;
    padding: 7px 13px;
    border-radius: 999px;
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.22);
    color: var(--go-deep);
    font-size: 11.5px;
    font-weight: 700;
}
.v2-csh__chip svg { width: 14px; height: 14px; }
.v2-csh__title {
    margin-top: 16px;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: clamp(1.9rem, 1.05rem + 2.7vw, 2.95rem);
    line-height: 1.07;
    letter-spacing: -0.026em;
    text-wrap: balance;
    color: var(--ink);
}
.v2-csh__title-go { display: block; color: var(--go); }
.v2-csh__sub {
    margin-top: 18px;
    max-width: 54ch;
    font-size: clamp(15.5px, 1.4vw, 17px);
    line-height: 1.65;
    color: var(--slate);
    text-wrap: pretty;
}
.v2-csh__fine { margin-top: 16px; font-size: 11px; }
.v2-csh__fine span { white-space: nowrap; }
.v2-csh__cta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
}

/* Case file card */
.v2-csh__stage { position: relative; }
.v2-csfile {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    overflow: hidden;
    box-shadow:
        0 1px 2px rgba(10, 16, 23, 0.05),
        0 28px 56px -20px rgba(10, 16, 23, 0.16);
}
.v2-csfile__bar {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 12px 18px;
    border-bottom: 1px solid var(--line);
    background: #FBFCFD;
}
.v2-csfile__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--go);
    position: relative;
    flex-shrink: 0;
}
.v2-csfile__dot::after {
    content: '';
    position: absolute;
    inset: -4px;
    border-radius: 50%;
    border: 1px solid rgba(11, 138, 71, 0.4);
    animation: v2Pulse 2.4s ease-out infinite;
}
.v2-csfile__status {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.22);
    color: var(--go-deep);
    font-size: 11px;
    font-weight: 700;
}
.v2-csfile__status svg { width: 12px; height: 12px; }
.v2-csfile__row {
    display: grid;
    grid-template-columns: 118px minmax(0, 1fr);
    gap: 14px;
    align-items: baseline;
    padding: 11.5px 18px;
}
.v2-csfile__row + .v2-csfile__row { border-top: 1px solid #F0F3F6; }
.v2-csfile__k { font-size: 10px; }
.v2-csfile__v {
    font-size: 13.8px;
    font-weight: 500;
    color: var(--ink);
    line-height: 1.45;
}
.v2-csfile__row--win { background: var(--go-tint); }
.v2-csfile__row--win .v2-csfile__k { color: var(--go-deep); }
.v2-csfile__row--win .v2-csfile__v {
    color: var(--go-deep);
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 7px;
}
.v2-csfile__row--win .v2-csfile__v svg { width: 15px; height: 15px; flex-shrink: 0; }
.v2-csfile__foot {
    padding: 11px 18px;
    border-top: 1px solid var(--line);
    background: #FBFCFD;
    font-size: 10px;
}
.v2-csfile__foot span { white-space: nowrap; }

/* ---------- Case study: quick answer + index ---------- */

.v2-csqa { padding: clamp(26px, 4vw, 44px) 0 clamp(10px, 2vw, 18px); }
.v2-csqa__card {
    max-width: 860px;
    margin-inline: auto;
    background: linear-gradient(180deg, #F4FAF7, #FFFFFF 140%);
    border: 1px solid rgba(11, 138, 71, 0.2);
    border-left: 4px solid var(--go);
    border-radius: 16px;
    padding: clamp(20px, 3vw, 28px);
}
.v2-csqa__top {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px 12px;
}
.v2-csqa__chip {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-family: var(--font-mono);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--go-deep);
}
.v2-csqa__chip svg { width: 14px; height: 14px; }
.v2-csqa__card > p {
    margin-top: 12px;
    font-size: 16px;
    line-height: 1.75;
    color: var(--ink);
}
.v2-cstoc {
    max-width: 860px;
    margin: 18px auto 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}
.v2-cstoc__label { font-size: 10px; margin-right: 4px; }
.v2-cstoc__links { display: flex; flex-wrap: wrap; gap: 8px; }
.v2-cstoc__links a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 12px;
    border-radius: 999px;
    background: var(--mist);
    border: 1px solid var(--line);
    color: var(--slate);
    font-size: 12.5px;
    font-weight: 600;
    text-decoration: none;
    transition: border-color 0.18s ease, color 0.18s ease;
}
.v2-cstoc__links a:hover { border-color: #C9D2DA; color: var(--ink); }
.v2-cstoc__links a .v2-mono { font-size: 9.5px; color: var(--go); }

/* ---------- Case study: snapshot ---------- */

.v2-cssnap__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    gap: clamp(32px, 5vw, 60px);
    align-items: center;
}
.v2-cssnap__head .v2-h2 { margin-top: 14px; }
.v2-cssnap__head .v2-lead { margin-top: 16px; }
.v2-cssnap__more {
    margin-top: 14px;
    font-size: 15px;
    line-height: 1.7;
    color: var(--slate);
}
.v2-cssnap__stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.v2-cssnap__stat {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 22px 20px;
}
.v2-cssnap__num {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 34px;
    letter-spacing: -0.02em;
    color: var(--ink);
    font-variant-numeric: tabular-nums;
    line-height: 1;
}
.v2-cssnap__num svg { width: 20px; height: 20px; color: var(--go); }
.v2-cssnap__lbl {
    display: block;
    margin-top: 9px;
    font-size: 13px;
    line-height: 1.45;
    color: var(--slate);
}
.v2-cssnap__stat--win { background: var(--go-tint); border-color: rgba(11, 138, 71, 0.22); }
.v2-cssnap__stat--win .v2-cssnap__lbl { color: var(--go-deep); }

/* ---------- Case study: problem + rule ---------- */

.v2-csfail__in,
.v2-csfix__in,
.v2-csend__in { max-width: 860px; margin-inline: auto; }
.v2-csfail .v2-h2,
.v2-csfix .v2-h2 { margin-top: 12px; }
.v2-csfail__p,
.v2-csfix__p {
    margin-top: 16px;
    font-size: 15.5px;
    line-height: 1.78;
    color: var(--slate);
}
.v2-csfail__p b,
.v2-csfail__p em { color: var(--ink); }
.v2-csfail__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 26px;
}
.v2-csfail__card {
    background: #FDF1F0;
    border: 1px solid rgba(180, 35, 24, 0.16);
    border-radius: 16px;
    padding: 22px;
}
.v2-csfail__tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #B42318;
    font-family: var(--font-mono);
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}
.v2-csfail__tag svg { width: 14px; height: 14px; }
.v2-csfail__card h3 {
    margin-top: 11px;
    font: 600 17px/1.3 var(--font-display);
    letter-spacing: -0.015em;
    color: var(--ink);
}
.v2-csfail__card p {
    margin-top: 8px;
    font-size: 14px;
    line-height: 1.65;
    color: var(--slate);
}
.v2-csfail .v2-h2.v2-csfail__h2b { margin-top: clamp(46px, 6vw, 64px); }

.v2-csrule {
    margin-top: 26px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    overflow: hidden;
}
.v2-csrule__bar {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 11px 18px;
    border-bottom: 1px solid var(--line);
    background: #FBFCFD;
}
.v2-csrule__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--go);
    flex-shrink: 0;
}
.v2-csrule__body { padding: 20px 22px 22px; }
.v2-csrule__body h3 {
    font: 600 17.5px/1.3 var(--font-display);
    letter-spacing: -0.015em;
    color: var(--ink);
}
.v2-csrule__body > p {
    margin-top: 9px;
    font-size: 14.5px;
    line-height: 1.7;
    color: var(--slate);
}
.v2-csrule__body b { color: var(--ink); }
.v2-csrule__list { list-style: none; margin: 14px 0 0; padding: 0; }
.v2-csrule__list li {
    position: relative;
    padding-left: 26px;
    font-size: 14px;
    line-height: 1.6;
    color: var(--slate);
}
.v2-csrule__list li + li { margin-top: 8px; }
.v2-csrule__list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 3px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--go-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M4.5 10.5l3.5 3.5 7.5-8' stroke='%230B8A47' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 9px no-repeat;
}
.v2-csrule__body > a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: 16px;
    color: var(--go-deep);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
}
.v2-csrule__body > a:hover { text-decoration: underline; text-underline-offset: 3px; }
.v2-csrule__body > a svg { width: 15px; height: 15px; }

/* ---------- Case study: fix + timeline ---------- */

.v2-csfix__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 24px;
}
.v2-csfix__card {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 22px 20px;
}
.v2-csfix__ic {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: var(--go-tint);
    color: var(--go);
}
.v2-csfix__ic svg { width: 22px; height: 22px; }
.v2-csfix__card h3 {
    margin-top: 14px;
    font: 600 16.5px/1.3 var(--font-display);
    letter-spacing: -0.015em;
    color: var(--ink);
}
.v2-csfix__card p {
    margin-top: 8px;
    font-size: 13.8px;
    line-height: 1.65;
    color: var(--slate);
}
.v2-csfix .v2-h2.v2-csfix__h2b { margin-top: clamp(46px, 6vw, 64px); }

.v2-cstl {
    margin-top: 24px;
    border-left: 2px solid var(--line);
    padding-left: 28px;
}
.v2-cstl__item { position: relative; padding-bottom: 26px; }
.v2-cstl__item:last-child { padding-bottom: 0; }
.v2-cstl__item::before {
    content: '';
    position: absolute;
    left: -35px;
    top: 3px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--paper);
    border: 2.5px solid var(--go);
    box-sizing: border-box;
}
.v2-cstl__item--done::before { background: var(--go); }
.v2-cstl__day {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 9px;
    border-radius: 7px;
    background: var(--mist);
    border: 1px solid var(--line);
    font-size: 10px;
}
.v2-cstl__item--done .v2-cstl__day {
    background: var(--go);
    border-color: var(--go);
    color: #FFFFFF;
}
.v2-cstl__day svg { width: 12px; height: 12px; }
.v2-cstl__item h3 {
    margin-top: 10px;
    font: 600 16.5px/1.35 var(--font-display);
    letter-spacing: -0.015em;
    color: var(--ink);
}
.v2-cstl__item p {
    margin-top: 6px;
    font-size: 14.3px;
    line-height: 1.68;
    color: var(--slate);
    max-width: 62ch;
}

/* ---------- Case study: proof ---------- */

.v2-csproof__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    gap: 18px;
    margin-top: clamp(36px, 5vw, 52px);
    align-items: start;
}
.v2-csproof__mail,
.v2-csproof__console { margin: 0; }
.v2-csproof__side { display: grid; gap: 18px; }
.v2-csproof__bar {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 12px 18px;
    border-bottom: 1px solid var(--line);
    background: #FBFCFD;
}
.v2-csproof__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--go);
    flex-shrink: 0;
}
.v2-csproof__cap {
    display: block;
    margin-top: 10px;
    font-size: 10.5px;
    text-align: center;
}
.v2-csproof__tile {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 26px 24px;
    text-align: center;
}
.v2-csproof__num {
    display: block;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 46px;
    line-height: 1;
    letter-spacing: -0.025em;
    color: var(--ink);
    font-variant-numeric: tabular-nums;
}
.v2-csproof__lbl {
    display: block;
    margin-top: 8px;
    font-size: 14px;
    font-weight: 600;
    color: var(--ink);
}
.v2-csproof__sub {
    display: block;
    margin-top: 6px;
    font-size: 12.8px;
    line-height: 1.55;
    color: var(--slate);
    max-width: 30ch;
    margin-inline: auto;
}

/* ---------- Case study: quote + legit ---------- */

.v2-csquote {
    max-width: 800px;
    margin: 0 auto;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: clamp(26px, 4vw, 40px);
}
.v2-csquote__mark {
    display: block;
    font-family: var(--font-display);
    font-size: 46px;
    line-height: 0.6;
    color: var(--go);
}
.v2-csquote > p {
    margin-top: 14px;
    font-family: var(--font-display);
    font-weight: 500;
    font-size: clamp(17.5px, 2vw, 21px);
    line-height: 1.5;
    letter-spacing: -0.012em;
    color: var(--ink);
    text-wrap: pretty;
}
.v2-csquote__by {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 20px;
}
.v2-csquote__av {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--ink);
    color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 17px;
    flex-shrink: 0;
}
.v2-csquote__who { display: flex; flex-direction: column; }
.v2-csquote__who b { font-size: 14.5px; color: var(--ink); }
.v2-csquote__who span { font-size: 12.5px; color: var(--slate); }
.v2-csquote__chip {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 11px;
    border-radius: 999px;
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.22);
    color: var(--go-deep);
    font-size: 11.5px;
    font-weight: 700;
}
.v2-csquote__chip svg { width: 13px; height: 13px; }

.v2-cslegit__eyebrow { margin-top: clamp(48px, 7vw, 72px); text-align: center; }
.v2-cslegit .v2-h2 { margin-top: 14px; text-align: center; }
.v2-cslegit__p {
    margin-top: 14px;
    text-align: center;
    font-size: 16px;
    color: var(--slate);
}
.v2-cslegit__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    max-width: 940px;
    margin: 28px auto 0;
}
.v2-cslegit__card {
    display: flex;
    gap: 14px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 20px;
}
.v2-cslegit__ic {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 11px;
    background: var(--go-tint);
    color: var(--go);
}
.v2-cslegit__ic svg { width: 21px; height: 21px; }
.v2-cslegit__card h3 {
    font: 600 16px/1.3 var(--font-display);
    letter-spacing: -0.015em;
    color: var(--ink);
}
.v2-cslegit__card p {
    margin-top: 6px;
    font-size: 13.8px;
    line-height: 1.62;
    color: var(--slate);
}
.v2-cslegit__rating {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
}
.v2-cslegit__rating b { font-size: 13px; color: var(--ink); }

/* ---------- Case study: bottom line + related ---------- */

.v2-csend__verdict {
    background: linear-gradient(180deg, #F4FAF7, #FFFFFF 140%);
    border: 1px solid rgba(11, 138, 71, 0.2);
    border-left: 4px solid var(--go);
    border-radius: 16px;
    padding: clamp(20px, 3vw, 28px);
}
.v2-csend__vtag {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-family: var(--font-mono);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--go-deep);
}
.v2-csend__vtag svg { width: 14px; height: 14px; }
.v2-csend__verdict > p {
    margin-top: 12px;
    font-size: 15.5px;
    line-height: 1.75;
    color: var(--ink);
}
.v2-csend__verdict a {
    color: var(--go-deep);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.v2-csend__author {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 22px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 16px 20px;
}
.v2-csend__author img {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    object-fit: cover;
}
.v2-csend__author-t { display: flex; flex-direction: column; gap: 2px; }
.v2-csend__author-t b { font-size: 15px; color: var(--ink); }
.v2-csend__author-t > span:last-child { font-size: 12.8px; color: var(--slate); }
.v2-csend__author-links { margin-left: auto; display: flex; gap: 16px; }
.v2-csend__author-links a {
    font-size: 13.5px;
    font-weight: 600;
    color: var(--go-deep);
    text-decoration: underline;
    text-underline-offset: 3px;
}
.v2-csend__relh {
    margin-top: clamp(36px, 5vw, 52px);
    font: 600 19px/1.3 var(--font-display);
    letter-spacing: -0.015em;
    color: var(--ink);
}
.v2-csend__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 16px;
}
.v2-csend__rel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 4px 12px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 15px 18px;
    text-decoration: none;
    transition: border-color 0.18s ease, box-shadow 0.25s ease;
}
.v2-csend__rel:hover {
    border-color: #C9D2DA;
    box-shadow: 0 10px 24px -14px rgba(10, 16, 23, 0.18);
}
.v2-csend__rel .v2-mono { grid-column: 1; font-size: 9.5px; }
.v2-csend__rel-t {
    grid-column: 1;
    font-size: 14.5px;
    font-weight: 600;
    color: var(--ink);
    line-height: 1.4;
}
.v2-csend__rel svg {
    grid-column: 2;
    grid-row: 1 / span 2;
    width: 17px;
    height: 17px;
    color: var(--faint);
    transition: transform 0.18s ease, color 0.18s ease;
}
.v2-csend__rel:hover svg { transform: translateX(3px); color: var(--go); }
.v2-csend__contact {
    margin-top: 26px;
    text-align: center;
    font-size: 14.5px;
    color: var(--slate);
}
.v2-csend__contact a {
    color: var(--go-deep);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* ---------- Case studies listing ---------- */

.v2-csl__grid {
    max-width: 900px;
    margin-inline: auto;
    display: grid;
    gap: 16px;
}
.v2-csl__card {
    display: block;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: clamp(24px, 3.5vw, 34px);
    text-decoration: none;
    transition: border-color 0.18s ease, box-shadow 0.25s ease;
}
.v2-csl__card:hover {
    border-color: #C9D2DA;
    box-shadow:
        0 1px 2px rgba(10, 16, 23, 0.05),
        0 24px 48px -20px rgba(10, 16, 23, 0.14);
}
.v2-csl__meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 10px;
}
.v2-csl__badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 11px;
    border-radius: 999px;
    background: var(--go);
    color: #FFFFFF;
    font-size: 11px;
    font-weight: 700;
}
.v2-csl__badge svg { width: 12px; height: 12px; }
.v2-csl__meta > .v2-mono { font-size: 10.5px; }
.v2-csl__result { margin-left: auto; color: var(--go-deep); font-size: 10.5px; }
.v2-csl__card h2 {
    margin-top: 16px;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: clamp(19px, 2.4vw, 24px);
    line-height: 1.25;
    letter-spacing: -0.018em;
    color: var(--ink);
    text-wrap: balance;
}
.v2-csl__card > p {
    margin-top: 10px;
    font-size: 14.8px;
    line-height: 1.68;
    color: var(--slate);
    max-width: 72ch;
}
.v2-csl__go {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 18px;
    color: var(--go-deep);
    font-size: 14.5px;
    font-weight: 600;
}
.v2-csl__go svg { width: 16px; height: 16px; transition: transform 0.18s ease; }
.v2-csl__card:hover .v2-csl__go svg { transform: translateX(3px); }
.v2-csl__empty { text-align: center; padding: 30px 0 10px; }
.v2-csl__empty h2 { font: 700 22px/1.3 var(--font-display); color: var(--ink); }
.v2-csl__empty p {
    margin-top: 10px;
    font-size: 15px;
    color: var(--slate);
    max-width: 52ch;
    margin-inline: auto;
}
.v2-csl__strip {
    max-width: 900px;
    margin: 30px auto 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}
.v2-csl__stat {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 18px 14px;
    text-align: center;
}
.v2-csl__num {
    display: block;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 25px;
    letter-spacing: -0.02em;
    color: var(--ink);
    font-variant-numeric: tabular-nums;
}
.v2-csl__lbl {
    display: block;
    margin-top: 5px;
    font-family: var(--font-mono);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--faint);
}
.v2-csl__note {
    max-width: 620px;
    margin: 22px auto 0;
    text-align: center;
    font-size: 13.5px;
    line-height: 1.65;
    color: var(--slate);
}

/* ---------- Case study: entrances ---------- */

.v2-csh.v2-anim .v2-csfile { opacity: 0; transform: translateY(18px); }
.v2-csh.v2-anim .v2-csfile__row { opacity: 0; transform: translateY(8px); }
.v2-csh.v2-anim.is-in .v2-csfile {
    opacity: 1;
    transform: none;
    transition: opacity 0.6s cubic-bezier(0.22, 0.8, 0.26, 1), transform 0.6s cubic-bezier(0.22, 0.8, 0.26, 1);
}
.v2-csh.v2-anim.is-in .v2-csfile__row {
    opacity: 1;
    transform: none;
    transition:
        opacity 0.5s cubic-bezier(0.22, 0.8, 0.26, 1) calc(0.15s + var(--i, 0) * 0.07s),
        transform 0.5s cubic-bezier(0.22, 0.8, 0.26, 1) calc(0.15s + var(--i, 0) * 0.07s);
}
.v2-csqa.v2-anim .v2-csqa__card,
.v2-csend.v2-anim .v2-csend__verdict,
.v2-cslegit.v2-anim .v2-csquote,
.v2-csrule,
.v2-csproof.v2-anim .v2-csproof__grid > * { will-change: auto; }
.v2-csqa.v2-anim .v2-csqa__card,
.v2-csend.v2-anim .v2-csend__verdict,
.v2-cslegit.v2-anim .v2-csquote,
.v2-csproof.v2-anim .v2-csproof__grid > * { opacity: 0; transform: translateY(16px); }
.v2-csqa.v2-anim.is-in .v2-csqa__card,
.v2-csend.v2-anim.is-in .v2-csend__verdict,
.v2-cslegit.v2-anim.is-in .v2-csquote,
.v2-csproof.v2-anim.is-in .v2-csproof__grid > * {
    opacity: 1;
    transform: none;
    transition: opacity 0.6s cubic-bezier(0.22, 0.8, 0.26, 1) var(--d, 0s), transform 0.6s cubic-bezier(0.22, 0.8, 0.26, 1) var(--d, 0s);
}
.v2-cssnap.v2-anim .v2-cssnap__stat,
.v2-csfail.v2-anim .v2-csfail__card,
.v2-csfix.v2-anim .v2-csfix__card,
.v2-cslegit.v2-anim .v2-cslegit__card,
.v2-csl.v2-anim .v2-csl__card { opacity: 0; transform: translateY(14px); }
.v2-cssnap.v2-anim.is-in .v2-cssnap__stat,
.v2-csfail.v2-anim.is-in .v2-csfail__card,
.v2-csfix.v2-anim.is-in .v2-csfix__card,
.v2-cslegit.v2-anim.is-in .v2-cslegit__card,
.v2-csl.v2-anim.is-in .v2-csl__card {
    opacity: 1;
    transform: none;
    transition:
        opacity 0.55s cubic-bezier(0.22, 0.8, 0.26, 1) calc(var(--i, 0) * 0.09s),
        transform 0.55s cubic-bezier(0.22, 0.8, 0.26, 1) calc(var(--i, 0) * 0.09s);
}

/* ---------- Case study: tablet ---------- */

@media (max-width: 960px) {
    .v2-csh__grid { grid-template-columns: minmax(0, 1fr); gap: 34px; }
    .v2-csh__stage { max-width: 560px; width: 100%; margin-inline: auto; }
    .v2-cssnap__grid { grid-template-columns: minmax(0, 1fr); gap: 30px; }
    .v2-csproof__grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 900px) {
    .v2-csfix__grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
    .v2-cslegit__grid { grid-template-columns: minmax(0, 1fr); }
    .v2-csend__grid { grid-template-columns: minmax(0, 1fr); }
    .v2-csl__strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---------- Case study: mobile ---------- */

@media (max-width: 640px) {
    .v2-csh { padding-top: calc(var(--nav-h) + 30px); padding-bottom: 40px; }
    .v2-csh__copy { text-align: center; }
    .v2-csh__crumb { justify-content: center; }
    .v2-csh__sub { margin-inline: auto; font-size: 15px; }
    .v2-csh__cta { justify-content: center; }
    .v2-csh__cta .v2-btn { flex: 1 1 100%; width: 100%; }
    .v2-csfile__bar, .v2-csfile__foot { padding: 10px 16px; }
    .v2-csfile__row { grid-template-columns: minmax(0, 1fr); gap: 3px; padding: 10px 16px; }
    .v2-csfile__v { font-size: 13.2px; }

    .v2-cstoc { gap: 6px; }
    .v2-cstoc__links { gap: 6px; }
    .v2-cstoc__links a { font-size: 12px; padding: 6px 10px; }

    .v2-cssnap__stats { gap: 10px; }
    .v2-cssnap__stat { padding: 16px; }
    .v2-cssnap__num { font-size: 27px; }
    .v2-cssnap__lbl { font-size: 12px; margin-top: 7px; }

    .v2-csfail__grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
    .v2-csfail__card { padding: 18px; }
    .v2-csfail__p, .v2-csfix__p { font-size: 14.5px; }
    .v2-csrule__body { padding: 16px 18px 18px; }

    .v2-csfix__card { padding: 18px; }
    .v2-cstl { padding-left: 22px; }
    .v2-cstl__item { padding-bottom: 22px; }
    .v2-cstl__item::before { left: -29px; }

    .v2-csproof__tile { padding: 20px; }
    .v2-csproof__num { font-size: 40px; }

    .v2-csquote { padding: 22px 20px; }
    .v2-csquote__chip { margin-left: 0; }
    .v2-cslegit__card { padding: 16px; }
    .v2-cslegit__p { font-size: 15px; }

    .v2-csend__author { padding: 14px 16px; gap: 12px; }
    .v2-csend__author-links { margin-left: 0; }
    .v2-csend__rel { padding: 13px 15px; }

    .v2-csl__card { padding: 20px; }
    .v2-csl__result { margin-left: 0; }
    .v2-csl__strip { gap: 10px; }
    .v2-csl__stat { padding: 14px 10px; }
    .v2-csl__num { font-size: 21px; }
}

@media (max-width: 480px) {
    .v2-cstoc__label { display: none; }
    .v2-csfile__v { font-size: 13px; }
    .v2-csproof__num { font-size: 38px; }
    .v2-csquote > p { font-size: 16.5px; }
}

/* ============================================================
   GOOGLE PLAY 12 TESTERS V2 PAGE (2026-07-04)
   Page-specific blocks for /google-play-12-testers-v2: split
   hero with the testers-list.csv roster window, requirement
   spec plaques + policy timeline, DIY-vs-managed funnel duel,
   Starter plan sheet. Reuses .v2s-crumbs, .v2s-answer,
   .v2-plans, .v2-plan, .v2-ppl, .v2-guarantee, .v2-rcard,
   .v2-faq, .v2-cta primitives.
============================================================ */

/* ---------- 12T page: split hero ---------- */

.v2-t12hero {
    position: relative;
    padding-top: calc(var(--nav-h) + clamp(40px, 6.5vh, 76px));
    padding-bottom: clamp(36px, 5vw, 56px);
    overflow: hidden;
}
.v2-t12hero__wash {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(50rem 32rem at 88% -10%, rgba(11, 138, 71, 0.07), transparent 62%),
        radial-gradient(38rem 26rem at -10% 110%, rgba(10, 16, 23, 0.04), transparent 62%);
}
.v2-t12hero__in {
    position: relative;
    display: grid;
    grid-template-columns: 1.06fr 0.94fr;
    gap: clamp(28px, 4.5vw, 56px);
    align-items: center;
}
.v2-t12hero__title {
    margin-top: 14px;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: clamp(2.05rem, 1.05rem + 3vw, 3.3rem);
    line-height: 1.05;
    letter-spacing: -0.028em;
    text-wrap: balance;
}
.v2-t12hero__title-go { display: block; color: var(--go); }
.v2-t12hero__sub {
    margin-top: 18px;
    max-width: 56ch;
    font-size: clamp(15.5px, 1.4vw, 16.5px);
    line-height: 1.65;
    color: var(--slate);
    text-wrap: pretty;
}
.v2-t12hero__sub strong { color: var(--ink); font-weight: 600; }
.v2-t12hero__cta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 26px;
}
.v2-t12hero__fine {
    margin-top: 15px;
    font-family: var(--font-mono);
    font-size: 11.5px;
    letter-spacing: 0.04em;
    color: var(--faint);
}
.v2-t12hero__fine span { white-space: nowrap; }
.v2-t12hero__trust {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px 15px;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid var(--line);
}
.v2-t12hero__trust-item {
    display: inline-flex;
    align-items: center;
    font-size: 13px;
    color: var(--slate);
    white-space: nowrap;
}
.v2-t12hero__trust-item b { color: var(--ink); font-weight: 600; }
.v2-t12hero__trust-item .v2-stars { margin-right: 7px; }

/* The CSV roster window */
.v2-t12hero__art { min-width: 0; }
.v2-t12csv {
    width: min(100%, 440px);
    margin-left: auto;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(10, 16, 23, 0.05), 0 28px 56px -20px rgba(10, 16, 23, 0.18);
}
.v2-t12csv__bar {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 12px 16px;
    background: var(--mist);
    border-bottom: 1px solid var(--line);
}
.v2-t12csv__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--go);
    animation: v2Pulse 2.6s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
.v2-t12csv__file {
    font-family: var(--font-mono);
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: var(--ink);
}
.v2-t12csv__chip {
    margin-left: auto;
    font-family: var(--font-mono);
    font-size: 9.5px;
    font-weight: 600;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: var(--go-deep);
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.22);
    border-radius: 999px;
    padding: 4px 9px;
    white-space: nowrap;
}
.v2-t12csv__head {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) 76px;
    gap: 10px;
    padding: 8px 16px;
    border-bottom: 1px solid var(--line);
    font-family: var(--font-mono);
    font-size: 9.5px;
    font-weight: 600;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: var(--faint);
}
.v2-t12csv__rows { list-style: none; }
.v2-t12csv__row {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) 76px;
    gap: 10px;
    align-items: center;
    padding: 7px 16px;
    border-bottom: 1px solid var(--line);
}
.v2-t12csv__row:last-child { border-bottom: 0; }
.v2-t12csv__mail {
    font-family: var(--font-mono);
    font-size: 10.5px;
    letter-spacing: 0.01em;
    color: var(--slate);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.v2-t12csv__dev {
    font-size: 11.5px;
    color: var(--slate);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.v2-t12csv__ok {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 10.5px;
    font-weight: 600;
    color: var(--go-deep);
    white-space: nowrap;
}
.v2-t12csv__ok svg { width: 11px; height: 11px; color: var(--go); flex: 0 0 auto; }
.v2-t12csv__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 13px 16px;
    background: var(--go-tint);
    border-top: 1px solid rgba(11, 138, 71, 0.18);
}
.v2-t12csv__foot b {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 15px;
    letter-spacing: -0.01em;
    color: var(--ink);
    font-variant-numeric: tabular-nums;
}
.v2-t12csv__foot .v2-mono { color: var(--go-deep); font-size: 9.5px; }
.v2-t12hero__caption {
    margin-top: 10px;
    text-align: center;
    font-size: 10.5px;
}

/* Hero entrance: rows cascade, footer arrives last */
.v2-t12hero.v2-anim .v2-t12csv { opacity: 0; transform: translateY(18px); }
.v2-t12hero.v2-anim.is-in .v2-t12csv {
    opacity: 1;
    transform: none;
    transition: opacity 0.6s cubic-bezier(0.22, 0.8, 0.26, 1), transform 0.6s cubic-bezier(0.22, 0.8, 0.26, 1);
}
.v2-t12hero.v2-anim .v2-t12csv__row { opacity: 0; transform: translateX(-8px); }
.v2-t12hero.v2-anim.is-in .v2-t12csv__row {
    opacity: 1;
    transform: none;
    transition: opacity 0.45s ease var(--d, 0s), transform 0.45s cubic-bezier(0.22, 0.8, 0.26, 1) var(--d, 0s);
}
.v2-t12hero.v2-anim .v2-t12csv__foot { opacity: 0; }
.v2-t12hero.v2-anim.is-in .v2-t12csv__foot { opacity: 1; transition: opacity 0.5s ease 1s; }

/* ---------- 12T page: requirement spec plaques + policy ---------- */

.v2-t12rule__specs {
    margin-top: clamp(36px, 5vw, 52px);
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}
.v2-t12rule__spec {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 24px 26px;
}
.v2-t12rule__fig {
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 42px;
    line-height: 1;
    letter-spacing: -0.03em;
    color: var(--ink);
    font-variant-numeric: tabular-nums;
}
.v2-t12rule__lab { margin-top: 7px; }
.v2-t12rule__spec h3 {
    margin-top: 15px;
    font: 600 17px/1.3 var(--font-display);
    letter-spacing: -0.015em;
    color: var(--ink);
}
.v2-t12rule__body {
    margin-top: 7px;
    font: 400 13.5px/1.6 var(--font-body);
    color: var(--slate);
}
.v2-t12rule__grid {
    margin-top: 14px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    align-items: start;
}
.v2-t12rule__card {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: clamp(22px, 3vw, 28px);
}
.v2-t12rule__h3 {
    font: 600 19px/1.3 var(--font-display);
    letter-spacing: -0.015em;
    color: var(--ink);
}
.v2-t12rule__p {
    margin-top: 11px;
    font: 400 14px/1.7 var(--font-body);
    color: var(--slate);
}
.v2-t12rule__p a {
    color: var(--go-deep);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.v2-t12rule__tl {
    list-style: none;
    margin-top: 20px;
    margin-left: 7px;
    padding-left: 20px;
    border-left: 2px solid var(--line);
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.v2-t12rule__node { position: relative; }
.v2-t12rule__node::before {
    content: "";
    position: absolute;
    left: -27px;
    top: 3px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--mist);
    border: 2px solid #C9D2DA;
}
.v2-t12rule__node.is-now::before { background: var(--go); border-color: var(--go); }
.v2-t12rule__node span { display: block; }
.v2-t12rule__node b {
    display: block;
    margin-top: 4px;
    font: 700 16px/1.2 var(--font-display);
    letter-spacing: -0.01em;
    color: var(--ink);
}
.v2-t12rule__node.is-now b { color: var(--go-deep); }
.v2-t12rule__node i {
    display: block;
    margin-top: 2px;
    font: 400 12.5px/1.5 var(--font-body);
    font-style: normal;
    color: var(--faint);
}
.v2-t12rule__more { margin-top: 18px; font-size: 13.5px; }
.v2-t12rule__more a {
    color: var(--go-deep);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.v2-t12rule__no {
    list-style: none;
    margin-top: 13px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.v2-t12rule__no li {
    position: relative;
    padding-left: 26px;
    font: 400 13.5px/1.6 var(--font-body);
    color: var(--slate);
}
.v2-t12rule__no li b { color: var(--ink); }
.v2-t12rule__no li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 3px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--mist) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='m7 7 6 6m0-6-6 6' stroke='%239AA6B2' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") center/9px 9px no-repeat;
}
.v2-t12rule__guides {
    margin-top: 18px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.v2-t12rule.v2-anim .v2-t12rule__spec,
.v2-t12rule.v2-anim .v2-t12rule__card {
    opacity: 0;
    transform: translateY(16px);
}
.v2-t12rule.v2-anim.is-in .v2-t12rule__spec,
.v2-t12rule.v2-anim.is-in .v2-t12rule__card {
    opacity: 1;
    transform: none;
    transition: opacity 0.6s cubic-bezier(0.22, 0.8, 0.26, 1) var(--d, 0s), transform 0.6s cubic-bezier(0.22, 0.8, 0.26, 1) var(--d, 0s);
}
.v2-t12rule.v2-anim.is-in .v2-t12rule__card:last-child { transition-delay: 0.1s; }

/* ---------- 12T page: the two paths (funnel duel) ---------- */

.v2-t12how__duel {
    margin-top: clamp(36px, 5vw, 52px);
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: clamp(14px, 2vw, 22px);
    align-items: stretch;
}
.v2-t12how__col {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: clamp(22px, 3vw, 28px);
    display: flex;
    flex-direction: column;
}
.v2-t12how__col--go {
    border-color: rgba(11, 138, 71, 0.35);
    box-shadow: 0 1px 2px rgba(10, 16, 23, 0.05), 0 22px 44px -18px rgba(11, 138, 71, 0.22);
}
.v2-t12how__vs {
    align-self: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--mist);
    border: 1px solid var(--line);
    display: grid;
    place-items: center;
    font-family: var(--font-mono);
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--slate);
}
.v2-t12how__colhead span { display: block; }
.v2-t12how__colhead h3 {
    margin-top: 5px;
    font: 600 19px/1.25 var(--font-display);
    letter-spacing: -0.015em;
    color: var(--ink);
}
.v2-t12how__cap {
    margin-top: 15px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--line);
    font-size: 10px;
}
.v2-t12how__funnel {
    list-style: none;
    margin-top: 15px;
    display: flex;
    flex-direction: column;
    gap: 13px;
}
.v2-t12how__frow {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 6px 10px;
    align-items: center;
}
.v2-t12how__flab { font-size: 12.5px; color: var(--slate); }
.v2-t12how__frow > b {
    grid-row: 1 / 3;
    grid-column: 2;
    align-self: end;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 16px;
    letter-spacing: -0.01em;
    color: var(--ink);
    font-variant-numeric: tabular-nums;
    text-align: right;
    min-width: 26px;
}
.v2-t12how__fbar {
    display: block;
    height: 8px;
    border-radius: 999px;
    background: #E9EDF1;
    overflow: hidden;
}
.v2-t12how__fbar i {
    display: block;
    height: 100%;
    width: var(--w, 100%);
    border-radius: inherit;
    background: #C3CCD4;
}
.v2-t12how__fbar i.is-go { background: var(--go); }
.v2-t12how__verdict {
    margin-top: 16px;
    border-radius: 12px;
    padding: 12px 14px;
}
.v2-t12how__verdict--no {
    background: #FDF1F0;
    border: 1px solid rgba(180, 35, 24, 0.16);
}
.v2-t12how__verdict--no .v2-t12how__chip { color: #B42318; }
.v2-t12how__verdict--yes {
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.2);
}
.v2-t12how__verdict--yes .v2-t12how__chip { color: var(--go-deep); }
.v2-t12how__chip {
    display: inline-block;
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: 0.01em;
}
.v2-t12how__verdict p {
    margin-top: 5px;
    font-size: 12.5px;
    line-height: 1.55;
    color: var(--slate);
}
.v2-t12how__foot {
    margin-top: auto;
    padding-top: 15px;
    font-size: 13px;
    line-height: 1.6;
    color: var(--slate);
}
.v2-t12how__foot a {
    color: var(--go-deep);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.v2-t12how__col--go .v2-t12how__verdict { margin-bottom: 15px; }
.v2 .v2-t12how__cta { margin-top: auto; width: 100%; }
.v2-t12how__steps {
    list-style: none;
    margin-top: clamp(40px, 5.5vw, 56px);
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(16px, 2.5vw, 28px);
}
.v2-t12how__step {
    border-top: 1px solid var(--line);
    padding-top: 16px;
}
.v2-t12how__step > span { color: var(--go-deep); }
.v2-t12how__step b {
    display: block;
    margin-top: 8px;
    font: 600 16.5px/1.3 var(--font-display);
    letter-spacing: -0.015em;
    color: var(--ink);
}
.v2-t12how__step p {
    margin-top: 6px;
    font: 400 13.5px/1.6 var(--font-body);
    color: var(--slate);
}
.v2-t12how__more {
    margin-top: 26px;
    text-align: center;
    font: 400 14px/1.6 var(--font-body);
    color: var(--slate);
}
.v2-t12how__more a {
    color: var(--go-deep);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Funnel entrance: columns rise, bars fill staggered */
.v2-t12how.v2-anim .v2-t12how__col { opacity: 0; transform: translateY(16px); }
.v2-t12how.v2-anim.is-in .v2-t12how__col {
    opacity: 1;
    transform: none;
    transition: opacity 0.6s cubic-bezier(0.22, 0.8, 0.26, 1), transform 0.6s cubic-bezier(0.22, 0.8, 0.26, 1);
}
.v2-t12how.v2-anim.is-in .v2-t12how__col--go { transition-delay: 0.12s; }
.v2-t12how.v2-anim .v2-t12how__fbar i { width: 0; }
.v2-t12how.v2-anim.is-in .v2-t12how__fbar i { width: var(--w, 100%); transition: width 0.85s cubic-bezier(0.22, 0.8, 0.26, 1); }
.v2-t12how.v2-anim.is-in .v2-t12how__frow:nth-child(1) .v2-t12how__fbar i { transition-delay: 0.25s; }
.v2-t12how.v2-anim.is-in .v2-t12how__frow:nth-child(2) .v2-t12how__fbar i { transition-delay: 0.42s; }
.v2-t12how.v2-anim.is-in .v2-t12how__frow:nth-child(3) .v2-t12how__fbar i { transition-delay: 0.59s; }

/* ---------- 12T page: Starter plan sheet ---------- */

.v2-t12kit__grid {
    margin-top: clamp(36px, 5vw, 52px);
    display: grid;
    grid-template-columns: 380px minmax(0, 1fr);
    gap: clamp(24px, 4vw, 44px);
    align-items: start;
}
.v2-t12kit__sheet {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(10, 16, 23, 0.05), 0 24px 48px -20px rgba(10, 16, 23, 0.14);
}
.v2-t12kit__shead {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 13px 18px;
    background: var(--mist);
    border-bottom: 1px solid var(--line);
}
.v2-t12kit__shead .v2-mono { color: var(--ink); font-weight: 600; }
.v2-t12kit__sdot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--go);
}
.v2-t12kit__rows { padding: 4px 18px 8px; }
.v2-t12kit__row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding: 9.5px 0;
    border-bottom: 1px solid var(--line);
}
.v2-t12kit__row:last-child { border-bottom: 0; }
.v2-t12kit__row dd {
    font-size: 13.5px;
    font-weight: 500;
    color: var(--ink);
    text-align: right;
}
.v2-t12kit__total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 13px 18px;
    border-top: 1px solid var(--line);
    background: var(--mist);
}
.v2-t12kit__price {
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 23px;
    letter-spacing: -0.02em;
    color: var(--ink);
    font-variant-numeric: tabular-nums;
}
.v2-t12kit__price i {
    font-family: var(--font-mono);
    font-style: normal;
    font-weight: 400;
    font-size: 10.5px;
    letter-spacing: 0.04em;
    color: var(--faint);
    margin-left: 7px;
}
.v2-t12kit__price i s { color: var(--faint); }
.v2-t12kit__gnote {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 14px 18px 0;
    padding: 10px 12px;
    border-radius: 10px;
    background: var(--go-tint);
    color: var(--go-deep);
    font-size: 12.5px;
    font-weight: 600;
}
.v2-t12kit__gnote svg { width: 16px; height: 16px; flex: 0 0 auto; }
.v2 .v2-t12kit__cta { display: flex; width: calc(100% - 36px); margin: 12px 18px 18px; }
.v2-t12kit__list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 17px;
}
.v2-t12kit__item {
    position: relative;
    padding-left: 32px;
}
.v2-t12kit__item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 2px;
    width: 19px;
    height: 19px;
    border-radius: 50%;
    background: var(--go-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='m5 10.5 3.6 3.6L15.5 6.5' stroke='%230B8A47' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/11px 11px no-repeat;
}
.v2-t12kit__item h3 {
    font: 600 16.5px/1.3 var(--font-display);
    letter-spacing: -0.015em;
    color: var(--ink);
}
.v2-t12kit__item p {
    margin-top: 5px;
    font: 400 13.5px/1.62 var(--font-body);
    color: var(--slate);
}
.v2-t12kit__item p a {
    color: var(--go-deep);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.v2-t12kit.v2-anim .v2-t12kit__sheet { opacity: 0; transform: translateY(18px); }
.v2-t12kit.v2-anim.is-in .v2-t12kit__sheet {
    opacity: 1;
    transform: none;
    transition: opacity 0.6s cubic-bezier(0.22, 0.8, 0.26, 1), transform 0.6s cubic-bezier(0.22, 0.8, 0.26, 1);
}
.v2-t12kit.v2-anim .v2-t12kit__item { opacity: 0; transform: translateY(14px); }
.v2-t12kit.v2-anim.is-in .v2-t12kit__item {
    opacity: 1;
    transform: none;
    transition: opacity 0.55s cubic-bezier(0.22, 0.8, 0.26, 1) var(--d, 0s), transform 0.55s cubic-bezier(0.22, 0.8, 0.26, 1) var(--d, 0s);
}

/* ---------- 12T page: plans badge + proof + CTA links ---------- */

.v2-t12plans .v2-plan__badge--page {
    background: var(--mist);
    color: var(--slate);
    border: 1px solid var(--line);
    padding: 4px 10px;
}
.v2-t12proof__grid {
    margin-top: clamp(36px, 5vw, 52px);
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    align-items: start;
}
.v2-t12proof__line {
    margin-top: 24px;
    text-align: center;
    font-size: 11.5px;
}
.v2-t12proof__line a {
    color: var(--go-deep);
    text-decoration: underline;
    text-underline-offset: 3px;
}
.v2-t12proof.v2-anim .v2-rcard { opacity: 0; transform: translateY(16px); }
.v2-t12proof.v2-anim.is-in .v2-rcard {
    opacity: 1;
    transform: none;
    transition: opacity 0.6s cubic-bezier(0.22, 0.8, 0.26, 1) var(--d, 0s), transform 0.6s cubic-bezier(0.22, 0.8, 0.26, 1) var(--d, 0s);
}
.v2-t12cta__links {
    margin-top: 18px;
    font-size: 13.5px;
    color: #93A0AC;
}
.v2-t12cta__links a {
    color: #E7ECF0;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
    white-space: nowrap;
}
.v2-t12cta__links a:hover { color: #FFFFFF; }

/* ---------- 12T page: tablet + mobile ---------- */

@media (max-width: 1080px) {
    .v2-t12kit__grid { grid-template-columns: 340px minmax(0, 1fr); }
}

@media (max-width: 960px) {
    .v2-t12hero__in { grid-template-columns: minmax(0, 1fr); }
    .v2-t12hero__copy { text-align: center; }
    .v2-t12hero__copy .v2s-crumbs { justify-content: center; }
    .v2-t12hero__title { margin-inline: auto; }
    .v2-t12hero__sub { margin-inline: auto; }
    .v2-t12hero__cta { justify-content: center; }
    .v2-t12hero__trust { justify-content: center; }
    .v2-t12csv { margin-inline: auto; }
    .v2-t12rule__specs { grid-template-columns: minmax(0, 1fr); }
    .v2-t12rule__grid { grid-template-columns: minmax(0, 1fr); }
    .v2-t12how__duel { grid-template-columns: minmax(0, 1fr); }
    .v2-t12how__vs { margin-block: -4px; }
    .v2-t12how__steps { grid-template-columns: minmax(0, 1fr); gap: 18px; }
    .v2-t12kit__grid { grid-template-columns: minmax(0, 1fr); }
    .v2-t12kit__sheet { max-width: 440px; margin-inline: auto; width: 100%; }
    .v2-t12proof__grid { grid-template-columns: minmax(0, 1fr); max-width: 480px; margin-inline: auto; }
}

@media (max-width: 640px) {
    .v2-t12hero { padding-top: calc(var(--nav-h) + 32px); }
    .v2-t12hero__sub { font-size: 15px; }
    .v2-t12hero__cta { width: 100%; max-width: 420px; margin-inline: auto; margin-top: 24px; }
    .v2 .v2-t12hero__cta .v2-btn { flex: 1 1 100%; height: 50px; }
    .v2-t12hero__trust { gap: 8px 14px; }
    .v2-t12hero__trust-item { font-size: 12.5px; }
    .v2-t12csv__bar { padding: 11px 13px; }
    .v2-t12csv__head, .v2-t12csv__row { padding-inline: 13px; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) 62px; gap: 8px; }
    .v2-t12csv__foot { padding: 12px 13px; }
    .v2-t12csv__foot .v2-mono { font-size: 8.5px; }
    .v2-t12rule__spec { padding: 20px; }
    .v2-t12rule__fig { font-size: 36px; }
    .v2-t12rule__card { padding: 20px 18px; }
    .v2-t12how__col { padding: 20px 18px; }
    .v2-t12how__steps { margin-top: 36px; }
    .v2-t12kit__rows { padding-inline: 15px; }
    .v2-t12kit__shead, .v2-t12kit__total { padding-inline: 15px; }
    .v2-t12kit__gnote { margin-inline: 15px; }
    .v2 .v2-t12kit__cta { width: calc(100% - 30px); margin: 12px 15px 15px; }
    .v2-t12kit__item h3 { font-size: 15.5px; }
    .v2-t12cta__links { font-size: 12.5px; line-height: 2; }
}

@media (max-width: 380px) {
    .v2-t12csv__dev { font-size: 10.5px; }
    .v2-t12csv__mail { font-size: 9.5px; }
    .v2-t12csv__head, .v2-t12csv__row { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) 56px; gap: 6px; }
    .v2-t12csv__ok { font-size: 9.5px; }
    .v2-t12csv__foot { flex-direction: column; align-items: flex-start; gap: 3px; }
    .v2-t12csv__foot b { white-space: nowrap; }
}

/* ============================================================
   HELP CENTER (BLOGS) V2 PAGE (2026-07-04)
   Page-specific blocks for /blogs-v2: hero popular-search chips
   + AEO capsule, situation cards, and the guide library (sticky
   category rail + grouped guide cards + service bridges).
   Reuses .v2-phero, .v2-fqsearch, .v2-fqchips, .v2-fqb__rail /
   __layout / __ghead / __gcount, .v2-fqempty, .v2-guide,
   .v2-faq__* and .v2-cta primitives.
============================================================ */

/* ---------- Help Center hero ---------- */

.v2-hch__poplabel { align-self: center; }

/* <button> chips: scoped .v2 .v2-hch__chip so the .v2 button reset
   (0,1,1) cannot outrank them (home-v2 gotcha 2). */
.v2 .v2-hch__chip {
    display: inline-flex;
    align-items: center;
    height: 34px;
    padding: 0 14px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: var(--paper);
    font: 600 12.5px/1 var(--font-body);
    color: var(--slate);
    cursor: pointer;
    transition: border-color 0.16s ease, color 0.16s ease;
}
.v2 .v2-hch__chip:hover {
    border-color: #C9D2DA;
    color: var(--ink);
}

.v2-hch__capsule {
    width: min(100%, 780px);
    margin: 30px auto 0;
    background: var(--paper);
    border: 1px solid var(--line);
    border-left: 3px solid var(--go);
    border-radius: 16px;
    padding: 20px 24px;
    text-align: left;
    box-shadow: 0 1px 2px rgba(10, 16, 23, 0.04), 0 14px 34px -22px rgba(10, 16, 23, 0.12);
}
.v2-hch__capsule-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 12px;
}
.v2-hch__capsule-meta .v2-mono span { white-space: nowrap; }
.v2-hch__capsule-chip {
    display: inline-flex;
    align-items: center;
    padding: 5px 11px;
    border-radius: 999px;
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.22);
    font: 700 11px/1 var(--font-body);
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: var(--go-deep);
}
.v2-hch__capsule-p {
    margin-top: 12px;
    font-size: 15px;
    line-height: 1.68;
    color: var(--slate);
    text-wrap: pretty;
}
.v2-hch__capsule-p strong { color: var(--ink); font-weight: 600; }

/* ---------- Situation cards ---------- */

.v2-hcs[hidden] { display: none; }

.v2-hcs__grid {
    margin-top: clamp(36px, 5vw, 50px);
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}
.v2-hcs__card {
    display: flex;
    flex-direction: column;
    gap: 10px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 22px 24px;
    text-decoration: none;
    transition: border-color 0.22s ease, box-shadow 0.22s ease;
}
.v2-hcs__card:hover {
    border-color: #C9D2DA;
    box-shadow: 0 16px 36px -20px rgba(10, 16, 23, 0.2);
}
.v2-hcs__quote {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 18.5px;
    letter-spacing: -0.015em;
    line-height: 1.3;
    color: var(--ink);
    flex: 1;
}
.v2-hcs__dest {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 13.5px;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--go-deep);
}
.v2-hcs__dest svg { flex: 0 0 auto; width: 15px; height: 15px; transition: transform 0.22s ease; }
.v2-hcs__card:hover .v2-hcs__dest svg { transform: translateX(3px); }

.v2-hcs.v2-anim .v2-hcs__card {
    opacity: 0;
    transform: translateY(16px);
}
.v2-hcs.v2-anim.is-in .v2-hcs__card {
    opacity: 1;
    transform: none;
    transition: opacity 0.6s cubic-bezier(0.22, 0.8, 0.26, 1) var(--d, 0s), transform 0.6s cubic-bezier(0.22, 0.8, 0.26, 1) var(--d, 0s);
}

/* ---------- The library ---------- */

.v2-lib__layout { margin-top: clamp(36px, 5vw, 54px); }

.v2-lib__groups {
    display: flex;
    flex-direction: column;
    gap: 46px;
    min-width: 0;
}
.v2-lib__group { scroll-margin-top: calc(var(--nav-h) + 24px); }
.v2-lib__group[hidden] { display: none; }
.v2-lib__gdesc {
    margin-top: 6px;
    max-width: 640px;
    font-size: 14.5px;
    line-height: 1.6;
    color: var(--slate);
}
.v2-lib__grid {
    margin-top: 18px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.v2-lib__card {
    padding: 0;
    gap: 0;
    overflow: hidden;
}
.v2-lib__card[hidden] { display: none; }
.v2-lib__media {
    display: block;
    aspect-ratio: 16 / 9;
    background: var(--mist);
    border-bottom: 1px solid var(--line);
}
.v2-lib__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.v2-lib__media--empty {
    display: grid;
    place-items: center;
}
.v2-lib__card-body {
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
    padding: 16px 20px 20px;
}
.v2-lib__card .v2-guide__meta {
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 8px 10px;
}
.v2-lib__card h3 { font-size: 17.5px; }
.v2-lib__flag {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    padding: 4px 9px;
    border-radius: 999px;
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.22);
    font: 700 10.5px/1 var(--font-body);
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: var(--go-deep);
}

.v2-lib__bridge {
    margin-top: 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px 18px;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 15px 20px;
}
.v2-lib__bridge p {
    font-size: 14px;
    line-height: 1.55;
    color: var(--slate);
}
.v2-lib__bridge p b { color: var(--ink); font-weight: 600; }
.v2-lib__bridge-go {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 13.5px;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--go-deep);
    text-decoration: none;
    white-space: nowrap;
}
.v2-lib__bridge-go svg { width: 15px; height: 15px; transition: transform 0.22s ease; }
.v2-lib__bridge-go:hover svg { transform: translateX(3px); }

/* Library arrival (rail + groups rise like the FAQ browser) */
.v2-lib.v2-anim .v2-fqb__rail,
.v2-lib.v2-anim .v2-lib__groups {
    opacity: 0;
    transform: translateY(16px);
}
.v2-lib.v2-anim.is-in .v2-fqb__rail,
.v2-lib.v2-anim.is-in .v2-lib__groups {
    opacity: 1;
    transform: none;
    transition: opacity 0.6s cubic-bezier(0.22, 0.8, 0.26, 1), transform 0.6s cubic-bezier(0.22, 0.8, 0.26, 1);
}
.v2-lib.v2-anim.is-in .v2-lib__groups { transition-delay: 0.1s; }

/* ---------- Help Center: mobile ---------- */

@media (max-width: 960px) {
    .v2-hcs__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }
    /* Sticky chip-row rail (from the FAQ browser) sits above the
       groups; give anchored groups room under it. */
    .v2-lib__group { scroll-margin-top: calc(var(--nav-h) + 72px); }
}

@media (max-width: 640px) {
    .v2-hch__capsule { padding: 18px; margin-top: 26px; }
    .v2-hch__capsule-p { font-size: 14px; }
    .v2-hcs__grid { grid-template-columns: minmax(0, 1fr); }
    .v2-hcs__card { padding: 18px; }
    .v2-hcs__quote { font-size: 17.5px; }
    .v2-lib__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
        margin-top: 14px;
    }
    .v2-lib__card-body { padding: 14px 18px 18px; }
    .v2-lib__card h3 { font-size: 17px; }
    .v2-lib__gdesc { font-size: 13.5px; }
    .v2-lib__groups { gap: 38px; }
    .v2-lib__bridge {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        padding: 15px 16px;
    }
}

/* ============================================================
   AUTH V2 (/user/login + /user/register + /user/reset-password)
   page-specific blocks (2026-07-04)
   Reuses primitives: v2-logo, v2-btn (scoped .v2 .v2-btn),
   v2-eyebrow, v2-mono, tokens. Everything else is v2-auth__*.
============================================================ */

.v2-authbody { background: var(--paper); }

.v2-auth {
    position: relative;
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
    overflow-x: clip;
}
.v2-auth__wash {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(52rem 34rem at 86% -12%, rgba(11, 138, 71, 0.07), transparent 62%),
        radial-gradient(40rem 28rem at -12% 110%, rgba(10, 16, 23, 0.045), transparent 62%);
}

/* ---------- Auth: top bar + footer ---------- */

.v2-auth__top {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 18px clamp(20px, 4vw, 40px);
}
.v2-auth__switch {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: var(--slate);
}
.v2-auth__switch a {
    color: var(--go-deep);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.v2-auth__foot {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px 16px;
    padding: 16px clamp(20px, 4vw, 40px) 20px;
    border-top: 1px solid var(--line);
    font-size: 10.5px;
}
.v2-auth__foot-links { display: flex; gap: 16px; }
.v2-auth__foot-links a { color: var(--faint); text-decoration: none; }
.v2-auth__foot-links a:hover { color: var(--go-deep); }

/* ---------- Auth: layout ---------- */

.v2-auth__main {
    position: relative;
    flex: 1;
    width: min(100%, 1120px);
    margin-inline: auto;
    padding: clamp(16px, 4vh, 48px) clamp(20px, 4vw, 32px) clamp(40px, 6vh, 72px);
    display: grid;
    grid-template-columns: minmax(0, 0.98fr) minmax(0, 1.02fr);
    gap: clamp(36px, 6vw, 84px);
    align-items: center;
}
.v2-auth__main--solo {
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
}
.v2-auth__main--solo .v2-auth__cardwrap { width: min(100%, 480px); }

/* ---------- Auth: trust rail ---------- */

.v2-auth__title {
    margin-top: 14px;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: clamp(1.75rem, 1.1rem + 2.1vw, 2.55rem);
    line-height: 1.07;
    letter-spacing: -0.026em;
    text-wrap: balance;
    color: var(--ink);
}
.v2-auth__title-go { display: block; color: var(--go); }
.v2-auth__sub {
    margin-top: 14px;
    max-width: 46ch;
    font-size: 15.5px;
    line-height: 1.65;
    color: var(--slate);
    text-wrap: pretty;
}
.v2-auth__list {
    list-style: none;
    margin: 22px 0 0;
    padding: 0;
}
.v2-auth__list li {
    position: relative;
    padding-left: 26px;
    font-size: 14.5px;
    line-height: 1.55;
    color: var(--ink);
    font-weight: 500;
}
.v2-auth__list li + li { margin-top: 10px; }
.v2-auth__list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 3px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--go-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M4.5 10.5l3.5 3.5 7.5-8' stroke='%230B8A47' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 9px no-repeat;
}
.v2-auth__facts { margin-top: 22px; font-size: 10.5px; }
.v2-auth__facts span { white-space: nowrap; }

/* Mini dashboard artifact (login) */
.v2-auth__peek {
    margin-top: 24px;
    max-width: 380px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(10, 16, 23, 0.04), 0 18px 40px -18px rgba(10, 16, 23, 0.14);
}
.v2-auth__peek-bar {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-bottom: 1px solid var(--line);
    background: #FBFCFD;
}
.v2-auth__peek-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--go);
    position: relative;
    flex-shrink: 0;
}
.v2-auth__peek-dot::after {
    content: '';
    position: absolute;
    inset: -4px;
    border-radius: 50%;
    border: 1px solid rgba(11, 138, 71, 0.4);
    animation: v2Pulse 2.4s ease-out infinite;
}
.v2-auth__peek-bar .v2-mono { font-size: 9.5px; }
.v2-auth__peek-day { margin-left: auto; color: var(--go-deep); }
.v2-auth__peek-body { padding: 14px; }
.v2-auth__peek-track {
    height: 8px;
    border-radius: 999px;
    background: #E9EDF1;
    overflow: hidden;
}
.v2-auth__peek-track i {
    display: block;
    height: 100%;
    border-radius: 999px;
    background: var(--go);
}
.v2-auth__peek-body .v2-mono { margin-top: 9px; font-size: 9.5px; }

/* Customer quote (register) */
.v2-auth__quote {
    margin: 24px 0 0;
    max-width: 400px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 18px 20px;
}
.v2-auth__quote > p {
    font-family: var(--font-display);
    font-weight: 500;
    font-size: 15.5px;
    line-height: 1.5;
    letter-spacing: -0.01em;
    color: var(--ink);
}
.v2-auth__quote footer {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-top: 12px;
    font-size: 12.5px;
    color: var(--slate);
}
.v2-auth__quote footer b { color: var(--ink); }
.v2-auth__quote-av {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--ink);
    color: #FFFFFF;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 12px;
    flex-shrink: 0;
}

/* ---------- Auth: card ---------- */

.v2-auth__cardwrap { position: relative; }
.v2-auth__card {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: clamp(24px, 3.4vw, 36px);
    box-shadow:
        0 1px 2px rgba(10, 16, 23, 0.05),
        0 28px 56px -20px rgba(10, 16, 23, 0.16);
    animation: v2RiseCard 0.55s cubic-bezier(0.22, 0.8, 0.26, 1) both;
}
.v2-auth__h2 {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 24px;
    letter-spacing: -0.02em;
    color: var(--ink);
}
.v2-auth__hint {
    margin-top: 7px;
    font-size: 14px;
    line-height: 1.6;
    color: var(--slate);
}
.v2-auth__hint b { color: var(--ink); font-weight: 600; }

/* Alerts */
.v2-auth__alert {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 18px;
    padding: 13px 15px;
    border-radius: 12px;
    font-size: 13.8px;
    line-height: 1.55;
}
.v2-auth__alert svg { width: 17px; height: 17px; flex-shrink: 0; margin-top: 1px; }
.v2-auth__alert p { color: inherit; }
.v2-auth__alert.is-ok {
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.22);
    color: var(--go-deep);
}
.v2-auth__alert.is-err {
    background: #FDF1F0;
    border: 1px solid rgba(180, 35, 24, 0.16);
    color: #B42318;
}
.v2-auth__alert a { color: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

/* Fields */
.v2-auth__form { margin-top: 20px; }
.v2-auth__group + .v2-auth__group { margin-top: 15px; }
.v2-auth__label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--ink);
    margin-bottom: 6px;
}
.v2-auth__fieldwrap { position: relative; }
.v2-auth__fic {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    color: var(--faint);
    pointer-events: none;
    transition: color 0.18s ease;
}
.v2-auth__fieldwrap:focus-within .v2-auth__fic { color: var(--go); }
.v2 .v2-auth__input {
    width: 100%;
    height: 48px;
    padding: 0 44px 0 42px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 12px;
    font: 400 14.5px/1.4 var(--font-body);
    color: var(--ink);
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
    appearance: none;
}
.v2 .v2-auth__input::placeholder { color: var(--faint); }
.v2 .v2-auth__input:focus {
    outline: none;
    border-color: var(--go);
    box-shadow: 0 0 0 3px rgba(11, 138, 71, 0.14);
}
.v2 .v2-auth__input.is-invalid { border-color: rgba(180, 35, 24, 0.55); }
.v2 .v2-auth__input.is-invalid:focus { box-shadow: 0 0 0 3px rgba(180, 35, 24, 0.12); }
.v2-auth__ferr {
    margin-top: 6px;
    font-size: 12.5px;
    line-height: 1.5;
    color: #B42318;
}
.v2 .v2-auth__eye {
    position: absolute;
    right: 6px;
    top: 50%;
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    border-radius: 9px;
    color: var(--faint);
    cursor: pointer;
    transition: color 0.18s ease, background-color 0.18s ease;
}
.v2 .v2-auth__eye:hover { color: var(--ink); background: var(--mist); }
.v2 .v2-auth__eye svg { width: 19px; height: 19px; }

/* Remember + forgot row */
.v2-auth__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 15px;
}
.v2-auth__check {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13.5px;
    color: var(--slate);
    cursor: pointer;
    user-select: none;
}
.v2-auth__check input {
    width: 17px;
    height: 17px;
    accent-color: var(--go);
    cursor: pointer;
}
.v2 .v2-auth__forgot {
    background: none;
    border: none;
    padding: 0;
    font: 600 13.5px/1.4 var(--font-body);
    color: var(--go-deep);
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
}
.v2 .v2-auth__forgot:hover { color: var(--go); }

.v2-auth__captcha { margin-top: 16px; }

/* Submit + loading state */
.v2 .v2-auth__submit {
    width: 100%;
    margin-top: 18px;
    position: relative;
}
.v2 .v2-auth__submit.is-loading {
    pointer-events: none;
    opacity: 0.85;
}
.v2-auth__spinner {
    width: 17px;
    height: 17px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.35);
    border-top-color: #FFFFFF;
    animation: v2AuthSpin 0.7s linear infinite;
}
@keyframes v2AuthSpin { to { transform: rotate(360deg); } }
.v2-auth__terms {
    margin-top: 12px;
    text-align: center;
    font-size: 12.5px;
    line-height: 1.6;
    color: var(--faint);
}
.v2-auth__terms a { color: var(--slate); text-decoration: underline; text-underline-offset: 3px; }
.v2-auth__terms a:hover { color: var(--go-deep); }

/* Divider + Google + switch */
.v2-auth__or {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 18px 0;
    color: var(--faint);
    font-size: 12px;
}
.v2-auth__or::before,
.v2-auth__or::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--line);
}
.v2 .v2-auth__google { width: 100%; }
.v2-auth__alt {
    margin-top: 18px;
    text-align: center;
    font-size: 14px;
    color: var(--slate);
}
.v2-auth__alt a {
    color: var(--go-deep);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.v2-auth__secure {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid var(--line);
    font-size: 10px;
    text-align: center;
}
.v2-auth__secure svg { width: 14px; height: 14px; color: var(--go); }
.v2-auth__secure span { white-space: nowrap; }

/* [hidden] beats base display rules (V2 gotcha 12.3) */
.v2-auth [hidden] { display: none !important; }

/* ---------- Auth: tablet ---------- */

@media (max-width: 960px) {
    .v2-auth__main {
        grid-template-columns: minmax(0, 1fr);
        gap: 34px;
        align-items: start;
        align-content: start;
        padding-top: 10px;
    }
    /* Card first on mobile: the form is what people came for */
    .v2-auth__cardwrap { order: 1; width: min(100%, 480px); margin-inline: auto; }
    .v2-auth__side { order: 2; width: min(100%, 480px); margin-inline: auto; }
    .v2-auth__title { font-size: clamp(1.5rem, 1.1rem + 2vw, 1.9rem); }
}

/* ---------- Auth: mobile ---------- */

@media (max-width: 640px) {
    .v2-auth__top { padding: 14px 20px; }
    .v2-auth__switch span { display: none; }
    .v2-auth__main { padding-bottom: 34px; }
    .v2-auth__card { padding: 22px 18px; border-radius: 16px; }
    .v2-auth__h2 { font-size: 21px; }
    .v2-auth__hint { font-size: 13.5px; }
    .v2-auth__side { text-align: center; }
    .v2-auth__sub { margin-inline: auto; font-size: 14.5px; }
    .v2-auth__list { display: inline-block; text-align: left; margin-top: 18px; }
    .v2-auth__list li { font-size: 13.8px; }
    .v2-auth__peek, .v2-auth__quote { margin-inline: auto; text-align: left; }
    .v2-auth__facts { margin-top: 18px; }
    .v2-auth__foot { justify-content: center; text-align: center; }
}

@media (max-width: 380px) {
    .v2-auth__card { padding: 20px 15px; }
    .v2-auth__row { flex-wrap: wrap; gap: 8px; }
    .v2-auth__foot-links { gap: 12px; }
}

/* ============================================================
   PREMIUM QA PACKAGE - SHARED GRID BITS (2026-07-04)
   4-card plan grid modifier (Starter / Enterprise featured /
   Professional / Premium QA) + the green-tint "Deep QA" badge.
   Applied wherever a plan grid gained the 4th card.
============================================================ */

.v2-plans--4 {
    grid-template-columns: 1fr 1.06fr 1fr 1fr;
    max-width: none;
    gap: 16px;
}
.v2-plan__badge--tint {
    color: var(--go-deep);
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.22);
}

@media (max-width: 1100px) {
    .v2-plans--4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: 720px;
        margin-inline: auto;
    }
}
@media (max-width: 640px) {
    .v2-plans--4 {
        grid-template-columns: minmax(0, 1fr);
        max-width: 480px;
    }
}

/* ============================================================
   PREMIUM QA LANDING PAGE (2026-07-04)
   /google-play-qa-testing-service - page-specific blocks.
   Reuses .v2-phero, .v2-plan/.v2-plans--4, .v2-atinc tiles,
   .v2-faq__*, .v2-guarantee, .v2-cta primitives.
============================================================ */

/* ---------- QA hero: split + report stack card ---------- */

.v2-qhero__grid {
    position: relative;
    display: grid;
    grid-template-columns: 1.06fr 0.94fr;
    gap: clamp(32px, 5vw, 64px);
    align-items: center;
}
.v2-qhero__copy .v2-phero__trust { justify-content: flex-start; }

.v2-qhero__card {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: 20px;
    box-shadow: 0 1px 2px rgba(10, 16, 23, 0.05), 0 28px 56px -20px rgba(10, 16, 23, 0.16);
}
.v2-qhero__card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--line);
}
.v2-qhero__card-chip {
    display: inline-flex;
    align-items: center;
    padding: 5px 11px;
    border-radius: 999px;
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.22);
    font: 700 11px/1 var(--font-body);
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: var(--go-deep);
    white-space: nowrap;
}
.v2-qhero__files {
    list-style: none;
    margin: 6px 0 0;
    padding: 0;
}
.v2-qhero__files li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 2px;
    border-bottom: 1px solid var(--line);
}
.v2-qhero__files li:last-child { border-bottom: 0; }
.v2-qhero__file {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    font: 600 13px/1.2 var(--font-mono);
    letter-spacing: 0.02em;
    color: var(--ink);
    min-width: 0;
}
.v2-qhero__file svg { flex: 0 0 auto; width: 17px; height: 17px; color: var(--faint); }
.v2-qhero__day {
    flex: 0 0 auto;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 4px 9px;
}
.v2-qhero__day--go {
    background: var(--go-tint);
    border-color: rgba(11, 138, 71, 0.22);
    color: var(--go-deep);
}
.v2-qhero__note {
    margin-top: 12px;
    font-size: 12.5px;
    line-height: 1.5;
    color: var(--faint);
}
.v2-qhero__note a { color: var(--go-deep); font-weight: 600; text-decoration: none; }
.v2-qhero__note a:hover { text-decoration: underline; }
.v2-qhero__buy {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--line);
}
.v2-qhero__amount {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 30px;
    letter-spacing: -0.025em;
    color: var(--ink);
    font-variant-numeric: tabular-nums;
}
.v2-qhero__cur { font-size: 0.62em; vertical-align: 0.28em; margin-right: 1px; }
.v2-qhero__pmeta {
    display: block;
    margin-top: 2px;
    font-family: var(--font-mono);
    font-size: 10.5px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--faint);
    white-space: nowrap;
}
.v2-qhero__pmeta b { color: var(--go-deep); }
.v2 .v2-qhero__cta { flex: 0 0 auto; }

/* ---------- 25 + 5 split cards ---------- */

.v2-qam__grid {
    margin-top: clamp(36px, 5vw, 50px);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.v2-qam__card {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: clamp(22px, 3vw, 28px);
}
.v2-qam__card--qa { border-color: rgba(11, 138, 71, 0.3); }
.v2-qam__head {
    display: flex;
    align-items: center;
    gap: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--line);
}
.v2-qam__num {
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 44px;
    line-height: 1;
    letter-spacing: -0.03em;
    color: var(--ink);
    font-variant-numeric: tabular-nums;
}
.v2-qam__num--go { color: var(--go); }
.v2-qam__title h3 {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 18.5px;
    letter-spacing: -0.015em;
    color: var(--ink);
}
.v2-qam__title .v2-mono { display: block; margin-top: 4px; }
.v2-qam__list {
    list-style: none;
    margin: 16px 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 11px;
}
.v2-qam__list li {
    position: relative;
    padding-left: 26px;
    font-size: 14px;
    line-height: 1.55;
    color: var(--slate);
}
.v2-qam__list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 2px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--go-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5.5 10.5l3 3 6-6.5' stroke='%230B8A47' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 10.5px no-repeat;
}
.v2-qam__foot {
    margin: 26px auto 0;
    max-width: 720px;
    text-align: center;
    font-size: 14.5px;
    line-height: 1.6;
    color: var(--slate);
}
.v2-qam__foot b { color: var(--ink); }

.v2-qam.v2-anim .v2-qam__card {
    opacity: 0;
    transform: translateY(16px);
}
.v2-qam.v2-anim.is-in .v2-qam__card {
    opacity: 1;
    transform: none;
    transition: opacity 0.6s cubic-bezier(0.22, 0.8, 0.26, 1), transform 0.6s cubic-bezier(0.22, 0.8, 0.26, 1);
}
.v2-qam.v2-anim.is-in .v2-qam__card--qa { transition-delay: 0.12s; }

/* ---------- Reports: real doc + cadence ---------- */

.v2-qar__grid {
    margin-top: clamp(36px, 5vw, 50px);
    display: grid;
    grid-template-columns: 1.02fr 0.98fr;
    gap: clamp(24px, 4vw, 44px);
    align-items: start;
}
.v2-qar__doc {
    display: block;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    overflow: hidden;
    text-decoration: none;
    cursor: zoom-in;
    transition: border-color 0.22s ease, box-shadow 0.22s ease;
}
.v2-qar__doc:hover {
    border-color: #C9D2DA;
    box-shadow: 0 16px 36px -20px rgba(10, 16, 23, 0.2);
}
.v2-qar__doc-bar {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 12px 16px;
    border-bottom: 1px solid var(--line);
    background: var(--mist);
}
.v2-qar__doc-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--go);
}
.v2-qar__doc-open { margin-left: auto; color: var(--go-deep); }
.v2-qar__doc img { display: block; width: 100%; height: auto; }
.v2-qar__doc-foot {
    display: block;
    padding: 11px 16px;
    border-top: 1px solid var(--line);
    font-size: 12.5px;
    color: var(--faint);
}
.v2-qar__h3 {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 19px;
    letter-spacing: -0.015em;
    color: var(--ink);
}
.v2-qar__list {
    list-style: none;
    margin: 16px 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.v2-qar__list li {
    position: relative;
    padding-left: 26px;
    font-size: 14.5px;
    line-height: 1.6;
    color: var(--slate);
}
.v2-qar__list li b { color: var(--ink); }
.v2-qar__list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 3px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--go-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5.5 10.5l3 3 6-6.5' stroke='%230B8A47' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 10.5px no-repeat;
}
.v2-qar__timeline {
    margin-top: 24px;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 18px 20px;
}
.v2-qar__tl-t { margin-bottom: 14px; }
.v2-qar__tl {
    position: relative;
    display: flex;
    justify-content: space-between;
}
.v2-qar__tl::before {
    content: "";
    position: absolute;
    left: 8px;
    right: 8px;
    top: 7px;
    height: 2px;
    background: #E0E6EB;
}
.v2-qar__tl-stop {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7px;
}
.v2-qar__tl-stop i {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--paper);
    border: 2px solid #C6CFD8;
}
.v2-qar__tl-stop--go i {
    border-color: var(--go);
    background: var(--go);
    box-shadow: 0 0 0 3px var(--go-tint);
}
.v2-qar__tl-note {
    margin-top: 14px;
    font-size: 12.5px;
    line-height: 1.55;
    color: var(--faint);
}

.v2-qar.v2-anim .v2-qar__doc,
.v2-qar.v2-anim .v2-qar__side {
    opacity: 0;
    transform: translateY(16px);
}
.v2-qar.v2-anim.is-in .v2-qar__doc,
.v2-qar.v2-anim.is-in .v2-qar__side {
    opacity: 1;
    transform: none;
    transition: opacity 0.6s cubic-bezier(0.22, 0.8, 0.26, 1), transform 0.6s cubic-bezier(0.22, 0.8, 0.26, 1);
}
.v2-qar.v2-anim.is-in .v2-qar__side { transition-delay: 0.1s; }

/* ---------- Premium QA landing: mobile ---------- */

@media (max-width: 960px) {
    .v2-qhero__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 34px;
    }
    .v2-qhero__copy { text-align: center; }
    .v2-qhero__copy .v2-phero__title,
    .v2-qhero__copy .v2-phero__sub { margin-inline: auto; }
    .v2-qhero__copy .v2-phero__trust { justify-content: center; }
    .v2-qhero__card { max-width: 520px; margin-inline: auto; width: 100%; }
    .v2-qam__grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
    .v2-qar__grid { grid-template-columns: minmax(0, 1fr); }
    .v2-qar__doc { max-width: 560px; margin-inline: auto; }
}

@media (max-width: 640px) {
    .v2-qhero__card { padding: 16px; border-radius: 18px; }
    .v2-qhero__file { font-size: 11.5px; gap: 7px; }
    .v2-qhero__file svg { width: 15px; height: 15px; }
    .v2-qhero__day { font-size: 9.5px; padding: 3px 7px; }
    .v2-qhero__buy {
        flex-direction: column;
        align-items: stretch;
        text-align: center;
        gap: 10px;
    }
    .v2 .v2-qhero__cta { width: 100%; height: 48px; }
    .v2-qam__card { padding: 20px 18px; }
    .v2-qam__num { font-size: 38px; }
    .v2-qam__list li { font-size: 13.5px; }
    .v2-qar__tl-stop .v2-mono { font-size: 9px; }
    .v2-qar__timeline { padding: 15px 14px; }
}

/* ============================================================
   CHECKOUT V2 (/checkout/view) - page blocks (2026-07-04)
   Distraction-free money page: minimal top bar, order column +
   sticky payment rail, mobile pay bar, guest modal, V2 toast.
   Reuses .v2-logo, .v2-btn, .v2-eyebrow, .v2-mono primitives.
============================================================ */

.v2-ckbody { background: var(--paper); }
/* Kill every UA list/definition default in one place: the base reset
   only covers headings and paragraphs, and these bit us one by one
   (ol/ul 40px indent, figure/blockquote 1em 40px, dd 40px). Declared
   FIRST so the per-component rules below still win on margins. */
.v2-ck__items, .v2-ck__addonlist, .v2-ck__steps, .v2-ck__stats,
.v2-ck__savelist, .v2-ck__vault-list, .v2-ck__sum, .v2-ck__orderline {
    margin: 0;
    padding: 0;
    list-style: none;
}
.v2-ck__sumrow dd, .v2-ck__minirev, .v2-ck__minirev blockquote { margin: 0; }
.v2-ck {
    position: relative;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    overflow: clip;
}
.v2-ck__wash {
    position: absolute;
    inset: 0 0 auto 0;
    height: 420px;
    pointer-events: none;
    background:
        radial-gradient(46rem 26rem at 92% -20%, rgba(11, 138, 71, 0.06), transparent 62%),
        radial-gradient(34rem 22rem at -8% -30%, rgba(10, 16, 23, 0.04), transparent 62%);
}

/* ---------- Checkout: head + layout ---------- */

.v2-ck__main {
    position: relative;
    width: 100%;
    padding-top: calc(var(--nav-h) + clamp(28px, 4.5vw, 52px));
    padding-bottom: clamp(48px, 7vw, 80px);
}
.v2-ck__head { margin-bottom: clamp(26px, 4vw, 40px); text-align: center; }
.v2-ck__headchip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--font-mono);
    font-weight: 600;
    font-size: 10.5px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--go-deep);
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.2);
    border-radius: 999px;
    padding: 6px 12px;
    white-space: nowrap;
}
.v2-ck__headchip svg { width: 13px; height: 13px; }
.v2-ck__title {
    margin-top: 14px;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: clamp(1.85rem, 1.15rem + 2.2vw, 2.7rem);
    line-height: 1.06;
    letter-spacing: -0.025em;
    color: var(--ink);
    text-wrap: balance;
}
.v2-ck__sub {
    margin: 10px auto 0;
    max-width: 58ch;
    font-size: 15px;
    line-height: 1.6;
    color: var(--slate);
    text-wrap: pretty;
}
.v2-ck__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 400px;
    grid-template-rows: auto 1fr;
    grid-template-areas:
        "cola rail"
        "colb rail";
    gap: 16px clamp(18px, 2.5vw, 30px);
    align-items: start;
}
.v2-ck__col--a { grid-area: cola; }
.v2-ck__col--b { grid-area: colb; }
.v2-ck__col { min-width: 0; }
.v2-ck__card {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: clamp(20px, 2.6vw, 26px);
}
.v2-ck__col .v2-ck__card { margin-bottom: 16px; }
.v2-ck__col .v2-ck__card:last-child { margin-bottom: 0; }
.v2-ck__cardhead {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}
.v2-ck__h2 {
    font: 600 18.5px/1.25 var(--font-display);
    letter-spacing: -0.015em;
    color: var(--ink);
}
.v2-ck__addmore {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    color: var(--go-deep);
}
.v2-ck__addmore:hover { text-decoration: underline; text-underline-offset: 3px; }
.v2-ck__addmore svg { width: 14px; height: 14px; }

/* ---------- Checkout: order items ---------- */

.v2-ck__items { list-style: none; margin-top: 6px; }
.v2-ck__item {
    display: grid;
    grid-template-columns: 44px minmax(0, 1.5fr) auto auto 30px;
    grid-template-areas: "icon main qty price remove";
    gap: 8px 14px;
    align-items: center;
    padding: 15px 0;
    border-bottom: 1px solid var(--line);
}
.v2-ck__item:last-child { border-bottom: 0; }
.v2-ck__item-ic {
    grid-area: icon;
    width: 44px;
    height: 44px;
    border-radius: 13px;
    background: var(--go-tint);
    color: var(--go);
    display: grid;
    place-items: center;
}
.v2-ck__item-ic svg { width: 22px; height: 22px; }
.v2-ck__item-main { grid-area: main; min-width: 0; }
.v2-ck__item-id { display: flex; align-items: center; gap: 8px; }
.v2-ck__savechip {
    font-size: 10.5px;
    font-weight: 700;
    color: var(--go-deep);
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.22);
    border-radius: 999px;
    padding: 2px 8px;
    white-space: nowrap;
}
.v2-ck__item-name {
    margin-top: 5px;
    font: 600 15px/1.35 var(--font-display);
    letter-spacing: -0.01em;
    color: var(--ink);
}
.v2-ck__item-name i {
    display: block;
    margin-top: 2px;
    font: 400 12.5px/1.5 var(--font-body);
    font-style: normal;
    color: var(--faint);
}
.v2-ck__item-qty { grid-area: qty; display: flex; flex-direction: column; gap: 5px; }
.v2-ck__item-qty > .v2-mono { font-size: 9.5px; }
.v2-ck__stepper {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--line);
    border-radius: 10px;
    overflow: hidden;
    background: var(--paper);
}
.v2 .v2-ck__step {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    color: var(--slate);
    background: var(--paper);
    transition: background 0.15s ease, color 0.15s ease;
}
.v2 .v2-ck__step:hover { background: var(--mist); color: var(--ink); }
.v2 .v2-ck__step svg { width: 13px; height: 13px; }
.v2-ck__qty {
    min-width: 34px;
    text-align: center;
    font: 700 15px/1 var(--font-display);
    color: var(--ink);
    font-variant-numeric: tabular-nums;
}
.v2-ck__item-price { grid-area: price; text-align: right; }
.v2-ck__item-unit { font-size: 10px; color: var(--faint); }
.v2-ck__item-unit s { color: var(--faint); margin-right: 3px; }
.v2-ck__item-total {
    margin-top: 3px;
    font: 700 17px/1 var(--font-display);
    letter-spacing: -0.01em;
    color: var(--ink);
    font-variant-numeric: tabular-nums;
}
.v2 .v2-ck__remove {
    grid-area: remove;
    justify-self: end;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 28px;
    min-width: 28px;
    border-radius: 8px;
    background: var(--mist);
    color: var(--faint);
    transition: background 0.15s ease, color 0.15s ease;
}
.v2 .v2-ck__remove:hover { background: #E8EDF1; color: var(--ink); }
.v2 .v2-ck__remove svg { width: 13px; height: 13px; }
.v2-ck__remove-confirm { display: none; font-size: 11.5px; font-weight: 700; padding: 0 10px; white-space: nowrap; }
.v2 .v2-ck__remove.is-arm { background: var(--ink); color: #FFFFFF; }
.v2 .v2-ck__remove.is-arm .v2-ck__remove-x { display: none; }
.v2 .v2-ck__remove.is-arm .v2-ck__remove-confirm { display: inline; }
.v2-ck__orderline { margin-top: 14px; font-size: 11px; }
.v2-ck__orderline b { color: var(--ink); }
.v2-ck__orderline span { white-space: nowrap; }

/* ---------- Checkout: add-ons ---------- */

.v2 .v2-ck__addons-head {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    text-align: left;
    cursor: default;
}
.v2-ck__cardhead-t { display: flex; align-items: center; gap: 10px; }
.v2-ck__optchip {
    font-size: 9.5px;
    color: var(--faint);
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 3px 9px;
}
.v2-ck__addons-chev { display: none; width: 18px; height: 18px; color: var(--faint); transition: transform 0.2s ease; }
.v2-ck__addons-body { margin-top: 14px; }
.v2-ck__addonlist { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.v2-ck__addon {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr) auto;
    gap: 13px;
    align-items: center;
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 13px 15px;
    cursor: pointer;
    user-select: none;
    transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}
.v2-ck__addon:hover { border-color: #C9D2DA; box-shadow: 0 6px 18px -8px rgba(10, 16, 23, 0.14); }
.v2-ck__addon-ic {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: var(--mist);
    color: var(--slate);
    display: grid;
    place-items: center;
    transition: background 0.15s ease, color 0.15s ease;
}
.v2-ck__addon-ic svg { width: 20px; height: 20px; }
.v2-ck__addon-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
}
.v2-ck__addon-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 62px;
    border-radius: 999px;
    border: 1px solid var(--line);
    background: var(--mist);
    padding: 3.5px 11px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--slate);
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.v2-ck__addon:hover .v2-ck__addon-pill { border-color: var(--ink); background: var(--ink); color: #FFFFFF; }
.v2-ck__addon-pill-added { display: none; align-items: center; gap: 4px; }
.v2-ck__addon-pill-added svg { width: 11px; height: 11px; }
.v2-ck__addon.addon-selected { border-color: rgba(11, 138, 71, 0.45); background: #F6FBF8; }
.v2-ck__addon.addon-selected .v2-ck__addon-ic { background: var(--go-tint); color: var(--go-deep); }
.v2-ck__addon.addon-selected .v2-ck__addon-pill { background: var(--go); border-color: var(--go); color: #FFFFFF; }
.v2-ck__addon.addon-selected .v2-ck__addon-pill-add { display: none; }
.v2-ck__addon.addon-selected .v2-ck__addon-pill-added { display: inline-flex; }
.v2-ck__addon-t { min-width: 0; }
.v2-ck__addon-t b {
    display: flex;
    align-items: center;
    gap: 7px;
    flex-wrap: wrap;
    font-size: 14px;
    font-weight: 600;
    color: var(--ink);
}
.v2-ck__addon-t i {
    display: block;
    margin-top: 2px;
    font-size: 12.5px;
    font-style: normal;
    line-height: 1.5;
    color: var(--slate);
}
.v2-ck__bundlechip {
    font-size: 10px;
    font-weight: 700;
    color: #FFFFFF;
    background: var(--go);
    border-radius: 999px;
    padding: 2.5px 8px;
    white-space: nowrap;
}
.v2-ck__addon-price {
    font: 700 14.5px/1.2 var(--font-display);
    letter-spacing: -0.01em;
    color: var(--ink);
    font-variant-numeric: tabular-nums;
    text-align: right;
    white-space: nowrap;
}
.v2-ck__addon-price s {
    display: block;
    font: 400 10.5px/1.2 var(--font-mono);
    color: var(--faint);
}

/* ---------- Checkout: what happens next ---------- */

.v2-ck__steps {
    list-style: none;
    margin-top: 16px;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 22px;
}
.v2-ck__stepitem {
    position: relative;
    background: var(--mist);
    border-radius: 14px;
    padding: 16px 18px 16px 54px;
}
.v2-ck__steppip {
    position: absolute;
    left: 16px;
    top: 17px;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.25);
    display: grid;
    place-items: center;
    font: 700 12.5px/1 var(--font-display);
    color: var(--go-deep);
    font-variant-numeric: tabular-nums;
}
.v2-ck__stepitem > .v2-mono { color: var(--go-deep); font-size: 10px; }
.v2-ck__stepitem b {
    display: block;
    margin-top: 4px;
    font: 600 15px/1.3 var(--font-display);
    letter-spacing: -0.01em;
    color: var(--ink);
}
.v2-ck__stepitem p { margin-top: 4px; font-size: 12.5px; line-height: 1.55; color: var(--slate); }

/* ---------- Checkout: payment rail ---------- */

.v2-ck__rail { grid-area: rail; position: sticky; top: calc(var(--nav-h) + 16px); min-width: 0; }
.v2-ck__pay {
    padding: 0;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(10, 16, 23, 0.05), 0 24px 48px -20px rgba(10, 16, 23, 0.16);
}
.v2-ck__payhead {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 13px 18px;
    background: var(--mist);
    border-bottom: 1px solid var(--line);
}
.v2-ck__payhead .v2-mono { color: var(--ink); font-weight: 600; }
.v2-ck__payhead svg { width: 15px; height: 15px; margin-left: auto; color: var(--faint); }
.v2-ck__paydot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--go);
    animation: v2Pulse 2.6s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
.v2-ck__paybody { padding: clamp(18px, 2.4vw, 22px); }
.v2-ck__alert {
    display: flex;
    gap: 9px;
    align-items: flex-start;
    border-radius: 12px;
    padding: 11px 13px;
    margin-bottom: 16px;
    font-size: 13px;
    line-height: 1.5;
}
.v2-ck__alert svg { width: 16px; height: 16px; flex: 0 0 auto; margin-top: 1px; }
.v2-ck__alert.is-ok { background: var(--go-tint); border: 1px solid rgba(11, 138, 71, 0.22); color: var(--go-deep); }
.v2-ck__alert.is-err { background: #FDF1F0; border: 1px solid rgba(180, 35, 24, 0.16); color: #B42318; }
.v2-ck__alert p { color: inherit; }

.v2-ck__sum { margin-top: 0; }
.v2-ck__sumrow {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding: 7px 0;
    font-size: 14px;
}
.v2-ck__sumrow dt { color: var(--slate); }
.v2-ck__sumrow dd { color: var(--ink); font-weight: 600; font-variant-numeric: tabular-nums; }
.v2-ck__sumrow--save dt, .v2-ck__sumrow--save dd { color: var(--go-deep); }
.v2-ck__sumrow--save dd { font-weight: 700; }
.v2-ck__sumrow--total {
    margin-top: 10px;
    padding: 12px 14px;
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.18);
    border-radius: 12px;
    align-items: center;
}
.v2-ck__sumrow--total dt { color: var(--ink); font-weight: 700; font-size: 15.5px; }
.v2-ck__sumrow--total dd {
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 25px;
    letter-spacing: -0.02em;
}

.v2-ck__who { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line); }
.v2-ck__label {
    display: block;
    margin: 13px 0 7px;
    font-size: 13px;
    font-weight: 600;
    color: var(--ink);
}
.v2-ck__who .v2-ck__label:first-child, .v2-ck__method .v2-ck__label { margin-top: 0; }
.v2-ck__fieldwrap { position: relative; }
.v2-ck__fic {
    position: absolute;
    left: 13px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    color: var(--faint);
    pointer-events: none;
}
.v2-ck__input {
    width: 100%;
    height: 46px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--paper);
    padding: 0 42px 0 40px;
    font: 400 14.5px/1 var(--font-body);
    color: var(--ink);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.v2-ck__input::placeholder { color: var(--faint); }
.v2-ck__input:focus {
    outline: none;
    border-color: var(--go);
    box-shadow: 0 0 0 3px rgba(11, 138, 71, 0.14);
}
.v2-ck__input.is-invalid { border-color: #B42318; }
.v2-ck__fieldwrap > .v2-ck__input:only-child { padding: 0 14px; }
.v2-ck__input--mono { font-family: var(--font-mono); font-size: 12.5px; }
.v2 .v2-ck__eye {
    position: absolute;
    right: 7px;
    top: 50%;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    color: var(--faint);
}
.v2 .v2-ck__eye:hover { color: var(--ink); background: var(--mist); }
.v2 .v2-ck__eye svg { width: 18px; height: 18px; }
.v2-ck__ferr { margin-top: 5px; font-size: 12px; color: #B42318; }
.v2-ck__fstatus { margin-top: 5px; font-size: 12px; }
.v2-ck__fstatus.is-checking { color: var(--faint); }
.v2-ck__fstatus.is-existing, .v2-ck__fstatus.is-new { color: var(--go-deep); font-weight: 500; }
.v2-ck__note {
    margin-top: 12px;
    background: var(--go-tint);
    border-radius: 10px;
    padding: 10px 12px;
    font-size: 12.5px;
    line-height: 1.55;
    color: var(--go-deep);
}
.v2-ck__note a { color: var(--go-deep); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.v2-ck__asline {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--line);
    font-size: 11px;
}
.v2-ck__asline b { color: var(--ink); }

.v2-ck__method { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line); }
.v2-ck__methodrow {
    display: flex;
    align-items: center;
    gap: 9px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--mist);
    padding: 11px 14px;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--ink);
}
.v2-ck__methodrow .v2-ic { width: 17px; height: 17px; color: var(--slate); }
.v2-ck__methodrow i { font-style: normal; font-weight: 400; color: var(--slate); }
.v2-ck__methodrow-logos { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; }
.v2-ck__methodrow-logos img { display: block; }
.v2-ck__tabs { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 8px; }
.v2 .v2-ck__tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    height: 44px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--paper);
    font-size: 13.5px;
    font-weight: 600;
    color: var(--slate);
    transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}
.v2 .v2-ck__tab:hover { border-color: #C9D2DA; }
.v2 .v2-ck__tab.is-on { background: var(--ink); border-color: var(--ink); color: #FFFFFF; }
.v2 .v2-ck__tab .v2-ic { width: 16px; height: 16px; }
.v2 .v2-ck__tab i { font-size: 9.5px; color: inherit; opacity: 0.75; }
.v2-ck__tab-logos { display: inline-flex; align-items: center; gap: 4px; }
.v2-ck__tab-logos img { display: block; }
.v2 .v2-ck__tab:not(.is-on) .v2-ck__tab-logos { opacity: 0.75; }

#stripe-payment-section, #crypto-payment-section { margin-top: 14px; }
.v2 .v2-ck__paybtn { position: relative; width: 100%; height: 52px; margin-top: 2px; }
.v2 .v2-ck__paybtn.is-loading { opacity: 0.85; cursor: wait; }
.v2-ck__paylabel b { font-weight: 700; font-variant-numeric: tabular-nums; }
.v2-ck__spinner {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.4);
    border-top-color: #FFFFFF;
    animation: v2CkSpin 0.7s linear infinite;
}
@keyframes v2CkSpin { to { transform: rotate(360deg); } }
.v2-ck__paynote {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin-top: 11px;
    font-size: 11.5px;
    line-height: 1.5;
    color: var(--faint);
    text-align: center;
}
.v2-ck__paynote img { display: block; }

/* Crypto panel */
.v2-ck__wallet { border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
.v2-ck__wallet-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 14px;
    background: var(--mist);
    border-bottom: 1px solid var(--line);
}
.v2-ck__wallet-head b { font: 600 14px/1.2 var(--font-body); color: var(--ink); }
.v2-ck__wallet-addr { display: flex; align-items: center; gap: 8px; padding: 11px 14px; }
.v2-ck__wallet-addr input {
    flex: 1;
    min-width: 0;
    border: none;
    background: transparent;
    font: 500 11.5px/1.3 var(--font-mono);
    color: var(--ink);
}
.v2-ck__wallet-addr input:focus { outline: none; }
.v2-ck__cryptowarn {
    margin-top: 12px;
    background: #FDF1F0;
    border: 1px solid rgba(180, 35, 24, 0.16);
    border-radius: 12px;
    padding: 11px 13px;
    font-size: 12.5px;
    line-height: 1.55;
    color: #8A4540;
}
.v2-ck__cryptowarn b { color: #B42318; }
.v2-ck__filedrop {
    display: block;
    margin: 12px 0 14px;
    border: 1.5px dashed #C9D2DA;
    border-radius: 12px;
    padding: 14px;
    text-align: center;
    cursor: pointer;
    transition: border-color 0.15s ease, background 0.15s ease;
}
.v2-ck__filedrop:hover { border-color: var(--go); background: #F6FBF8; }
.v2-ck__filedrop input { display: none; }
.v2-ck__filedrop span { font-size: 13px; color: var(--slate); }
.v2-ck__filedrop span i, .v2-ck__filedrop span b { display: block; font-style: normal; }
.v2-ck__filedrop span i { margin-top: 2px; font-size: 11px; color: var(--faint); }
.v2-ck__filedrop span b { color: var(--ink); }

/* Payment protection vault: the rail's dark moment */
.v2-ck__vault {
    margin-top: 16px;
    background: var(--ink);
    border-radius: 14px;
    padding: 15px 16px 12px;
}
.v2-ck__vault-stripe {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-bottom: 13px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}
.v2-ck__vault-stripe img {
    display: block;
    margin-left: auto;
    filter: brightness(0) invert(1);
    opacity: 0.92;
}
.v2-ck__vault-t { min-width: 0; }
.v2-ck__vault-t b {
    display: block;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.35;
    color: #FFFFFF;
}
.v2-ck__vault-t i {
    display: block;
    margin-top: 2px;
    font-size: 11.5px;
    font-style: normal;
    line-height: 1.5;
    color: #A9B4BF;
}
.v2-ck__vault-t a {
    color: #3ECF81;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.v2-ck__vault-list {
    list-style: none;
    padding: 13px 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}
.v2-ck__vault-list li { display: flex; align-items: flex-start; gap: 10px; }
.v2-ck__vault-check {
    width: 22px;
    height: 22px;
    flex: 0 0 auto;
    margin-top: 1px;
    border-radius: 50%;
    background: rgba(62, 207, 129, 0.16);
    color: #3ECF81;
    display: grid;
    place-items: center;
}
.v2-ck__vault-check svg { width: 12px; height: 12px; }
.v2-ck__vault-foot {
    padding-top: 10px;
    text-align: center;
    font-size: 9.5px;
    color: #7A8794;
}
.v2-ck__vault-foot span { white-space: nowrap; }
.v2-ck__secureline { margin-top: 14px; text-align: center; font-size: 10.5px; }
.v2-ck__secureline span { white-space: nowrap; }

/* ---------- Checkout: guarantee strip + empty state ---------- */

.v2-ck__gwrap { margin-top: clamp(20px, 3vw, 30px); }

.v2-ck__empty { text-align: center; padding: clamp(48px, 9vw, 100px) 0; }
.v2-ck__empty-ic {
    width: 72px;
    height: 72px;
    margin: 0 auto;
    border-radius: 50%;
    background: var(--mist);
    display: grid;
    place-items: center;
    color: var(--faint);
}
.v2-ck__empty-ic svg { width: 30px; height: 30px; }
.v2-ck__empty-title {
    margin-top: 20px;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: clamp(1.6rem, 1.1rem + 1.6vw, 2.1rem);
    letter-spacing: -0.02em;
    color: var(--ink);
}
.v2-ck__empty-sub { margin-top: 10px; font-size: 15px; color: var(--slate); }
.v2-ck__empty-cta { margin-top: 22px; }

/* ---------- Checkout: mobile pay bar ---------- */

.v2-ck__mbar {
    position: fixed;
    inset-inline: 0;
    bottom: 0;
    z-index: 60;
    background: var(--paper);
    border-top: 1px solid var(--line);
    box-shadow: 0 -10px 30px rgba(10, 16, 23, 0.08);
    padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
    transition: transform 0.25s ease;
}
.v2-ck__mbar[hidden] { display: none !important; }
.v2-ck__mbar.is-off { transform: translateY(110%); }
.v2-ck__mbar-in {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    max-width: 560px;
    margin-inline: auto;
}
.v2-ck__mbar-total { display: flex; flex-direction: column; }
.v2-ck__mbar-total i {
    font: 600 9.5px/1 var(--font-mono);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    font-style: normal;
    color: var(--faint);
}
.v2-ck__mbar-total b {
    margin-top: 3px;
    font: 800 19px/1 var(--font-display);
    letter-spacing: -0.02em;
    color: var(--ink);
    font-variant-numeric: tabular-nums;
}
.v2 .v2-ck__mbar-btn { height: 46px; padding: 0 24px; flex: 0 0 auto; }
@media (min-width: 961px) {
    .v2-ck__mbar { display: none !important; }
}

/* ---------- Checkout: guest modal + toasts ---------- */

.v2-ck__modal {
    position: fixed;
    inset: 0;
    z-index: 100;
    display: grid;
    place-items: center;
    padding: 20px;
    background: rgba(10, 16, 23, 0.55);
    backdrop-filter: blur(4px);
}
.v2-ck__modal[hidden] { display: none !important; }
.v2-ck__modal-card {
    position: relative;
    width: min(440px, 100%);
    max-height: min(88vh, 640px);
    overflow-y: auto;
    background: var(--paper);
    border-radius: 20px;
    padding: 26px;
    box-shadow: 0 1px 2px rgba(10, 16, 23, 0.08), 0 40px 80px -24px rgba(10, 16, 23, 0.4);
}
.v2 .v2-ck__modal-x {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    background: var(--mist);
    color: var(--slate);
}
.v2 .v2-ck__modal-x:hover { background: var(--ink); color: #FFFFFF; }
.v2 .v2-ck__modal-x svg { width: 14px; height: 14px; }
.v2-ck__modal-title {
    margin-top: 10px;
    font: 700 22px/1.15 var(--font-display);
    letter-spacing: -0.02em;
    color: var(--ink);
    text-wrap: balance;
}
.v2-ck__modal-sub { margin: 8px 0 6px; font-size: 13.5px; line-height: 1.6; color: var(--slate); }
.v2-ck__modal-alt { margin-top: 14px; text-align: center; font-size: 13px; color: var(--slate); }
.v2-ck__modal-alt a { color: var(--go-deep); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.v2-ck__modal .v2-ck__paybtn { margin-top: 16px; }
.v2-ck__modal .v2-ck__secureline { margin-top: 12px; }

.v2-ck__toasts {
    position: fixed;
    bottom: 18px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 120;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    pointer-events: none;
}
.v2-ck__toast {
    background: var(--ink);
    color: #FFFFFF;
    border-radius: 999px;
    padding: 9px 16px;
    font-size: 13px;
    font-weight: 500;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity 0.25s ease, transform 0.25s ease;
    max-width: min(92vw, 480px);
    text-align: center;
}
.v2-ck__toast.is-in { opacity: 1; transform: none; }
.v2-ck__toast.is-err { background: #B42318; }

/* ---------- Checkout: persuasion layer ---------- */

.v2-ck__stats {
    list-style: none;
    display: flex;
    align-items: stretch;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0;
    margin: 22px auto 0;
    max-width: 720px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: var(--paper);
    overflow: hidden;
}
.v2-ck__stats li {
    flex: 1 1 0;
    min-width: 130px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 13px 10px;
    border-right: 1px solid var(--line);
}
.v2-ck__stats li:last-child { border-right: 0; }
.v2-ck__stats b {
    font: 700 19px/1.1 var(--font-display);
    letter-spacing: -0.02em;
    color: var(--ink);
    font-variant-numeric: tabular-nums;
}
.v2-ck__stats span {
    font: 600 9.5px/1.3 var(--font-mono);
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: var(--faint);
}

.v2-ck__proof-grid {
    margin-top: 16px;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    gap: 16px;
    align-items: start;
}
.v2-ck__evd {
    display: block;
    border: 1px solid var(--line);
    border-radius: 14px;
    overflow: hidden;
    background: var(--paper);
    cursor: zoom-in;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.v2-ck__evd:hover { border-color: #C9D2DA; box-shadow: 0 10px 26px -12px rgba(10, 16, 23, 0.2); }
.v2-ck__evd-bar {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 10px 13px;
    background: var(--mist);
    border-bottom: 1px solid var(--line);
}
.v2-ck__evd-av {
    width: 28px;
    height: 28px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: var(--ink);
    color: #FFFFFF;
    display: grid;
    place-items: center;
    font: 700 13px/1 var(--font-display);
}
.v2-ck__evd-from { min-width: 0; }
.v2-ck__evd-from b { display: block; font-size: 12px; font-weight: 600; color: var(--ink); line-height: 1.3; }
.v2-ck__evd-from i {
    display: block;
    font-size: 9px;
    font-style: normal;
    color: var(--faint);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.v2-ck__evd-chip {
    margin-left: auto;
    flex: 0 0 auto;
    font-family: var(--font-mono);
    font-weight: 600;
    font-size: 9px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--go-deep);
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.22);
    border-radius: 999px;
    padding: 3px 8px;
    white-space: nowrap;
}
.v2-ck__evd img { display: block; width: 100%; height: auto; }
.v2-ck__evd-cap {
    display: block;
    padding: 8px 13px;
    border-top: 1px solid var(--line);
    text-align: center;
    font-size: 9.5px;
    color: var(--faint);
}
.v2-ck__proof-side { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.v2-ck__minirev {
    margin: 0;
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 14px 16px;
    background: var(--paper);
}
.v2-ck__minirev blockquote {
    margin: 8px 0 0;
    font-size: 13px;
    line-height: 1.6;
    color: var(--ink);
}
.v2-ck__minirev figcaption { margin-top: 8px; font-size: 11.5px; color: var(--faint); }
.v2-ck__minirev figcaption b { color: var(--slate); font-weight: 600; }
.v2-ck__proof-line { text-align: center; font-size: 10.5px; margin-top: 2px; }
.v2-ck__proof-line span { white-space: nowrap; }

/* Mini FAQ + human strip */
.v2-ck__qas { margin-top: 14px; border-top: 1px solid var(--line); }
.v2-ck__qa { border-bottom: 1px solid var(--line); }
.v2-ck__qa summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 13px 2px;
    cursor: pointer;
    list-style: none;
}
.v2-ck__qa summary::-webkit-details-marker { display: none; }
.v2-ck__qa h3 { font: 600 14px/1.35 var(--font-body); color: var(--ink); }
.v2-ck__qa-ic {
    position: relative;
    width: 12px;
    height: 12px;
    flex: 0 0 auto;
}
.v2-ck__qa-ic::before, .v2-ck__qa-ic::after {
    content: "";
    position: absolute;
    inset: 0;
    margin: auto;
    background: var(--faint);
    border-radius: 2px;
    transition: transform 0.2s ease, background 0.2s ease;
}
.v2-ck__qa-ic::before { width: 12px; height: 2px; }
.v2-ck__qa-ic::after { width: 2px; height: 12px; }
.v2-ck__qa[open] .v2-ck__qa-ic::after { transform: rotate(90deg); background: var(--go); }
.v2-ck__qa[open] .v2-ck__qa-ic::before { background: var(--go); }
.v2-ck__qa > p {
    padding: 0 2px 14px;
    font-size: 13px;
    line-height: 1.6;
    color: var(--slate);
}
.v2-ck__qa > p a { color: var(--go-deep); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.v2-ck__human {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 16px;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 13px 15px;
}
.v2-ck__human img { border-radius: 50%; flex: 0 0 auto; }
.v2-ck__human-t { min-width: 0; flex: 1; }
.v2-ck__human-t b { display: block; font-size: 13.5px; font-weight: 600; color: var(--ink); }
.v2-ck__human-t i { display: block; margin-top: 1px; font-size: 11.5px; font-style: normal; color: var(--slate); }
.v2 .v2-ck__human-wa {
    flex: 0 0 auto;
    height: 40px;
    padding: 0 16px;
    background: #25D366;
    color: #FFFFFF;
    border-radius: 11px;
    font-weight: 600;
}
.v2 .v2-ck__human-wa:hover { background: #1FB558; color: #FFFFFF; }

/* Exit-intent save modal */
.v2-ck__savelist {
    list-style: none;
    margin: 16px 0 4px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.v2-ck__savelist li { display: flex; align-items: flex-start; gap: 10px; font-size: 13px; line-height: 1.55; color: var(--slate); }
.v2-ck__savelist li b { color: var(--ink); font-weight: 600; }
.v2-ck__savelist .v2-ck__vault-check { background: var(--go-tint); color: var(--go); }
.v2 .v2-ck__savewa { width: 100%; margin-top: 8px; }

/* ---------- Checkout: tablet + mobile ---------- */

@media (max-width: 1100px) {
    .v2-ck__grid { grid-template-columns: minmax(0, 1fr) 360px; }
}

@media (max-width: 960px) {
    .v2-ck__grid {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: none;
        grid-template-areas:
            "cola"
            "rail"
            "colb";
    }
    .v2-ck__rail { position: static; }
    .v2-ck__steps { grid-template-columns: minmax(0, 1fr); gap: 12px; }
    .v2-ckbody .v2-footer { padding-bottom: 84px; }
    .v2-ck__sub { margin-inline: auto; }
    .v2-ck__addons-chev { display: block; }
    .v2 .v2-ck__addons-head { cursor: pointer; }
    .v2-ck__addons.is-collapsed .v2-ck__addons-body { display: none; }
    .v2-ck__addons.is-collapsed .v2-ck__addons-chev { transform: rotate(0deg); }
    .v2-ck__addons:not(.is-collapsed) .v2-ck__addons-chev { transform: rotate(180deg); }
    .v2-ck__main { padding-bottom: 96px; }
}

@media (max-width: 640px) {
    .v2-ck__main { padding-top: calc(var(--nav-h) + 22px); }
    .v2-ck__card { padding: 18px 16px; border-radius: 16px; }
    .v2-ck__pay { padding: 0; }
    .v2-ck__paybody { padding: 16px; }
    .v2-ck__item {
        position: relative;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "main main"
            "qty price";
        gap: 12px;
        align-items: center;
    }
    .v2-ck__item-ic { position: absolute; left: 0; top: 15px; width: 40px; height: 40px; border-radius: 12px; }
    .v2-ck__item-ic svg { width: 20px; height: 20px; }
    .v2-ck__item-main { padding-left: 52px; padding-right: 36px; min-height: 42px; }
    .v2 .v2-ck__remove { position: absolute; top: 15px; right: 0; }
    .v2-ck__item-qty { flex-direction: row; align-items: center; gap: 8px; }
    .v2-ck__item-qty > .v2-mono { display: none; }
    .v2-ck__item-price { align-self: center; }
    .v2-ck__addon { padding: 12px 13px; gap: 6px 10px; grid-template-columns: 36px minmax(0, 1fr) auto; }
    .v2-ck__addon-ic { width: 36px; height: 36px; border-radius: 10px; grid-column: 1; grid-row: 1; }
    .v2-ck__addon-ic svg { width: 18px; height: 18px; }
    /* Description drops to its own full-width line so cards stay short */
    .v2-ck__addon-t { display: contents; }
    .v2-ck__addon-t b { grid-column: 2; grid-row: 1; align-self: center; }
    .v2-ck__addon-t i { grid-column: 1 / -1; grid-row: 2; margin-top: 0; font-size: 11.5px; }
    .v2-ck__addon-right { grid-column: 3; grid-row: 1; align-items: flex-end; gap: 4px; }
    .v2-ck__addon-price s { display: none; }
    .v2-ck__sumrow--total dd { font-size: 23px; }
    .v2-ck__modal-card { padding: 22px 18px; }
    .v2-ck__steps { grid-template-columns: minmax(0, 1fr); }
    .v2-ck__stats { max-width: 100%; }
    .v2-ck__stats li { min-width: 0; flex: 1 1 40%; padding: 11px 8px; }
    .v2-ck__stats li:nth-child(2) { border-right: 0; }
    .v2-ck__stats li:nth-child(1), .v2-ck__stats li:nth-child(2) { border-bottom: 1px solid var(--line); }
    .v2-ck__stats b { font-size: 17px; }
    .v2-ck__proof-grid { grid-template-columns: minmax(0, 1fr); }
    .v2-ck__human { flex-wrap: wrap; }
    .v2-ck__human-t { flex: 1 1 calc(100% - 56px); }
    .v2 .v2-ck__human-wa { flex: 1 1 100%; height: 46px; justify-content: center; margin-top: 4px; }
}

@media (max-width: 380px) {
    .v2-ck__addon-price s { display: none; }
    .v2-ck__item-total { font-size: 16px; }
    .v2-ck__addon-pill { min-width: 54px; padding: 3px 8px; font-size: 10px; }
}

/* ============================================================
   CLOSED TESTING SERVICE V2 (/google-play-closed-testing-service)
   Page blocks (2026-07-04): monitoring-log hero artifact,
   You-do/We-do ledger + vetting checklist, 20-dot buffer board,
   real-report window, 3-step strip. Reuses .v2s-crumbs,
   .v2s-answer, .v2-plans/.v2-plan, .v2-ppl, .v2-guarantee,
   .v2-faq, .v2-cta primitives. Prefix: v2-cts*.
============================================================ */

/* Gotcha 19: kill UA list/figure defaults up front */
.v2-ctslog__rows, .v2-ctssvc__list, .v2-ctssvc__checks,
.v2-cts20__dots, .v2-ctsinc__list, .v2-ctshow__steps {
    margin: 0;
    padding: 0;
    list-style: none;
}

/* ---------- CTS: split hero + monitoring log ---------- */

.v2-ctshero {
    position: relative;
    padding-top: calc(var(--nav-h) + clamp(40px, 6.5vh, 76px));
    padding-bottom: clamp(36px, 5vw, 56px);
    overflow: hidden;
}
.v2-ctshero__wash {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(50rem 32rem at 88% -10%, rgba(11, 138, 71, 0.07), transparent 62%),
        radial-gradient(38rem 26rem at -10% 110%, rgba(10, 16, 23, 0.04), transparent 62%);
}
.v2-ctshero__in {
    position: relative;
    display: grid;
    grid-template-columns: 1.06fr 0.94fr;
    gap: clamp(28px, 4.5vw, 56px);
    align-items: center;
}
.v2-ctshero__title {
    margin-top: 14px;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: clamp(2.05rem, 1.05rem + 3vw, 3.3rem);
    line-height: 1.05;
    letter-spacing: -0.028em;
    text-wrap: balance;
}
.v2-ctshero__title-go { display: block; color: var(--go); }
.v2-ctshero__sub {
    margin-top: 18px;
    max-width: 56ch;
    font-size: clamp(15.5px, 1.4vw, 16.5px);
    line-height: 1.65;
    color: var(--slate);
    text-wrap: pretty;
}
.v2-ctshero__sub strong { color: var(--ink); font-weight: 600; }
.v2-ctshero__cta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 26px;
}
.v2-ctshero__fine {
    margin-top: 15px;
    font-family: var(--font-mono);
    font-size: 11.5px;
    letter-spacing: 0.04em;
    color: var(--faint);
}
.v2-ctshero__fine span { white-space: nowrap; }
.v2-ctshero__trust {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px 15px;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid var(--line);
}
.v2-ctshero__trust-item {
    display: inline-flex;
    align-items: center;
    font-size: 13px;
    color: var(--slate);
    white-space: nowrap;
}
.v2-ctshero__trust-item b { color: var(--ink); font-weight: 600; }
.v2-ctshero__trust-item .v2-stars { margin-right: 7px; }

.v2-ctshero__art { min-width: 0; }
.v2-ctslog {
    width: min(100%, 460px);
    margin-left: auto;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(10, 16, 23, 0.05), 0 28px 56px -20px rgba(10, 16, 23, 0.18);
}
.v2-ctslog__bar {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 12px 16px;
    background: var(--mist);
    border-bottom: 1px solid var(--line);
}
.v2-ctslog__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--go);
    animation: v2Pulse 2.6s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
.v2-ctslog__file {
    font-family: var(--font-mono);
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: var(--ink);
}
.v2-ctslog__chip {
    margin-left: auto;
    font-family: var(--font-mono);
    font-weight: 600;
    font-size: 9.5px;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: var(--go-deep);
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.22);
    border-radius: 999px;
    padding: 4px 9px;
    white-space: nowrap;
}
.v2-ctslog__row {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 12px;
    align-items: baseline;
    padding: 11.5px 16px;
    border-bottom: 1px solid var(--line);
}
.v2-ctslog__row:last-child { border-bottom: 0; }
.v2-ctslog__row > .v2-mono { font-size: 9.5px; color: var(--faint); }
.v2-ctslog__row p { font-size: 13px; line-height: 1.5; color: var(--slate); }
.v2-ctslog__row p b { color: var(--ink); font-weight: 600; }
.v2-ctslog__row--drop p b { color: #B42318; }
.v2-ctslog__row--fix > .v2-mono, .v2-ctslog__row--done > .v2-mono { color: var(--go-deep); }
.v2-ctslog__row--fix p b, .v2-ctslog__row--done p b { color: var(--go-deep); }
.v2-ctslog__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 13px 16px;
    background: var(--go-tint);
    border-top: 1px solid rgba(11, 138, 71, 0.18);
}
.v2-ctslog__foot b {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 14.5px;
    letter-spacing: -0.01em;
    color: var(--ink);
}
.v2-ctslog__foot .v2-mono { color: var(--go-deep); font-size: 9.5px; }
.v2-ctshero__caption {
    margin-top: 10px;
    text-align: center;
    font-size: 10.5px;
}

.v2-ctshero.v2-anim .v2-ctslog { opacity: 0; transform: translateY(18px); }
.v2-ctshero.v2-anim.is-in .v2-ctslog {
    opacity: 1;
    transform: none;
    transition: opacity 0.6s cubic-bezier(0.22, 0.8, 0.26, 1), transform 0.6s cubic-bezier(0.22, 0.8, 0.26, 1);
}
.v2-ctshero.v2-anim .v2-ctslog__row { opacity: 0; transform: translateX(-8px); }
.v2-ctshero.v2-anim.is-in .v2-ctslog__row {
    opacity: 1;
    transform: none;
    transition: opacity 0.45s ease var(--d, 0s), transform 0.45s cubic-bezier(0.22, 0.8, 0.26, 1) var(--d, 0s);
}
.v2-ctshero.v2-anim .v2-ctslog__foot { opacity: 0; }
.v2-ctshero.v2-anim.is-in .v2-ctslog__foot { opacity: 1; transition: opacity 0.5s ease 1.1s; }

/* ---------- CTS: ledger + vetting checklist ---------- */

.v2-ctssvc__ledger {
    margin-top: clamp(36px, 5vw, 52px);
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 14px;
    align-items: start;
}
.v2-ctssvc__side {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: clamp(20px, 3vw, 26px);
}
.v2-ctssvc__side--we { border-color: rgba(11, 138, 71, 0.35); }
.v2-ctssvc__sidehead {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding-bottom: 13px;
    border-bottom: 1px solid var(--line);
}
.v2-ctssvc__sidehead h3 {
    font: 600 19px/1.2 var(--font-display);
    letter-spacing: -0.015em;
    color: var(--ink);
}
.v2-ctssvc__time {
    font-size: 9.5px;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 4px 10px;
    white-space: nowrap;
}
.v2-ctssvc__time--go {
    background: var(--go-tint);
    border-color: rgba(11, 138, 71, 0.22);
    color: var(--go-deep);
}
.v2-ctssvc__list {
    margin-top: 15px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.v2-ctssvc__list li {
    position: relative;
    padding-left: 26px;
    font: 400 13.5px/1.6 var(--font-body);
    color: var(--slate);
}
.v2-ctssvc__list li b { color: var(--ink); font-weight: 600; }
.v2-ctssvc__list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 3px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
}
.v2-ctssvc__list--you li::before {
    background: var(--mist) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Ccircle cx='10' cy='10' r='2.6' fill='%2355616D'/%3E%3C/svg%3E") center/16px 16px no-repeat;
}
.v2-ctssvc__list--we li::before {
    background: var(--go-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='m5 10.5 3.2 3.2L15 7' stroke='%230B8A47' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/10px 10px no-repeat;
}

.v2-ctssvc__vet {
    margin-top: 14px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: clamp(22px, 3vw, 28px);
}
.v2-ctssvc__h3 {
    font: 600 19px/1.3 var(--font-display);
    letter-spacing: -0.015em;
    color: var(--ink);
}
.v2-ctssvc__p {
    margin-top: 10px;
    font: 400 14px/1.65 var(--font-body);
    color: var(--slate);
}
.v2-ctssvc__checks {
    margin-top: 16px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 22px;
}
.v2-ctssvc__checks li {
    position: relative;
    padding-left: 28px;
}
.v2-ctssvc__checks li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 2px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--go-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='m5 10.5 3.2 3.2L15 7' stroke='%230B8A47' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/11px 11px no-repeat;
}
.v2-ctssvc__checks b {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: var(--ink);
    line-height: 1.4;
}
.v2-ctssvc__checks i {
    display: block;
    margin-top: 1px;
    font-size: 12.5px;
    font-style: normal;
    line-height: 1.55;
    color: var(--slate);
}
.v2-ctssvc__more {
    margin-top: 18px;
    font-size: 13.5px;
    color: var(--slate);
}
.v2-ctssvc__more a {
    color: var(--go-deep);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.v2-ctssvc.v2-anim .v2-ctssvc__side,
.v2-ctssvc.v2-anim .v2-ctssvc__vet {
    opacity: 0;
    transform: translateY(16px);
}
.v2-ctssvc.v2-anim.is-in .v2-ctssvc__side,
.v2-ctssvc.v2-anim.is-in .v2-ctssvc__vet {
    opacity: 1;
    transform: none;
    transition: opacity 0.6s cubic-bezier(0.22, 0.8, 0.26, 1) var(--d, 0s), transform 0.6s cubic-bezier(0.22, 0.8, 0.26, 1) var(--d, 0s);
}
.v2-ctssvc.v2-anim.is-in .v2-ctssvc__side--we { transition-delay: 0.1s; }
.v2-ctssvc.v2-anim.is-in .v2-ctssvc__vet { transition-delay: 0.2s; }

/* ---------- CTS: the 20-dot buffer board ---------- */

.v2-cts20__board {
    margin-top: clamp(36px, 5vw, 52px);
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: clamp(22px, 3vw, 30px);
}
.v2-cts20__dots {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 10px;
}
.v2-cts20__dot {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--mist);
    color: var(--slate);
    display: grid;
    place-items: center;
}
.v2-cts20__dot svg { width: 19px; height: 19px; }
.v2-cts20__dot.is-buffer {
    background: var(--go-tint);
    color: var(--go-deep);
    border: 1px solid rgba(11, 138, 71, 0.25);
}
.v2-cts20__line {
    position: relative;
    width: 2px;
    height: 46px;
    border-radius: 2px;
    background: var(--ink);
    margin: 0 6px;
}
.v2-cts20__line i {
    position: absolute;
    top: -22px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 8.5px;
    font-style: normal;
    color: var(--ink);
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 2.5px 8px;
    white-space: nowrap;
}
.v2-cts20__legend {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 22px;
    margin-top: 24px;
    padding-top: 16px;
    border-top: 1px solid var(--line);
}
.v2-cts20__legend span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 12.5px;
    color: var(--slate);
}
.v2-cts20__key {
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: var(--mist);
    border: 1px solid var(--line);
}
.v2-cts20__key--buffer {
    background: var(--go-tint);
    border-color: rgba(11, 138, 71, 0.35);
}
.v2-cts20__cols {
    margin-top: clamp(28px, 4vw, 40px);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(20px, 3vw, 40px);
}
.v2-cts20__col h3 {
    font: 600 17.5px/1.3 var(--font-display);
    letter-spacing: -0.015em;
    color: var(--ink);
}
.v2-cts20__col p {
    margin-top: 8px;
    font: 400 14px/1.65 var(--font-body);
    color: var(--slate);
}
.v2-cts20__col p a {
    color: var(--go-deep);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.v2-cts20.v2-anim .v2-cts20__dot { opacity: 0; transform: scale(0.6); }
.v2-cts20.v2-anim.is-in .v2-cts20__dot {
    opacity: 1;
    transform: none;
    transition: opacity 0.4s ease var(--d, 0s), transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) var(--d, 0s);
}

/* ---------- CTS: included + real report window ---------- */

.v2-ctsinc__grid {
    margin-top: clamp(36px, 5vw, 52px);
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    gap: clamp(24px, 4vw, 44px);
    align-items: start;
}
.v2-ctsinc__doc {
    display: block;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    overflow: hidden;
    cursor: zoom-in;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.v2-ctsinc__doc:hover { border-color: #C9D2DA; box-shadow: 0 12px 30px -12px rgba(10, 16, 23, 0.2); }
.v2-ctsinc__doc-bar {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 11px 14px;
    background: var(--mist);
    border-bottom: 1px solid var(--line);
    min-width: 0;
}
.v2-ctsinc__doc-bar .v2-mono {
    font-size: 10px;
    color: var(--ink);
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.v2-ctsinc__doc-dot {
    width: 8px;
    height: 8px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: var(--go);
}
.v2-ctsinc__doc-chip {
    margin-left: auto;
    flex: 0 0 auto;
    font-family: var(--font-mono);
    font-weight: 600;
    font-size: 9px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--go-deep);
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.22);
    border-radius: 999px;
    padding: 3px 8px;
    white-space: nowrap;
}
.v2-ctsinc__doc img { display: block; width: 100%; height: auto; }
.v2-ctsinc__doc-cap {
    display: block;
    padding: 9px 14px;
    border-top: 1px solid var(--line);
    text-align: center;
    font-size: 9.5px;
    color: var(--faint);
}
.v2-ctsinc__list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.v2-ctsinc__list li {
    position: relative;
    padding-left: 32px;
}
.v2-ctsinc__list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 2px;
    width: 19px;
    height: 19px;
    border-radius: 50%;
    background: var(--go-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='m5 10.5 3.6 3.6L15.5 6.5' stroke='%230B8A47' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/11px 11px no-repeat;
}
.v2-ctsinc__list h3 {
    font: 600 16.5px/1.3 var(--font-display);
    letter-spacing: -0.015em;
    color: var(--ink);
}
.v2-ctsinc__list p {
    margin-top: 5px;
    font: 400 13.5px/1.62 var(--font-body);
    color: var(--slate);
}
.v2-ctsinc__list p a {
    color: var(--go-deep);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.v2-ctsinc.v2-anim .v2-ctsinc__doc { opacity: 0; transform: translateY(18px); }
.v2-ctsinc.v2-anim.is-in .v2-ctsinc__doc {
    opacity: 1;
    transform: none;
    transition: opacity 0.6s cubic-bezier(0.22, 0.8, 0.26, 1), transform 0.6s cubic-bezier(0.22, 0.8, 0.26, 1);
}
.v2-ctsinc.v2-anim .v2-ctsinc__list li { opacity: 0; transform: translateY(14px); }
.v2-ctsinc.v2-anim.is-in .v2-ctsinc__list li {
    opacity: 1;
    transform: none;
    transition: opacity 0.55s cubic-bezier(0.22, 0.8, 0.26, 1) var(--d, 0s), transform 0.55s cubic-bezier(0.22, 0.8, 0.26, 1) var(--d, 0s);
}

/* ---------- CTS: steps + plans badge + CTA links ---------- */

.v2-ctshow__steps {
    margin-top: clamp(36px, 5vw, 48px);
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(16px, 2.5vw, 28px);
}
.v2-ctshow__step {
    border-top: 1px solid var(--line);
    padding-top: 16px;
}
.v2-ctshow__step > span { color: var(--go-deep); }
.v2-ctshow__step b {
    display: block;
    margin-top: 8px;
    font: 600 16.5px/1.3 var(--font-display);
    letter-spacing: -0.015em;
    color: var(--ink);
}
.v2-ctshow__step p {
    margin-top: 6px;
    font: 400 13.5px/1.6 var(--font-body);
    color: var(--slate);
}
.v2-ctshow__more {
    margin-top: 26px;
    text-align: center;
    font: 400 14px/1.6 var(--font-body);
    color: var(--slate);
}
.v2-ctshow__more a {
    color: var(--go-deep);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.v2-ctshow.v2-anim .v2-ctshow__step { opacity: 0; transform: translateY(14px); }
.v2-ctshow.v2-anim.is-in .v2-ctshow__step {
    opacity: 1;
    transform: none;
    transition: opacity 0.55s cubic-bezier(0.22, 0.8, 0.26, 1) var(--d, 0s), transform 0.55s cubic-bezier(0.22, 0.8, 0.26, 1) var(--d, 0s);
}

.v2-ctsplans .v2-plan__badge--page {
    background: var(--mist);
    color: var(--slate);
    border: 1px solid var(--line);
    padding: 4px 10px;
}
.v2-ctscta__links {
    margin-top: 18px;
    font-size: 13.5px;
    color: #93A0AC;
}
.v2-ctscta__links a {
    color: #E7ECF0;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
    white-space: nowrap;
}
.v2-ctscta__links a:hover { color: #FFFFFF; }

/* ---------- CTS: tablet + mobile ---------- */

@media (max-width: 960px) {
    .v2-ctshero__in { grid-template-columns: minmax(0, 1fr); }
    .v2-ctshero__copy { text-align: center; }
    .v2-ctshero__copy .v2s-crumbs { justify-content: center; }
    .v2-ctshero__title { margin-inline: auto; }
    .v2-ctshero__sub { margin-inline: auto; }
    .v2-ctshero__cta { justify-content: center; }
    .v2-ctshero__trust { justify-content: center; }
    .v2-ctslog { margin-inline: auto; }
    .v2-ctssvc__ledger { grid-template-columns: minmax(0, 1fr); }
    .v2-ctssvc__checks { grid-template-columns: minmax(0, 1fr); }
    .v2-cts20__cols { grid-template-columns: minmax(0, 1fr); }
    .v2-ctsinc__grid { grid-template-columns: minmax(0, 1fr); }
    .v2-ctsinc__doc { max-width: 460px; margin-inline: auto; }
    .v2-ctshow__steps { grid-template-columns: minmax(0, 1fr); gap: 18px; }
}

@media (max-width: 640px) {
    .v2-ctshero { padding-top: calc(var(--nav-h) + 32px); }
    .v2-ctshero__sub { font-size: 15px; }
    .v2-ctshero__cta { width: 100%; max-width: 420px; margin-inline: auto; margin-top: 24px; }
    .v2 .v2-ctshero__cta .v2-btn { flex: 1 1 100%; height: 50px; }
    .v2-ctshero__trust { gap: 8px 14px; }
    .v2-ctshero__trust-item { font-size: 12.5px; }
    .v2-ctslog__row { padding: 10px 13px; grid-template-columns: 46px minmax(0, 1fr); gap: 9px; }
    .v2-ctslog__bar { padding: 11px 13px; }
    .v2-ctslog__foot { padding: 12px 13px; flex-direction: column; align-items: flex-start; gap: 3px; }
    .v2-ctssvc__side { padding: 18px 16px; }
    .v2-ctssvc__vet { padding: 20px 16px; }
    .v2-cts20__board { padding: 20px 14px; }
    .v2-cts20__dots { gap: 8px; }
    .v2-cts20__dot { width: 30px; height: 30px; }
    .v2-cts20__dot svg { width: 15px; height: 15px; }
    .v2-cts20__line { height: 30px; margin: 0 4px; }
    .v2-cts20__line i { display: none; }
    .v2-ctsinc__list h3 { font-size: 15.5px; }
    .v2-ctscta__links { font-size: 12.5px; line-height: 2; }
}

/* ============================================================
   AUTHOR PAGE V2 (/about/kefayat)
   E-E-A-T author page (2026-07-04): dossier profile card hero,
   expertise tiles, KPI track record + evidence links, editorial
   standards rows, guides index (reuses .v2-guide cards + grid),
   direct-line card. Reuses .v2-sechead, .v2-guides__grid,
   .v2-guide, .v2-faq__wa, .v2-cta primitives. Prefix: v2-au*.
============================================================ */

/* Gotcha 19: kill UA dl/dd defaults up front */
.v2-auh__rows, .v2-auh__rows dd { margin: 0; padding: 0; }

/* ---------- Hero: copy + dossier card ---------- */
.v2-auh { padding: calc(var(--nav-h) + clamp(44px, 7vw, 84px)) 0 clamp(64px, 8vw, 104px); }
.v2-auh__grid {
    display: grid;
    grid-template-columns: 1.06fr 0.94fr;
    gap: clamp(36px, 5vw, 72px);
    align-items: center;
}
.v2-auh__title {
    margin-top: 14px;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: clamp(2.35rem, 1.3rem + 3.4vw, 3.7rem);
    line-height: 1.04;
    letter-spacing: -0.026em;
    color: var(--ink);
    text-wrap: balance;
}
.v2-auh__role { margin-top: 12px; font-size: 11.5px; letter-spacing: 0.1em; }
.v2-auh__role span { white-space: nowrap; }
.v2-auh__lead { margin-top: 18px; max-width: 54ch; }
.v2-auh__facts { margin-top: 22px; font-size: 11.5px; letter-spacing: 0.05em; }
.v2-auh__facts span { white-space: nowrap; }
.v2-auh__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 26px; }

.v2-auh__stage { display: flex; justify-content: flex-end; }
.v2-auh__card {
    width: 100%;
    max-width: 430px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 20px;
    box-shadow: 0 1px 2px rgba(10, 16, 23, 0.05), 0 28px 56px -20px rgba(10, 16, 23, 0.16);
    overflow: hidden;
}
.v2-auh__cardhead {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 20px;
    background: var(--mist);
    border-bottom: 1px solid var(--line);
}
.v2-auh__cardtag { display: inline-flex; align-items: center; gap: 8px; font-size: 10.5px; }
.v2-auh__cardtag i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--go);
    animation: v2Pulse 2.4s infinite;
}
.v2-auh__chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 11px;
    border-radius: 999px;
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.22);
    color: var(--go-deep);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: -0.005em;
}
.v2-auh__chip svg { width: 13px; height: 13px; }
.v2-auh__id { display: flex; align-items: center; gap: 16px; padding: 20px 22px 14px; }
.v2-auh__id img {
    width: 84px;
    height: 84px;
    border-radius: 14px;
    object-fit: cover;
    object-position: top;
    border: 1px solid var(--line);
}
.v2-auh__id-t b {
    display: block;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 19px;
    letter-spacing: -0.015em;
    color: var(--ink);
}
.v2-auh__id-t .v2-mono { display: block; margin-top: 5px; }
.v2-auh__rows { padding: 0 22px 8px; }
.v2-auh__row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 14px;
    padding: 10.5px 0;
    border-top: 1px solid var(--line);
}
.v2-auh__row dt { font-size: 10.5px; }
.v2-auh__row dd { font-size: 14px; font-weight: 600; color: var(--ink); text-align: right; }
.v2-auh__cardfoot { display: flex; gap: 10px; padding: 14px 22px 20px; border-top: 1px solid var(--line); }
.v2-auh__cardfoot a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex: 1;
    height: 40px;
    border: 1px solid var(--line);
    border-radius: 11px;
    background: var(--paper);
    color: var(--ink);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: border-color 0.2s ease, background-color 0.2s ease;
}
.v2-auh__cardfoot a:hover { border-color: #C9D2DA; background: var(--mist); }
.v2-auh__cardfoot svg { width: 15px; height: 15px; color: var(--slate); }

/* Hero arrival: copy rises, card rises, rows stagger in */
.v2-auh.v2-anim .v2-auh__copy,
.v2-auh.v2-anim .v2-auh__card,
.v2-auh.v2-anim .v2-auh__row { opacity: 0; }
.v2-auh.v2-anim.is-in .v2-auh__copy { animation: v2RiseCard 0.55s cubic-bezier(0.22, 0.8, 0.26, 1) both; }
.v2-auh.v2-anim.is-in .v2-auh__card { animation: v2RiseCard 0.6s cubic-bezier(0.22, 0.8, 0.26, 1) both; }
.v2-auh.v2-anim.is-in .v2-auh__row {
    animation: v2RiseCard 0.5s cubic-bezier(0.22, 0.8, 0.26, 1) both;
    animation-delay: var(--d, 0s);
}

/* ---------- Expertise tiles ---------- */
.v2-aux__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: clamp(36px, 5vw, 52px);
}
.v2-aux__tile {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 24px 22px;
}
.v2-aux__ic {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: var(--go-tint);
    color: var(--go);
}
.v2-aux__ic svg { width: 22px; height: 22px; }
.v2-aux__tile h3 {
    margin-top: 14px;
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 17.5px;
    letter-spacing: -0.015em;
    color: var(--ink);
}
.v2-aux__tile p { margin-top: 8px; font-size: 13.5px; line-height: 1.6; color: var(--slate); }
.v2-aux.v2-anim .v2-aux__tile { opacity: 0; }
.v2-aux.v2-anim.is-in .v2-aux__tile {
    animation: v2RiseCard 0.55s cubic-bezier(0.22, 0.8, 0.26, 1) both;
    animation-delay: var(--d, 0s);
}

/* ---------- Track record: KPIs + evidence links ---------- */
.v2-aut__kpis {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-top: clamp(36px, 5vw, 52px);
}
.v2-aut__kpi {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 24px 18px 20px;
    text-align: center;
}
.v2-aut__kpi b {
    display: block;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: clamp(28px, 3vw, 38px);
    letter-spacing: -0.025em;
    color: var(--ink);
    font-variant-numeric: tabular-nums;
}
.v2-aut__kpi .v2-mono { display: block; margin-top: 8px; }
.v2-aut__links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 18px;
}
.v2-aut__link {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    align-items: center;
    column-gap: 12px;
    row-gap: 4px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 16px 18px;
    text-decoration: none;
    transition: border-color 0.22s ease, box-shadow 0.22s ease;
}
.v2-aut__link:hover { border-color: #C9D2DA; box-shadow: 0 14px 30px -18px rgba(10, 16, 23, 0.18); }
.v2-aut__link .v2-mono { grid-column: 1; }
.v2-aut__link-t { grid-column: 1; font-size: 14.5px; font-weight: 600; letter-spacing: -0.01em; color: var(--ink); }
.v2-aut__link svg {
    grid-column: 2;
    grid-row: 1 / span 2;
    width: 16px;
    height: 16px;
    color: var(--faint);
    transition: transform 0.22s ease, color 0.22s ease;
}
.v2-aut__link:hover svg { transform: translateX(3px); color: var(--go-deep); }
.v2-aut.v2-anim .v2-aut__kpi { opacity: 0; }
.v2-aut.v2-anim.is-in .v2-aut__kpi {
    animation: v2RiseCard 0.55s cubic-bezier(0.22, 0.8, 0.26, 1) both;
    animation-delay: var(--d, 0s);
}

/* ---------- Editorial standards ---------- */
.v2-aus__list {
    max-width: 760px;
    margin: clamp(36px, 5vw, 52px) auto 0;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 6px 26px;
}
.v2-aus__row {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 16px;
    padding: 20px 0;
    border-top: 1px solid var(--line);
}
.v2-aus__row:first-child { border-top: 0; }
.v2-aus__num { font-size: 12px; padding-top: 3px; }
.v2-aus__body h3 {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 17px;
    letter-spacing: -0.015em;
    color: var(--ink);
}
.v2-aus__body p { margin-top: 6px; font-size: 14px; line-height: 1.62; color: var(--slate); }
.v2-aus.v2-anim .v2-aus__row { opacity: 0; }
.v2-aus.v2-anim.is-in .v2-aus__row {
    animation: v2RiseCard 0.5s cubic-bezier(0.22, 0.8, 0.26, 1) both;
    animation-delay: var(--d, 0s);
}

/* ---------- Guides: featured cards reuse .v2-guide; compact index ---------- */
.v2-aug.v2-anim .v2-guide { opacity: 0; }
.v2-aug.v2-anim.is-in .v2-guide {
    animation: v2RiseCard 0.6s cubic-bezier(0.22, 0.8, 0.26, 1) both;
    animation-delay: var(--d, 0s);
}
.v2-aug__idxh { margin-top: clamp(36px, 5vw, 48px); font-size: 11px; }
.v2-aug__idx {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 44px;
    margin-top: 6px;
}
.v2-aug__row {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 13px 2px;
    border-top: 1px solid var(--line);
    text-decoration: none;
}
.v2-aug__idx .v2-aug__row:nth-child(1),
.v2-aug__idx .v2-aug__row:nth-child(2) { border-top: 0; }
.v2-aug__row-in { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.v2-aug__row-in b {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: -0.01em;
    line-height: 1.35;
    color: var(--ink);
    transition: color 0.18s ease;
}
.v2-aug__row:hover .v2-aug__row-in b { color: var(--go-deep); }
.v2-aug__row-in .v2-mono { font-size: 10px; }
.v2-aug__row svg {
    flex: 0 0 auto;
    width: 15px;
    height: 15px;
    color: var(--faint);
    transition: transform 0.2s ease, color 0.2s ease;
}
.v2-aug__row:hover svg { transform: translateX(3px); color: var(--go-deep); }

/* ---------- Direct line card ---------- */
.v2-auc__card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: clamp(22px, 3vw, 34px);
    align-items: start;
    max-width: 860px;
    margin-inline: auto;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: clamp(24px, 3.5vw, 40px);
}
.v2-auc__photo {
    width: 96px;
    height: 96px;
    border-radius: 16px;
    object-fit: cover;
    object-position: top;
    border: 1px solid var(--line);
}
.v2-auc__body h2 {
    margin-top: 12px;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: clamp(22px, 2.6vw, 28px);
    letter-spacing: -0.02em;
    color: var(--ink);
    text-wrap: balance;
}
.v2-auc__txt { margin-top: 10px; font-size: 14.5px; line-height: 1.65; color: var(--slate); max-width: 56ch; }
.v2-auc__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 20px; }
.v2-auc__fine { margin-top: 14px; font-size: 10.5px; }
.v2-auc__fine span { white-space: nowrap; }
.v2-auc.v2-anim .v2-auc__card { opacity: 0; }
.v2-auc.v2-anim.is-in .v2-auc__card { animation: v2RiseCard 0.6s cubic-bezier(0.22, 0.8, 0.26, 1) both; }

/* ---------- Author page mobile ---------- */
@media (max-width: 960px) {
    .v2-auh { padding-top: calc(var(--nav-h) + 36px); }
    .v2-auh__grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
    .v2-auh__copy { text-align: center; }
    .v2-auh__lead { margin-inline: auto; }
    .v2-auh__actions { justify-content: center; }
    .v2-auh__stage { justify-content: center; }
    .v2-auh__card { max-width: 460px; }
    /* neutralize the FAQ WhatsApp auto-margin inside author action rows */
    .v2 .v2-auh__actions .v2-faq__wa,
    .v2 .v2-auc__actions .v2-faq__wa { margin-left: 0; }
    .v2-aux__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .v2-aut__kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .v2-aut__links { grid-template-columns: minmax(0, 1fr); gap: 10px; max-width: 560px; margin-inline: auto; margin-top: 14px; }
}

@media (max-width: 640px) {
    .v2-auh__role { font-size: 10.5px; }
    .v2-auh__actions { flex-direction: column; }
    .v2 .v2-auh__actions .v2-btn { width: 100%; max-width: 420px; height: 48px; justify-content: center; }
    .v2-auh__id { padding: 16px 18px 12px; }
    .v2-auh__id img { width: 68px; height: 68px; border-radius: 12px; }
    .v2-auh__id-t b { font-size: 17px; }
    .v2-auh__rows { padding: 0 18px 6px; }
    .v2-auh__cardfoot { padding: 12px 18px 16px; }
    .v2-aux__grid { grid-template-columns: minmax(0, 1fr); gap: 10px; max-width: 480px; margin-inline: auto; }
    .v2-aux__tile { padding: 20px 18px; }
    .v2-aux__tile h3 { font-size: 17px; }
    .v2-aut__kpi { padding: 18px 12px 16px; }
    .v2-aut__kpi b { font-size: 26px; }
    .v2-aus__list { padding: 4px 18px; }
    .v2-aus__row { grid-template-columns: 32px minmax(0, 1fr); gap: 12px; padding: 16px 0; }
    .v2-aus__body h3 { font-size: 16px; }
    .v2-aus__body p { font-size: 13.5px; }
    .v2-aug__idx { grid-template-columns: minmax(0, 1fr); column-gap: 0; }
    .v2-aug__idx .v2-aug__row:nth-child(2) { border-top: 1px solid var(--line); }
    .v2-auc__card { grid-template-columns: minmax(0, 1fr); text-align: center; }
    .v2-auc__photo { margin-inline: auto; width: 84px; height: 84px; }
    .v2-auc__txt { margin-inline: auto; }
    .v2-auc__actions { flex-direction: column; }
    .v2 .v2-auc__actions .v2-btn { width: 100%; max-width: 420px; height: 48px; justify-content: center; margin-inline: auto; }
    /* the FAQ block's mobile rule sets order: 3 on .v2-faq__wa, which would
       drop WhatsApp below the email button here - keep DOM order */
    .v2 .v2-auh__actions .v2-faq__wa,
    .v2 .v2-auc__actions .v2-faq__wa { order: 0; }
}

@media (max-width: 480px) {
    .v2-auh__facts { font-size: 10.5px; }
    .v2-auh__row dd { font-size: 13px; }
    .v2-auh__cardfoot { flex-direction: column; }
    .v2-aut__kpi b { font-size: 24px; }
    .v2-aut__kpi .v2-mono { font-size: 9.5px; }
    .v2-aug__row-in b { font-size: 13.5px; }
}

/* ============================================================
   FLOATING RESUME-CHECKOUT BAR (2026-07-04)
   Fixed bottom-left card shown only when the visitor has a
   package in the cart. Bottom-right belongs to Crisp chat.
============================================================ */

.v2-resume {
    position: fixed;
    left: 18px;
    bottom: 18px;
    z-index: 940;
    display: flex;
    align-items: center;
    gap: 13px;
    max-width: min(430px, calc(100vw - 96px));
    padding: 13px 14px 13px 15px;
    background: var(--ink);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 16px;
    box-shadow: 0 8px 18px rgba(10, 16, 23, 0.18), 0 24px 48px -12px rgba(10, 16, 23, 0.35);
    opacity: 0;
    transform: translateY(14px);
    transition: opacity 0.35s cubic-bezier(0.22, 0.8, 0.26, 1), transform 0.35s cubic-bezier(0.22, 0.8, 0.26, 1);
}
.v2-resume[hidden] { display: none; }
.v2-resume.is-up { opacity: 1; transform: none; }

.v2-resume__ic {
    position: relative;
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    background: rgba(62, 207, 129, 0.14);
    color: #3ECF81;
}
.v2-resume__ic svg { width: 20px; height: 20px; }
.v2-resume__ic b {
    position: absolute;
    top: -5px;
    right: -5px;
    min-width: 17px;
    height: 17px;
    padding: 0 4px;
    display: inline-grid;
    place-items: center;
    border-radius: 999px;
    background: var(--go);
    color: #FFFFFF;
    font: 700 10.5px/1 var(--font-body);
    border: 2px solid var(--ink);
    box-sizing: content-box;
}
.v2-resume__txt {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.v2-resume__txt b {
    color: #FFFFFF;
    font: 600 14px/1.25 var(--font-body);
    letter-spacing: -0.01em;
}
.v2-resume__txt span {
    color: #93A0AC;
    font: 400 12px/1.35 var(--font-body);
}
.v2 .v2-resume__go { flex: 0 0 auto; }
.v2 .v2-resume__x {
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #7A8794;
    cursor: pointer;
    transition: color 0.15s ease, background 0.15s ease;
}
.v2 .v2-resume__x:hover { color: #FFFFFF; background: rgba(255, 255, 255, 0.08); }
.v2 .v2-resume__x svg { width: 15px; height: 15px; }

@media (max-width: 640px) {
    .v2-resume {
        left: 12px;
        bottom: 12px;
        max-width: calc(100vw - 88px); /* keep clear of the Crisp bubble */
        gap: 10px;
        padding: 11px 11px 11px 12px;
        border-radius: 14px;
    }
    .v2-resume__ic { width: 36px; height: 36px; }
    .v2-resume__txt span { display: none; } /* headline + button only on phones */
    .v2-resume__txt b { font-size: 13px; }
}

/* ============================================================
   BLOG ARTICLE V2 (/blog/google-play-publishing-requirements-2026)
   Long-form article layer: reading layout with sticky TOC rail,
   mobile section chips + progress, and V2 restylings of every
   feature block from the old post (pipeline, capsules, advisor,
   timelines, gantt, readiness checklist, FAQ, sticky CTA).
   Prefix: v2gpr-. Two dark moments: quick answer + final CTA.
   One rose moment: the "Opted In Is Not Added" danger card.
   ============================================================ */

/* Block-scoped reset (gotcha 19: base reset skips lists/figures) */
.v2gpr-prose ul, .v2gpr-prose ol, .v2gpr-prose figure, .v2gpr-prose figcaption,
.v2gpr-toc__grid, .v2gpr-rail__list, .v2gpr-gate ul, .v2gpr-icon__txt ul,
.v2gpr-q3__card ul, .v2gpr-dd__col ul, .v2gpr-pitfalls, .v2gpr-cover {
    margin: 0;
    padding: 0;
    list-style: none;
}

/* ---------- Mobile section chips + reading progress ---------- */

.v2gpr-chips {
    position: fixed;
    top: var(--nav-h);
    left: 0;
    right: 0;
    z-index: 55;
    background: rgba(255, 255, 255, 0.96);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    border-bottom: 1px solid var(--line);
    transform: translateY(-10px);
    opacity: 0;
    pointer-events: none;
    transition: transform 0.3s cubic-bezier(0.22, 0.8, 0.26, 1), opacity 0.3s ease;
}
.v2gpr-chips.is-on {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
}
.v2gpr-chips__row {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    padding: 9px 16px;
}
.v2gpr-chips__row::-webkit-scrollbar { display: none; }
.v2gpr-chip {
    flex-shrink: 0;
    font-size: 10px;
    padding: 7px 12px;
    border-radius: 999px;
    background: var(--mist);
    border: 1px solid var(--line);
    color: var(--slate);
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.v2gpr-chip.is-active {
    background: var(--ink);
    border-color: var(--ink);
    color: #fff;
}
.v2gpr-chips__track {
    position: relative;
    height: 2px;
    margin-top: -1px;
}
.v2gpr-chips__track i {
    display: block;
    height: 2px;
    width: 0;
    background: var(--go);
    transition: width 0.15s linear;
}
@media (min-width: 961px) {
    .v2gpr-chips { display: none; }
}

/* ---------- Hero ---------- */

.v2gpr-hero {
    background: var(--paper);
    padding: calc(var(--nav-h) + clamp(30px, 4.5vw, 52px)) 0 clamp(8px, 1.5vw, 16px);
}
.v2gpr-crumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    color: var(--faint);
    margin-bottom: clamp(22px, 3vw, 34px);
}
.v2gpr-crumbs a {
    color: var(--slate);
    text-decoration: none;
}
.v2gpr-crumbs a:hover { color: var(--ink); }
.v2gpr-crumbs__here { color: var(--faint); }
.v2gpr-hero__head { max-width: 830px; }
.v2gpr-hero__title {
    font-family: var(--font-display);
    font-weight: 800;
    font-size: clamp(1.95rem, 1.25rem + 2.7vw, 3.1rem);
    line-height: 1.06;
    letter-spacing: -0.025em;
    color: var(--ink);
    text-wrap: balance;
    margin-top: 14px;
}
.v2gpr-hero__lead {
    margin-top: 18px;
    max-width: 780px;
}
.v2gpr-byline {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 22px;
    margin-top: 24px;
}
.v2gpr-byline__who {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
}
.v2gpr-byline__who img {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    object-fit: cover;
    object-position: top;
    border: 1px solid var(--line);
    display: block;
}
.v2gpr-byline__who span { font-size: 14px; color: var(--slate); }
.v2gpr-byline__who b { color: var(--ink); font-weight: 650; }
.v2gpr-byline__who:hover b { color: var(--go-deep); }
.v2gpr-byline__meta { font-size: 10.5px; color: var(--faint); }
.v2gpr-byline__meta span { white-space: nowrap; }
.v2gpr-byline__fresh {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11.5px;
    font-weight: 600;
    color: var(--go-deep);
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.22);
    border-radius: 999px;
    padding: 5px 11px;
    white-space: nowrap;
}
.v2gpr-byline__fresh svg { width: 13px; height: 13px; }
.v2gpr-facts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-top: clamp(24px, 3.5vw, 34px);
    max-width: 830px;
}
.v2gpr-fact {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 14px 16px;
}
.v2gpr-fact b {
    display: block;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 20px;
    letter-spacing: -0.02em;
    color: var(--ink);
    font-variant-numeric: tabular-nums;
}
.v2gpr-fact .v2-mono { display: block; margin-top: 5px; font-size: 9.5px; }
.v2gpr-cover { margin: clamp(28px, 4vw, 42px) 0 0; }
.v2gpr-cover img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 18px;
    border: 1px solid var(--line);
    box-shadow: 0 1px 2px rgba(10, 16, 23, 0.05), 0 24px 48px -22px rgba(10, 16, 23, 0.14);
}
/* Hero entrance */
.v2gpr-hero.v2-anim .v2-eyebrow,
.v2gpr-hero.v2-anim .v2gpr-hero__title,
.v2gpr-hero.v2-anim .v2gpr-hero__lead,
.v2gpr-hero.v2-anim .v2gpr-byline,
.v2gpr-hero.v2-anim .v2gpr-cover {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity 0.6s ease, transform 0.6s cubic-bezier(0.22, 0.8, 0.26, 1);
}
.v2gpr-hero.v2-anim .v2gpr-hero__title { transition-delay: 0.06s; }
.v2gpr-hero.v2-anim .v2gpr-hero__lead { transition-delay: 0.12s; }
.v2gpr-hero.v2-anim .v2gpr-byline { transition-delay: 0.18s; }
.v2gpr-hero.v2-anim .v2gpr-cover { transition-delay: 0.3s; }
.v2gpr-hero.v2-anim .v2gpr-fact {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.5s ease, transform 0.5s cubic-bezier(0.22, 0.8, 0.26, 1);
    transition-delay: calc(0.18s + var(--d, 0s));
}
.v2gpr-hero.is-in .v2-eyebrow,
.v2gpr-hero.is-in .v2gpr-hero__title,
.v2gpr-hero.is-in .v2gpr-hero__lead,
.v2gpr-hero.is-in .v2gpr-byline,
.v2gpr-hero.is-in .v2gpr-cover,
.v2gpr-hero.is-in .v2gpr-fact {
    opacity: 1;
    transform: none;
}

/* ---------- Reading layout: rail + article ---------- */

.v2gpr-zone { padding: clamp(26px, 4vw, 44px) 0 clamp(56px, 7vw, 88px); }
.v2gpr-layout {
    display: grid;
    grid-template-columns: 264px minmax(0, 1fr);
    gap: clamp(36px, 5vw, 60px);
    align-items: start;
}
.v2gpr-rail__stick {
    position: sticky;
    top: calc(var(--nav-h) + 24px);
    max-height: calc(100vh - var(--nav-h) - 44px);
    overflow-y: auto;
    scrollbar-width: thin;
    padding-bottom: 6px;
}
.v2gpr-rail__label { margin-bottom: 10px; }
.v2gpr-rail__list li a {
    display: flex;
    align-items: baseline;
    gap: 10px;
    padding: 7px 10px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.45;
    color: var(--slate);
    text-decoration: none;
    transition: background 0.18s ease, color 0.18s ease;
}
.v2gpr-rail__list li a .v2-mono {
    font-size: 9.5px;
    width: 18px;
    flex-shrink: 0;
}
.v2gpr-rail__list li a:hover { color: var(--ink); }
.v2gpr-rail__list li a.is-active {
    background: var(--mist);
    color: var(--ink);
    font-weight: 600;
}
.v2gpr-rail__list li a.is-active .v2-mono { color: var(--go-deep); }
.v2gpr-rail__cta {
    margin-top: 18px;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 16px;
}
.v2gpr-rail__cta p { margin-bottom: 7px; font-size: 9.5px; }
.v2gpr-rail__cta b {
    display: block;
    font-size: 13.5px;
    font-weight: 650;
    color: var(--ink);
    line-height: 1.45;
    margin-bottom: 10px;
}
.v2gpr-rail__cta a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 700;
    color: var(--go-deep);
    text-decoration: none;
}
.v2gpr-rail__cta a .v2-ic { width: 15px; height: 15px; }
.v2gpr-rail__cta a:hover { text-decoration: underline; }

/* ---------- Article prose ---------- */

.v2gpr-article { min-width: 0; counter-reset: gprsec; }
.v2gpr-prose > p {
    font-size: 16.5px;
    line-height: 1.85;
    color: var(--slate);
    margin: 18px 0;
    text-wrap: pretty;
}
.v2gpr-prose strong, .v2gpr-prose b { color: var(--ink); font-weight: 650; }
.v2gpr-prose a {
    color: var(--go-deep);
    font-weight: 600;
    text-decoration: underline;
    text-decoration-color: rgba(11, 138, 71, 0.3);
    text-underline-offset: 3px;
    transition: text-decoration-color 0.18s ease;
}
.v2gpr-prose a:hover { text-decoration-color: var(--go-deep); }
.v2gpr-prose code {
    font-family: var(--font-mono);
    font-size: 0.82em;
    color: var(--ink);
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 6px;
    padding: 2px 7px;
    word-break: break-word;
    overflow-wrap: anywhere;
}
.v2gpr-h2 {
    counter-increment: gprsec;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: clamp(1.48rem, 1.2rem + 1.1vw, 1.9rem);
    line-height: 1.16;
    letter-spacing: -0.018em;
    color: var(--ink);
    text-wrap: balance;
    margin: 58px 0 18px;
    padding-top: 30px;
    border-top: 1px solid var(--line);
    scroll-margin-top: calc(var(--nav-h) + 26px);
}
.v2gpr-h2::before {
    content: counter(gprsec, decimal-leading-zero);
    display: block;
    font-family: var(--font-mono);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.14em;
    color: var(--faint);
    margin-bottom: 12px;
}
.v2gpr-h3 {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 19.5px;
    letter-spacing: -0.014em;
    line-height: 1.3;
    color: var(--ink);
    margin: 36px 0 12px;
    scroll-margin-top: calc(var(--nav-h) + 26px);
}
.v2gpr-prose > ul:not([class]) {
    margin: 16px 0;
}
.v2gpr-prose > ul:not([class]) > li {
    position: relative;
    padding-left: 22px;
    font-size: 15.5px;
    line-height: 1.75;
    color: var(--slate);
    margin: 10px 0;
}
.v2gpr-prose > ul:not([class]) > li::before {
    content: '';
    position: absolute;
    left: 3px;
    top: 10px;
    width: 6px;
    height: 6px;
    border-radius: 2px;
    background: #C9D2DA;
}
.v2gpr-prose figcaption {
    font-size: 13px;
    line-height: 1.6;
    color: var(--slate);
    margin: 10px 4px 0;
}

/* Marker dots used across lists and chips */
.v2gpr-mk {
    display: inline-block;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    border-radius: 50%;
    background-color: var(--mist);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 9px;
    vertical-align: -3px;
}
.v2gpr-mk.is-check {
    background-color: var(--go-tint);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2.2 6.4 4.8 9l5-6' stroke='%230B8A47' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.v2gpr-mk.is-cross {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M3 3l6 6M9 3l-6 6' stroke='%239AA6B2' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E");
}
.v2gpr-mk.is-alert {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M6 2.6v4.2M6 9.2v.2' stroke='%230A1017' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E");
}
.v2gpr-mk.is-info {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M6 5.4v4M6 2.6v.2' stroke='%2355616D' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* ---------- Pipeline artifact ---------- */

.v2gpr-pipe {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 22px 24px 18px;
    margin: 8px 0 26px;
}
.v2gpr-pipe__label {
    display: flex;
    align-items: center;
    gap: 8px;
}
.v2gpr-pipe__label svg { width: 15px; height: 15px; color: var(--slate); }
.v2gpr-pipe__flow {
    display: flex;
    align-items: stretch;
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    padding: 18px 0 6px;
}
.v2gpr-pipe__flow::-webkit-scrollbar { display: none; }
.v2gpr-pipe__step {
    flex: 1 0 0;
    min-width: 98px;
    text-align: center;
    position: relative;
    padding: 0 6px;
}
.v2gpr-pipe__step:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 21px;
    left: 50%;
    width: 100%;
    height: 2px;
    background: var(--line);
    z-index: 0;
}
.v2gpr-pipe__dot {
    position: relative;
    z-index: 1;
    width: 42px;
    height: 42px;
    margin: 0 auto 10px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--mist);
    border: 1px solid var(--line);
    color: var(--slate);
}
.v2gpr-pipe__dot svg { width: 20px; height: 20px; }
.v2gpr-pipe__step.is-key .v2gpr-pipe__dot {
    background: var(--go-tint);
    border-color: rgba(11, 138, 71, 0.35);
    color: var(--go);
    box-shadow: 0 0 0 4px rgba(11, 138, 71, 0.08);
}
.v2gpr-pipe__n { display: block; font-size: 9px; margin-bottom: 3px; }
.v2gpr-pipe__t {
    display: block;
    font-size: 12.5px;
    font-weight: 700;
    color: var(--ink);
    line-height: 1.3;
}
.v2gpr-pipe__step.is-key .v2gpr-pipe__t { color: var(--go-deep); }
.v2gpr-pipe__s { display: block; font-size: 10.5px; color: var(--faint); margin-top: 3px; }
.v2gpr-pipe__foot {
    display: flex;
    gap: 8px;
    margin-top: 14px;
    padding-top: 13px;
    border-top: 1px solid var(--line);
    font-size: 13px;
    line-height: 1.6;
    color: var(--slate);
}
.v2gpr-pipe__foot svg { width: 15px; height: 15px; flex-shrink: 0; margin-top: 3px; color: var(--faint); }
.v2gpr-pipe.v2-anim .v2gpr-pipe__step {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.5s ease, transform 0.5s cubic-bezier(0.22, 0.8, 0.26, 1);
    transition-delay: var(--d, 0s);
}
.v2gpr-pipe.is-in .v2gpr-pipe__step { opacity: 1; transform: none; }

/* ---------- Quick answer (dark moment #1) ---------- */

.v2gpr-qa {
    background: var(--ink);
    border-radius: 20px;
    padding: 26px 30px;
    margin: 26px 0;
}
.v2gpr-qa__tag {
    display: flex;
    align-items: center;
    gap: 9px;
    color: #3ECF81;
    margin-bottom: 13px;
}
.v2gpr-qa__tag i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #3ECF81;
    animation: v2Pulse 2.4s ease-out infinite;
}
.v2gpr-qa__text {
    color: #E7EDF2;
    font-size: 16.5px;
    line-height: 1.8;
    font-weight: 450;
}
.v2gpr-qa__text strong { color: #fff; font-weight: 700; }
.v2gpr-qa__text strong.is-go { color: #3ECF81; }

/* ---------- Table of contents card ---------- */

.v2gpr-toc {
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 20px 22px;
    margin: 28px 0;
}
.v2gpr-toc__label { margin-bottom: 12px; }
.v2gpr-toc__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2px 20px;
}
.v2gpr-toc__grid a {
    display: flex;
    align-items: baseline;
    gap: 10px;
    padding: 6px 8px;
    border-radius: 8px;
    font-size: 13.5px;
    font-weight: 500;
    line-height: 1.4;
    color: var(--slate);
    text-decoration: none;
    transition: background 0.18s ease, color 0.18s ease;
}
.v2gpr-toc__grid a:hover { background: var(--paper); color: var(--ink); }
.v2gpr-toc__grid a .v2-mono { font-size: 9.5px; width: 18px; flex-shrink: 0; }

/* ---------- Step ledger (sequence + policy breakdown) ---------- */

.v2gpr-seq { margin: 22px 0; }
.v2gpr-seq__item {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 16px;
    padding: 16px 0;
    border-top: 1px solid var(--line);
}
.v2gpr-seq__item:first-child { border-top: none; padding-top: 4px; }
.v2gpr-seq__num {
    width: 38px;
    height: 38px;
    border-radius: 11px;
    background: var(--mist);
    border: 1px solid var(--line);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 15px;
    color: var(--ink);
}
.v2gpr-seq__item.is-key .v2gpr-seq__num {
    background: var(--go);
    border-color: var(--go);
    color: #fff;
}
.v2gpr-seq__num.is-ic { color: var(--slate); }
.v2gpr-seq__num.is-ic svg { width: 19px; height: 19px; }
.v2gpr-seq__body h3 {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 16.5px;
    letter-spacing: -0.012em;
    color: var(--ink);
    margin-bottom: 6px;
    line-height: 1.35;
}
.v2gpr-seq__body p { font-size: 14.5px; line-height: 1.7; color: var(--slate); }

/* ---------- Callout family: tip / note / warn / danger ---------- */

.v2gpr-tip, .v2gpr-note, .v2gpr-warn, .v2gpr-danger {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 14px;
    border-radius: 14px;
    padding: 18px 20px;
    margin: 22px 0;
}
.v2gpr-tip__ic, .v2gpr-note__ic, .v2gpr-warn__ic, .v2gpr-danger__ic {
    width: 40px;
    height: 40px;
    border-radius: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.v2gpr-tip__ic svg, .v2gpr-note__ic svg, .v2gpr-warn__ic svg, .v2gpr-danger__ic svg {
    width: 20px;
    height: 20px;
}
.v2gpr-tip__label, .v2gpr-warn__label, .v2gpr-danger__label { margin-bottom: 6px; }
.v2gpr-tip p, .v2gpr-note p, .v2gpr-warn p, .v2gpr-danger p {
    font-size: 14.5px;
    line-height: 1.7;
    color: var(--slate);
}
.v2gpr-tip {
    background: var(--paper);
    border: 1px solid var(--line);
}
.v2gpr-tip__ic { background: var(--go-tint); color: var(--go); }
.v2gpr-tip__label { color: var(--go-deep); }
.v2gpr-note {
    background: var(--mist);
    border: 1px solid var(--line);
}
.v2gpr-note__ic { background: var(--paper); color: var(--slate); border: 1px solid var(--line); }
.v2gpr-warn {
    background: var(--paper);
    border: 1px solid var(--line);
    border-left: 3px solid var(--ink);
}
.v2gpr-warn__ic { background: var(--mist); color: var(--ink); }
.v2gpr-warn__label { color: var(--ink); }
.v2gpr-danger {
    background: #FDF1F0;
    border: 1px solid rgba(180, 35, 24, 0.16);
    border-left: 3px solid #B42318;
}
.v2gpr-danger__ic { background: rgba(180, 35, 24, 0.08); color: #B42318; }
.v2gpr-danger__label { color: #B42318; }

/* ---------- $25 fee plaque ---------- */

.v2gpr-fee {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 26px;
    align-items: center;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 24px 28px;
    margin: 24px 0;
}
.v2gpr-fee__num { text-align: center; }
.v2gpr-fee__num b {
    display: block;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 50px;
    line-height: 1;
    letter-spacing: -0.03em;
    color: var(--ink);
}
.v2gpr-fee__num .v2-mono { display: block; margin-top: 7px; }
.v2gpr-fee__txt { border-left: 1px solid var(--line); padding-left: 26px; }
.v2gpr-fee__txt p { font-size: 15px; line-height: 1.7; color: var(--slate); }

/* ---------- Payment methods ---------- */

.v2gpr-pay {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 22px 0;
}
.v2gpr-pay__box {
    border-radius: 14px;
    padding: 18px 20px;
    border: 1px solid var(--line);
}
.v2gpr-pay__box.is-ok {
    background: var(--go-tint);
    border-color: rgba(11, 138, 71, 0.22);
}
.v2gpr-pay__box.is-no { background: var(--mist); }
.v2gpr-pay__box > .v2-mono { display: block; margin-bottom: 12px; }
.v2gpr-pay__box.is-ok > .v2-mono { color: var(--go-deep); }
.v2gpr-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12.5px;
    font-weight: 600;
    color: var(--ink);
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 6px 11px;
    margin: 0 6px 6px 0;
}
.v2gpr-chip::before {
    content: '';
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 8px;
}
.v2gpr-chip.is-ok::before {
    background-color: var(--go-tint);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2.2 6.4 4.8 9l5-6' stroke='%230B8A47' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.v2gpr-chip.is-no { color: var(--slate); }
.v2gpr-chip.is-no::before {
    background-color: var(--mist);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M3 3l6 6M9 3l-6 6' stroke='%239AA6B2' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* ---------- Personal vs organization cards ---------- */

.v2gpr-acct {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin: 28px 0 24px;
}
.v2gpr-acct__card {
    position: relative;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 26px 22px 20px;
}
.v2gpr-acct__tag {
    position: absolute;
    top: -11px;
    left: 18px;
    background: var(--ink);
    color: #fff;
    border-radius: 999px;
    padding: 4px 12px;
    font-size: 9.5px;
}
.v2gpr-acct__card h3 {
    display: flex;
    align-items: center;
    gap: 9px;
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 17px;
    color: var(--ink);
    margin-bottom: 4px;
}
.v2gpr-acct__card h3 svg { width: 18px; height: 18px; color: var(--slate); flex-shrink: 0; }
.v2gpr-acct__who { font-size: 13px; color: var(--faint); margin-bottom: 10px; }
.v2gpr-acct__row {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 9px 0;
    border-top: 1px solid #EFF2F4;
    font-size: 14px;
    line-height: 1.55;
    color: var(--slate);
}
.v2gpr-acct__row:first-of-type { border-top: none; }
.v2gpr-acct__row .v2gpr-mk { margin-top: 3px; }
.v2gpr-acct__row.is-win strong { color: var(--go-deep); }

/* ---------- Interactive tool shells (advisor) ---------- */

.v2gpr-tool {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 20px;
    overflow: hidden;
    margin: 28px 0;
    box-shadow: 0 1px 2px rgba(10, 16, 23, 0.05), 0 14px 34px -20px rgba(10, 16, 23, 0.14);
}
.v2gpr-tool__head {
    background: var(--mist);
    border-bottom: 1px solid var(--line);
    padding: 22px 26px;
}
.v2gpr-tool__tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--go-deep);
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.22);
    border-radius: 999px;
    padding: 5px 11px;
    font-size: 9.5px;
}
.v2gpr-tool__tag svg { width: 13px; height: 13px; }
.v2gpr-tool__head h3 {
    font-family: var(--font-display);
    font-weight: 650;
    font-size: 19px;
    letter-spacing: -0.014em;
    color: var(--ink);
    margin: 13px 0 5px;
}
.v2gpr-tool__head p { font-size: 14px; color: var(--slate); }
.v2gpr-tool__body { padding: 22px 26px; }
.v2gpr-tool__label { display: block; margin-bottom: 8px; }
.v2gpr-select { position: relative; }
.v2gpr-select::after {
    content: '';
    position: absolute;
    right: 19px;
    top: 44%;
    width: 9px;
    height: 9px;
    border-right: 2px solid var(--slate);
    border-bottom: 2px solid var(--slate);
    transform: translateY(-50%) rotate(45deg);
    pointer-events: none;
}
.v2 .v2gpr-select select {
    appearance: none;
    -webkit-appearance: none;
    width: 100%;
    padding: 13px 44px 13px 16px;
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 600;
    color: var(--ink);
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 12px;
    cursor: pointer;
    transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}
.v2 .v2gpr-select select:hover { border-color: #C9D2DA; }
.v2 .v2gpr-select select:focus {
    outline: none;
    border-color: var(--go);
    background: var(--paper);
    box-shadow: 0 0 0 3px var(--go-tint);
}
.v2gpr-tool__result { margin-top: 16px; }
.v2gpr-tool__empty {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 16px 18px;
    background: var(--mist);
    border: 1px dashed #C9D2DA;
    border-radius: 12px;
    color: var(--slate);
    font-size: 14px;
}
.v2gpr-tool__empty svg { width: 17px; height: 17px; color: var(--faint); flex-shrink: 0; }
.v2gpr-rc {
    display: none;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 20px 22px;
}
.v2gpr-rc.show { display: block; animation: v2gprIn 0.35s ease; }
@keyframes v2gprIn {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}
.v2gpr-rc__head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}
.v2gpr-rc__ic {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: var(--mist);
    border: 1px solid var(--line);
    color: var(--slate);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.v2gpr-rc__ic svg { width: 21px; height: 21px; }
.v2gpr-rc__head h4 {
    font-family: var(--font-display);
    font-weight: 650;
    font-size: 16px;
    color: var(--ink);
    margin-bottom: 3px;
}
.v2gpr-rc__tag {
    display: inline-block;
    font-size: 9px;
    border-radius: 6px;
    padding: 3px 8px;
}
.v2gpr-rc__tag.is-go {
    color: var(--go-deep);
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.22);
}
.v2gpr-rc__tag.is-must {
    color: #fff;
    background: var(--ink);
}
.v2gpr-rc p { font-size: 14px; line-height: 1.7; color: var(--slate); margin-bottom: 10px; }
.v2gpr-rc p:last-child { margin-bottom: 0; }

/* ---------- Claim vs fact split (5-day myth) ---------- */

.v2gpr-myth {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border: 1px solid var(--line);
    border-radius: 16px;
    overflow: hidden;
    margin: 24px 0;
}
.v2gpr-myth__side { padding: 20px 22px; }
.v2gpr-myth__side.is-wrong {
    background: var(--mist);
    border-right: 1px solid var(--line);
}
.v2gpr-myth__side.is-right { background: var(--go-tint); }
.v2gpr-myth__tag {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}
.v2gpr-myth__side.is-right .v2gpr-myth__tag { color: var(--go-deep); }
.v2gpr-myth__side h4 {
    font-family: var(--font-display);
    font-weight: 650;
    font-size: 15.5px;
    color: var(--ink);
    margin: 11px 0 7px;
    line-height: 1.35;
}
.v2gpr-myth__side p { font-size: 13.5px; line-height: 1.65; color: var(--slate); }

/* ---------- Two-layer gates ---------- */

.v2gpr-gates {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 24px 0;
}
.v2gpr-gate {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 20px 22px;
}
.v2gpr-gate__num {
    display: inline-block;
    background: var(--mist);
    border: 1px solid var(--line);
    color: var(--ink);
    border-radius: 6px;
    padding: 3px 10px;
    font-size: 9.5px;
    margin-bottom: 12px;
}
.v2gpr-gate h3 {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 16px;
    color: var(--ink);
    margin-bottom: 6px;
}
.v2gpr-gate > p { font-size: 13.5px; line-height: 1.65; color: var(--slate); margin-bottom: 10px; }
.v2gpr-gate ul li {
    position: relative;
    padding-left: 17px;
    font-size: 13px;
    line-height: 1.7;
    color: var(--slate);
    margin-bottom: 4px;
}
.v2gpr-gate ul li::before {
    content: '';
    position: absolute;
    left: 3px;
    top: 9px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #C9D2DA;
}

/* ---------- Malware bars ---------- */

.v2gpr-bars {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 22px 24px;
    margin: 24px 0;
}
.v2gpr-bars__title { display: flex; align-items: center; gap: 8px; }
.v2gpr-bars__title svg { width: 15px; height: 15px; color: var(--slate); }
.v2gpr-bars__sub { font-size: 13px; color: var(--slate); margin: 6px 0 18px; }
.v2gpr-bars__row { margin-bottom: 14px; }
.v2gpr-bars__row:last-of-type { margin-bottom: 0; }
.v2gpr-bars__lab {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 13.5px;
    margin-bottom: 7px;
}
.v2gpr-bars__lab span { font-weight: 600; color: var(--slate); }
.v2gpr-bars__lab b.is-bad {
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 14.5px;
    color: var(--ink);
    font-variant-numeric: tabular-nums;
}
.v2gpr-bars__lab b.is-good { font-size: 10px; color: var(--go-deep); font-weight: 600; }
.v2gpr-bars__track {
    height: 18px;
    background: #E9EDF1;
    border-radius: 9px;
    overflow: hidden;
}
.v2gpr-bars__fill {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    height: 100%;
    border-radius: 9px;
    padding-right: 9px;
    font-style: normal;
    font-size: 10px;
    font-weight: 700;
}
.v2gpr-bars__fill.is-bad { background: var(--ink); color: rgba(255, 255, 255, 0.85); }
.v2gpr-bars__fill.is-good { background: var(--go); }
.v2gpr-bars.is-in .v2gpr-bars__fill { animation: v2gprBar 0.9s cubic-bezier(0.22, 0.8, 0.26, 1); }
@keyframes v2gprBar { from { width: 0; } }
.v2gpr-bars__note {
    margin-top: 16px;
    padding-top: 13px;
    border-top: 1px solid var(--line);
    font-size: 12.5px;
    line-height: 1.6;
    color: var(--faint);
}

/* ---------- Rollout timeline (vertical) ---------- */

.v2gpr-vtl { margin: 24px 0 30px; padding-left: 6px; }
.v2gpr-vtl__item {
    position: relative;
    padding: 0 0 22px 32px;
    border-left: 2px solid #E9EDF1;
}
.v2gpr-vtl__item:last-child { border-left-color: transparent; padding-bottom: 0; }
.v2gpr-vtl__dot {
    position: absolute;
    left: -10px;
    top: 0;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--paper);
    border: 3px solid #D6DDE3;
}
.v2gpr-vtl__item.is-now .v2gpr-vtl__dot {
    border-color: var(--go);
    box-shadow: 0 0 0 4px var(--go-tint);
}
.v2gpr-vtl__item.is-enforce .v2gpr-vtl__dot {
    background: var(--ink);
    border-color: var(--ink);
    box-shadow: 0 0 0 4px rgba(10, 16, 23, 0.1);
}
.v2gpr-vtl__date {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    color: var(--ink);
    margin-bottom: 5px;
}
.v2gpr-vtl__pill {
    font-size: 8.5px;
    letter-spacing: 0.1em;
    border-radius: 999px;
    padding: 2px 8px;
}
.v2gpr-vtl__pill.is-now {
    color: var(--go-deep);
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.22);
}
.v2gpr-vtl__pill.is-enforce { color: #fff; background: var(--ink); }
.v2gpr-vtl__item h4 {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 15.5px;
    color: var(--ink);
    margin-bottom: 5px;
}
.v2gpr-vtl__item > p:last-child { font-size: 13.5px; line-height: 1.65; color: var(--slate); }

/* ---------- Distribution cards ---------- */

.v2gpr-dist {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin: 24px 0;
}
.v2gpr-dist__card {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 22px;
}
.v2gpr-dist__card.is-free {
    background: var(--go-tint);
    border-color: rgba(11, 138, 71, 0.22);
}
.v2gpr-dist__card h3 {
    display: flex;
    align-items: center;
    gap: 9px;
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 16.5px;
    color: var(--ink);
}
.v2gpr-dist__card h3 svg { width: 18px; height: 18px; color: var(--slate); flex-shrink: 0; }
.v2gpr-dist__card.is-free h3 svg { color: var(--go); }
.v2gpr-dist__price { margin: 10px 0 8px; }
.v2gpr-dist__price b {
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 26px;
    letter-spacing: -0.02em;
    color: var(--ink);
}
.v2gpr-dist__price small { font-size: 13px; color: var(--slate); margin-left: 7px; }
.v2gpr-dist__row {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 8px 0;
    border-top: 1px solid rgba(10, 16, 23, 0.06);
    font-size: 13.5px;
    line-height: 1.55;
    color: var(--slate);
}
.v2gpr-dist__row:first-of-type { border-top: none; }
.v2gpr-dist__row .v2gpr-mk { margin-top: 2px; }
.v2gpr-dist__card.is-free .v2gpr-mk.is-check { background-color: #fff; }
.v2gpr-dist__card.is-free .v2gpr-mk.is-info { background-color: #fff; }

/* ---------- Inline fact strip ---------- */

.v2gpr-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 22px 0;
}
.v2gpr-statc {
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 15px 12px;
    text-align: center;
}
.v2gpr-statc b {
    display: block;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 21px;
    letter-spacing: -0.02em;
    color: var(--ink);
    line-height: 1;
    font-variant-numeric: tabular-nums;
}
.v2gpr-statc b .is-go { color: var(--go); }
.v2gpr-statc > span {
    display: block;
    font-size: 11.5px;
    line-height: 1.45;
    color: var(--slate);
    margin-top: 7px;
}

/* ---------- API level milestones ---------- */

.v2gpr-api {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 26px 20px 20px;
    margin: 24px 0;
}
.v2gpr-api__track {
    position: relative;
    display: flex;
    justify-content: space-between;
    gap: 8px;
    padding-top: 30px;
}
.v2gpr-api__track::before {
    content: '';
    position: absolute;
    top: 37px;
    left: 7%;
    right: 7%;
    height: 3px;
    border-radius: 2px;
    background: linear-gradient(90deg, var(--go) 0%, var(--go) 34%, #BBE3CD 34%, #BBE3CD 66%, #E9EDF1 66%, #E9EDF1 100%);
}
.v2gpr-api__mil {
    position: relative;
    flex: 1;
    text-align: center;
    z-index: 1;
}
.v2gpr-api__badge {
    position: absolute;
    top: -30px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 8.5px;
    letter-spacing: 0.1em;
    border-radius: 999px;
    padding: 3px 9px;
    white-space: nowrap;
    background: var(--mist);
    border: 1px solid var(--line);
    color: var(--slate);
}
.v2gpr-api__badge.is-done {
    background: var(--go-tint);
    border-color: rgba(11, 138, 71, 0.22);
    color: var(--go-deep);
}
.v2gpr-api__badge.is-next {
    background: var(--ink);
    border-color: var(--ink);
    color: #fff;
}
.v2gpr-api__dot {
    display: block;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    margin: 0 auto 12px;
    background: #E9EDF1;
    border: 3px solid var(--paper);
    box-shadow: 0 0 0 2px #E9EDF1;
}
.v2gpr-api__mil.is-done .v2gpr-api__dot {
    background: var(--go);
    box-shadow: 0 0 0 2px var(--go);
}
.v2gpr-api__mil.is-next .v2gpr-api__dot {
    background: var(--paper);
    box-shadow: 0 0 0 2px var(--ink);
}
.v2gpr-api__mil b {
    display: block;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 15px;
    color: var(--ink);
}
.v2gpr-api__os { display: block; font-size: 11.5px; color: var(--slate); margin-top: 2px; }
.v2gpr-api__date { display: block; font-size: 9px; margin-top: 5px; }

/* ---------- Asset spec cards ---------- */

.v2gpr-asset {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 24px 0;
}
.v2gpr-asset__card {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 18px 20px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.v2gpr-asset__card:hover {
    border-color: #C9D2DA;
    box-shadow: 0 10px 24px -16px rgba(10, 16, 23, 0.18);
}
.v2gpr-asset__card h4 {
    display: flex;
    align-items: center;
    gap: 9px;
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 15px;
    color: var(--ink);
    margin-bottom: 10px;
}
.v2gpr-asset__card h4 svg { width: 18px; height: 18px; color: var(--slate); flex-shrink: 0; }
.v2gpr-spec {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    padding: 7px 0;
    border-top: 1px dashed #E9EDF1;
    font-size: 13px;
}
.v2gpr-spec:first-of-type { border-top: none; }
.v2gpr-spec .k { color: var(--slate); }
.v2gpr-spec .v { color: var(--ink); font-weight: 650; text-align: right; }

/* ---------- Evidence screenshot frame ---------- */

.v2gpr-shot { margin: 28px 0; }
.v2gpr-shot > a {
    display: block;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    overflow: hidden;
    cursor: zoom-in;
    text-decoration: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.v2gpr-shot > a:hover {
    border-color: #C9D2DA;
    box-shadow: 0 16px 36px -20px rgba(10, 16, 23, 0.2);
}
.v2gpr-shot__bar {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    background: var(--mist);
    border-bottom: 1px solid var(--line);
}
.v2gpr-shot__dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--go);
    animation: v2Pulse 2.4s ease-out infinite;
    flex-shrink: 0;
}
.v2gpr-shot__bar > .v2-mono { font-size: 9.5px; }
.v2gpr-shot__zoom {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 9.5px;
    color: var(--slate);
    white-space: nowrap;
}
.v2gpr-shot__zoom svg { width: 13px; height: 13px; }
.v2gpr-shot img { display: block; width: 100%; height: auto; }

/* ---------- Icon safe-zone mockup ---------- */

.v2gpr-icon {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 26px;
    align-items: center;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 24px 26px;
    margin: 24px 0;
}
.v2gpr-icon__stage {
    width: 150px;
    height: 150px;
    border-radius: 16px;
    background: repeating-conic-gradient(#E5E9EC 0% 25%, #F4F6F8 0% 50%) 0 0 / 24px 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.v2gpr-icon__mask {
    position: relative;
    width: 150px;
    height: 150px;
    border-radius: 30%;
    background: var(--ink);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 24px -10px rgba(10, 16, 23, 0.35);
}
.v2gpr-icon__corner {
    position: absolute;
    top: 7px;
    right: 7px;
    font-size: 7.5px;
    color: rgba(255, 255, 255, 0.75);
    background: rgba(255, 255, 255, 0.14);
    padding: 2px 6px;
    border-radius: 5px;
}
.v2gpr-icon__safe {
    position: absolute;
    inset: 16%;
    border: 2px dashed rgba(255, 255, 255, 0.55);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
}
.v2gpr-icon__safe svg { width: 40px; height: 40px; }
.v2gpr-icon__txt h4 {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 15.5px;
    color: var(--ink);
    margin-bottom: 9px;
}
.v2gpr-icon__txt ul li {
    position: relative;
    padding-left: 16px;
    font-size: 13.5px;
    line-height: 1.7;
    color: var(--slate);
    margin-bottom: 5px;
}
.v2gpr-icon__txt ul li::before {
    content: '';
    position: absolute;
    left: 2px;
    top: 9px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #C9D2DA;
}

/* ---------- Do / don't columns ---------- */

.v2gpr-dd {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 24px 0;
}
.v2gpr-dd__col {
    border-radius: 14px;
    padding: 20px 22px;
    border: 1px solid var(--line);
}
.v2gpr-dd__col.is-no { background: var(--mist); }
.v2gpr-dd__col.is-yes {
    background: var(--go-tint);
    border-color: rgba(11, 138, 71, 0.22);
}
.v2gpr-dd__col > .v2-mono { display: block; margin-bottom: 12px; }
.v2gpr-dd__col.is-yes > .v2-mono { color: var(--go-deep); }
.v2gpr-dd__col li {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    font-size: 13.5px;
    line-height: 1.6;
    color: var(--slate);
    margin-bottom: 9px;
}
.v2gpr-dd__col li:last-child { margin-bottom: 0; }
.v2gpr-dd__col li .v2gpr-mk { margin-top: 2px; }
.v2gpr-dd__col.is-yes .v2gpr-mk.is-check { background-color: #fff; }

/* ---------- Declaration cards ---------- */

.v2gpr-decl {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 24px 0;
}
.v2gpr-decl__card {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 18px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.v2gpr-decl__card:hover {
    border-color: #C9D2DA;
    box-shadow: 0 10px 24px -16px rgba(10, 16, 23, 0.18);
}
.v2gpr-decl__ic {
    width: 38px;
    height: 38px;
    border-radius: 11px;
    background: var(--mist);
    color: var(--slate);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
}
.v2gpr-decl__ic svg { width: 20px; height: 20px; }
.v2gpr-decl__card h4 {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 14.5px;
    color: var(--ink);
    margin-bottom: 5px;
}
.v2gpr-decl__card p { font-size: 12.5px; line-height: 1.6; color: var(--slate); }
.v2gpr-decl__req {
    display: inline-block;
    margin-top: 10px;
    font-size: 8.5px;
    letter-spacing: 0.1em;
    border-radius: 5px;
    padding: 3px 8px;
    background: var(--ink);
    color: #fff;
}
.v2gpr-decl__req.is-cond {
    background: var(--mist);
    border: 1px solid var(--line);
    color: var(--slate);
}

/* ---------- Testing tracks ---------- */

.v2gpr-tracks {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin: 28px 0 24px;
}
.v2gpr-track {
    position: relative;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 20px 18px 14px;
}
.v2gpr-track.is-key {
    border-color: rgba(11, 138, 71, 0.4);
    box-shadow: 0 0 0 1px rgba(11, 138, 71, 0.25), 0 14px 30px -18px rgba(11, 138, 71, 0.35);
}
.v2gpr-track__badge {
    position: absolute;
    top: -11px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--go);
    color: #fff;
    font-size: 9px;
    letter-spacing: 0.1em;
    border-radius: 999px;
    padding: 4px 11px;
    white-space: nowrap;
}
.v2gpr-track h4 {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 16px;
    color: var(--ink);
    margin-bottom: 3px;
}
.v2gpr-track h4 svg { width: 17px; height: 17px; color: var(--slate); flex-shrink: 0; }
.v2gpr-track.is-key h4 svg { color: var(--go); }
.v2gpr-track__cap { font-size: 12.5px; color: var(--faint); margin-bottom: 10px; }
.v2gpr-track__row {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 5px 0;
    font-size: 13px;
    line-height: 1.55;
    color: var(--slate);
}
.v2gpr-track__row .v2gpr-mk { margin-top: 2px; }
.v2gpr-track__foot {
    margin-top: 12px;
    padding: 11px 0 4px;
    border-top: 1px solid var(--line);
    text-align: center;
    font-size: 9.5px;
}
.v2gpr-track__foot.is-yes { color: var(--go-deep); }
.v2gpr-track__foot.is-no { color: var(--slate); }
.v2gpr-track__foot.is-after { color: var(--faint); }

/* ---------- How-to-pass capsule (speakable) ---------- */

.v2gpr-pass {
    background: var(--paper);
    border: 1px solid var(--line);
    border-left: 3px solid var(--go);
    border-radius: 16px;
    padding: 22px 26px;
    margin: 24px 0;
    box-shadow: 0 1px 2px rgba(10, 16, 23, 0.04), 0 12px 28px -20px rgba(10, 16, 23, 0.14);
}
.v2gpr-pass__tag {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--go-deep);
    margin-bottom: 12px;
}
.v2gpr-pass__tag svg { width: 16px; height: 16px; color: var(--go); }
.v2gpr-pass__text { font-size: 15.5px; line-height: 1.8; color: var(--slate); }

/* ---------- Questionnaire parts ---------- */

.v2gpr-q3 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin: 24px 0;
}
.v2gpr-q3__card {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 20px 18px;
}
.v2gpr-q3__n {
    display: inline-block;
    color: var(--go-deep);
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.22);
    border-radius: 6px;
    padding: 3px 9px;
    font-size: 9.5px;
    margin-bottom: 10px;
}
.v2gpr-q3__card h4 {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 15px;
    color: var(--ink);
    margin-bottom: 8px;
}
.v2gpr-q3__card ul li {
    position: relative;
    padding-left: 16px;
    font-size: 13px;
    line-height: 1.65;
    color: var(--slate);
    margin-bottom: 5px;
}
.v2gpr-q3__card ul li::before {
    content: '';
    position: absolute;
    left: 2px;
    top: 8px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #C9D2DA;
}

/* ---------- Gantt ---------- */

.v2gpr-gantt {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 22px 24px;
    margin: 24px 0;
    overflow-x: auto;
}
.v2gpr-gantt__inner { min-width: 560px; }
.v2gpr-gantt__scale {
    display: grid;
    grid-template-columns: 170px minmax(0, 1fr);
    gap: 14px;
    margin-bottom: 12px;
}
.v2gpr-gantt__weeks {
    display: flex;
    justify-content: space-between;
    font-size: 9px;
    border-bottom: 1px dashed var(--line);
    padding-bottom: 6px;
}
.v2gpr-gantt__row {
    display: grid;
    grid-template-columns: 170px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    margin-bottom: 10px;
}
.v2gpr-gantt__lab {
    font-size: 12.5px;
    font-weight: 600;
    color: var(--ink);
    line-height: 1.3;
}
.v2gpr-gantt__lab small {
    display: block;
    font-size: 10.5px;
    font-weight: 500;
    color: var(--faint);
    margin-top: 1px;
}
.v2gpr-gantt__track {
    position: relative;
    height: 26px;
    background: #F1F4F6;
    border-radius: 7px;
}
.v2gpr-gantt__bar {
    position: absolute;
    top: 0;
    height: 26px;
    border-radius: 7px;
    display: flex;
    align-items: center;
    padding: 0 10px;
    font-style: normal;
    font-size: 10px;
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.3);
    color: var(--go-deep);
}
.v2gpr-gantt__bar.is-key {
    background: var(--go);
    border-color: var(--go);
    color: #fff;
}
.v2gpr-gantt.is-in .v2gpr-gantt__bar {
    animation: v2gprBar 0.8s cubic-bezier(0.22, 0.8, 0.26, 1) backwards;
    animation-delay: var(--d, 0s);
}
.v2gpr-gantt__total {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin-top: 14px;
    padding-top: 13px;
    border-top: 1px solid var(--line);
    font-size: 13.5px;
    color: var(--slate);
}
.v2gpr-gantt__total svg { width: 15px; height: 15px; color: var(--go); flex-shrink: 0; margin-top: 3px; }

/* ---------- Pitfall list ---------- */

.v2gpr-pitfalls { margin: 16px 0 22px; }
.v2gpr-pitfalls li {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    font-size: 15px;
    line-height: 1.65;
    color: var(--slate);
    padding: 8px 0;
}
.v2gpr-pitfalls li .v2gpr-mk { margin-top: 4px; }

/* ---------- Readiness checklist ---------- */

.v2gpr-ready {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 20px;
    overflow: hidden;
    margin: 28px 0;
    box-shadow: 0 1px 2px rgba(10, 16, 23, 0.05), 0 14px 34px -20px rgba(10, 16, 23, 0.14);
}
.v2gpr-ready__head {
    background: var(--mist);
    border-bottom: 1px solid var(--line);
    padding: 20px 24px;
}
.v2gpr-ready__head h3 {
    display: flex;
    align-items: center;
    gap: 9px;
    font-family: var(--font-display);
    font-weight: 650;
    font-size: 18px;
    letter-spacing: -0.014em;
    color: var(--ink);
    margin-bottom: 14px;
}
.v2gpr-ready__head h3 svg { width: 19px; height: 19px; color: var(--slate); flex-shrink: 0; }
.v2gpr-ready__bar {
    height: 10px;
    border-radius: 999px;
    background: #E4E9ED;
    overflow: hidden;
}
.v2gpr-ready__fill {
    display: block;
    height: 100%;
    width: 0;
    border-radius: 999px;
    background: var(--go);
    transition: width 0.4s cubic-bezier(0.22, 0.8, 0.26, 1);
}
.v2gpr-ready__pct { margin-top: 9px; font-size: 10px; }
.v2gpr-ready__pct b { color: var(--go-deep); }
.v2gpr-ready__body { padding: 8px 18px 12px; }
.v2gpr-ck {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    padding: 12px 8px;
    border-bottom: 1px solid #F0F3F5;
    cursor: pointer;
    border-radius: 8px;
    transition: background 0.18s ease;
}
.v2gpr-ck:last-child { border-bottom: none; }
.v2gpr-ck:hover { background: var(--mist); }
.v2gpr-ck input { display: none; }
.v2gpr-ck__box {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    border-radius: 7px;
    border: 2px solid #C9D2DA;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    margin-top: 1px;
    transition: background 0.2s ease, border-color 0.2s ease;
}
.v2gpr-ck__box svg {
    width: 12px;
    height: 12px;
    opacity: 0;
    transform: scale(0.5);
    transition: opacity 0.2s ease, transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.v2gpr-ck input:checked + .v2gpr-ck__box {
    background: var(--go);
    border-color: var(--go);
}
.v2gpr-ck input:checked + .v2gpr-ck__box svg { opacity: 1; transform: scale(1); }
.v2gpr-ck__txt { font-size: 14px; line-height: 1.55; color: var(--slate); }
.v2gpr-ck__txt b { color: var(--ink); font-weight: 700; }
.v2gpr-ck input:checked ~ .v2gpr-ck__txt {
    color: var(--faint);
    text-decoration: line-through;
}
.v2gpr-ck input:checked ~ .v2gpr-ck__txt b { color: var(--faint); }
.v2gpr-ready__msg {
    margin: 2px 18px 18px;
    padding: 13px 16px;
    border-radius: 12px;
    background: var(--mist);
    border: 1px solid var(--line);
    font-size: 13.5px;
    line-height: 1.6;
    color: var(--slate);
}
.v2gpr-ready__msg b { color: var(--ink); }
.v2gpr-ready__msg.is-done {
    background: var(--go-tint);
    border-color: rgba(11, 138, 71, 0.22);
}
.v2gpr-ready__msg.is-done b { color: var(--go-deep); }

/* ---------- 2026 change cards ---------- */

.v2gpr-changes {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 24px 0;
}
.v2gpr-change {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 16px 18px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.v2gpr-change:hover {
    border-color: #C9D2DA;
    box-shadow: 0 10px 24px -16px rgba(10, 16, 23, 0.16);
}
.v2gpr-change__ic {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: var(--mist);
    color: var(--slate);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.v2gpr-change__ic svg { width: 19px; height: 19px; }
.v2gpr-change h4 {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 14px;
    line-height: 1.35;
    color: var(--ink);
    margin-bottom: 3px;
}
.v2gpr-change p { font-size: 12.5px; line-height: 1.55; color: var(--slate); }
.v2gpr-change__date {
    display: inline-block;
    margin-top: 8px;
    font-size: 8.5px;
    background: var(--mist);
    border: 1px solid var(--line);
    color: var(--slate);
    border-radius: 5px;
    padding: 2px 8px;
}

/* ---------- Video card (click-to-play) ---------- */

.v2gpr-video {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    overflow: hidden;
    margin: 24px 0 28px;
}
.v2gpr-video__head {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 18px 20px;
    border-bottom: 1px solid var(--line);
}
.v2gpr-video__ic {
    width: 40px;
    height: 40px;
    border-radius: 11px;
    background: var(--ink);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.v2gpr-video__ic svg { width: 20px; height: 20px; }
.v2gpr-video__head h3 {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 16px;
    color: var(--ink);
    margin-bottom: 2px;
}
.v2gpr-video__head p { font-size: 13px; line-height: 1.5; color: var(--slate); }
.v2gpr-video__frame {
    position: relative;
    aspect-ratio: 16 / 9;
    background: var(--ink);
    cursor: pointer;
}
.v2gpr-video__frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    opacity: 0.88;
}
.v2gpr-video__play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: var(--go);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: v2Pulse 2.4s ease-out infinite;
    transition: transform 0.2s ease;
}
.v2gpr-video__frame:hover .v2gpr-video__play { transform: translate(-50%, -50%) scale(1.06); }
.v2gpr-video__play svg { width: 26px; height: 26px; margin-left: 3px; }
.v2gpr-video__dur {
    position: absolute;
    bottom: 10px;
    right: 12px;
    font-size: 9px;
    color: rgba(255, 255, 255, 0.85);
    background: rgba(0, 0, 0, 0.45);
    padding: 3px 8px;
    border-radius: 6px;
}
.v2gpr-video__frame.is-playing { cursor: default; }
.v2gpr-video__frame iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}
.v2gpr-video__tip {
    display: flex;
    gap: 10px;
    padding: 14px 18px;
    background: var(--mist);
    border-top: 1px solid var(--line);
    font-size: 13px;
    line-height: 1.6;
    color: var(--slate);
}
.v2gpr-video__tip svg { width: 16px; height: 16px; flex-shrink: 0; margin-top: 2px; color: var(--slate); }

/* ---------- PTL highlights + plan cards ---------- */

.v2gpr-hl {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 22px 0;
}
.v2gpr-hl__item {
    display: flex;
    align-items: center;
    gap: 11px;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 13px 15px;
}
.v2gpr-hl__ic {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: var(--go-tint);
    color: var(--go);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.v2gpr-hl__ic svg { width: 18px; height: 18px; }
.v2gpr-hl__item div b { display: block; font-size: 14px; font-weight: 700; color: var(--ink); }
.v2gpr-hl__item div span { display: block; font-size: 12px; color: var(--slate); margin-top: 1px; }
.v2gpr-plans {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin: 24px 0 8px;
}
.v2gpr-plan {
    position: relative;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 24px 20px 20px;
    text-align: center;
    display: flex;
    flex-direction: column;
}
.v2gpr-plan.is-featured {
    border-color: rgba(11, 138, 71, 0.4);
    box-shadow: 0 0 0 1px rgba(11, 138, 71, 0.25), 0 16px 34px -20px rgba(11, 138, 71, 0.35);
}
.v2gpr-plan__badge {
    position: absolute;
    top: -11px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--go);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    border-radius: 999px;
    padding: 4px 12px;
    white-space: nowrap;
}
.v2gpr-plan__name { font-size: 10px; margin-bottom: 8px; }
.v2gpr-plan__testers {
    font-family: var(--font-display);
    font-weight: 650;
    font-size: 16.5px;
    color: var(--ink);
}
.v2gpr-plan__price {
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 30px;
    letter-spacing: -0.025em;
    color: var(--ink);
    margin: 6px 0 14px;
    font-variant-numeric: tabular-nums;
}
.v2gpr-plan__list {
    text-align: left;
    margin: 0 auto 18px;
    display: grid;
    gap: 3px;
}
.v2gpr-plan__list div {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 13px;
    line-height: 1.5;
    color: var(--slate);
    padding: 3px 0;
}
.v2gpr-plan__list .v2gpr-mk { margin-top: 2px; }
.v2gpr-plan .v2-btn { width: 100%; margin-top: auto; }

/* ---------- FAQ accordion ---------- */

.v2gpr-faq { margin: 20px 0 8px; }
.v2gpr-faq__item {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 14px;
    margin-bottom: 10px;
    overflow: hidden;
    transition: border-color 0.2s ease;
}
.v2gpr-faq__item[open] { border-color: #C9D2DA; }
.v2gpr-faq__item summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 15px 18px;
}
.v2gpr-faq__item summary::-webkit-details-marker { display: none; }
.v2gpr-faq__item .gpc-faq-q {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 15.5px;
    letter-spacing: -0.01em;
    line-height: 1.45;
    color: var(--ink);
}
.v2gpr-faq__plus {
    position: relative;
    width: 26px;
    height: 26px;
    flex-shrink: 0;
    border-radius: 8px;
    background: var(--mist);
    border: 1px solid var(--line);
}
.v2gpr-faq__plus i {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 11px;
    height: 2px;
    border-radius: 2px;
    background: var(--slate);
    transform: translate(-50%, -50%);
    transition: transform 0.25s ease, background 0.2s ease;
}
.v2gpr-faq__plus i:last-child { transform: translate(-50%, -50%) rotate(90deg); }
.v2gpr-faq__item[open] .v2gpr-faq__plus i { background: var(--go); }
.v2gpr-faq__item[open] .v2gpr-faq__plus i:last-child { transform: translate(-50%, -50%) rotate(0deg); }
.v2gpr-faq__a { padding: 0 18px 16px; }
.v2gpr-faq__a p { font-size: 14.5px; line-height: 1.7; color: var(--slate); }

/* ---------- Bottom line + official docs ---------- */

.v2gpr-bottom {
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.22);
    border-radius: 18px;
    padding: 24px 28px;
    margin: 24px 0;
}
.v2gpr-bottom__tag {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--go-deep);
    margin-bottom: 12px;
}
.v2gpr-bottom__tag svg { width: 16px; height: 16px; color: var(--go); }
.v2gpr-bottom__text {
    font-size: 16px;
    line-height: 1.8;
    font-weight: 450;
    color: var(--ink);
}
.v2gpr-bottom__text strong { font-weight: 700; }
.v2gpr-docs {
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 20px 22px;
    margin: 28px 0 8px;
}
.v2gpr-docs__label {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}
.v2gpr-docs__label svg { width: 16px; height: 16px; color: var(--slate); }
.v2gpr-docs__list { display: grid; gap: 2px; }
.v2gpr-docs__list a {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 7px 8px;
    border-radius: 8px;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--go-deep);
    text-decoration: none;
    transition: background 0.18s ease;
}
.v2gpr-docs__list a:hover { background: var(--paper); }
.v2gpr-docs__list a svg { width: 14px; height: 14px; flex-shrink: 0; }

/* ---------- Author band ---------- */

.v2gpr-author {
    max-width: 880px;
    margin: 0 auto;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: 28px 30px;
}
.v2gpr-author__main {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}
.v2gpr-author__photo { flex-shrink: 0; display: block; }
.v2gpr-author__photo img {
    width: 76px;
    height: 76px;
    border-radius: 16px;
    object-fit: cover;
    object-position: top;
    border: 1px solid var(--line);
    display: block;
}
.v2gpr-author__kicker { margin-bottom: 6px; }
.v2gpr-author__body h4 {
    font-family: var(--font-display);
    font-weight: 650;
    font-size: 19px;
    letter-spacing: -0.015em;
}
.v2gpr-author__body h4 a { color: var(--ink); text-decoration: none; }
.v2gpr-author__body h4 a:hover { color: var(--go-deep); }
.v2gpr-author__role {
    font-size: 13px;
    font-weight: 600;
    color: var(--go-deep);
    margin-top: 3px;
}
.v2gpr-author__bio {
    font-size: 14.5px;
    line-height: 1.7;
    color: var(--slate);
    margin-top: 10px;
}
.v2gpr-author__ctas {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
}
.v2gpr-author__stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
    gap: 14px;
    margin-top: 22px;
    padding-top: 20px;
    border-top: 1px solid var(--line);
}
.v2gpr-author__stat { text-align: center; }
.v2gpr-author__stat b {
    display: block;
    font-family: var(--font-display);
    font-weight: 750;
    font-size: 18px;
    letter-spacing: -0.02em;
    color: var(--ink);
    font-variant-numeric: tabular-nums;
}
.v2gpr-author__stat .v2-mono { display: block; font-size: 9px; margin-top: 4px; }

/* ---------- Related resources ---------- */

.v2gpr-related__title {
    font-family: var(--font-display);
    font-weight: 650;
    font-size: 22px;
    letter-spacing: -0.016em;
    color: var(--ink);
    text-align: center;
    margin-bottom: 22px;
}
.v2gpr-related__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    max-width: 980px;
    margin: 0 auto;
}
.v2gpr-rel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 14px 16px;
    text-decoration: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.v2gpr-rel:hover {
    border-color: #C9D2DA;
    box-shadow: 0 10px 24px -16px rgba(10, 16, 23, 0.16);
}
.v2gpr-rel span {
    font-size: 14px;
    font-weight: 600;
    color: var(--ink);
    line-height: 1.4;
}
.v2gpr-rel .v2-ic { width: 15px; height: 15px; color: var(--faint); flex-shrink: 0; transition: color 0.2s ease; }
.v2gpr-rel:hover .v2-ic { color: var(--go); }
.v2gpr-related__foot { text-align: center; margin-top: 26px; }
.v2gpr-related__foot p { font-size: 13.5px; color: var(--slate); margin-bottom: 8px; }
.v2gpr-related__foot a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14.5px;
    font-weight: 700;
    color: var(--go-deep);
    text-decoration: none;
}
.v2gpr-related__foot a:hover { text-decoration: underline; }
.v2gpr-related__foot a .v2-ic { width: 15px; height: 15px; }

/* ---------- Final CTA additions ---------- */

.v2gpr-cta__price {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 21px;
    letter-spacing: -0.02em;
    color: #3ECF81;
    margin-top: 14px;
}
.v2gpr-cta__join {
    font-family: var(--font-mono);
    font-size: 10.5px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #6E7B88;
    margin-top: 16px;
}

/* ---------- Sticky mobile CTA ---------- */

.v2gpr-scta {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 60;
    display: none;
    gap: 10px;
    background: var(--paper);
    border-top: 1px solid var(--line);
    box-shadow: 0 -10px 30px rgba(10, 16, 23, 0.12);
    padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px));
    transform: translateY(110%);
    visibility: hidden;
    transition: transform 0.35s cubic-bezier(0.22, 0.8, 0.26, 1), visibility 0s 0.35s;
}
.v2gpr-scta.is-on {
    transform: translateY(0);
    visibility: visible;
    transition: transform 0.35s cubic-bezier(0.22, 0.8, 0.26, 1), visibility 0s 0s;
}
.v2 .v2gpr-scta .v2-btn--primary { flex: 1; min-width: 0; }
.v2 .v2gpr-scta .v2-faq__wa {
    flex-shrink: 0;
    margin-left: 0;
    order: 0;
}

/* ---------- Blog article: responsive ---------- */

@media (max-width: 960px) {
    .v2gpr-layout { grid-template-columns: minmax(0, 1fr); }
    .v2gpr-rail { display: none; }
    .v2gpr-h2, .v2gpr-h3 { scroll-margin-top: calc(var(--nav-h) + 62px); }
    .v2gpr-hero { padding-top: calc(var(--nav-h) + 30px); }
    .v2 .v2gpr-author__ctas .v2-faq__wa { margin-left: 0; }
}

@media (max-width: 900px) {
    .v2gpr-tracks { grid-template-columns: minmax(0, 1fr); gap: 14px; }
    .v2gpr-track.is-key { margin-top: 14px; }
    .v2gpr-q3 { grid-template-columns: minmax(0, 1fr); gap: 14px; }
    .v2gpr-myth { grid-template-columns: minmax(0, 1fr); }
    .v2gpr-myth__side.is-wrong {
        border-right: none;
        border-bottom: 1px solid var(--line);
    }
    .v2gpr-icon { grid-template-columns: minmax(0, 1fr); justify-items: center; text-align: center; }
    .v2gpr-icon__txt ul { text-align: left; }
    .v2gpr-decl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
    .v2gpr-acct { grid-template-columns: minmax(0, 1fr); gap: 22px; }
    .v2gpr-gates { grid-template-columns: minmax(0, 1fr); }
    .v2gpr-dist { grid-template-columns: minmax(0, 1fr); }
    .v2gpr-changes { grid-template-columns: minmax(0, 1fr); }
    .v2gpr-hl { grid-template-columns: minmax(0, 1fr); gap: 10px; }
    .v2gpr-plans { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    .v2gpr-plan { max-width: 420px; width: 100%; margin: 0 auto; }
    .v2gpr-related__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
    .v2gpr-hero { padding-top: calc(var(--nav-h) + 26px); }
    .v2gpr-byline { gap: 10px 16px; margin-top: 20px; }
    .v2gpr-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .v2gpr-fact { padding: 12px 14px; }
    .v2gpr-fact b { font-size: 18px; }
    .v2gpr-cover img { border-radius: 14px; }
    .v2gpr-zone { padding-top: 18px; }

    .v2gpr-prose > p { font-size: 15.5px; line-height: 1.8; margin: 16px 0; }
    .v2gpr-h2 { margin: 46px 0 16px; padding-top: 26px; }
    .v2gpr-h3 { font-size: 18px; margin: 30px 0 10px; }
    .v2gpr-prose > ul > li { font-size: 14.5px; }

    .v2gpr-pipe { padding: 18px 16px 14px; }
    .v2gpr-pipe__step { min-width: 88px; }
    .v2gpr-pipe__dot { width: 38px; height: 38px; }
    .v2gpr-pipe__dot svg { width: 18px; height: 18px; }
    .v2gpr-pipe__step:not(:last-child)::after { top: 19px; }
    .v2gpr-pipe__t { font-size: 11.5px; }
    .v2gpr-pipe__s { font-size: 10px; }

    .v2gpr-qa { padding: 20px 20px; border-radius: 18px; }
    .v2gpr-qa__text { font-size: 15px; line-height: 1.75; }

    .v2gpr-toc { padding: 18px 16px; }
    .v2gpr-toc__grid { grid-template-columns: minmax(0, 1fr); gap: 1px; }

    .v2gpr-seq__item { grid-template-columns: 34px minmax(0, 1fr); gap: 13px; padding: 14px 0; }
    .v2gpr-seq__num { width: 32px; height: 32px; border-radius: 9px; font-size: 13.5px; }
    .v2gpr-seq__num.is-ic svg { width: 17px; height: 17px; }
    .v2gpr-seq__body h3 { font-size: 15.5px; }
    .v2gpr-seq__body p { font-size: 14px; }

    .v2gpr-tip, .v2gpr-note, .v2gpr-warn, .v2gpr-danger {
        grid-template-columns: 34px minmax(0, 1fr);
        gap: 12px;
        padding: 15px 16px;
    }
    .v2gpr-tip__ic, .v2gpr-note__ic, .v2gpr-warn__ic, .v2gpr-danger__ic { width: 34px; height: 34px; }
    .v2gpr-tip p, .v2gpr-note p, .v2gpr-warn p, .v2gpr-danger p { font-size: 13.5px; }

    .v2gpr-fee { grid-template-columns: minmax(0, 1fr); gap: 14px; padding: 20px 18px; text-align: center; }
    .v2gpr-fee__num b { font-size: 42px; }
    .v2gpr-fee__txt { border-left: none; border-top: 1px solid var(--line); padding: 14px 0 0; }
    .v2gpr-fee__txt p { font-size: 14px; }

    .v2gpr-pay { grid-template-columns: minmax(0, 1fr); gap: 12px; }
    .v2gpr-pay__box { padding: 16px; }

    .v2gpr-acct__card { padding: 24px 18px 16px; }
    .v2gpr-acct__row { font-size: 13.5px; }

    .v2gpr-tool__head { padding: 18px; }
    .v2gpr-tool__head h3 { font-size: 17px; }
    .v2gpr-tool__body { padding: 18px 16px; }
    .v2 .v2gpr-select select { font-size: 14.5px; padding: 12px 40px 12px 14px; }
    .v2gpr-rc { padding: 17px 16px; }

    .v2gpr-myth__side { padding: 17px 16px; }

    .v2gpr-gate { padding: 17px 16px; }
    .v2gpr-bars { padding: 18px 16px; }
    .v2gpr-bars__fill { font-size: 9px; padding-right: 7px; }
    .v2gpr-vtl__item { padding-left: 28px; padding-bottom: 20px; }
    .v2gpr-vtl__item h4 { font-size: 14.5px; }
    .v2gpr-vtl__item > p:last-child { font-size: 13px; }
    .v2gpr-dist__card { padding: 18px; }
    .v2gpr-dist__price b { font-size: 23px; }

    .v2gpr-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .v2gpr-statc { padding: 13px 10px; }
    .v2gpr-statc b { font-size: 19px; }
    .v2gpr-statc > span { font-size: 11px; }

    .v2gpr-api { padding: 24px 10px 16px; }
    .v2gpr-api__track { gap: 4px; }
    .v2gpr-api__track::before { left: 9%; right: 9%; }
    .v2gpr-api__mil b { font-size: 13px; }
    .v2gpr-api__os { font-size: 10.5px; }
    .v2gpr-api__date { font-size: 8px; }
    .v2gpr-api__badge { font-size: 7.5px; padding: 2px 6px; }

    .v2gpr-asset { grid-template-columns: minmax(0, 1fr); gap: 12px; }
    .v2gpr-asset__card { padding: 16px; }

    .v2gpr-shot__bar { padding: 9px 12px; gap: 8px; }
    .v2gpr-shot__zoom svg { width: 12px; height: 12px; }

    .v2gpr-icon { padding: 20px 16px; gap: 18px; }

    .v2gpr-dd { grid-template-columns: minmax(0, 1fr); gap: 12px; }
    .v2gpr-dd__col { padding: 17px 16px; }
    .v2gpr-dd__col li { font-size: 13px; }

    .v2gpr-decl { grid-template-columns: minmax(0, 1fr); gap: 12px; }
    .v2gpr-decl__card { padding: 16px; }

    .v2gpr-pass { padding: 18px 18px; }
    .v2gpr-pass__text { font-size: 14.5px; }

    .v2gpr-gantt { padding: 18px 14px; }
    .v2gpr-gantt__inner { min-width: 470px; }
    .v2gpr-gantt__scale, .v2gpr-gantt__row { grid-template-columns: 118px minmax(0, 1fr); gap: 10px; }
    .v2gpr-gantt__lab { font-size: 11.5px; }
    .v2gpr-gantt__lab small { font-size: 10px; }
    .v2gpr-gantt__bar { font-size: 9px; padding: 0 7px; }
    .v2gpr-gantt__total { font-size: 12.5px; }

    .v2gpr-pitfalls li { font-size: 14px; }

    .v2gpr-ready__head { padding: 17px 16px; }
    .v2gpr-ready__head h3 { font-size: 16.5px; }
    .v2gpr-ready__body { padding: 6px 12px 10px; }
    .v2gpr-ck { padding: 11px 6px; gap: 11px; }
    .v2gpr-ck__txt { font-size: 13.5px; }
    .v2gpr-ready__msg { margin: 2px 12px 14px; padding: 12px 14px; font-size: 13px; }

    .v2gpr-change { padding: 14px 15px; gap: 11px; }
    .v2gpr-change__ic { width: 34px; height: 34px; }
    .v2gpr-change h4 { font-size: 13.5px; }
    .v2gpr-change p { font-size: 12px; }

    .v2gpr-video__head { padding: 15px 16px; }
    .v2gpr-video__play { width: 54px; height: 54px; }
    .v2gpr-video__play svg { width: 22px; height: 22px; }
    .v2gpr-video__tip { padding: 12px 16px; font-size: 12.5px; }

    .v2gpr-faq__item summary { padding: 13px 14px; }
    .v2gpr-faq__item .gpc-faq-q { font-size: 14.5px; }
    .v2gpr-faq__a { padding: 0 14px 14px; }
    .v2gpr-faq__a p { font-size: 14px; }

    .v2gpr-bottom { padding: 20px 18px; }
    .v2gpr-bottom__text { font-size: 15px; }
    .v2gpr-docs { padding: 17px 14px; }
    .v2gpr-docs__list a { font-size: 13px; align-items: flex-start; }
    .v2gpr-docs__list a svg { margin-top: 3px; }

    .v2gpr-author { padding: 22px 18px; }
    .v2gpr-author__main { flex-direction: column; align-items: center; text-align: center; }
    .v2gpr-author__ctas { justify-content: center; }
    .v2 .v2gpr-author__ctas .v2-faq__wa { order: 0; margin-left: 0; }
    .v2gpr-related__grid { grid-template-columns: minmax(0, 1fr); }
    .v2gpr-related__title { font-size: 20px; }

    .v2gpr-scta { display: flex; }
    .v2 .v2gpr-scta .v2-faq__wa { order: 0; margin-left: 0; }
}

@media (max-width: 480px) {
    .v2gpr-hero__title { font-size: clamp(1.7rem, 1.2rem + 3.4vw, 2rem); }
    .v2gpr-byline__fresh { font-size: 10.5px; padding: 4px 9px; }
    .v2gpr-fact b { font-size: 16.5px; }
    .v2gpr-pipe__step { min-width: 82px; }
    .v2gpr-pipe__dot { width: 34px; height: 34px; border-radius: 10px; }
    .v2gpr-icon__stage, .v2gpr-icon__mask { width: 132px; height: 132px; }
    .v2gpr-gantt__scale, .v2gpr-gantt__row { grid-template-columns: 98px minmax(0, 1fr); }
    .v2gpr-fee__num b { font-size: 38px; }
    .v2gpr-statc b { font-size: 17px; }
    .v2gpr-author__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---------- Blog article richness pass (user round 2) ---------- */

/* Pipeline -> console-window artifact */
.v2gpr-pipe { padding: 0; overflow: hidden; }
.v2gpr-pipe__bar {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    background: var(--mist);
    border-bottom: 1px solid var(--line);
}
.v2gpr-pipe__dots { display: flex; gap: 5px; flex-shrink: 0; }
.v2gpr-pipe__dots i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--paper);
    border: 1px solid #CDD6DD;
}
.v2gpr-pipe__bar > .v2-mono { font-size: 9.5px; }
.v2gpr-pipe__count {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 9px;
    color: var(--go-deep);
    white-space: nowrap;
}
.v2gpr-pipe__count i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--go);
    animation: v2Pulse 2.4s ease-out infinite;
}
.v2gpr-pipe__flow { padding: 20px 20px 8px; }
.v2gpr-pipe__foot { margin: 0 20px 16px; }

/* Quick-answer key-fact chips */
.v2gpr-qa__strip {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: -14px 0 26px;
}
.v2gpr-qa__strip .v2-mono {
    font-size: 9px;
    color: var(--slate);
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 5px 11px;
    white-space: nowrap;
}

/* Registration receipt artifact */
.v2gpr-receipt {
    width: 290px;
    max-width: 100%;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(10, 16, 23, 0.04), 0 12px 26px -18px rgba(10, 16, 23, 0.18);
}
.v2gpr-receipt__head {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 12px;
    background: var(--mist);
    border-bottom: 1px solid var(--line);
}
.v2gpr-receipt__head > .v2-mono { font-size: 8.5px; }
.v2gpr-receipt__dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--go);
    animation: v2Pulse 2.4s ease-out infinite;
    flex-shrink: 0;
}
.v2gpr-receipt__stamp {
    margin-left: auto;
    font-size: 8px;
    color: var(--go-deep);
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.3);
    border-radius: 6px;
    padding: 2px 8px;
    transform: rotate(-3deg);
    white-space: nowrap;
}
.v2gpr-receipt__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 9px 14px;
    font-size: 13px;
    color: var(--slate);
}
.v2gpr-receipt__row + .v2gpr-receipt__row { border-top: 1px dashed #E5EAEF; }
.v2gpr-receipt__row b {
    color: var(--ink);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}
.v2gpr-receipt__row b.is-zero { color: var(--go-deep); font-weight: 650; }
.v2gpr-receipt__total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 11px 14px;
    background: var(--mist);
    border-top: 1px solid var(--line);
}
.v2gpr-receipt__total .v2-mono { font-size: 8.5px; }
.v2gpr-receipt__total b {
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 17px;
    letter-spacing: -0.02em;
    color: var(--ink);
    font-variant-numeric: tabular-nums;
}
.v2gpr-fee { align-items: center; }

/* VS pips (account cards + testing tracks) */
.v2gpr-acct, .v2gpr-tracks { position: relative; }
.v2gpr-vs {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--paper);
    border: 1px solid var(--line);
    box-shadow: 0 4px 12px -4px rgba(10, 16, 23, 0.16);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 9px;
    color: var(--slate);
}
.v2gpr-tracks .v2gpr-vs.is-a { left: 33.4%; }
.v2gpr-tracks .v2gpr-vs.is-b { left: 66.6%; }

/* Gate headers */
.v2gpr-gate__head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}
.v2gpr-gate__head .v2gpr-gate__num { margin-bottom: 0; }
.v2gpr-gate__ic {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: var(--mist);
    border: 1px solid var(--line);
    color: var(--slate);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.v2gpr-gate__ic svg { width: 18px; height: 18px; }

/* Myth / fact stamps */
.v2gpr-myth__side { position: relative; }
.v2gpr-myth__stamp {
    position: absolute;
    top: 14px;
    right: 14px;
    font-size: 9px;
    letter-spacing: 0.16em;
    padding: 3px 10px;
    border-radius: 6px;
    border: 1.5px solid #B4BEC8;
    color: var(--faint);
    transform: rotate(5deg);
    background: rgba(255, 255, 255, 0.55);
}
.v2gpr-myth__stamp.is-fact {
    border-color: rgba(11, 138, 71, 0.45);
    color: var(--go-deep);
    transform: rotate(-5deg);
}

/* Bars: percentage grid ticks */
.v2gpr-bars__track {
    background-image: repeating-linear-gradient(90deg, transparent 0, transparent calc(25% - 1px), #DFE6EB calc(25% - 1px), #DFE6EB 25%);
}

/* Rollout timeline cards */
.v2gpr-vtl__card {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 13px 16px;
    margin-top: 2px;
}
.v2gpr-vtl__card p { font-size: 13.5px; line-height: 1.65; color: var(--slate); }
.v2gpr-vtl__card h4 { margin-bottom: 5px; }
.v2gpr-vtl__item.is-now .v2gpr-vtl__card {
    border-color: rgba(11, 138, 71, 0.32);
    box-shadow: 0 8px 20px -14px rgba(11, 138, 71, 0.35);
}
.v2gpr-vtl__item.is-enforce .v2gpr-vtl__card {
    border-color: #C4CDD5;
    box-shadow: 0 0 0 1px rgba(10, 16, 23, 0.05);
}

/* Free-tier "new" chip */
.v2gpr-dist__card { position: relative; }
.v2gpr-dist__new {
    position: absolute;
    top: -10px;
    right: 14px;
    font-size: 8.5px;
    color: #fff;
    background: var(--go);
    border-radius: 999px;
    padding: 3px 9px;
    white-space: nowrap;
}

/* Fact-strip glyphs */
.v2gpr-statc__g {
    display: block;
    width: 17px;
    height: 17px;
    margin: 0 auto 7px;
    color: var(--faint);
}

/* API timeline: TODAY marker */
.v2gpr-api { position: relative; }
.v2gpr-api__track { position: relative; }
.v2gpr-api__today i {
    position: absolute;
    left: 44%;
    top: 34px;
    width: 8px;
    height: 8px;
    margin-left: -4px;
    background: var(--ink);
    border: 2px solid var(--paper);
    border-radius: 2.5px;
    transform: rotate(45deg);
    z-index: 2;
}
.v2gpr-api__today .v2-mono {
    position: absolute;
    top: -18px;
    right: -6px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 8px;
    color: var(--ink);
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 3px 9px;
    white-space: nowrap;
}
.v2gpr-api__today .v2-mono::before {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 2px;
    background: var(--ink);
    transform: rotate(45deg);
}

/* Icon mockup annotations */
.v2gpr-icon__stagewrap { text-align: center; }
.v2gpr-icon__safe { position: relative; }
.v2gpr-icon__zonetag {
    position: absolute;
    top: -9px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 7px;
    color: var(--ink);
    background: rgba(255, 255, 255, 0.92);
    border-radius: 4px;
    padding: 2px 6px;
    white-space: nowrap;
}
.v2gpr-icon__caption {
    display: block;
    margin-top: 10px;
    font-size: 8.5px;
    color: var(--faint);
}

/* Declaration index chips */
.v2gpr-decl__card { position: relative; }
.v2gpr-decl__idx {
    position: absolute;
    top: 14px;
    right: 14px;
    font-size: 9px;
    color: #C2CBD3;
}

/* Questionnaire flow arrows */
.v2gpr-q3 { position: relative; }
.v2gpr-q3__arrow {
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--paper);
    border: 1px solid var(--line);
    box-shadow: 0 4px 12px -4px rgba(10, 16, 23, 0.16);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--faint);
}
.v2gpr-q3__arrow svg { width: 13px; height: 13px; }
.v2gpr-q3__arrow.is-a { left: 33.4%; }
.v2gpr-q3__arrow.is-b { left: 66.6%; }

/* Gantt: week gridlines + total lives outside the scroller */
.v2gpr-gantt__track {
    background-image: repeating-linear-gradient(90deg, transparent 0, transparent calc(20% - 1px), #E4EAEF calc(20% - 1px), #E4EAEF 20%);
}
.v2gpr-gantt__total { margin-top: 16px; }

/* Readiness ring */
.v2gpr-ready__toprow {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 14px;
}
.v2gpr-ready__toprow h3 { margin-bottom: 0; }
.v2gpr-ready__ring { width: 48px; height: 48px; flex-shrink: 0; }
.v2gpr-ready__ringbg { fill: none; stroke: #E4E9ED; stroke-width: 4; }
.v2gpr-ready__ringfg {
    fill: none;
    stroke: var(--go);
    stroke-width: 4;
    stroke-linecap: round;
    stroke-dasharray: 119.4;
    stroke-dashoffset: 119.4;
    transform: rotate(-90deg);
    transform-origin: 50% 50%;
    transition: stroke-dashoffset 0.45s cubic-bezier(0.22, 0.8, 0.26, 1);
}
.v2gpr-ready__ring text {
    font-family: var(--font-mono);
    font-size: 10px;
    font-weight: 700;
    fill: var(--ink);
    text-anchor: middle;
}

/* Plan-grid reassurance line */
.v2gpr-plans__fine {
    text-align: center;
    font-size: 9.5px;
    color: var(--faint);
    margin: 16px 0 6px;
}
.v2gpr-plans__fine span { white-space: nowrap; }

@media (max-width: 900px) {
    .v2gpr-tracks .v2gpr-vs, .v2gpr-q3__arrow { display: none; }
}
@media (max-width: 820px) {
    .v2gpr-acct .v2gpr-vs { display: none; }
}
@media (max-width: 640px) {
    .v2gpr-pipe { padding: 0; }
    .v2gpr-pipe__flow { padding: 16px 14px 6px; }
    .v2gpr-pipe__foot { margin: 0 14px 14px; }
    .v2gpr-pipe__step { min-width: 96px; }
    .v2gpr-qa__strip { margin: -12px 0 22px; }
    .v2gpr-receipt { margin: 0 auto; }
    .v2gpr-receipt__row span { text-align: left; }
    .v2gpr-fee__txt { text-align: left; }
    .v2gpr-api__today .v2-mono { top: -16px; right: -2px; }
    .v2gpr-ready__ring { width: 44px; height: 44px; }
    .v2gpr-myth__stamp { top: 12px; right: 12px; }
}
@media (max-width: 480px) {
    .v2gpr-pipe__step { min-width: 90px; }
    .v2gpr-pipe__bar { padding: 9px 12px; gap: 8px; }
}

/* ============================================================
   BLOG ARTICLE V2 - 7 LEGIT WAYS (/blog/7-legit-ways-to-get-
   12-testers-for-google-play). Reuses the v2gpr-* article layer;
   page-unique components below. Prefix: v2g7-.
   One rose moment: Method 3 "Hidden Risk". Two dark moments:
   quick answer + final CTA.
   ============================================================ */

.v2g7-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 640px; }

/* Answer capsules under each method H2 (AEO) */
.v2gpr-prose > p.v2g7-ans {
    background: var(--paper);
    border: 1px solid var(--line);
    border-left: 3px solid var(--go);
    border-radius: 12px;
    padding: 15px 19px;
    font-size: 15.5px;
    line-height: 1.7;
    margin: 0 0 20px;
}

/* Signature 7-method comparison table */
.v2g7-tbl {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    overflow: hidden;
    margin: 26px 0 0;
}
.v2g7-tbl__bar {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    background: var(--mist);
    border-bottom: 1px solid var(--line);
}
.v2g7-tbl__bar > .v2-mono { font-size: 9.5px; }
.v2g7-tbl__dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--go);
    animation: v2Pulse 2.4s ease-out infinite;
    flex-shrink: 0;
}
.v2g7-tbl__hint { margin-left: auto; font-size: 9px; color: var(--go-deep); white-space: nowrap; }
.v2g7-tbl__scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.v2g7-tbl table { width: 100%; border-collapse: collapse; }
.v2g7-tbl th {
    font-family: var(--font-mono);
    font-size: 9.5px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--faint);
    text-align: left;
    padding: 11px 14px;
    border-bottom: 1px solid var(--line);
    white-space: nowrap;
}
.v2g7-tbl td {
    padding: 12px 14px;
    font-size: 13.5px;
    line-height: 1.5;
    color: var(--slate);
    border-bottom: 1px solid #F0F3F5;
    vertical-align: top;
}
.v2g7-tbl tbody tr:last-child td { border-bottom: none; }
.v2g7-tbl td strong { color: var(--ink); font-weight: 650; }
.v2g7-tbl td b.is-free, .v2g7-tbl td b.is-go { color: var(--go-deep); font-weight: 700; }
.v2g7-tbl tr.is-win { background: var(--go-tint); }
.v2g7-tbl tr.is-win td { border-color: rgba(11, 138, 71, 0.14); }
.v2g7-rel {
    display: inline-block;
    font-family: var(--font-mono);
    font-size: 9px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    padding: 3px 9px;
    border-radius: 999px;
    background: var(--mist);
    border: 1px solid var(--line);
    color: var(--slate);
    white-space: nowrap;
}
.v2g7-rel.is-low { color: var(--faint); }
.v2g7-rel.is-var { background: var(--paper); border-style: dashed; color: var(--faint); }
.v2g7-rel.is-high {
    background: #fff;
    border-color: rgba(11, 138, 71, 0.35);
    color: var(--go-deep);
}
.v2gpr-prose > p.v2g7-tblnote { font-size: 14px; color: var(--faint); margin: 12px 0 26px; }

/* Requirement tiles */
.v2g7-req {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 20px 0;
}
.v2g7-req__card {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 15px 16px;
}
.v2g7-req__card.is-paper { background: var(--paper); }
.v2g7-req__ic {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: var(--paper);
    border: 1px solid var(--line);
    color: var(--slate);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.v2g7-req__card.is-paper .v2g7-req__ic { background: var(--mist); }
.v2g7-req__ic svg { width: 18px; height: 18px; }
.v2g7-req__card b { display: block; font-size: 14px; font-weight: 700; color: var(--ink); margin-bottom: 2px; }
.v2g7-req__card span { display: block; font-size: 13px; line-height: 1.55; color: var(--slate); }

/* Google quote */
.v2g7-quote {
    position: relative;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 20px 24px;
    margin: 22px 0;
}
.v2g7-quote__mark {
    position: absolute;
    top: 14px;
    left: 16px;
    color: #CBD5DD;
}
.v2g7-quote__mark svg { width: 24px; height: 24px; }
.v2g7-quote blockquote {
    font-size: 15.5px;
    font-style: italic;
    line-height: 1.7;
    color: var(--ink);
    padding-left: 38px;
    margin-bottom: 10px;
}
.v2g7-quote figcaption {
    font-size: 9.5px;
    color: var(--faint);
    padding-left: 38px;
    margin: 0;
}

/* Positive (green) note variant */
.v2gpr-note.is-go {
    background: var(--go-tint);
    border-color: rgba(11, 138, 71, 0.22);
}
.v2gpr-note.is-go .v2gpr-note__ic { background: #fff; color: var(--go); border-color: rgba(11, 138, 71, 0.22); }

/* 2026 deadlines card */
.v2g7-deadlines {
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 22px 24px;
    margin: 26px 0;
}
.v2g7-deadlines h4 {
    display: flex;
    align-items: center;
    gap: 9px;
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 16px;
    color: var(--ink);
    margin-bottom: 6px;
}
.v2g7-deadlines h4 svg { width: 17px; height: 17px; color: var(--slate); flex-shrink: 0; }
.v2g7-deadlines__sub { font-size: 13.5px; line-height: 1.65; color: var(--slate); margin-bottom: 14px; }
.v2g7-deadlines .v2g7-req { margin: 0; }

/* Method cards */
.v2g7-method {
    position: relative;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 24px 26px;
    margin: 0 0 22px;
    overflow: hidden;
}
.v2g7-method.is-key {
    border-color: rgba(11, 138, 71, 0.4);
    box-shadow: 0 0 0 1px rgba(11, 138, 71, 0.25), 0 18px 40px -24px rgba(11, 138, 71, 0.35);
}
.v2g7-method__num {
    position: absolute;
    top: -16px;
    right: 8px;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 96px;
    line-height: 1;
    color: rgba(10, 16, 23, 0.05);
    pointer-events: none;
}
.v2g7-method.is-key .v2g7-method__num { color: rgba(11, 138, 71, 0.08); }
.v2g7-method__badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--go);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    border-radius: 999px;
    padding: 5px 12px;
    margin-bottom: 14px;
}
.v2g7-method__badge svg { width: 12px; height: 12px; }
.v2g7-method > p { font-size: 14.5px; line-height: 1.7; color: var(--slate); margin: 0 0 14px; }
.v2g7-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 16px;
}
.v2g7-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--font-mono);
    font-size: 9.5px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    padding: 5px 11px;
    border-radius: 999px;
    background: var(--mist);
    border: 1px solid var(--line);
    color: var(--slate);
    white-space: nowrap;
}
.v2g7-pill svg { width: 13px; height: 13px; flex-shrink: 0; }
.v2g7-pill.is-free {
    background: var(--go-tint);
    border-color: rgba(11, 138, 71, 0.22);
    color: var(--go-deep);
}
.v2g7-sub {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 15.5px;
    color: var(--ink);
    margin: 18px 0 10px;
}
.v2g7-cmpsub { font-size: 13px !important; color: var(--faint) !important; margin-bottom: 10px !important; }

/* Where-to-post cards */
.v2g7-where {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 4px 0 16px;
}
.v2g7-where__card {
    display: flex;
    align-items: center;
    gap: 11px;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 11px 14px;
}
.v2g7-where__ic {
    width: 30px;
    height: 30px;
    border-radius: 8px;
    background: var(--paper);
    border: 1px solid var(--line);
    color: var(--slate);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.v2g7-where__ic svg { width: 15px; height: 15px; }
.v2g7-where__card b { display: block; font-size: 13.5px; font-weight: 650; color: var(--ink); }
.v2g7-where__card span { display: block; font-size: 11.5px; line-height: 1.45; color: var(--faint); margin-top: 1px; }

/* Numbered / icon step rows */
.v2g7-steps { display: grid; gap: 8px; margin: 4px 0 16px; }
.v2g7-steps__row {
    display: flex;
    align-items: center;
    gap: 10px;
    background: var(--mist);
    border-radius: 8px;
    padding: 10px 13px;
    font-size: 13.5px;
    line-height: 1.5;
    color: var(--slate);
}
.v2g7-steps__num {
    width: 22px;
    height: 22px;
    border-radius: 6px;
    background: var(--go-tint);
    color: var(--go-deep);
    font-size: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.v2g7-steps__ic { width: 22px; height: 22px; display: flex; align-items: center; justify-content: center; color: var(--slate); flex-shrink: 0; }
.v2g7-steps__ic svg { width: 15px; height: 15px; }

/* Pros/cons inside method cards */
.v2g7-method .v2g7-pc { margin: 16px 0; }
.v2g7-method .v2gpr-dd__col { padding: 16px 18px; }

/* Verdict strip */
.v2g7-verdict {
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 14px 18px;
    margin-top: 16px;
}
.v2g7-verdict__label {
    display: flex;
    align-items: center;
    gap: 7px;
    color: var(--ink);
}
.v2g7-verdict__label svg { width: 14px; height: 14px; color: var(--go); flex-shrink: 0; }
.v2g7-verdict p:last-child { font-size: 13.5px; line-height: 1.65; color: var(--slate); margin: 6px 0 0; }

/* Method-7 pricing plaques (reuse v2gpr-plan) */
.v2g7-plans { margin: 18px 0; }
.v2g7-plans .v2gpr-plan { padding: 22px 16px 18px; }
.v2g7-plan__was {
    font-family: var(--font-mono);
    font-size: 11px;
    color: var(--faint);
    text-decoration: line-through;
    margin-bottom: 2px;
}
.v2g7-plans .v2gpr-plan__price { margin: 0 0 6px; }
.v2g7-plan__off {
    display: inline-block;
    font-size: 8.5px;
    color: var(--go-deep);
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.22);
    border-radius: 5px;
    padding: 2px 7px;
    margin-bottom: 8px;
}
.v2g7-plans .v2gpr-plan__testers { font-size: 15px; }
.v2g7-plan__tag { font-size: 12px; color: var(--faint); margin-top: 5px; }

/* DIY vs managed table */
.v2g7-cmp {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border: 1px solid var(--line);
    border-radius: 14px;
    margin: 6px 0 4px;
}
.v2g7-cmp table { width: 100%; min-width: 560px; border-collapse: collapse; }
.v2g7-cmp th {
    font-family: var(--font-mono);
    font-size: 9px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    text-align: left;
    padding: 11px 14px;
    background: var(--mist);
    color: var(--slate);
    border-bottom: 1px solid var(--line);
}
.v2g7-cmp th.is-go { background: var(--go); color: #fff; }
.v2g7-cmp td {
    padding: 12px 14px;
    font-size: 13px;
    line-height: 1.55;
    color: var(--slate);
    border-bottom: 1px solid #F0F3F5;
    vertical-align: top;
}
.v2g7-cmp tbody tr:last-child td { border-bottom: none; }
.v2g7-cmp td:first-child { font-weight: 600; color: var(--ink); background: var(--mist); }
.v2g7-cmp td.is-go { background: var(--go-tint); color: var(--go-deep); font-weight: 500; }
.v2g7-honest { font-size: 13px !important; color: var(--faint) !important; font-style: italic; margin: 12px 0 4px !important; }

/* Fiverr comparison box */
.v2g7-green {
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.22);
    border-radius: 14px;
    padding: 18px 22px;
    margin: 18px 0;
}
.v2g7-green h4 {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 15px;
    color: var(--go-deep);
    margin-bottom: 8px;
}
.v2g7-green h4 svg { width: 16px; height: 16px; flex-shrink: 0; }
.v2g7-green p { font-size: 13.5px; line-height: 1.7; color: var(--slate); }

/* When-it-makes-sense checklist */
.v2g7-fits { list-style: none; margin: 4px 0 16px; padding: 0; }
.v2g7-fits li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 7px 0;
    font-size: 14px;
    line-height: 1.6;
    color: var(--slate);
}
.v2g7-fits li .v2gpr-mk { margin-top: 2px; }

/* Quick links strip */
.v2g7-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid var(--line);
}

/* Mistake cards */
.v2g7-mistakes { margin: 22px 0; }
.v2g7-mistake {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 20px 22px;
    margin-bottom: 14px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.v2g7-mistake:hover {
    border-color: #C9D2DA;
    box-shadow: 0 10px 24px -16px rgba(10, 16, 23, 0.16);
}
.v2g7-mistake__head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}
.v2g7-mistake__num {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    background: var(--ink);
    color: #fff;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 13.5px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.v2g7-mistake__head h4 {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 16px;
    line-height: 1.35;
    color: var(--ink);
}
.v2g7-mistake > p { font-size: 14px; line-height: 1.7; color: var(--slate); }

/* ---------- 7-legit-ways: responsive ---------- */

@media (max-width: 640px) {
    .v2gpr-prose > p.v2g7-ans { font-size: 14.5px; padding: 13px 15px; }

    /* Comparison table -> stacked method cards */
    .v2g7-tbl { background: none; border: none; border-radius: 0; overflow: visible; }
    .v2g7-tbl__bar {
        background: var(--mist);
        border: 1px solid var(--line);
        border-radius: 10px;
        margin-bottom: 12px;
    }
    .v2g7-tbl__scroll { overflow: visible; }
    .v2g7-tbl table, .v2g7-tbl tbody { display: block; }
    .v2g7-tbl thead { display: none; }
    .v2g7-tbl tbody { display: flex; flex-direction: column; gap: 12px; }
    .v2g7-tbl tbody tr {
        display: block;
        background: var(--paper);
        border: 1px solid var(--line);
        border-radius: 12px;
        padding: 14px 16px;
    }
    .v2g7-tbl tbody tr.is-win {
        background: var(--go-tint);
        border-color: rgba(11, 138, 71, 0.3);
    }
    .v2g7-tbl td {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 12px;
        padding: 3px 0;
        border: none;
        font-size: 13px;
    }
    .v2g7-tbl td:first-child { display: block; font-size: 15px; padding-bottom: 7px; }
    .v2g7-tbl td[data-th]::before {
        content: attr(data-th);
        font-family: var(--font-mono);
        font-size: 8.5px;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.09em;
        color: var(--faint);
        flex-shrink: 0;
    }
    .v2g7-tbl td:last-child {
        display: block;
        margin-top: 7px;
        padding-top: 8px;
        border-top: 1px solid #F0F3F5;
        font-size: 12.5px;
        color: var(--slate);
    }
    .v2g7-tbl tr.is-win td:last-child { border-top-color: rgba(11, 138, 71, 0.18); }
    .v2g7-tbl td:last-child::before { display: block; margin-bottom: 3px; }

    .v2g7-req { grid-template-columns: minmax(0, 1fr); gap: 10px; }
    .v2g7-quote { padding: 17px 16px; }
    .v2g7-quote blockquote, .v2g7-quote figcaption { padding-left: 32px; }
    .v2g7-deadlines { padding: 18px 16px; }

    .v2g7-method { padding: 19px 16px; }
    .v2g7-method__num { font-size: 68px; top: -10px; right: 6px; }
    .v2g7-method > p { font-size: 14px; }
    .v2g7-where { grid-template-columns: minmax(0, 1fr); gap: 8px; }
    .v2g7-verdict { padding: 13px 15px; }
    .v2g7-green { padding: 16px 16px; }
    .v2g7-mistake { padding: 17px 15px; }
    .v2g7-mistake__head h4 { font-size: 15px; }
    .v2g7-mistake > p { font-size: 13.5px; }

    /* DIY vs managed: pin the criteria column while the rest scrolls */
    .v2g7-cmp table { min-width: 520px; }
    .v2g7-cmp th:first-child, .v2g7-cmp td:first-child {
        position: sticky;
        left: 0;
        z-index: 1;
        min-width: 128px;
        max-width: 150px;
        box-shadow: 1px 0 0 var(--line);
    }
    .v2g7-cmp th:first-child { background: var(--mist); }
}

/* =============================================================
   BLOG PVO V2
   (/blog/personal-vs-organization-google-play-account-12-testers)
   Page-unique components layered on the shared v2gpr- article
   system. Prefix: v2pvo-.
   ============================================================= */

/* Gotcha 19: enumerated reset for this block's lists/quotes,
   declared FIRST at (0,1,0) so later per-component rules win. */
.v2pvo-vs__list, .v2pvo-frame, .v2pvo-quote { margin: 0; padding: 0; list-style: none; }

/* ---------- Versus artifact (hero comparison panel) ---------- */

.v2pvo-vs {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 0 0 28px;
}
.v2pvo-vs__pip {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--ink);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-mono);
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border: 3px solid var(--paper);
    box-shadow: 0 6px 16px -6px rgba(10, 16, 23, 0.35);
}
.v2pvo-vs__side {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 20px 22px;
}
.v2pvo-vs__side.is-org {
    border-color: rgba(11, 138, 71, 0.4);
    box-shadow: 0 0 0 1px rgba(11, 138, 71, 0.22), 0 14px 30px -18px rgba(11, 138, 71, 0.3);
}
.v2pvo-vs__tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 9.5px;
    border-radius: 999px;
    padding: 4px 11px;
    background: var(--mist);
    border: 1px solid var(--line);
    color: var(--slate);
}
.v2pvo-vs__side.is-org .v2pvo-vs__tag {
    background: var(--go-tint);
    border-color: rgba(11, 138, 71, 0.22);
    color: var(--go-deep);
}
.v2pvo-vs__tag svg { width: 13px; height: 13px; }
.v2pvo-vs__t {
    font-family: var(--font-display);
    font-weight: 650;
    font-size: 17px;
    letter-spacing: -0.014em;
    color: var(--ink);
    margin: 12px 0 2px;
}
.v2pvo-vs__who { font-size: 12.5px; color: var(--faint); margin-bottom: 14px; }
.v2pvo-vs__verdict {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 12px 14px;
    margin-bottom: 14px;
}
.v2pvo-vs__side.is-org .v2pvo-vs__verdict {
    background: var(--go-tint);
    border-color: rgba(11, 138, 71, 0.22);
}
.v2pvo-vs__verdict .v2gpr-mk { margin-top: 2px; }
.v2pvo-vs__verdict b {
    display: block;
    font-size: 13.5px;
    font-weight: 700;
    color: var(--ink);
    line-height: 1.3;
}
.v2pvo-vs__verdict em { font-style: normal; font-size: 11.5px; color: var(--slate); }
.v2pvo-vs__list li {
    position: relative;
    padding-left: 16px;
    font-size: 13px;
    line-height: 1.55;
    color: var(--slate);
    margin-bottom: 6px;
}
.v2pvo-vs__list li:last-child { margin-bottom: 0; }
.v2pvo-vs__list li::before {
    content: '';
    position: absolute;
    left: 2px;
    top: 8px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #C9D2DA;
}
.v2pvo-vs.v2-anim .v2pvo-vs__side {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.6s cubic-bezier(0.22, 0.8, 0.26, 1), transform 0.6s cubic-bezier(0.22, 0.8, 0.26, 1);
}
.v2pvo-vs.v2-anim .v2pvo-vs__side.is-org { transition-delay: 0.12s; }
.v2pvo-vs.v2-anim .v2pvo-vs__pip {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.4);
    transition: opacity 0.45s ease 0.3s, transform 0.45s cubic-bezier(0.34, 1.56, 0.64, 1) 0.3s;
}
.v2pvo-vs.v2-anim.is-in .v2pvo-vs__side { opacity: 1; transform: none; }
.v2pvo-vs.v2-anim.is-in .v2pvo-vs__pip { opacity: 1; transform: translate(-50%, -50%) scale(1); }

/* ---------- Advisor questions + verdicts ---------- */

.v2pvo-q { margin-bottom: 18px; }
.v2pvo-q__label {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 14.5px;
    font-weight: 600;
    color: var(--ink);
    line-height: 1.35;
    margin-bottom: 10px;
}
.v2pvo-q__n {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--ink);
    color: #fff;
    font-family: var(--font-mono);
    font-size: 11px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
}
.v2pvo-seg {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.v2pvo-seg label { display: block; cursor: pointer; margin: 0; }
.v2pvo-seg input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}
.v2pvo-seg span {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 46px;
    height: 100%;
    padding: 11px 13px;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 12px;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--slate);
    text-align: center;
    line-height: 1.3;
    transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}
.v2pvo-seg span svg { width: 17px; height: 17px; color: var(--faint); flex-shrink: 0; transition: color 0.2s ease; }
.v2pvo-seg label:hover span { border-color: #C9D2DA; color: var(--ink); }
.v2pvo-seg input:checked + span {
    background: var(--go-tint);
    border-color: rgba(11, 138, 71, 0.4);
    color: var(--go-deep);
    box-shadow: 0 0 0 1px rgba(11, 138, 71, 0.25);
}
.v2pvo-seg input:checked + span svg { color: var(--go); }
.v2pvo-seg input:focus-visible + span { outline: 2px solid var(--go); outline-offset: 2px; }
.v2pvo-verdict {
    display: none;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 20px 22px;
}
.v2pvo-verdict.show { display: block; animation: v2gprIn 0.35s ease; }
.v2pvo-verdict__head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}
.v2pvo-verdict__ic {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: var(--mist);
    border: 1px solid var(--line);
    color: var(--slate);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.v2pvo-verdict.v-org .v2pvo-verdict__ic,
.v2pvo-verdict.v-mandatory .v2pvo-verdict__ic { background: var(--ink); border-color: var(--ink); color: #fff; }
.v2pvo-verdict__ic svg { width: 21px; height: 21px; }
.v2pvo-rc-t {
    display: block;
    font-family: var(--font-display);
    font-weight: 650;
    font-size: 16px;
    color: var(--ink);
    margin-bottom: 4px;
}
.v2pvo-verdict__badge {
    display: inline-block;
    font-size: 9px;
    border-radius: 6px;
    padding: 3px 8px;
}
.v2pvo-verdict__badge.is-go {
    color: var(--go-deep);
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.22);
}
.v2pvo-verdict__badge.is-must { color: #fff; background: var(--ink); }
.v2pvo-verdict p { font-size: 14px; line-height: 1.7; color: var(--slate); margin-bottom: 10px; }
.v2pvo-verdict p:last-of-type { margin-bottom: 0; }
.v2pvo-verdict__note {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin-top: 13px;
    background: var(--mist);
    border: 1px dashed #C9D2DA;
    border-radius: 10px;
    padding: 12px 14px;
    font-size: 13px;
    line-height: 1.6;
    color: var(--slate);
}
.v2pvo-verdict__note svg { width: 16px; height: 16px; color: var(--go); flex-shrink: 0; margin-top: 2px; }

/* ---------- Rule detail cards ---------- */

.v2pvo-rules {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 24px 0;
}
.v2pvo-rule {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 18px 20px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.v2pvo-rule:hover {
    border-color: #C9D2DA;
    box-shadow: 0 10px 24px -16px rgba(10, 16, 23, 0.16);
}
.v2pvo-rule__t {
    display: flex;
    align-items: center;
    gap: 9px;
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 15px;
    color: var(--ink);
    margin-bottom: 7px;
}
.v2pvo-rule__t svg { width: 18px; height: 18px; color: var(--slate); flex-shrink: 0; }
.v2pvo-rule > p:last-child { font-size: 13.5px; line-height: 1.65; color: var(--slate); }

/* ---------- Organization requirement cards ---------- */

.v2pvo-req {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 24px 0;
}
.v2pvo-req__card {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 18px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.v2pvo-req__card:hover {
    border-color: #C9D2DA;
    box-shadow: 0 10px 24px -16px rgba(10, 16, 23, 0.18);
}
.v2pvo-req__ic {
    width: 38px;
    height: 38px;
    border-radius: 11px;
    background: var(--mist);
    color: var(--slate);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
}
.v2pvo-req__ic svg { width: 20px; height: 20px; }
.v2pvo-req__t {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 14.5px;
    color: var(--ink);
    margin-bottom: 5px;
}
.v2pvo-req__card > p:not(.v2pvo-req__t) { font-size: 12.5px; line-height: 1.6; color: var(--slate); }
.v2pvo-req__tag {
    display: inline-block;
    margin-top: 10px;
    font-size: 8.5px;
    letter-spacing: 0.1em;
    border-radius: 5px;
    padding: 3px 8px;
    background: var(--mist);
    border: 1px solid var(--line);
    color: var(--slate);
}
.v2pvo-req__tag.is-must { background: var(--ink); border-color: var(--ink); color: #fff; }

/* ---------- D-U-N-S bars extras ---------- */

.v2pvo-cost {
    font-size: 9.5px;
    border-radius: 999px;
    padding: 3px 10px;
    white-space: nowrap;
}
.v2pvo-cost.is-free {
    color: var(--go-deep);
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.22);
}
.v2pvo-cost.is-paid { color: #fff; background: var(--ink); }
.v2pvo-duns__scale {
    display: flex;
    justify-content: space-between;
    margin-top: 14px;
    padding-top: 11px;
    border-top: 1px dashed var(--line);
}
.v2pvo-duns__scale .v2-mono { font-size: 9px; }

/* ---------- Path A vs Path B duel ---------- */

.v2pvo-paths {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 28px 0 24px;
}
.v2pvo-paths__vs {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--ink);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border: 3px solid var(--paper);
}
.v2pvo-path {
    position: relative;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 24px 22px 16px;
}
.v2pvo-path.is-b {
    border-color: rgba(11, 138, 71, 0.4);
    box-shadow: 0 0 0 1px rgba(11, 138, 71, 0.25), 0 14px 30px -18px rgba(11, 138, 71, 0.35);
}
.v2pvo-path__tag {
    position: absolute;
    top: -11px;
    left: 18px;
    font-size: 9px;
    letter-spacing: 0.1em;
    border-radius: 999px;
    padding: 4px 11px;
    background: var(--mist);
    border: 1px solid var(--line);
    color: var(--slate);
}
.v2pvo-path.is-b .v2pvo-path__tag { background: var(--go); border-color: var(--go); color: #fff; }
.v2pvo-path__t {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-display);
    font-weight: 650;
    font-size: 16.5px;
    letter-spacing: -0.014em;
    color: var(--ink);
    margin: 4px 0 3px;
}
.v2pvo-path__t svg { width: 18px; height: 18px; color: var(--slate); flex-shrink: 0; }
.v2pvo-path.is-b .v2pvo-path__t svg { color: var(--go); }
.v2pvo-path__lede { font-size: 12.5px; color: var(--faint); margin-bottom: 14px; }
.v2pvo-path__meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}
.v2pvo-path__stat {
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 11px 12px;
    text-align: center;
}
.v2pvo-path.is-b .v2pvo-path__stat { background: var(--go-tint); border-color: rgba(11, 138, 71, 0.18); }
.v2pvo-path__stat b {
    display: block;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 17px;
    letter-spacing: -0.02em;
    color: var(--ink);
    line-height: 1;
    font-variant-numeric: tabular-nums;
}
.v2pvo-path__stat .v2-mono { display: block; font-size: 8.5px; margin-top: 6px; }
.v2pvo-path__row {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 8px 0;
    border-top: 1px solid rgba(10, 16, 23, 0.06);
    font-size: 13px;
    line-height: 1.55;
    color: var(--slate);
}
.v2pvo-path__row:first-of-type { border-top: none; }
.v2pvo-path__row .v2gpr-mk { margin-top: 2px; }
.v2pvo-path__foot {
    margin-top: 6px;
    padding-top: 12px;
    border-top: 1px solid var(--line);
    font-size: 13px;
    font-weight: 650;
    color: var(--slate);
}
.v2pvo-path.is-b .v2pvo-path__foot { color: var(--go-deep); }

/* ---------- Comparison table ---------- */

.v2pvo-ct {
    border: 1px solid var(--line);
    border-radius: 16px;
    overflow: hidden;
    margin: 24px 0;
}
.v2pvo-ct__head {
    display: grid;
    grid-template-columns: 1.1fr 1fr 1fr;
    background: var(--ink);
}
.v2pvo-ct__head > div {
    padding: 13px 16px;
    color: #fff;
    font-family: var(--font-mono);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}
.v2pvo-ct__row {
    display: grid;
    grid-template-columns: 1.1fr 1fr 1fr;
    border-top: 1px solid var(--line);
}
.v2pvo-ct__row:first-of-type { border-top: none; }
.v2pvo-ct__row > div { padding: 13px 16px; font-size: 13.5px; line-height: 1.55; }
.v2pvo-ct__factor {
    background: var(--mist);
    font-weight: 650;
    color: var(--ink);
    border-right: 1px solid var(--line);
}
.v2pvo-ct__val { color: var(--slate); display: flex; align-items: flex-start; gap: 8px; }
.v2pvo-ct__val.is-personal { border-right: 1px solid var(--line); }
.v2pvo-ct__val .v2gpr-mk { margin-top: 2px; }
.v2pvo-ct__lab { display: none; font-weight: 650; color: var(--ink); }

/* ---------- Migration trap flow ---------- */

.v2pvo-trap {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 26px 20px;
    margin: 24px 0;
}
.v2pvo-trap__node { text-align: center; max-width: 175px; padding: 0 8px; }
.v2pvo-trap__box {
    width: 56px;
    height: 56px;
    border-radius: 15px;
    background: var(--paper);
    border: 1px solid var(--line);
    color: var(--ink);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 10px;
}
.v2pvo-trap__box svg { width: 26px; height: 26px; }
.v2pvo-trap__t {
    font-family: var(--font-display);
    font-weight: 650;
    font-size: 13.5px;
    color: var(--ink);
    margin-bottom: 3px;
}
.v2pvo-trap__node > p:last-child { font-size: 11.5px; line-height: 1.45; color: var(--slate); }
.v2pvo-trap__link {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 14px;
}
.v2pvo-trap__bar {
    display: block;
    width: 54px;
    height: 2px;
    background: repeating-linear-gradient(90deg, #C9D2DA 0 7px, transparent 7px 13px);
}
.v2pvo-trap__x {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--paper);
    border: 1px solid #C9D2DA;
    color: var(--ink);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 8px 0;
}
.v2pvo-trap__x svg { width: 14px; height: 14px; }
.v2pvo-trap__lab { font-size: 8.5px; color: var(--slate); }

/* ---------- Decision framework cards ---------- */

.v2pvo-frame {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 24px 0;
}
.v2pvo-frame__card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 15px;
    align-items: center;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 16px 19px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.v2pvo-frame__card:hover {
    border-color: #C9D2DA;
    box-shadow: 0 10px 24px -16px rgba(10, 16, 23, 0.16);
}
.v2pvo-frame__ic {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: var(--mist);
    border: 1px solid var(--line);
    color: var(--slate);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.v2pvo-frame__card.is-org .v2pvo-frame__ic { background: var(--ink); border-color: var(--ink); color: #fff; }
.v2pvo-frame__ic svg { width: 21px; height: 21px; }
.v2pvo-frame__t {
    font-family: var(--font-display);
    font-weight: 650;
    font-size: 14.5px;
    line-height: 1.35;
    color: var(--ink);
    margin-bottom: 3px;
}
.v2pvo-frame__txt > p:last-child { font-size: 13px; line-height: 1.55; color: var(--slate); }
.v2pvo-frame__verdict {
    font-size: 9px;
    letter-spacing: 0.1em;
    border-radius: 999px;
    padding: 6px 12px;
    white-space: nowrap;
    background: var(--mist);
    border: 1px solid var(--line);
    color: var(--ink);
}
.v2pvo-frame__card.is-org .v2pvo-frame__verdict { background: var(--ink); border-color: var(--ink); color: #fff; }

/* ---------- Google quote ---------- */

.v2pvo-quote {
    margin: 22px 0;
    padding: 18px 22px;
    background: var(--mist);
    border-left: 3px solid var(--ink);
    border-radius: 0 12px 12px 0;
    font-size: 15.5px;
    line-height: 1.7;
    font-weight: 500;
    color: var(--ink);
}
.v2pvo-quote cite {
    display: block;
    margin-top: 10px;
    font-style: normal;
    font-size: 9.5px;
}
.v2pvo-quote cite::before { content: '- '; }

/* ---------- Change card title (div, keeps heading outline clean) ---------- */

.v2pvo-change-t {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 14px;
    line-height: 1.35;
    color: var(--ink);
    margin-bottom: 3px;
}

/* ---------- PVO responsive ---------- */

@media (max-width: 768px) {
    .v2pvo-vs { grid-template-columns: minmax(0, 1fr); gap: 10px; }
    .v2pvo-vs__pip {
        position: static;
        transform: none;
        margin: -2px auto;
        box-shadow: none;
    }
    .v2pvo-vs.v2-anim .v2pvo-vs__pip { transform: scale(0.4); }
    .v2pvo-vs.v2-anim.is-in .v2pvo-vs__pip { transform: scale(1); }
    .v2pvo-vs__side { padding: 18px; }

    .v2pvo-rules { grid-template-columns: minmax(0, 1fr); }
    .v2pvo-req { grid-template-columns: minmax(0, 1fr); }
    .v2pvo-req__card { padding: 16px; }

    .v2pvo-paths { grid-template-columns: minmax(0, 1fr); gap: 22px; }
    .v2pvo-paths__vs { display: none; }
    .v2pvo-path { padding: 22px 18px 14px; }

    .v2pvo-ct__head { display: none; }
    .v2pvo-ct__row { grid-template-columns: minmax(0, 1fr); border-top: 8px solid var(--mist); }
    .v2pvo-ct__row:first-of-type { border-top: none; }
    .v2pvo-ct__factor {
        background: var(--ink);
        color: #fff;
        border-right: none;
        font-size: 13px;
    }
    .v2pvo-ct__val.is-personal { border-right: none; border-bottom: 1px solid var(--line); }
    .v2pvo-ct__lab { display: inline; }

    .v2pvo-trap { padding: 22px 12px; }
    .v2pvo-trap__node { max-width: 135px; padding: 0 4px; }
    .v2pvo-trap__box { width: 50px; height: 50px; }
    .v2pvo-trap__box svg { width: 23px; height: 23px; }
    .v2pvo-trap__link { padding: 0 8px; }
    .v2pvo-trap__bar { width: 34px; }

    .v2pvo-frame__card { grid-template-columns: auto minmax(0, 1fr); gap: 13px; padding: 15px 16px; }
    .v2pvo-frame__verdict { grid-column: 1 / -1; justify-self: start; margin-top: 2px; }

    .v2pvo-q__label { font-size: 13.5px; }
    .v2pvo-seg span { font-size: 12.5px; padding: 10px 9px; gap: 6px; }
    .v2pvo-verdict { padding: 17px 16px; }
    .v2pvo-quote { padding: 16px 18px; font-size: 14.5px; }
}
@media (max-width: 380px) {
    .v2pvo-seg { grid-template-columns: minmax(0, 1fr); }
    .v2pvo-path__meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .v2pvo-trap { flex-direction: column; gap: 4px; padding: 20px 14px; }
    .v2pvo-trap__node { max-width: none; }
    .v2pvo-trap__link { flex-direction: row; gap: 11px; padding: 6px 0; }
    .v2pvo-trap__bar { width: 2px; height: 22px; background: repeating-linear-gradient(180deg, #C9D2DA 0 7px, transparent 7px 13px); }
    .v2pvo-trap__x { margin: 0; }
}

/* =============================================================
   BLOG TT V2
   (/blog/google-play-internal-vs-closed-vs-open-testing)
   Page-unique components layered on the shared v2gpr- article
   system (plus v2pvo-rules / v2pvo-frame reuse). Prefix: v2tt-.
   ============================================================= */

/* Gotcha 19 reset for this block's lists/figcaption pieces,
   declared FIRST at (0,1,0) so later per-component rules win. */
.v2tt-glance__list, .v2tt-figcap { margin: 0; padding: 0; list-style: none; }

.v2tt-figcap {
    margin-top: 12px;
    text-align: center;
    font-size: 12.5px;
    color: var(--faint);
}
.v2tt-footnote {
    font-size: 12.5px;
    color: var(--faint);
    margin: -10px 0 24px;
}

/* ---------- Key differences glance card ---------- */

.v2tt-glance {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 20px 24px;
    margin: 0 0 26px;
}
.v2tt-glance__label {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 13px;
}
.v2tt-glance__label svg { width: 15px; height: 15px; color: var(--go); }
.v2tt-glance__list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 14px;
    line-height: 1.6;
    color: var(--slate);
    padding: 7px 0;
    border-top: 1px dashed #E9EDF1;
}
.v2tt-glance__list li:first-child { border-top: none; padding-top: 0; }
.v2tt-glance__list li:last-child { padding-bottom: 0; }
.v2tt-glance__list li .v2gpr-mk { margin-top: 3px; }
.v2tt-glance__list strong { color: var(--ink); }

/* ---------- Production funnel ---------- */

.v2tt-funnel {
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 22px 24px;
    margin: 26px 0;
}
.v2tt-funnel__label {
    text-align: center;
    margin-bottom: 18px;
}
.v2tt-funnel__flow {
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 10px;
}
.v2tt-funnel__node {
    position: relative;
    flex: 1;
    max-width: 190px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 16px 12px 13px;
    text-align: center;
}
.v2tt-funnel__node.is-gate {
    border-color: rgba(11, 138, 71, 0.4);
    box-shadow: 0 0 0 1px rgba(11, 138, 71, 0.25);
}
.v2tt-funnel__node.is-live { background: var(--go-tint); border-color: rgba(11, 138, 71, 0.22); }
.v2tt-funnel__gate {
    position: absolute;
    top: -9px;
    left: 50%;
    transform: translateX(-50%);
    font-style: normal;
    font-size: 8px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-weight: 600;
    font-family: var(--font-mono);
    background: var(--ink);
    color: #fff;
    border-radius: 999px;
    padding: 2px 9px;
    white-space: nowrap;
}
.v2tt-funnel__node b {
    display: block;
    font-family: var(--font-display);
    font-weight: 650;
    font-size: 14.5px;
    color: var(--ink);
}
.v2tt-funnel__node > span {
    display: block;
    font-size: 11.5px;
    color: var(--slate);
    margin-top: 2px;
}
.v2tt-funnel__node em {
    display: inline-block;
    font-style: normal;
    font-size: 8.5px;
    font-family: var(--font-mono);
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-top: 8px;
    border-radius: 5px;
    padding: 2px 8px;
    background: var(--mist);
    border: 1px solid var(--line);
    color: var(--slate);
}
.v2tt-funnel__node em.is-req { background: var(--go); border-color: var(--go); color: #fff; }
.v2tt-funnel__node em.is-goal {
    background: #fff;
    border-color: rgba(11, 138, 71, 0.22);
    color: var(--go-deep);
}
.v2tt-funnel__arrow {
    display: flex;
    align-items: center;
    color: var(--faint);
    flex-shrink: 0;
}
.v2tt-funnel__arrow svg { width: 17px; height: 17px; }
.v2tt-funnel__foot {
    text-align: center;
    font-size: 12px;
    color: var(--faint);
    margin-top: 14px;
}
.v2tt-funnel.v2-anim .v2tt-funnel__node {
    opacity: 0;
    transform: translateY(12px);
    transition: opacity 0.5s cubic-bezier(0.22, 0.8, 0.26, 1), transform 0.5s cubic-bezier(0.22, 0.8, 0.26, 1);
}
.v2tt-funnel.v2-anim .v2tt-funnel__node.is-gate { transition-delay: 0.12s; }
.v2tt-funnel.v2-anim .v2tt-funnel__node.is-live { transition-delay: 0.24s; }
.v2tt-funnel.v2-anim.is-in .v2tt-funnel__node { opacity: 1; transform: none; }

/* ---------- Four-column comparison table ---------- */

.v2tt-ct {
    border: 1px solid var(--line);
    border-radius: 16px;
    overflow: hidden;
    margin: 24px 0 14px;
}
.v2tt-ct__head {
    display: grid;
    grid-template-columns: 1.15fr 1fr 1fr 1fr;
    background: var(--ink);
}
.v2tt-ct__head > div {
    padding: 12px 14px;
    color: #fff;
    font-family: var(--font-mono);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-align: center;
}
.v2tt-ct__head > div:first-child { text-align: left; }
.v2tt-ct__head > div.is-key { color: #3ECF81; }
.v2tt-ct__row {
    display: grid;
    grid-template-columns: 1.15fr 1fr 1fr 1fr;
    border-top: 1px solid var(--line);
}
.v2tt-ct__row:first-of-type { border-top: none; }
.v2tt-ct__row > div { padding: 12px 14px; font-size: 13px; line-height: 1.5; }
.v2tt-ct__factor {
    background: var(--mist);
    font-weight: 650;
    color: var(--ink);
    border-right: 1px solid var(--line);
}
.v2tt-ct__val {
    color: var(--slate);
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex-wrap: wrap;
}
.v2tt-ct__val b { color: var(--ink); font-weight: 650; font-variant-numeric: tabular-nums; }
.v2tt-ct__val.is-key { background: var(--go-tint); }
.v2tt-ct__val .v2gpr-mk { flex-shrink: 0; }
.v2tt-ct__yes {
    display: inline-block;
    font-size: 9px;
    background: var(--go);
    color: #fff;
    border-radius: 5px;
    padding: 3px 9px;
}
.v2tt-ct__lab { display: none; font-weight: 650; color: var(--ink); }

/* ---------- Internal use-cases ---------- */

.v2tt-uses {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 20px 22px;
    margin: 24px 0;
}
.v2tt-uses__label {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 13px;
}
.v2tt-uses__label svg { width: 15px; height: 15px; color: var(--go); }
.v2tt-uses__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px 18px;
}
.v2tt-uses__grid > div {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    font-size: 13.5px;
    line-height: 1.55;
    color: var(--slate);
}
.v2tt-uses__grid .v2gpr-mk { margin-top: 2px; }

/* ---------- Requirement capsule text ---------- */

.v2tt-req { font-size: 17px; line-height: 1.7; color: var(--ink); font-weight: 500; }
.v2tt-req strong { color: var(--go-deep); }

/* ---------- 14-day progress artifact ---------- */

.v2tt-progress {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 20px 24px;
    margin: 24px 0;
}
.v2tt-progress__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}
.v2tt-progress__head b { font-size: 13.5px; font-weight: 700; color: var(--ink); }
.v2tt-progress__head .v2-mono.is-done,
.v2tt-progress__scale .v2-mono.is-done { color: var(--go-deep); }
.v2tt-progress .v2gpr-bars__track { height: 16px; }
.v2tt-progress.is-in .v2gpr-bars__fill { animation: v2gprBar 0.9s cubic-bezier(0.22, 0.8, 0.26, 1); }
.v2tt-progress__scale {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-top: 8px;
}
.v2tt-progress__scale .v2-mono { font-size: 9px; }
.v2tt-progress__note {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin-top: 14px;
    background: var(--mist);
    border: 1px dashed #C9D2DA;
    border-radius: 10px;
    padding: 11px 14px;
    font-size: 12.5px;
    line-height: 1.6;
    color: var(--slate);
}
.v2tt-progress__note .v2gpr-mk { margin-top: 2px; }

/* ---------- Recommended flow steps ---------- */

.v2tt-flow {
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 10px;
    margin: 22px 0 14px;
}
.v2tt-flow__step {
    flex: 1;
    max-width: 190px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 15px 12px;
    text-align: center;
}
.v2tt-flow__step.is-key {
    border-color: rgba(11, 138, 71, 0.4);
    box-shadow: 0 0 0 1px rgba(11, 138, 71, 0.25), 0 12px 26px -18px rgba(11, 138, 71, 0.35);
}
.v2tt-flow__step > .v2-mono { display: block; font-size: 9px; margin-bottom: 5px; }
.v2tt-flow__step.is-key > .v2-mono { color: var(--go-deep); }
.v2tt-flow__step b {
    display: block;
    font-family: var(--font-display);
    font-weight: 650;
    font-size: 14.5px;
    color: var(--ink);
}
.v2tt-flow__step em {
    display: block;
    font-style: normal;
    font-size: 11.5px;
    color: var(--slate);
    margin-top: 3px;
}
.v2tt-flow__step em.is-req { color: var(--go-deep); font-weight: 600; }
.v2tt-flow__arrow {
    display: flex;
    align-items: center;
    color: var(--faint);
    flex-shrink: 0;
}
.v2tt-flow__arrow svg { width: 17px; height: 17px; }
.v2tt-flow__note { text-align: center; font-size: 13.5px; color: var(--slate); }

/* ---------- Insider secret cards ---------- */

.v2tt-secret {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 24px 26px;
    margin: 20px 0;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.v2tt-secret:hover {
    border-color: #C9D2DA;
    box-shadow: 0 12px 28px -18px rgba(10, 16, 23, 0.16);
}
.v2tt-secret__head {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 13px;
}
.v2tt-secret__n {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 11px;
    background: var(--ink);
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
}
.v2tt-secret__kick {
    display: inline-block;
    font-size: 8.5px;
    border-radius: 5px;
    padding: 2px 8px;
    background: var(--mist);
    border: 1px solid var(--line);
    color: var(--slate);
    margin-bottom: 4px;
}
.v2tt-secret__kick.is-go {
    background: var(--go-tint);
    border-color: rgba(11, 138, 71, 0.22);
    color: var(--go-deep);
}
.v2tt-secret__kick.is-ink { background: var(--ink); border-color: var(--ink); color: #fff; }
.v2 .v2tt-secret h3 {
    font-family: var(--font-display);
    font-weight: 650;
    font-size: 17px;
    letter-spacing: -0.014em;
    color: var(--ink);
}
.v2tt-secret > p { font-size: 14.5px; line-height: 1.75; color: var(--slate); margin-bottom: 14px; }
.v2tt-secret > p:last-child { margin-bottom: 0; }
.v2tt-path {
    display: block;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 12px 16px;
    font-size: 13px;
    line-height: 1.6;
    color: var(--ink);
    font-weight: 500;
}
.v2tt-secret > p.v2tt-path { margin-bottom: 0; color: var(--ink); }
.v2tt-path .v2-mono { display: block; font-size: 9px; margin-bottom: 4px; color: var(--faint); }
.v2tt-mf { margin-bottom: 0; }
.v2tt-mf .v2gpr-myth__side p { margin-top: 10px; }
.v2tt-mf .v2gpr-myth__tag { color: var(--slate); }
.v2tt-mf .v2gpr-myth__tag svg { width: 13px; height: 13px; }
.v2tt-mf .is-right .v2gpr-myth__tag { color: var(--go-deep); }

/* ---------- Review-time timeline ---------- */

.v2tt-rtl {
    display: flex;
    gap: 3px;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 14px 16px 12px;
}
.v2tt-rtl__seg.is-review { flex: 0 0 30%; }
.v2tt-rtl__seg.is-test { flex: 1; }
.v2tt-rtl__seg i {
    display: block;
    height: 9px;
    border-radius: 5px;
}
.v2tt-rtl__seg.is-review i { background: var(--ink); }
.v2tt-rtl__seg.is-test i { background: var(--go); }
.v2tt-rtl__seg b {
    display: block;
    font-family: var(--font-mono);
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    font-size: 9px;
    margin-top: 7px;
    color: var(--ink);
}
.v2tt-rtl__seg.is-test b { color: var(--go-deep); }
.v2tt-rtl__seg span { display: block; font-size: 11px; color: var(--slate); margin-top: 1px; }

/* ---------- Verdict chips + plan tweaks ---------- */

.v2tt-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}
.v2tt-chips .v2-mono {
    font-size: 9.5px;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 4px 11px;
    white-space: nowrap;
}
.v2tt-plans { margin-bottom: 24px; }
.v2gpr-plan .v2tt-plan-sub {
    font-family: var(--font-body);
    font-weight: 500;
    font-size: 13px;
    color: var(--slate);
    margin-bottom: 16px;
}
.v2tt-plans .v2-btn { margin-top: auto; }
.v2tt-bottom-links { margin-top: 12px; font-size: 14.5px; line-height: 1.7; color: var(--slate); }

/* ---------- TT responsive ---------- */

@media (max-width: 768px) {
    .v2tt-glance { padding: 17px 16px; }
    .v2tt-glance__list li { font-size: 13.5px; }

    .v2tt-funnel { padding: 18px 14px; }
    .v2tt-funnel__flow { flex-direction: column; align-items: stretch; gap: 6px; }
    .v2tt-funnel__node { max-width: none; }
    .v2tt-funnel__arrow { justify-content: center; padding: 2px 0; }
    .v2tt-funnel__arrow svg { transform: rotate(90deg); }

    .v2tt-ct__head { display: none; }
    .v2tt-ct__row { grid-template-columns: minmax(0, 1fr); border-top: 8px solid var(--mist); }
    .v2tt-ct__row:first-of-type { border-top: none; }
    .v2tt-ct__factor {
        background: var(--ink);
        color: #fff;
        border-right: none;
        font-size: 13px;
    }
    .v2tt-ct__val {
        text-align: left;
        justify-content: flex-start;
        border-top: 1px solid var(--line);
    }
    .v2tt-ct__row .v2tt-ct__val:first-of-type { border-top: none; }
    .v2tt-ct__lab { display: inline; }

    .v2tt-uses__grid { grid-template-columns: minmax(0, 1fr); }

    .v2tt-req { font-size: 15.5px; }

    .v2tt-flow { flex-direction: column; align-items: stretch; gap: 6px; margin: 20px 0 12px; }
    .v2tt-flow__step { max-width: none; }
    .v2tt-flow__arrow { justify-content: center; padding: 2px 0; }
    .v2tt-flow__arrow svg { transform: rotate(90deg); }

    .v2tt-secret { padding: 19px 16px; }
    .v2 .v2tt-secret h3 { font-size: 15.5px; }

    .v2tt-rtl { flex-direction: column; gap: 12px; }
    .v2tt-rtl__seg.is-review { flex: none; }
}
@media (max-width: 380px) {
    .v2tt-progress__scale { flex-direction: column; gap: 2px; }
    .v2tt-progress__scale .v2-mono:last-child { text-align: right; }
}

/* ============================================================
   BLOG ARTICLE V2 - EMULATOR (/blog/emulator-google-play-
   closed-testing). Reuses the v2gpr-* article layer; page-
   unique components below. Prefix: v2emu-.
   One rose moment: the verdict-hero NO mark. Two dark moments:
   quick answer + final CTA (the sim readout is component
   chrome, not a band).
   ============================================================ */

/* Non-link variant of the evidence frame (plain figures) */
.v2gpr-shot > .v2gpr-shot__frame {
    display: block;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    overflow: hidden;
}

/* ---------- Verdict hero ---------- */

.v2emu-vh {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: 26px 28px;
    margin: 8px 0 26px;
    box-shadow: 0 1px 2px rgba(10, 16, 23, 0.04), 0 18px 40px -26px rgba(10, 16, 23, 0.18);
}
.v2emu-vh__tag {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--faint);
}
.v2emu-vh__tag svg { width: 15px; height: 15px; }
.v2emu-vh__no {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 14px 0 12px;
}
.v2emu-vh__x {
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    border-radius: 15px;
    background: #FDF1F0;
    border: 1px solid rgba(180, 35, 24, 0.16);
    color: #B42318;
    display: flex;
    align-items: center;
    justify-content: center;
}
.v2emu-vh__x svg { width: 26px; height: 26px; }
.v2emu-vh__no h2 {
    font-family: var(--font-display);
    font-weight: 750;
    font-size: clamp(1.45rem, 1.2rem + 1vw, 1.8rem);
    letter-spacing: -0.02em;
    line-height: 1.1;
    color: var(--ink);
}
.v2emu-vh__no h2 span {
    display: block;
    font-family: var(--font-body);
    font-weight: 500;
    font-size: 13.5px;
    letter-spacing: 0;
    color: var(--slate);
    margin-top: 6px;
}
.v2emu-vh__sub { font-size: 14.5px; line-height: 1.7; color: var(--slate); }
.v2emu-vh__split {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid var(--line);
}
.v2emu-vh__tile {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    border-radius: 14px;
    padding: 14px 16px;
    border: 1px solid var(--line);
}
.v2emu-vh__tile.is-real {
    background: var(--go-tint);
    border-color: rgba(11, 138, 71, 0.22);
}
.v2emu-vh__tile.is-emu { background: var(--mist); }
.v2emu-vh__ic {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: var(--paper);
    border: 1px solid var(--line);
    color: var(--slate);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.v2emu-vh__tile.is-real .v2emu-vh__ic { color: var(--go); border-color: rgba(11, 138, 71, 0.22); }
.v2emu-vh__ic svg { width: 18px; height: 18px; }
.v2emu-vh__tx .v2-mono { display: block; font-size: 8.5px; margin-bottom: 3px; }
.v2emu-vh__tx .v2-mono.is-go { color: var(--go-deep); }
.v2emu-vh__tx b { display: block; font-size: 14px; font-weight: 700; color: var(--ink); }
.v2emu-vh__tx .su { display: block; font-size: 12px; line-height: 1.5; color: var(--slate); margin-top: 3px; }
.v2emu-vh.v2-anim .v2emu-vh__tile,
.v2emu-vh.v2-anim .v2emu-vh__no {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.55s ease, transform 0.55s cubic-bezier(0.22, 0.8, 0.26, 1);
}
.v2emu-vh.v2-anim .v2emu-vh__tile:nth-child(2) { transition-delay: 0.12s; }
.v2emu-vh.is-in .v2emu-vh__tile, .v2emu-vh.is-in .v2emu-vh__no { opacity: 1; transform: none; }

/* ---------- Verbatim rule card ---------- */

.v2emu-rule {
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 20px 24px;
    margin: 22px 0;
}
.v2emu-rule__head {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 12px;
}
.v2emu-rule__head > .v2-mono { font-size: 9.5px; }
.v2emu-rule__dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--go);
    animation: v2Pulse 2.4s ease-out infinite;
    flex-shrink: 0;
}
.v2emu-rule blockquote {
    font-size: 15.5px;
    font-style: italic;
    line-height: 1.7;
    color: var(--ink);
    margin: 0 0 16px;
}
.v2emu-rule__chips { margin: 0; }
.v2emu-rule__chips .v2gpr-statc { background: var(--paper); }

/* ---------- Opt-in vs installed gauges ---------- */

.v2emu-gauges {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 24px 0;
}
.v2emu-gauge {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 20px;
}
.v2emu-gauge.is-real {
    border-color: rgba(11, 138, 71, 0.35);
    box-shadow: 0 0 0 1px rgba(11, 138, 71, 0.18);
}
.v2emu-gauge__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 8px;
}
.v2emu-gauge__name {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 15px;
    color: var(--ink);
}
.v2emu-gauge__name svg { width: 16px; height: 16px; color: var(--slate); flex-shrink: 0; }
.v2emu-gauge.is-real .v2emu-gauge__name svg { color: var(--go); }
.v2emu-gauge__pill {
    font-size: 8.5px;
    border-radius: 999px;
    padding: 3px 9px;
    background: var(--mist);
    border: 1px solid var(--line);
    color: var(--slate);
    white-space: nowrap;
}
.v2emu-gauge__pill.is-ok {
    background: var(--go-tint);
    border-color: rgba(11, 138, 71, 0.22);
    color: var(--go-deep);
}
.v2emu-gauge__sub { font-size: 13px; line-height: 1.6; color: var(--slate); margin-bottom: 12px; }
.v2emu-meter {
    height: 18px;
    border-radius: 9px;
    background: #E9EDF1;
    overflow: hidden;
    background-image: repeating-linear-gradient(90deg, transparent 0, transparent calc(25% - 1px), #DFE6EB calc(25% - 1px), #DFE6EB 25%);
}
.v2emu-meter i {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    height: 100%;
    border-radius: 9px;
    padding-right: 9px;
    font-style: normal;
    font-size: 10px;
    font-weight: 700;
}
.v2emu-meter .is-full { width: 100%; background: #C6CFD8; color: var(--ink); }
.v2emu-meter .is-low { width: 12%; background: var(--go); color: #fff; padding-right: 6px; }
.v2emu-gauge__read {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin: 10px 0 10px;
}
.v2emu-gauge__read b {
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 26px;
    letter-spacing: -0.02em;
    color: var(--ink);
    font-variant-numeric: tabular-nums;
}
.v2emu-gauge__read .v2-mono { font-size: 9.5px; }
.v2emu-gauge__flag {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    font-size: 12.5px;
    line-height: 1.6;
    color: var(--slate);
    border-top: 1px solid var(--line);
    padding-top: 11px;
}
.v2emu-gauge__flag .v2gpr-mk { margin-top: 2px; }

/* ---------- Integrity verdict simulator ---------- */

.v2emu-sim {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 20px;
    overflow: hidden;
    margin: 26px 0;
    box-shadow: 0 1px 2px rgba(10, 16, 23, 0.05), 0 14px 34px -20px rgba(10, 16, 23, 0.14);
}
.v2emu-sim__bar {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    background: var(--mist);
    border-bottom: 1px solid var(--line);
}
.v2emu-sim__bar > .v2-mono { font-size: 9.5px; }
.v2emu-sim__live {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 9px;
    color: var(--go-deep);
    white-space: nowrap;
}
.v2emu-sim__live i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--go);
    animation: v2Pulse 2.4s ease-out infinite;
}
.v2emu-sim__body { padding: 20px 22px; }
.v2emu-sim__prompt { font-size: 14px; color: var(--slate); margin-bottom: 12px; }
.v2emu-sim__prompt b { color: var(--ink); }
.v2emu-sim__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}
.v2 .v2emu-sim__chip {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 600;
    color: var(--slate);
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 9px 14px;
    cursor: pointer;
    transition: border-color 0.18s ease, color 0.18s ease, background 0.18s ease;
}
.v2 .v2emu-sim__chip svg { width: 15px; height: 15px; flex-shrink: 0; }
.v2 .v2emu-sim__chip:hover { border-color: #C9D2DA; color: var(--ink); }
.v2 .v2emu-sim__chip.active {
    background: var(--ink);
    border-color: var(--ink);
    color: #fff;
}
.v2emu-sim__out {
    background: var(--ink);
    border-radius: 14px;
    padding: 18px 20px;
    min-height: 108px;
}
.v2emu-sim__empty {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: var(--font-mono);
    font-size: 12px;
    color: #7A8794;
    padding: 8px 0;
}
.v2emu-sim__empty svg { width: 16px; height: 16px; flex-shrink: 0; }
.v2emu-sim__line {
    font-family: var(--font-mono);
    font-size: 12px;
    line-height: 1.8;
    color: #C9D3DC;
    word-break: break-word;
    overflow-wrap: anywhere;
}
.v2emu-sim__line .c { color: #6E7B88; }
.v2emu-sim__line .k { color: #9FB4C6; }
.v2emu-sim__lbl { font-weight: 700; }
.v2emu-sim__lbl.ok { color: #3ECF81; }
.v2emu-sim__lbl.no { color: #A9B4BF; text-decoration: underline dotted; text-underline-offset: 3px; }
.v2emu-sim__explain {
    font-family: var(--font-body);
    font-size: 13px;
    line-height: 1.65;
    color: #A9B4BF;
    margin: 10px 0 12px;
    border-top: 1px solid rgba(255, 255, 255, 0.09);
    padding-top: 12px;
}
.v2emu-sim__stamp {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-family: var(--font-mono);
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    border-radius: 999px;
    padding: 6px 12px;
}
.v2emu-sim__stamp svg { width: 14px; height: 14px; }
.v2emu-sim__stamp.s-ok { background: rgba(62, 207, 129, 0.14); color: #3ECF81; border: 1px solid rgba(62, 207, 129, 0.35); }
.v2emu-sim__stamp.s-no { background: rgba(255, 255, 255, 0.06); color: #A9B4BF; border: 1px solid rgba(255, 255, 255, 0.14); }
.v2emu-sim__result { animation: v2gprIn 0.3s ease; }
.v2emu-sim__foot { font-size: 11.5px; color: var(--faint); margin-top: 12px; line-height: 1.6; }

/* ---------- Verdict label cards ---------- */

.v2emu-vds { display: grid; gap: 12px; margin: 24px 0; }
.v2emu-vd {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 17px 20px;
}
.v2emu-vd.is-ok {
    background: var(--go-tint);
    border-color: rgba(11, 138, 71, 0.22);
}
.v2emu-vd.is-no { background: var(--mist); }
.v2emu-vd__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}
.v2emu-vd__name {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    color: var(--ink);
    word-break: break-word;
}
.v2emu-vd__tag {
    font-size: 8.5px;
    border-radius: 999px;
    padding: 3px 9px;
    background: var(--paper);
    border: 1px solid var(--line);
    color: var(--slate);
    white-space: nowrap;
}
.v2emu-vd__tag.is-pass { background: var(--go); border-color: var(--go); color: #fff; }
.v2emu-vd__tag.is-emu { background: var(--ink); border-color: var(--ink); color: #fff; }
.v2emu-vd > p { font-size: 13.5px; line-height: 1.65; color: var(--slate); margin-bottom: 9px; }
.v2emu-vd__emu {
    display: block;
    font-size: 12.5px;
    line-height: 1.55;
    color: var(--slate);
    border-top: 1px dashed #DCE3E9;
    padding-top: 9px;
}
.v2emu-vd__emu b { color: var(--ink); }

/* ---------- Documented-vs-not sub lines ---------- */

.v2emu-know__sub { font-size: 12px !important; color: var(--faint) !important; margin: -6px 0 10px !important; text-transform: none !important; letter-spacing: 0 !important; font-family: var(--font-body) !important; }

/* ---------- Risk split + ladder ---------- */

.v2emu-risk {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 24px 0;
}
.v2emu-risk__card {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 20px;
}
.v2emu-risk__card.is-fine {
    background: var(--go-tint);
    border-color: rgba(11, 138, 71, 0.22);
}
.v2emu-risk__card.is-bad { border-left: 3px solid var(--ink); }
.v2emu-risk__head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 11px;
}
.v2emu-risk__ic {
    width: 38px;
    height: 38px;
    border-radius: 11px;
    background: var(--paper);
    border: 1px solid var(--line);
    color: var(--slate);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.v2emu-risk__card.is-fine .v2emu-risk__ic { color: var(--go); border-color: rgba(11, 138, 71, 0.22); }
.v2emu-risk__card.is-bad .v2emu-risk__ic { background: var(--mist); color: var(--ink); }
.v2emu-risk__ic svg { width: 19px; height: 19px; }
.v2emu-risk__tag { display: block; font-size: 8.5px; margin-bottom: 3px; color: var(--faint); }
.v2emu-risk__card.is-fine .v2emu-risk__tag { color: var(--go-deep); }
.v2emu-risk__head b { font-size: 14.5px; font-weight: 700; color: var(--ink); line-height: 1.35; }
.v2emu-risk__card > p { font-size: 13.5px; line-height: 1.65; color: var(--slate); }
.v2emu-risk__card blockquote {
    font-size: 12.5px;
    font-style: italic;
    line-height: 1.6;
    color: var(--ink);
    background: var(--mist);
    border-radius: 10px;
    padding: 11px 14px;
    margin-top: 11px;
}
.v2emu-ladder {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 20px 22px;
    margin: 24px 0;
}
.v2emu-ladder__head {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
}
.v2emu-ladder__head svg { width: 15px; height: 15px; color: var(--slate); }
.v2emu-rung {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    padding: 12px 0;
    border-top: 1px solid #F0F3F5;
}
.v2emu-rung:first-of-type { border-top: none; }
.v2emu-rung__lvl {
    flex-shrink: 0;
    width: 26px;
    height: 26px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 12.5px;
    margin-top: 1px;
}
.v2emu-rung__lvl.lv1 { background: var(--mist); border: 1px solid var(--line); color: var(--slate); }
.v2emu-rung__lvl.lv2 { background: #DDE3E9; color: var(--ink); }
.v2emu-rung__lvl.lv3 { background: #55616D; color: #fff; }
.v2emu-rung__lvl.lv4 { background: var(--ink); color: #fff; }
.v2emu-rung p { font-size: 14px; line-height: 1.65; color: var(--slate); }
.v2emu-rung p b { color: var(--ink); }

/* ---------- Legitimate-path playbook ---------- */

.v2emu-play {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 24px 0;
}
.v2emu-play__card {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 17px 18px;
}
.v2emu-play__card.is-hi {
    background: var(--go-tint);
    border-color: rgba(11, 138, 71, 0.22);
}
.v2emu-play__top {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}
.v2emu-play__n {
    flex-shrink: 0;
    width: 26px;
    height: 26px;
    border-radius: 8px;
    background: var(--mist);
    border: 1px solid var(--line);
    color: var(--ink);
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 12.5px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.v2emu-play__card.is-hi .v2emu-play__n { background: var(--go); border-color: var(--go); color: #fff; }
.v2emu-play__top b { font-size: 14px; font-weight: 700; color: var(--ink); line-height: 1.3; }
.v2emu-play__card > p { font-size: 13px; line-height: 1.6; color: var(--slate); }
.v2emu-play__card > p b { color: var(--ink); }

/* ---------- Org exemption panel ---------- */

.v2emu-org {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 20px 22px;
    margin: 22px 0;
}
.v2emu-org__ic {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: var(--paper);
    border: 1px solid var(--line);
    color: var(--slate);
    display: flex;
    align-items: center;
    justify-content: center;
}
.v2emu-org__ic svg { width: 22px; height: 22px; }
.v2emu-org__tx b { display: block; font-size: 15px; font-weight: 700; color: var(--ink); margin-bottom: 6px; }
.v2emu-org__tx p { font-size: 13.5px; line-height: 1.7; color: var(--slate); }

/* ---------- 2026 updates rows ---------- */

.v2emu-tls { display: grid; gap: 12px; margin: 24px 0; }
.v2emu-tl {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 16px 18px;
}
.v2emu-tl__ic {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: var(--mist);
    color: var(--slate);
    display: flex;
    align-items: center;
    justify-content: center;
}
.v2emu-tl__ic svg { width: 19px; height: 19px; }
.v2emu-tl__th {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 4px;
}
.v2emu-tl__th b { font-size: 14.5px; font-weight: 700; color: var(--ink); }
.v2emu-tl__when {
    font-size: 8.5px;
    background: var(--mist);
    border: 1px solid var(--line);
    color: var(--slate);
    border-radius: 5px;
    padding: 2px 8px;
    white-space: nowrap;
}
.v2emu-tl__tx p { font-size: 13px; line-height: 1.6; color: var(--slate); }

/* ---------- Emulator blog: responsive ---------- */

@media (max-width: 820px) {
    .v2emu-gauges, .v2emu-risk { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
    .v2emu-vh { padding: 20px 18px; }
    .v2emu-vh__split { grid-template-columns: minmax(0, 1fr); gap: 10px; }
    .v2emu-vh__x { width: 44px; height: 44px; border-radius: 12px; }
    .v2emu-vh__x svg { width: 22px; height: 22px; }
    .v2emu-rule { padding: 17px 16px; }
    .v2emu-rule blockquote { font-size: 14.5px; }
    .v2emu-gauge { padding: 17px 16px; }
    .v2emu-sim__body { padding: 16px 14px; }
    .v2 .v2emu-sim__chip { font-size: 12.5px; padding: 8px 12px; }
    .v2emu-sim__out { padding: 15px 14px; }
    .v2emu-vd { padding: 15px 16px; }
    .v2emu-risk__card { padding: 17px 16px; }
    .v2emu-ladder { padding: 17px 16px; }
    .v2emu-play { grid-template-columns: minmax(0, 1fr); gap: 10px; }
    .v2emu-org { flex-direction: column; padding: 17px 16px; }
    .v2emu-tl { padding: 14px 15px; }
}

/* ============================================================
   BLOG ARTICLE V2 - 12 TESTERS PER NEW APP
   (/blog/12-testers-per-new-app)
   Unique components for the "per app or per account" post.
   Reuses the shared v2gpr- article layer (prose, h2, qa, callout
   family, dd, mk, toc, faq, bottom, docs, rail, chips, scta).
   Prefix: v2pae-. Two dark moments stay on the page: quick
   answer + final CTA, so every v2pae- component is LIGHT.
   ============================================================ */

/* Hero facts: 4 plaques instead of the default 3 */
.v2 .v2gpr-facts.v2pae-facts { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* ---------- Answer capsule (per-section) ---------- */
.v2gpr-prose > p.v2pae-ans {
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.18);
    border-left: 3px solid var(--go);
    border-radius: 0 12px 12px 0;
    padding: 14px 18px;
    color: var(--ink);
    font-weight: 500;
}

/* ---------- Signature visual: per-app gates + shared pool ---------- */
.v2pae-gates {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 22px 24px 18px;
    margin: 28px 0;
}
.v2pae-gates__label {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--go-deep);
    margin-bottom: 16px;
}
.v2pae-gates__label svg { width: 16px; height: 16px; }
.v2pae-gates__apps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}
.v2pae-gate {
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 16px 12px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
}
.v2pae-gate__ic {
    width: 40px; height: 40px; border-radius: 11px;
    background: var(--paper);
    border: 1px solid var(--line);
    display: flex; align-items: center; justify-content: center;
    color: var(--slate);
    margin-bottom: 6px;
}
.v2pae-gate__ic svg { width: 22px; height: 22px; }
.v2pae-gate b { font-family: var(--font-display); font-size: 14.5px; color: var(--ink); }
.v2pae-gate .v2-mono { font-size: 9.5px; color: var(--faint); }
.v2pae-gate__chip {
    margin-top: 8px;
    font-family: var(--font-mono);
    font-size: 9px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #B42318;
    background: #FDF1F0;
    border: 1px solid rgba(180, 35, 24, 0.18);
    border-radius: 6px;
    padding: 3px 7px;
}
.v2pae-gates__link {
    display: flex;
    justify-content: center;
    padding: 12px 0 6px;
}
.v2pae-gates__link span {
    width: 2px; height: 22px;
    background: var(--line);
    position: relative;
}
.v2pae-gates__link span::before,
.v2pae-gates__link span::after {
    content: ''; position: absolute; left: 50%; top: 100%;
    width: 10px; height: 10px;
    border-left: 2px solid var(--line);
    border-bottom: 2px solid var(--line);
    transform: translateX(-50%) rotate(-45deg);
    transform-origin: top;
}
.v2pae-pool {
    display: flex;
    align-items: center;
    gap: 14px;
    background: var(--go-tint);
    border: 1px dashed rgba(11, 138, 71, 0.4);
    border-radius: 14px;
    padding: 16px 18px;
}
.v2pae-pool__ic {
    flex-shrink: 0;
    width: 44px; height: 44px; border-radius: 12px;
    background: var(--go);
    display: flex; align-items: center; justify-content: center;
    color: #fff;
}
.v2pae-pool__ic svg { width: 24px; height: 24px; }
.v2pae-pool b { display: block; font-family: var(--font-display); font-weight: 700; font-size: 14.5px; color: var(--go-deep); }
.v2pae-pool p { font-size: 13px; line-height: 1.55; color: var(--slate); margin: 3px 0 0; }
.v2pae-gates__foot {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 14px;
    padding-top: 13px;
    border-top: 1px solid var(--line);
    color: var(--faint);
    font-size: 11px;
}
.v2pae-gates__foot svg { width: 14px; height: 14px; }

/* ---------- Myth / reality split ---------- */
.v2pae-split {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 24px 0;
}
.v2pae-split__side {
    border-radius: 14px;
    padding: 20px 22px;
    border: 1px solid var(--line);
}
.v2pae-split__side--myth { background: var(--mist); }
.v2pae-split__side--real { background: var(--go-tint); border-color: rgba(11, 138, 71, 0.2); }
.v2pae-split__tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 10px;
    padding: 4px 9px;
    border-radius: 7px;
    margin-bottom: 11px;
}
.v2pae-split__tag svg { width: 12px; height: 12px; }
.v2pae-split__side--myth .v2pae-split__tag { background: var(--paper); color: var(--slate); border: 1px solid var(--line); }
.v2pae-split__side--real .v2pae-split__tag { background: var(--paper); color: var(--go-deep); border: 1px solid rgba(11, 138, 71, 0.22); }
.v2pae-split__side h3 {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 16px;
    line-height: 1.35;
    color: var(--ink);
    margin: 0 0 8px;
}
.v2pae-split__side p { font-size: 13.5px; line-height: 1.65; color: var(--slate); margin: 0; }

/* ---------- Confidence legend ---------- */
.v2pae-legend {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 22px 0;
}
.v2pae-leg {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 16px;
}
.v2pae-leg__tag {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 9.5px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 4px 8px;
    border-radius: 6px;
    margin-bottom: 9px;
}
.v2pae-leg--official .v2pae-leg__tag { background: var(--go-tint); color: var(--go-deep); }
.v2pae-leg--community .v2pae-leg__tag { background: var(--mist); color: var(--slate); }
.v2pae-leg--commercial .v2pae-leg__tag { background: #FDF1F0; color: #B42318; }
.v2pae-leg p { font-size: 12.5px; line-height: 1.55; color: var(--slate); margin: 0; }

/* ---------- Verbatim Google quote ---------- */
.v2pae-quote {
    position: relative;
    background: var(--mist);
    border: 1px solid var(--line);
    border-left: 3px solid var(--ink);
    border-radius: 0 14px 14px 0;
    padding: 20px 24px;
    margin: 24px 0;
}
.v2pae-quote__src {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--ink);
    font-size: 10.5px;
    margin-bottom: 10px;
}
.v2pae-quote__src svg { width: 14px; height: 14px; color: var(--go); }
.v2pae-quote p {
    font-family: var(--font-display);
    font-weight: 500;
    font-size: 17px;
    line-height: 1.6;
    color: var(--ink);
    margin: 0;
    text-wrap: pretty;
}
.v2pae-quote cite {
    display: block;
    margin-top: 12px;
    font-style: normal;
    font-size: 12px;
    color: var(--faint);
}

/* ---------- Evidence screenshot ---------- */
.v2pae-shot {
    margin: 24px 0;
}
.v2pae-shot img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 14px;
    border: 1px solid var(--line);
    box-shadow: 0 10px 28px -18px rgba(10, 16, 23, 0.22);
}
.v2pae-shot figcaption {
    font-size: 12.5px;
    line-height: 1.55;
    color: var(--slate);
    margin: 10px 2px 0;
}

/* ---------- Fact strip ---------- */
.v2pae-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 24px 0;
}
.v2pae-stat {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 16px 12px;
    text-align: center;
}
.v2pae-stat b {
    display: block;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 22px;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: var(--ink);
}
.v2pae-stat .v2-mono { display: block; font-size: 10px; color: var(--faint); margin-top: 7px; }

/* ---------- New-app vs update comparison ---------- */
.v2pae-cmp {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 24px 0;
}
.v2pae-cmp__card {
    position: relative;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 26px 22px 20px;
}
.v2pae-cmp__card--skip {
    background: var(--go-tint);
    border-color: rgba(11, 138, 71, 0.22);
}
.v2pae-cmp__badge {
    position: absolute;
    top: -11px; left: 20px;
    font-family: var(--font-mono);
    font-size: 9.5px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    background: var(--ink);
    color: #fff;
    padding: 4px 10px;
    border-radius: 7px;
}
.v2pae-cmp__badge.is-go { background: var(--go); }
.v2pae-cmp__card h3 {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 17px;
    color: var(--ink);
    margin: 4px 0 10px;
}
.v2pae-cmp__verdict {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 13px;
    font-weight: 700;
    color: var(--slate);
    margin: 0 0 14px;
}
.v2pae-cmp__verdict svg { width: 16px; height: 16px; flex-shrink: 0; }
.v2pae-cmp__verdict.is-go { color: var(--go-deep); }
.v2pae-cmp__card ul { margin: 0; padding: 0; list-style: none; }
.v2pae-cmp__card li {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    font-size: 13.5px;
    line-height: 1.55;
    color: var(--slate);
    margin-bottom: 9px;
}
.v2pae-cmp__card li:last-child { margin-bottom: 0; }
.v2pae-cmp__card li .v2gpr-mk { margin-top: 2px; }

/* ---------- Reuse pool diagram ---------- */
.v2pae-pool2 {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 24px 22px 20px;
    margin: 24px 0;
    text-align: center;
}
.v2pae-pool2__hub {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.22);
    border-radius: 14px;
    padding: 16px 26px;
}
.v2pae-pool2__hub-ic {
    width: 40px; height: 40px; border-radius: 11px;
    background: var(--go); color: #fff;
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 4px;
}
.v2pae-pool2__hub-ic svg { width: 22px; height: 22px; }
.v2pae-pool2__hub b { font-family: var(--font-display); font-weight: 700; font-size: 15px; color: var(--go-deep); }
.v2pae-pool2__hub .v2-mono { font-size: 10px; color: var(--slate); }
.v2pae-pool2__arrows {
    display: flex;
    justify-content: center;
    gap: clamp(28px, 8vw, 80px);
    padding: 12px 0 6px;
}
.v2pae-pool2__arrows span {
    width: 2px; height: 22px;
    background: var(--line);
    position: relative;
}
.v2pae-pool2__arrows span::before,
.v2pae-pool2__arrows span::after {
    content: ''; position: absolute; left: 50%; top: 100%;
    width: 9px; height: 9px;
    border-left: 2px solid var(--line);
    border-bottom: 2px solid var(--line);
    transform: translateX(-50%) rotate(-45deg);
    transform-origin: top;
}
.v2pae-pool2__apps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-top: 6px;
}
.v2pae-pool2__app {
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 14px 8px;
    text-align: center;
}
.v2pae-pool2__app-ic {
    width: 34px; height: 34px; border-radius: 10px;
    background: var(--paper);
    border: 1px solid var(--line);
    display: flex; align-items: center; justify-content: center;
    color: var(--slate);
    margin: 0 auto 6px;
}
.v2pae-pool2__app-ic svg { width: 19px; height: 19px; }
.v2pae-pool2__app b { display: block; font-family: var(--font-display); font-size: 12.5px; color: var(--ink); }
.v2pae-pool2__app .v2-mono { font-size: 9.5px; color: var(--faint); }

/* ---------- Portfolio planner (interactive) ---------- */
.v2pae-calc {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    overflow: hidden;
    margin: 26px 0;
    box-shadow: 0 10px 30px -22px rgba(10, 16, 23, 0.2);
}
.v2pae-calc__head {
    background: var(--mist);
    border-bottom: 1px solid var(--line);
    padding: 18px 22px;
}
.v2pae-calc__head .v2-mono {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--go-deep);
    font-size: 10px;
    margin-bottom: 8px;
}
.v2pae-calc__head .v2-mono svg { width: 14px; height: 14px; }
.v2pae-calc__head h3 {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 19px;
    color: var(--ink);
    margin: 0 0 3px;
}
.v2pae-calc__head p { font-size: 13px; color: var(--slate); margin: 0; }
.v2pae-calc__body { padding: 22px; }
.v2pae-calc__ctrl {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}
.v2pae-calc__ctrl label { font-size: 13.5px; font-weight: 600; color: var(--ink); }
.v2 .v2pae-stepper {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--line);
    border-radius: 12px;
    overflow: hidden;
    background: var(--paper);
}
.v2 .v2pae-stepper button {
    width: 42px; height: 44px;
    border: none;
    background: var(--mist);
    color: var(--go-deep);
    font-size: 22px; font-weight: 700;
    cursor: pointer;
    transition: background 0.18s ease;
}
.v2 .v2pae-stepper button:hover { background: var(--go-tint); }
.v2 .v2pae-stepper button:focus-visible { outline: 2px solid var(--go); outline-offset: -3px; }
.v2 .v2pae-stepper input {
    width: 64px; height: 44px;
    border: none;
    border-left: 1px solid var(--line);
    border-right: 1px solid var(--line);
    text-align: center;
    font-family: var(--font-display);
    font-size: 18px; font-weight: 800;
    color: var(--ink);
    background: var(--paper);
    -moz-appearance: textfield;
}
.v2 .v2pae-stepper input::-webkit-outer-spin-button,
.v2 .v2pae-stepper input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.v2pae-calc__out {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}
.v2pae-calc__stat {
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 16px 14px;
    text-align: center;
}
.v2pae-calc__stat.is-pool { background: var(--go-tint); border-color: rgba(11, 138, 71, 0.2); }
.v2pae-calc__stat b {
    display: block;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 26px;
    line-height: 1;
    color: var(--ink);
}
.v2pae-calc__stat.is-pool b { color: var(--go-deep); }
.v2pae-calc__stat .v2-mono { display: block; font-size: 10px; color: var(--slate); margin-top: 7px; line-height: 1.4; }
.v2pae-calc__note {
    margin: 16px 0 0;
    padding-top: 15px;
    border-top: 1px solid var(--line);
    font-size: 13px;
    line-height: 1.65;
    color: var(--slate);
}

/* ---------- New-test checker (interactive advisor) ---------- */
.v2pae-tool {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    overflow: hidden;
    margin: 26px 0;
    box-shadow: 0 10px 30px -22px rgba(10, 16, 23, 0.2);
}
.v2pae-tool__head {
    background: var(--mist);
    border-bottom: 1px solid var(--line);
    padding: 20px 24px;
}
.v2pae-tool__head .v2-mono {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--go-deep);
    font-size: 10px;
    margin-bottom: 8px;
}
.v2pae-tool__head .v2-mono svg { width: 14px; height: 14px; }
.v2pae-tool__head h3 {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 20px;
    color: var(--ink);
    margin: 0 0 4px;
}
.v2pae-tool__head p { font-size: 13.5px; color: var(--slate); margin: 0; }
.v2pae-tool__body { padding: 22px 24px; }
.v2pae-tool__label {
    display: block;
    font-size: 10.5px;
    color: var(--faint);
    margin-bottom: 8px;
}
.v2pae-select { position: relative; margin-bottom: 18px; }
.v2 .v2pae-select select {
    appearance: none;
    width: 100%;
    padding: 14px 44px 14px 16px;
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 600;
    color: var(--ink);
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 12px;
    cursor: pointer;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
}
.v2 .v2pae-select select:hover { border-color: #C9D2DA; }
.v2 .v2pae-select select:focus-visible { outline: none; border-color: var(--go); box-shadow: 0 0 0 3px rgba(11, 138, 71, 0.14); }
.v2pae-select::after {
    content: '';
    position: absolute;
    right: 20px; top: 50%;
    width: 9px; height: 9px;
    border-right: 2px solid var(--slate);
    border-bottom: 2px solid var(--slate);
    transform: translateY(-65%) rotate(45deg);
    pointer-events: none;
}
.v2pae-empty {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 18px 20px;
    background: var(--mist);
    border: 1px dashed #C9D2DA;
    border-radius: 14px;
    color: var(--slate);
    font-size: 14px;
}
.v2pae-empty svg { width: 20px; height: 20px; color: var(--faint); flex-shrink: 0; }
.v2pae-rc {
    display: none;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 14px;
    border-radius: 14px;
    padding: 20px 22px;
    border: 1px solid var(--line);
}
.v2pae-rc.show { display: grid; animation: v2CardIn 0.35s cubic-bezier(0.22, 0.8, 0.26, 1) both; }
.v2pae-rc__ic {
    width: 44px; height: 44px; border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    color: #fff;
}
.v2pae-rc__ic svg { width: 24px; height: 24px; }
.v2pae-rc h4 {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 16.5px;
    color: var(--ink);
    margin: 0 0 4px;
}
.v2pae-rc__tag {
    display: inline-block;
    font-size: 9.5px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 3px 8px;
    border-radius: 6px;
    margin-bottom: 10px;
}
.v2pae-rc p { font-size: 13.5px; line-height: 1.65; color: var(--slate); margin: 0 0 10px; }
.v2pae-rc p:last-child { margin-bottom: 0; }
.v2pae-rc--need { background: #FFF7ED; border-color: rgba(180, 83, 9, 0.18); }
.v2pae-rc--need .v2pae-rc__ic { background: #B45309; }
.v2pae-rc--need .v2pae-rc__tag { background: #FFE7CC; color: #92400E; }
.v2pae-rc--reuse { background: var(--go-tint); border-color: rgba(11, 138, 71, 0.2); }
.v2pae-rc--reuse .v2pae-rc__ic { background: var(--go); }
.v2pae-rc--reuse .v2pae-rc__tag { background: var(--paper); color: var(--go-deep); }
.v2pae-rc--skip { background: var(--paper); }
.v2pae-rc--skip .v2pae-rc__ic { background: var(--ink); }
.v2pae-rc--skip .v2pae-rc__tag { background: var(--mist); color: var(--slate); }

/* ---------- Testing tracks ---------- */
.v2pae-tracks {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin: 24px 0;
}
.v2pae-track {
    position: relative;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 24px 20px 18px;
}
.v2pae-track--key {
    border-color: var(--go);
    box-shadow: 0 12px 30px -20px rgba(11, 138, 71, 0.4);
}
.v2pae-track__badge {
    position: absolute;
    top: -11px; left: 50%;
    transform: translateX(-50%);
    background: var(--go);
    color: #fff;
    font-family: var(--font-mono);
    font-size: 9.5px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 4px 12px;
    border-radius: 12px;
    white-space: nowrap;
}
.v2pae-track h3 {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 17px;
    color: var(--ink);
    margin: 0 0 4px;
}
.v2pae-track--key h3 { color: var(--go-deep); }
.v2pae-track__cap { font-size: 11px; color: var(--faint); margin: 0 0 14px; }
.v2pae-track ul { margin: 0; padding: 0; list-style: none; }
.v2pae-track li {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    font-size: 13px;
    line-height: 1.5;
    color: var(--slate);
    margin-bottom: 8px;
}
.v2pae-track li:last-child { margin-bottom: 0; }
.v2pae-track li .v2gpr-mk { margin-top: 2px; }
.v2pae-track__foot {
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid var(--line);
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: 0.04em;
    text-align: center;
}
.v2pae-track__foot--no { color: #B42318; }
.v2pae-track__foot--yes { color: var(--go-deep); }
.v2pae-track__foot--after { color: var(--faint); }

/* ---------- 2026 deadline cards ---------- */
.v2pae-deadline {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 24px 0;
}
.v2pae-dl {
    position: relative;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 22px;
}
.v2pae-dl__conf {
    position: absolute;
    top: 16px; right: 16px;
    font-size: 9px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    padding: 3px 9px;
    border-radius: 20px;
}
.v2pae-dl__conf--plan { background: var(--mist); color: var(--slate); border: 1px solid var(--line); }
.v2pae-dl__conf--confirmed { background: var(--go-tint); color: var(--go-deep); border: 1px solid rgba(11, 138, 71, 0.2); }
.v2pae-dl__ic {
    width: 44px; height: 44px; border-radius: 12px;
    background: var(--mist);
    border: 1px solid var(--line);
    display: flex; align-items: center; justify-content: center;
    color: var(--slate);
    margin-bottom: 13px;
}
.v2pae-dl__ic.is-go { background: var(--go-tint); border-color: rgba(11, 138, 71, 0.22); color: var(--go); }
.v2pae-dl__ic svg { width: 23px; height: 23px; }
.v2pae-dl h3 {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 16.5px;
    color: var(--ink);
    margin: 0 0 5px;
    padding-right: 70px;
}
.v2pae-dl__date { font-size: 12px; font-weight: 700; color: var(--go-deep); margin: 0 0 9px; }
.v2pae-dl p { font-size: 13px; line-height: 1.6; color: var(--slate); margin: 0; }

/* ---------- Highlight tiles ---------- */
.v2pae-hl {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 24px 0;
}
.v2pae-hl__tile {
    display: flex;
    flex-direction: column;
    gap: 4px;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 16px;
}
.v2pae-hl__ic {
    width: 36px; height: 36px; border-radius: 10px;
    background: var(--paper);
    border: 1px solid var(--line);
    display: flex; align-items: center; justify-content: center;
    color: var(--slate);
    margin-bottom: 6px;
}
.v2pae-hl__ic svg { width: 19px; height: 19px; }
.v2pae-hl__ic.is-go { background: var(--go-tint); border-color: rgba(11, 138, 71, 0.22); color: var(--go); }
.v2pae-hl__tile b { font-family: var(--font-display); font-weight: 700; font-size: 16px; color: var(--ink); }
.v2pae-hl__tile .v2-mono { font-size: 10.5px; color: var(--faint); }

/* ---------- Pricing lineup ---------- */
.v2pae-plans {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin: 18px 0 8px;
    align-items: start;
}
.v2pae-plan {
    position: relative;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 26px 22px 22px;
    text-align: center;
}
.v2pae-plan--key {
    border-color: var(--go);
    box-shadow: 0 14px 34px -22px rgba(11, 138, 71, 0.42);
}
.v2pae-plan__badge {
    position: absolute;
    top: -11px; left: 50%;
    transform: translateX(-50%);
    background: var(--go);
    color: #fff;
    font-family: var(--font-mono);
    font-size: 9.5px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 4px 12px;
    border-radius: 12px;
    white-space: nowrap;
}
.v2pae-plan__name { font-family: var(--font-display); font-weight: 700; font-size: 17px; color: var(--ink); }
.v2pae-plan__testers { font-size: 10.5px; color: var(--faint); margin: 3px 0 8px; }
.v2pae-plan__amount {
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 34px;
    line-height: 1;
    letter-spacing: -0.02em;
    color: var(--ink);
    margin-bottom: 16px;
}
.v2pae-plan ul { margin: 0 0 18px; padding: 0; list-style: none; text-align: left; }
.v2pae-plan li {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    font-size: 13px;
    line-height: 1.5;
    color: var(--slate);
    margin-bottom: 9px;
}
.v2pae-plan li:last-child { margin-bottom: 0; }
.v2pae-plan li .v2gpr-mk { margin-top: 2px; }
.v2pae-plan__btn {
    display: block;
    width: 100%;
    padding: 12px 16px;
    border-radius: 11px;
    background: var(--mist);
    border: 1px solid var(--line);
    color: var(--ink);
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    text-align: center;
    transition: border-color 0.18s ease, background 0.18s ease;
}
.v2pae-plan__btn:hover { border-color: #C9D2DA; background: var(--paper); }
.v2pae-plan__btn--primary { background: var(--go); border-color: var(--go); color: #fff; }
.v2pae-plan__btn--primary:hover { background: var(--go-deep); border-color: var(--go-deep); color: #fff; }

/* ---------- Responsive ---------- */

@media (max-width: 900px) {
    .v2pae-tracks, .v2pae-plans { grid-template-columns: minmax(0, 1fr); }
    .v2pae-tracks .v2pae-track--key { order: -1; margin-top: 6px; }
}
@media (max-width: 768px) {
    .v2pae-split, .v2pae-cmp, .v2pae-deadline { grid-template-columns: minmax(0, 1fr); }
    .v2pae-legend { grid-template-columns: minmax(0, 1fr); }
    .v2pae-pool2__apps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .v2pae-calc__out { grid-template-columns: minmax(0, 1fr); }
    .v2pae-calc__stat { display: flex; align-items: center; justify-content: center; gap: 12px; text-align: left; padding: 14px 16px; }
    .v2pae-calc__stat b { font-size: 22px; }
    .v2pae-calc__stat .v2-mono { margin-top: 0; }
    .v2pae-hl { grid-template-columns: minmax(0, 1fr); }
    .v2pae-quote p { font-size: 15.5px; }
    .v2pae-gates, .v2pae-pool2, .v2pae-calc, .v2pae-tool { border-radius: 16px; }
}
@media (max-width: 640px) {
    .v2 .v2gpr-facts.v2pae-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .v2pae-gates__apps { grid-template-columns: minmax(0, 1fr); }
    .v2pae-gates { padding: 18px 16px; }
    .v2pae-split__side, .v2pae-dl, .v2pae-leg, .v2pae-track, .v2pae-plan { padding: 18px 16px; }
    .v2pae-cmp__card { padding: 24px 16px 16px; }
    .v2pae-calc__head, .v2pae-tool__head { padding: 16px 18px; }
    .v2pae-calc__body, .v2pae-tool__body { padding: 18px; }
    .v2pae-rc { grid-template-columns: minmax(0, 1fr); gap: 10px; padding: 18px; }
    .v2pae-stat b { font-size: 19px; }
    .v2pae-pool2__arrows { gap: clamp(18px, 14vw, 60px); }
}
@media (max-width: 380px) {
    .v2pae-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .v2pae-calc__ctrl { gap: 10px; }
    .v2pae-calc__ctrl label { width: 100%; }
}

/* ============================================================
   BLOG PAID 25 V2 - "I Just Paid the $25 Google Play Fee"
   (/blog/paid-25-google-play-now-what)
   Unique components for the beginner road-to-live post. Reuses
   the shared v2gpr- article layer (prose, h2/h3, qa, callout
   family, dd, q3, mk, toc, faq, bottom, docs, rail, chips, scta,
   author, related, cta). Prefix: v2p25-. Two dark moments stay
   on the page (hero quick answer + final CTA), so every v2p25-
   component is LIGHT. The closed-test "wall" is signalled with
   the ink accent (not rose); rose is reserved for tiny "does not
   count" labels only.
   ============================================================ */

/* Reset for the lists / figures / tables this block introduces
   (the base reset only covers h1-h3 + p; see gotcha 19). */
.v2p25-steps, .v2p25-rules, .v2p25-tracks ul, .v2p25-plan ul,
.v2p25-quote, .v2p25-quote blockquote, .v2p25-shot,
.v2p25-timeline, .v2p25-est__bars, .v2p25-scn, .v2p25-opts {
    margin: 0; padding: 0; list-style: none;
}

/* Hero facts: 4 plaques instead of the default 3 */
.v2 .v2gpr-facts.v2p25-facts { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* ---------- Section answer capsule ---------- */
.v2gpr-prose > p.v2p25-ans {
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.18);
    border-left: 3px solid var(--go);
    border-radius: 0 12px 12px 0;
    padding: 14px 18px;
    color: var(--ink);
    font-weight: 500;
}

/* ---------- Signature: the road from $25 to live ---------- */
.v2p25-road {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 22px 24px 18px;
    margin: 0 0 28px;
    box-shadow: 0 10px 30px -22px rgba(10, 16, 23, 0.2);
}
.v2p25-road__label {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--go-deep);
    margin-bottom: 18px;
}
.v2p25-road__label svg { width: 16px; height: 16px; }
.v2p25-road__track {
    display: flex;
    align-items: flex-start;
    gap: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 4px;
}
.v2p25-road__track::-webkit-scrollbar { display: none; }
.v2p25-stop {
    flex: 1 0 0;
    min-width: 104px;
    text-align: center;
    position: relative;
    padding: 0 6px;
}
.v2p25-stop:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 21px;
    left: 50%;
    width: 100%;
    height: 2px;
    background: repeating-linear-gradient(90deg, var(--line) 0 7px, transparent 7px 13px);
    z-index: 0;
}
.v2p25-stop.is-done:not(:last-child)::after {
    background: linear-gradient(90deg, var(--go), rgba(11, 138, 71, 0.3));
}
.v2p25-stop__dot {
    position: relative;
    z-index: 1;
    width: 44px; height: 44px;
    margin: 0 auto 11px;
    border-radius: 13px;
    display: flex; align-items: center; justify-content: center;
    background: var(--mist);
    border: 1px solid var(--line);
    color: var(--slate);
}
.v2p25-stop__dot svg { width: 22px; height: 22px; }
.v2p25-stop.is-done .v2p25-stop__dot {
    background: var(--go); border-color: var(--go); color: #fff;
}
.v2p25-stop.is-live .v2p25-stop__dot {
    background: var(--go-tint); border-color: rgba(11, 138, 71, 0.28); color: var(--go-deep);
}
.v2p25-stop.is-gate .v2p25-stop__dot {
    background: var(--ink); border-color: var(--ink); color: #fff;
}
.v2p25-stop.is-gate .v2p25-stop__dot::after {
    content: '';
    position: absolute;
    inset: -5px;
    border: 1.5px dashed rgba(10, 16, 23, 0.3);
    border-radius: 17px;
    animation: v2p25Pulse 2.6s ease-in-out infinite;
}
@keyframes v2p25Pulse { 0%, 100% { opacity: 0.3; transform: scale(1); } 50% { opacity: 0.75; transform: scale(1.06); } }
.v2p25-stop__t {
    display: block;
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 12.5px;
    line-height: 1.3;
    color: var(--ink);
}
.v2p25-stop.is-done .v2p25-stop__t, .v2p25-stop.is-live .v2p25-stop__t { color: var(--go-deep); }
.v2p25-stop__s { display: block; font-size: 9px; color: var(--faint); margin-top: 4px; }
.v2p25-road__foot {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid var(--line);
    color: var(--slate);
    font-size: 12.5px;
    line-height: 1.6;
}
.v2p25-road__foot svg { width: 15px; height: 15px; color: var(--ink); flex-shrink: 0; margin-top: 2px; }

/* ---------- $25 fee plaque + Google vs Apple ---------- */
.v2p25-fee {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 22px;
    align-items: center;
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.2);
    border-radius: 16px;
    padding: 22px 26px;
    margin: 24px 0;
}
.v2p25-fee__num { text-align: center; }
.v2p25-fee__v {
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 48px;
    line-height: 1;
    letter-spacing: -0.02em;
    color: var(--go-deep);
}
.v2p25-fee__v span { color: var(--go); }
.v2p25-fee__l { margin-top: 6px; font-size: 9.5px; color: var(--go-deep); }
.v2p25-fee__txt { border-left: 1px solid rgba(11, 138, 71, 0.22); padding-left: 22px; }
.v2p25-fee__txt p { margin: 0; font-size: 14.5px; line-height: 1.65; color: var(--ink); }
.v2p25-vs {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: stretch;
    border: 1px solid var(--line);
    border-radius: 16px;
    overflow: hidden;
    margin: 22px 0;
}
.v2p25-vs__side { padding: 22px 24px; text-align: center; }
.v2p25-vs__side--go { background: var(--go-tint); }
.v2p25-vs__side--alt { background: var(--mist); }
.v2p25-vs__who {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 10.5px; margin-bottom: 9px;
}
.v2p25-vs__who svg { width: 15px; height: 15px; }
.v2p25-vs__side--go .v2p25-vs__who { color: var(--go-deep); }
.v2p25-vs__side--alt .v2p25-vs__who { color: var(--slate); }
.v2p25-vs__amt {
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 28px;
    line-height: 1;
    color: var(--ink);
}
.v2p25-vs__amt small { display: block; font-family: var(--font-body); font-size: 11.5px; font-weight: 500; color: var(--slate); margin-top: 6px; }
.v2p25-vs__mid {
    display: flex; align-items: center; justify-content: center;
    background: var(--ink); color: #fff;
    font-size: 10.5px; padding: 0 15px;
}

/* ---------- 10-step vertical roadmap ---------- */
.v2p25-steps { counter-reset: p25step; margin: 24px 0; }
.v2p25-step {
    position: relative;
    padding: 0 0 20px 54px;
    border-left: 2px solid var(--line);
    margin-left: 17px;
}
.v2p25-step:last-child { border-left-color: transparent; padding-bottom: 0; }
.v2p25-step::before {
    counter-increment: p25step;
    content: counter(p25step);
    position: absolute;
    left: -18px; top: -2px;
    width: 34px; height: 34px;
    border-radius: 11px;
    background: var(--paper);
    border: 1.5px solid var(--go);
    color: var(--go-deep);
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 14px;
    display: flex; align-items: center; justify-content: center;
}
.v2p25-step.is-gate::before { background: var(--ink); border-color: var(--ink); color: #fff; }
.v2p25-step h4 {
    font-family: var(--font-display);
    font-weight: 650;
    font-size: 15.5px;
    color: var(--ink);
    margin: 0 0 4px;
    display: flex; align-items: center; gap: 9px; flex-wrap: wrap;
}
.v2p25-step__gate {
    font-size: 9px;
    background: var(--ink);
    color: #fff;
    padding: 3px 8px;
    border-radius: 6px;
    letter-spacing: 0.06em;
}
.v2p25-step p { font-size: 13.5px; color: var(--slate); margin: 0; line-height: 1.6; }

/* ---------- Two permanent decisions ---------- */
.v2p25-perm {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 22px 0;
}
.v2p25-perm__card {
    background: var(--paper);
    border: 1px solid var(--line);
    border-top: 3px solid var(--ink);
    border-radius: 14px;
    padding: 20px 22px;
}
.v2p25-perm__card h4 {
    display: flex; align-items: center; gap: 9px;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 15.5px;
    color: var(--ink);
    margin: 0 0 9px;
}
.v2p25-perm__ic {
    flex-shrink: 0;
    width: 32px; height: 32px; border-radius: 9px;
    background: var(--mist); border: 1px solid var(--line);
    display: flex; align-items: center; justify-content: center;
    color: var(--slate);
}
.v2p25-perm__ic svg { width: 18px; height: 18px; }
.v2p25-perm__card p { font-size: 13.5px; color: var(--slate); margin: 0; line-height: 1.65; }
.v2p25-perm__card code {
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 5px;
    padding: 1px 6px;
    font-size: 12px;
    color: var(--ink);
}
.v2p25-perm__flag {
    display: inline-block;
    margin-top: 12px;
    font-size: 9px;
    letter-spacing: 0.06em;
    padding: 4px 9px;
    border-radius: 6px;
    background: var(--mist);
    color: var(--slate);
    border: 1px solid var(--line);
}

/* ---------- Stat tiles ---------- */
.v2p25-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 24px 0;
}
.v2p25-stat {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 16px 12px;
    text-align: center;
}
.v2p25-stat b {
    display: block;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 23px;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: var(--ink);
}
.v2p25-stat__plus { color: var(--go); }
.v2p25-stat .v2-mono { display: block; font-size: 9.5px; color: var(--faint); margin-top: 7px; line-height: 1.4; }

/* ---------- Paperwork declaration cards ---------- */
.v2p25-paper {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 24px 0;
}
.v2p25-pcard {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 18px;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
}
.v2p25-pcard:hover { border-color: #C9D2DA; box-shadow: 0 8px 22px -18px rgba(10, 16, 23, 0.3); }
.v2p25-pcard__ic {
    width: 38px; height: 38px; border-radius: 11px;
    background: var(--mist); border: 1px solid var(--line);
    display: flex; align-items: center; justify-content: center;
    color: var(--slate);
    margin-bottom: 12px;
}
.v2p25-pcard__ic svg { width: 20px; height: 20px; }
.v2p25-pcard h4 { font-family: var(--font-display); font-weight: 700; font-size: 14.5px; color: var(--ink); margin: 0 0 5px; }
.v2p25-pcard p { font-size: 12.5px; color: var(--slate); margin: 0; line-height: 1.6; }
.v2p25-pcard__req {
    display: inline-block;
    margin-top: 10px;
    font-size: 9px;
    letter-spacing: 0.06em;
    padding: 3px 8px;
    border-radius: 6px;
    background: var(--go-tint);
    color: var(--go-deep);
}
.v2p25-pcard__req--cond { background: var(--mist); color: var(--slate); }

/* ---------- Verbatim Google quote ---------- */
.v2p25-quote {
    background: var(--mist);
    border: 1px solid var(--line);
    border-left: 3px solid var(--ink);
    border-radius: 0 14px 14px 0;
    padding: 20px 24px;
    margin: 24px 0;
}
.v2p25-quote__src {
    display: inline-flex; align-items: center; gap: 7px;
    color: var(--ink); font-size: 10.5px; margin-bottom: 10px;
}
.v2p25-quote__src svg { width: 15px; height: 15px; color: var(--go); }
.v2p25-quote blockquote {
    font-family: var(--font-display);
    font-weight: 500;
    font-size: 17px;
    line-height: 1.6;
    color: var(--ink);
    text-wrap: pretty;
}
.v2p25-quote cite { display: block; margin-top: 12px; font-style: normal; font-size: 12px; color: var(--faint); }

/* ---------- Evidence screenshot (clickable) ---------- */
.v2p25-shot { margin: 24px 0; }
.v2p25-shot > a {
    display: block;
    border: 1px solid var(--line);
    border-radius: 14px;
    overflow: hidden;
    text-decoration: none;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
}
.v2p25-shot > a:hover { border-color: #C9D2DA; box-shadow: 0 12px 30px -20px rgba(10, 16, 23, 0.28); }
.v2p25-shot__bar {
    display: flex; align-items: center; gap: 10px;
    padding: 9px 14px;
    background: var(--mist);
    border-bottom: 1px solid var(--line);
}
.v2p25-shot__dots { display: inline-flex; gap: 5px; flex-shrink: 0; }
.v2p25-shot__dots i { width: 8px; height: 8px; border-radius: 50%; background: #D4DAE0; }
.v2p25-shot__bar > .v2-mono { font-size: 9.5px; color: var(--faint); }
.v2p25-shot__zoom {
    display: inline-flex; align-items: center; gap: 5px;
    margin-left: auto;
    font-size: 9.5px;
    color: var(--go-deep);
}
.v2p25-shot__zoom svg { width: 13px; height: 13px; }
.v2p25-shot img { display: block; width: 100%; height: auto; }
.v2p25-shot figcaption { font-size: 12.5px; line-height: 1.55; color: var(--slate); margin: 10px 2px 0; }

/* ---------- Interactive shell (diagnoser + estimator) ---------- */
.v2p25-tool {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    overflow: hidden;
    margin: 26px 0;
    box-shadow: 0 10px 30px -22px rgba(10, 16, 23, 0.2);
}
.v2p25-tool__head {
    background: var(--mist);
    border-bottom: 1px solid var(--line);
    padding: 20px 24px;
}
.v2p25-tool__head .v2-mono {
    display: inline-flex; align-items: center; gap: 6px;
    color: var(--go-deep); font-size: 10px; margin-bottom: 8px;
}
.v2p25-tool__head .v2-mono svg { width: 14px; height: 14px; }
.v2p25-tool__head h3 { font-family: var(--font-display); font-weight: 700; font-size: 20px; color: var(--ink); margin: 0 0 4px; }
.v2p25-tool__head p { font-size: 13.5px; color: var(--slate); margin: 0; }
.v2p25-tool__body { padding: 22px 24px; }
.v2p25-tool__q { font-size: 10.5px; color: var(--faint); margin: 0 0 10px; }
.v2p25-tool__q.is-mt { margin-top: 20px; }
.v2p25-tool__result { margin-top: 20px; }

/* Scenario pills (diagnoser) */
.v2p25-scn { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.v2p25-scn__opt { cursor: pointer; }
.v2p25-scn__opt input { position: absolute; opacity: 0; width: 0; height: 0; }
.v2p25-scn__face {
    display: flex; align-items: center; gap: 11px;
    height: 100%;
    padding: 13px 15px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--mist);
    transition: border-color 0.18s ease, background 0.18s ease;
}
.v2p25-scn__face svg { width: 20px; height: 20px; color: var(--faint); flex-shrink: 0; }
.v2p25-scn__face span { font-size: 13px; font-weight: 500; color: var(--ink); line-height: 1.35; }
.v2p25-scn__opt:hover .v2p25-scn__face { border-color: #C9D2DA; background: var(--paper); }
.v2p25-scn__opt input:checked + .v2p25-scn__face {
    border-color: var(--go); background: var(--go-tint);
    box-shadow: 0 4px 14px -8px rgba(11, 138, 71, 0.4);
}
.v2p25-scn__opt input:checked + .v2p25-scn__face svg { color: var(--go); }
.v2p25-scn__opt input:focus-visible + .v2p25-scn__face { outline: 2px solid var(--go); outline-offset: 2px; }

/* Empty state */
.v2p25-empty {
    display: flex; align-items: center; gap: 10px;
    padding: 18px 20px;
    background: var(--mist);
    border: 1px dashed #C9D2DA;
    border-radius: 14px;
    color: var(--slate);
    font-size: 14px;
}
.v2p25-empty svg { width: 20px; height: 20px; color: var(--faint); flex-shrink: 0; }

/* Verdict cards */
.v2p25-verdict {
    display: none;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 14px;
    border-radius: 14px;
    padding: 20px 22px;
    border: 1px solid var(--line);
}
.v2p25-verdict.show { display: grid; animation: v2CardIn 0.35s cubic-bezier(0.22, 0.8, 0.26, 1) both; }
.v2p25-verdict__ic {
    width: 44px; height: 44px; border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    color: #fff;
}
.v2p25-verdict__ic svg { width: 24px; height: 24px; }
.v2p25-verdict h4 { font-family: var(--font-display); font-weight: 700; font-size: 16.5px; color: var(--ink); margin: 0 0 4px; }
.v2p25-verdict__tag {
    display: inline-block;
    font-size: 9.5px; letter-spacing: 0.06em;
    padding: 3px 8px; border-radius: 6px; margin-bottom: 10px;
}
.v2p25-verdict p { font-size: 13.5px; line-height: 1.65; color: var(--slate); margin: 0; }
.v2p25-verdict--counts { background: var(--go-tint); border-color: rgba(11, 138, 71, 0.2); }
.v2p25-verdict--counts .v2p25-verdict__ic { background: var(--go); }
.v2p25-verdict--counts .v2p25-verdict__tag { background: var(--paper); color: var(--go-deep); }
.v2p25-verdict--nocount { background: var(--mist); }
.v2p25-verdict--nocount .v2p25-verdict__ic { background: var(--ink); }
.v2p25-verdict--nocount .v2p25-verdict__tag { background: var(--paper); color: var(--ink); border: 1px solid var(--line); }
.v2p25-verdict--risky { background: #FFF7ED; border-color: rgba(180, 83, 9, 0.18); }
.v2p25-verdict--risky .v2p25-verdict__ic { background: #B45309; }
.v2p25-verdict--risky .v2p25-verdict__tag { background: #FFE7CC; color: #92400E; }

/* ---------- Rules list ---------- */
.v2p25-rules { margin: 16px 0; }
.v2p25-rules li {
    position: relative;
    padding: 0 0 0 26px;
    margin-bottom: 12px;
    font-size: 14.5px;
    line-height: 1.7;
    color: var(--slate);
}
.v2p25-rules li:last-child { margin-bottom: 0; }
.v2p25-rules li::before {
    content: '';
    position: absolute;
    left: 3px; top: 9px;
    width: 8px; height: 8px;
    border-radius: 50%;
    background: var(--go);
}
.v2p25-rules li strong { color: var(--ink); font-weight: 650; }

/* ---------- Testing tracks ---------- */
.v2p25-tracks {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin: 24px 0;
}
.v2p25-track {
    position: relative;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 24px 20px 18px;
}
.v2p25-track--key { border-color: var(--go); box-shadow: 0 12px 30px -20px rgba(11, 138, 71, 0.4); }
.v2p25-track__badge {
    position: absolute;
    top: -11px; left: 50%; transform: translateX(-50%);
    background: var(--go); color: #fff;
    font-family: var(--font-mono);
    font-size: 9.5px; letter-spacing: 0.06em; text-transform: uppercase;
    padding: 4px 12px; border-radius: 12px; white-space: nowrap;
}
.v2p25-track h3 { font-family: var(--font-display); font-weight: 700; font-size: 17px; color: var(--ink); margin: 0 0 4px; }
.v2p25-track--key h3 { color: var(--go-deep); }
.v2p25-track__cap { font-size: 11px; color: var(--faint); margin: 0 0 14px; }
.v2p25-track li {
    display: flex; align-items: flex-start; gap: 9px;
    font-size: 13px; line-height: 1.5; color: var(--slate);
    margin-bottom: 8px;
}
.v2p25-track li:last-child { margin-bottom: 0; }
.v2p25-track li .v2gpr-mk { margin-top: 2px; }
.v2p25-track__foot {
    margin-top: 14px; padding-top: 12px;
    border-top: 1px solid var(--line);
    font-family: var(--font-mono);
    font-size: 10px; letter-spacing: 0.04em; text-align: center;
}
.v2p25-track__foot--no { color: #B42318; }
.v2p25-track__foot--yes { color: var(--go-deep); }
.v2p25-track__foot--after { color: var(--faint); }

/* ---------- Mid-article promo (keeps .direct-answer) ---------- */
.v2p25-promo {
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.2);
    border-left: 3px solid var(--go);
    border-radius: 0 14px 14px 0;
    padding: 20px 24px;
    margin: 24px 0;
}
.v2p25-promo__tag {
    display: inline-flex; align-items: center; gap: 7px;
    color: var(--go-deep); font-size: 10.5px; margin-bottom: 10px;
}
.v2p25-promo__tag svg { width: 16px; height: 16px; }
.v2p25-promo__text { font-size: 14.5px; line-height: 1.7; color: var(--ink); margin: 0; }

/* ---------- Realistic timeline (gantt) ---------- */
.v2p25-timeline {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 24px 26px;
    margin: 24px 0;
    overflow-x: auto;
}
.v2p25-tl__inner { min-width: 540px; }
.v2p25-tl__scale { display: grid; grid-template-columns: 168px 1fr; gap: 14px; align-items: center; margin-bottom: 14px; }
.v2p25-tl__weeks {
    display: flex; justify-content: space-between;
    font-size: 9.5px; color: var(--faint);
    border-bottom: 1px dashed var(--line); padding-bottom: 6px;
}
.v2p25-tl__row { display: grid; grid-template-columns: 168px 1fr; gap: 14px; align-items: center; margin-bottom: 11px; }
.v2p25-tl__lab { font-size: 12.5px; font-weight: 600; color: var(--ink); line-height: 1.3; }
.v2p25-tl__lab small { display: block; font-size: 11px; font-weight: 400; color: var(--faint); }
.v2p25-tl__track { position: relative; height: 26px; background: var(--mist); border-radius: 7px; }
.v2p25-tl__bar {
    position: absolute; top: 0; height: 26px;
    border-radius: 7px;
    display: flex; align-items: center; padding: 0 10px;
    font-family: var(--font-mono);
    font-size: 9.5px; color: #fff;
    white-space: nowrap; overflow: hidden;
}
.v2p25-tl__bar.is-setup { background: #97A2AD; }
.v2p25-tl__bar.is-build { background: var(--slate); }
.v2p25-tl__bar.is-fixed { background: var(--ink); }
.v2p25-tl__bar.is-rev { background: #6E7B88; }
.v2p25-tl__bar.is-live { background: var(--go); }
.v2p25-tl__total {
    margin-top: 16px; padding-top: 14px;
    border-top: 1px solid var(--line);
    font-size: 13.5px; color: var(--ink);
    display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
}
.v2p25-tl__total svg { width: 16px; height: 16px; color: var(--go); flex-shrink: 0; }
.v2p25-tl__total strong { color: var(--go-deep); }

/* ---------- Estimator option pills + result ---------- */
.v2p25-opts { display: flex; flex-wrap: wrap; gap: 9px; }
.v2p25-opt { flex: 1 1 auto; min-width: 140px; cursor: pointer; }
.v2p25-opt input { position: absolute; opacity: 0; width: 0; height: 0; }
.v2p25-opt__face {
    display: flex; align-items: center; justify-content: center;
    padding: 12px 15px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--mist);
    font-size: 13.5px; font-weight: 500; color: var(--ink);
    text-align: center; line-height: 1.3;
    transition: border-color 0.18s ease, background 0.18s ease;
}
.v2p25-opt:hover .v2p25-opt__face { border-color: #C9D2DA; background: var(--paper); }
.v2p25-opt input:checked + .v2p25-opt__face {
    border-color: var(--go); background: var(--go-tint); color: var(--go-deep); font-weight: 600;
}
.v2p25-opt input:focus-visible + .v2p25-opt__face { outline: 2px solid var(--go); outline-offset: 2px; }
.v2p25-est {
    margin-top: 22px;
    border-radius: 14px;
    border: 1px solid var(--line);
    background: var(--mist);
    padding: 22px 24px;
    opacity: 0; transform: translateY(8px);
    transition: opacity 0.35s ease, transform 0.35s ease;
}
.v2p25-est.show { opacity: 1; transform: none; }
.v2p25-est__verdict { display: flex; align-items: center; gap: 16px; margin-bottom: 18px; }
.v2p25-est__ring {
    flex-shrink: 0;
    width: 82px; height: 82px; border-radius: 50%;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    background: conic-gradient(var(--go) var(--p25deg, 0deg), #E1E7EC 0deg);
    position: relative;
}
.v2p25-est__ring::before { content: ''; position: absolute; inset: 7px; background: var(--paper); border-radius: 50%; }
.v2p25-est__ring b { position: relative; z-index: 1; font-family: var(--font-display); font-size: 22px; font-weight: 800; color: var(--go-deep); line-height: 1; }
.v2p25-est__ring span { position: relative; z-index: 1; font-size: 8.5px; color: var(--faint); margin-top: 2px; }
.v2p25-est__headline h4 { font-family: var(--font-display); font-weight: 800; font-size: 19px; color: var(--ink); margin: 0 0 3px; line-height: 1.2; }
.v2p25-est__headline p { font-size: 13px; color: var(--slate); margin: 0; line-height: 1.5; }
.v2p25-est__bars { display: flex; flex-direction: column; gap: 9px; }
.v2p25-est__bar { display: grid; grid-template-columns: 118px 1fr auto; gap: 10px; align-items: center; font-size: 12.5px; }
.v2p25-est__lab { color: var(--slate); font-weight: 600; }
.v2p25-est__track { height: 11px; background: #E1E7EC; border-radius: 6px; overflow: hidden; }
.v2p25-est__fill { display: block; height: 100%; width: 0; border-radius: 6px; background: var(--go); transition: width 0.5s cubic-bezier(0.2, 0.8, 0.2, 1); }
.v2p25-est__fill.is-fixed { background: var(--ink); }
.v2p25-est__fill.is-rev { background: #6E7B88; }
.v2p25-est__val { font-family: var(--font-mono); font-size: 11px; color: var(--ink); white-space: nowrap; }
.v2p25-est__note { margin: 16px 0 0; padding-top: 14px; border-top: 1px solid var(--line); font-size: 13px; color: var(--slate); line-height: 1.65; }
.v2p25-est__note b { color: var(--go-deep); }

/* ---------- 2026 change cards ---------- */
.v2p25-changes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 24px 0; }
.v2p25-change {
    display: flex; gap: 13px; align-items: flex-start;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 18px 20px;
}
.v2p25-change__ic {
    flex-shrink: 0;
    width: 38px; height: 38px; border-radius: 11px;
    background: var(--go-tint); border: 1px solid rgba(11, 138, 71, 0.2);
    display: flex; align-items: center; justify-content: center;
    color: var(--go);
}
.v2p25-change__ic svg { width: 20px; height: 20px; }
.v2p25-change__body h4 { font-family: var(--font-display); font-weight: 700; font-size: 14.5px; color: var(--ink); margin: 0 0 4px; line-height: 1.35; }
.v2p25-change__body p { font-size: 12.5px; color: var(--slate); margin: 0; line-height: 1.55; }
.v2p25-change__date {
    display: inline-block; margin-top: 8px;
    font-size: 9px; letter-spacing: 0.05em;
    padding: 3px 8px; border-radius: 6px;
    background: var(--mist); color: var(--slate); border: 1px solid var(--line);
}

/* ---------- Common mistakes ---------- */
.v2p25-mistakes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 24px 0; }
.v2p25-mis {
    display: flex; gap: 13px; align-items: flex-start;
    background: var(--paper);
    border: 1px solid var(--line);
    border-left: 3px solid #C9D2DA;
    border-radius: 12px;
    padding: 16px 18px;
}
.v2p25-mis__ic {
    flex-shrink: 0;
    width: 34px; height: 34px; border-radius: 10px;
    background: var(--mist);
    display: flex; align-items: center; justify-content: center;
    color: var(--slate);
}
.v2p25-mis__ic svg { width: 18px; height: 18px; }
.v2p25-mis h4 { font-family: var(--font-display); font-weight: 700; font-size: 14px; color: var(--ink); margin: 0 0 3px; line-height: 1.35; }
.v2p25-mis p { font-size: 12.5px; color: var(--slate); margin: 0; line-height: 1.55; }

/* ---------- Highlight tiles ---------- */
.v2p25-hl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 24px 0; }
.v2p25-hl__tile {
    display: flex; flex-direction: column; gap: 4px;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 16px;
}
.v2p25-hl__ic {
    width: 36px; height: 36px; border-radius: 10px;
    background: var(--paper); border: 1px solid var(--line);
    display: flex; align-items: center; justify-content: center;
    color: var(--slate);
    margin-bottom: 6px;
}
.v2p25-hl__ic svg { width: 19px; height: 19px; }
.v2p25-hl__ic.is-go { background: var(--go-tint); border-color: rgba(11, 138, 71, 0.22); color: var(--go); }
.v2p25-hl__tile b { font-family: var(--font-display); font-weight: 700; font-size: 16px; color: var(--ink); }
.v2p25-hl__tile .v2-mono { font-size: 10.5px; color: var(--faint); }

/* ---------- DIY vs managed comparison table ---------- */
.v2p25-cmp {
    border: 1px solid var(--line);
    border-radius: 16px;
    overflow: hidden;
    margin: 22px 0;
}
.v2p25-cmp table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.v2p25-cmp th {
    text-align: left;
    padding: 14px 16px;
    font-size: 10px; letter-spacing: 0.06em;
    background: var(--mist);
    color: var(--slate);
    border-bottom: 1px solid var(--line);
}
.v2p25-cmp th.v2p25-cmp__mgd { background: var(--go-tint); color: var(--go-deep); }
.v2p25-cmp td {
    padding: 13px 16px;
    border-top: 1px solid var(--line);
    color: var(--slate);
    line-height: 1.5;
    vertical-align: top;
}
.v2p25-cmp tbody tr:first-child td { border-top: none; }
.v2p25-cmp td.v2p25-cmp__feat { font-weight: 650; color: var(--ink); }
.v2p25-cmp td.v2p25-cmp__mgd { background: var(--go-tint); color: var(--ink); }
.v2p25-cmp td .v2gpr-mk { vertical-align: -2px; margin-right: 7px; }
.v2p25-cmp__dash {
    display: inline-block; vertical-align: middle;
    width: 14px; height: 2px; border-radius: 2px;
    background: #C9D2DA; margin-right: 7px;
}

/* ---------- Current packages lineup ---------- */
.v2p25-plans {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin: 18px 0 8px;
    align-items: start;
}
.v2p25-plan {
    position: relative;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 26px 22px 22px;
    text-align: center;
}
.v2p25-plan--key { border-color: var(--go); box-shadow: 0 14px 34px -22px rgba(11, 138, 71, 0.42); }
.v2p25-plan__badge {
    position: absolute;
    top: -11px; left: 50%; transform: translateX(-50%);
    background: var(--go); color: #fff;
    font-family: var(--font-mono);
    font-size: 9.5px; letter-spacing: 0.06em; text-transform: uppercase;
    padding: 4px 12px; border-radius: 12px; white-space: nowrap;
}
.v2p25-plan__name { font-family: var(--font-display); font-weight: 700; font-size: 17px; color: var(--ink); }
.v2p25-plan__testers { font-size: 10.5px; color: var(--faint); margin: 3px 0 8px; }
.v2p25-plan__amount {
    font-family: var(--font-display); font-weight: 800; font-size: 34px; line-height: 1;
    letter-spacing: -0.02em; color: var(--ink); margin-bottom: 16px;
}
.v2p25-plan ul { text-align: left; margin: 0 0 18px; }
.v2p25-plan li {
    display: flex; align-items: flex-start; gap: 9px;
    font-size: 13px; line-height: 1.5; color: var(--slate);
    margin-bottom: 9px;
}
.v2p25-plan li:last-child { margin-bottom: 0; }
.v2p25-plan li .v2gpr-mk { margin-top: 2px; }
.v2p25-plan__btn {
    display: block; width: 100%;
    padding: 12px 16px; border-radius: 11px;
    background: var(--mist); border: 1px solid var(--line);
    color: var(--ink);
    font-family: var(--font-body); font-size: 14px; font-weight: 600;
    text-decoration: none; text-align: center;
    transition: border-color 0.18s ease, background 0.18s ease;
}
.v2p25-plan__btn:hover { border-color: #C9D2DA; background: var(--paper); }
.v2p25-plan__btn--primary { background: var(--go); border-color: var(--go); color: #fff; }
.v2p25-plan__btn--primary:hover { background: var(--go-deep); border-color: var(--go-deep); color: #fff; }

/* ---------- Journey progress tracker ---------- */
.v2p25-journey {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    overflow: hidden;
    margin: 26px 0;
    box-shadow: 0 10px 30px -22px rgba(10, 16, 23, 0.2);
}
.v2p25-journey__head { background: var(--mist); border-bottom: 1px solid var(--line); padding: 20px 24px; }
.v2p25-journey__head h3 {
    display: flex; align-items: center; gap: 9px;
    font-family: var(--font-display); font-weight: 700; font-size: 18px; color: var(--ink);
    margin: 0 0 13px;
}
.v2p25-journey__head h3 svg { width: 19px; height: 19px; color: var(--go); }
.v2p25-journey__bar { height: 10px; background: #E1E7EC; border-radius: 6px; overflow: hidden; }
.v2p25-journey__fill { height: 100%; width: 0; background: var(--go); border-radius: 6px; transition: width 0.45s cubic-bezier(0.2, 0.8, 0.2, 1); }
.v2p25-journey__pct { font-size: 11px; color: var(--slate); margin-top: 9px; }
.v2p25-journey__pct b { color: var(--go-deep); }
.v2p25-journey__body { padding: 8px 22px 14px; }
.v2p25-jck {
    display: flex; align-items: flex-start; gap: 13px;
    padding: 11px 6px;
    border-bottom: 1px solid var(--line);
    cursor: pointer;
}
.v2p25-jck:last-child { border-bottom: none; }
.v2p25-jck input { position: absolute; opacity: 0; width: 0; height: 0; }
.v2p25-jck__box {
    flex-shrink: 0;
    width: 23px; height: 23px; border-radius: 7px;
    border: 1.5px solid #C9D2DA;
    display: flex; align-items: center; justify-content: center;
    color: #fff; margin-top: 1px;
    transition: background 0.18s ease, border-color 0.18s ease;
}
.v2p25-jck__box svg { width: 14px; height: 14px; opacity: 0; transform: scale(0.6); transition: opacity 0.18s ease, transform 0.18s ease; }
.v2p25-jck input:checked + .v2p25-jck__box { background: var(--go); border-color: var(--go); }
.v2p25-jck input:checked + .v2p25-jck__box svg { opacity: 1; transform: scale(1); }
.v2p25-jck input:focus-visible + .v2p25-jck__box { outline: 2px solid var(--go); outline-offset: 2px; }
.v2p25-jck__txt { font-size: 13.5px; color: var(--slate); line-height: 1.5; }
.v2p25-jck__txt b { color: var(--ink); font-weight: 650; }
.v2p25-jck input:checked ~ .v2p25-jck__txt { color: var(--faint); text-decoration: line-through; }
.v2p25-jck input:checked ~ .v2p25-jck__txt b { color: var(--faint); }
.v2p25-jck__tag {
    display: inline-block; margin-left: 5px;
    font-size: 8.5px; letter-spacing: 0.05em;
    padding: 2px 7px; border-radius: 5px;
    background: var(--ink); color: #fff; vertical-align: middle;
}
.v2p25-jck input:checked ~ .v2p25-jck__txt .v2p25-jck__tag { background: var(--mist); color: var(--faint); }
.v2p25-journey__msg {
    margin: 6px 22px 20px;
    padding: 14px 18px;
    border-radius: 12px;
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.2);
    font-size: 13px; line-height: 1.6; color: var(--ink);
}
.v2p25-journey__msg b { color: var(--go-deep); }

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
    .v2p25-paper, .v2p25-tracks, .v2p25-plans { grid-template-columns: minmax(0, 1fr); }
    .v2p25-tracks .v2p25-track--key { order: -1; margin-top: 6px; }
    .v2p25-plans .v2p25-plan--key { order: -1; margin-top: 6px; }
}
@media (max-width: 768px) {
    .v2p25-fee { grid-template-columns: minmax(0, 1fr); text-align: center; gap: 14px; }
    .v2p25-fee__txt { border-left: none; border-top: 1px solid rgba(11, 138, 71, 0.22); padding-left: 0; padding-top: 16px; }
    .v2p25-vs { grid-template-columns: minmax(0, 1fr); }
    .v2p25-vs__mid { padding: 8px 0; }
    .v2p25-perm, .v2p25-changes, .v2p25-mistakes, .v2p25-hl { grid-template-columns: minmax(0, 1fr); }
    .v2p25-scn { grid-template-columns: minmax(0, 1fr); }
    .v2p25-est__bar { grid-template-columns: 96px 1fr auto; gap: 8px; }
    .v2p25-road, .v2p25-timeline, .v2p25-tool, .v2p25-journey { border-radius: 16px; }
    .v2p25-timeline { padding: 20px 16px; }
    .v2p25-tl__inner { min-width: 460px; }
    .v2p25-tl__scale, .v2p25-tl__row { grid-template-columns: 116px 1fr; gap: 10px; }
}
@media (max-width: 640px) {
    .v2 .v2gpr-facts.v2p25-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .v2p25-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .v2p25-fee, .v2p25-perm__card, .v2p25-track, .v2p25-plan { padding: 18px 16px; }
    .v2p25-tool__head, .v2p25-journey__head { padding: 16px 18px; }
    .v2p25-tool__body { padding: 18px; }
    .v2p25-journey__body { padding: 6px 16px 12px; }
    .v2p25-journey__msg { margin: 6px 16px 16px; }
    .v2p25-verdict { grid-template-columns: minmax(0, 1fr); gap: 10px; padding: 18px; }
    .v2p25-opt { min-width: calc(50% - 5px); }
    .v2p25-est { padding: 18px; }
    .v2p25-est__verdict { flex-direction: column; text-align: center; gap: 12px; }
    .v2p25-cmp table { min-width: 0; }
    .v2p25-road__foot { font-size: 12px; }
}
@media (max-width: 380px) {
    .v2p25-stats { grid-template-columns: minmax(0, 1fr); }
    .v2p25-opt { min-width: 100%; }
    .v2p25-est__bar { grid-template-columns: 84px 1fr auto; }
}

/* ============================================================
   BLOG OWN V2  -  "Can I Be My Own Google Play Tester?"
   Unique internal components for the can-i-be-my-own-tester
   post. Authored MOBILE-FIRST: base rules target phones, then
   min-width queries add columns. Rose is the danger signal and
   is used deliberately (the verdict panel is the one bold rose
   moment); amber marks intermediate risk, green marks safe.
   Light components only - the two dark moments on the page are
   the shared .v2gpr-qa capsule and the final .v2-cta band.
   Widget hooks the interactive JS depends on (.v2own-opt.on,
   .v2own-gauge__fill.pass, .v2own-simv.warn/.fail, .own-chip,
   .own-res*) are styled here too.
============================================================ */
.v2own-verdict,
.v2own-glance,
.v2own-sim,
.v2own-valid,
.v2own-key,
.v2own-try,
.v2own-warn,
.v2own-tracks,
.v2own-policy,
.v2own-diag,
.v2own-cascade,
.v2own-signals,
.v2own-two,
.v2own-myth,
.v2own-steps,
.v2own-cmp,
.v2own-q3,
.v2own-band,
.v2own-feat,
.v2own-pricing,
.v2own-fig {
    --rose:      #B42318;
    --rose-deep: #912018;
    --rose-tint: #FDF1F0;
    --rose-line: #F3C9C4;
    --amber-tint:#FEF6E7;
    --own-shadow: 0 1px 2px rgba(10,16,23,.04), 0 10px 26px -14px rgba(10,16,23,.12);
    --own-shadow-lg: 0 2px 6px rgba(10,16,23,.05), 0 22px 46px -20px rgba(10,16,23,.20);
    margin: 30px 0;
}

/* Hero tweaks (rose accent) */
.v2own-eyebrow { color: var(--rose); }
.v2own-eyebrow::before { background: var(--rose) !important; }
.v2own-facts .v2own-fact--no b { color: var(--rose); }

/* Quick-answer highlight tints (inside the dark .v2gpr-qa) */
.v2gpr-qa .own-qk-no   { color: #FDA4AF; }
.v2gpr-qa .own-qk-key  { color: #FCD34D; }
.v2gpr-qa .own-qk-date { color: #A5B4FC; }

/* ---------- Verdict panel (the one rose) ---------- */
.v2own-verdict {
    border: 1px solid var(--rose-line);
    border-radius: 18px;
    background:
        radial-gradient(120% 90% at 100% 0, var(--rose-tint) 0, rgba(253,241,240,0) 60%),
        var(--paper);
    box-shadow: var(--own-shadow-lg);
    overflow: hidden;
}
.v2own-verdict__main { padding: 22px 20px 20px; }
.v2own-verdict__tag {
    display: inline-flex; align-items: center; gap: 8px;
    color: var(--rose); font-size: 11px;
    margin: 0 0 14px;
}
.v2own-verdict__tag svg { width: 16px; height: 16px; }
.v2own-verdict__no { display: flex; align-items: center; gap: 14px; }
.v2own-verdict__seal {
    flex-shrink: 0; width: 52px; height: 52px; color: var(--rose);
    display: grid; place-items: center;
    background: var(--rose-tint); border-radius: 50%;
    transform: rotate(-8deg);
}
.v2own-verdict__seal svg { width: 34px; height: 34px; }
.v2own-verdict__h {
    font-family: var(--font-display); font-weight: 700;
    font-size: clamp(24px, 6.4vw, 34px); line-height: 1.08;
    color: var(--ink); margin: 0; letter-spacing: -.01em;
}
.v2own-verdict__sub {
    margin: 12px 0 0; color: var(--rose-deep);
    font-weight: 650; font-size: 15px;
}
.v2own-verdict__p { margin: 10px 0 0; color: var(--slate); font-size: 15.5px; line-height: 1.72; }
.v2own-verdict__can {
    margin: 18px 0 0; padding: 16px 16px 14px;
    background: var(--go-tint); border: 1px solid #C9EAD6;
    border-radius: 12px;
}
.v2own-verdict__canlbl {
    display: inline-flex; align-items: center; gap: 7px;
    color: var(--go-deep); font-size: 11px; margin: 0 0 8px;
}
.v2own-verdict__canlbl svg { width: 15px; height: 15px; }
.v2own-verdict__big { margin: 0; color: var(--ink); font-size: 17px; font-weight: 600; }
.v2own-verdict__big b { color: var(--go-deep); }
.v2own-verdict__sm { margin: 6px 0 0; color: var(--slate); font-size: 14px; line-height: 1.6; }
.v2own-verdict__strip {
    display: grid; grid-template-columns: minmax(0,1fr); gap: 1px;
    background: var(--rose-line);
    border-top: 1px solid var(--rose-line);
}
.v2own-tile { display: flex; gap: 12px; padding: 16px 20px; background: var(--paper); }
.v2own-tile__ic {
    flex-shrink: 0; width: 34px; height: 34px; border-radius: 9px;
    display: grid; place-items: center;
}
.v2own-tile__ic svg { width: 20px; height: 20px; }
.v2own-tile.is-ok  .v2own-tile__ic { background: var(--go-tint); color: var(--go-deep); }
.v2own-tile.is-no  .v2own-tile__ic { background: var(--rose-tint); color: var(--rose); }
.v2own-tile__tx { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.v2own-tile__l { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; }
.v2own-tile.is-ok .v2own-tile__l { color: var(--go-deep); }
.v2own-tile.is-no .v2own-tile__l { color: var(--rose); }
.v2own-tile__t { font-weight: 650; color: var(--ink); font-size: 14.5px; }
.v2own-tile__s { color: var(--faint); font-size: 12.5px; line-height: 1.5; }

/* ---------- At-a-glance spec sheet ---------- */
.v2own-glance {
    border: 1px solid var(--line); border-radius: 14px;
    background: var(--paper); box-shadow: var(--own-shadow); overflow: hidden;
}
.v2own-glance__head {
    display: flex; align-items: center; gap: 8px;
    padding: 13px 16px; color: var(--ink); font-size: 11.5px;
    background: var(--mist); border-bottom: 1px solid var(--line);
}
.v2own-glance__head svg { width: 16px; height: 16px; color: var(--go); }
.v2own-glance__rows { margin: 0; }
.v2own-glance__row {
    display: grid; grid-template-columns: minmax(0,1fr);
    gap: 3px; padding: 12px 16px;
    border-bottom: 1px solid var(--line);
}
.v2own-glance__row:last-child { border-bottom: 0; }
.v2own-glance__row dt { color: var(--slate); font-size: 13px; font-weight: 600; }
.v2own-glance__row dd { margin: 0; color: var(--ink); font-size: 14px; }
.v2own-glance__row dd b { color: var(--ink); font-weight: 700; }
.v2own-glance__row dd.is-good { color: var(--go-deep); }
.v2own-glance__row dd.is-good b { color: var(--go-deep); }
.v2own-glance__row dd.is-bad b { color: var(--rose); }

/* ---------- Simulator (dual-gauge lab console) ---------- */
.v2own-sim, .v2own-diag {
    border: 1px solid var(--line); border-radius: 16px;
    background: var(--paper); box-shadow: var(--own-shadow-lg); overflow: hidden;
}
.v2own-sim__head, .v2own-diag__head {
    padding: 18px 18px 16px;
    background: linear-gradient(180deg, var(--mist), var(--paper));
    border-bottom: 1px solid var(--line);
}
.v2own-sim__tag, .v2own-diag__tag {
    display: inline-flex; align-items: center; gap: 7px;
    color: var(--go-deep); font-size: 11px; margin: 0 0 8px;
}
.v2own-sim__tag svg, .v2own-diag__tag svg { width: 15px; height: 15px; }
.v2own-sim__head h3, .v2own-diag__head h3 {
    font-family: var(--font-display); font-weight: 700;
    font-size: 20px; color: var(--ink); margin: 0 0 5px; letter-spacing: -.01em;
}
.v2own-sim__head p, .v2own-diag__head p { margin: 0; color: var(--slate); font-size: 13.5px; line-height: 1.55; }
.v2own-sim__body, .v2own-diag__body { padding: 18px; }
.v2own-sim__lead, .v2own-diag__q {
    display: flex; align-items: center; gap: 7px;
    margin: 0 0 12px; color: var(--faint); font-size: 11px;
}
.v2own-sim__opts { display: grid; grid-template-columns: minmax(0,1fr); gap: 8px; }
.v2own-opt {
    display: flex; align-items: center; gap: 11px; text-align: left;
    padding: 12px 13px; border: 1.5px solid var(--line); border-radius: 11px;
    background: var(--paper); cursor: pointer; width: 100%;
    transition: border-color .18s, background .18s, box-shadow .18s;
    -webkit-tap-highlight-color: transparent;
}
.v2own-opt:hover { border-color: #CDD5DD; }
.v2own-opt__box {
    flex-shrink: 0; width: 22px; height: 22px; border-radius: 6px;
    border: 1.5px solid var(--line); display: grid; place-items: center;
    color: transparent; transition: all .18s;
}
.v2own-opt__box svg { width: 14px; height: 14px; }
.v2own-opt__tx { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.v2own-opt .ot { font-weight: 650; color: var(--ink); font-size: 14px; }
.v2own-opt .os { color: var(--faint); font-size: 12px; line-height: 1.45; }
.v2own-opt.on { border-color: var(--go); background: var(--go-tint); box-shadow: inset 0 0 0 1px var(--go); }
.v2own-opt.on .v2own-opt__box { background: var(--go); border-color: var(--go); color: #fff; }
.v2own-sim__result { margin-top: 16px; }
.v2own-gauges { display: grid; grid-template-columns: minmax(0,1fr); gap: 14px; }
.v2own-gauge__top { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 7px; }
.v2own-gauge__lab { color: var(--slate); font-size: 12.5px; font-weight: 600; }
.v2own-gauge__val { font-family: var(--font-mono); font-size: 13px; font-weight: 600; color: var(--ink); }
.v2own-gauge__val.pass { color: var(--go-deep); }
.v2own-gauge__track { height: 9px; border-radius: 99px; background: var(--mist); overflow: hidden; box-shadow: inset 0 0 0 1px var(--line); }
.v2own-gauge__fill { height: 100%; width: 0; border-radius: 99px; transition: width .5s cubic-bezier(.16,1,.3,1); }
.v2own-gauge.is-testers .v2own-gauge__fill { background: linear-gradient(90deg, #9AA4AF, var(--slate)); }
.v2own-gauge.is-testers .v2own-gauge__fill.pass { background: linear-gradient(90deg, var(--go), var(--go-deep)); }
.v2own-gauge.is-risk .v2own-gauge__fill { background: linear-gradient(90deg, var(--star), var(--rose)); }
.v2own-gauge__note { margin: 7px 0 0; color: var(--faint); font-size: 11.5px; line-height: 1.5; }
.v2own-simv {
    display: flex; gap: 12px; align-items: flex-start;
    margin-top: 16px; padding: 15px 16px; border-radius: 12px;
    border: 1px solid var(--line); background: var(--mist);
}
.v2own-simv .vi { flex-shrink: 0; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 8px; background: var(--paper); }
.v2own-simv .vi svg { width: 19px; height: 19px; }
.v2own-simv .vt { margin: 0 0 3px; font-weight: 700; font-size: 15px; color: var(--ink); }
.v2own-simv .vd { margin: 0; font-size: 13px; line-height: 1.6; color: var(--slate); }
.v2own-simv.empty { color: var(--faint); }
.v2own-simv.empty .vi { color: var(--faint); }
.v2own-simv.warn { background: var(--amber-tint); border-color: #F5DFA8; }
.v2own-simv.warn .vi { color: #B77908; }
.v2own-simv.fail { background: var(--rose-tint); border-color: var(--rose-line); }
.v2own-simv.fail .vi { color: var(--rose); }
.v2own-simv.fail .vd b { color: var(--rose-deep); }
.v2own-sim__foot, .v2own-diag__foot {
    display: flex; gap: 8px; align-items: flex-start;
    margin: 14px 0 0; color: var(--faint); font-size: 11.5px; line-height: 1.5;
}
.v2own-sim__foot svg, .v2own-diag__foot svg { flex-shrink: 0; width: 15px; height: 15px; margin-top: 1px; }

/* ---------- Valid-tester spec cards ---------- */
.v2own-valid { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; }
.v2own-valid__card {
    position: relative; overflow: hidden;
    padding: 18px 18px 16px; border: 1px solid var(--line);
    border-radius: 13px; background: var(--paper); box-shadow: var(--own-shadow);
}
.v2own-valid__n {
    position: absolute; top: -6px; right: 6px;
    font-family: var(--font-display); font-weight: 800;
    font-size: 68px; line-height: 1; color: var(--mist);
    z-index: 0; pointer-events: none;
}
.v2own-valid__card h3 {
    position: relative; z-index: 1;
    display: flex; align-items: center; gap: 8px;
    font-family: var(--font-display); font-size: 16px; font-weight: 700;
    color: var(--ink); margin: 0 0 6px;
}
.v2own-valid__card h3 svg { width: 19px; height: 19px; color: var(--go); flex-shrink: 0; }
.v2own-valid__card p { position: relative; z-index: 1; margin: 0; color: var(--slate); font-size: 13.5px; line-height: 1.6; }
.v2own-valid__card.is-hidden-bar { border-color: var(--rose-line); background: var(--rose-tint); }
.v2own-valid__card.is-hidden-bar .v2own-valid__n { color: #F8D7D3; }
.v2own-valid__card.is-hidden-bar h3 svg { color: var(--rose); }
.v2own-valid__card.is-hidden-bar p strong { color: var(--rose-deep); }

/* ---------- Key callout ---------- */
.v2own-key, .v2own-warn {
    border: 1px solid var(--line); border-radius: 12px;
    background: var(--paper); box-shadow: var(--own-shadow);
}
.v2own-key { display: flex; gap: 12px; padding: 16px 18px; border-left: 3px solid var(--go); background: var(--go-tint); border-color: #C9EAD6; }
.v2own-key__ic { flex-shrink: 0; width: 26px; height: 26px; color: var(--go-deep); }
.v2own-key__ic svg { width: 26px; height: 26px; }
.v2own-key p { margin: 0; color: var(--ink); font-size: 14px; line-height: 1.65; }
.v2own-key p b { color: var(--go-deep); }

/* ---------- Rejected-attempts list ---------- */
.v2own-try {
    border: 1px solid var(--line); border-radius: 13px;
    background: var(--paper); box-shadow: var(--own-shadow); overflow: hidden;
}
.v2own-try__row { display: flex; gap: 12px; padding: 14px 16px; border-bottom: 1px solid var(--line); align-items: flex-start; }
.v2own-try__x {
    flex-shrink: 0; width: 26px; height: 26px; border-radius: 50%;
    display: grid; place-items: center; color: var(--rose);
    background: var(--rose-tint);
}
.v2own-try__x svg { width: 15px; height: 15px; }
.v2own-try__tx { min-width: 0; }
.v2own-try__what { margin: 0; color: var(--slate); font-size: 14px; }
.v2own-try__what b { color: var(--ink); font-weight: 700; }
.v2own-try__why { margin: 3px 0 0; color: var(--faint); font-size: 13px; line-height: 1.55; }
.v2own-try__foot {
    display: flex; gap: 8px; align-items: flex-start;
    margin: 0; padding: 13px 16px; background: var(--mist);
    color: var(--faint); font-size: 11.5px; line-height: 1.5;
}
.v2own-try__foot svg { flex-shrink: 0; width: 15px; height: 15px; margin-top: 1px; }

/* ---------- Warning callout (rose) ---------- */
.v2own-warn { border-left: 3px solid var(--rose); background: var(--rose-tint); border-color: var(--rose-line); padding: 6px 18px; }
.v2own-warn__row { display: flex; gap: 12px; padding: 12px 0; align-items: flex-start; border-bottom: 1px solid var(--rose-line); }
.v2own-warn__row:last-child { border-bottom: 0; }
.v2own-warn--solo .v2own-warn__row { border-bottom: 0; }
.v2own-warn__ic { flex-shrink: 0; width: 22px; height: 22px; color: var(--rose); margin-top: 1px; }
.v2own-warn__ic svg { width: 22px; height: 22px; }
.v2own-warn p { margin: 0; color: var(--rose-deep); font-size: 13.5px; line-height: 1.65; }
.v2own-warn p strong { color: var(--rose-deep); }

/* ---------- Testing-track lanes ---------- */
.v2own-tracks { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; }
.v2own-track {
    position: relative; padding: 18px 16px 0; border: 1px solid var(--line);
    border-radius: 13px; background: var(--paper); box-shadow: var(--own-shadow);
    overflow: hidden; display: flex; flex-direction: column;
}
.v2own-track__type { color: var(--faint); font-size: 10px; margin: 0 0 8px; }
.v2own-track h3 {
    display: flex; align-items: center; gap: 8px;
    font-family: var(--font-display); font-size: 18px; font-weight: 700;
    color: var(--ink); margin: 0;
}
.v2own-track__ic { width: 26px; height: 26px; display: grid; place-items: center; color: var(--slate); flex-shrink: 0; }
.v2own-track__ic svg { width: 22px; height: 22px; }
.v2own-track__cap { margin: 4px 0 12px; color: var(--faint); font-size: 12.5px; }
.v2own-track__row { display: flex; align-items: flex-start; gap: 8px; padding: 6px 0; color: var(--slate); font-size: 13.5px; line-height: 1.45; }
.v2own-track__row i { flex-shrink: 0; width: 16px; height: 16px; margin-top: 1px; display: grid; place-items: center; }
.v2own-track__row i svg { width: 16px; height: 16px; }
.v2own-track__row i.is-ok { color: var(--go); }
.v2own-track__row i.is-no { color: var(--rose); }
.v2own-track__row i.is-info { color: var(--star); }
.v2own-track__foot {
    margin: 12px -16px 0; padding: 11px 16px; font-family: var(--font-mono);
    font-size: 11px; letter-spacing: .03em; text-transform: uppercase; text-align: center;
}
.v2own-track__foot.is-no  { background: var(--rose-tint); color: var(--rose); }
.v2own-track__foot.is-yes { background: var(--go-tint); color: var(--go-deep); }
.v2own-track__foot.is-opt { background: var(--amber-tint); color: #B77908; }
.v2own-track.is-key { border-color: var(--go); box-shadow: 0 0 0 1px var(--go), var(--own-shadow-lg); }
.v2own-track__badge {
    position: absolute; top: 0; right: 0;
    background: var(--go); color: #fff; font-family: var(--font-mono);
    font-size: 10px; letter-spacing: .04em; text-transform: uppercase;
    padding: 5px 11px; border-bottom-left-radius: 10px;
}
.v2own-track.is-key h3 .v2own-track__ic { color: var(--rose); }

/* ---------- Policy citation cards ---------- */
.v2own-policy { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; }
.v2own-policy__card {
    position: relative; overflow: hidden;
    padding: 18px; border: 1px solid var(--line); border-radius: 13px;
    background: var(--paper); box-shadow: var(--own-shadow);
}
.v2own-policy__quote {
    position: absolute; top: 2px; right: 14px;
    font-family: var(--font-display); font-size: 74px; line-height: 1;
    color: var(--mist); z-index: 0; pointer-events: none;
}
.v2own-policy__ic {
    position: relative; z-index: 1; display: grid; place-items: center;
    width: 40px; height: 40px; border-radius: 10px;
    background: var(--rose-tint); color: var(--rose); margin-bottom: 12px;
}
.v2own-policy__ic svg { width: 24px; height: 24px; }
.v2own-policy__card h3 {
    position: relative; z-index: 1;
    font-family: var(--font-display); font-size: 16.5px; font-weight: 700;
    color: var(--ink); margin: 0 0 8px;
}
.v2own-policy__card .q {
    position: relative; z-index: 1; display: block;
    color: var(--ink); font-size: 13.5px; line-height: 1.6; font-style: italic;
    padding-left: 12px; border-left: 2px solid var(--rose-line); margin-bottom: 9px;
}
.v2own-policy__card p { position: relative; z-index: 1; margin: 0; color: var(--slate); font-size: 13px; line-height: 1.55; }

/* ---------- Ban-risk diagnoser ---------- */
.v2own-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.v2own-chips .own-chip {
    display: inline-flex; align-items: center; gap: 7px;
    padding: 9px 13px; border: 1.5px solid var(--line); border-radius: 99px;
    background: var(--paper); color: var(--slate); font-size: 13px; font-weight: 600;
    cursor: pointer; transition: all .16s; -webkit-tap-highlight-color: transparent;
}
.v2own-chips .own-chip svg { width: 15px; height: 15px; flex-shrink: 0; }
.v2own-chips .own-chip:hover { border-color: #CDD5DD; color: var(--ink); }
.v2own-chips .own-chip.active { border-color: var(--ink); background: var(--ink); color: #fff; }
.v2own-diag__out { margin-top: 14px; }
.v2own-diag__empty {
    display: flex; align-items: center; gap: 8px;
    padding: 18px; border: 1px dashed var(--line); border-radius: 11px;
    color: var(--faint); font-size: 13px; background: var(--mist);
}
.v2own-diag__empty svg { width: 16px; height: 16px; }
.own-res { border-radius: 12px; overflow: hidden; border: 1px solid var(--line); animation: v2ownFade .3s ease both; }
@keyframes v2ownFade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.own-res-top { display: flex; align-items: center; gap: 12px; padding: 14px 16px; }
.own-res-ic { flex-shrink: 0; width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center; }
.own-res-ic svg { width: 21px; height: 21px; }
.own-res-v { margin: 0; font-weight: 700; font-size: 16px; color: var(--ink); display: flex; flex-direction: column; }
.own-res-v span { font-weight: 600; font-size: 11.5px; font-family: var(--font-mono); text-transform: uppercase; letter-spacing: .04em; margin-top: 2px; }
.own-res-body { padding: 0 16px 15px; }
.own-res-body p { margin: 0 0 10px; color: var(--slate); font-size: 13.5px; line-height: 1.65; }
.own-res-policy { display: inline-flex; align-items: center; gap: 7px; font-family: var(--font-mono); font-size: 11px; letter-spacing: .02em; padding: 5px 10px; border-radius: 7px; }
.own-res-policy svg { width: 15px; height: 15px; }
.own-res.low  { background: var(--go-tint); border-color: #C9EAD6; }
.own-res.low  .own-res-ic { background: #fff; color: var(--go-deep); }
.own-res.low  .own-res-v span { color: var(--go-deep); }
.own-res.low  .own-res-policy { background: #fff; color: var(--go-deep); }
.own-res.med  { background: var(--amber-tint); border-color: #F5DFA8; }
.own-res.med  .own-res-ic { background: #fff; color: #B77908; }
.own-res.med  .own-res-v span { color: #B77908; }
.own-res.med  .own-res-policy { background: #fff; color: #B77908; }
.own-res.high { background: var(--rose-tint); border-color: var(--rose-line); }
.own-res.high .own-res-ic { background: #fff; color: var(--rose); }
.own-res.high .own-res-v span { color: var(--rose); }
.own-res.high .own-res-policy { background: #fff; color: var(--rose); }

/* ---------- Ban cascade (escalating) ---------- */
.v2own-cascade { list-style: none; margin: 30px 0; padding: 0; display: grid; gap: 10px; }
.v2own-casc {
    position: relative; display: flex; gap: 13px; align-items: flex-start;
    padding: 16px; border: 1px solid var(--line); border-radius: 13px;
    background: var(--paper); box-shadow: var(--own-shadow);
}
.v2own-casc:not(:last-child)::after {
    content: ""; position: absolute; left: 50%; bottom: -8px; transform: translateX(-50%);
    width: 0; height: 0; border-left: 6px solid transparent; border-right: 6px solid transparent;
    border-top: 7px solid var(--line); z-index: 2;
}
.v2own-casc__ic { flex-shrink: 0; width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; }
.v2own-casc__ic svg { width: 22px; height: 22px; }
.v2own-casc__tx h3 { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-family: var(--font-display); font-size: 15.5px; font-weight: 700; color: var(--ink); margin: 0 0 5px; }
.v2own-casc__step { font-family: var(--font-mono); font-size: 10px; letter-spacing: .04em; text-transform: uppercase; padding: 3px 8px; border-radius: 99px; }
.v2own-casc__tx p { margin: 0; color: var(--slate); font-size: 13.5px; line-height: 1.6; }
.v2own-casc.is-s1 .v2own-casc__ic { background: var(--mist); color: var(--slate); }
.v2own-casc.is-s1 .v2own-casc__step { background: var(--mist); color: var(--slate); }
.v2own-casc.is-s2 .v2own-casc__ic { background: var(--amber-tint); color: #B77908; }
.v2own-casc.is-s2 .v2own-casc__step { background: var(--amber-tint); color: #B77908; }
.v2own-casc.is-s3 { border-color: var(--rose-line); }
.v2own-casc.is-s3 .v2own-casc__ic { background: var(--rose-tint); color: var(--rose); }
.v2own-casc.is-s3 .v2own-casc__step { background: var(--rose-tint); color: var(--rose); }
.v2own-casc.is-fallout { border-color: var(--rose); background: var(--rose-tint); box-shadow: 0 0 0 1px var(--rose-line), var(--own-shadow); }
.v2own-casc.is-fallout .v2own-casc__ic { background: var(--rose); color: #fff; }
.v2own-casc.is-fallout .v2own-casc__step { background: var(--rose); color: #fff; }
.v2own-casc.is-fallout h3 { color: var(--rose-deep); }
.v2own-casc.is-fallout p { color: var(--rose-deep); }
.v2own-casc.is-fallout p strong { color: var(--rose-deep); }

/* ---------- Shared-signal chips ---------- */
.v2own-signals { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.v2own-sig {
    text-align: center; padding: 16px 12px; border: 1px solid var(--line);
    border-radius: 12px; background: var(--paper); box-shadow: var(--own-shadow);
}
.v2own-sig__ic { width: 38px; height: 38px; margin: 0 auto 9px; border-radius: 10px; display: grid; place-items: center; background: var(--rose-tint); color: var(--rose); }
.v2own-sig__ic svg { width: 22px; height: 22px; }
.v2own-sig h3 { font-family: var(--font-display); font-size: 14.5px; font-weight: 700; color: var(--ink); margin: 0 0 3px; }
.v2own-sig p { margin: 0; color: var(--faint); font-size: 12px; line-height: 1.45; }

/* ---------- Fact vs field two-column ---------- */
.v2own-two { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; }
.v2own-two__col { padding: 18px; border: 1px solid var(--line); border-radius: 13px; background: var(--paper); box-shadow: var(--own-shadow); }
.v2own-two__col.is-fact  { border-top: 3px solid var(--go); }
.v2own-two__col.is-field { border-top: 3px solid var(--star); }
.v2own-two__tag { display: inline-flex; align-items: center; gap: 7px; font-size: 11px; margin: 0 0 4px; }
.v2own-two__tag svg { width: 15px; height: 15px; }
.v2own-two__col.is-fact  .v2own-two__tag { color: var(--go-deep); }
.v2own-two__col.is-field .v2own-two__tag { color: #B77908; }
.v2own-two__col h3 { font-family: var(--font-display); font-size: 16px; font-weight: 700; color: var(--ink); margin: 0 0 12px; }
.v2own-two__col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.v2own-two__col li { display: flex; gap: 9px; align-items: flex-start; color: var(--slate); font-size: 13.5px; line-height: 1.55; }
.v2own-two__mk { flex-shrink: 0; width: 18px; height: 18px; margin-top: 1px; display: grid; place-items: center; }
.v2own-two__mk svg { width: 16px; height: 16px; }
.v2own-two__mk.is-ok { color: var(--go); }
.v2own-two__mk.is-alert { color: var(--star); }

/* ---------- Myth vs reality cards ---------- */
.v2own-myth { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; }
.v2own-myth__card {
    display: grid; grid-template-columns: minmax(0,1fr); gap: 1px;
    border: 1px solid var(--line); border-radius: 13px; overflow: hidden;
    background: var(--line); box-shadow: var(--own-shadow);
}
.v2own-myth__m, .v2own-myth__r { padding: 15px 16px; background: var(--paper); }
.v2own-myth__m { background: var(--mist); }
.v2own-myth__lab { display: inline-flex; align-items: center; gap: 6px; font-size: 10.5px; margin: 0 0 7px; }
.v2own-myth__lab svg { width: 15px; height: 15px; }
.v2own-myth__m .v2own-myth__lab { color: var(--faint); }
.v2own-myth__r .v2own-myth__lab { color: var(--go-deep); }
.v2own-myth__m p { margin: 0; color: var(--slate); font-size: 14px; font-style: italic; line-height: 1.55; }
.v2own-myth__r p { margin: 0; color: var(--ink); font-size: 14px; line-height: 1.6; }

/* ---------- Setup playbook ---------- */
.v2own-steps { list-style: none; margin: 30px 0; padding: 0; display: grid; gap: 10px; }
.v2own-step {
    display: flex; gap: 14px; align-items: flex-start;
    padding: 15px 16px; border: 1px solid var(--line); border-left: 3px solid var(--go);
    border-radius: 11px; background: var(--paper); box-shadow: var(--own-shadow);
}
.v2own-step__n {
    flex-shrink: 0; width: 30px; height: 30px; border-radius: 8px;
    display: grid; place-items: center; background: var(--go-tint); color: var(--go-deep);
    font-size: 14px; font-weight: 700;
}
.v2own-step__t { margin: 0 0 4px; font-family: var(--font-display); font-size: 15.5px; font-weight: 700; color: var(--ink); }
.v2own-step__d { margin: 0; color: var(--slate); font-size: 13.5px; line-height: 1.6; }
.v2own-step__d b { color: var(--ink); }

/* ---------- Comparison table ---------- */
.v2own-cmp { border: 1px solid var(--line); border-radius: 13px; background: var(--paper); box-shadow: var(--own-shadow); overflow: hidden; }
.v2own-cmp__scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.v2own-cmp__tbl { width: 100%; border-collapse: collapse; min-width: 620px; }
.v2own-cmp__tbl th, .v2own-cmp__tbl td { padding: 13px 14px; text-align: left; font-size: 13.5px; border-bottom: 1px solid var(--line); vertical-align: middle; }
.v2own-cmp__tbl thead th { background: var(--mist); color: var(--ink); font-family: var(--font-mono); font-size: 11px; text-transform: uppercase; letter-spacing: .03em; white-space: nowrap; }
.v2own-cmp__tbl tbody th[scope="row"] { color: var(--ink); font-weight: 600; position: sticky; left: 0; background: var(--paper); z-index: 1; }
.v2own-cmp__tbl tbody th[scope="row"] b { font-weight: 700; }
.v2own-cmp__tbl td { color: var(--slate); }
.v2own-cmp__tbl tbody tr:last-child th, .v2own-cmp__tbl tbody tr:last-child td { border-bottom: 0; }
.v2own-cmp__tbl tr.is-ptl th[scope="row"], .v2own-cmp__tbl tr.is-ptl td { background: var(--go-tint); }
.v2own-cmp__tbl tr.is-ptl th[scope="row"] { box-shadow: inset 3px 0 0 var(--go); }
.v2own-pill { display: inline-block; padding: 3px 10px; border-radius: 99px; font-size: 11.5px; font-weight: 600; white-space: nowrap; }
.v2own-pill.is-high { background: var(--rose-tint); color: var(--rose); }
.v2own-pill.is-low  { background: var(--go-tint); color: var(--go-deep); }
.v2own-cmp__foot { display: flex; gap: 8px; align-items: flex-start; margin: 0; padding: 12px 16px; background: var(--mist); color: var(--faint); font-size: 11.5px; line-height: 1.5; }
.v2own-cmp__foot svg { flex-shrink: 0; width: 15px; height: 15px; margin-top: 1px; }

/* ---------- Three-part questionnaire ---------- */
.v2own-q3 { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; }
.v2own-q3__card { position: relative; padding: 18px; border: 1px solid var(--line); border-radius: 13px; background: var(--paper); box-shadow: var(--own-shadow); }
.v2own-q3__n { display: inline-block; padding: 4px 11px; border-radius: 99px; background: var(--ink); color: #fff; font-size: 11px; letter-spacing: .03em; margin-bottom: 11px; }
.v2own-q3__card h3 { font-family: var(--font-display); font-size: 16px; font-weight: 700; color: var(--ink); margin: 0 0 10px; }
.v2own-q3__card ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; }
.v2own-q3__card li { position: relative; padding-left: 18px; color: var(--slate); font-size: 13.5px; line-height: 1.5; }
.v2own-q3__card li::before { content: ""; position: absolute; left: 2px; top: 8px; width: 6px; height: 6px; border-radius: 50%; background: var(--go); }

/* ---------- 2026 note band ---------- */
.v2own-band { display: flex; gap: 14px; align-items: flex-start; padding: 18px; border: 1px solid #D8DEF0; border-radius: 14px; background: linear-gradient(180deg, #F4F6FD, var(--paper)); box-shadow: var(--own-shadow); }
.v2own-band__ic { flex-shrink: 0; width: 40px; height: 40px; border-radius: 10px; display: grid; place-items: center; background: #E7EBFB; color: #4F5BD5; }
.v2own-band__ic svg { width: 24px; height: 24px; }
.v2own-band__tx h3 { font-family: var(--font-display); font-size: 16px; font-weight: 700; color: var(--ink); margin: 0 0 6px; }
.v2own-band__tx p { margin: 0; color: var(--slate); font-size: 13.5px; line-height: 1.65; }

/* ---------- Feature tiles ---------- */
.v2own-feat { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; }
.v2own-feat__card { display: flex; gap: 13px; align-items: flex-start; padding: 16px; border: 1px solid var(--line); border-radius: 13px; background: var(--paper); box-shadow: var(--own-shadow); }
.v2own-feat__ic { flex-shrink: 0; width: 40px; height: 40px; border-radius: 10px; display: grid; place-items: center; background: var(--go-tint); color: var(--go-deep); }
.v2own-feat__ic svg { width: 24px; height: 24px; }
.v2own-feat__card h3 { font-family: var(--font-display); font-size: 15.5px; font-weight: 700; color: var(--ink); margin: 0 0 4px; }
.v2own-feat__card p { margin: 0; color: var(--slate); font-size: 13px; line-height: 1.55; }

/* ---------- Pricing plaques ---------- */
.v2own-pricing { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; }
.v2own-price { position: relative; text-align: center; padding: 22px 16px 18px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); box-shadow: var(--own-shadow); }
.v2own-price__name { font-family: var(--font-mono); font-size: 11.5px; text-transform: uppercase; letter-spacing: .04em; color: var(--faint); margin-bottom: 8px; }
.v2own-price__num { font-family: var(--font-display); font-size: 40px; font-weight: 800; color: var(--ink); line-height: 1; }
.v2own-price__num small { font-size: 20px; font-weight: 700; vertical-align: super; margin-right: 1px; }
.v2own-price__testers { margin: 6px 0 14px; color: var(--slate); font-size: 13px; }
.v2own-price .v2own-price__cta { display: block; padding: 11px; border-radius: 9px; background: var(--ink); color: #fff; font-weight: 650; font-size: 14px; text-decoration: none; transition: background .18s; }
.v2own-price .v2own-price__cta:hover { background: #1c2732; text-decoration: none; }
.v2own-price.is-best { border-color: var(--go); box-shadow: 0 0 0 1px var(--go), var(--own-shadow-lg); }
.v2own-price.is-best .v2own-price__cta { background: var(--go); }
.v2own-price.is-best .v2own-price__cta:hover { background: var(--go-deep); }
.v2own-price__badge { position: absolute; top: -11px; left: 50%; transform: translateX(-50%); background: var(--go); color: #fff; font-family: var(--font-mono); font-size: 10px; letter-spacing: .04em; text-transform: uppercase; padding: 4px 12px; border-radius: 99px; white-space: nowrap; }

/* ---------- Non-clickable figure ---------- */
.v2own-fig { margin: 26px 0; border: 1px solid var(--line); border-radius: 13px; overflow: hidden; background: var(--paper); box-shadow: var(--own-shadow); }
.v2own-fig img { display: block; width: 100%; height: auto; }
.v2own-fig figcaption { display: flex; gap: 8px; align-items: flex-start; padding: 12px 16px; background: var(--mist); border-top: 1px solid var(--line); color: var(--faint); font-size: 12.5px; line-height: 1.5; }
.v2own-fig figcaption svg { flex-shrink: 0; width: 16px; height: 16px; margin-top: 1px; color: var(--slate); }

/* ---------- Tablet and up (min-width: 640px) ---------- */
@media (min-width: 640px) {
    .v2own-verdict__main { padding: 28px 28px 24px; }
    .v2own-verdict__strip { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .v2own-glance__row { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 16px; align-items: center; }
    .v2own-glance__row dt { font-size: 13.5px; }
    .v2own-sim__opts { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .v2own-gauges { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 20px; }
    .v2own-valid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .v2own-tracks { grid-template-columns: repeat(3, minmax(0,1fr)); align-items: start; }
    .v2own-policy { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .v2own-signals { grid-template-columns: repeat(4, minmax(0,1fr)); }
    .v2own-two { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .v2own-myth__card { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); }
    .v2own-q3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .v2own-feat { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .v2own-pricing { grid-template-columns: repeat(3, minmax(0,1fr)); align-items: center; }
    .v2own-price.is-best { transform: scale(1.04); }
}

/* ---------- Desktop (min-width: 980px) ---------- */
@media (min-width: 980px) {
    .v2own-valid { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .v2own-valid__card.is-hidden-bar { grid-column: span 3; display: flex; align-items: center; gap: 16px; }
    .v2own-valid__card.is-hidden-bar h3 { margin: 0; white-space: nowrap; }
    .v2own-valid__card.is-hidden-bar .v2own-valid__n { font-size: 60px; }
    .v2own-feat { grid-template-columns: repeat(4, minmax(0,1fr)); }
    .v2own-feat__card { flex-direction: column; gap: 11px; }
}

/* ---------- Micro screens (max-width: 400px) ---------- */
@media (max-width: 400px) {
    .v2own-verdict__no { gap: 11px; }
    .v2own-verdict__seal { width: 44px; height: 44px; }
    .v2own-verdict__seal svg { width: 28px; height: 28px; }
    .v2own-sim__opts { grid-template-columns: minmax(0,1fr); }
    .v2own-chips .own-chip { font-size: 12px; padding: 8px 11px; }
    .v2own-casc__tx h3 { font-size: 14.5px; }
}

/* ============================================================
   BLOG CDAY V2  -  "Does the 14 Days Have to Be the Most Recent?"
   Unique internal components for the 14-consecutive-days post.
   Authored MOBILE-FIRST: base rules target phones, min-width
   queries add columns. Signature motif = the unbroken STREAK
   (green day-cells / bars) vs a broken run. Green is the primary
   accent (the answer is Yes); rose marks breaks/resets, amber
   marks caution, indigo the ambiguous readings, blue the Google
   wording. Light components only - the two dark moments are the
   shared .v2gpr-qa capsule and the final .v2-cta band. Widget
   hooks the interactive JS depends on (.cday-cell.on/.run/.now,
   .cday-verdict.pass/.near/.fail, .cday-dchip, .cday-dres*) are
   styled here too.
============================================================ */
.v2cday-verdict,
.v2cday-lead,
.v2cday-two,
.v2cday-fig,
.v2cday-build,
.v2cday-math,
.v2cday-scn,
.v2cday-subhead,
.v2cday-break,
.v2cday-safe,
.v2cday-note,
.v2cday-diag,
.v2cday-vs2,
.v2cday-read,
.v2cday-callout,
.v2cday-pool,
.v2cday-quote,
.v2cday-key3,
.v2cday-feats,
.v2cday-pricing {
    --rose:      #B42318;
    --rose-deep: #912018;
    --rose-tint: #FDF1F0;
    --rose-line: #F3C9C4;
    --amber-deep:#92400E;
    --amber-tint:#FEF6E7;
    --amber-line:#F5DFA8;
    --indigo:    #4F5BD5;
    --indigo-tint:#EEF2FF;
    --indigo-line:#D8DEF0;
    --blue:      #1D4ED8;
    --blue-tint: #EFF6FF;
    --blue-line: #C7DBFF;
    --go-line:   #C9EAD6;
    --cd-shadow: 0 1px 2px rgba(10,16,23,.04), 0 10px 26px -14px rgba(6,78,59,.16);
    --cd-shadow-lg: 0 2px 6px rgba(10,16,23,.05), 0 22px 46px -20px rgba(6,78,59,.22);
    margin: 30px 0;
}

/* Hero tweaks (green accent) */
.v2cday-eyebrow { color: var(--go-deep); }
.v2cday-eyebrow::before { background: var(--go) !important; }
.v2cday-facts .v2cday-fact--yes b { color: var(--go); }

/* Quick-answer date tint (inside dark .v2gpr-qa) */
.v2gpr-qa .cday-qk-date { color: #FFD56B; }

/* ---------- Verdict panel (streak motif) ---------- */
.v2cday-verdict {
    border: 1px solid var(--go-line); border-radius: 18px; overflow: hidden;
    background: radial-gradient(120% 90% at 0 0, var(--go-tint) 0, rgba(232,245,238,0) 55%), var(--paper);
    box-shadow: var(--cd-shadow-lg);
}
.v2cday-verdict__head { padding: 22px 20px 4px; }
.v2cday-verdict__tag { display: inline-flex; align-items: center; gap: 8px; color: var(--go-deep); font-size: 11px; margin: 0 0 14px; }
.v2cday-verdict__tag svg { width: 16px; height: 16px; }
.v2cday-verdict__yes { display: flex; align-items: center; gap: 14px; }
.v2cday-verdict__check { flex-shrink: 0; width: 50px; height: 50px; border-radius: 15px; display: grid; place-items: center; color: #fff; background: linear-gradient(135deg, #12b866, var(--go-deep)); box-shadow: 0 8px 20px -6px rgba(11,138,71,.5); }
.v2cday-verdict__check svg { width: 30px; height: 30px; }
.v2cday-verdict__h { font-family: var(--font-display); font-weight: 800; font-size: clamp(22px, 5.6vw, 30px); line-height: 1.06; color: var(--ink); margin: 0; letter-spacing: -.01em; }
.v2cday-verdict__sub { display: block; margin-top: 5px; color: var(--slate); font-size: 13.5px; font-weight: 600; }
.v2cday-verdict__p { margin: 0; padding: 0 20px; color: var(--slate); font-size: 15px; line-height: 1.72; }

/* streak bars */
.v2cday-streak { padding: 16px 20px; display: grid; gap: 10px; }
.v2cday-streak__row { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 8px 10px; }
.v2cday-streak__lab { font-size: 10px; letter-spacing: .04em; }
.v2cday-streak__row.is-good .v2cday-streak__lab { color: var(--go-deep); }
.v2cday-streak__row.is-bad .v2cday-streak__lab { color: var(--rose); }
.v2cday-streak__bar { grid-column: 1 / -1; display: flex; gap: 3px; }
.v2cday-streak__bar i { flex: 1 1 0; height: 12px; border-radius: 3px; background: var(--line); }
.v2cday-streak__row.is-good .v2cday-streak__bar i.on { background: linear-gradient(180deg, #16a86a, var(--go)); }
.v2cday-streak__row.is-bad .v2cday-streak__bar i.on { background: linear-gradient(180deg, #d1584c, var(--rose)); }
.v2cday-streak__row.is-bad .v2cday-streak__bar i:not(.on) { background: repeating-linear-gradient(45deg, var(--rose-tint), var(--rose-tint) 3px, #fff 3px, #fff 6px); box-shadow: inset 0 0 0 1px var(--rose-line); }
.v2cday-streak__end { grid-column: 1 / -1; font-size: 11.5px; color: var(--faint); }
.v2cday-streak__row.is-good .v2cday-streak__end { color: var(--go-deep); }
.v2cday-streak__row.is-bad .v2cday-streak__end { color: var(--rose); }

.v2cday-verdict__trap { margin: 4px 20px 0; padding: 16px; border-radius: 12px; background: var(--rose-tint); border: 1px solid var(--rose-line); }
.v2cday-verdict__traplbl { display: inline-flex; align-items: center; gap: 7px; color: var(--rose); font-size: 11px; margin: 0 0 8px; }
.v2cday-verdict__traplbl svg { width: 15px; height: 15px; }
.v2cday-verdict__trapbig { margin: 0; color: var(--ink); font-size: 16px; font-weight: 700; }
.v2cday-verdict__trapbig b { color: var(--rose-deep); }
.v2cday-verdict__trapsm { margin: 6px 0 0; color: var(--slate); font-size: 13.5px; line-height: 1.6; }
.v2cday-verdict__strip { margin-top: 16px; display: grid; grid-template-columns: minmax(0,1fr); gap: 1px; background: var(--line); border-top: 1px solid var(--line); }
.v2cday-tile { display: flex; gap: 12px; padding: 16px 20px; background: var(--paper); }
.v2cday-tile__ic { flex-shrink: 0; width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center; }
.v2cday-tile__ic svg { width: 20px; height: 20px; }
.v2cday-tile.is-ok .v2cday-tile__ic { background: var(--go-tint); color: var(--go-deep); }
.v2cday-tile.is-no .v2cday-tile__ic { background: var(--rose-tint); color: var(--rose); }
.v2cday-tile__tx { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.v2cday-tile__l { font-size: 10.5px; letter-spacing: .05em; }
.v2cday-tile.is-ok .v2cday-tile__l { color: var(--go-deep); }
.v2cday-tile.is-no .v2cday-tile__l { color: var(--rose); }
.v2cday-tile__t { font-weight: 650; color: var(--ink); font-size: 14.5px; }
.v2cday-tile__s { color: var(--faint); font-size: 12.5px; line-height: 1.5; }

/* ---------- Lead / short-answer callout ---------- */
.v2cday-lead { border-left: 4px solid var(--go); background: var(--go-tint); border-radius: 0 12px 12px 0; padding: 14px 18px; }
.v2cday-lead p { margin: 0; color: var(--ink); font-size: 15px; line-height: 1.65; }
.v2cday-lead.is-bad  { border-left-color: var(--rose); background: var(--rose-tint); }
.v2cday-lead.is-warn { border-left-color: var(--star); background: var(--amber-tint); }
.v2cday-lead.is-info { border-left-color: var(--indigo); background: var(--indigo-tint); }

/* ---------- Two-number requirement pair ---------- */
.v2cday-two { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; }
.v2cday-two__item { display: flex; gap: 12px; align-items: flex-start; padding: 16px; border: 1px solid var(--go-line); border-radius: 12px; background: var(--go-tint); }
.v2cday-two__ic { flex-shrink: 0; width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center; background: #fff; color: var(--go-deep); }
.v2cday-two__ic svg { width: 20px; height: 20px; }
.v2cday-two__item p { margin: 0; color: var(--slate); font-size: 14px; line-height: 1.55; }
.v2cday-two__item p strong { color: var(--ink); }

/* ---------- Figure ---------- */
.v2cday-fig { border: 1px solid var(--line); border-radius: 13px; overflow: hidden; background: var(--paper); box-shadow: var(--cd-shadow); }
.v2cday-fig img { display: block; width: 100%; height: auto; }
.v2cday-fig figcaption { display: flex; gap: 8px; align-items: flex-start; padding: 12px 16px; background: var(--mist); border-top: 1px solid var(--line); color: var(--faint); font-size: 12.5px; line-height: 1.5; }
.v2cday-fig figcaption svg { flex-shrink: 0; width: 16px; height: 16px; margin-top: 1px; color: var(--go); }

/* ---------- Streak Builder (calendar) ---------- */
.v2cday-build, .v2cday-diag { border: 1px solid var(--line); border-radius: 16px; overflow: hidden; background: var(--paper); box-shadow: var(--cd-shadow-lg); }
.v2cday-build__head, .v2cday-diag__head { display: flex; align-items: center; gap: 12px; padding: 16px 18px; background: linear-gradient(135deg, var(--go-deep), #0f5f3c); color: #fff; }
.v2cday-build__hi, .v2cday-diag__hi { flex-shrink: 0; width: 40px; height: 40px; border-radius: 11px; background: rgba(255,255,255,.16); display: grid; place-items: center; }
.v2cday-build__hi svg, .v2cday-diag__hi svg { width: 24px; height: 24px; }
.v2cday-build__htx, .v2cday-diag__htx { display: flex; flex-direction: column; gap: 2px; }
.v2cday-build__ht, .v2cday-diag__ht { font-family: var(--font-display); font-weight: 700; font-size: 17px; }
.v2cday-build__hs, .v2cday-diag__hs { font-size: 12.5px; color: rgba(255,255,255,.78); line-height: 1.4; }
.v2cday-build__body, .v2cday-diag__body { padding: 18px; }
.v2cday-build__hint { display: flex; gap: 9px; align-items: flex-start; margin: 0 0 16px; color: var(--slate); font-size: 13px; line-height: 1.55; }
.v2cday-build__hint svg { flex-shrink: 0; width: 17px; height: 17px; margin-top: 2px; color: var(--go); }
.v2cday-build__hint strong { color: var(--ink); }
.v2cday-build__stats { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px; margin-bottom: 14px; }
.cday-bstat { text-align: center; padding: 12px 6px; border-radius: 11px; background: var(--mist); border: 1px solid var(--line); }
.cday-bstat .n { display: block; font-family: var(--font-display); font-weight: 800; font-size: 26px; color: var(--slate); line-height: 1; }
.cday-bstat .l { display: block; margin-top: 5px; font-size: 10.5px; color: var(--faint); line-height: 1.3; }
.cday-bstat.lead { background: var(--go-tint); border-color: var(--go-line); }
.cday-bstat.lead .n { color: var(--go-deep); }
.cday-bstat.muted { opacity: .72; }
.cday-cal { display: grid; grid-template-columns: repeat(7, minmax(0,1fr)); gap: 5px; }
.cday-cell { position: relative; aspect-ratio: 1 / 1; border: 1.5px solid var(--line); border-radius: 9px; background: var(--paper); cursor: pointer; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; padding: 0; transition: transform .12s, border-color .15s, background .15s; -webkit-tap-highlight-color: transparent; }
.cday-cell .dn { font-family: var(--font-mono); font-size: 10px; color: var(--faint); }
.cday-cell .di { display: grid; place-items: center; color: var(--faint); }
.cday-cell .di svg { width: 14px; height: 14px; }
.cday-cell:hover { border-color: #BFDBCB; }
.cday-cell.on { border-color: var(--go); background: var(--go-tint); }
.cday-cell.on .dn { color: var(--go-deep); }
.cday-cell.on .di { color: var(--go); }
.cday-cell.run { border-color: var(--go); background: linear-gradient(180deg, #d8f2e3, var(--go-tint)); box-shadow: inset 0 0 0 1px var(--go); }
.cday-cell.run .di { color: var(--go-deep); }
.cday-cell.now { outline: 2px dashed var(--star); outline-offset: 1px; }
.cday-cal-legend, .v2cday-cal-legend { display: flex; flex-wrap: wrap; gap: 10px 16px; margin: 14px 0; font-size: 11.5px; color: var(--slate); }
.v2cday-cal-legend span { display: inline-flex; align-items: center; gap: 6px; }
.v2cday-cal-legend .sw { width: 14px; height: 14px; border-radius: 4px; border: 1.5px solid var(--line); }
.v2cday-cal-legend .sw.on { background: var(--go-tint); border-color: var(--go); }
.v2cday-cal-legend .sw.off { background: var(--paper); }
.v2cday-cal-legend .sw.run { background: linear-gradient(180deg, #d8f2e3, var(--go-tint)); border-color: var(--go); box-shadow: inset 0 0 0 1px var(--go); }
.cday-verdict { margin-top: 4px; padding: 15px 16px; border-radius: 12px; border: 1px solid var(--line); background: var(--mist); }
.cday-verdict-top { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; }
.cday-verdict-ic { flex-shrink: 0; width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center; background: #fff; }
.cday-verdict-ic svg { width: 21px; height: 21px; }
.cday-verdict-h { font-family: var(--font-display); font-weight: 700; font-size: 16px; color: var(--ink); display: flex; flex-direction: column; }
.cday-verdict-h span { font-family: var(--font-mono); font-weight: 600; font-size: 11px; letter-spacing: .03em; color: var(--faint); margin-top: 2px; }
.cday-verdict-body { margin: 0; font-size: 13.5px; line-height: 1.65; color: var(--slate); }
.cday-verdict-body b { color: var(--ink); }
.cday-verdict.pass { background: var(--go-tint); border-color: var(--go-line); }
.cday-verdict.pass .cday-verdict-ic { color: var(--go-deep); }
.cday-verdict.near { background: var(--amber-tint); border-color: var(--amber-line); }
.cday-verdict.near .cday-verdict-ic { color: var(--amber-deep); }
.cday-verdict.fail { background: var(--rose-tint); border-color: var(--rose-line); }
.cday-verdict.fail .cday-verdict-ic { color: var(--rose); }
.v2cday-build__btns { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.v2cday-pbtn { display: inline-flex; align-items: center; gap: 7px; padding: 9px 13px; border: 1.5px solid var(--line); border-radius: 9px; background: var(--paper); color: var(--slate); font-size: 12.5px; font-weight: 600; cursor: pointer; transition: all .15s; -webkit-tap-highlight-color: transparent; }
.v2cday-pbtn svg { width: 15px; height: 15px; }
.v2cday-pbtn:hover { border-color: var(--go); color: var(--go-deep); background: var(--go-tint); }
.v2cday-pbtn.is-clear:hover { border-color: var(--rose-line); color: var(--rose); background: var(--rose-tint); }
.v2cday-build__foot, .v2cday-diag__foot { margin: 14px 0 0; color: var(--faint); font-size: 11.5px; line-height: 1.5; }

/* ---------- Consecutive vs cumulative equation ---------- */
.v2cday-math { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; align-items: stretch; }
.v2cday-math__side { padding: 18px; border-radius: 14px; border: 1px solid var(--line); box-shadow: var(--cd-shadow); }
.v2cday-math__side.is-bad { background: var(--rose-tint); border-color: var(--rose-line); }
.v2cday-math__side.is-good { background: var(--go-tint); border-color: var(--go-line); }
.v2cday-math__tag { display: inline-flex; align-items: center; gap: 7px; font-size: 11px; margin: 0 0 12px; }
.v2cday-math__tag svg { width: 15px; height: 15px; }
.v2cday-math__side.is-bad .v2cday-math__tag { color: var(--rose); }
.v2cday-math__side.is-good .v2cday-math__tag { color: var(--go-deep); }
.v2cday-math__eq { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-bottom: 12px; }
.v2cday-math__chip { min-width: 38px; height: 38px; padding: 0 10px; display: inline-flex; align-items: center; justify-content: center; border-radius: 9px; background: #fff; border: 1px solid var(--line); font-family: var(--font-display); font-weight: 800; font-size: 18px; color: var(--ink); }
.v2cday-math__chip.is-strike { position: relative; color: var(--rose); }
.v2cday-math__chip.is-strike::after { content: ""; position: absolute; left: 6px; right: 6px; top: 50%; height: 2px; background: var(--rose); transform: rotate(-12deg); }
.v2cday-math__op { font-family: var(--font-mono); font-size: 13px; color: var(--faint); }
.v2cday-math__result { display: flex; align-items: center; gap: 8px; font-size: 13.5px; color: var(--rose-deep); font-weight: 600; margin-bottom: 8px; }
.v2cday-math__result svg { flex-shrink: 0; width: 16px; height: 16px; }
.v2cday-math__result strong { font-size: 15px; }
.v2cday-math__result.is-good { color: var(--go-deep); }
.v2cday-math__side p { margin: 0; font-size: 13px; line-height: 1.6; color: var(--slate); }
.v2cday-math__div { align-self: center; justify-self: center; font-family: var(--font-mono); font-weight: 700; font-size: 12px; color: var(--faint); letter-spacing: .05em; padding: 4px 0; }

/* ---------- Scenario verdict rows ---------- */
.v2cday-scn { border: 1px solid var(--line); border-radius: 13px; overflow: hidden; background: var(--paper); box-shadow: var(--cd-shadow); }
.v2cday-scn__row { display: flex; flex-direction: column; gap: 8px; padding: 14px 16px; border-bottom: 1px solid var(--line); }
.v2cday-scn__t { color: var(--ink); font-size: 14px; line-height: 1.5; }
.v2cday-scn__v { align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; padding: 4px 11px; border-radius: 99px; font-size: 12px; font-weight: 650; }
.v2cday-scn__v svg { width: 14px; height: 14px; }
.v2cday-scn__v.is-yes { background: var(--go-tint); color: var(--go-deep); }
.v2cday-scn__v.is-no { background: var(--rose-tint); color: var(--rose); }
.v2cday-scn__foot { display: flex; gap: 8px; align-items: flex-start; margin: 0; padding: 13px 16px; background: var(--mist); color: var(--faint); font-size: 11.5px; line-height: 1.5; }
.v2cday-scn__foot svg { flex-shrink: 0; width: 15px; height: 15px; margin-top: 1px; }

/* ---------- Break section ---------- */
.v2cday-subhead { display: flex; align-items: center; gap: 8px; font-weight: 700; font-size: 15px; margin: 22px 0 14px; }
.v2cday-subhead svg { width: 19px; height: 19px; flex-shrink: 0; }
.v2cday-subhead.is-bad { color: var(--rose-deep); }
.v2cday-break { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; }
.v2cday-break__card { position: relative; overflow: hidden; padding: 18px; border: 1px solid var(--rose-line); border-top: 3px solid var(--rose); border-radius: 13px; background: var(--paper); box-shadow: var(--cd-shadow); }
.v2cday-break__n { position: absolute; top: 6px; right: 12px; font-family: var(--font-display); font-weight: 800; font-size: 52px; line-height: 1; color: var(--rose-tint); z-index: 0; }
.v2cday-break__ic { position: relative; z-index: 1; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 10px; background: var(--rose-tint); color: var(--rose); margin-bottom: 11px; }
.v2cday-break__ic svg { width: 22px; height: 22px; }
.v2cday-break__card h3 { position: relative; z-index: 1; font-family: var(--font-display); font-size: 16px; font-weight: 700; color: var(--ink); margin: 0 0 6px; }
.v2cday-break__card p { position: relative; z-index: 1; margin: 0; color: var(--slate); font-size: 13.5px; line-height: 1.6; }
.v2cday-break__card p b { color: var(--rose-deep); }

/* ---------- Safe list ---------- */
.v2cday-safe { border: 1px solid var(--go-line); border-radius: 13px; background: var(--go-tint); padding: 16px 18px; }
.v2cday-safe__h { display: flex; align-items: center; gap: 8px; color: var(--go-deep); font-size: 11.5px; margin: 0 0 12px; }
.v2cday-safe__h svg { width: 17px; height: 17px; }
.v2cday-safe__row { display: flex; gap: 10px; align-items: flex-start; padding: 8px 0; }
.v2cday-safe__row + .v2cday-safe__row { border-top: 1px solid var(--go-line); }
.v2cday-safe__ck { flex-shrink: 0; width: 20px; height: 20px; border-radius: 6px; display: grid; place-items: center; background: #fff; color: var(--go); margin-top: 1px; }
.v2cday-safe__ck svg { width: 14px; height: 14px; }
.v2cday-safe__row p { margin: 0; color: var(--slate); font-size: 13.5px; line-height: 1.6; }
.v2cday-safe__row p strong { color: var(--ink); }

/* ---------- Amber note ---------- */
.v2cday-note { display: flex; gap: 12px; padding: 16px 18px; border: 1px solid var(--amber-line); border-left: 3px solid var(--star); border-radius: 12px; background: var(--amber-tint); }
.v2cday-note__ic { flex-shrink: 0; width: 22px; height: 22px; color: var(--amber-deep); margin-top: 1px; }
.v2cday-note__ic svg { width: 22px; height: 22px; }
.v2cday-note p { margin: 0; color: #6B4415; font-size: 13.5px; line-height: 1.65; }
.v2cday-note p b { color: var(--amber-deep); }

/* ---------- Diagnoser ---------- */
.v2cday-diag__q { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; color: var(--faint); font-size: 11px; }
.v2cday-diag__q svg { width: 15px; height: 15px; }
.v2cday-diag__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.v2cday-diag__chips .cday-dchip { display: inline-flex; align-items: center; gap: 7px; padding: 9px 13px; border: 1.5px solid var(--line); border-radius: 99px; background: var(--paper); color: var(--slate); font-size: 12.5px; font-weight: 600; cursor: pointer; transition: all .15s; -webkit-tap-highlight-color: transparent; }
.v2cday-diag__chips .cday-dchip svg { width: 15px; height: 15px; flex-shrink: 0; }
.v2cday-diag__chips .cday-dchip:hover { border-color: #BFDBCB; color: var(--ink); }
.v2cday-diag__chips .cday-dchip.active { border-color: var(--go-deep); background: var(--go-deep); color: #fff; }
.v2cday-diag__out { margin-top: 14px; }
.v2cday-diag__empty { display: flex; align-items: center; gap: 8px; padding: 18px; border: 1px dashed var(--line); border-radius: 11px; color: var(--faint); font-size: 13px; background: var(--mist); }
.v2cday-diag__empty svg { width: 16px; height: 16px; }
.cday-dres { border-radius: 12px; overflow: hidden; border: 1px solid var(--line); border-left-width: 4px; animation: v2cdayFade .3s ease both; }
@keyframes v2cdayFade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.cday-dres-top { display: flex; align-items: center; gap: 12px; padding: 14px 16px 10px; }
.cday-dres-ic { flex-shrink: 0; width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center; background: #fff; }
.cday-dres-ic svg { width: 21px; height: 21px; }
.cday-dres-v { font-weight: 700; font-size: 15.5px; color: var(--ink); display: flex; flex-direction: column; }
.cday-dres-v span { font-family: var(--font-mono); font-weight: 600; font-size: 11px; letter-spacing: .03em; color: var(--faint); margin-top: 2px; }
.cday-dres-body { padding: 0 16px 15px; }
.cday-dres-body p { margin: 0; color: var(--slate); font-size: 13.5px; line-height: 1.65; }
.cday-dres.keep { background: var(--go-tint); border-color: var(--go-line); border-left-color: var(--go); }
.cday-dres.keep .cday-dres-ic { color: var(--go-deep); }
.cday-dres.zero { background: var(--rose-tint); border-color: var(--rose-line); border-left-color: var(--rose); }
.cday-dres.zero .cday-dres-ic { color: var(--rose); }
.cday-dres.risk { background: var(--amber-tint); border-color: var(--amber-line); border-left-color: var(--star); }
.cday-dres.risk .cday-dres-ic { color: var(--amber-deep); }

/* ---------- Opt-out vs uninstall ---------- */
.v2cday-vs2 { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; }
.v2cday-vs2__card { position: relative; padding: 18px; border: 1px solid var(--line); border-radius: 13px; background: var(--paper); box-shadow: var(--cd-shadow); }
.v2cday-vs2__card.is-formal { border-top: 3px solid var(--rose); }
.v2cday-vs2__card.is-soft { border-top: 3px solid var(--blue); }
.v2cday-vs2__ic { width: 42px; height: 42px; border-radius: 11px; display: grid; place-items: center; margin-bottom: 12px; }
.v2cday-vs2__ic svg { width: 24px; height: 24px; }
.v2cday-vs2__card.is-formal .v2cday-vs2__ic { background: var(--rose-tint); color: var(--rose); }
.v2cday-vs2__card.is-soft .v2cday-vs2__ic { background: var(--blue-tint); color: var(--blue); }
.v2cday-vs2__tag { display: inline-flex; align-items: center; gap: 6px; font-size: 10.5px; margin-bottom: 8px; }
.v2cday-vs2__tag svg { width: 14px; height: 14px; }
.v2cday-vs2__card.is-formal .v2cday-vs2__tag { color: var(--rose); }
.v2cday-vs2__card.is-soft .v2cday-vs2__tag { color: var(--blue); }
.v2cday-vs2__card h3 { font-family: var(--font-display); font-size: 16.5px; font-weight: 700; color: var(--ink); margin: 0 0 8px; }
.v2cday-vs2__card p { margin: 0 0 8px; color: var(--slate); font-size: 13.5px; line-height: 1.6; }
.v2cday-vs2__card p:last-child { margin-bottom: 0; }

/* ---------- Interpretation reading cards ---------- */
.v2cday-read { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; }
.v2cday-read__card { padding: 18px; border: 1px solid var(--indigo-line); border-radius: 13px; background: linear-gradient(180deg, var(--indigo-tint), var(--paper)); box-shadow: var(--cd-shadow); }
.v2cday-read__label { display: inline-flex; align-items: center; gap: 7px; color: var(--indigo); font-size: 11px; margin: 0 0 8px; }
.v2cday-read__label svg { width: 15px; height: 15px; }
.v2cday-read__card h3 { font-family: var(--font-display); font-size: 16px; font-weight: 700; color: var(--ink); margin: 0 0 8px; }
.v2cday-read__card p { margin: 0; color: var(--slate); font-size: 13.5px; line-height: 1.6; }

/* ---------- Converge callout ---------- */
.v2cday-callout { display: flex; gap: 13px; padding: 18px; border: 1px solid var(--go-line); border-radius: 13px; background: var(--go-tint); box-shadow: var(--cd-shadow); }
.v2cday-callout__ic { flex-shrink: 0; width: 40px; height: 40px; border-radius: 10px; display: grid; place-items: center; background: #fff; color: var(--go-deep); }
.v2cday-callout__ic svg { width: 24px; height: 24px; }
.v2cday-callout__t { margin: 0 0 5px; font-family: var(--font-display); font-weight: 700; font-size: 15.5px; color: var(--ink); }
.v2cday-callout__tx p:last-child { margin: 0; color: var(--slate); font-size: 13.5px; line-height: 1.6; }

/* ---------- Pool tiers ---------- */
.v2cday-pool { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; }
.v2cday-pool__card { padding: 16px 18px; border: 1px solid var(--line); border-radius: 13px; background: var(--paper); box-shadow: var(--cd-shadow); }
.v2cday-pool__card.is-best { border-color: var(--go); box-shadow: 0 0 0 1px var(--go), var(--cd-shadow); }
.v2cday-pool__lab { margin: 0 0 2px; color: var(--faint); font-size: 10px; }
.v2cday-pool__lab:not(:first-child) { margin-top: 12px; }
.v2cday-pool__size { margin: 0; font-family: var(--font-display); font-weight: 800; font-size: 22px; color: var(--ink); }
.v2cday-pool__cushion { margin: 0; color: var(--slate); font-size: 13.5px; line-height: 1.5; }
.v2cday-pool__risk { display: inline-flex; align-items: center; gap: 6px; padding: 4px 11px; border-radius: 99px; font-size: 12.5px; font-weight: 650; }
.v2cday-pool__risk svg { width: 15px; height: 15px; }
.v2cday-pool__risk.is-high { background: var(--rose-tint); color: var(--rose); }
.v2cday-pool__risk.is-mod { background: var(--amber-tint); color: var(--amber-deep); }
.v2cday-pool__risk.is-low { background: var(--go-tint); color: var(--go-deep); }
.v2cday-pool__foot { display: flex; gap: 8px; align-items: flex-start; margin: 2px 0 0; color: var(--faint); font-size: 11.5px; line-height: 1.5; }
.v2cday-pool__foot svg { flex-shrink: 0; width: 15px; height: 15px; margin-top: 1px; }

/* ---------- Google quote ---------- */
.v2gpr-prose .v2cday-quote { margin: 26px 0; padding: 22px 26px 20px; border-radius: 14px; border: 1px solid var(--blue-line); border-left: 4px solid var(--blue); background: linear-gradient(180deg, var(--blue-tint), var(--paper)); box-shadow: var(--cd-shadow); }
.v2cday-quote__mark { display: block; font-family: var(--font-display); font-weight: 800; font-size: 40px; line-height: 1; color: var(--blue); opacity: .3; margin-bottom: -4px; }
.v2cday-quote blockquote { margin: 0 0 12px; font-family: var(--font-display); font-size: clamp(18px, 4.6vw, 23px); font-weight: 600; line-height: 1.4; color: var(--ink); }
.v2cday-quote figcaption { display: inline-flex; align-items: center; gap: 7px; color: var(--blue); font-size: 11px; }
.v2cday-quote figcaption svg { width: 15px; height: 15px; }

/* ---------- Three-word key grid ---------- */
.v2cday-key3 { border: 1px solid var(--blue-line); border-radius: 14px; background: linear-gradient(180deg, var(--blue-tint), var(--paper)); padding: 18px; }
.v2cday-key3__h { display: flex; align-items: center; gap: 8px; color: var(--blue); font-size: 11.5px; margin: 0 0 14px; }
.v2cday-key3__h svg { width: 17px; height: 17px; }
.v2cday-key3__grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 10px; }
.v2cday-key3__cell { display: flex; gap: 11px; align-items: center; padding: 12px 14px; border-radius: 11px; background: #fff; border: 1px solid var(--blue-line); }
.v2cday-key3__ic { flex-shrink: 0; width: 30px; height: 30px; border-radius: 8px; display: grid; place-items: center; background: var(--blue-tint); color: var(--blue); }
.v2cday-key3__ic svg { width: 19px; height: 19px; }
.v2cday-key3__cell p { margin: 0; color: var(--slate); font-size: 13.5px; line-height: 1.5; }
.v2cday-key3__cell p strong { color: var(--ink); }

/* ---------- Feature tiles ---------- */
.v2cday-feats { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; }
.v2cday-feat { display: flex; gap: 13px; align-items: flex-start; padding: 16px; border: 1px solid var(--line); border-radius: 13px; background: var(--paper); box-shadow: var(--cd-shadow); }
.v2cday-feat__ic { flex-shrink: 0; width: 40px; height: 40px; border-radius: 10px; display: grid; place-items: center; background: var(--go-tint); color: var(--go-deep); }
.v2cday-feat__ic svg { width: 24px; height: 24px; }
.v2cday-feat__t { display: block; font-family: var(--font-display); font-size: 15.5px; font-weight: 700; line-height: 1.28; color: var(--ink); margin-bottom: 4px; text-wrap: balance; }
.v2cday-feat__s { display: block; color: var(--slate); font-size: 13px; line-height: 1.55; }

/* ---------- Pricing plaques ---------- */
.v2cday-pricing { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; }
.v2cday-price { position: relative; text-align: center; padding: 22px 16px 18px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); box-shadow: var(--cd-shadow); }
.v2cday-price__name { font-family: var(--font-mono); font-size: 11.5px; text-transform: uppercase; letter-spacing: .04em; color: var(--faint); margin-bottom: 8px; }
.v2cday-price__amt { font-family: var(--font-display); font-size: 40px; font-weight: 800; color: var(--ink); line-height: 1; }
.v2cday-price__amt small { font-size: 20px; font-weight: 700; vertical-align: super; margin-right: 1px; }
.v2cday-price__testers { margin: 8px 0 14px; color: var(--slate); font-size: 13px; line-height: 1.5; }
.v2cday-price__testers b { color: var(--ink); font-weight: 700; }
.v2cday-price .v2cday-price__btn { display: block; padding: 11px; border-radius: 9px; background: var(--ink); color: #fff; font-weight: 650; font-size: 13.5px; text-decoration: none; transition: background .18s; }
.v2cday-price .v2cday-price__btn:hover { background: #1c2732; text-decoration: none; }
.v2cday-price.is-best { border-color: var(--go); box-shadow: 0 0 0 1px var(--go), var(--cd-shadow-lg); }
.v2cday-price.is-best .v2cday-price__btn { background: var(--go); }
.v2cday-price.is-best .v2cday-price__btn:hover { background: var(--go-deep); }
.v2cday-price__tag { position: absolute; top: -11px; left: 50%; transform: translateX(-50%); background: var(--go); color: #fff; font-family: var(--font-mono); font-size: 10px; letter-spacing: .04em; text-transform: uppercase; padding: 4px 12px; border-radius: 99px; white-space: nowrap; }

/* ---------- Tablet and up (min-width: 640px) ---------- */
@media (min-width: 640px) {
    .v2cday-verdict__strip { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .v2cday-streak__row { grid-template-columns: 72px 1fr auto; }
    .v2cday-streak__bar { grid-column: auto; }
    .v2cday-streak__end { grid-column: auto; text-align: right; }
    .v2cday-two { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .v2cday-math { grid-template-columns: 1fr auto 1fr; }
    .v2cday-scn__row { flex-direction: row; align-items: center; justify-content: space-between; gap: 16px; }
    .v2cday-scn__v { align-self: center; flex-shrink: 0; }
    .v2cday-break { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .v2cday-vs2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .v2cday-read { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .v2cday-pool { grid-template-columns: repeat(3, minmax(0,1fr)); align-items: start; }
    .v2cday-pool__foot { grid-column: 1 / -1; }
    .v2cday-key3__grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .v2cday-key3__cell { flex-direction: column; text-align: center; gap: 8px; }
    .v2cday-feats { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .v2cday-feat__t { min-height: 2.56em; }
    .v2cday-pricing { grid-template-columns: repeat(3, minmax(0,1fr)); align-items: center; }
    .v2cday-price.is-best { transform: scale(1.04); }
}

/* ---------- Desktop (min-width: 980px) ---------- */
@media (min-width: 980px) {
    .v2cday-feats { grid-template-columns: repeat(4, minmax(0,1fr)); }
    .v2cday-feat { flex-direction: column; gap: 11px; }
    .cday-bstat .n { font-size: 30px; }
}

/* ---------- Micro screens (max-width: 380px) ---------- */
@media (max-width: 380px) {
    .cday-cal { gap: 4px; }
    .cday-cell { border-radius: 7px; }
    .cday-cell .dn { font-size: 9px; }
    .v2cday-build__stats { gap: 6px; }
    .cday-bstat .n { font-size: 22px; }
    .v2cday-diag__chips .cday-dchip { font-size: 12px; padding: 8px 11px; }
}

/* ---------- Reduced motion ---------- */

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .v2 *, .v2 *::before, .v2 *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}
