/* ============================================================
   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;
    left: -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-right: 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;
    right: 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);
    right: 0;
    left: 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 .v2-lang { display: none; }
    .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-right: 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-right: 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;
    left: 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;
    right: 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: right 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-left: 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-right: 26px;
    font-size: 14.5px;
    line-height: 1.5;
    color: var(--slate);
}
.v2-plan__list li::before {
    content: "";
    position: absolute;
    right: 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-right: 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;
    right: 0;
    left: 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;
    right: 0;
    left: 6px;
    top: 13.5px;
    height: 2px;
    border-radius: 2px;
    background: var(--go);
    transform-origin: right 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: left;
    }
    .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-left: clamp(26px, 3.5vw, 44px); }
.v2-faq__col:last-child {
    padding-right: clamp(26px, 3.5vw, 44px);
    border-right: 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;
    right: 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 2px 17px 30px; }
.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 18px 14px 16px;
}
.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-right: 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-right: 0;
        text-align: center;
    }
    .v2 .v2-faq__wa { margin-right: auto; }
}
@media (max-width: 900px) {
    .v2-faq__cols { grid-template-columns: minmax(0, 1fr); margin-top: 30px; }
    .v2-faq__col:first-child { padding-left: 0; }
    .v2-faq__col:last-child { padding-right: 0; border-right: 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 0 16px 8px; }
    .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-right: 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-right: 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;
    right: 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;
    right: 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;
    left: -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-right: 26px;
    font-size: 14px;
    line-height: 1.55;
    color: var(--slate);
}
.v2-way__list li::before {
    content: "";
    position: absolute;
    right: 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 { right: calc((100% - 40px) / 3 + 10px); }
.v2-ways__vs--b { right: 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-right: 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;
    right: 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;
    right: 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;
    right: 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-right: 2px; }
.v2-video__cover:hover .v2-video__playbtn { transform: translate(50%, -50%) scale(1.07); }
.v2-video__dur {
    position: absolute;
    right: 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-right: 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-right: 30px;
}
.v2-reports__list li::before {
    content: "";
    position: absolute;
    right: 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-right: 1px solid var(--line);
}
.v2-reports__tier:first-child { border-right: 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-right: 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-left: 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: right;
    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-right: 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 44px 0 0;
    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;
    right: 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-left: 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-right: 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: right;
}
.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: right;
}
.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: right;
    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;
        right: 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-right: 26px;
    font-size: 13.5px;
    line-height: 1.5;
    color: var(--slate);
}
.v2-cost__list li::before {
    content: "";
    position: absolute;
    right: 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-right: 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: right;
    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-right: 26px;
    font-size: 14px;
    line-height: 1.55;
    color: var(--slate);
}
.v2s-pvo__col ul li::before {
    content: "";
    position: absolute;
    right: 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;
    left: -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-right: 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-right: 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;
        right: 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: left;
    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;
    right: 4%;
    left: 4%;
    height: 2px;
    background: var(--line);
}
.v2a-line__node { position: relative; text-align: center; padding-top: 22px; }
.v2a-line__dot {
    position: absolute;
    top: -1px;
    right: 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: right; padding-top: 0; padding-right: 24px; }
    .v2a-line__dot { right: 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: right; 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-right: 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: right;
}
.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-right: 26px;
    font-size: 14.5px;
    line-height: 1.6;
    color: var(--slate);
}
.v2r-card__list li::before {
    content: "";
    position: absolute;
    right: 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-right: 28px;
}
.v2r-mail__body li::before {
    content: "";
    position: absolute;
    right: 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-right: 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;
    right: 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-right: 24px;
    font-size: 14px;
    line-height: 1.65;
    color: var(--slate);
}
.v2l-sec ul li::before {
    content: "";
    position: absolute;
    right: 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-right: 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: right;
    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;
    right: 4%;
    left: 4%;
    height: 2px;
    background: var(--line);
    transform-origin: right 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;
        right: 5px;
        left: 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: right;
        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-right: 26px;
    font-size: 14px;
    line-height: 1.5;
    color: var(--slate);
}
.v2-hstep__list li::before {
    content: "";
    position: absolute;
    right: 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-right: 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 26px 9px 0;
    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;
    right: 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-right: -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;
    left: 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-right: 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-right: 26px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: var(--ink);
}
.v2-hsafe__item b::before {
    content: "";
    position: absolute;
    right: 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-right: 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;
    right: 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 48px 0 118px;
    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;
    left: 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 44px 0 96px;
        font-size: 15px;
    }
    .v2-fqsearch__ic { right: 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;
    left: 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-right: 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-left: 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: left 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;
    right: -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-right: 26px;
    font: 400 13.5px/1.55 var(--font-body);
    color: var(--slate);
}
.v2-ctf__list li::before {
    content: "";
    position: absolute;
    right: 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: right;
    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-right: 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: right;
}
.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-right: 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;
    right: 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-right: 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-right: 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-left: 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-right: 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;
    right: 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-right: 2px solid var(--line);
    padding-right: 28px;
}
.v2-cstl__item { position: relative; padding-bottom: 26px; }
.v2-cstl__item:last-child { padding-bottom: 0; }
.v2-cstl__item::before {
    content: '';
    position: absolute;
    right: -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-right: 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-right: 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-right: 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-right: 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-right: 22px; }
    .v2-cstl__item { padding-bottom: 22px; }
    .v2-cstl__item::before { right: -29px; }

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

    .v2-csquote { padding: 22px 20px; }
    .v2-csquote__chip { margin-right: 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-right: 0; }
    .v2-csend__rel { padding: 13px 15px; }

    .v2-csl__card { padding: 20px; }
    .v2-csl__result { margin-right: 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-left: 7px; }

/* The CSV roster window */
.v2-t12hero__art { min-width: 0; }
.v2-t12csv {
    width: min(100%, 440px);
    margin-right: 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-right: 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-right: 7px;
    padding-right: 20px;
    border-right: 2px solid var(--line);
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.v2-t12rule__node { position: relative; }
.v2-t12rule__node::before {
    content: "";
    position: absolute;
    right: -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-right: 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;
    right: 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: left;
    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: left;
}
.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-right: 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-right: 32px;
}
.v2-t12kit__item::before {
    content: "";
    position: absolute;
    right: 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-right: 3px solid var(--go);
    border-radius: 16px;
    padding: 20px 24px;
    text-align: right;
    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-right: 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-right: 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;
    right: 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-right: 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;
    right: 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 42px 0 44px;
    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;
    left: 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: right; margin-top: 18px; }
    .v2-auth__list li { font-size: 13.8px; }
    .v2-auth__peek, .v2-auth__quote { margin-inline: auto; text-align: right; }
    .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-left: 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-right: 26px;
    font-size: 14px;
    line-height: 1.55;
    color: var(--slate);
}
.v2-qam__list li::before {
    content: "";
    position: absolute;
    right: 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-right: 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-right: 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;
    right: 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;
    right: 8px;
    left: 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: left; }
.v2-ck__item-unit { font-size: 10px; color: var(--faint); }
.v2-ck__item-unit s { color: var(--faint); margin-left: 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; }
/* Armed remove: red danger fill, white X, tooltip below (avoids price column at 390px). */
.v2 .v2-ck__remove.is-arm {
    position: relative;
    background: #DC2626;
    color: #FFFFFF;
}
.v2 .v2-ck__remove.is-arm:hover { background: #B91C1C; color: #FFFFFF; }
.v2 .v2-ck__remove.is-arm .v2-ck__remove-x { display: inline-flex; color: #FFFFFF; }
.v2 .v2-ck__remove.is-arm .v2-ck__remove-x svg { stroke: #FFFFFF; color: #FFFFFF; }
.v2 .v2-ck__remove.is-arm .v2-ck__remove-confirm { display: none; }
.v2 .v2-ck__remove.is-arm::after {
    content: "Tap again to remove";
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: auto;
    z-index: 6;
    padding: 5px 8px;
    border-radius: 6px;
    background: #DC2626;
    color: #FFFFFF;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
    pointer-events: none;
    box-shadow: 0 4px 12px rgba(16, 24, 40, .2);
}
.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: right;
    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: left;
    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 54px 16px 18px;
}
.v2-ck__steppip {
    position: absolute;
    right: 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-right: 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;
    right: 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 40px 0 42px;
    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;
    left: 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-right: 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-right: 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;
    left: 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;
    right: 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-left: 1px solid var(--line);
}
.v2-ck__stats li:last-child { border-left: 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-right: 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; right: 0; top: 15px; width: 40px; height: 40px; border-radius: 12px; }
    .v2-ck__item-ic svg { width: 20px; height: 20px; }
    .v2-ck__item-main { padding-right: 52px; padding-left: 36px; min-height: 42px; }
    .v2 .v2-ck__remove { position: absolute; top: 15px; left: 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-left: 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-left: 7px; }

.v2-ctshero__art { min-width: 0; }
.v2-ctslog {
    width: min(100%, 460px);
    margin-right: 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-right: 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-right: 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;
    right: 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-right: 28px;
}
.v2-ctssvc__checks li::before {
    content: "";
    position: absolute;
    right: 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;
    right: 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-right: 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-right: 32px;
}
.v2-ctsinc__list li::before {
    content: "";
    position: absolute;
    right: 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: left; }
.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-right: 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;
    right: 18px;
    bottom: 18px;
    z-index: 940;
    display: flex;
    align-items: center;
    gap: 13px;
    max-width: min(430px, calc(100vw - 96px));
    padding: 13px 15px 13px 14px;
    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;
    left: -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 {
        right: 12px;
        bottom: 12px;
        max-width: calc(100vw - 88px); /* keep clear of the Crisp bubble */
        gap: 10px;
        padding: 11px 12px 11px 11px;
        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);
    right: 0;
    left: 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-right: 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;
    right: 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;
    right: 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-right: 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-right: 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-right: 1px solid var(--line); padding-right: 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 0 6px 6px;
}
.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;
    right: 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;
    left: 19px;
    top: 44%;
    width: 9px;
    height: 9px;
    border-left: 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 16px 13px 44px;
    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-left: 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-right: 17px;
    font-size: 13px;
    line-height: 1.7;
    color: var(--slate);
    margin-bottom: 4px;
}
.v2gpr-gate ul li::before {
    content: '';
    position: absolute;
    right: 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-left: 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-right: 6px; }
.v2gpr-vtl__item {
    position: relative;
    padding: 0 32px 22px 0;
    border-right: 2px solid #E9EDF1;
}
.v2gpr-vtl__item:last-child { border-right-color: transparent; padding-bottom: 0; }
.v2gpr-vtl__dot {
    position: absolute;
    right: -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-right: 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;
    right: 7%;
    left: 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;
    right: 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: left; }

/* ---------- 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-right: 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;
    left: 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-right: 16px;
    font-size: 13.5px;
    line-height: 1.7;
    color: var(--slate);
    margin-bottom: 5px;
}
.v2gpr-icon__txt ul li::before {
    content: '';
    position: absolute;
    right: 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;
    right: 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-right: 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-right: 16px;
    font-size: 13px;
    line-height: 1.65;
    color: var(--slate);
    margin-bottom: 5px;
}
.v2gpr-q3__card ul li::before {
    content: '';
    position: absolute;
    right: 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%;
    right: 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-right: 3px; }
.v2gpr-video__dur {
    position: absolute;
    bottom: 10px;
    left: 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;
    right: 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: right;
    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%;
    right: 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;
    right: 0;
    left: 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-right: 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-right: 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-left: 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: right; }
    .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-right: 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 14px 12px 40px; }
    .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-left: 7px; }
    .v2gpr-vtl__item { padding-right: 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 { right: 9%; left: 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-right: 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-right: 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-right: 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-right: 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%;
    right: 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 { right: 33.4%; }
.v2gpr-tracks .v2gpr-vs.is-b { right: 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;
    left: 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;
    left: 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;
    right: 44%;
    top: 34px;
    width: 8px;
    height: 8px;
    margin-right: -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;
    left: -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;
    right: 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;
    left: 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 { right: 33.4%; }
.v2gpr-q3__arrow.is-b { right: 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: right; }
    .v2gpr-fee__txt { text-align: right; }
    .v2gpr-api__today .v2-mono { top: -16px; left: -2px; }
    .v2gpr-ready__ring { width: 44px; height: 44px; }
    .v2gpr-myth__stamp { top: 12px; left: 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-right: 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-right: 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: right;
    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;
    right: 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-right: 38px;
    margin-bottom: 10px;
}
.v2g7-quote figcaption {
    font-size: 9.5px;
    color: var(--faint);
    padding-right: 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;
    left: 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: right;
    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-right: 32px; }
    .v2g7-deadlines { padding: 18px 16px; }

    .v2g7-method { padding: 19px 16px; }
    .v2g7-method__num { font-size: 68px; top: -10px; left: 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;
        right: 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;
    right: 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-right: 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;
    right: 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;
    right: 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;
    right: 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-left: 1px solid var(--line);
}
.v2pvo-ct__val { color: var(--slate); display: flex; align-items: flex-start; gap: 8px; }
.v2pvo-ct__val.is-personal { border-left: 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-right: 3px solid var(--ink);
    border-radius: 12px 0 0 12px;
    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-left: none;
        font-size: 13px;
    }
    .v2pvo-ct__val.is-personal { border-left: 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;
    right: 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: right; }
.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-left: 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-left: none;
        font-size: 13px;
    }
    .v2tt-ct__val {
        text-align: right;
        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: left; }
}

/* ============================================================
   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-left: 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-left: 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-right: 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-right: 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-right: 3px solid var(--go);
    border-radius: 12px 0 0 12px;
    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; right: 50%; top: 100%;
    width: 10px; height: 10px;
    border-right: 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-right: 3px solid var(--ink);
    border-radius: 14px 0 0 14px;
    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; right: 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; right: 50%; top: 100%;
    width: 9px; height: 9px;
    border-right: 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-right: 1px solid var(--line);
    border-left: 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 16px 14px 44px;
    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;
    left: 20px; top: 50%;
    width: 9px; height: 9px;
    border-left: 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; right: 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; left: 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-left: 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; right: 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: right; }
.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: right; 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-right: 3px solid var(--go);
    border-radius: 12px 0 0 12px;
    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;
    right: 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-right: 1px solid rgba(11, 138, 71, 0.22); padding-right: 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 54px 20px 0;
    border-right: 2px solid var(--line);
    margin-right: 17px;
}
.v2p25-step:last-child { border-right-color: transparent; padding-bottom: 0; }
.v2p25-step::before {
    counter-increment: p25step;
    content: counter(p25step);
    position: absolute;
    right: -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-right: 3px solid var(--ink);
    border-radius: 14px 0 0 14px;
    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-right: 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 26px 0 0;
    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;
    right: 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; right: 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-right: 3px solid var(--go);
    border-radius: 14px 0 0 14px;
    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-right: 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: right;
    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-left: 7px; }
.v2p25-cmp__dash {
    display: inline-block; vertical-align: middle;
    width: 14px; height: 2px; border-radius: 2px;
    background: #C9D2DA; margin-left: 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; right: 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: right; 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-right: 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-right: none; border-top: 1px solid rgba(11, 138, 71, 0.22); padding-right: 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: right;
    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; left: 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-right: 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-right: 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; left: 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-right-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; left: 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-right: 12px; border-right: 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; right: 50%; bottom: -8px; transform: translateX(50%);
    width: 0; height: 0; border-right: 6px solid transparent; border-left: 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-right: 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: right; 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; right: 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-right: 18px; color: var(--slate); font-size: 13.5px; line-height: 1.5; }
.v2own-q3__card li::before { content: ""; position: absolute; right: 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-left: 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; right: 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-right: 4px solid var(--go); background: var(--go-tint); border-radius: 12px 0 0 12px; padding: 14px 18px; }
.v2cday-lead p { margin: 0; color: var(--ink); font-size: 15px; line-height: 1.65; }
.v2cday-lead.is-bad  { border-right-color: var(--rose); background: var(--rose-tint); }
.v2cday-lead.is-warn { border-right-color: var(--star); background: var(--amber-tint); }
.v2cday-lead.is-info { border-right-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; right: 6px; left: 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; left: 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-right: 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-right-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-right-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-right-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-right-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-right: 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-left: 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; right: 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: left; }
    .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;
    }
}

/* ============================================================
   FAQ page: EP-01 always-open featured answers (2026-07-11).
   Same row rhythm as the accordion items; a quiet green dot
   marks the answer as already open.
   ============================================================ */
.v2fqx-open { padding: 15px 2px 2px; }
.v2fqx-q {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin: 0 0 6px;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: -0.01em;
    line-height: 1.35;
    color: var(--ink);
}
.v2fqx-q::before {
    content: "";
    flex: 0 0 auto;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--go);
    transform: translateY(-1px);
}
.v2fqx-a { padding: 0 17px 0 24px; }
@media (max-width: 640px) {
    .v2fqx-open { padding: 14px 0 2px; }
    .v2fqx-q { font-size: 14.5px; }
    .v2fqx-a { padding: 0 17px 0 8px; }
}

/* EP-02 (2026-07-11): how-it-works plain-prose process summary. */
.v2hwx-sum {
    max-width: 720px;
    margin: 26px auto 34px;
    padding: 20px 24px;
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.16);
    border-radius: 14px;
}
.v2hwx-sum p {
    margin: 0 0 12px;
    font-size: 15px;
    line-height: 1.65;
    color: var(--ink);
}
.v2hwx-sum p:last-child { margin-bottom: 0; }
@media (max-width: 640px) {
    .v2hwx-sum { padding: 16px 16px; margin: 20px 0 26px; }
    .v2hwx-sum p { font-size: 14px; }
}

/* ============================================================
   Case-studies hub: EP-05 proof standard + results + patterns
   (2026-07-11). Quiet prose blocks + a plain results table.
   ============================================================ */
.v2csx-prose { max-width: 720px; margin: 0 auto; }
.v2csx-prose p {
    margin: 0 0 14px;
    font-size: 15.5px;
    line-height: 1.7;
    color: var(--ink);
}
.v2csx-gap { margin-top: 56px; }
.v2csx-tablewrap { max-width: 720px; margin: 0 auto; overflow-x: auto; }
.v2csx-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 15px;
}
.v2csx-table th,
.v2csx-table td {
    padding: 12px 14px;
    border-bottom: 1px solid var(--line);
    text-align: right;
    vertical-align: top;
}
.v2csx-table th { font-weight: 600; color: var(--ink); width: 62%; }
.v2csx-table td { font-weight: 600; color: var(--go-deep); white-space: nowrap; }
.v2csx-patterns {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    max-width: 1040px;
    margin: 0 auto;
}
.v2csx-pattern {
    padding: 20px 20px 22px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 14px;
}
.v2csx-pattern h3 {
    margin: 0 0 8px;
    font-size: 16px;
    letter-spacing: -0.01em;
}
.v2csx-pattern p {
    margin: 0;
    font-size: 14px;
    line-height: 1.62;
    color: var(--body, #3d4854);
}
@media (max-width: 960px) {
    .v2csx-patterns { grid-template-columns: 1fr; max-width: 720px; }
}
@media (max-width: 640px) {
    .v2csx-gap { margin-top: 40px; }
    .v2csx-table th { width: auto; }
    .v2csx-table td { white-space: normal; }
}

/* =============================================================
   BLOG UPD V2  -  "Does Updating My App Reset the 14-Day Closed Test?"
   Unique internal components for the does-updating-reset post.
   Authored MOBILE-FIRST: base rules target phones, min-width
   queries add columns. Signature motif = TWO LANES - the builds
   you ship pile up in one lane while the tester-driven 14-day
   clock runs in the other, and they never touch. Green is the
   primary accent (the answer is No, it never resets / it keeps
   running); rose marks breaks/resets/below-12, amber marks
   caution + the permission trap, blue the Google wording, indigo
   the community read. Light components only - the two dark
   moments are the shared .v2gpr-qa capsule and the final .v2-cta.
   Widget hooks the interactive JS depends on (.v2upd-cchip.is-active,
   .v2upd-res.is-safe/.is-reset/.is-indirect, .v2upd-day.is-done/.is-broken,
   .v2upd-sim__msg.is-ok/.is-win/.is-warn/.is-bad,
   .v2upd-sim__stat.is-danger) are styled here too.
============================================================= */
.v2upd-verdict,
.v2upd-checker,
.v2upd-trig,
.v2upd-sim,
.v2upd-safe,
.v2upd-steps,
.v2upd-callout,
.v2upd-funnel,
.v2upd-quote,
.v2upd-facts3,
.v2upd-signal,
.v2upd-chain,
.v2upd-note,
.v2upd-auto,
.v2upd-warn,
.v2upd-myths,
.v2upd-tblwrap,
.v2upd-tl,
.v2upd-2026,
.v2upd-feats,
.v2upd-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;
    --ud-shadow: 0 1px 2px rgba(10,16,23,.04), 0 10px 26px -14px rgba(6,78,59,.16);
    --ud-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, No verdict) */
.v2upd-eyebrow { color: var(--go-deep); }
.v2upd-eyebrow::before { background: var(--go) !important; }
.v2upd-facts .v2upd-fact--yes b { color: var(--go); }

/* Quick-answer highlight tints (inside dark .v2gpr-qa) */
.v2gpr-qa .upd-qk-drop { color: #FCA5A5; }
.v2gpr-qa .upd-qk-enc { color: #FFD56B; }

/* ---------- Signature verdict panel (two-lane motif) ---------- */
.v2upd-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(--ud-shadow-lg);
}
.v2upd-verdict__head { padding: 22px 20px 4px; }
.v2upd-verdict__tag { display: inline-flex; align-items: center; gap: 8px; color: var(--go-deep); font-size: 11px; margin: 0 0 14px; }
.v2upd-verdict__tag svg { width: 16px; height: 16px; }
.v2upd-verdict__no { display: flex; align-items: center; gap: 14px; }
.v2upd-verdict__seal { 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); }
.v2upd-verdict__seal svg { width: 30px; height: 30px; }
.v2upd-verdict__h { font-family: var(--font-display); font-weight: 800; font-size: clamp(24px, 6vw, 32px); line-height: 1.04; color: var(--ink); margin: 0; letter-spacing: -.01em; }
.v2upd-verdict__sub { display: block; margin-top: 5px; color: var(--slate); font-size: 13.5px; font-weight: 600; }

/* two-lane diagram */
.v2upd-lanes { margin: 16px 20px 4px; display: grid; gap: 10px; }
.v2upd-lane { border-radius: 13px; padding: 13px 15px; border: 1px solid var(--line); background: var(--mist); display: grid; grid-template-columns: 1fr; gap: 9px; align-items: center; }
.v2upd-lane.is-clock { border-color: var(--go-line); background: var(--go-tint); }
.v2upd-lane__lab { font-size: 10px; letter-spacing: .05em; color: var(--faint); }
.v2upd-lane.is-clock .v2upd-lane__lab { color: var(--go-deep); }
.v2upd-lane__flow { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.v2upd-ver { font-family: var(--font-mono); font-size: 11.5px; font-style: normal; color: var(--slate); background: var(--paper); border: 1px solid var(--line); border-radius: 7px; padding: 4px 9px; }
.v2upd-arr { width: 14px; height: 14px; color: var(--faint); flex-shrink: 0; }
.v2upd-lane__track { display: flex; gap: 3px; }
.v2upd-lane__track i { flex: 1 1 0; height: 12px; border-radius: 3px; background: rgba(11,138,71,.16); }
.v2upd-lane__track i.on { background: linear-gradient(-180deg, #16a86a, var(--go)); }
.v2upd-lane__note { font-size: 11.5px; color: var(--faint); }
.v2upd-lane__note.is-go { color: var(--go-deep); font-weight: 600; }

.v2upd-verdict__p { margin: 12px 20px 0; color: var(--slate); font-size: 15px; line-height: 1.72; }
.v2upd-verdict__reset { margin: 14px 20px 0; padding: 16px; border-radius: 12px; background: var(--rose-tint); border: 1px solid var(--rose-line); }
.v2upd-verdict__resetlbl { display: inline-flex; align-items: center; gap: 7px; color: var(--rose); font-size: 11px; margin: 0 0 8px; }
.v2upd-verdict__resetlbl svg { width: 15px; height: 15px; }
.v2upd-verdict__resetbig { margin: 0; color: var(--ink); font-size: 16px; font-weight: 700; }
.v2upd-verdict__resetbig b { color: var(--rose-deep); }
.v2upd-verdict__resetsm { margin: 6px 0 0; color: var(--slate); font-size: 13.5px; line-height: 1.6; }
.v2upd-verdict__strip { margin-top: 16px; display: grid; grid-template-columns: minmax(0,1fr); gap: 1px; background: var(--line); border-top: 1px solid var(--line); }
.v2upd-tile { display: flex; gap: 12px; padding: 16px 20px; background: var(--paper); }
.v2upd-tile__ic { flex-shrink: 0; width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center; }
.v2upd-tile__ic svg { width: 20px; height: 20px; }
.v2upd-tile.is-ok .v2upd-tile__ic { background: var(--go-tint); color: var(--go-deep); }
.v2upd-tile.is-no .v2upd-tile__ic { background: var(--rose-tint); color: var(--rose); }
.v2upd-tile__tx { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.v2upd-tile__l { font-size: 10.5px; letter-spacing: .05em; }
.v2upd-tile.is-ok .v2upd-tile__l { color: var(--go-deep); }
.v2upd-tile.is-no .v2upd-tile__l { color: var(--rose); }
.v2upd-tile__t { font-weight: 650; color: var(--ink); font-size: 14.5px; }
.v2upd-tile__s { color: var(--faint); font-size: 12.5px; line-height: 1.5; }

/* ---------- Figure (survives the prose reset via scoping) ---------- */
.v2gpr-prose .v2upd-fig { margin: 26px 0; border: 1px solid var(--line); border-radius: 13px; overflow: hidden; background: var(--paper); box-shadow: var(--ud-shadow); }
.v2upd-fig img { display: block; width: 100%; height: auto; }
.v2upd-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; }
.v2upd-fig figcaption svg { flex-shrink: 0; width: 16px; height: 16px; margin-top: 1px; color: var(--go); }

/* ---------- Clock Reset Checker (interactive 1) ---------- */
.v2upd-checker { border: 1px solid var(--line); border-radius: 16px; overflow: hidden; background: var(--paper); box-shadow: var(--ud-shadow-lg); }
.v2upd-checker__head { display: flex; align-items: center; gap: 12px; padding: 16px 18px; background: linear-gradient(-135deg, var(--go-deep), #0f5f3c); color: #fff; }
.v2upd-checker__hi { flex-shrink: 0; width: 40px; height: 40px; border-radius: 11px; background: rgba(255,255,255,.16); display: grid; place-items: center; }
.v2upd-checker__hi svg { width: 24px; height: 24px; }
.v2upd-checker__htx { display: flex; flex-direction: column; gap: 2px; }
.v2upd-checker__ht { font-family: var(--font-display); font-weight: 700; font-size: 17px; }
.v2upd-checker__hs { font-size: 12.5px; color: rgba(255,255,255,.78); line-height: 1.4; }
.v2upd-checker__body { padding: 18px; }
.v2upd-checker__q { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; color: var(--faint); font-size: 11px; }
.v2upd-checker__q svg { width: 15px; height: 15px; }
.v2upd-checker__chips { display: grid; grid-template-columns: minmax(0,1fr); gap: 8px; }
.v2 .v2upd-cchip { display: flex; align-items: center; gap: 10px; width: 100%; text-align: right; padding: 12px 14px; border: 1.5px solid var(--line); border-radius: 11px; background: var(--paper); color: var(--slate); font-family: inherit; font-size: 13px; font-weight: 600; line-height: 1.3; cursor: pointer; transition: border-color .15s, background .15s, color .15s; -webkit-tap-highlight-color: transparent; }
.v2 .v2upd-cchip svg { width: 18px; height: 18px; flex-shrink: 0; color: var(--faint); transition: color .15s; }
.v2 .v2upd-cchip:hover { border-color: #BFDBCB; background: var(--mist); color: var(--ink); }
.v2 .v2upd-cchip.is-active { border-color: var(--go); background: var(--go-tint); color: var(--go-deep); }
.v2 .v2upd-cchip.is-active svg { color: var(--go); }
.v2upd-checker__out { margin-top: 16px; }
.v2upd-checker__empty { display: flex; align-items: center; gap: 9px; padding: 22px 18px; border: 1px dashed var(--line); border-radius: 12px; color: var(--faint); font-size: 13px; background: var(--mist); justify-content: center; text-align: center; }
.v2upd-checker__empty svg { width: 18px; height: 18px; flex-shrink: 0; }
.v2upd-checker__foot { margin: 14px 0 0; color: var(--faint); font-size: 11.5px; line-height: 1.5; font-style: italic; }
/* checker verdict card (built in JS) */
.v2upd-res { border-radius: 12px; overflow: hidden; border: 1px solid var(--line); border-right-width: 4px; animation: v2updFade .3s ease both; }
@keyframes v2updFade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.v2upd-res__top { display: flex; align-items: center; gap: 12px; padding: 14px 16px 10px; }
.v2upd-res__ic { flex-shrink: 0; width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; background: #fff; }
.v2upd-res__ic svg { width: 22px; height: 22px; }
.v2upd-res__v { font-weight: 700; font-size: 15.5px; color: var(--ink); display: flex; flex-direction: column; }
.v2upd-res__v span { font-family: var(--font-mono); font-weight: 600; font-size: 11px; letter-spacing: .03em; color: var(--faint); margin-top: 2px; }
.v2upd-res__body { padding: 0 16px 15px; }
.v2upd-res__body p { margin: 0; color: var(--slate); font-size: 13.5px; line-height: 1.65; }
.v2upd-res.is-safe { background: var(--go-tint); border-color: var(--go-line); border-right-color: var(--go); }
.v2upd-res.is-safe .v2upd-res__ic { color: var(--go-deep); }
.v2upd-res.is-reset { background: var(--rose-tint); border-color: var(--rose-line); border-right-color: var(--rose); }
.v2upd-res.is-reset .v2upd-res__ic { color: var(--rose); }
.v2upd-res.is-indirect { background: var(--amber-tint); border-color: var(--amber-line); border-right-color: var(--star); }
.v2upd-res.is-indirect .v2upd-res__ic { color: var(--amber-deep); }

/* ---------- Two breaker cards ---------- */
.v2upd-trig { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; }
.v2upd-trig__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(--ud-shadow); }
.v2upd-trig__n { position: absolute; top: 6px; left: 12px; font-family: var(--font-display); font-weight: 800; font-size: 52px; line-height: 1; color: var(--rose-tint); z-index: 0; }
.v2upd-trig__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; }
.v2upd-trig__ic svg { width: 22px; height: 22px; }
.v2upd-trig__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; }
.v2upd-trig__card p { position: relative; z-index: 1; margin: 0; color: var(--slate); font-size: 13.5px; line-height: 1.6; }
.v2upd-trig__card p b { color: var(--rose-deep); }
.v2upd-trig__card a { color: var(--rose-deep); font-weight: 700; text-decoration-color: rgba(180,35,24,.32); }

/* ---------- 14-Day Streak Simulator (interactive 2) ---------- */
.v2upd-sim { border: 1px solid var(--line); border-radius: 16px; overflow: hidden; background: var(--paper); box-shadow: var(--ud-shadow-lg); }
.v2upd-sim__head { display: flex; align-items: center; gap: 12px; padding: 16px 18px; background: linear-gradient(-135deg, #1b2a3d, #24384f); color: #fff; }
.v2upd-sim__hi { flex-shrink: 0; width: 40px; height: 40px; border-radius: 11px; background: rgba(255,255,255,.14); display: grid; place-items: center; color: #9fd9bb; }
.v2upd-sim__hi svg { width: 24px; height: 24px; }
.v2upd-sim__htx { display: flex; flex-direction: column; gap: 3px; }
.v2upd-sim__ht { font-family: var(--font-display); font-weight: 700; font-size: 17px; }
.v2upd-sim__hs { font-size: 12px; color: rgba(255,255,255,.72); line-height: 1.45; }
.v2upd-sim__body { padding: 18px; }
.v2upd-sim__stats { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px; margin-bottom: 14px; }
.v2upd-sim__stat { text-align: center; padding: 12px 6px; border-radius: 12px; background: var(--mist); border: 1px solid var(--line); transition: background .3s, border-color .3s; }
.v2upd-sim__stat .n { display: block; font-family: var(--font-display); font-weight: 800; font-size: 26px; line-height: 1; }
.v2upd-sim__stat .l { display: block; margin-top: 6px; font-size: 9.5px; letter-spacing: .04em; color: var(--faint); line-height: 1.3; }
.v2upd-sim__stat.is-testers .n { color: var(--go-deep); }
.v2upd-sim__stat.is-testers.is-danger { background: var(--rose-tint); border-color: var(--rose-line); }
.v2upd-sim__stat.is-testers.is-danger .n { color: var(--rose); }
.v2upd-sim__stat.is-day .n { color: var(--ink); }
.v2upd-sim__stat.is-builds .n { color: var(--indigo); }
.v2upd-sim__track { display: grid; grid-template-columns: repeat(14, minmax(0,1fr)); gap: 4px; margin-bottom: 12px; }
.v2upd-day { aspect-ratio: 1 / 1; border-radius: 6px; background: var(--mist); border: 1px solid var(--line); display: grid; place-items: center; font-family: var(--font-mono); font-size: 10px; color: var(--faint); transition: background .2s, border-color .2s, color .2s; }
.v2upd-day.is-done { background: linear-gradient(-180deg, #16a86a, var(--go)); border-color: transparent; color: #fff; }
.v2upd-day.is-done svg { width: 11px; height: 11px; }
.v2upd-day.is-broken { background: repeating-linear-gradient(-45deg, var(--rose-tint), var(--rose-tint) 3px, #fff 3px, #fff 6px); border-color: var(--rose-line); color: var(--rose); }
.v2upd-sim__msg { display: flex; gap: 9px; align-items: flex-start; padding: 12px 14px; border-radius: 11px; font-size: 12.5px; line-height: 1.55; border: 1px solid; }
.v2upd-sim__msgic { flex-shrink: 0; margin-top: 1px; }
.v2upd-sim__msgic svg { width: 17px; height: 17px; }
.v2upd-sim__msg.is-ok, .v2upd-sim__msg.is-win { background: var(--go-tint); border-color: var(--go-line); color: #0b5a34; }
.v2upd-sim__msg.is-ok .v2upd-sim__msgic, .v2upd-sim__msg.is-win .v2upd-sim__msgic { color: var(--go); }
.v2upd-sim__msg.is-warn { background: var(--amber-tint); border-color: var(--amber-line); color: #6b4415; }
.v2upd-sim__msg.is-warn .v2upd-sim__msgic { color: var(--amber-deep); }
.v2upd-sim__msg.is-bad { background: var(--rose-tint); border-color: var(--rose-line); color: var(--rose-deep); }
.v2upd-sim__msg.is-bad .v2upd-sim__msgic { color: var(--rose); }
.v2upd-sim__btns { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.v2 .v2upd-sbtn { flex: 1 1 auto; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 11px 14px; border-radius: 10px; border: 1px solid transparent; font-family: inherit; font-size: 13px; font-weight: 650; cursor: pointer; transition: transform .15s, box-shadow .15s, background .15s; -webkit-tap-highlight-color: transparent; }
.v2 .v2upd-sbtn svg { width: 16px; height: 16px; }
.v2 .v2upd-sbtn.is-push { background: linear-gradient(-135deg, #12b866, var(--go-deep)); color: #fff; box-shadow: 0 6px 16px -6px rgba(11,138,71,.5); }
.v2 .v2upd-sbtn.is-lose { background: #fff; border-color: var(--rose-line); color: var(--rose); }
.v2 .v2upd-sbtn.is-reset { background: var(--mist); border-color: var(--line); color: var(--slate); }
.v2 .v2upd-sbtn:hover { transform: translateY(-2px); }
.v2 .v2upd-sbtn:disabled { opacity: .45; cursor: not-allowed; transform: none; box-shadow: none; }

/* ---------- Safe list ---------- */
.v2upd-safe { border: 1px solid var(--go-line); border-radius: 13px; background: var(--go-tint); padding: 16px 18px; }
.v2upd-safe__h { display: flex; align-items: center; gap: 8px; color: var(--go-deep); font-size: 11.5px; margin: 0 0 12px; }
.v2upd-safe__h svg { width: 17px; height: 17px; }
.v2upd-safe__grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 9px; }
.v2upd-safe__row { display: flex; gap: 10px; align-items: flex-start; }
.v2upd-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; }
.v2upd-safe__ck svg { width: 13px; height: 13px; }
.v2upd-safe__row p { margin: 0; color: var(--slate); font-size: 13.5px; line-height: 1.5; }

/* ---------- How-to stepper ---------- */
.v2upd-steps { position: relative; display: grid; gap: 22px; }
.v2upd-step { display: grid; grid-template-columns: auto 1fr; gap: 14px; }
.v2upd-step__n { flex-shrink: 0; width: 34px; height: 34px; border-radius: 10px; background: linear-gradient(-135deg, #12b866, var(--go-deep)); color: #fff; font-family: var(--font-display); font-weight: 800; font-size: 16px; display: grid; place-items: center; box-shadow: 0 5px 14px -6px rgba(11,138,71,.5); }
.v2upd-step__body { min-width: 0; }
.v2upd-step__t { margin: 4px 0 0; font-family: var(--font-display); font-weight: 700; font-size: 15.5px; color: var(--ink); display: flex; flex-wrap: wrap; align-items: center; gap: 9px; }
.v2upd-step__loc { font-size: 10.5px; letter-spacing: .02em; color: var(--go-deep); background: var(--go-tint); border: 1px solid var(--go-line); border-radius: 7px; padding: 3px 9px; text-transform: none; }
.v2upd-step__d { margin: 9px 0 0; color: var(--slate); font-size: 13.5px; line-height: 1.65; }
.v2upd-step__d b { color: var(--ink); }

/* ---------- Green callout ---------- */
.v2upd-callout { display: flex; gap: 13px; padding: 18px; border: 1px solid var(--go-line); border-radius: 13px; background: var(--go-tint); box-shadow: var(--ud-shadow); }
.v2upd-callout__ic { flex-shrink: 0; width: 40px; height: 40px; border-radius: 10px; display: grid; place-items: center; background: #fff; color: var(--go-deep); }
.v2upd-callout__ic svg { width: 24px; height: 24px; }
.v2upd-callout__tx p { margin: 0; color: var(--slate); font-size: 13.5px; line-height: 1.65; }
.v2upd-callout__tx p strong { color: var(--go-deep); }

/* ---------- Opt-in funnel ---------- */
.v2upd-funnel { display: grid; gap: 10px; }
.v2upd-fstage { position: relative; display: grid; grid-template-columns: auto 1fr; gap: 13px; align-items: center; padding: 15px 16px; border: 1px solid var(--line); border-radius: 13px; background: var(--paper); box-shadow: var(--ud-shadow); }
.v2upd-fstage.is-s2 { border-color: var(--go-line); box-shadow: 0 0 0 1px var(--go-line), var(--ud-shadow); background: linear-gradient(-180deg, var(--go-tint), var(--paper)); }
.v2upd-fstage__ic { flex-shrink: 0; width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; }
.v2upd-fstage__ic svg { width: 24px; height: 24px; }
.v2upd-fstage.is-s1 .v2upd-fstage__ic { background: var(--mist); color: var(--faint); }
.v2upd-fstage.is-s2 .v2upd-fstage__ic { background: #fff; color: var(--go-deep); box-shadow: inset 0 0 0 1px var(--go-line); }
.v2upd-fstage.is-s3 .v2upd-fstage__ic { background: var(--indigo-tint); color: var(--indigo); }
.v2upd-fstage__tx h3 { margin: 0 0 3px; font-family: var(--font-display); font-weight: 700; font-size: 15px; color: var(--ink); }
.v2upd-fstage__tx p { margin: 0; color: var(--slate); font-size: 12.5px; line-height: 1.55; }
.v2upd-fstage__flag { grid-column: 1 / -1; justify-self: start; font-family: var(--font-mono); font-size: 9.5px; letter-spacing: .04em; text-transform: uppercase; padding: 4px 10px; border-radius: 7px; }
.v2upd-fstage.is-s1 .v2upd-fstage__flag { background: var(--mist); color: var(--faint); }
.v2upd-fstage.is-s2 .v2upd-fstage__flag { background: var(--go-tint); color: var(--go-deep); }
.v2upd-fstage.is-s3 .v2upd-fstage__flag { background: var(--indigo-tint); color: var(--indigo); }

/* ---------- Google quote (div-based; no blockquote reset issue) ---------- */
.v2upd-quote { padding: 20px 24px 18px; border-radius: 14px; border: 1px solid var(--blue-line); border-right: 4px solid var(--blue); background: linear-gradient(-180deg, var(--blue-tint), var(--paper)); box-shadow: var(--ud-shadow); }
.v2upd-quote__mark { display: block; font-family: var(--font-display); font-weight: 800; font-size: 38px; line-height: .6; color: var(--blue); opacity: .32; }
.v2upd-quote__q { margin: 4px 0 12px; font-family: var(--font-display); font-size: clamp(17px, 4.4vw, 21px); font-weight: 600; line-height: 1.45; color: var(--ink); }
.v2upd-quote__src { display: inline-flex; align-items: center; gap: 7px; color: var(--blue); font-size: 11px; }
.v2upd-quote__src svg { width: 15px; height: 15px; }

/* ---------- Three-facts lock-in box ---------- */
.v2upd-facts3 { border: 1px solid var(--line); border-radius: 14px; background: var(--paper); padding: 18px; box-shadow: var(--ud-shadow); }
.v2upd-facts3__h { display: flex; align-items: center; gap: 8px; color: var(--ink); font-size: 11.5px; margin: 0 0 14px; }
.v2upd-facts3__h svg { width: 17px; height: 17px; color: var(--go-deep); }
.v2upd-facts3__list { display: grid; gap: 11px; }
.v2upd-facts3__row { display: flex; gap: 11px; align-items: flex-start; font-size: 14px; color: var(--slate); line-height: 1.55; }
.v2upd-facts3__row strong { color: var(--ink); }
.v2upd-pill { flex-shrink: 0; margin-top: 1px; display: inline-flex; align-items: center; font-family: var(--font-mono); font-size: 10px; font-weight: 600; letter-spacing: .03em; text-transform: uppercase; padding: 3px 9px; border-radius: 6px; }
.v2upd-pill.is-info { background: var(--indigo-tint); color: var(--indigo); }
.v2upd-pill.is-ok { background: var(--go-tint); color: var(--go-deep); }
.v2upd-pill.is-warn { background: var(--amber-tint); color: var(--amber-deep); }
.v2upd-pill.is-no { background: var(--rose-tint); color: var(--rose); }

/* ---------- Official vs community signal cards ---------- */
.v2upd-signal { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; }
.v2upd-sig { padding: 18px; border-radius: 14px; border: 1px solid; box-shadow: var(--ud-shadow); }
.v2upd-sig.is-official { background: linear-gradient(-180deg, var(--blue-tint), var(--paper)); border-color: var(--blue-line); }
.v2upd-sig.is-community { background: linear-gradient(-180deg, var(--indigo-tint), var(--paper)); border-color: var(--indigo-line); }
.v2upd-sig__tag { display: inline-flex; align-items: center; gap: 7px; font-size: 10.5px; margin: 0 0 10px; }
.v2upd-sig__tag svg { width: 15px; height: 15px; }
.v2upd-sig.is-official .v2upd-sig__tag { color: var(--blue); }
.v2upd-sig.is-community .v2upd-sig__tag { color: var(--indigo); }
.v2upd-sig h3 { margin: 0 0 8px; font-family: var(--font-display); font-weight: 700; font-size: 16px; color: var(--ink); }
.v2upd-sig p { margin: 0; color: var(--slate); font-size: 13.5px; line-height: 1.65; }
.v2upd-sig p + p { margin-top: 9px; }
.v2upd-sig p em { color: var(--ink); font-style: italic; }

/* ---------- Reset chain ---------- */
.v2upd-chain { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 22px 10px; }
.v2upd-chain__node { position: relative; text-align: center; padding: 16px 12px; border: 1px solid var(--line); border-radius: 13px; background: var(--paper); box-shadow: var(--ud-shadow); display: flex; flex-direction: column; align-items: center; }
.v2upd-chain__ic { width: 40px; height: 40px; border-radius: 11px; display: grid; place-items: center; color: #fff; margin-bottom: 9px; }
.v2upd-chain__ic svg { width: 22px; height: 22px; }
.v2upd-chain__node.is-n1 .v2upd-chain__ic { background: linear-gradient(-135deg, #F0A50A, #C77E06); }
.v2upd-chain__node.is-n2 .v2upd-chain__ic { background: linear-gradient(-135deg, #E8863A, #C7601E); }
.v2upd-chain__node.is-n3 .v2upd-chain__ic { background: linear-gradient(-135deg, #D24B3E, var(--rose)); }
.v2upd-chain__node.is-n4 .v2upd-chain__ic { background: linear-gradient(-135deg, var(--rose), var(--rose-deep)); }
.v2upd-chain__t { font-family: var(--font-display); font-weight: 700; font-size: 13.5px; color: var(--ink); margin-bottom: 4px; }
.v2upd-chain__s { font-size: 11.5px; color: var(--faint); line-height: 1.45; }
.v2upd-chain__node:not(:last-child)::after { content: ""; position: absolute; z-index: 2; width: 22px; height: 22px; border-radius: 50%; background-color: var(--paper); border: 1px solid var(--line); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 8h8m0 0-3-3m3 3-3 3' stroke='%238A94A0' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: center; background-size: 14px; right: 50%; bottom: -18px; transform: translateX(50%) rotate(-90deg); }

/* ---------- Amber note ---------- */
.v2upd-note { display: flex; gap: 12px; padding: 16px 18px; border: 1px solid var(--amber-line); border-right: 3px solid var(--star); border-radius: 12px; background: var(--amber-tint); }
.v2upd-note__ic { flex-shrink: 0; width: 24px; height: 24px; color: var(--amber-deep); margin-top: 1px; }
.v2upd-note__ic svg { width: 24px; height: 24px; }
.v2upd-note p { margin: 0; color: #6b4415; font-size: 13.5px; line-height: 1.65; }
.v2upd-note p b { color: var(--amber-deep); }

/* ---------- Auto-update info panel ---------- */
.v2upd-auto { display: grid; grid-template-columns: auto 1fr; gap: 15px; align-items: start; padding: 18px 20px; border: 1px solid var(--indigo-line); border-radius: 14px; background: linear-gradient(-135deg, var(--indigo-tint), var(--paper)); }
.v2upd-auto__ic { flex-shrink: 0; width: 48px; height: 48px; border-radius: 13px; background: #fff; color: var(--indigo); display: grid; place-items: center; box-shadow: inset 0 0 0 1px var(--indigo-line); }
.v2upd-auto__ic svg { width: 26px; height: 26px; }
.v2upd-auto__t { margin: 0 0 6px; font-family: var(--font-display); font-weight: 700; font-size: 15.5px; color: var(--ink); }
.v2upd-auto__tx p:not(.v2upd-auto__t) { margin: 0; color: var(--slate); font-size: 13.5px; line-height: 1.65; }
.v2upd-auto__tx p b { color: var(--ink); }

/* ---------- Permission warning box ---------- */
.v2upd-warn { display: grid; grid-template-columns: auto 1fr; gap: 15px; padding: 18px 20px; border: 1px solid var(--amber-line); border-right: 4px solid #E8863A; border-radius: 14px; background: linear-gradient(-135deg, #FFF7ED, var(--amber-tint)); }
.v2upd-warn__ic { flex-shrink: 0; width: 44px; height: 44px; border-radius: 12px; background: #fff; color: #C7601E; display: grid; place-items: center; box-shadow: inset 0 0 0 1px var(--amber-line); }
.v2upd-warn__ic svg { width: 24px; height: 24px; }
.v2upd-warn__t { margin: 0 0 8px; font-family: var(--font-display); font-weight: 700; font-size: 15px; color: #9a3412; display: flex; flex-wrap: wrap; align-items: center; gap: 9px; }
.v2upd-warn__tag { font-size: 9.5px; letter-spacing: .04em; text-transform: uppercase; background: #FED7AA; color: #9a3412; border-radius: 6px; padding: 3px 9px; }
.v2upd-warn__tx p:not(.v2upd-warn__t) { margin: 0; color: #7c2d12; font-size: 13.5px; line-height: 1.65; }
.v2upd-warn__tx p + p { margin-top: 9px; }
.v2upd-warn__tx p b { color: #9a3412; }
.v2upd-warn code { font-family: var(--font-mono); font-size: 12px; background: #FFEDD5; color: #9a3412; padding: 1px 6px; border-radius: 5px; word-break: break-word; }

/* ---------- Myth cards ---------- */
.v2upd-myths { display: grid; gap: 12px; }
.v2upd-mcard { display: grid; grid-template-columns: auto 1fr; gap: 14px; padding: 16px 18px; border: 1px solid var(--line); border-right: 3px solid var(--rose); border-radius: 13px; background: var(--paper); box-shadow: var(--ud-shadow); }
.v2upd-mcard__x { flex-shrink: 0; width: 38px; height: 38px; border-radius: 10px; background: var(--rose-tint); color: var(--rose); display: grid; place-items: center; }
.v2upd-mcard__x svg { width: 20px; height: 20px; }
.v2upd-mcard__q { margin: 2px 0 0; font-family: var(--font-display); font-weight: 700; font-size: 14.5px; line-height: 1.4; color: var(--ink); }
.v2upd-mcard__tag { display: inline-block; font-size: 9.5px; letter-spacing: .04em; text-transform: uppercase; background: var(--rose-tint); color: var(--rose); border-radius: 5px; padding: 2px 8px; margin-left: 8px; vertical-align: middle; }
.v2upd-mcard__truth { display: flex; gap: 8px; align-items: flex-start; margin-top: 9px; padding: 9px 12px; border-radius: 9px; background: var(--go-tint); border: 1px solid var(--go-line); font-size: 13px; line-height: 1.55; color: #0b5a34; }
.v2upd-mcard__truth b { color: var(--go-deep); }
.v2upd-mcard__ck { flex-shrink: 0; color: var(--go); margin-top: 1px; }
.v2upd-mcard__ck svg { width: 16px; height: 16px; }
.v2upd-mcard__truth a { color: var(--go-deep); font-weight: 700; }

/* ---------- Resets table ---------- */
.v2upd-tblwrap { border: 1px solid var(--line); border-radius: 14px; overflow: hidden; box-shadow: var(--ud-shadow); }
.v2upd-tbl { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.v2upd-tbl thead th { background: var(--ink); color: #cdd6df; text-align: right; padding: 12px 16px; font-size: 10.5px; letter-spacing: .04em; }
.v2upd-tbl thead th:last-child { text-align: left; white-space: nowrap; }
.v2upd-tbl tbody td { padding: 12px 16px; border-top: 1px solid var(--line); color: var(--slate); line-height: 1.45; vertical-align: middle; }
.v2upd-tbl tbody tr:nth-child(even) { background: var(--mist); }
.v2upd-tbl tbody td:last-child { text-align: left; white-space: nowrap; }
.v2upd-v { display: inline-flex; align-items: center; gap: 5px; font-weight: 700; font-size: 12.5px; }
.v2upd-v svg { width: 15px; height: 15px; flex-shrink: 0; }
.v2upd-v.is-no { color: var(--go-deep); }
.v2upd-v.is-yes { color: var(--rose); }
.v2upd-v.is-ind { color: var(--amber-deep); }
.v2upd-tbl__foot { display: flex; gap: 8px; align-items: flex-start; margin: 0; padding: 12px 16px; background: var(--mist); border-top: 1px solid var(--line); color: var(--faint); font-size: 11.5px; line-height: 1.55; }
.v2upd-tbl__foot svg { flex-shrink: 0; width: 15px; height: 15px; margin-top: 1px; color: var(--star); }

/* ---------- Era timeline ---------- */
.v2upd-tl { display: grid; gap: 12px; }
.v2upd-tl__row { display: grid; grid-template-columns: auto 1fr; gap: 14px; align-items: start; }
.v2upd-tl__dot { flex-shrink: 0; min-width: 52px; padding: 8px 6px; border-radius: 10px; color: #fff; font-size: 10px; text-align: center; line-height: 1.15; display: grid; place-items: center; }
.v2upd-tl__row.is-era1 .v2upd-tl__dot { background: linear-gradient(-135deg, #9CA3AF, #6B7280); }
.v2upd-tl__row.is-era2 .v2upd-tl__dot { background: linear-gradient(-135deg, #F0A50A, #C77E06); }
.v2upd-tl__row.is-era3 .v2upd-tl__dot { background: linear-gradient(-135deg, #12b866, var(--go-deep)); }
.v2upd-tl__body { border: 1px solid var(--line); border-radius: 12px; background: var(--paper); padding: 13px 16px; box-shadow: var(--ud-shadow); }
.v2upd-tl__era { display: block; font-size: 10px; letter-spacing: .03em; color: var(--faint); margin-bottom: 4px; }
.v2upd-tl__t { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-family: var(--font-display); font-weight: 700; font-size: 14px; color: var(--ink); }
.v2upd-tl__num { font-size: 10.5px; letter-spacing: .02em; color: #fff; border-radius: 6px; padding: 3px 9px; }
.v2upd-tl__row.is-era1 .v2upd-tl__num { background: #6B7280; }
.v2upd-tl__row.is-era2 .v2upd-tl__num { background: #C77E06; }
.v2upd-tl__row.is-era3 .v2upd-tl__num { background: var(--go-deep); }
.v2upd-tl__body p { margin: 6px 0 0; color: var(--slate); font-size: 12.5px; line-height: 1.55; }

/* ---------- 2026 deadline cards ---------- */
.v2upd-2026 { border: 1px solid var(--line); border-radius: 16px; background: var(--paper); padding: 18px; box-shadow: var(--ud-shadow); }
.v2upd-2026__h { display: flex; align-items: center; gap: 8px; color: var(--ink); font-size: 11.5px; margin: 0 0 14px; }
.v2upd-2026__h svg { width: 17px; height: 17px; color: var(--go-deep); }
.v2upd-2026__grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 10px; }
.v2upd-2026__card { border-radius: 12px; padding: 14px 16px; border: 1px solid var(--line); background: var(--mist); border-right: 3px solid var(--line); }
.v2upd-2026__card.is-c1 { border-right-color: var(--blue); }
.v2upd-2026__card.is-c2 { border-right-color: var(--indigo); }
.v2upd-2026__card.is-c3 { border-right-color: var(--go); }
.v2upd-2026__d { font-family: var(--font-display); font-weight: 800; font-size: 16px; line-height: 1.1; margin-bottom: 6px; }
.v2upd-2026__card.is-c1 .v2upd-2026__d { color: var(--blue); }
.v2upd-2026__card.is-c2 .v2upd-2026__d { color: var(--indigo); }
.v2upd-2026__card.is-c3 .v2upd-2026__d { color: var(--go-deep); }
.v2upd-2026__lab { color: var(--slate); font-size: 12.5px; line-height: 1.55; }
.v2upd-2026__lab b { color: var(--ink); }

.v2gpr-prose .v2upd-fine { margin: 14px 0 0; color: var(--faint); font-size: 12.5px; line-height: 1.6; font-style: italic; }

/* ---------- Feature tiles ---------- */
.v2upd-feats { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; }
.v2upd-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(--ud-shadow); }
.v2upd-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); }
.v2upd-feat__ic svg { width: 24px; height: 24px; }
.v2upd-feat__t { display: block; font-family: var(--font-display); font-size: 15px; font-weight: 700; line-height: 1.28; color: var(--ink); margin-bottom: 4px; text-wrap: balance; }
.v2upd-feat__s { display: block; color: var(--slate); font-size: 13px; line-height: 1.55; }

/* ---------- Pricing plaques ---------- */
.v2upd-pricing { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; }
.v2upd-price { position: relative; overflow: hidden; text-align: center; padding: 22px 16px 18px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); box-shadow: var(--ud-shadow); }
.v2upd-price__bar { position: absolute; top: 0; right: 0; left: 0; height: 4px; background: var(--line); }
.v2upd-price.is-best .v2upd-price__bar { background: var(--go); }
.v2upd-price__name { font-size: 11.5px; text-transform: uppercase; letter-spacing: .04em; color: var(--faint); margin: 6px 0 8px; }
.v2upd-price__amt { font-family: var(--font-display); font-size: 38px; font-weight: 800; color: var(--ink); line-height: 1; }
.v2upd-price__amt small { font-size: 19px; font-weight: 700; vertical-align: super; margin-left: 1px; }
.v2upd-price__testers { margin: 8px 0 14px; color: var(--slate); font-size: 13px; line-height: 1.5; }
.v2upd-price__testers b { color: var(--ink); font-weight: 700; }
.v2upd-price .v2upd-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; }
.v2upd-price .v2upd-price__btn:hover { background: #1c2732; text-decoration: none; }
.v2upd-price.is-best { border-color: var(--go); box-shadow: 0 0 0 1px var(--go), var(--ud-shadow-lg); }
.v2upd-price.is-best .v2upd-price__btn { background: var(--go); }
.v2upd-price.is-best .v2upd-price__btn:hover { background: var(--go-deep); }
.v2upd-price__tag { position: absolute; top: -1px; right: 50%; transform: translateX(50%); background: var(--go); color: #fff; font-size: 9.5px; letter-spacing: .04em; text-transform: uppercase; padding: 4px 12px; border-radius: 0 0 8px 8px; white-space: nowrap; z-index: 2; }

/* ---------- UPD tablet and up (min-width: 640px) ---------- */
@media (min-width: 640px) {
    .v2upd-verdict__strip { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .v2upd-lanes { grid-template-columns: 1fr 1fr; }
    .v2upd-trig { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .v2upd-checker__chips { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .v2upd-safe__grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .v2upd-fstage { grid-template-columns: auto 1fr auto; }
    .v2upd-fstage__flag { grid-column: auto; justify-self: end; text-align: center; }
    .v2upd-signal { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .v2upd-chain { grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px; }
    .v2upd-chain__node:not(:last-child)::after { right: auto; left: -16px; bottom: auto; top: 50%; transform: translateY(-50%); }
    .v2upd-feats { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .v2upd-2026__grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .v2upd-pricing { grid-template-columns: repeat(3, minmax(0,1fr)); align-items: center; }
    .v2upd-price.is-best { transform: scale(1.04); }
    .v2upd-sim__stat .n { font-size: 28px; }
}

/* ---------- UPD desktop (min-width: 980px) ---------- */
@media (min-width: 980px) {
    .v2upd-feats { grid-template-columns: repeat(4, minmax(0,1fr)); }
    .v2upd-feat { flex-direction: column; gap: 11px; }
    .v2upd-feat__t { min-height: 2.56em; }
}

/* ---------- UPD micro screens (max-width: 380px) ---------- */
@media (max-width: 380px) {
    .v2upd-sim__track { gap: 3px; }
    .v2upd-day { border-radius: 5px; font-size: 9px; }
    .v2upd-sim__stats { gap: 6px; }
    .v2upd-sim__stat .n { font-size: 22px; }
    .v2 .v2upd-sbtn { flex-basis: 100%; }
    .v2upd-lane__flow { gap: 5px; }
    .v2upd-ver { font-size: 10.5px; padding: 3px 7px; }
}


/* =============================================================
   BLOG B12 V2  -  "Google Play 12 Testers: Pass Closed Testing Fast"
   Unique internal components for the flagship 12-testers guide.
   Authored MOBILE-FIRST: base rules target phones, min-width
   queries add columns. Signature motif = BLUEPRINT / SPEC SHEET -
   graph-paper panels, mono index kickers (Why 01, Reason #1,
   Step 01), corner ticks, thin cyan rules, a requirement
   "formula plate" (12 x 14 -> production), a decision spec-matrix
   and rejection "case-file" cards with a rotated REJECTED stamp.
   Cyan is the primary accent, green = pass/go, rose = break/reject,
   amber = caution, violet = the questionnaire, blue = the wording.
   Light components only; the two dark moments are the shared
   .v2gpr-qa Quick Answer capsule and the final .v2-cta.
============================================================= */
.v2b12-brief,
.v2b12-index,
.v2b12-plate,
.v2b12-spec,
.v2b12-reasons,
.v2b12-meter,
.v2b12-gate,
.v2b12-challenges,
.v2b12-midcta,
.v2b12-provides,
.v2b12-packs,
.v2b12-board,
.v2b12-quote,
.v2b12-steps,
.v2b12-aud,
.v2b12-feats,
.v2b12-trust,
.v2b12-matrixwrap,
.v2b12-note,
.v2b12-nochange,
.v2b12-reject,
.v2b12-protip,
.v2b12-prices,
.v2b12-trustbar,
.v2b12-bottom,
.v2b12-fig {
    --bp-navy:   #1A2332;
    --bp-cyan:   #0E7490;
    --bp-cyan-2: #0891B2;
    --bp-cyan-tint: #ECFEFF;
    --bp-cyan-line: #BFE7EE;
    --bp-rose:   #B42318;
    --bp-rose-tint: #FDF1F0;
    --bp-rose-line: #F3C9C4;
    --bp-amber-deep: #92400E;
    --bp-amber-tint: #FEF6E7;
    --bp-amber-line: #F5DFA8;
    --bp-violet: #6D28D9;
    --bp-violet-tint: #F5F3FF;
    --bp-violet-line: #DDD3F5;
    --bp-blue:   #1D4ED8;
    --bp-blue-tint: #EFF6FF;
    --bp-blue-line: #C7DBFF;
    --bp-line:   #E3E8EF;
    --bp-grid:   rgba(18,33,46,.05);
    --bp-shadow: 0 1px 2px rgba(10,16,23,.04), 0 10px 26px -14px rgba(14,116,144,.18);
    --bp-shadow-lg: 0 2px 6px rgba(10,16,23,.05), 0 22px 46px -20px rgba(14,116,144,.24);
    margin: 30px 0;
}

/* graph-paper texture reused by the plate + stats board */
.v2b12-plate,
.v2b12-board {
    background-image:
        linear-gradient(var(--bp-grid) 1px, transparent 1px),
        linear-gradient(-90deg, var(--bp-grid) 1px, transparent 1px);
    background-size: 22px 22px;
    background-position: right -1px top -1px;
}

/* ---------- Hero tweaks ---------- */
.v2b12-eyebrow { color: var(--bp-cyan); }
.v2b12-eyebrow::before { background: var(--bp-cyan-2) !important; }
.v2b12-facts .v2gpr-fact b { color: var(--bp-cyan); }

/* Quick-answer link legibility inside the dark capsule */
.v2gpr-qa.v2b12-qa a { color: #7DE3FF; text-decoration: underline; text-underline-offset: 2px; }
.v2gpr-qa.v2b12-qa a:hover { color: #B6EEFF; }

/* ---------- Heading anchor offset ---------- */
.v2b12-h2 { scroll-margin-top: 90px; }

/* ---------- Spec brief (key takeaways) ---------- */
.v2b12-brief {
    border: 1px solid var(--bp-cyan-line); border-right: 3px solid var(--bp-cyan-2);
    border-radius: 14px; background: var(--paper);
    padding: 18px 18px 6px; box-shadow: var(--bp-shadow);
}
.v2b12-brief__tag {
    display: inline-flex; align-items: center; gap: 8px;
    color: var(--bp-cyan); font-size: 11px; margin: 0 0 10px;
}
.v2b12-brief__tag svg { width: 16px; height: 16px; }
.v2gpr-prose .v2b12-brief__list { list-style: none; margin: 0 0 14px; padding: 0; }
.v2b12-brief__list li {
    position: relative; padding: 0 26px 12px 0; margin: 0;
    color: var(--slate); font-size: 15px; line-height: 1.55;
}
.v2b12-brief__list li + li { border-top: 1px dashed var(--bp-line); padding-top: 12px; }
.v2b12-brief__list li::before {
    content: ""; position: absolute; right: 4px; top: 6px;
    width: 8px; height: 8px; border-radius: 2px;
    background: var(--bp-cyan-2); transform: rotate(-45deg);
}
.v2b12-brief__list li:first-child::before { top: 6px; }
.v2b12-brief__list strong { color: var(--ink); }

.v2b12-lead-p { font-size: 18px; color: var(--ink); }

/* ---------- In this guide (index card) ---------- */
.v2b12-index {
    border: 1px dashed var(--bp-cyan-line); border-radius: 14px;
    background: var(--bp-cyan-tint); padding: 16px 16px 6px;
}
.v2b12-index__label { color: var(--bp-cyan); font-size: 11px; margin: 0 0 10px; }
.v2b12-index__grid { display: grid; grid-template-columns: 1fr; gap: 2px; }
.v2b12-index__item {
    display: flex; align-items: baseline; gap: 10px;
    padding: 9px 6px; margin: 0; color: var(--slate);
    font-size: 14.5px; line-height: 1.4; border-top: 1px solid rgba(14,116,144,.12);
    text-decoration: none;
}
.v2b12-index__grid > .v2b12-index__item:first-child { border-top: 0; }
.v2b12-index__item .v2-mono { color: var(--bp-cyan-2); font-size: 11px; flex-shrink: 0; }
.v2b12-index__item.is-link { color: var(--bp-cyan); font-weight: 600; }
.v2b12-index__item.is-link:hover { color: var(--bp-navy); }

/* ---------- Requirement formula plate (signature) ---------- */
.v2b12-plate {
    position: relative; border: 1px solid var(--bp-cyan-line);
    border-radius: 18px; padding: 30px 20px 22px;
    box-shadow: var(--bp-shadow-lg); overflow: hidden;
}
.v2b12-plate::before,
.v2b12-board::before {
    content: ""; position: absolute; top: 12px; right: 12px;
    width: 16px; height: 16px; border-top: 2px solid var(--bp-cyan-2);
    border-right: 2px solid var(--bp-cyan-2); opacity: .8;
}
.v2b12-plate::after,
.v2b12-board::after {
    content: ""; position: absolute; bottom: 12px; left: 12px;
    width: 16px; height: 16px; border-bottom: 2px solid var(--bp-cyan-2);
    border-left: 2px solid var(--bp-cyan-2); opacity: .8;
}
.v2b12-plate__tag {
    display: inline-block; color: var(--bp-cyan); font-size: 11px;
    letter-spacing: .12em; text-transform: uppercase; margin: 0 0 16px;
}
.v2b12-plate__formula {
    display: flex; align-items: center; justify-content: center;
    flex-wrap: wrap; gap: 10px; margin-bottom: 18px;
}
.v2b12-plate__term {
    display: flex; flex-direction: column; align-items: center;
    min-width: 78px; padding: 12px 10px; border-radius: 12px;
    background: var(--paper); border: 1px solid var(--bp-cyan-line);
    box-shadow: var(--bp-shadow);
}
.v2b12-plate__term b {
    font-family: var(--font-display); font-weight: 800;
    font-size: clamp(28px, 8vw, 40px); line-height: 1; color: var(--bp-navy);
}
.v2b12-plate__term i {
    font-style: normal; font-size: 11px; letter-spacing: .04em;
    text-transform: uppercase; color: var(--slate); margin-top: 6px;
}
.v2b12-plate__term.is-out { background: var(--go); border-color: var(--go); }
.v2b12-plate__term.is-out b { color: #fff; }
.v2b12-plate__term.is-out i { color: rgba(255,255,255,.9); }
.v2b12-plate__op {
    font-family: var(--font-display); font-weight: 700;
    font-size: 22px; color: var(--bp-cyan-2);
}
.v2b12-plate__text {
    margin: 0; text-align: center; color: var(--ink);
    font-size: 17px; font-weight: 600; line-height: 1.55;
}
.v2b12-plate__text strong { color: var(--bp-cyan); }

/* ---------- Spec sheet (2x2) ---------- */
.v2b12-spec { display: grid; grid-template-columns: 1fr; gap: 0; border: 1px solid var(--bp-line); border-radius: 14px; overflow: hidden; }
.v2b12-spec__cell {
    display: flex; flex-direction: column; align-items: flex-start;
    padding: 18px; border-top: 1px dashed var(--bp-line);
}
.v2b12-spec__cell:first-child { border-top: 0; }
.v2b12-spec__ic {
    width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center;
    color: var(--bp-cyan); background: var(--bp-cyan-tint); margin-bottom: 12px;
}
.v2b12-spec__ic svg { width: 22px; height: 22px; }
.v2b12-spec__k { font-family: var(--font-display); font-weight: 700; font-size: 18px; color: var(--ink); }
.v2b12-spec__v { font-size: 13px; color: var(--slate); margin-top: 3px; }

/* ---------- Figures ---------- */
.v2gpr-prose .v2b12-fig { margin: 26px 0; }
.v2gpr-prose .v2b12-fig .v2b12-fig__frame {
    border: 1px solid var(--bp-line); border-radius: 14px; overflow: hidden;
    box-shadow: var(--bp-shadow); background: var(--paper);
}
.v2gpr-prose .v2b12-fig.is-win .v2b12-fig__frame { border-color: var(--go); box-shadow: 0 18px 40px -22px rgba(11,138,71,.4); }
.v2gpr-prose .v2b12-fig img { display: block; width: 100%; height: auto; }
.v2gpr-prose .v2b12-fig figcaption {
    margin-top: 12px; text-align: center; font-size: 13px;
    font-style: italic; color: var(--slate); line-height: 1.5;
}
.v2gpr-prose .v2b12-fig.is-win figcaption { color: var(--go-deep); font-style: normal; font-weight: 600; }

/* ---------- Reason dossier rows ---------- */
.v2b12-reasons { display: grid; grid-template-columns: 1fr; gap: 14px; }
.v2b12-reason {
    position: relative; margin: 0; padding: 18px 18px 6px 18px;
    border: 1px solid var(--bp-line); border-radius: 14px; background: var(--paper);
    box-shadow: var(--bp-shadow);
}
.v2b12-reason::before {
    content: ""; position: absolute; right: 0; top: 18px; bottom: 18px;
    width: 3px; border-radius: 3px; background: linear-gradient(var(--bp-cyan-2), var(--go));
}
.v2b12-reason__idx { display: block; color: var(--bp-cyan); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 4px; }
.v2gpr-prose .v2b12-reason__h { font-size: 18px; margin: 0 0 8px; color: var(--ink); }
.v2b12-reason__note { color: var(--slate); font-style: italic; }
.v2b12-catch { display: grid; grid-template-columns: 1fr; gap: 8px; margin-top: 6px; }
.v2b12-catch span { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: var(--slate); }
.v2b12-catch svg { width: 18px; height: 18px; color: var(--go); flex-shrink: 0; }
.v2b12-pills { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.v2b12-pills span { background: var(--bp-cyan-tint); color: var(--bp-cyan); font-size: 13px; font-weight: 600; padding: 6px 14px; border-radius: 999px; }

/* ---------- Drop meter + opt-in gate ---------- */
.v2b12-meter { border: 1px solid var(--bp-line); border-radius: 14px; background: var(--paper); padding: 16px; box-shadow: var(--bp-shadow); }
.v2b12-meter__row { display: flex; flex-direction: column; gap: 8px; }
.v2b12-meter__lab { color: var(--slate); font-size: 11px; }
.v2b12-meter__dots { display: flex; flex-wrap: wrap; gap: 6px; }
.v2b12-meter__dots i { width: 20px; height: 20px; border-radius: 6px; background: var(--go); box-shadow: inset 0 0 0 1px rgba(11,138,71,.35); }
.v2b12-meter__dots i.is-gone { background: var(--bp-rose-tint); box-shadow: inset 0 0 0 1px var(--bp-rose-line); position: relative; }
.v2b12-meter__dots i.is-gone::after { content: ""; position: absolute; inset: 5px; border-radius: 2px; background: var(--bp-rose); opacity: .35; }
.v2b12-meter__legend { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 12px; font-size: 13px; }
.v2b12-meter__legend .is-go { color: var(--go-deep); }
.v2b12-meter__legend .is-bad { color: var(--bp-rose); }
.v2b12-meter__legend b { font-weight: 700; }

.v2b12-gate { display: flex; flex-direction: column; align-items: stretch; gap: 8px; text-align: center; }
.v2b12-gate__step { padding: 12px 14px; border-radius: 10px; font-size: 14px; font-weight: 600; }
.v2b12-gate__step.is-weak { background: #F4F6F9; color: var(--slate); border: 1px dashed var(--bp-line); }
.v2b12-gate__step.is-strong { background: var(--go-tint); color: var(--go-deep); border: 1px solid var(--go-line); }
.v2b12-gate__arr { width: 26px; height: 18px; color: var(--bp-cyan-2); align-self: center; transform: rotate(-90deg); }

/* ---------- Challenge cross-cards ---------- */
.v2b12-challenges { border: 1px solid var(--bp-rose-line); border-radius: 16px; background: var(--bp-rose-tint); padding: 18px; }
.v2b12-challenges__tag { display: inline-flex; align-items: center; gap: 8px; color: var(--bp-rose); font-size: 12px; font-weight: 700; margin: 0 0 14px; text-transform: none; letter-spacing: 0; }
.v2b12-challenges__tag svg { width: 18px; height: 18px; }
.v2b12-challenges__grid { display: grid; grid-template-columns: 1fr; gap: 10px; }
.v2b12-cross { display: flex; gap: 12px; background: var(--paper); border: 1px solid var(--bp-rose-line); border-radius: 12px; padding: 14px; }
.v2b12-cross__x { flex-shrink: 0; width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: var(--bp-rose); }
.v2b12-cross__x svg { width: 16px; height: 16px; }
.v2b12-cross strong { display: block; color: var(--ink); font-size: 15px; margin-bottom: 3px; }
.v2b12-cross span { display: block; color: var(--slate); font-size: 13.5px; line-height: 1.5; }

/* ---------- Mid-article CTA ---------- */
.v2b12-midcta {
    border: 1px solid var(--bp-cyan-line); border-radius: 16px;
    background: radial-gradient(130% 100% at 0 0, var(--bp-cyan-tint) 0, rgba(236,254,255,0) 60%), var(--paper);
    padding: 22px 20px; text-align: center; box-shadow: var(--bp-shadow);
}
.v2b12-midcta__h { margin: 0 0 8px; color: var(--ink); font-size: 19px; font-weight: 700; }
.v2b12-midcta__p { margin: 0 0 16px; color: var(--slate); font-size: 15px; }
.v2b12-midcta__p strong { color: var(--bp-cyan); }
.v2b12-midcta__actions { display: flex; flex-direction: column; gap: 10px; }

/* ---------- Provides / feats checklists ---------- */
.v2b12-provides,
.v2b12-feats { display: grid; grid-template-columns: 1fr; gap: 8px; }
.v2b12-provides span,
.v2b12-feats span {
    display: flex; align-items: flex-start; gap: 10px; padding: 12px 14px;
    background: var(--paper); border: 1px solid var(--bp-line); border-radius: 10px;
    font-size: 14.5px; color: var(--ink); line-height: 1.45;
}
.v2b12-provides svg,
.v2b12-feats svg { width: 18px; height: 18px; color: var(--go); flex-shrink: 0; margin-top: 1px; }

/* ---------- Package plates ---------- */
.v2b12-packs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.v2b12-pack { text-align: center; padding: 16px 8px; border: 1px solid var(--bp-line); border-radius: 12px; background: var(--paper); }
.v2b12-pack.is-mid { border-color: var(--bp-cyan-line); background: var(--bp-cyan-tint); }
.v2b12-pack__n { font-family: var(--font-display); font-weight: 800; font-size: 30px; color: var(--bp-navy); display: block; line-height: 1; }
.v2b12-pack__t { display: block; font-size: 10px; color: var(--bp-cyan); margin-top: 4px; }
.v2b12-pack__tier { display: block; font-size: 12px; color: var(--slate); margin-top: 6px; }

/* ---------- Stats board (light) ---------- */
.v2b12-board { position: relative; border: 1px solid var(--bp-cyan-line); border-radius: 18px; padding: 24px 18px; box-shadow: var(--bp-shadow-lg); }
.v2b12-board__tag { text-align: center; color: var(--bp-cyan); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; margin: 0 0 18px; }
.v2b12-board__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px 10px; }
.v2b12-board__stat { text-align: center; }
.v2b12-board__stat b { display: block; font-family: var(--font-display); font-weight: 800; font-size: clamp(20px, 6vw, 30px); color: var(--bp-navy); line-height: 1; }
.v2b12-board__stat.is-lead b { color: var(--bp-cyan); }
.v2b12-board__stat span { display: block; font-size: 11px; color: var(--slate); margin-top: 6px; }

/* ---------- Pull quote ---------- */
.v2b12-quote { position: relative; border-right: 3px solid var(--bp-cyan-2); background: #F7FAFC; border-radius: 14px 0 0 14px; padding: 18px 46px 18px 20px; }
.v2b12-quote__mark { position: absolute; right: 14px; top: 6px; font-family: var(--font-display); font-size: 42px; line-height: 1; color: var(--bp-cyan-line); }
.v2b12-quote__t { margin: 0; font-size: 18px; font-style: italic; color: var(--ink); line-height: 1.5; }
.v2b12-quote__by { display: block; margin-top: 8px; color: var(--slate); font-size: 13px; }

/* ---------- Blueprint setup rail ---------- */
.v2b12-steps { display: grid; grid-template-columns: 1fr; gap: 0; }
.v2b12-step { position: relative; display: flex; gap: 14px; padding-bottom: 16px; }
.v2b12-step::before { content: ""; position: absolute; right: 15px; top: 34px; bottom: -2px; width: 2px; background: repeating-linear-gradient(var(--bp-cyan-line) 0 5px, transparent 5px 10px); }
.v2b12-step:last-child::before { display: none; }
.v2b12-step__node { flex-shrink: 0; width: 32px; height: 32px; border-radius: 9px; display: grid; place-items: center; background: var(--bp-cyan-tint); color: var(--bp-cyan); font-size: 12px; font-weight: 700; border: 1px solid var(--bp-cyan-line); z-index: 1; }
.v2b12-step.is-done .v2b12-step__node { background: var(--go); color: #fff; border-color: var(--go); }
.v2b12-step__node svg { width: 18px; height: 18px; }
.v2b12-step__card { flex: 1; background: var(--paper); border: 1px solid var(--bp-line); border-radius: 12px; padding: 14px 16px; box-shadow: var(--bp-shadow); }
.v2b12-step.is-done .v2b12-step__card { border-color: var(--go-line); background: var(--go-tint); }
.v2b12-step__badge { display: inline-block; font-size: 10px; letter-spacing: .06em; text-transform: uppercase; color: var(--bp-cyan); margin-bottom: 6px; }
.v2b12-step__badge.is-go { color: var(--go-deep); }
.v2b12-step__h { display: block; font-family: var(--font-display); font-weight: 700; font-size: 16px; color: var(--ink); margin-bottom: 4px; }
.v2b12-step__card p { color: var(--slate); font-size: 14px; }

/* ---------- Audience chips ---------- */
.v2b12-aud { display: flex; flex-wrap: wrap; gap: 8px; }
.v2b12-aud span { font-family: var(--font-mono, ui-monospace, monospace); font-size: 12.5px; color: var(--bp-navy); background: var(--paper); border: 1px solid var(--bp-cyan-line); border-radius: 8px; padding: 7px 12px; }
.v2b12-aud span::before { content: "// "; color: var(--bp-cyan-2); }

/* ---------- Trust band ---------- */
.v2b12-trust { display: flex; align-items: center; gap: 14px; border: 1px solid var(--go-line); background: var(--go-tint); border-radius: 14px; padding: 16px 18px; }
.v2b12-trust__ic { flex-shrink: 0; width: 40px; height: 40px; border-radius: 11px; display: grid; place-items: center; color: #fff; background: linear-gradient(-135deg, #12b866, var(--go-deep)); }
.v2b12-trust__ic svg { width: 24px; height: 24px; }
.v2b12-trust strong { display: block; color: var(--ink); font-size: 15px; margin-bottom: 2px; }
.v2b12-trust span { display: block; color: var(--slate); font-size: 13.5px; line-height: 1.45; }

/* ---------- Decision spec-matrix ---------- */
.v2b12-matrixwrap { overflow-x: auto; border: 1px solid var(--bp-line); border-radius: 14px; box-shadow: var(--bp-shadow); -webkit-overflow-scrolling: touch; }
.v2b12-matrix { width: 100%; min-width: 580px; border-collapse: separate; border-spacing: 0; font-size: 13.5px; background: var(--paper); }
.v2b12-matrix th,
.v2b12-matrix td { padding: 12px 14px; text-align: center; border-bottom: 1px dashed var(--bp-line); }
.v2b12-matrix thead th { background: var(--bp-navy); border-bottom: 0; padding-top: 14px; padding-bottom: 14px; }
.v2b12-matrix thead th .v2-mono { font-size: 11px; color: rgba(255,255,255,.85); }
.v2b12-matrix thead th.is-starter .v2-mono { color: #7DE3FF; }
.v2b12-matrix thead th.is-pro .v2-mono { color: #FFD56B; }
.v2b12-matrix thead th.is-ent .v2-mono { color: #7BE8AF; }
.v2b12-matrix tbody th[scope="row"] { text-align: right; font-weight: 600; color: var(--ink); white-space: nowrap; }
.v2b12-matrix tr > *:first-child { position: sticky; right: 0; background: var(--paper); z-index: 1; }
.v2b12-matrix thead tr > *:first-child { background: var(--bp-navy); z-index: 2; }
.v2b12-matrix tbody tr:last-child th,
.v2b12-matrix tbody tr:last-child td { border-bottom: 0; }
.v2b12-matrix td.is-bad { color: var(--bp-rose); font-weight: 600; }
.v2b12-matrix td.is-go { color: var(--go-deep); font-weight: 600; }
.v2b12-matrix td.is-muted { color: var(--slate); }
.v2b12-matrix td b { color: var(--ink); }
.v2b12-yes { width: 18px; height: 18px; color: var(--go); vertical-align: -3px; }
.v2b12-no { width: 18px; height: 18px; color: var(--bp-rose); vertical-align: -3px; }

/* ---------- 2026 notes ---------- */
.v2b12-note { border: 1px solid var(--bp-line); border-right: 3px solid var(--bp-cyan-2); border-radius: 14px; background: var(--paper); padding: 18px; box-shadow: var(--bp-shadow); }
.v2b12-note__idx { display: block; color: var(--bp-cyan); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 6px; }
.v2gpr-prose .v2b12-note__h { font-size: 18px; margin: 0 0 10px; color: var(--ink); }
.v2b12-note__key { background: var(--bp-blue-tint); border: 1px solid var(--bp-blue-line); border-radius: 10px; padding: 14px 16px; margin-top: 6px; }
.v2b12-note__key p { margin: 0; color: var(--ink); font-size: 14.5px; line-height: 1.6; }
.v2b12-nochange { display: flex; gap: 14px; border: 1px solid var(--go-line); background: var(--go-tint); border-radius: 14px; padding: 18px; }
.v2b12-nochange__ic { flex-shrink: 0; width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; color: #fff; background: var(--go); }
.v2b12-nochange__ic svg { width: 20px; height: 20px; }
.v2b12-nochange strong { display: block; color: var(--ink); margin-bottom: 5px; }
.v2b12-nochange p { margin: 0; color: var(--slate); font-size: 14.5px; line-height: 1.6; }

/* ---------- Rejection case-file cards ---------- */
.v2b12-reject { position: relative; border: 1px solid var(--bp-line); border-radius: 16px; background: var(--paper); padding: 20px 18px; box-shadow: var(--bp-shadow-lg); overflow: hidden; }
.v2b12-reject::before { content: ""; position: absolute; top: 0; right: 0; width: 4px; height: 100%; background: var(--bp-rose); }
.v2b12-reject__stamp {
    position: absolute; top: 16px; left: -6px; transform: rotate(-8deg);
    font-family: var(--font-display); font-weight: 800; letter-spacing: .06em;
    text-transform: uppercase; font-size: 13px; color: var(--bp-rose);
    border: 2px solid var(--bp-rose); border-radius: 6px; padding: 3px 10px;
    opacity: .28; pointer-events: none;
}
.v2b12-reject__head { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.v2b12-reject__idx { color: var(--bp-rose); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.v2b12-reject__sev { font-size: 12px; font-weight: 700; }
.v2b12-reject__sev.is-red { color: var(--bp-rose); }
.v2b12-reject__sev.is-amber { color: var(--bp-amber-deep); }
.v2b12-reject__sev.is-violet { color: var(--bp-violet); }
.v2gpr-prose .v2b12-reject__h { font-size: 19px; margin: 0 0 10px; color: var(--ink); }
.v2b12-fix,
.v2b12-no-box,
.v2b12-tmpl { border-radius: 10px; padding: 14px 16px; margin-top: 14px; }
.v2b12-fix { background: var(--go-tint); border: 1px solid var(--go-line); }
.v2b12-no-box { background: var(--bp-rose-tint); border: 1px solid var(--bp-rose-line); }
.v2b12-tmpl { background: var(--bp-violet-tint); border: 1px solid var(--bp-violet-line); }
.v2b12-fix__lab,
.v2b12-no-box__lab,
.v2b12-tmpl__lab { display: flex; align-items: center; gap: 8px; font-size: 13.5px; font-weight: 700; margin: 0 0 8px; }
.v2b12-fix__lab { color: var(--go-deep); }
.v2b12-no-box__lab { color: var(--bp-rose); }
.v2b12-tmpl__lab { color: var(--bp-violet); }
.v2b12-fix__lab svg,
.v2b12-no-box__lab svg,
.v2b12-tmpl__lab svg { width: 18px; height: 18px; flex-shrink: 0; }
.v2b12-fix p,
.v2b12-tmpl p { margin: 0; color: var(--slate); font-size: 14px; line-height: 1.55; }
.v2gpr-prose .v2b12-no-box ul { list-style: none; margin: 0; padding: 0; }
.v2b12-no-box li { position: relative; padding: 0 18px 6px 0; margin: 0; color: var(--slate); font-size: 14px; line-height: 1.5; }
.v2b12-no-box li::before { content: ""; position: absolute; right: 2px; top: 8px; width: 6px; height: 6px; border-radius: 50%; background: var(--bp-rose); }
.v2gpr-prose .v2b12-tmpl__btn {
    display: inline-flex; align-items: center; gap: 8px; margin-top: 12px;
    background: var(--bp-violet); color: #fff; font-weight: 600; font-size: 14px;
    padding: 11px 18px; border-radius: 9px; text-decoration: none;
}
.v2gpr-prose .v2b12-tmpl__btn:hover { background: #5b21b6; }
.v2b12-tmpl__btn .v2-ic { width: 18px; height: 18px; }

/* ---------- Pro tip ---------- */
.v2b12-protip { display: flex; gap: 14px; border: 1px solid var(--bp-amber-line); background: var(--bp-amber-tint); border-radius: 14px; padding: 18px; }
.v2b12-protip__ic { flex-shrink: 0; width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; color: var(--bp-amber-deep); background: #fff; border: 1px solid var(--bp-amber-line); }
.v2b12-protip__ic svg { width: 20px; height: 20px; }
.v2b12-protip strong { display: block; color: var(--ink); margin-bottom: 5px; }
.v2b12-protip p { margin: 0; color: var(--amber-body, #7c5310); font-size: 14.5px; line-height: 1.6; }

/* ---------- Pricing plates ---------- */
.v2b12-prices { display: grid; grid-template-columns: 1fr; gap: 14px; }
.v2b12-price { position: relative; border: 1px solid var(--bp-line); border-radius: 16px; background: var(--paper); padding: 24px 20px; text-align: center; box-shadow: var(--bp-shadow); }
.v2b12-price.is-best { border: 2px solid var(--go); box-shadow: var(--bp-shadow-lg); }
.v2b12-price__flag { position: absolute; top: -11px; right: 50%; transform: translateX(50%); background: var(--go); color: #fff; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; padding: 4px 14px; border-radius: 999px; }
.v2b12-price__tier { display: block; color: var(--bp-cyan); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.v2b12-price__amt { display: block; font-family: var(--font-display); font-weight: 800; font-size: 40px; color: var(--bp-navy); line-height: 1; margin: 10px 0 4px; }
.v2b12-price__testers { display: block; color: var(--bp-cyan-2); font-weight: 600; font-size: 14px; margin-bottom: 16px; }
.v2gpr-prose .v2b12-price__list { list-style: none; margin: 0 0 20px; padding: 0; text-align: right; }
.v2b12-price__list li { position: relative; padding: 0 26px 9px 0; margin: 0; color: var(--slate); font-size: 14px; line-height: 1.45; }
.v2b12-price__list li::before { content: ""; position: absolute; right: 4px; top: 6px; width: 12px; height: 7px; border-right: 2px solid var(--go); border-bottom: 2px solid var(--go); transform: rotate(45deg); }
.v2b12-price .v2b12-price__btn { display: block; background: #EEF2F6; color: var(--bp-navy); padding: 12px; border-radius: 9px; text-decoration: none; font-weight: 700; font-size: 15px; }
.v2b12-price .v2b12-price__btn:hover { background: #E1E7ED; }
.v2b12-price .v2b12-price__btn.is-best { background: linear-gradient(-135deg, #12b866, var(--go-deep)); color: #fff; }
.v2b12-price .v2b12-price__btn.is-best:hover { filter: brightness(1.05); }

/* ---------- Trust bar ---------- */
.v2b12-trustbar { display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center; }
.v2b12-trustbar span { display: inline-flex; align-items: center; gap: 8px; color: var(--slate); font-size: 14px; }
.v2b12-trustbar svg { width: 20px; height: 20px; color: var(--bp-cyan); flex-shrink: 0; }

/* ---------- Bottom line capsule ---------- */
.v2b12-bottom { border: 1px solid var(--go-line); border-right: 3px solid var(--go); border-radius: 16px; background: radial-gradient(120% 90% at 0 0, var(--go-tint) 0, rgba(232,245,238,0) 55%), var(--paper); padding: 22px 20px; box-shadow: var(--bp-shadow); }
.v2b12-bottom__tag { display: inline-flex; align-items: center; gap: 8px; color: var(--go-deep); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; margin: 0 0 12px; }
.v2b12-bottom__tag svg { width: 18px; height: 18px; }
.v2b12-bottom__lead { margin: 0 0 12px; color: var(--ink); font-size: 17px; font-weight: 600; line-height: 1.6; }
.v2b12-bottom__p { margin: 0; color: var(--slate); font-size: 15px; line-height: 1.65; }

/* =========================================================
   TABLET  ( >= 640px )
========================================================= */
@media (min-width: 640px) {
    .v2b12-index__grid { grid-template-columns: 1fr 1fr; }
    .v2b12-index__item { border-top: 1px solid rgba(14,116,144,.12); }
    .v2b12-index__grid > .v2b12-index__item:nth-child(2) { border-top: 0; }

    .v2b12-spec { grid-template-columns: 1fr 1fr; }
    .v2b12-spec__cell { border-top: 0; }
    .v2b12-spec__cell:nth-child(n+3) { border-top: 1px dashed var(--bp-line); }
    .v2b12-spec__cell:nth-child(even) { border-right: 1px dashed var(--bp-line); }

    .v2b12-catch { grid-template-columns: 1fr 1fr; }
    .v2b12-challenges__grid { grid-template-columns: 1fr 1fr; }
    .v2b12-provides,
    .v2b12-feats { grid-template-columns: 1fr 1fr; }

    .v2b12-midcta { padding: 26px 28px; }
    .v2b12-midcta__actions { flex-direction: row; justify-content: center; }

    .v2b12-gate { flex-direction: row; align-items: center; justify-content: center; }
    .v2b12-gate__step { flex: 0 1 auto; }
    .v2b12-gate__arr { transform: rotate(0deg); }

    .v2b12-plate { padding: 34px 28px 26px; }
    .v2b12-plate__term { min-width: 96px; }

    .v2b12-trustbar { flex-direction: row; justify-content: center; gap: 28px; }
}

/* =========================================================
   DESKTOP  ( >= 980px )
========================================================= */
@media (min-width: 980px) {
    .v2b12-prices { grid-template-columns: repeat(3, 1fr); align-items: start; }
    .v2b12-price.is-best { transform: translateY(-8px); }
    .v2b12-board__grid { gap: 22px; }
}

/* =========================================================
   SMALL PHONES  ( <= 380px )
========================================================= */
@media (max-width: 380px) {
    .v2b12-plate__formula { gap: 6px; }
    .v2b12-plate__term { min-width: 66px; padding: 10px 6px; }
    .v2b12-plate__op { font-size: 18px; }
    .v2b12-packs { gap: 6px; }
    .v2b12-pack__n { font-size: 26px; }
    .v2b12-board__grid { gap: 12px 6px; }
    .v2b12-meter__dots i { width: 17px; height: 17px; }
    .v2b12-reject__stamp { font-size: 11px; }
}

/* =============================================================
   BLOG PAQ V2  -  "Production Access Questionnaire Answers"
   Unique internal components for the questionnaire-answers post.
   Authored MOBILE-FIRST: base rules target phones, min-width
   queries add columns. Signature motif = EXAMINER'S ANSWER KEY /
   FORM SHEET - a mono Q-tab on each question, a copyable green
   MODEL ANSWER plate paired with a muted-rose AVOID strip, a
   three-panel form-section map, radio-pill multiple-choice
   questions, a prep evidence ledger, mono structure tables,
   red-flag mistake rows, a numbered recovery path and pricing
   plates. Green = correct / go / action (THE accent), a scoped
   muted rose = weak answer / mistake (the single "wrong" family),
   ink + mist = the form chrome. Light components only; the two
   dark moments stay the shared .v2gpr-qa Quick Answer capsule and
   the final .v2-cta. Prefix: v2paq-.
============================================================= */
.v2paq-hero,
.v2gpr-article {
    --paq-rose:      #B42318;
    --paq-rose-deep: #8A1C13;
    --paq-rose-tint: #FDF1F0;
    --paq-rose-line: #F3C9C4;
    --paq-shadow:    0 1px 2px rgba(10, 16, 23, .04), 0 14px 32px -18px rgba(10, 16, 23, .16);
    --paq-shadow-go: 0 1px 2px rgba(10, 16, 23, .04), 0 16px 34px -18px rgba(11, 138, 71, .24);
}

/* ---------- Hero eyebrow + cover ---------- */
.v2 .v2paq-eyebrow { display: inline-flex; align-items: center; gap: 7px; }
.v2paq-eyebrow svg { width: 14px; height: 14px; }
.v2paq-cover figcaption { text-align: center; }

/* ---------- Quick Answer tag icon ---------- */
.v2paq-qa .v2gpr-qa__tag svg { width: 15px; height: 15px; }

/* ---------- Answer-sheet index (What This Guide Covers) ---------- */
.v2paq-toc {
    margin: 26px 0;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: var(--paper);
    padding: 18px 16px;
    box-shadow: var(--paq-shadow);
}
.v2paq-toc__label {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--faint);
    margin: 2px 2px 14px;
}
.v2paq-toc__label svg { width: 16px; height: 16px; color: var(--go); }
.v2paq-toc__grid { display: grid; grid-template-columns: 1fr; gap: 2px; }
.v2paq-toc__item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px 10px;
    border-radius: 10px;
    text-decoration: none;
    border: 1px solid transparent;
    transition: background .16s ease, border-color .16s ease;
}
.v2paq-toc__item:hover { background: var(--mist); border-color: var(--line); }
.v2paq-toc__n {
    flex-shrink: 0;
    width: 26px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: var(--go-tint);
    color: var(--go-deep);
    font-size: 11px;
    font-weight: 700;
}
.v2paq-toc__t { font-size: 14px; color: var(--ink); font-weight: 550; line-height: 1.35; }

/* ---------- Intro lead paragraph ---------- */
.v2gpr-prose > .v2paq-lead-p { font-size: 17px; color: var(--ink); font-weight: 500; line-height: 1.7; }

/* ---------- Three-panel form-sections map ---------- */
.v2paq-map { display: grid; grid-template-columns: 1fr; gap: 12px; margin: 24px 0; }
.v2paq-map__panel {
    position: relative;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: var(--paper);
    padding: 30px 18px 20px;
    text-align: center;
    box-shadow: var(--paq-shadow);
}
.v2paq-map__tab {
    position: absolute;
    top: 12px;
    right: 14px;
    color: var(--faint);
    font-size: 9.5px;
}
.v2paq-map__ic {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 13px;
    background: var(--mist);
    color: var(--slate);
    margin: 4px 0 12px;
}
.v2paq-map__panel:last-child .v2paq-map__ic { background: var(--go-tint); color: var(--go); }
.v2paq-map__ic svg { width: 24px; height: 24px; }
.v2paq-map__k { display: block; font-family: var(--font-display); font-weight: 600; font-size: 15.5px; color: var(--ink); letter-spacing: -.01em; }

/* ---------- "What Google says" quote card ---------- */
.v2paq-gsay {
    margin: 22px 0;
    border: 1px solid var(--line);
    border-right: 3px solid #C9D2DA;
    border-radius: 12px;
    background: var(--mist);
    padding: 16px 18px;
}
.v2paq-gsay__tag { display: flex; align-items: center; gap: 8px; color: var(--slate); margin-bottom: 8px; }
.v2paq-gsay__tag svg { width: 16px; height: 16px; }
.v2paq-gsay__text { font-size: 14.5px; line-height: 1.7; color: var(--slate); }

/* ---------- Prep evidence ledger ---------- */
.v2paq-prep { margin: 24px 0; display: flex; flex-direction: column; gap: 12px; }
.v2paq-prep__row {
    display: flex;
    gap: 14px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: var(--paper);
    padding: 18px 16px;
    box-shadow: var(--paq-shadow);
}
.v2paq-prep__row--tip { border-color: rgba(11, 138, 71, .22); background: linear-gradient(-180deg, var(--go-tint), var(--paper) 62%); }
.v2paq-prep__n {
    flex-shrink: 0;
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: var(--ink);
    color: #fff;
    font-size: 15px;
    font-weight: 700;
}
.v2paq-prep__n--tip { background: var(--go-tint); color: var(--go); }
.v2paq-prep__n--tip svg { width: 20px; height: 20px; }
.v2paq-prep__body { min-width: 0; }
.v2paq-prep__k { display: block; font-family: var(--font-display); font-weight: 600; font-size: 16px; color: var(--ink); margin-bottom: 8px; letter-spacing: -.01em; }
.v2paq-prep__p { font-size: 14px; line-height: 1.65; color: var(--slate); margin: 0 0 8px; }
.v2paq-prep__body ul { margin: 6px 0 0; padding-right: 18px; list-style: disc; }
.v2paq-prep__body ul li { font-size: 14.5px; line-height: 1.65; color: var(--slate); margin: 4px 0; }
.v2paq-checks { margin: 6px 0 0; padding: 0; list-style: none; }
.v2paq-checks li {
    position: relative;
    padding-right: 26px;
    font-size: 14.5px;
    line-height: 1.6;
    color: var(--slate);
    margin: 8px 0;
}
.v2paq-checks li::before {
    content: '';
    position: absolute;
    right: 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 16 16' fill='none'%3E%3Cpath d='M3.5 8.2l3 3 6-7' stroke='%230B8A47' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 12px no-repeat;
}

/* ---------- Signature: answer-key card ---------- */
.v2paq-answer {
    margin: 20px 0 14px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: var(--paper);
    overflow: hidden;
    box-shadow: var(--paq-shadow);
    transition: box-shadow .2s ease;
}
.v2paq-answer.is-copied { box-shadow: 0 0 0 2px var(--go), 0 16px 34px -18px rgba(11, 138, 71, .3); }
.v2paq-answer__head {
    display: flex;
    align-items: center;
    gap: 11px;
    flex-wrap: wrap;
    padding: 12px 14px;
    background: var(--mist);
    border-bottom: 1px solid var(--line);
}
.v2paq-answer__q {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 28px;
    padding: 0 8px;
    border-radius: 8px;
    background: var(--ink);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
}
.v2paq-answer--alt .v2paq-answer__q { background: var(--star); color: var(--ink); }
.v2paq-answer__meta { display: flex; flex-direction: column; gap: 1px; margin-left: auto; }
.v2paq-answer__kick { color: var(--faint); font-size: 9.5px; }
.v2paq-answer__ok { display: inline-flex; align-items: center; gap: 5px; color: var(--go-deep); font-size: 12px; font-weight: 650; }
.v2paq-answer__ok svg { width: 15px; height: 15px; }
.v2 .v2paq-answer__copy {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
    border: 0;
    cursor: pointer;
    background: var(--go);
    color: #fff;
    border-radius: 9px;
    padding: 8px 13px;
    font-family: var(--font-body);
    font-size: 12.5px;
    font-weight: 600;
    letter-spacing: -.01em;
    transition: background .16s ease, transform .16s ease;
}
.v2 .v2paq-answer__copy:hover { background: var(--go-deep); transform: translateY(-1px); }
.v2 .v2paq-answer__copy svg { width: 16px; height: 16px; }
.v2paq-answer__body { padding: 16px 14px; }
.v2paq-answer .answer-text {
    position: relative;
    margin: 0;
    padding: 16px 20px 16px 18px;
    background: var(--go-tint);
    border-right: 3px solid var(--go);
    border-radius: 12px;
    color: var(--ink);
    font-size: 15px;
    line-height: 1.75;
}
.v2paq-answer__tags { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 14px 14px; }
.v2paq-tag {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: var(--mist);
    border: 1px solid var(--line);
    color: var(--slate);
    border-radius: 999px;
    padding: 5px 11px;
    font-size: 10px;
    letter-spacing: .04em;
}
.v2paq-tag svg { width: 13px; height: 13px; }
.v2paq-tag--star { color: var(--go-deep); border-color: rgba(11, 138, 71, .22); background: var(--go-tint); }
.v2paq-tag--warn { color: #92400E; border-color: #F5DFA8; background: #FEF6E7; }

/* ---------- AVOID strip (the muted-rose "wrong" family) ---------- */
.v2paq-avoid {
    margin: 6px 0 26px;
    border: 1px solid var(--paq-rose-line);
    border-right: 3px solid var(--paq-rose);
    border-radius: 12px;
    background: var(--paq-rose-tint);
    padding: 14px 16px;
}
.v2paq-avoid__tag { display: inline-flex; align-items: center; gap: 6px; color: var(--paq-rose); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 8px; }
.v2paq-avoid__tag svg { width: 13px; height: 13px; }
.v2paq-avoid__quote {
    margin: 0 0 6px;
    color: var(--paq-rose-deep);
    font-size: 15px;
    font-weight: 600;
    text-decoration: line-through;
    text-decoration-color: rgba(180, 35, 24, .4);
    text-underline-offset: 2px;
}
.v2paq-avoid__why { margin: 0; color: var(--slate); font-size: 13.5px; line-height: 1.55; }

/* ---------- Multiple-choice radio pills ---------- */
.v2paq-choice { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0; }
.v2paq-choice__opt {
    flex: 1 1 100%;
    display: flex;
    align-items: center;
    gap: 11px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--paper);
    padding: 12px 14px;
}
.v2paq-choice__radio {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 2px solid #CBD2D9;
    position: relative;
}
.v2paq-choice__label { font-size: 14px; color: var(--slate); font-weight: 500; }
.v2paq-choice__rec {
    margin-right: auto;
    background: var(--go);
    color: #fff;
    border-radius: 6px;
    padding: 3px 9px;
    font-size: 9.5px;
    letter-spacing: .06em;
}
.v2paq-choice__opt.is-pick { border-color: var(--go); background: var(--go-tint); }
.v2paq-choice__opt.is-pick .v2paq-choice__radio { border-color: var(--go); background: var(--go); }
.v2paq-choice__opt.is-pick .v2paq-choice__radio::after {
    content: '';
    position: absolute;
    inset: 3px;
    border-radius: 50%;
    background: #fff;
}
.v2paq-choice__opt.is-pick .v2paq-choice__label { color: var(--ink); font-weight: 700; }

/* ---------- Structure tables ---------- */
.v2paq-tablewrap {
    margin: 20px 0;
    border: 1px solid var(--line);
    border-radius: 14px;
    overflow: hidden;
    overflow-x: auto;
    box-shadow: var(--paq-shadow);
}
.v2paq-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.v2paq-table thead th {
    text-align: right;
    background: var(--ink);
    color: #C6D0DA;
    font-size: 10px;
    letter-spacing: .1em;
    padding: 12px 14px;
    white-space: nowrap;
}
.v2paq-table thead th:first-child { color: #3ECF81; }
.v2paq-table tbody td { padding: 12px 14px; border-top: 1px solid var(--line); color: var(--slate); line-height: 1.55; vertical-align: top; }
.v2paq-table tbody tr:nth-child(even) td { background: var(--mist); }
.v2paq-table__k { color: var(--ink); font-weight: 650; white-space: nowrap; }
.v2paq-table__ic { width: 15px; height: 15px; color: var(--slate); vertical-align: -2px; margin-left: 6px; }

/* ---------- Mid-article CTA (light) ---------- */
.v2paq-midcta {
    margin: 34px 0;
    border: 1px solid rgba(11, 138, 71, .22);
    border-radius: 16px;
    background: linear-gradient(-135deg, var(--go-tint), var(--paper) 70%);
    padding: 22px 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    box-shadow: var(--paq-shadow-go);
}
.v2paq-midcta__head { margin: 0 0 6px; font-family: var(--font-display); font-weight: 700; font-size: 18px; color: var(--ink); line-height: 1.3; letter-spacing: -.015em; }
.v2paq-midcta__sub { margin: 0; font-size: 14px; color: var(--slate); line-height: 1.6; }
.v2 .v2paq-midcta .v2-btn { align-self: flex-start; }

/* ---------- Decision-criteria cards ---------- */
.v2paq-criteria { display: grid; grid-template-columns: 1fr; gap: 10px; margin: 20px 0; }
.v2paq-criteria__cell {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--paper);
    padding: 14px 16px;
    font-size: 14px;
    color: var(--ink);
    line-height: 1.5;
}
.v2paq-criteria__tick {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 8px;
    background: var(--go-tint);
    color: var(--go);
}
.v2paq-criteria__tick svg { width: 15px; height: 15px; }

/* ---------- The 7 mistakes (the single rose "danger" block) ---------- */
.v2paq-mistakes { display: flex; flex-direction: column; gap: 10px; margin: 24px 0; }
.v2paq-mistake {
    display: flex;
    gap: 13px;
    border: 1px solid var(--paq-rose-line);
    border-radius: 12px;
    background: var(--paper);
    padding: 16px;
}
.v2paq-mistake__n {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: var(--paq-rose-tint);
    color: var(--paq-rose);
    font-size: 13px;
    font-weight: 700;
}
.v2paq-mistake__k { display: block; font-size: 15px; color: var(--ink); font-weight: 650; line-height: 1.4; }
.v2paq-mistake__p { margin: 5px 0 0; font-size: 13.5px; color: var(--slate); line-height: 1.55; }

/* ---------- Recovery path ---------- */
.v2paq-recover { margin: 24px 0; display: flex; flex-direction: column; }
.v2paq-recover__step { position: relative; display: flex; gap: 14px; padding-bottom: 20px; }
.v2paq-recover__step:last-child { padding-bottom: 0; }
.v2paq-recover__step::before {
    content: '';
    position: absolute;
    right: 17px;
    top: 36px;
    bottom: 2px;
    width: 2px;
    background: var(--line);
}
.v2paq-recover__step:last-child::before { display: none; }
.v2paq-recover__n {
    position: relative;
    z-index: 1;
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--ink);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
}
.v2paq-recover__n--go { background: var(--go); }
.v2paq-recover__n--go svg { width: 18px; height: 18px; }
.v2paq-recover__body { min-width: 0; padding-top: 2px; }
.v2paq-recover__k { display: block; font-family: var(--font-display); font-weight: 600; font-size: 16px; color: var(--ink); margin-bottom: 5px; letter-spacing: -.01em; }
.v2paq-recover__body p { margin: 0; font-size: 14.5px; line-height: 1.65; color: var(--slate); }

/* ---------- Pricing plates ---------- */
.v2paq-plans { display: grid; grid-template-columns: 1fr; gap: 12px; margin: 26px 0; }
.v2paq-plan {
    position: relative;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: var(--paper);
    padding: 20px;
    box-shadow: var(--paq-shadow);
}
.v2paq-plan.is-pop { border-color: var(--go); background: linear-gradient(-180deg, var(--go-tint), var(--paper) 60%); box-shadow: var(--paq-shadow-go); }
.v2paq-plan__badge {
    position: absolute;
    top: -9px;
    left: 16px;
    background: var(--go);
    color: #fff;
    border-radius: 6px;
    padding: 3px 10px;
    font-size: 9.5px;
    letter-spacing: .08em;
}
.v2paq-plan__top { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.v2paq-plan__ic {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 11px;
    background: var(--mist);
    color: var(--slate);
}
.v2paq-plan.is-pop .v2paq-plan__ic { background: var(--go-tint); color: var(--go); }
.v2paq-plan__ic svg { width: 22px; height: 22px; }
.v2paq-plan__name { font-family: var(--font-display); font-weight: 700; font-size: 18px; color: var(--ink); letter-spacing: -.015em; }
.v2paq-plan__testers { margin-right: auto; color: var(--faint); font-size: 10px; }
.v2paq-plan__price { font-family: var(--font-display); font-weight: 800; font-size: 30px; color: var(--ink); letter-spacing: -.02em; font-variant-numeric: tabular-nums; line-height: 1; }
.v2paq-plan__for { margin: 8px 0 0; font-size: 13px; color: var(--slate); line-height: 1.5; }

/* ---------- "Why this helps" card ---------- */
.v2paq-why {
    margin: 24px 0;
    border: 1px solid rgba(11, 138, 71, .22);
    border-radius: 14px;
    background: var(--go-tint);
    padding: 20px;
}
.v2paq-why__k { display: flex; align-items: center; gap: 9px; font-family: var(--font-display); font-weight: 700; font-size: 16px; color: var(--ink); margin-bottom: 10px; letter-spacing: -.01em; }
.v2paq-why__k svg { width: 20px; height: 20px; color: var(--go); flex-shrink: 0; }
.v2paq-why__p { margin: 0; font-size: 14.5px; line-height: 1.7; color: var(--slate); }

/* ---------- See all plans link ---------- */
.v2gpr-prose > .v2paq-allplans { text-align: center; margin: 22px 0 4px; }
.v2paq-allplans a { display: inline-flex; align-items: center; gap: 6px; color: var(--go-deep); font-size: 15px; font-weight: 600; text-decoration: none; }
.v2paq-allplans a:hover { text-decoration: underline; }
.v2paq-allplans a .v2-ic { width: 16px; height: 16px; }

/* ---------- Bottom-line stamp ---------- */
.v2paq-bottom {
    margin: 22px 0 4px;
    border: 1px solid rgba(11, 138, 71, .22);
    border-right: 3px solid var(--go);
    border-radius: 16px;
    background: radial-gradient(120% 90% at 0 0, var(--go-tint) 0, rgba(232, 245, 238, 0) 55%), var(--paper);
    padding: 22px 20px;
    box-shadow: var(--paq-shadow);
}
.v2paq-bottom__tag { display: inline-flex; align-items: center; gap: 8px; color: var(--go-deep); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 12px; }
.v2paq-bottom__tag svg { width: 18px; height: 18px; }
.v2paq-bottom__text { margin: 0; color: var(--slate); font-size: 16px; line-height: 1.75; }

/* ---------- PAQ tablet ( >= 560px ) ---------- */
@media (min-width: 560px) {
    .v2paq-toc { padding: 22px 20px; }
    .v2paq-toc__grid { grid-template-columns: 1fr 1fr; column-gap: 10px; }
    .v2paq-choice__opt { flex: 1 1 calc(50% - 4px); }
    .v2paq-criteria { grid-template-columns: 1fr 1fr; }
    .v2paq-answer__head { padding: 12px 16px; }
    .v2paq-answer__body { padding: 18px; }
    .v2paq-answer__tags { padding: 0 16px 16px; }
    .v2paq-answer .answer-text { font-size: 15.5px; }
    .v2paq-prep__row { padding: 20px; }
    .v2paq-mistake { padding: 18px 20px; }
}

/* ---------- PAQ tablet+ ( >= 640px ) ---------- */
@media (min-width: 640px) {
    .v2paq-map { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .v2paq-midcta {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 22px;
        padding: 24px 28px;
    }
    .v2paq-midcta__body { min-width: 0; }
    .v2 .v2paq-midcta .v2-btn { align-self: center; flex-shrink: 0; }
    .v2paq-map__panel { padding: 32px 20px 22px; }
}

/* ---------- PAQ desktop ( >= 760px ) ---------- */
@media (min-width: 760px) {
    .v2paq-plans { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; }
    .v2paq-plan.is-pop { transform: translateY(-6px); }
}

/* ---------- PAQ small phones ( <= 380px ) ---------- */
@media (max-width: 380px) {
    .v2paq-answer__head { gap: 8px; }
    .v2 .v2paq-answer__copy { padding: 8px 11px; font-size: 12px; }
    .v2paq-answer .answer-text { padding: 14px 16px 14px 14px; font-size: 14.5px; }
    .v2paq-plan__price { font-size: 27px; }
    .v2paq-map__panel { padding: 26px 12px 18px; }
    .v2paq-recover__step { gap: 11px; }
    .v2paq-prep__row { padding: 16px 14px; }
}


/* ============================================================
   LANGUAGE DROPDOWN (header) + mobile-sheet language chips
   Added 2026-07-11 for the multilingual rollout. Rendered by
   home_v2/_nav from LocaleHelper::dropdownTargets(). The popover
   anchors right in LTR; the generated RTL stylesheet flips it.
   ============================================================ */

.v2-lang { position: relative; }

.v2-lang__btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 11px;
    border-radius: 999px;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--slate);
    border: 1px solid var(--line);
    background: var(--paper);
    cursor: pointer;
    list-style: none;
    user-select: none;
    transition: color .15s ease, border-color .15s ease;
}
.v2-lang__btn::-webkit-details-marker { display: none; }
.v2-lang__btn:hover { color: var(--ink); border-color: #D5DBE1; }

.v2-lang__globe { width: 16px; height: 16px; }
.v2-lang__code { letter-spacing: .04em; }
.v2-lang__chev { width: 13px; height: 13px; transition: transform .15s ease; }
.v2-lang[open] .v2-lang__chev { transform: rotate(-180deg); }

.v2-lang__menu {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    margin: 0;
    padding: 6px;
    list-style: none;
    min-width: 170px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: 0 16px 40px rgba(10, 16, 23, .10), 0 2px 8px rgba(10, 16, 23, .06);
    z-index: 60;
}

.v2-lang__menu a,
.v2-lang__menu .is-current {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 9px 12px;
    border-radius: 9px;
    font-size: 14px;
    font-weight: 500;
    color: var(--ink);
}
.v2-lang__menu a:hover { background: var(--mist); }
.v2-lang__menu a.is-active,
.v2-lang__menu .is-current.is-active { color: var(--go-deep); font-weight: 650; }
.v2-lang__menu a svg,
.v2-lang__menu .is-current svg { width: 14px; height: 14px; color: var(--go); flex: none; }

/* Mobile: the pill hides with the desktop links; the sheet carries chips */
@media (max-width: 960px) {
    .v2-lang { display: none; }
}

.v2-lang__sheet {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 4px 0 14px;
}
.v2-lang__sheet a,
.v2-lang__sheet .is-current {
    padding: 8px 14px;
    border-radius: 999px;
    border: 1px solid var(--line);
    font-size: 14px;
    font-weight: 550;
    color: var(--slate);
}
.v2-lang__sheet a.is-active,
.v2-lang__sheet .is-current.is-active {
    border-color: var(--go);
    color: var(--go-deep);
    background: var(--go-tint);
}

/* Lang suggestion bar (#ptlLangBar): hidden + non-interactive by default.
   Author display:flex on .v2-langbar beat the [hidden] UA rule, so an empty
   pill stayed visible and ate taps over the mobile sheet language chips. */
.v2-langbar {
    position: fixed;
    right: 50%;
    bottom: 18px;
    transform: translateX(50%);
    z-index: 9990;
    display: none;
    pointer-events: none;
    align-items: center;
    gap: 14px;
    max-width: calc(100vw - 24px);
    padding: 11px 18px 11px 14px;
    background: #1A2332;
    color: #fff;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(16, 24, 40, .28);
    font-size: 14px;
    line-height: 1.35;
}
.v2-langbar[hidden],
.v2-langbar:not(.is-on) {
    display: none !important;
    pointer-events: none !important;
}
.v2-langbar.is-on {
    display: flex !important;
    pointer-events: auto;
}
/* Sheet open: nav JS sets html.v2-no-scroll. Kill the bar even when is-on so
   its z-index 9990 cannot intercept taps on sheet language chips. */
html.v2-no-scroll .v2-langbar,
html.v2-no-scroll .v2-resume {
    display: none !important;
    pointer-events: none !important;
}
.v2-langbar__go {
    color: #fff;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
    white-space: nowrap;
}
.v2-langbar__x {
    flex: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: 0;
    border-radius: 8px;
    background: rgba(255, 255, 255, .12);
    color: #fff;
    cursor: pointer;
}
.v2-langbar__x svg { width: 14px; height: 14px; }
@media (max-width: 480px) {
    .v2-langbar { width: calc(100vw - 24px); flex-wrap: wrap; gap: 8px 14px; }
}

/* Burger sheet (max-width 960px): keep language chips tappable.
   scroll-padding on .v2-nav__sheet (overflow-y:auto) so focus/scrollIntoView
   does not park chips under the sticky header CTA or bottom CTA block.
   flex-shrink:0 + chip padding keep the mid-sheet chip row from collapsing
   under the bottom CTA when the sheet content is short. */
@media (max-width: 960px) {
    .v2-nav__sheet {
        scroll-padding-top: 64px;
        scroll-padding-bottom: 90px;
    }
    .v2-nav__sheet-links {
        flex-shrink: 0;
    }
    .v2-lang__sheet {
        flex-shrink: 0;
        padding-bottom: 28px;
        margin-bottom: 4px;
    }
    .v2-nav__sheet-cta {
        flex-shrink: 0;
        margin-top: auto;
        background: var(--paper);
        padding-top: 16px;
        padding-bottom: 4px;
    }
}


/* =============================================================
   BLOG X20 V2  -  "20 to 12 Testers: Google Play's New Rules"
   Unique internal components for the 20-to-12 policy-change post.
   Authored MOBILE-FIRST: base rules target phones, min-width
   queries add columns. Signature motif = CHANGELOG / POLICY DIFF -
   a monospace 20 -> 12 diff card, a version-control commit-log
   timeline (+ / 20->12 / HEAD markers), an eligibility registry,
   requirement chips and release-step checklist. Cyan is the
   primary accent, green = added/current, rose = removed/risk,
   amber = the transition + caution, blue = info. Light components
   only; the two dark moments are the shared .v2gpr-qa Quick Answer
   capsule and the final .v2-cta.
============================================================= */
.v2x20-cover,
.v2x20-diff,
.v2x20-toc,
.v2x20-fig,
.v2x20-log,
.v2x20-confuse,
.v2x20-quote,
.v2x20-warn,
.v2x20-eligwrap,
.v2x20-reqs,
.v2x20-tip,
.v2x20-list,
.v2x20-insight,
.v2x20-callout,
.v2x20-ask,
.v2x20-steps,
.v2x20-highlights,
.v2x20-prices,
.v2x20-links,
.v2x20-bottom,
.v2x20-docs {
    --x-navy:   #1A2332;
    --x-cyan:   #0E7490;
    --x-cyan-2: #0891B2;
    --x-cyan-tint: #ECFEFF;
    --x-cyan-line: #BFE7EE;
    --x-rose:   #B42318;
    --x-rose-tint: #FDF1F0;
    --x-rose-line: #F3C9C4;
    --x-amber-deep: #92400E;
    --x-amber-tint: #FEF6E7;
    --x-amber-line: #F5DFA8;
    --x-amber-body: #7C5310;
    --x-blue:   #1D4ED8;
    --x-blue-tint: #EFF6FF;
    --x-blue-line: #C7DBFF;
    --x-line:   #E3E8EF;
    --x-mono:   ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
    --x-shadow: 0 1px 2px rgba(10,16,23,.04), 0 10px 26px -14px rgba(14,116,144,.18);
    --x-shadow-lg: 0 2px 6px rgba(10,16,23,.05), 0 22px 46px -20px rgba(14,116,144,.24);
    margin: 30px 0;
}

/* ---------- Hero tweaks ---------- */
.v2x20-eyebrow { color: var(--x-cyan); }
.v2x20-eyebrow::before { background: var(--x-cyan-2) !important; }
.v2x20-facts .v2x20-fact--change b { color: var(--x-cyan); }

/* Quick-answer highlight tints inside the dark capsule */
.v2gpr-qa.v2x20-qa .x-amber { color: #FFD56B; }
.v2gpr-qa.v2x20-qa .x-cyan { color: #7DE3FF; }

/* ---------- Heading anchor offset ---------- */
.v2x20-h2 { scroll-margin-top: 90px; }
.v2x20-h3 { scroll-margin-top: 90px; }

/* ---------- Cover image ---------- */
.v2x20-cover { margin: 26px 0 0; }
.v2x20-cover img {
    display: block; width: 100%; height: auto; border-radius: 16px;
    border: 1px solid var(--x-line); box-shadow: var(--x-shadow-lg);
}

/* ---------- Signature: policy diff card ---------- */
.v2x20-diff {
    border: 1px solid var(--x-line); border-radius: 16px; overflow: hidden;
    background: var(--paper); box-shadow: var(--x-shadow-lg);
}
.v2x20-diff__head {
    display: flex; align-items: center; justify-content: space-between;
    padding: 12px 16px; background: var(--x-navy);
}
.v2x20-diff__tag { color: #7DE3FF; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.v2x20-diff__when { color: rgba(255,255,255,.7); font-size: 11px; }
.v2x20-diff__rows { padding: 12px; display: grid; gap: 8px; }
.v2x20-diff__row {
    display: flex; align-items: center; gap: 12px; padding: 12px 14px;
    border-radius: 10px; font-family: var(--x-mono); font-size: 15px;
}
.v2x20-diff__row.is-del { background: var(--x-rose-tint); border: 1px solid var(--x-rose-line); }
.v2x20-diff__row.is-add { background: var(--go-tint); border: 1px solid var(--go-line); }
.v2x20-diff__row.is-keep { background: #F1F5F9; border: 1px solid var(--x-line); }
.v2x20-diff__sign { font-weight: 800; font-size: 18px; width: 16px; text-align: center; flex-shrink: 0; }
.v2x20-diff__row.is-del .v2x20-diff__sign { color: var(--x-rose); }
.v2x20-diff__row.is-add .v2x20-diff__sign { color: var(--go-deep); }
.v2x20-diff__row.is-keep .v2x20-diff__sign { color: var(--slate); }
.v2x20-diff__old { color: var(--x-rose); text-decoration: line-through; font-weight: 700; }
.v2x20-diff__new { color: var(--go-deep); font-weight: 800; }
.v2x20-diff__same { color: var(--ink); font-weight: 700; }
.v2x20-diff__note { margin-right: auto; font-size: 10.5px; letter-spacing: .04em; text-transform: uppercase; color: var(--slate); }
.v2x20-diff__foot { margin: 0; padding: 0 16px 14px; text-align: center; color: var(--slate); font-size: 12.5px; }

/* ---------- Table of contents ---------- */
.v2x20-toc { border: 1px dashed var(--x-cyan-line); border-radius: 14px; background: var(--x-cyan-tint); padding: 16px 16px 6px; }
.v2x20-toc__label { color: var(--x-cyan); font-size: 11px; margin: 0 0 10px; }
.v2x20-toc__grid { display: grid; grid-template-columns: 1fr; gap: 2px; }
.v2gpr-prose .v2x20-toc__grid a {
    display: flex; align-items: baseline; gap: 10px; padding: 9px 6px; margin: 0;
    color: var(--slate); font-size: 14.5px; line-height: 1.4; text-decoration: none;
    border-top: 1px solid rgba(14,116,144,.12);
}
.v2gpr-prose .v2x20-toc__grid a:first-child { border-top: 0; }
.v2gpr-prose .v2x20-toc__grid a:hover { color: var(--x-cyan); }
.v2x20-toc__grid a .v2-mono { color: var(--x-cyan-2); font-size: 11px; flex-shrink: 0; }

/* ---------- Figures ---------- */
.v2gpr-prose .v2x20-fig { margin: 26px 0; }
.v2gpr-prose .v2x20-fig .v2x20-fig__frame {
    border: 1px solid var(--x-line); border-radius: 14px; overflow: hidden;
    box-shadow: var(--x-shadow); background: var(--paper);
}
.v2gpr-prose .v2x20-fig img { display: block; width: 100%; height: auto; }
.v2gpr-prose .v2x20-fig figcaption {
    margin-top: 12px; text-align: center; font-size: 13px; color: var(--slate);
    line-height: 1.5; font-style: italic;
}
.v2gpr-prose .v2x20-fig figcaption strong { color: var(--ink); font-style: normal; }

/* ---------- Commit-log timeline ---------- */
.v2x20-log { position: relative; display: grid; gap: 0; padding-right: 6px; }
.v2x20-commit { position: relative; display: grid; gap: 6px; padding: 0 34px 20px 0; }
.v2x20-commit::before {
    content: ""; position: absolute; right: 8px; top: 22px; bottom: -2px;
    width: 2px; background: var(--x-line);
}
.v2x20-commit:last-child::before { display: none; }
.v2x20-commit::after {
    content: ""; position: absolute; right: 3px; top: 4px; width: 12px; height: 12px;
    border-radius: 50%; background: var(--slate); box-shadow: 0 0 0 3px var(--paper);
}
.v2x20-commit.is-add::after { background: var(--x-cyan-2); }
.v2x20-commit.is-change::after { background: #D9910A; }
.v2x20-commit.is-head::after { background: var(--go); box-shadow: 0 0 0 3px var(--paper), 0 0 0 5px var(--go-line); }
.v2x20-commit__date { display: inline-block; color: var(--slate); font-size: 11px; }
.v2x20-commit__mark {
    display: inline-block; align-self: start; font-size: 11px; font-weight: 600;
    padding: 3px 9px; border-radius: 6px; background: #EEF1F5; color: var(--slate);
}
.v2x20-commit__mark.is-add { background: var(--x-cyan-tint); color: var(--x-cyan); }
.v2x20-commit__mark.is-change { background: var(--x-amber-tint); color: var(--x-amber-deep); }
.v2x20-commit__mark.is-head { background: var(--go-tint); color: var(--go-deep); }
.v2x20-commit__body { background: var(--paper); border: 1px solid var(--x-line); border-radius: 12px; padding: 14px 16px; box-shadow: var(--x-shadow); }
.v2x20-commit.is-change .v2x20-commit__body { border-color: var(--x-amber-line); background: var(--x-amber-tint); }
.v2x20-commit.is-head .v2x20-commit__body { border-color: var(--go-line); background: var(--go-tint); }
.v2x20-commit__h { display: block; font-family: var(--font-display); font-weight: 700; font-size: 16px; color: var(--ink); margin-bottom: 4px; }
.v2x20-commit__body p { margin: 0; color: var(--slate); font-size: 14.5px; line-height: 1.6; }

/* ---------- Confusion cards ---------- */
.v2x20-confuse { display: grid; grid-template-columns: 1fr; gap: 12px; }
.v2x20-confuse__card { border-radius: 14px; padding: 16px 18px; }
.v2x20-confuse__card.is-rose { background: var(--x-rose-tint); border: 1px solid var(--x-rose-line); }
.v2x20-confuse__card.is-amber { background: var(--x-amber-tint); border: 1px solid var(--x-amber-line); }
.v2x20-confuse__lab { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 700; margin: 0 0 8px; text-transform: uppercase; letter-spacing: .02em; }
.v2x20-confuse__card.is-rose .v2x20-confuse__lab { color: var(--x-rose); }
.v2x20-confuse__card.is-amber .v2x20-confuse__lab { color: var(--x-amber-deep); }
.v2x20-confuse__lab svg { width: 16px; height: 16px; }
.v2x20-confuse__card p { margin: 0; font-size: 14.5px; line-height: 1.6; }
.v2x20-confuse__card.is-rose p { color: #8a2820; }
.v2x20-confuse__card.is-amber p { color: var(--x-amber-body); }

/* ---------- Google quote ---------- */
.v2x20-quote { border-right: 3px solid #4285F4; background: #F7FAFC; border-radius: 12px 0 0 12px; padding: 16px 20px; }
.v2x20-quote__src { display: inline-flex; align-items: center; gap: 8px; color: var(--ink); font-size: 12px; font-weight: 700; margin: 0 0 8px; }
.v2x20-quote__src svg { width: 16px; height: 16px; color: #4285F4; }
.v2x20-quote__t { margin: 0; color: #374151; font-size: 16px; line-height: 1.7; font-style: italic; }

/* ---------- Warning ---------- */
.v2x20-warn { background: var(--x-rose-tint); border: 1px solid var(--x-rose-line); border-radius: 12px; padding: 16px 18px; }
.v2x20-warn__lab { display: inline-flex; align-items: center; gap: 8px; color: var(--x-rose); font-size: 12px; font-weight: 700; margin: 0 0 8px; text-transform: uppercase; letter-spacing: .02em; }
.v2x20-warn__lab svg { width: 16px; height: 16px; }
.v2x20-warn p { margin: 0; color: #8a2820; font-size: 14.5px; line-height: 1.7; }

/* ---------- Eligibility table (stacks on mobile) ---------- */
.v2x20-eligwrap { border: 1px solid var(--x-line); border-radius: 14px; overflow: hidden; box-shadow: var(--x-shadow); }
.v2x20-eligtable { width: 100%; border-collapse: collapse; font-size: 14px; background: var(--paper); }
.v2x20-eligtable thead th { background: var(--x-navy); color: #fff; text-align: right; font-size: 11px; letter-spacing: .04em; text-transform: uppercase; padding: 12px 16px; font-weight: 600; }
.v2x20-eligtable td { padding: 13px 16px; border-top: 1px solid var(--x-line); color: var(--slate); }
.v2x20-eligtable td strong { color: var(--ink); }
.v2x20-pill { display: inline-block; font-size: 12px; font-weight: 700; padding: 3px 12px; border-radius: 999px; }
.v2x20-pill.is-req { background: var(--x-rose-tint); color: var(--x-rose); }
.v2x20-pill.is-exempt { background: var(--go-tint); color: var(--go-deep); }

/* ---------- Requirement chips ---------- */
.v2x20-reqs { display: grid; grid-template-columns: 1fr; gap: 12px; }
.v2x20-req { text-align: center; border: 1px solid var(--x-line); border-radius: 14px; background: var(--paper); padding: 20px 16px; box-shadow: var(--x-shadow); }
.v2x20-req__ic { display: grid; place-items: center; width: 46px; height: 46px; margin: 0 auto 12px; border-radius: 13px; color: var(--x-cyan); background: var(--x-cyan-tint); }
.v2x20-req__ic svg { width: 24px; height: 24px; }
.v2x20-req__k { display: block; font-family: var(--font-display); font-weight: 800; font-size: 20px; color: var(--x-navy); }
.v2x20-req__v { display: block; margin-top: 5px; color: var(--slate); font-size: 13.5px; line-height: 1.5; }

/* ---------- Tips (amber) ---------- */
.v2x20-tip { background: var(--x-amber-tint); border: 1px solid var(--x-amber-line); border-radius: 12px; padding: 16px 18px; }
.v2x20-tip__lab { display: inline-flex; align-items: center; gap: 8px; color: var(--x-amber-deep); font-size: 12px; font-weight: 700; margin: 0 0 8px; text-transform: uppercase; letter-spacing: .02em; }
.v2x20-tip__lab svg { width: 16px; height: 16px; }
.v2x20-tip p { margin: 0; color: var(--x-amber-body); font-size: 14.5px; line-height: 1.7; }

/* ---------- Bulleted lists ---------- */
.v2gpr-prose .v2x20-list { list-style: none; margin: 16px 0; padding: 0; display: grid; gap: 8px; }
.v2x20-list li { display: flex; align-items: flex-start; gap: 10px; padding: 12px 14px; background: #F7FAFC; border: 1px solid var(--x-line); border-radius: 10px; color: var(--slate); font-size: 14.5px; line-height: 1.6; }
.v2x20-list li svg { width: 18px; height: 18px; color: var(--x-cyan); flex-shrink: 0; margin-top: 1px; }
.v2x20-list.is-go li svg { color: var(--go); }
.v2x20-list li strong { color: var(--ink); }

/* ---------- Insight box (blue) ---------- */
.v2x20-insight { background: var(--x-blue-tint); border: 1px solid var(--x-blue-line); border-radius: 14px; padding: 18px 20px; }
.v2x20-insight__lab { display: inline-flex; align-items: center; gap: 8px; color: var(--x-blue); font-size: 11px; font-weight: 700; margin: 0 0 10px; text-transform: uppercase; letter-spacing: .05em; }
.v2x20-insight__lab svg { width: 16px; height: 16px; }
.v2x20-insight__lead { margin: 0; color: #1E3A5F; font-size: 17px; font-weight: 700; line-height: 1.6; }
.v2x20-insight__sub { margin: 12px 0 0; color: #374151; font-size: 14.5px; line-height: 1.6; }
.v2x20-insight.is-swap { background: var(--x-cyan-tint); border-color: var(--x-cyan-line); }
.v2x20-insight.is-swap .v2x20-insight__lab { color: var(--x-cyan); }

/* ---------- Callout ---------- */
.v2x20-callout { display: flex; gap: 12px; background: var(--x-blue-tint); border: 1px solid var(--x-blue-line); border-radius: 12px; padding: 16px 18px; }
.v2x20-callout__ic { flex-shrink: 0; width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center; color: var(--x-blue); background: #fff; }
.v2x20-callout__ic svg { width: 18px; height: 18px; }
.v2x20-callout p { margin: 0; color: #1E3A5F; font-size: 14.5px; line-height: 1.65; }

/* ---------- Ask table ---------- */
.v2x20-ask { border: 1px solid var(--x-line); border-radius: 14px; overflow: hidden; box-shadow: var(--x-shadow); }
.v2x20-ask__head { display: none; }
.v2x20-ask__row { padding: 14px 16px; border-top: 1px solid var(--x-line); }
.v2x20-ask__row:first-of-type { border-top: 0; }
.v2x20-ask__q { display: block; font-weight: 700; color: var(--ink); font-size: 15px; margin-bottom: 4px; }
.v2x20-ask__m { display: block; color: var(--slate); font-size: 14px; line-height: 1.6; }

/* ---------- Release-step checklist ---------- */
.v2x20-steps { display: grid; gap: 12px; }
.v2x20-step { display: flex; gap: 14px; }
.v2x20-step__num { flex-shrink: 0; width: 34px; height: 34px; border-radius: 11px; display: grid; place-items: center; background: var(--x-navy); color: #fff; font-size: 15px; font-weight: 700; }
.v2x20-step__card { flex: 1; background: var(--paper); border: 1px solid var(--x-line); border-radius: 12px; padding: 16px 18px; box-shadow: var(--x-shadow); }
.v2x20-step__h { display: block; font-family: var(--font-display); font-weight: 700; font-size: 16.5px; color: var(--ink); margin-bottom: 6px; }
.v2x20-step__card > p { margin: 0; color: var(--slate); font-size: 14.5px; line-height: 1.6; }
.v2x20-step__tip { margin-top: 12px; background: var(--x-amber-tint); border: 1px solid var(--x-amber-line); border-radius: 9px; padding: 10px 14px; font-size: 13.5px; color: var(--x-amber-body); line-height: 1.6; }
.v2x20-step__tip strong { color: var(--x-amber-deep); }
.v2x20-mini { margin-top: 12px; border-radius: 10px; padding: 13px 16px; }
.v2x20-mini.is-rose { background: var(--x-rose-tint); border: 1px solid var(--x-rose-line); }
.v2x20-mini.is-blue { background: var(--x-blue-tint); border: 1px solid var(--x-blue-line); }
.v2x20-mini__lab { display: inline-flex; align-items: center; gap: 7px; font-size: 11px; font-weight: 700; margin: 0 0 6px; text-transform: uppercase; letter-spacing: .04em; }
.v2x20-mini.is-rose .v2x20-mini__lab { color: var(--x-rose); }
.v2x20-mini.is-blue .v2x20-mini__lab { color: var(--x-blue); }
.v2x20-mini__lab svg { width: 15px; height: 15px; }
.v2x20-mini p { margin: 0; font-size: 13.5px; line-height: 1.65; }
.v2x20-mini.is-rose p { color: #8a2820; }
.v2x20-mini.is-blue p { color: #374151; }
.v2gpr-prose .v2x20-substeps { margin: 10px 0 0; padding-right: 18px; color: var(--slate); font-size: 14.5px; line-height: 1.8; }
.v2x20-substeps li { margin: 0; }

/* ---------- PTL highlights ---------- */
.v2x20-highlights { display: grid; grid-template-columns: 1fr; gap: 10px; }
.v2x20-hl { display: flex; align-items: center; gap: 12px; border-radius: 12px; padding: 14px 16px; }
.v2x20-hl.is-go { background: var(--go-tint); border: 1px solid var(--go-line); }
.v2x20-hl.is-blue { background: var(--x-blue-tint); border: 1px solid var(--x-blue-line); }
.v2x20-hl.is-amber { background: var(--x-amber-tint); border: 1px solid var(--x-amber-line); }
.v2x20-hl__ic { flex-shrink: 0; width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: #fff; }
.v2x20-hl.is-go .v2x20-hl__ic { color: var(--go-deep); }
.v2x20-hl.is-blue .v2x20-hl__ic { color: var(--x-blue); }
.v2x20-hl.is-amber .v2x20-hl__ic { color: var(--x-amber-deep); }
.v2x20-hl__ic svg { width: 20px; height: 20px; }
.v2x20-hl strong { display: block; color: var(--ink); font-size: 14px; }
.v2x20-hl span { display: block; color: var(--slate); font-size: 12px; }

/* ---------- Pricing plates ---------- */
.v2x20-prices { display: grid; grid-template-columns: 1fr; gap: 14px; }
.v2x20-price { position: relative; text-align: center; border: 1px solid var(--x-line); border-radius: 16px; background: var(--paper); padding: 24px 20px; box-shadow: var(--x-shadow); }
.v2x20-price.is-best { border: 2px solid var(--x-cyan-2); box-shadow: var(--x-shadow-lg); }
.v2x20-price__flag { position: absolute; top: -11px; right: 50%; transform: translateX(50%); background: linear-gradient(-135deg, #06B6D4, var(--x-cyan)); color: #fff; font-size: 10px; letter-spacing: .06em; text-transform: uppercase; padding: 4px 14px; border-radius: 999px; }
.v2x20-price__tier { display: block; color: var(--x-cyan); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.v2x20-price__testers { display: block; color: var(--slate); font-size: 13px; margin-top: 4px; }
.v2x20-price__amt { display: block; font-family: var(--font-display); font-weight: 800; font-size: 36px; color: var(--x-navy); line-height: 1; margin: 8px 0 14px; }
.v2gpr-prose .v2x20-price__list { list-style: none; margin: 0 0 18px; padding: 0; text-align: right; }
.v2x20-price__list li { position: relative; padding: 0 24px 8px 0; margin: 0; color: var(--slate); font-size: 13.5px; line-height: 1.45; }
.v2x20-price__list li::before { content: ""; position: absolute; right: 3px; top: 5px; width: 11px; height: 6px; border-right: 2px solid var(--go); border-bottom: 2px solid var(--go); transform: rotate(45deg); }
.v2x20-price .v2x20-price__btn { display: block; background: #EEF2F6; color: var(--x-navy); padding: 11px; border-radius: 9px; text-decoration: none; font-weight: 700; font-size: 14px; }
.v2x20-price .v2x20-price__btn:hover { background: #E1E7ED; }
.v2x20-price .v2x20-price__btn.is-best { background: linear-gradient(-135deg, #06B6D4, var(--x-cyan)); color: #fff; }
.v2x20-price .v2x20-price__btn.is-best:hover { filter: brightness(1.05); }

/* ---------- Helpful links ---------- */
.v2x20-links { border: 1px solid var(--x-line); border-radius: 14px; background: #F8FAFC; padding: 16px 18px; }
.v2x20-links__lab { display: inline-flex; align-items: center; gap: 8px; color: var(--x-cyan); font-size: 12px; font-weight: 700; margin: 0 0 12px; text-transform: uppercase; letter-spacing: .04em; }
.v2x20-links__lab svg { width: 16px; height: 16px; }
.v2x20-links__grid { display: grid; grid-template-columns: 1fr; gap: 8px; }
.v2gpr-prose .v2x20-links__grid a {
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
    padding: 11px 14px; background: var(--paper); border: 1px solid var(--x-line);
    border-radius: 9px; text-decoration: none; color: var(--ink); font-size: 14px; font-weight: 500;
}
.v2gpr-prose .v2x20-links__grid a:hover { border-color: var(--x-cyan-line); color: var(--x-cyan); }
.v2x20-links__grid a .v2-ic { width: 18px; height: 18px; color: var(--x-cyan); flex-shrink: 0; }

/* ---------- Bottom line ---------- */
.v2x20-bottom { border: 1px solid var(--x-amber-line); border-right: 3px solid #D9910A; border-radius: 16px; background: radial-gradient(120% 90% at 0 0, var(--x-amber-tint) 0, rgba(254,246,231,0) 60%), var(--paper); padding: 22px 20px; box-shadow: var(--x-shadow); }
.v2x20-bottom__tag { display: inline-flex; align-items: center; gap: 8px; color: var(--x-amber-deep); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; margin: 0 0 12px; }
.v2x20-bottom__tag svg { width: 18px; height: 18px; }
.v2x20-bottom__text { margin: 0; color: var(--ink); font-size: 16px; line-height: 1.75; font-weight: 500; }

/* ---------- Official docs ---------- */
.v2x20-docs { border: 1px solid var(--x-line); border-radius: 14px; background: #F8FAFC; padding: 16px 18px; }
.v2x20-docs__lab { display: inline-flex; align-items: center; gap: 8px; color: var(--ink); font-size: 12px; font-weight: 700; margin: 0 0 12px; }
.v2x20-docs__lab svg { width: 16px; height: 16px; color: #4285F4; }
.v2x20-docs__list { display: grid; gap: 8px; }
.v2gpr-prose .v2x20-docs__list a { display: flex; align-items: center; gap: 9px; color: var(--x-cyan); font-size: 14px; text-decoration: none; line-height: 1.5; }
.v2gpr-prose .v2x20-docs__list a:hover { color: var(--x-cyan-2); text-decoration: underline; }
.v2x20-docs__list a .v2-ic { width: 16px; height: 16px; flex-shrink: 0; }

/* =========================================================
   TABLET  ( >= 640px )
========================================================= */
@media (min-width: 640px) {
    .v2x20-toc__grid { grid-template-columns: 1fr 1fr; }
    .v2gpr-prose .v2x20-toc__grid a:nth-child(2) { border-top: 0; }

    .v2x20-confuse { grid-template-columns: 1fr 1fr; }
    .v2x20-reqs { grid-template-columns: repeat(3, 1fr); }
    .v2x20-highlights { grid-template-columns: repeat(3, 1fr); }
    .v2x20-links__grid { grid-template-columns: 1fr 1fr; }

    .v2x20-ask__head { display: grid; grid-template-columns: 1fr 1.4fr; gap: 16px; padding: 11px 16px; background: var(--x-navy); }
    .v2x20-ask__head span { color: rgba(255,255,255,.85); font-size: 11px; letter-spacing: .04em; text-transform: uppercase; }
    .v2x20-ask__row { display: grid; grid-template-columns: 1fr 1.4fr; gap: 16px; align-items: baseline; }
    .v2x20-ask__q { margin-bottom: 0; }
    .v2x20-ask__row:first-of-type { border-top: 1px solid var(--x-line); }

    .v2x20-diff__row { font-size: 16px; }
}

/* =========================================================
   DESKTOP  ( >= 980px )
========================================================= */
@media (min-width: 980px) {
    .v2x20-prices { grid-template-columns: repeat(3, 1fr); align-items: start; }
    .v2x20-price.is-best { transform: translateY(-8px); }
}

/* =========================================================
   SMALL PHONES  ( <= 380px )
========================================================= */
@media (max-width: 380px) {
    .v2x20-diff__row { font-size: 13.5px; gap: 8px; padding: 10px 12px; }
    .v2x20-diff__note { display: none; }
    .v2x20-commit { padding-right: 30px; }
    .v2x20-req__k { font-size: 18px; }
    .v2x20-price__amt { font-size: 30px; }
    .v2x20-step { gap: 10px; }
    .v2x20-step__num { width: 30px; height: 30px; font-size: 14px; }
}

/* ============================================================
   BLOG BMT V2  -  "Why You Need More Than 12 Google Play Testers"
   (/blog/why-you-need-more-than-12-testers)
   Rides the shared v2gpr- article layer. Adds a UNIQUE, mobile-first
   SAFETY-MARGIN / BUFFER motif: headroom plaques, a live "survival
   margin" meter (ink = the 12 floor, green = your buffer),
   fault-line dossier rows, coverage tags, margin-advantage cards,
   KPI tiles, a sweet-spot best-value card and pricing plates.
   Prefix: v2bmt-. Dark moments: the thesis card + the final CTA.
   One rose moment: the "zero room for error" strip.
   In-prose components are prefixed with .v2gpr-prose where they must
   beat the prose link / list-reset / strong selectors (0,1,1).
   ============================================================ */

/* Shared marker dots (check / cross) */
.v2bmt-mk {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    border-radius: 50%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 11px;
    margin-top: 1px;
}
.v2bmt-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");
}
.v2bmt-mk.is-x {
    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' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* ---------- Hero: safety-margin gauge ---------- */
.v2bmt-gauge {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: clamp(24px, 3.5vw, 34px);
    max-width: 830px;
}
.v2bmt-gauge__card {
    position: relative;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 17px 16px 15px;
}
.v2bmt-gauge__card.is-featured {
    border-color: rgba(11, 138, 71, 0.32);
    background: linear-gradient(-180deg, #fff, var(--go-tint));
    box-shadow: 0 1px 2px rgba(10, 16, 23, 0.05), 0 20px 40px -24px rgba(11, 138, 71, 0.34);
}
.v2bmt-gauge__pin {
    position: absolute;
    top: -9px;
    right: 16px;
    background: var(--go);
    color: #fff;
    font-size: 9px;
    padding: 3px 9px;
    border-radius: 999px;
}
.v2bmt-gauge__top { display: flex; align-items: baseline; gap: 8px; }
.v2bmt-gauge__num {
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 32px;
    letter-spacing: -0.02em;
    color: var(--ink);
    font-variant-numeric: tabular-nums;
}
.v2bmt-gauge__lab { font-size: 9.5px; color: var(--faint); }
.v2bmt-gauge__bar {
    height: 6px;
    border-radius: 999px;
    background: var(--mist);
    margin: 12px 0 8px;
    overflow: hidden;
}
.v2bmt-gauge__bar i {
    display: block;
    height: 100%;
    width: var(--w, 0%);
    background: var(--go);
    border-radius: 999px;
}
.v2bmt-gauge__buf { font-size: 10px; color: var(--go-deep); }
.v2bmt-gauge__buf.is-none { color: var(--faint); }
/* Hero entrance for the gauge */
.v2gpr-hero.v2-anim .v2bmt-gauge__card {
    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 .v2bmt-gauge__card { opacity: 1; transform: none; }
.v2gpr-hero.v2-anim .v2bmt-gauge__bar i { width: 0; transition: width 0.85s cubic-bezier(0.22, 0.8, 0.26, 1) 0.55s; }
.v2gpr-hero.is-in .v2bmt-gauge__bar i { width: var(--w, 0%); }

/* ---------- Intro: key insight + myth quote + index ---------- */
.v2bmt-key {
    position: relative;
    background: var(--paper);
    border: 1px solid var(--line);
    border-right: 3px solid var(--go);
    border-radius: 14px;
    padding: 20px 22px;
    margin: 28px 0;
    box-shadow: 0 1px 2px rgba(10, 16, 23, 0.04), 0 18px 36px -26px rgba(10, 16, 23, 0.16);
}
.v2bmt-key__tag {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 10.5px;
    color: var(--go-deep);
    margin-bottom: 10px;
}
.v2bmt-key__tag svg { width: 16px; height: 16px; flex-shrink: 0; }
.v2bmt-key__text { font-size: 16px; line-height: 1.7; color: var(--slate); }

.v2gpr-prose > p.v2bmt-lead-p { font-size: 17.5px; color: var(--ink); font-weight: 450; }

.v2bmt-quote {
    position: relative;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 22px 30px 20px 26px;
    margin: 26px 0;
}
.v2bmt-quote__mark {
    position: absolute;
    top: 4px;
    right: 14px;
    font-family: var(--font-display);
    font-size: 54px;
    line-height: 1;
    color: #D5DCE2;
}
.v2bmt-quote__myth {
    font-size: 18px;
    font-style: italic;
    color: var(--ink);
    line-height: 1.5;
}
.v2bmt-quote__bust { margin-top: 12px; font-size: 15px; color: var(--slate); }

.v2bmt-index {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 20px 22px;
    margin: 30px 0;
}
.v2bmt-index__label { font-size: 10px; color: var(--faint); margin-bottom: 12px; }
.v2bmt-index__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px 18px;
}
.v2gpr-prose .v2bmt-index__item {
    display: flex;
    align-items: baseline;
    gap: 9px;
    font-size: 13.5px;
    font-weight: 500;
    color: var(--slate);
    text-decoration: none;
    padding: 8px 0;
    transition: color 0.18s ease;
}
.v2gpr-prose .v2bmt-index__item:hover { color: var(--ink); }
.v2bmt-index__item .v2-mono { font-size: 9.5px; color: var(--go-deep); flex-shrink: 0; }

/* ---------- Section 1: requirement plaques + thesis + means ---------- */
.v2bmt-reqs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 24px 0;
}
.v2bmt-req {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    text-align: center;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 20px 12px;
}
.v2bmt-req__ic {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: var(--paper);
    border: 1px solid var(--line);
    display: grid;
    place-items: center;
    color: var(--slate);
}
.v2bmt-req__ic svg { width: 22px; height: 22px; }
.v2bmt-req strong { font-size: 14px; color: var(--ink); }

.v2bmt-thesis {
    position: relative;
    overflow: hidden;
    background: var(--ink);
    border-radius: 18px;
    padding: 26px 28px;
    margin: 26px 0;
}
.v2bmt-thesis::after {
    content: '';
    position: absolute;
    top: -30px;
    left: -30px;
    width: 120px;
    height: 120px;
    border-radius: 50%;
    background: rgba(62, 207, 129, 0.09);
}
.v2bmt-thesis__tag {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 10.5px;
    color: #7A8794;
    margin-bottom: 12px;
}
.v2bmt-thesis__tag svg { width: 16px; height: 16px; color: #3ECF81; }
.v2bmt-thesis__line {
    position: relative;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: clamp(1.15rem, 1rem + 0.8vw, 1.5rem);
    line-height: 1.35;
    color: #fff;
}
.v2bmt-thesis__min { color: #A9B4BF; }
.v2bmt-thesis__go { color: #3ECF81; }

.v2gpr-prose .v2bmt-means { display: grid; gap: 10px; margin: 20px 0; }
.v2bmt-means li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 15.5px;
    line-height: 1.5;
    color: var(--slate);
}

.v2bmt-turn { border-right: 3px solid var(--line); padding: 2px 18px 2px 0; margin: 26px 0; }
.v2bmt-turn__q { font-size: 16px; color: var(--ink); }
.v2bmt-turn__a { font-size: 16px; font-style: italic; color: var(--slate); margin-top: 4px; }

/* ---------- Section 2: rose danger + fault-line dossiers ---------- */
.v2bmt-danger {
    display: flex;
    align-items: center;
    gap: 14px;
    background: #FDF1F0;
    border: 1px solid rgba(180, 35, 24, 0.16);
    border-radius: 14px;
    padding: 16px 20px;
    margin: 24px 0;
}
.v2bmt-danger__ic {
    flex-shrink: 0;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: rgba(180, 35, 24, 0.1);
    display: grid;
    place-items: center;
    color: #B42318;
}
.v2bmt-danger__ic svg { width: 20px; height: 20px; }
.v2bmt-danger p { font-size: 16px; color: #B42318; font-weight: 600; line-height: 1.4; }
.v2gpr-prose .v2bmt-danger strong { color: #B42318; }

.v2bmt-fault {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 22px 24px;
    margin: 18px 0;
}
.v2bmt-fault__head { display: flex; align-items: flex-start; gap: 14px; }
.v2bmt-fault__no {
    flex-shrink: 0;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: var(--ink);
    color: #fff;
    font-size: 12.5px;
    display: grid;
    place-items: center;
}
.v2bmt-fault__h {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 17px;
    letter-spacing: -0.012em;
    line-height: 1.32;
    color: var(--ink);
    padding-top: 6px;
}
.v2bmt-fault__body { margin-top: 15px; }
.v2bmt-fault__cap { font-size: 14.5px; color: var(--slate); margin: 0 0 12px; }
.v2bmt-fault__note {
    border-radius: 10px;
    padding: 12px 14px;
    font-size: 13.5px;
    line-height: 1.55;
    margin-top: 14px;
}
.v2bmt-fault__note.is-cost { background: var(--mist); border: 1px solid var(--line); color: var(--slate); }
.v2bmt-fault__note.is-gain { background: var(--go-tint); border: 1px solid rgba(11, 138, 71, 0.18); color: var(--go-deep); }
.v2gpr-prose .v2bmt-fault__note.is-gain strong { color: var(--go-deep); }

.v2bmt-xchips, .v2bmt-cover, .v2bmt-signals { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 4px; }
.v2bmt-xchips span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 12.5px;
    color: var(--slate);
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 6px 8px 6px 12px;
}
.v2bmt-xchips span i,
.v2bmt-forget li i {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    border-radius: 50%;
    background: #EEF1F4 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' stroke-linecap='round'/%3E%3C/svg%3E") center/8px no-repeat;
}
.v2bmt-cover span {
    font-size: 12.5px;
    font-weight: 600;
    color: var(--go-deep);
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.2);
    border-radius: 999px;
    padding: 7px 12px;
}
.v2bmt-signals span {
    font-size: 12.5px;
    color: var(--slate);
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 8px 12px;
}
.v2gpr-prose .v2bmt-forget { display: grid; gap: 7px; margin: 0 0 4px; }
.v2bmt-forget li { display: flex; align-items: center; gap: 9px; font-size: 14.5px; color: var(--slate); }

/* ---------- Section 3: SIGNATURE survival-margin meter ---------- */
.v2bmt-sim {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: 24px 24px 22px;
    margin: 28px 0;
    box-shadow: 0 1px 2px rgba(10, 16, 23, 0.05), 0 24px 48px -26px rgba(10, 16, 23, 0.16);
}
.v2bmt-sim__top { margin-bottom: 18px; }
.v2bmt-sim__tag {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 10.5px;
    color: var(--go-deep);
    margin-bottom: 8px;
}
.v2bmt-sim__tag svg { width: 16px; height: 16px; }
.v2bmt-sim__sub { font-size: 14.5px; color: var(--slate); line-height: 1.5; }
.v2bmt-sim__tabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 20px; }
.v2 .v2bmt-sim__tab {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    padding: 12px 8px;
    border-radius: 12px;
    border: 1px solid var(--line);
    background: var(--mist);
    color: var(--slate);
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease;
    font-variant-numeric: tabular-nums;
}
.v2 .v2bmt-sim__tab small {
    font-family: var(--font-mono);
    font-weight: 600;
    font-size: 9px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--faint);
}
.v2 .v2bmt-sim__tab:hover { border-color: #C9D2DA; }
.v2 .v2bmt-sim__tab.is-on { background: var(--ink); border-color: var(--ink); color: #fff; }
.v2 .v2bmt-sim__tab.is-on small { color: #93A0AC; }
.v2bmt-sim__grid { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.v2bmt-sim__grid i {
    width: 20px;
    height: 20px;
    border-radius: 6px;
    background: var(--mist);
    border: 1px solid var(--line);
    transition: background 0.3s ease, border-color 0.3s ease;
}
.v2bmt-sim__grid i.is-req { background: var(--ink); border-color: var(--ink); }
.v2bmt-sim__grid i.is-buf { background: var(--go); border-color: var(--go); }
.v2bmt-sim__legend {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    margin-bottom: 16px;
    font-size: 10px;
    color: var(--faint);
}
.v2bmt-sim__legend span { display: inline-flex; align-items: center; gap: 7px; }
.v2bmt-sim__legend b { width: 12px; height: 12px; border-radius: 4px; }
.v2bmt-sim__legend b.is-req { background: var(--ink); }
.v2bmt-sim__legend b.is-buf { background: var(--go); }
.v2bmt-sim__read { border-top: 1px solid var(--line); padding-top: 16px; }
.v2bmt-sim__line { font-size: 16px; color: var(--slate); line-height: 1.4; }
.v2gpr-prose .v2bmt-sim__n {
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 34px;
    color: var(--go-deep);
    letter-spacing: -0.02em;
    margin-left: 6px;
    font-variant-numeric: tabular-nums;
}
.v2bmt-sim__note { margin-top: 8px; font-size: 10.5px; color: var(--faint); }

/* ---------- Section 3: margin-advantage cards ---------- */
.v2bmt-benes { display: grid; gap: 14px; margin: 28px 0; }
.v2bmt-bene {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 16px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 20px 22px;
}
.v2bmt-bene__no {
    width: 38px;
    height: 38px;
    border-radius: 11px;
    background: var(--go-tint);
    color: var(--go-deep);
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 18px;
    display: grid;
    place-items: center;
}
.v2bmt-bene__body h4 {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 16.5px;
    color: var(--ink);
    margin: 2px 0 8px;
    line-height: 1.3;
}
.v2bmt-bene__body p { font-size: 14.5px; color: var(--slate); line-height: 1.6; margin: 0 0 8px; }
.v2bmt-bene__body p:last-child { margin-bottom: 0; }
.v2gpr-prose .v2bmt-bene__key { color: var(--go-deep); font-weight: 500; }

/* ---------- Section 4: KPI tiles + best value + why20 + info ---------- */
.v2bmt-kpis {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 24px 0;
}
.v2bmt-kpi {
    text-align: center;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 20px 12px;
}
.v2bmt-kpi__viz { display: block; height: 26px; margin-bottom: 10px; }
.v2bmt-kpi__viz svg { height: 24px; width: auto; }
.v2bmt-kpi__n {
    display: block;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 26px;
    color: var(--ink);
    letter-spacing: -0.02em;
    font-variant-numeric: tabular-nums;
}
.v2bmt-kpi__lab { display: block; font-size: 9.5px; color: var(--faint); margin-top: 6px; }

.v2bmt-best {
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.22);
    border-radius: 18px;
    padding: 24px 26px;
    margin: 26px 0;
    text-align: center;
}
.v2bmt-best__chip {
    display: inline-block;
    background: var(--go);
    color: #fff;
    font-size: 9.5px;
    padding: 4px 12px;
    border-radius: 999px;
    margin-bottom: 12px;
}
.v2bmt-best__h {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: clamp(1.2rem, 1.05rem + 0.7vw, 1.5rem);
    color: var(--ink);
    line-height: 1.25;
    margin: 0 0 10px;
}
.v2bmt-best__p { font-size: 15px; color: var(--go-deep); line-height: 1.55; margin: 0 auto; max-width: 520px; }

.v2gpr-prose .v2bmt-why20 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 16px;
    margin: 24px 0;
}
.v2bmt-why20 li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14.5px;
    color: var(--slate);
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 11px 14px;
}

.v2bmt-info {
    background: var(--mist);
    border: 1px solid var(--line);
    border-right: 3px solid var(--go);
    border-radius: 12px;
    padding: 16px 20px;
    margin: 24px 0;
}
.v2bmt-info p { font-size: 15px; color: var(--slate); line-height: 1.6; }

/* ---------- Section 5: capability grid + safe grid ---------- */
.v2bmt-provide {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 24px 26px;
    margin: 24px 0;
}
.v2gpr-prose .v2bmt-provide__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 20px;
    margin: 0;
}
.v2bmt-provide__grid li { display: flex; align-items: center; gap: 10px; font-size: 14.5px; color: var(--slate); }

.v2gpr-prose .v2bmt-safe {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 16px;
    margin: 20px 0;
}
.v2bmt-safe li { display: flex; align-items: center; gap: 10px; font-size: 15px; color: var(--slate); }

/* ---------- Section 7: pricing plates ---------- */
.v2bmt-pricing {
    margin: 46px 0 0;
    padding: 28px 24px 26px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 22px;
    scroll-margin-top: calc(var(--nav-h) + 26px);
}
.v2bmt-pricing__head { text-align: center; margin-bottom: 24px; }
.v2bmt-pricing__eyebrow {
    display: inline-block;
    font-size: 10px;
    color: var(--go-deep);
    background: var(--go-tint);
    border-radius: 999px;
    padding: 5px 12px;
    margin-bottom: 12px;
}
.v2bmt-pricing__h {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: clamp(1.3rem, 1.1rem + 1vw, 1.7rem);
    color: var(--ink);
    line-height: 1.2;
    margin: 0 0 8px;
}
.v2bmt-pricing__sub { font-size: 14.5px; color: var(--slate); line-height: 1.55; max-width: 520px; margin: 0 auto; }
.v2bmt-plans {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 20px;
    align-items: start;
}
.v2bmt-plan {
    position: relative;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 22px 20px;
    text-align: center;
}
.v2bmt-plan.is-best {
    background: linear-gradient(-180deg, #fff, var(--go-tint));
    border-color: rgba(11, 138, 71, 0.3);
    box-shadow: 0 1px 2px rgba(10, 16, 23, 0.05), 0 22px 44px -26px rgba(11, 138, 71, 0.38);
}
.v2bmt-plan__badge {
    position: absolute;
    top: -10px;
    right: 50%;
    transform: translateX(50%);
    background: var(--go);
    color: #fff;
    font-size: 9px;
    padding: 4px 12px;
    border-radius: 999px;
    white-space: nowrap;
}
.v2bmt-plan__name { font-size: 10px; color: var(--faint); letter-spacing: 0.12em; }
.v2bmt-plan__price {
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 34px;
    color: var(--ink);
    letter-spacing: -0.02em;
    margin: 8px 0 2px;
    font-variant-numeric: tabular-nums;
}
.v2bmt-plan__testers { font-size: 13.5px; font-weight: 600; color: var(--go-deep); margin-bottom: 16px; }
.v2gpr-prose .v2bmt-plan__feat { display: grid; gap: 8px; margin: 0 0 18px; text-align: right; }
.v2bmt-plan__feat li { display: flex; align-items: center; gap: 9px; font-size: 13px; color: var(--slate); }
.v2bmt-plan__feat .v2bmt-mk { width: 17px; height: 17px; background-size: 10px; margin-top: 0; }
.v2gpr-prose .v2bmt-plan__cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    padding: 11px 14px;
    border-radius: 10px;
    background: var(--paper);
    border: 1px solid var(--line);
    color: var(--ink);
    font-weight: 650;
    font-size: 13.5px;
    text-decoration: none;
    transition: background 0.18s ease, border-color 0.18s ease;
}
.v2gpr-prose .v2bmt-plan__cta:hover { border-color: #C9D2DA; }
.v2gpr-prose .v2bmt-plan__cta.is-best { background: var(--go); border-color: var(--go); color: #fff; }
.v2gpr-prose .v2bmt-plan__cta.is-best:hover { background: var(--go-deep); border-color: var(--go-deep); }
.v2bmt-plan__cta .v2-ic { width: 16px; height: 16px; }
.v2bmt-guar {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px 26px;
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.18);
    border-radius: 14px;
    padding: 16px 20px;
}
.v2bmt-guar span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--go-deep);
    font-weight: 600;
}
.v2bmt-guar svg { width: 18px; height: 18px; flex-shrink: 0; }

/* ---------- Tablet ---------- */
@media (max-width: 640px) {
    .v2bmt-gauge__num { font-size: 28px; }
    .v2bmt-key__text { font-size: 15px; }
    .v2bmt-quote__myth { font-size: 16.5px; }
    .v2bmt-sim { padding: 20px 18px 18px; border-radius: 18px; }
    .v2bmt-sim__grid i { width: 18px; height: 18px; }
    .v2bmt-sim__line { font-size: 15px; }
    .v2gpr-prose .v2bmt-sim__n { font-size: 30px; }
    .v2 .v2bmt-sim__tab { font-size: 19px; padding: 10px 6px; }
    .v2bmt-fault { padding: 20px 18px; }
    .v2bmt-bene { padding: 18px 18px; gap: 13px; }
    .v2bmt-bene__no { width: 34px; height: 34px; font-size: 16px; }
    .v2bmt-provide, .v2bmt-best { padding: 20px 20px; }
    .v2bmt-plans { grid-template-columns: minmax(0, 1fr); max-width: 400px; margin-inline: auto; }
    .v2bmt-pricing { padding: 24px 18px; }
    .v2bmt-guar { gap: 10px 20px; padding: 14px 16px; }
    .v2bmt-guar span { font-size: 12.5px; }
}

/* ---------- Phone ---------- */
@media (max-width: 480px) {
    .v2bmt-gauge { grid-template-columns: minmax(0, 1fr); }
    .v2bmt-gauge__card { padding: 15px 16px 14px; }
    .v2bmt-gauge__num { font-size: 30px; }
    .v2bmt-index__grid { grid-template-columns: minmax(0, 1fr); gap: 2px; }
    .v2bmt-reqs { grid-template-columns: minmax(0, 1fr); }
    .v2bmt-req { flex-direction: row; justify-content: center; gap: 12px; padding: 15px 16px; }
    .v2gpr-prose .v2bmt-why20,
    .v2gpr-prose .v2bmt-provide__grid,
    .v2gpr-prose .v2bmt-safe { grid-template-columns: minmax(0, 1fr); }
    .v2bmt-kpi { padding: 16px 10px; }
    .v2bmt-kpi__n { font-size: 22px; }
    .v2bmt-thesis, .v2bmt-key, .v2bmt-quote { padding-right: 20px; padding-left: 20px; }
    .v2bmt-thesis { padding: 22px 20px; }
    .v2bmt-bene { grid-template-columns: minmax(0, 1fr); }
    .v2bmt-bene__no { width: 32px; height: 32px; font-size: 15px; }
}

/* ---------- Small phones ---------- */
@media (max-width: 380px) {
    .v2bmt-sim__grid { gap: 5px; }
    .v2bmt-sim__grid i { width: 16px; height: 16px; border-radius: 5px; }
    .v2 .v2bmt-sim__tab { font-size: 17px; }
    .v2bmt-plan__price, .v2bmt-gauge__num { font-size: 27px; }
    .v2bmt-xchips span, .v2bmt-cover span, .v2bmt-signals span { font-size: 11.5px; }
}

/* Reduced motion: pin final states for this block */
@media (prefers-reduced-motion: reduce) {
    .v2bmt-gauge__bar i,
    .v2bmt-sim__grid i { transition: none; }
}
/* ============= END BLOG BMT V2 ============= */

/* =============================================================
   BLOG ATC V2  -  "Added 12 Testers but 0 Opted In?"
   (/blog/added-12-testers-0-opted-in-google-play)
   Unique components for the opt-in / drop-off post. Reuses the
   shared v2gpr- article layer (prose, h2/h3, qa, callout family,
   mk markers, stats, toc, faq, bottom, docs, rail, chips, scta,
   author, related, cta). Prefix: v2atc-. Two dark moments (intro
   quick answer + "dependable way" box) plus the final CTA are the
   only dark surfaces; ONE rose moment is the intro danger callout
   (v2gpr-danger). Everything v2atc- below is LIGHT + green.
   Signature pieces: the opt-in LEAK FUNNEL, the invited/opted/
   active state cards, the vertical opt-in chain, the 10-cause
   case files, and the calculator readout.
   ============================================================= */

/* Block-scoped reset for lists/blockquote this block introduces
   that the .v2gpr-prose reset (ul/ol/figure/figcaption) misses. */
.v2atc-plans ul, .v2atc-rc__list, .v2atc-quote blockquote {
    margin: 0;
    padding: 0;
    list-style: none;
}

/* ---------- Section answer capsule ---------- */
.v2gpr-prose > p.v2atc-ans {
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.18);
    border-right: 3px solid var(--go);
    border-radius: 12px 0 0 12px;
    padding: 14px 18px;
    font-size: 15.5px;
    color: var(--ink);
    font-weight: 500;
}
.v2gpr-prose > p.v2atc-ans strong { color: var(--go-deep); }
.v2gpr-prose > p.v2atc-ans.v2atc-ans--alert {
    background: var(--mist);
    border-color: var(--line);
    border-right-color: var(--ink);
}
.v2gpr-prose > p.v2atc-ans.v2atc-ans--alert strong { color: var(--ink); }

/* ---------- SIGNATURE: the opt-in leak funnel ---------- */
.v2atc-funnel {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 22px 24px 18px;
    margin: 8px 0 26px;
    box-shadow: 0 10px 30px -22px rgba(10, 16, 23, 0.2);
}
.v2atc-funnel__label {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 12.5px;
    font-weight: 650;
    line-height: 1.4;
    color: var(--go-deep);
    margin-bottom: 18px;
}
.v2atc-funnel__label svg { width: 17px; height: 17px; flex-shrink: 0; }
.v2atc-funnel__stages { display: flex; flex-direction: column; gap: 15px; }
.v2atc-fstage { display: flex; flex-direction: column; gap: 7px; }
.v2atc-fbar {
    display: flex;
    align-items: center;
    gap: 12px;
    width: var(--w, 100%);
    min-width: 210px;
    min-height: 48px;
    padding: 9px 16px;
    border-radius: 12px;
    background: var(--mist);
    border: 1px solid var(--line);
}
.v2atc-fbar.is-count {
    background: var(--go-tint);
    border-color: rgba(11, 138, 71, 0.28);
}
.v2atc-fbar__n {
    flex-shrink: 0;
    width: 30px;
    height: 30px;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--paper);
    border: 1px solid var(--line);
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 14px;
    color: var(--ink);
}
.v2atc-fbar__n svg { width: 17px; height: 17px; color: var(--slate); }
.v2atc-fbar.is-count .v2atc-fbar__n {
    background: var(--go);
    border-color: var(--go);
    color: #fff;
}
.v2atc-fbar.is-count .v2atc-fbar__n svg { color: #fff; }
.v2atc-fbar__t {
    font-size: 13px;
    font-weight: 650;
    line-height: 1.3;
    color: var(--ink);
}
.v2atc-fnote {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding-right: 3px;
    font-size: 12.5px;
    line-height: 1.55;
    color: var(--slate);
}
.v2atc-fnote svg { width: 15px; height: 15px; flex-shrink: 0; margin-top: 1px; color: var(--faint); }
.v2atc-fnote b { color: var(--ink); font-weight: 700; }
.v2atc-fnote.is-count { color: var(--go-deep); font-weight: 500; }
.v2atc-fnote.is-count svg { color: var(--go); }
.v2atc-funnel__foot {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-top: 17px;
    padding-top: 14px;
    border-top: 1px solid var(--line);
    font-size: 12.5px;
    line-height: 1.6;
    color: var(--slate);
}
.v2atc-funnel__foot svg { width: 16px; height: 16px; color: var(--ink); flex-shrink: 0; margin-top: 2px; }
/* Funnel entrance: stages rise in, staggered */
.v2atc-funnel.v2-anim .v2atc-fstage {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.5s ease, transform 0.5s cubic-bezier(0.22, 0.8, 0.26, 1);
}
.v2atc-funnel.v2-anim .v2atc-fstage:nth-child(1) { transition-delay: 0.04s; }
.v2atc-funnel.v2-anim .v2atc-fstage:nth-child(2) { transition-delay: 0.12s; }
.v2atc-funnel.v2-anim .v2atc-fstage:nth-child(3) { transition-delay: 0.20s; }
.v2atc-funnel.v2-anim .v2atc-fstage:nth-child(4) { transition-delay: 0.28s; }
.v2atc-funnel.is-in .v2atc-fstage { opacity: 1; transform: none; }

/* ---------- Invited / opted-in / installed state cards ---------- */
.v2atc-states {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 24px 0;
}
.v2atc-state {
    position: relative;
    background: var(--paper);
    border: 1px solid var(--line);
    border-top: 3px solid #D6DDE3;
    border-radius: 14px;
    padding: 20px 20px 18px;
}
.v2atc-state.is-mid { border-top-color: var(--ink); }
.v2atc-state.is-pass { border-top-color: var(--go); background: var(--go-tint); border-color: rgba(11, 138, 71, 0.22); }
.v2atc-state__ic {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 11px;
    background: var(--mist);
    border: 1px solid var(--line);
    color: var(--slate);
    margin-bottom: 12px;
}
.v2atc-state__ic svg { width: 22px; height: 22px; }
.v2atc-state.is-pass .v2atc-state__ic { background: #fff; border-color: rgba(11, 138, 71, 0.22); color: var(--go); }
.v2atc-state h3 {
    font-family: var(--font-display);
    font-weight: 650;
    font-size: 15.5px;
    color: var(--ink);
    margin: 0 0 6px;
}
.v2atc-state p {
    font-size: 13px;
    line-height: 1.55;
    color: var(--slate);
    margin: 0 0 13px;
}
.v2atc-state__tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 9.5px;
    color: var(--slate);
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 5px 11px;
}
.v2atc-state__tag svg { width: 12px; height: 12px; }
.v2atc-state__tag.is-mid { color: #fff; background: var(--ink); border-color: var(--ink); }
.v2atc-state__tag.is-pass { color: var(--go-deep); background: #fff; border-color: rgba(11, 138, 71, 0.28); }

/* ---------- Interactive tool shell (calc / diagnoser / advisor) ---------- */
.v2atc-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);
}
.v2atc-tool__head {
    background: var(--mist);
    border-bottom: 1px solid var(--line);
    padding: 20px 24px;
}
.v2atc-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;
    margin-bottom: 12px;
}
.v2atc-tool__tag svg { width: 14px; height: 14px; }
.v2atc-tool__head h3 {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 19px;
    letter-spacing: -0.012em;
    color: var(--ink);
    margin: 0 0 4px;
}
.v2atc-tool__head p { font-size: 13.5px; color: var(--slate); margin: 0; }
.v2atc-tool__body { padding: 22px 24px; }
.v2atc-tool__q { font-size: 10.5px; color: var(--faint); margin: 0 0 11px; }
.v2atc-tool__q.is-mt { margin-top: 22px; }

/* Option pills (calculator counts + advisor situations) */
.v2atc-opts { display: flex; flex-wrap: wrap; gap: 9px; }
.v2atc-opts--stack { flex-direction: column; }
.v2atc-opt { flex: 1 1 auto; min-width: 120px; cursor: pointer; }
.v2atc-opts--stack .v2atc-opt { flex: 1 1 100%; }
.v2atc-opt input { position: absolute; opacity: 0; width: 0; height: 0; }
.v2atc-opt__face {
    display: flex;
    align-items: center;
    gap: 9px;
    height: 100%;
    padding: 12px 15px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--mist);
    font-size: 14px;
    font-weight: 600;
    color: var(--ink);
    line-height: 1.3;
    transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
}
.v2atc-opt__face svg { width: 18px; height: 18px; color: var(--faint); flex-shrink: 0; transition: color 0.18s ease; }
.v2atc-opt:hover .v2atc-opt__face { border-color: #C9D2DA; background: var(--paper); }
.v2atc-opt input:checked + .v2atc-opt__face {
    border-color: var(--go);
    background: var(--go-tint);
    color: var(--go-deep);
    box-shadow: 0 4px 14px -8px rgba(11, 138, 71, 0.4);
}
.v2atc-opt input:checked + .v2atc-opt__face svg { color: var(--go); }
.v2 .v2atc-opt input:focus-visible + .v2atc-opt__face { outline: 2px solid var(--go); outline-offset: 2px; }

/* Checklist (calculator steps) */
.v2atc-check {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 15px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--mist);
    cursor: pointer;
    margin-bottom: 9px;
    transition: border-color 0.18s ease, background 0.18s ease;
}
.v2atc-check:hover { border-color: #C9D2DA; background: var(--paper); }
.v2atc-check input { position: absolute; opacity: 0; width: 0; height: 0; }
.v2atc-check__box {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    border-radius: 7px;
    border: 1.5px solid #C9D2DA;
    background: var(--paper);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    margin-top: 1px;
    transition: background 0.18s ease, border-color 0.18s ease;
}
.v2atc-check__box svg { width: 14px; height: 14px; opacity: 0; transform: scale(0.6); transition: opacity 0.18s ease, transform 0.18s ease; }
.v2atc-check input:checked + .v2atc-check__box { background: var(--go); border-color: var(--go); }
.v2atc-check input:checked + .v2atc-check__box svg { opacity: 1; transform: scale(1); }
.v2 .v2atc-check input:focus-visible + .v2atc-check__box { outline: 2px solid var(--go); outline-offset: 2px; }
.v2atc-check__txt { font-size: 13.5px; line-height: 1.5; color: var(--slate); }
.v2atc-check__txt b { color: var(--ink); font-weight: 700; }
.v2atc-check input:checked ~ .v2atc-check__txt { color: var(--ink); }

/* Calculator readout */
.v2atc-calc {
    display: none;
    margin-top: 22px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: linear-gradient(-180deg, var(--paper), var(--go-tint));
    padding: 22px 24px;
}
.v2atc-calc.show { display: block; animation: v2gprIn 0.35s ease; }
.v2atc-calc__verdict {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 18px;
}
.v2atc-calc__ring {
    flex-shrink: 0;
    position: relative;
    width: 90px;
    height: 90px;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: conic-gradient(var(--atcclr, #0B8A47) var(--atcdeg, 0deg), #E5EAEE 0deg);
}
.v2atc-calc__ring::before {
    content: '';
    position: absolute;
    inset: 8px;
    background: var(--paper);
    border-radius: 50%;
}
.v2atc-calc__ring b {
    position: relative;
    z-index: 1;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 27px;
    line-height: 1;
    color: var(--ink);
    font-variant-numeric: tabular-nums;
}
.v2atc-calc__ring span {
    position: relative;
    z-index: 1;
    font-size: 8px;
    color: var(--slate);
    margin-top: 3px;
}
.v2atc-calc__headline { flex: 1; min-width: 0; }
.v2atc-calc__rt {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 18px;
    line-height: 1.2;
    color: var(--ink);
    margin-bottom: 4px;
}
.v2atc-calc__headline p { font-size: 13.5px; line-height: 1.5; color: var(--slate); margin: 0; }
.v2atc-mf { display: flex; flex-direction: column; gap: 9px; }
.v2atc-mf__row {
    display: grid;
    grid-template-columns: 118px minmax(0, 1fr) 34px;
    gap: 11px;
    align-items: center;
}
.v2atc-mf__lab { font-size: 9px; color: var(--slate); }
.v2atc-mf__track {
    height: 13px;
    background: #E5EAEE;
    border-radius: 7px;
    overflow: hidden;
}
.v2atc-mf__fill {
    display: block;
    height: 100%;
    width: 0;
    border-radius: 7px;
    background: #AEBDCB;
    transition: width 0.55s cubic-bezier(0.22, 0.8, 0.26, 1);
}
.v2atc-mf__fill.is-count { background: var(--go); }
.v2atc-mf__val {
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 14px;
    color: var(--ink);
    text-align: left;
    font-variant-numeric: tabular-nums;
}
.v2atc-calc__note {
    margin: 16px 0 0;
    padding-top: 14px;
    border-top: 1px dashed rgba(11, 138, 71, 0.3);
    font-size: 13px;
    line-height: 1.6;
    color: var(--slate);
}
.v2atc-calc__note b { color: var(--go-deep); }
.v2atc-calc__disc {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 14px 0 0;
    padding: 11px 13px;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 10px;
    font-size: 12px;
    line-height: 1.55;
    color: var(--slate);
}
.v2atc-calc__disc svg { width: 15px; height: 15px; flex-shrink: 0; margin-top: 1px; color: var(--faint); }
.v2atc-calc__disc b { color: var(--ink); font-weight: 700; }

/* ---------- The 4-stage opt-in chain (vertical rail) ---------- */
.v2atc-chain { margin: 24px 0; }
.v2atc-cstep {
    position: relative;
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 16px;
    padding: 0 0 22px 0;
}
.v2atc-cstep::before {
    content: '';
    position: absolute;
    right: 19px;
    top: 40px;
    bottom: 0;
    width: 2px;
    background: #E5EAEE;
}
.v2atc-cstep:last-child { padding-bottom: 0; }
.v2atc-cstep:last-child::before { display: none; }
.v2atc-cstep__n {
    position: relative;
    z-index: 1;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: var(--paper);
    border: 1.5px solid var(--go);
    color: var(--go-deep);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 16px;
}
.v2atc-cstep__n svg { width: 20px; height: 20px; }
.v2atc-cstep.is-count .v2atc-cstep__n {
    background: var(--go);
    border-color: var(--go);
    color: #fff;
}
.v2atc-cstep__body { min-width: 0; padding-top: 2px; }
.v2atc-cstep__body h3 {
    font-family: var(--font-display);
    font-weight: 650;
    font-size: 16.5px;
    letter-spacing: -0.01em;
    color: var(--ink);
    margin: 0 0 6px;
    line-height: 1.35;
    display: flex;
    align-items: center;
    gap: 9px;
    flex-wrap: wrap;
}
.v2atc-cstep__body p { font-size: 14.5px; line-height: 1.7; color: var(--slate); margin: 0; }
.v2atc-pill {
    font-size: 8.5px;
    color: var(--slate);
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 3px 9px;
}
.v2atc-pill.is-count { color: var(--go-deep); background: var(--go-tint); border-color: rgba(11, 138, 71, 0.28); }

/* =============================================================
   BLOG GGC V2  -  "Google Group Closed Testing Not Working?"
   Unique internal components for the opt-in troubleshooting post.
   Authored MOBILE-FIRST: base rules target phones, min-width
   queries add columns and horizontal flows. Signature motif =
   ACCESS GATES + a DIAGNOSTIC CONSOLE - a two-gate checkpoint
   flow, an "App not available" phone card, an identity-match
   triad, a troubleshooting console for the decoder / checker /
   diagnoser, propagation-delay bars, blocker cards, an address
   compare, a progress checklist and a stacked comparison table.
   Green = pass / member / go, rose = blocked / danger (the error,
   the "high risk" cells), amber = pending / caution / timing,
   blue = the "your configuration" diagnosis. Light components
   only; the two dark moments stay the shared .v2gpr-qa Quick
   Answer capsule and the final .v2-cta band. Prefix: v2ggc-.
============================================================= */
.v2ggc-gates, .v2ggc-quickwin, .v2ggc-quote, .v2ggc-error, .v2ggc-tool,
.v2ggc-triad, .v2ggc-delays, .v2ggc-blockers, .v2ggc-addr, .v2ggc-table,
.v2ggc-setup, .v2ggc-shot, .v2ggc-locate, .v2ggc-steps, .v2ggc-plans,
.v2ggc-bottom, .v2ggc-docs {
    --g-rose:      #B42318;
    --g-rose-deep: #911D15;
    --g-rose-tint: #FDF1F0;
    --g-rose-line: #F3C9C4;
    --g-amber-deep: #92400E;
    --g-amber-body: #7C5310;
    --g-amber-tint: #FEF6E7;
    --g-amber-line: #F5DFA8;
    --g-blue:      #1D4ED8;
    --g-blue-deep: #1E40AF;
    --g-blue-tint: #EFF6FF;
    --g-blue-line: #C7DBFF;
    --g-shadow:    0 1px 2px rgba(10, 16, 23, .04), 0 12px 28px -16px rgba(10, 16, 23, .16);
    --g-shadow-lg: 0 2px 6px rgba(10, 16, 23, .05), 0 24px 48px -22px rgba(10, 16, 23, .22);
    margin: 30px 0;
}

/* h4 / blockquote / table are outside the base reset (gotcha 19 / gotcha 1) */
.v2ggc-rc h4, .v2ggc-locate__card h4 { margin: 0; }
.v2ggc-quote blockquote { margin: 0; }
.v2ggc-cmp { margin: 0; border-collapse: collapse; }

/* ---------- Hero: the "#1 cause" fact plaque ---------- */
.v2ggc-fact--cause b { color: var(--g-rose); }

/* ---------- Answer-first lead capsule (docks under each H2) ---------- */
.v2gpr-prose > p.v2ggc-answer {
    position: relative;
    margin: 4px 0 22px;
    padding: 15px 20px 15px 18px;
    font-size: 15.5px;
    line-height: 1.68;
    font-weight: 500;
    color: var(--ink);
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.18);
    border-right: 3px solid var(--go);
    border-radius: 12px 0 0 12px;
}
.v2gpr-prose > p.v2ggc-answer strong { color: var(--go-deep); }
.v2gpr-prose > p.v2ggc-answer--amber {
    color: var(--g-amber-body);
    background: var(--g-amber-tint);
    border-color: var(--g-amber-line);
    border-right-color: #D9820A;
}
.v2gpr-prose > p.v2ggc-answer--amber strong { color: var(--g-amber-deep); }
.v2gpr-prose > p.v2ggc-answer--rose {
    color: var(--g-rose-deep);
    background: var(--g-rose-tint);
    border-color: var(--g-rose-line);
    border-right-color: var(--g-rose);
}
.v2gpr-prose > p.v2ggc-answer--rose strong { color: var(--g-rose-deep); }

/* ============================================================
   SIGNATURE: two-gate access checkpoint flow
============================================================ */
.v2ggc-gates {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 22px 18px;
    box-shadow: var(--g-shadow);
}
.v2ggc-gates__label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    letter-spacing: 0.1em;
    color: var(--go-deep);
    margin: 0 0 18px;
}
.v2ggc-gates__label svg { width: 16px; height: 16px; flex-shrink: 0; }
.v2ggc-gates__flow {
    display: grid;
    gap: 12px;
}
.v2ggc-gate {
    position: relative;
    display: grid;
    grid-template-columns: 46px 1fr;
    grid-template-rows: auto auto;
    column-gap: 14px;
    align-items: center;
    padding: 12px 14px;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 14px;
}
.v2ggc-gate__ic {
    grid-row: 1 / 3;
    width: 46px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: var(--paper);
    border: 1px solid var(--line);
    color: var(--slate);
}
.v2ggc-gate__ic svg { width: 23px; height: 23px; }
.v2ggc-gate.is-gate .v2ggc-gate__ic { background: var(--ink); border-color: var(--ink); color: #fff; }
.v2ggc-gate.is-pass { background: var(--go-tint); border-color: rgba(11, 138, 71, 0.22); }
.v2ggc-gate.is-pass .v2ggc-gate__ic { background: var(--go); border-color: var(--go); color: #fff; }
.v2ggc-gate__tag {
    grid-column: 2;
    font-family: var(--font-mono);
    font-weight: 600;
    font-size: 9.5px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--faint);
}
.v2ggc-gate.is-gate .v2ggc-gate__tag { color: var(--ink); }
.v2ggc-gate.is-pass .v2ggc-gate__tag { color: var(--go-deep); }
.v2ggc-gate__t {
    grid-column: 2;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 15px;
    letter-spacing: -0.01em;
    color: var(--ink);
    line-height: 1.2;
}
.v2ggc-gate__s {
    grid-column: 2;
    font-size: 12px;
    color: var(--slate);
    margin-top: 2px;
    line-height: 1.35;
}
.v2ggc-gates__foot {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin: 16px 0 0;
    padding-top: 15px;
    border-top: 1px solid var(--line);
    font-size: 13px;
    line-height: 1.6;
    color: var(--slate);
}
.v2ggc-gates__foot svg { width: 18px; height: 18px; flex-shrink: 0; color: var(--go); margin-top: 1px; }

/* ---------- Quick-win priority box ---------- */
.v2ggc-quickwin {
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.2);
    border-radius: 16px;
    padding: 20px 20px 18px;
}
.v2ggc-quickwin__tag {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    letter-spacing: 0.09em;
    color: var(--go-deep);
    margin: 0 0 14px;
}
.v2ggc-quickwin__tag svg { width: 16px; height: 16px; flex-shrink: 0; }
.v2ggc-quickwin__list {
    display: grid;
    gap: 11px;
}
.v2ggc-quickwin__list li {
    display: grid;
    grid-template-columns: 24px 1fr;
    gap: 11px;
    align-items: start;
    font-size: 14.5px;
    line-height: 1.6;
    color: #185C39;
}
.v2ggc-quickwin__list li strong { color: #0B4227; font-weight: 650; }
.v2ggc-quickwin__n {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--go);
    color: #fff;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 700;
}
.v2ggc-quickwin__foot {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 15px 0 0;
    padding-top: 14px;
    border-top: 1px solid rgba(11, 138, 71, 0.2);
    font-size: 13px;
    line-height: 1.6;
    color: #185C39;
}
.v2ggc-quickwin__foot strong { color: #0B4227; }
.v2ggc-quickwin__foot svg { width: 17px; height: 17px; flex-shrink: 0; color: var(--go-deep); margin-top: 1px; }

/* ---------- Google citation quote ---------- */
.v2ggc-quote {
    position: relative;
    padding: 20px 24px 18px 22px;
    background: var(--mist);
    border: 1px solid var(--line);
    border-right: 3px solid var(--ink);
    border-radius: 14px 0 0 14px;
}
.v2ggc-quote__mark {
    position: absolute;
    top: 14px;
    left: 16px;
    color: var(--line);
}
.v2ggc-quote__mark svg { width: 30px; height: 30px; }
.v2ggc-quote blockquote {
    position: relative;
    z-index: 1;
    font-size: 15.5px;
    line-height: 1.65;
    font-style: italic;
    color: var(--ink);
}
.v2ggc-quote figcaption {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-top: 12px;
    font-size: 11px;
    letter-spacing: 0.05em;
    color: var(--faint);
}
.v2ggc-quote figcaption svg { width: 15px; height: 15px; flex-shrink: 0; color: var(--slate); }

/* ============================================================
   "App not available" phone error card
============================================================ */
.v2ggc-error {
    display: grid;
    gap: 18px;
    align-items: center;
    padding: 22px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    box-shadow: var(--g-shadow);
}
.v2ggc-error__phone {
    justify-self: center;
    width: 168px;
    max-width: 100%;
    position: relative;
    text-align: center;
    padding: 30px 18px 22px;
    background: var(--g-rose-tint);
    border: 1px solid var(--g-rose-line);
    border-radius: 22px;
}
.v2ggc-error__notch {
    position: absolute;
    top: 10px;
    right: 50%;
    transform: translateX(50%);
    width: 42px;
    height: 5px;
    border-radius: 999px;
    background: rgba(180, 35, 24, 0.28);
}
.v2ggc-error__glyph {
    display: inline-flex;
    color: var(--g-rose);
    margin-bottom: 10px;
}
.v2ggc-error__glyph svg { width: 38px; height: 38px; }
.v2ggc-error__msg {
    display: block;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 15px;
    color: var(--g-rose-deep);
}
.v2ggc-error__sub {
    display: block;
    margin-top: 7px;
    font-size: 11px;
    line-height: 1.4;
    color: var(--g-rose);
}
.v2ggc-error__body h3 {
    font-family: var(--font-display);
    font-weight: 650;
    font-size: 16px;
    color: var(--ink);
    line-height: 1.3;
    margin-bottom: 12px;
}
.v2ggc-error__cause {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 11px;
    align-items: start;
    font-size: 13.5px;
    line-height: 1.6;
    color: var(--slate);
    margin-bottom: 10px;
}
.v2ggc-error__cause:last-child { margin-bottom: 0; }
.v2ggc-error__cause strong { color: var(--ink); }
.v2ggc-error__k {
    font-size: 9.5px;
    letter-spacing: 0.08em;
    color: var(--g-rose-deep);
    background: var(--g-rose-tint);
    border: 1px solid var(--g-rose-line);
    border-radius: 6px;
    padding: 4px 8px;
    white-space: nowrap;
}

/* ============================================================
   Interactive console shell (decoder / checker / diagnoser)
============================================================ */
.v2ggc-tool {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: var(--g-shadow-lg);
}
.v2ggc-tool__head {
    padding: 18px 20px 16px;
    background: var(--mist);
    border-bottom: 1px solid var(--line);
}
.v2ggc-tool__tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 10px;
    letter-spacing: 0.1em;
    color: var(--go-deep);
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.22);
    border-radius: 6px;
    padding: 4px 9px;
    margin-bottom: 11px;
}
.v2ggc-tool__tag svg { width: 14px; height: 14px; }
.v2ggc-tool__head h3 {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 18px;
    letter-spacing: -0.015em;
    color: var(--ink);
    margin-bottom: 4px;
}
.v2ggc-tool__head p { font-size: 13.5px; line-height: 1.5; color: var(--slate); }
.v2ggc-tool__body { padding: 18px 20px 20px; }
.v2ggc-tool__label {
    display: block;
    font-size: 11px;
    letter-spacing: 0.06em;
    color: var(--faint);
    margin-bottom: 11px;
}

/* option tiles (decoder) */
.v2ggc-opts { display: grid; gap: 10px; }
.v2 .v2ggc-opt {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 11px;
    align-items: start;
    width: 100%;
    text-align: right;
    padding: 13px 14px;
    background: var(--paper);
    border: 1.5px solid var(--line);
    border-radius: 12px;
    cursor: pointer;
    font-family: var(--font-body);
    transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
}
.v2 .v2ggc-opt:hover { border-color: #C9D2DA; background: var(--mist); }
.v2 .v2ggc-opt.is-active {
    border-color: var(--go);
    background: var(--go-tint);
    box-shadow: 0 0 0 3px rgba(11, 138, 71, 0.12);
}
.v2ggc-opt__ic {
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 9px;
    color: var(--slate);
}
.v2ggc-opt__ic svg { width: 19px; height: 19px; }
.v2 .v2ggc-opt.is-active .v2ggc-opt__ic { background: var(--paper); border-color: rgba(11, 138, 71, 0.28); color: var(--go); }
.v2ggc-opt b { display: block; font-weight: 650; font-size: 13.5px; color: var(--ink); margin-bottom: 2px; }
.v2ggc-opt > span > span { font-size: 12px; color: var(--slate); line-height: 1.4; }

/* result region: empty state + result cards */
.v2ggc-tool__result { margin-top: 16px; }
.v2ggc-empty {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 15px 16px;
    background: var(--mist);
    border: 1px dashed #CFD6DD;
    border-radius: 12px;
    font-size: 13.5px;
    line-height: 1.5;
    color: var(--slate);
}
.v2ggc-empty svg { width: 20px; height: 20px; flex-shrink: 0; color: var(--faint); }
.v2ggc-rc {
    display: none;
    padding: 17px 18px;
    border: 1px solid var(--line);
    border-radius: 14px;
}
.v2ggc-rc.show { display: block; animation: v2CardIn 0.35s cubic-bezier(0.22, 0.8, 0.26, 1) both; }
.v2ggc-rc__head { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.v2ggc-rc__ic {
    width: 42px;
    height: 42px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    color: #fff;
}
.v2ggc-rc__ic svg { width: 24px; height: 24px; }
.v2ggc-rc__head h4 { font-family: var(--font-display); font-weight: 700; font-size: 16px; color: var(--ink); line-height: 1.25; }
.v2ggc-rc__pill {
    display: inline-block;
    margin-top: 4px;
    font-size: 9.5px;
    letter-spacing: 0.06em;
    padding: 3px 9px;
    border-radius: 6px;
}
.v2ggc-rc p { font-size: 13.5px; line-height: 1.65; color: var(--slate); }
.v2ggc-rc p strong { color: var(--ink); }
.v2ggc-rc.is-member { background: var(--go-tint); border-color: rgba(11, 138, 71, 0.22); }
.v2ggc-rc.is-member .v2ggc-rc__ic { background: var(--go); }
.v2ggc-rc.is-member .v2ggc-rc__pill { background: var(--paper); color: var(--go-deep); }
.v2ggc-rc.is-pending { background: var(--g-amber-tint); border-color: var(--g-amber-line); }
.v2ggc-rc.is-pending .v2ggc-rc__ic { background: #D9820A; }
.v2ggc-rc.is-pending .v2ggc-rc__pill { background: #fff; color: var(--g-amber-deep); }
.v2ggc-rc.is-blocked { background: var(--g-rose-tint); border-color: var(--g-rose-line); }
.v2ggc-rc.is-blocked .v2ggc-rc__ic { background: var(--g-rose); }
.v2ggc-rc.is-blocked .v2ggc-rc__pill { background: #fff; color: var(--g-rose-deep); }

/* ---------- Identity-match triad ---------- */
.v2ggc-triad {
    display: grid;
    gap: 12px;
    padding: 22px 18px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    box-shadow: var(--g-shadow);
}
.v2ggc-triad__node { text-align: center; }
.v2ggc-triad__ic {
    width: 50px;
    height: 50px;
    margin: 0 auto 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.22);
    color: var(--go);
}
.v2ggc-triad__ic svg { width: 26px; height: 26px; }
.v2ggc-triad__node h3 { font-family: var(--font-display); font-weight: 650; font-size: 14.5px; color: var(--ink); margin-bottom: 3px; }
.v2ggc-triad__node p { font-size: 12.5px; color: var(--slate); line-height: 1.45; }
.v2ggc-triad__eq {
    justify-self: center;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 20px;
    color: var(--go);
    line-height: 1;
}
.v2ggc-triad__foot {
    margin-top: 6px;
    padding-top: 15px;
    border-top: 1px solid var(--line);
    text-align: center;
    font-size: 13px;
    line-height: 1.6;
    color: var(--slate);
}
.v2ggc-triad__foot strong { color: var(--ink); }

/* ---------- Account consistency checker ---------- */
.v2ggc-check { display: grid; gap: 12px; }
.v2ggc-check__row { display: grid; gap: 7px; }
.v2ggc-check__row label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    color: var(--ink);
}
.v2ggc-check__row label svg { width: 17px; height: 17px; color: var(--slate); flex-shrink: 0; }
.v2ggc-sel { position: relative; }
.v2 .v2ggc-sel select {
    appearance: none;
    -webkit-appearance: none;
    width: 100%;
    padding: 11px 13px 11px 40px;
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 600;
    color: var(--ink);
    background: var(--paper);
    border: 1.5px solid var(--line);
    border-radius: 10px;
    cursor: pointer;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
}
.v2 .v2ggc-sel select:hover { border-color: #C9D2DA; }
.v2 .v2ggc-sel select:focus-visible { outline: none; border-color: var(--go); box-shadow: 0 0 0 3px rgba(11, 138, 71, 0.14); }
.v2ggc-sel::after {
    content: "";
    position: absolute;
    left: 15px;
    top: 44%;
    width: 8px;
    height: 8px;
    border-left: 2px solid var(--slate);
    border-bottom: 2px solid var(--slate);
    transform: translateY(-50%) rotate(-45deg);
    pointer-events: none;
}
.v2ggc-check-out {
    display: none;
    align-items: flex-start;
    gap: 11px;
    margin-top: 15px;
    padding: 14px 16px;
    border-radius: 12px;
    font-size: 13.5px;
    line-height: 1.6;
}
.v2ggc-check-out.show { display: flex; animation: v2CardIn 0.3s ease both; }
.v2ggc-check-out__ic { flex-shrink: 0; margin-top: 1px; }
.v2ggc-check-out__ic svg { width: 22px; height: 22px; }
.v2ggc-check-out__ic .is-no { display: none; }
.v2ggc-check-out.match { background: var(--go-tint); border: 1px solid rgba(11, 138, 71, 0.22); color: #185C39; }
.v2ggc-check-out.match .v2ggc-check-out__ic { color: var(--go); }
.v2ggc-check-out.mismatch { background: var(--g-rose-tint); border: 1px solid var(--g-rose-line); color: var(--g-rose-deep); }
.v2ggc-check-out.mismatch .v2ggc-check-out__ic { color: var(--g-rose); }
.v2ggc-check-out.mismatch .v2ggc-check-out__ic .is-yes { display: none; }
.v2ggc-check-out.mismatch .v2ggc-check-out__ic .is-no { display: block; }
.v2ggc-check-out b { display: block; margin-bottom: 3px; font-size: 14px; }

/* ---------- Two stacked propagation-delay cards ---------- */
.v2ggc-delays { display: grid; gap: 14px; }
.v2ggc-delay {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 14px;
    align-items: start;
    padding: 18px 18px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-right: 3px solid var(--go);
    border-radius: 14px 0 0 14px;
    box-shadow: var(--g-shadow);
}
.v2ggc-delay:nth-child(2) { border-right-color: #D9820A; }
.v2ggc-delay__ic {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    background: var(--go-tint);
    color: var(--go);
}
.v2ggc-delay:nth-child(2) .v2ggc-delay__ic { background: var(--g-amber-tint); color: #B45309; }
.v2ggc-delay__ic svg { width: 22px; height: 22px; }
.v2ggc-delay__head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin-bottom: 8px; }
.v2ggc-delay__head h3 { font-family: var(--font-display); font-weight: 650; font-size: 15px; color: var(--ink); }
.v2ggc-delay__chip {
    font-size: 9.5px;
    letter-spacing: 0.06em;
    color: var(--go-deep);
    background: var(--go-tint);
    border-radius: 6px;
    padding: 3px 9px;
}
.v2ggc-delay:nth-child(2) .v2ggc-delay__chip { color: var(--g-amber-deep); background: var(--g-amber-tint); }
.v2ggc-delay__main p { font-size: 13.5px; line-height: 1.65; color: var(--slate); }

/* ---------- Blocker cards ---------- */
.v2ggc-blockers { display: grid; gap: 14px; }
.v2ggc-blocker {
    padding: 20px 18px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-top: 3px solid var(--g-rose);
    border-radius: 3px 3px 14px 14px;
    box-shadow: var(--g-shadow);
}
.v2ggc-blocker:nth-child(2) { border-top-color: #D9820A; }
.v2ggc-blocker:nth-child(3) { border-top-color: var(--go); }
.v2ggc-blocker__ic {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    background: var(--g-rose-tint);
    color: var(--g-rose);
    margin-bottom: 12px;
}
.v2ggc-blocker:nth-child(2) .v2ggc-blocker__ic { background: var(--g-amber-tint); color: #B45309; }
.v2ggc-blocker:nth-child(3) .v2ggc-blocker__ic { background: var(--go-tint); color: var(--go); }
.v2ggc-blocker__ic svg { width: 22px; height: 22px; }
.v2ggc-blocker h3 { font-family: var(--font-display); font-weight: 650; font-size: 15.5px; color: var(--ink); margin-bottom: 6px; }
.v2ggc-blocker > p { font-size: 13px; line-height: 1.6; color: var(--slate); margin-bottom: 11px; }
.v2ggc-blocker__tip {
    font-size: 12.5px;
    line-height: 1.55;
    color: var(--slate);
    background: var(--mist);
    border-radius: 9px;
    padding: 10px 12px;
}
.v2ggc-blocker__tip strong { color: var(--ink); }
.v2ggc-blocker code {
    font-family: var(--font-mono);
    font-size: 0.86em;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 5px;
    padding: 1px 5px;
    word-break: break-word;
}
.v2ggc-blocker__tip code { background: var(--paper); }

/* ---------- Group-address compare ---------- */
.v2ggc-addr { display: grid; gap: 14px; }
.v2ggc-addr__card { padding: 20px 18px; border-radius: 16px; border: 1.5px solid var(--line); }
.v2ggc-addr__card.is-ok { background: var(--go-tint); border-color: rgba(11, 138, 71, 0.28); }
.v2ggc-addr__card.is-risky { background: var(--g-amber-tint); border-color: var(--g-amber-line); }
.v2ggc-addr__tag {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 10px;
    letter-spacing: 0.08em;
    padding: 5px 11px;
    border-radius: 7px;
    margin-bottom: 13px;
}
.v2ggc-addr__tag svg { width: 15px; height: 15px; }
.v2ggc-addr__card.is-ok .v2ggc-addr__tag { background: var(--paper); color: var(--go-deep); }
.v2ggc-addr__card.is-risky .v2ggc-addr__tag { background: #fff; color: var(--g-amber-deep); }
.v2ggc-addr__eg {
    font-family: var(--font-mono);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
    padding: 10px 13px;
    border-radius: 9px;
    margin-bottom: 13px;
    word-break: break-all;
    background: rgba(255, 255, 255, 0.7);
    border: 1px dashed rgba(10, 16, 23, 0.12);
}
.v2ggc-addr__card.is-ok .v2ggc-addr__eg { color: var(--go-deep); }
.v2ggc-addr__card.is-risky .v2ggc-addr__eg { color: #B45309; }
.v2ggc-addr__card p:not(.v2ggc-addr__eg) { font-size: 13px; line-height: 1.6; }
.v2ggc-addr__card.is-ok p:not(.v2ggc-addr__eg) { color: #185C39; }
.v2ggc-addr__card.is-risky p:not(.v2ggc-addr__eg) { color: var(--g-amber-body); }

/* ============================================================
   Comparison tables (stacked cards on mobile)
============================================================ */
.v2ggc-table { margin: 6px 0 0; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.v2ggc-cmp { width: 100%; font-size: 13.5px; }
.v2ggc-cmp thead { display: none; }
.v2ggc-cmp tbody tr {
    display: block;
    padding: 6px 2px 10px;
    border: 1px solid var(--line);
    border-radius: 12px;
    margin-bottom: 12px;
    background: var(--paper);
    box-shadow: var(--g-shadow);
}
.v2ggc-cmp tbody tr:last-child { margin-bottom: 0; }
.v2ggc-cmp td { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 14px; }
.v2ggc-cmp td:first-child {
    font-family: var(--font-display);
    font-weight: 650;
    font-size: 14px;
    color: var(--ink);
    border-bottom: 1px solid var(--line);
    margin-bottom: 3px;
    padding-bottom: 11px;
}
.v2ggc-cmp td:first-child strong { font-weight: 650; }
.v2ggc-cmp td[data-label]::before {
    content: attr(data-label);
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--faint);
    flex-shrink: 0;
    text-align: right;
}
.v2ggc-chip {
    display: inline-block;
    font-size: 11.5px;
    font-weight: 600;
    padding: 4px 11px;
    border-radius: 999px;
    text-align: left;
}
.v2ggc-chip.is-good { color: var(--go-deep); background: var(--go-tint); }
.v2ggc-chip.is-warn { color: var(--g-amber-deep); background: var(--g-amber-tint); }
.v2ggc-chip.is-bad { color: var(--g-rose-deep); background: var(--g-rose-tint); }
.v2ggc-chip.is-neutral { color: var(--slate); background: var(--mist); }

/* ============================================================
   Interactive setup checklist
============================================================ */
.v2ggc-setup {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: var(--g-shadow-lg);
}
.v2ggc-setup__head { padding: 20px 20px 18px; background: var(--mist); border-bottom: 1px solid var(--line); }
.v2ggc-setup__head h3 {
    display: flex;
    align-items: center;
    gap: 9px;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 17px;
    color: var(--ink);
    margin-bottom: 15px;
}
.v2ggc-setup__head h3 svg { width: 21px; height: 21px; color: var(--go); }
.v2ggc-setup__bar { height: 10px; border-radius: 999px; background: var(--line); overflow: hidden; }
.v2ggc-setup__fill {
    height: 100%;
    width: 0;
    border-radius: 999px;
    background: linear-gradient(-90deg, #3ECF81, var(--go));
    transition: width 0.45s cubic-bezier(0.22, 0.8, 0.26, 1);
}
.v2ggc-setup__pct { font-size: 11.5px; letter-spacing: 0.04em; margin-top: 10px; color: var(--slate); }
.v2ggc-setup__pct b { color: var(--go-deep); }
.v2ggc-setup__body { padding: 6px 16px 4px; }
.v2 .v2ggc-ck {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    padding: 14px 6px;
    border-bottom: 1px solid var(--line);
    cursor: pointer;
    transition: background 0.15s ease;
}
.v2 .v2ggc-ck:last-child { border-bottom: none; }
.v2 .v2ggc-ck:hover { background: var(--mist); }
.v2 .v2ggc-ck input { position: absolute; opacity: 0; width: 0; height: 0; }
.v2ggc-ck__box {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    margin-top: 1px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #CBD5E1;
    border-radius: 7px;
    color: #fff;
    transition: background 0.18s ease, border-color 0.18s ease;
}
.v2ggc-ck__box svg { width: 15px; height: 15px; opacity: 0; transform: scale(0.5); transition: opacity 0.18s ease, transform 0.18s ease; }
.v2 .v2ggc-ck input:checked + .v2ggc-ck__box { background: var(--go); border-color: var(--go); }
.v2 .v2ggc-ck input:checked + .v2ggc-ck__box svg { opacity: 1; transform: scale(1); }
.v2ggc-ck__txt { font-size: 13.5px; line-height: 1.55; color: var(--slate); }
.v2ggc-ck__txt b { display: block; margin-bottom: 2px; font-weight: 650; color: var(--ink); }
.v2ggc-ck__txt strong { color: var(--ink); }
.v2ggc-ck__txt code {
    font-family: var(--font-mono);
    font-size: 0.85em;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 5px;
    padding: 1px 5px;
    word-break: break-word;
}
.v2 .v2ggc-ck input:checked ~ .v2ggc-ck__txt { color: var(--faint); }
.v2 .v2ggc-ck input:checked ~ .v2ggc-ck__txt b { color: var(--faint); }
.v2ggc-setup__msg {
    margin: 6px 16px 18px;
    padding: 13px 15px;
    border-radius: 12px;
    font-size: 13px;
    line-height: 1.6;
    color: var(--go-deep);
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.2);
}
.v2ggc-setup__msg b { color: #0B4227; }

/* ---------- Screenshot evidence frame ---------- */
.v2ggc-shot { margin: 22px 0; }
.v2ggc-shot__frame {
    display: block;
    position: relative;
    border: 1px solid var(--line);
    border-radius: 14px;
    overflow: hidden;
    background: var(--paper);
    box-shadow: var(--g-shadow);
    cursor: zoom-in;
    text-decoration: none;
}
.v2ggc-shot__bar {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 14px;
    font-size: 10.5px;
    letter-spacing: 0.03em;
    color: var(--faint);
    background: var(--mist);
    border-bottom: 1px solid var(--line);
    text-transform: none;
}
.v2ggc-shot__dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--go);
    box-shadow: 0 0 0 3px var(--go-tint);
    flex-shrink: 0;
}
.v2ggc-shot__frame img { display: block; width: 100%; height: auto; }
.v2ggc-shot__zoom {
    position: absolute;
    left: 10px;
    bottom: 10px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 10px;
    letter-spacing: 0.05em;
    color: #fff;
    background: rgba(10, 16, 23, 0.82);
    border-radius: 7px;
    padding: 5px 9px;
}
.v2ggc-shot__zoom svg { width: 13px; height: 13px; }
.v2ggc-shot__cap {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-top: 11px;
    font-size: 12.5px;
    line-height: 1.55;
    color: var(--faint);
}
.v2ggc-shot__cap svg { width: 15px; height: 15px; flex-shrink: 0; color: var(--slate); margin-top: 2px; }
.v2ggc-shot__cap strong { color: var(--slate); }

/* ============================================================
   Diagnoser: symptom/scope chips + verdict
============================================================ */
.v2ggc-diag__step { margin-bottom: 18px; }
.v2ggc-diag__q { display: flex; align-items: center; gap: 9px; font-size: 13.5px; font-weight: 650; color: var(--ink); margin-bottom: 11px; }
.v2ggc-diag__n {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--ink);
    color: #fff;
    border-radius: 7px;
    font-size: 11px;
    font-weight: 700;
}
.v2ggc-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.v2 .v2ggc-chip-btn {
    padding: 9px 14px;
    background: var(--paper);
    border: 1.5px solid var(--line);
    border-radius: 10px;
    font-family: var(--font-body);
    font-size: 12.5px;
    font-weight: 600;
    color: var(--slate);
    cursor: pointer;
    transition: border-color 0.18s ease, background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}
.v2 .v2ggc-chip-btn:hover { border-color: #C9D2DA; color: var(--ink); }
.v2 .v2ggc-chip-btn.is-active {
    border-color: var(--go);
    background: var(--go-tint);
    color: var(--go-deep);
    box-shadow: 0 0 0 3px rgba(11, 138, 71, 0.1);
}
.v2ggc-diag__out { margin-top: 20px; padding-top: 18px; border-top: 1px dashed var(--line); }
.v2ggc-verdict {
    display: none;
    border: 1px solid var(--line);
    border-radius: 14px;
    overflow: hidden;
}
.v2ggc-verdict.show { display: block; animation: v2CardIn 0.35s cubic-bezier(0.22, 0.8, 0.26, 1) both; }
.v2ggc-verdict__top { display: flex; align-items: center; gap: 13px; padding: 16px 18px; }
.v2ggc-verdict__ic {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    color: #fff;
}
.v2ggc-verdict__ic svg { width: 23px; height: 23px; }
.v2ggc-verdict__lead { font-size: 10.5px; letter-spacing: 0.06em; margin-bottom: 3px; }
.v2ggc-verdict__title { font-family: var(--font-display); font-weight: 700; font-size: 16px; letter-spacing: -0.01em; color: var(--ink); line-height: 1.25; }
.v2ggc-verdict__body { padding: 0 18px 18px; }
.v2ggc-verdict__body p { font-size: 13.5px; line-height: 1.65; color: var(--slate); margin-bottom: 13px; }
.v2ggc-verdict__jump {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 13px;
    font-weight: 650;
    color: #fff;
    text-decoration: none;
    padding: 9px 16px;
    border-radius: 9px;
    transition: transform 0.15s ease;
}
.v2ggc-verdict__jump:hover { transform: translateX(-2px); }
.v2ggc-verdict__jump svg { width: 17px; height: 17px; }
.v2ggc-verdict.v-config .v2ggc-verdict__top { background: var(--g-blue-tint); }
.v2ggc-verdict.v-config .v2ggc-verdict__ic { background: var(--g-blue); }
.v2ggc-verdict.v-config .v2ggc-verdict__lead { color: var(--g-blue-deep); }
.v2ggc-verdict.v-config .v2ggc-verdict__jump { background: var(--g-blue); }
.v2ggc-verdict.v-account .v2ggc-verdict__top { background: var(--go-tint); }
.v2ggc-verdict.v-account .v2ggc-verdict__ic { background: var(--go); }
.v2ggc-verdict.v-account .v2ggc-verdict__lead { color: var(--go-deep); }
.v2ggc-verdict.v-account .v2ggc-verdict__jump { background: var(--go); }
.v2ggc-verdict.v-timing .v2ggc-verdict__top { background: var(--g-amber-tint); }
.v2ggc-verdict.v-timing .v2ggc-verdict__ic { background: #D9820A; }
.v2ggc-verdict.v-timing .v2ggc-verdict__lead { color: var(--g-amber-deep); }
.v2ggc-verdict.v-timing .v2ggc-verdict__jump { background: #D9820A; }

/* ---------- Fault localizer ---------- */
.v2ggc-locate { display: grid; gap: 14px; }
.v2ggc-locate__card {
    padding: 20px 18px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 14px;
    box-shadow: var(--g-shadow);
}
.v2ggc-locate__num {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 10.5px;
    letter-spacing: 0.05em;
    padding: 5px 12px;
    border-radius: 999px;
    margin-bottom: 12px;
}
.v2ggc-locate__num svg { width: 15px; height: 15px; }
.v2ggc-locate__card.is-one .v2ggc-locate__num { color: var(--go-deep); background: var(--go-tint); }
.v2ggc-locate__card.is-all .v2ggc-locate__num { color: var(--g-blue-deep); background: var(--g-blue-tint); }
.v2ggc-locate__card h4 { font-family: var(--font-display); font-weight: 650; font-size: 15px; color: var(--ink); margin-bottom: 8px; }
.v2ggc-locate__card p { font-size: 13px; line-height: 1.6; color: var(--slate); }
.v2ggc-locate__card p strong { color: var(--ink); }

/* ---------- Ordered 7-step fix ---------- */
.v2ggc-steps { display: grid; gap: 12px; }
.v2ggc-step {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 14px;
    align-items: start;
    padding: 16px 18px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 14px;
    box-shadow: var(--g-shadow);
}
.v2ggc-step__num {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--go-tint);
    color: var(--go-deep);
    border: 1px solid rgba(11, 138, 71, 0.24);
    border-radius: 9px;
    font-size: 14px;
    font-weight: 700;
}
.v2ggc-step__body h3 { font-family: var(--font-display); font-weight: 650; font-size: 15.5px; color: var(--ink); margin-bottom: 5px; line-height: 1.3; }
.v2ggc-step__body p { font-size: 13.5px; line-height: 1.6; color: var(--slate); }
.v2ggc-step__body code {
    font-family: var(--font-mono);
    font-size: 0.86em;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 5px;
    padding: 1px 5px;
    word-break: break-word;
}

/* ---------- Payoff plan cards ---------- */
.v2ggc-plans { display: grid; gap: 14px; }
.v2ggc-plan {
    position: relative;
    padding: 22px 20px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    box-shadow: var(--g-shadow);
    display: flex;
    flex-direction: column;
}
.v2ggc-plan--key { border-color: var(--ink); box-shadow: var(--g-shadow-lg); }
.v2ggc-plan__badge {
    position: absolute;
    top: -11px;
    right: 20px;
    font-family: var(--font-mono);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #fff;
    background: var(--go);
    border-radius: 6px;
    padding: 4px 10px;
}
.v2ggc-plan__name { font-family: var(--font-display); font-weight: 700; font-size: 17px; color: var(--ink); }
.v2ggc-plan__testers { font-size: 10.5px; letter-spacing: 0.06em; color: var(--faint); margin-top: 3px; }
.v2ggc-plan__amt { font-family: var(--font-display); font-weight: 800; font-size: 30px; letter-spacing: -0.02em; color: var(--ink); margin: 12px 0 14px; }
.v2ggc-plan__list { display: grid; gap: 9px; margin-bottom: 16px; }
.v2ggc-plan__list li { display: grid; grid-template-columns: auto 1fr; gap: 9px; align-items: start; font-size: 13px; line-height: 1.45; color: var(--slate); }
.v2ggc-plan__list li .v2gpr-mk { margin-top: 2px; }
.v2 .v2ggc-plan__btn { width: 100%; margin-top: auto; }

/* ---------- Bottom-line summary ---------- */
.v2ggc-bottom {
    padding: 22px 22px;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 16px;
}
.v2ggc-bottom__tag {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    letter-spacing: 0.09em;
    color: var(--go-deep);
    margin-bottom: 11px;
}
.v2ggc-bottom__tag svg { width: 16px; height: 16px; }
.v2ggc-bottom__text { font-size: 15.5px; line-height: 1.75; font-weight: 500; color: var(--ink); }
.v2ggc-bottom__text strong { color: var(--ink); font-weight: 650; }
.v2ggc-bottom__text a { color: var(--go-deep); font-weight: 650; text-decoration: underline; text-decoration-color: rgba(11, 138, 71, 0.4); text-underline-offset: 2px; }

/* ---------- Official Google documentation ---------- */
.v2ggc-docs {
    padding: 20px 22px;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 14px;
}
.v2ggc-docs__title {
    display: flex;
    align-items: center;
    gap: 9px;
    font-family: var(--font-display);
    font-weight: 650;
    font-size: 15px;
    color: var(--ink);
    margin-bottom: 13px;
}
.v2ggc-docs__title svg { width: 18px; height: 18px; color: var(--slate); }
.v2ggc-docs__list { display: grid; gap: 9px; }
.v2ggc-docs__list a {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 13.5px;
    color: var(--go-deep);
    text-decoration: none;
    line-height: 1.4;
}
.v2ggc-docs__list a svg { width: 15px; height: 15px; flex-shrink: 0; color: var(--slate); }
.v2ggc-docs__list a:hover { text-decoration: underline; text-underline-offset: 2px; }

/* =========================================================
   TABLET  ( >= 560px )
========================================================= */
@media (min-width: 560px) {
    .v2ggc-opts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .v2ggc-addr { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .v2ggc-locate { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .v2ggc-check__row { grid-template-columns: 168px minmax(0, 1fr); align-items: center; }
    .v2ggc-error__phone { width: 180px; }
}

/* =========================================================
   WIDE  ( >= 680px ) : gates + triad go horizontal, tables un-stack
========================================================= */
@media (min-width: 680px) {
    .v2ggc-gates { padding: 26px 24px; }
    .v2ggc-gates__flow {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 10px;
        text-align: center;
    }
    .v2ggc-gate {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto auto;
        row-gap: 3px;
        justify-items: center;
        padding: 18px 12px;
    }
    .v2ggc-gate::after {
        content: "";
        position: absolute;
        top: 40px;
        right: calc(100% + 1px);
        width: 10px;
        height: 2px;
        background: var(--line);
        z-index: 2;
    }
    .v2ggc-gate:last-child::after { display: none; }
    .v2ggc-gate__ic { grid-row: auto; margin-bottom: 6px; }
    .v2ggc-gate__tag, .v2ggc-gate__t, .v2ggc-gate__s { grid-column: auto; }

    .v2ggc-error { grid-template-columns: auto 1fr; gap: 24px; padding: 26px 28px; }
    .v2ggc-error__body { border-right: 1px solid var(--line); padding-right: 24px; }

    .v2ggc-triad { grid-template-columns: 1fr auto 1fr auto 1fr; align-items: center; padding: 26px 24px; }
    .v2ggc-triad__foot { grid-column: 1 / -1; }

    /* un-stack the comparison tables into a real grid */
    .v2ggc-cmp thead { display: table-header-group; }
    .v2ggc-cmp tbody tr { display: table-row; border: none; border-radius: 0; margin: 0; background: none; box-shadow: none; }
    .v2ggc-cmp th, .v2ggc-cmp td { display: table-cell; text-align: right; vertical-align: middle; padding: 12px 14px; }
    .v2ggc-cmp th {
        font-size: 10.5px;
        letter-spacing: 0.05em;
        color: var(--faint);
        border-bottom: 1.5px solid var(--line);
        white-space: nowrap;
    }
    .v2ggc-cmp th.v2ggc-cmp__key, .v2ggc-cmp td.v2ggc-cmp__key { background: var(--go-tint); }
    .v2ggc-cmp th.v2ggc-cmp__key { color: var(--go-deep); }
    .v2ggc-cmp tbody td { border-bottom: 1px solid var(--line); }
    .v2ggc-cmp tbody tr:last-child td { border-bottom: none; }
    .v2ggc-cmp td:first-child { font-family: var(--font-body); font-weight: 400; font-size: 13.5px; color: var(--slate); border-bottom: 1px solid var(--line); margin: 0; padding-bottom: 12px; }
    .v2ggc-cmp td:first-child strong { color: var(--ink); font-weight: 600; }
    .v2ggc-cmp td[data-label]::before { display: none; }
    .v2ggc-cmp td:first-child { border-top-right-radius: 0; }
    .v2ggc-cmp tbody tr:first-child td.v2ggc-cmp__key { border-top-right-radius: 10px; border-top-left-radius: 10px; }
    .v2ggc-cmp tbody tr:last-child td.v2ggc-cmp__key { border-bottom-right-radius: 10px; border-bottom-left-radius: 10px; }
    .v2ggc-chip { text-align: center; }
}

/* =========================================================
   DESKTOP  ( >= 980px ) : 3-up card grids
========================================================= */
@media (min-width: 980px) {
    .v2ggc-blockers { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .v2ggc-plans { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; }
    .v2ggc-plan--key { transform: translateY(-6px); }
}

/* =========================================================
   SMALL PHONES  ( <= 360px )
========================================================= */
@media (max-width: 360px) {
    .v2ggc-tool__head, .v2ggc-tool__body { padding-right: 16px; padding-left: 16px; }
    .v2ggc-gate { padding: 11px 12px; }
    .v2ggc-plan__amt { font-size: 27px; }
    .v2ggc-cmp td { padding-right: 12px; padding-left: 12px; }
}
/* ============= END BLOG GGC V2 ============= */

/* ---------- The 10 cause "case file" cards ---------- */
.v2atc-causes {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px;
    margin: 24px 0;
    counter-reset: atccause;
}
.v2atc-cause {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 13px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 13px;
    padding: 16px 18px;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
}
.v2atc-cause:hover { border-color: #C9D2DA; box-shadow: 0 8px 22px -18px rgba(10, 16, 23, 0.3); }
.v2atc-cause.is-ok { background: var(--go-tint); border-color: rgba(11, 138, 71, 0.22); }
.v2atc-cause__n {
    counter-increment: atccause;
    width: 32px;
    height: 32px;
    border-radius: 9px;
    background: var(--mist);
    border: 1px solid var(--line);
    color: var(--ink);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
}
.v2atc-cause__n::before { content: counter(atccause, decimal-leading-zero); }
.v2atc-cause.is-ok .v2atc-cause__n { background: #fff; border-color: rgba(11, 138, 71, 0.28); color: var(--go-deep); }
.v2atc-cause__body h3 {
    font-family: var(--font-display);
    font-weight: 650;
    font-size: 14.5px;
    color: var(--ink);
    margin: 0 0 4px;
    line-height: 1.35;
}
.v2atc-cause__body p { font-size: 12.5px; line-height: 1.6; color: var(--slate); margin: 0; }

/* ---------- Scenario pills (diagnoser) ---------- */
.v2atc-scn { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.v2atc-scn__opt { cursor: pointer; }
.v2atc-scn__opt input { position: absolute; opacity: 0; width: 0; height: 0; }
.v2atc-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, box-shadow 0.18s ease;
}
.v2atc-scn__face svg { width: 20px; height: 20px; color: var(--faint); flex-shrink: 0; transition: color 0.18s ease; }
.v2atc-scn__face span { font-size: 13px; font-weight: 500; color: var(--ink); line-height: 1.35; }
.v2atc-scn__opt:hover .v2atc-scn__face { border-color: #C9D2DA; background: var(--paper); }
.v2atc-scn__opt input:checked + .v2atc-scn__face {
    border-color: var(--go);
    background: var(--go-tint);
    box-shadow: 0 4px 14px -8px rgba(11, 138, 71, 0.4);
}
.v2atc-scn__opt input:checked + .v2atc-scn__face svg { color: var(--go); }
.v2 .v2atc-scn__opt input:focus-visible + .v2atc-scn__face { outline: 2px solid var(--go); outline-offset: 2px; }

/* ---------- Diagnoser result card ---------- */
.v2atc-rc {
    display: none;
    margin-top: 20px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: var(--paper);
    padding: 20px 22px;
}
.v2atc-rc.show { display: block; animation: v2gprIn 0.35s ease; }
.v2atc-rc.wait { background: var(--go-tint); border-color: rgba(11, 138, 71, 0.22); }
.v2atc-rc__head { display: flex; align-items: center; gap: 12px; margin-bottom: 13px; }
.v2atc-rc__ic {
    flex-shrink: 0;
    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;
}
.v2atc-rc__ic svg { width: 21px; height: 21px; }
.v2atc-rc.wait .v2atc-rc__ic { background: #fff; border-color: rgba(11, 138, 71, 0.22); color: var(--go); }
.v2atc-rc__title {
    font-family: var(--font-display);
    font-weight: 650;
    font-size: 16px;
    color: var(--ink);
    margin-bottom: 4px;
    line-height: 1.25;
}
.v2atc-rc__badge {
    display: inline-block;
    font-size: 9px;
    color: var(--slate);
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 6px;
    padding: 3px 9px;
}
.v2atc-rc.wait .v2atc-rc__badge { color: var(--go-deep); background: #fff; border-color: rgba(11, 138, 71, 0.28); }
.v2atc-rc > p { font-size: 14px; line-height: 1.7; color: var(--slate); margin: 0 0 12px; }
.v2atc-rc__list { margin: 0; }
.v2atc-rc__list li {
    position: relative;
    padding: 8px 24px 8px 0;
    border-top: 1px dashed var(--line);
    font-size: 13.5px;
    line-height: 1.55;
    color: var(--ink);
}
.v2atc-rc__list li:first-child { border-top: none; }
.v2atc-rc__list li::before {
    content: '';
    position: absolute;
    right: 2px;
    top: 12px;
    width: 12px;
    height: 12px;
    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 12 12' fill='none'%3E%3Cpath d='M4 3l3 3-3 3' stroke='%2355616D' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 9px;
}
.v2atc-rc.wait .v2atc-rc__list li::before { background-color: #fff; }

/* ---------- List vs Group method duel ---------- */
.v2atc-duel {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 24px 0;
}
.v2atc-duel__card {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    overflow: hidden;
}
.v2atc-duel__head {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 16px 20px;
    background: var(--mist);
    border-bottom: 1px solid var(--line);
}
.v2atc-duel__ic {
    flex-shrink: 0;
    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);
}
.v2atc-duel__ic svg { width: 20px; height: 20px; }
.v2atc-duel__head h3 {
    font-family: var(--font-display);
    font-weight: 650;
    font-size: 16px;
    color: var(--ink);
    margin: 0;
}
.v2atc-duel__rows { padding: 4px 20px 12px; }
.v2atc-duel__row { padding: 12px 0; border-top: 1px solid #EFF2F4; }
.v2atc-duel__row:first-child { border-top: none; }
.v2atc-duel__row .v2-mono { display: block; color: var(--faint); font-size: 9px; margin-bottom: 5px; }
.v2atc-duel__row p { font-size: 13.5px; line-height: 1.55; color: var(--slate); margin: 0; }

/* ---------- Advisor result ---------- */
.v2atc-adv {
    display: none;
    margin-top: 20px;
    border: 1px solid var(--line);
    border-radius: 14px;
    overflow: hidden;
}
.v2atc-adv.show { display: block; animation: v2gprIn 0.35s ease; }
.v2atc-adv__top {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 16px 20px;
    background: var(--go);
}
.v2atc-adv__ic {
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.18);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
}
.v2atc-adv__ic svg { width: 22px; height: 22px; }
.v2atc-adv__kicker { display: block; color: rgba(255, 255, 255, 0.82); font-size: 9px; }
.v2atc-adv__title {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 18px;
    color: #fff;
    margin-top: 3px;
}
.v2atc-adv__body { background: var(--paper); padding: 17px 20px; }
.v2atc-adv__body p { font-size: 14px; line-height: 1.7; color: var(--slate); margin: 0; }

/* ---------- Verbatim Google quote ---------- */
.v2atc-quote {
    background: var(--mist);
    border: 1px solid var(--line);
    border-right: 3px solid var(--ink);
    border-radius: 14px 0 0 14px;
    padding: 20px 24px;
    margin: 24px 0;
}
.v2atc-quote__src {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--ink);
    font-size: 10px;
    margin-bottom: 11px;
}
.v2atc-quote__src svg { width: 18px; height: 18px; color: var(--go); }
.v2atc-quote blockquote {
    font-family: var(--font-display);
    font-weight: 500;
    font-size: 17px;
    line-height: 1.6;
    color: var(--ink);
    text-wrap: pretty;
}
.v2atc-quote cite { display: block; margin-top: 12px; font-style: normal; font-size: 12px; color: var(--faint); }

/* ---------- Evidence screenshot (clickable window) ---------- */
.v2atc-shot { margin: 24px 0; }
.v2atc-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;
}
.v2atc-shot > a:hover { border-color: #C9D2DA; box-shadow: 0 12px 30px -20px rgba(10, 16, 23, 0.28); }
.v2atc-shot__bar {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 14px;
    background: var(--mist);
    border-bottom: 1px solid var(--line);
}
.v2atc-shot__dots { display: inline-flex; gap: 5px; flex-shrink: 0; }
.v2atc-shot__dots i { width: 8px; height: 8px; border-radius: 50%; background: #D4DAE0; }
.v2atc-shot__bar > .v2-mono { font-size: 9px; color: var(--faint); }
.v2atc-shot__zoom {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-right: auto;
    font-size: 9px;
    color: var(--go-deep);
}
.v2atc-shot__zoom svg { width: 13px; height: 13px; }
.v2atc-shot img { display: block; width: 100%; height: auto; }

/* ---------- Highlight tiles ---------- */
.v2atc-hl {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 24px 0;
}
.v2atc-hl__tile {
    display: flex;
    align-items: center;
    gap: 11px;
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.2);
    border-radius: 12px;
    padding: 15px 16px;
}
.v2atc-hl__ic { flex-shrink: 0; color: var(--go-deep); }
.v2atc-hl__ic svg { width: 22px; height: 22px; }
.v2atc-hl__tile b {
    display: block;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 16px;
    letter-spacing: -0.01em;
    color: var(--ink);
    line-height: 1.1;
}
.v2atc-hl__tile .v2-mono { display: block; font-size: 9px; color: var(--go-deep); margin-top: 4px; }

/* ---------- DIY vs managed comparison table ---------- */
.v2atc-cmp {
    margin: 22px 0;
    border: 1px solid var(--line);
    border-radius: 16px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.v2atc-cmp table { width: 100%; border-collapse: collapse; }
.v2atc-cmp th {
    text-align: right;
    padding: 14px 18px;
    font-size: 9.5px;
    color: var(--slate);
    background: var(--mist);
    border-bottom: 1px solid var(--line);
    white-space: nowrap;
}
.v2atc-cmp th.v2atc-cmp__mgd { color: var(--go-deep); background: var(--go-tint); }
.v2atc-cmp td {
    padding: 13px 18px;
    border-top: 1px solid #EFF2F4;
    font-size: 13.5px;
    line-height: 1.5;
    color: var(--slate);
    vertical-align: top;
}
.v2atc-cmp td.v2atc-cmp__feat { font-weight: 650; color: var(--ink); white-space: nowrap; }
.v2atc-cmp td.v2atc-cmp__mgd { background: var(--go-tint); color: var(--ink); }
.v2atc-cmp td .v2gpr-mk { margin-left: 7px; vertical-align: -3px; }
.v2atc-cmp__dash {
    display: inline-block;
    width: 12px;
    height: 2px;
    border-radius: 1px;
    background: #C9D2DA;
    margin-left: 7px;
    vertical-align: 4px;
}

/* ---------- Pricing plans ---------- */
.v2atc-plans {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 22px 0;
    align-items: start;
}
.v2atc-plan {
    position: relative;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 22px 20px;
}
.v2atc-plan--key {
    border-color: var(--go);
    box-shadow: 0 14px 34px -22px rgba(11, 138, 71, 0.45);
}
.v2atc-plan__badge {
    position: absolute;
    top: -10px;
    right: 20px;
    background: var(--go);
    color: #fff;
    border-radius: 999px;
    padding: 4px 12px;
    font-size: 9px;
}
.v2atc-plan__name {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 16px;
    color: var(--ink);
}
.v2atc-plan__testers { color: var(--faint); font-size: 9.5px; margin-top: 4px; }
.v2atc-plan__amount {
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 32px;
    letter-spacing: -0.02em;
    color: var(--ink);
    margin: 8px 0 14px;
}
.v2atc-plan ul { margin: 0 0 16px; }
.v2atc-plan li {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    font-size: 13px;
    line-height: 1.5;
    color: var(--slate);
    padding: 5px 0;
}
.v2atc-plan li .v2gpr-mk { margin-top: 2px; }
.v2 .v2atc-plan__btn {
    display: block;
    text-align: center;
    padding: 11px 16px;
    border-radius: 11px;
    background: var(--mist);
    border: 1px solid var(--line);
    color: var(--ink);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: border-color 0.18s ease, background 0.18s ease;
}
.v2 .v2atc-plan__btn:hover { border-color: #C9D2DA; background: var(--paper); }
.v2 .v2atc-plan__btn--primary { background: var(--go); border-color: var(--go); color: #fff; }
.v2 .v2atc-plan__btn--primary:hover { background: var(--go-deep); border-color: var(--go-deep); }

/* ---------- Links inside the dark "dependable way" box ---------- */
.v2atc-dependable .v2gpr-qa__text a {
    color: #7DD3FC;
    font-weight: 700;
    text-decoration: none;
}
.v2atc-dependable .v2gpr-qa__text a:hover { text-decoration: underline; }

/* =====================================================
   BLOG ATC V2 - RESPONSIVE
   ===================================================== */
@media (max-width: 900px) {
    .v2atc-states { grid-template-columns: minmax(0, 1fr); gap: 12px; }
    .v2atc-duel { grid-template-columns: minmax(0, 1fr); }
    .v2atc-hl { grid-template-columns: minmax(0, 1fr); gap: 10px; }
    .v2atc-plans { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    .v2atc-plan { max-width: 420px; width: 100%; margin: 0 auto; }
    .v2atc-plan--key { order: -1; }
}

@media (max-width: 640px) {
    .v2atc-funnel { padding: 18px 16px 14px; }
    .v2atc-fbar { width: 100% !important; min-width: 0; }
    .v2atc-fbar__t { font-size: 12.5px; }
    .v2atc-fnote { font-size: 12px; }

    .v2atc-causes { grid-template-columns: minmax(0, 1fr); }
    .v2atc-scn { grid-template-columns: minmax(0, 1fr); }
    .v2atc-opt { min-width: calc(50% - 5px); }

    .v2atc-tool__head { padding: 18px 16px; }
    .v2atc-tool__head h3 { font-size: 17px; }
    .v2atc-tool__body { padding: 18px 16px; }

    .v2atc-calc { padding: 18px 16px; }
    .v2atc-calc__verdict { flex-direction: column; text-align: center; gap: 12px; }
    .v2atc-mf__row { grid-template-columns: 96px minmax(0, 1fr) 30px; gap: 9px; }
    .v2atc-mf__lab { font-size: 8.5px; }

    .v2atc-cstep { grid-template-columns: 34px minmax(0, 1fr); gap: 13px; }
    .v2atc-cstep::before { right: 16px; top: 36px; }
    .v2atc-cstep__n { width: 34px; height: 34px; border-radius: 10px; font-size: 14px; }
    .v2atc-cstep__body h3 { font-size: 15.5px; }
    .v2atc-cstep__body p { font-size: 14px; }

    .v2atc-cmp th, .v2atc-cmp td { padding: 12px 14px; }
    .v2atc-cmp table { min-width: 540px; }
}

@media (max-width: 480px) {
    .v2atc-opt { min-width: 100%; }
    .v2atc-calc__ring { width: 78px; height: 78px; }
    .v2atc-calc__ring b { font-size: 23px; }
    .v2atc-plan__amount { font-size: 28px; }
}

/* Reduced motion: pin final states for this block */
@media (prefers-reduced-motion: reduce) {
    .v2atc-funnel.v2-anim .v2atc-fstage { opacity: 1; transform: none; transition: none; }
    .v2atc-mf__fill { transition: none; }
}
/* ============= END BLOG ATC V2 ============= */


/* =============================================================
   BLOG TWA V2  -  "TWA App Rejected on Google Play? Switch to WebView"
   Unique internal components for the TWA->WebView rejection-fix post.
   Authored MOBILE-FIRST: base rules target phones, min-width
   queries add columns. Signature motif = DIAGNOSTIC / BUILD
   INSPECTOR - an architecture "scan" panel that X-rays TWA vs
   WebView with a REJECTED / APPROVED verdict, a signal-attribution
   trace with strength meters, diagnostic-finding cards, dark scanner
   terminals for the code, a Digital Asset Links trust flow, the vs
   matrix, arch verdict cards, gate cards and repair-step cards.
   Cyan is the primary accent, green = WebView / approved / strong,
   rose = TWA / rejected / weak, amber = caution, blue = info. Light
   components only; the two dark bands are the shared .v2gpr-qa Quick
   Answer capsule and the final .v2-cta (code terminals are dark by
   nature). All tokens + components scoped under .v2twa-article
   (with a couple of hero-fact overrides) so no sibling blog shifts.
============================================================= */
.v2twa-article {
    --tw-navy:      #16202E;
    --tw-cyan:      #0E7490;
    --tw-cyan-2:    #0891B2;
    --tw-cyan-tint: #ECFEFF;
    --tw-cyan-line: #BEE7EE;
    --tw-rose:      #B42318;
    --tw-rose-tint: #FDF1F0;
    --tw-rose-line: #F3C9C4;
    --tw-rose-body: #8A2820;
    --tw-amber:     #B45309;
    --tw-amber-deep:#92400E;
    --tw-amber-tint:#FEF6E7;
    --tw-amber-line:#F5DFA8;
    --tw-amber-body:#7C5310;
    --tw-blue:      #1D4ED8;
    --tw-blue-tint: #EFF6FF;
    --tw-blue-line: #C7DBFF;
    --tw-indigo:    #4F46E5;
    --tw-line:      #E3E8EF;
    --tw-term-bg:   #101827;
    --tw-term-line: #24324A;
    --tw-term-ink:  #DCE6F1;
    --tw-mono:      var(--font-mono, ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace);
    --tw-shadow:    0 1px 2px rgba(10,16,23,.04), 0 10px 26px -14px rgba(14,116,144,.20);
    --tw-shadow-lg: 0 2px 6px rgba(10,16,23,.05), 0 22px 46px -20px rgba(14,116,144,.26);
}

/* Shared block spacing for the top-level v2twa components */
.v2twa-scan, .v2twa-toc, .v2twa-diag, .v2twa-callout, .v2twa-why,
.v2twa-list, .v2twa-myth, .v2twa-steps, .v2twa-term, .v2twa-trust,
.v2twa-warn, .v2twa-trace, .v2twa-protip, .v2twa-insight, .v2twa-fig,
.v2twa-vs, .v2twa-arch, .v2twa-fw, .v2twa-gates, .v2twa-swap,
.v2twa-stat, .v2twa-hl, .v2twa-prices, .v2twa-bottom, .v2twa-docs {
    margin: 28px 0;
}

/* ---------- Heading anchor offset ---------- */
.v2twa-h2 { scroll-margin-top: calc(var(--nav-h, 64px) + 22px); }
.v2twa-h3 { scroll-margin-top: calc(var(--nav-h, 64px) + 22px); }

/* ---------- Hero eyebrow + fact tints (outside the article) ---------- */
.v2twa-eyebrow { color: #0E7490; }
.v2twa-eyebrow::before { background: #0891B2 !important; }
.v2twa-facts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.v2twa-fact--bad b  { color: #B42318; }
.v2twa-fact--good b { color: #0B8A47; }

/* =============================================================
   SIGNATURE: architecture scan (build-inspector X-ray)
============================================================= */
.v2twa-scan {
    border: 1px solid var(--tw-line); border-radius: 18px; overflow: hidden;
    background: var(--paper); box-shadow: var(--tw-shadow-lg);
}
.v2twa-scan__flag {
    display: flex; align-items: center; gap: 8px;
    padding: 12px 16px; background: var(--tw-rose-tint);
    border-bottom: 1px solid var(--tw-rose-line);
    color: var(--tw-rose); font-size: 11.5px; letter-spacing: .06em;
    text-transform: uppercase; font-weight: 700;
}
.v2twa-scan__flag svg { width: 16px; height: 16px; flex-shrink: 0; }
.v2twa-scan__grid { display: grid; grid-template-columns: 1fr; gap: 14px; padding: 16px; }
.v2twa-scan__lane { border-radius: 14px; padding: 16px; border: 1px solid var(--tw-line); background: #FBFCFE; }
.v2twa-scan__lane.is-bad  { border-color: var(--tw-rose-line); background: linear-gradient(-180deg, var(--tw-rose-tint), #fff); }
.v2twa-scan__lane.is-good { border-color: var(--go-line); background: linear-gradient(-180deg, var(--go-tint), #fff); }
.v2twa-scan__head { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin-bottom: 12px; }
.v2twa-scan__head b { font-family: var(--font-display); font-size: 15.5px; color: var(--ink); }
.v2twa-scan__arch { width: 100%; font-size: 12px; color: var(--slate); }
.v2twa-scan__badge {
    font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
    padding: 3px 9px; border-radius: 999px;
}
.v2twa-scan__badge.is-bad  { background: var(--tw-rose); color: #fff; }
.v2twa-scan__badge.is-good { background: var(--go-deep); color: #fff; }
.v2twa-scan__stack { display: grid; gap: 7px; }
.v2twa-scan__node {
    display: flex; align-items: center; gap: 8px;
    font-size: 13px; color: var(--ink); background: var(--paper);
    border: 1px solid var(--tw-line); border-radius: 9px; padding: 9px 11px;
}
.v2twa-scan__node::before {
    content: ""; width: 7px; height: 7px; border-radius: 50%;
    background: #C9D2DA; flex-shrink: 0;
}
.v2twa-scan__node.is-hop  { border-style: dashed; border-color: var(--tw-amber-line); color: var(--tw-amber-body); }
.v2twa-scan__node.is-hop::before  { background: #D9910A; }
.v2twa-scan__node.is-proc { border-color: var(--go-line); color: var(--go-deep); }
.v2twa-scan__node.is-proc::before { background: var(--go); }
.v2twa-scan__verdict { margin: 12px 0 0; font-size: 12.5px; font-weight: 700; display: flex; align-items: center; gap: 6px; }
.v2twa-scan__verdict.is-bad  { color: var(--tw-rose); }
.v2twa-scan__verdict.is-good { color: var(--go-deep); }
.v2twa-scan__arrow {
    display: flex; align-items: center; justify-content: center; gap: 8px;
    color: var(--tw-cyan); font-weight: 700;
}
.v2twa-scan__arrow svg { width: 26px; height: 26px; transform: rotate(-90deg); }
.v2twa-scan__arrow span { font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; }

/* =============================================================
   Quick Answer dark-capsule highlight tints
============================================================= */
.v2gpr-qa.v2twa-qa .x-rose  { color: #FCA5A5; }
.v2gpr-qa.v2twa-qa .x-green { color: #6EE7B7; }
.v2gpr-qa.v2twa-qa .x-cyan  { color: #7DE3FF; }
.v2gpr-qa.v2twa-qa .x-amber { color: #FFD56B; }

/* =============================================================
   Table of contents
============================================================= */
.v2twa-toc { border: 1px dashed var(--tw-cyan-line); border-radius: 14px; background: var(--tw-cyan-tint); padding: 16px 16px 6px; }
.v2twa-toc__label { color: var(--tw-cyan); font-size: 11px; margin: 0 0 8px; }
.v2twa-toc__grid { display: grid; grid-template-columns: 1fr; gap: 0; }
.v2twa-article .v2twa-toc__grid a {
    display: flex; align-items: baseline; gap: 10px; padding: 9px 6px; margin: 0;
    color: var(--slate); font-size: 14.5px; line-height: 1.4; text-decoration: none;
    border-top: 1px solid rgba(14,116,144,.12); font-weight: 500;
}
.v2twa-article .v2twa-toc__grid a:first-child { border-top: 0; }
.v2twa-article .v2twa-toc__grid a:hover { color: var(--tw-cyan); }
.v2twa-toc__grid a .v2-mono { color: var(--tw-cyan-2); font-size: 11px; flex-shrink: 0; }

/* =============================================================
   Diagnostic finding cards
============================================================= */
.v2twa-diag { display: grid; grid-template-columns: 1fr; gap: 12px; }
.v2twa-diag__card {
    position: relative; background: var(--paper); border: 1px solid var(--tw-line);
    border-right: 4px solid var(--tw-rose); border-radius: 12px; padding: 18px 18px 16px;
    box-shadow: var(--tw-shadow);
}
.v2twa-diag__tag {
    position: absolute; top: 12px; left: 12px; font-size: 10px; letter-spacing: .06em;
    text-transform: uppercase; color: var(--tw-rose); background: var(--tw-rose-tint);
    border-radius: 6px; padding: 3px 8px; font-weight: 700;
}
.v2twa-diag__ic {
    width: 38px; height: 38px; border-radius: 10px; display: flex; align-items: center;
    justify-content: center; background: var(--tw-rose); color: #fff; margin-bottom: 12px;
}
.v2twa-diag__ic svg { width: 20px; height: 20px; }
.v2twa-diag__h { margin: 0 0 6px; font-family: var(--font-display); font-weight: 700; font-size: 15.5px; color: var(--tw-rose); line-height: 1.35; }
.v2twa-diag__card p { margin: 0; font-size: 14px; line-height: 1.65; color: var(--tw-rose-body); }

/* =============================================================
   Callout family (info / protip / insight / warn)
============================================================= */
.v2twa-callout, .v2twa-protip, .v2twa-insight, .v2twa-warn {
    border-radius: 12px; padding: 16px 18px; border: 1px solid;
}
.v2twa-callout__lab, .v2twa-protip__lab, .v2twa-insight__lab, .v2twa-warn__lab {
    display: inline-flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 700;
    margin: 0 0 8px; text-transform: uppercase; letter-spacing: .02em;
}
.v2twa-callout__lab svg, .v2twa-protip__lab svg, .v2twa-insight__lab svg, .v2twa-warn__lab svg { width: 16px; height: 16px; }
.v2twa-callout p, .v2twa-protip p, .v2twa-insight p, .v2twa-warn p { margin: 0; font-size: 14.5px; line-height: 1.7; }

.v2twa-callout.is-info { background: var(--tw-blue-tint); border-color: var(--tw-blue-line); }
.v2twa-callout.is-info .v2twa-callout__lab { color: var(--tw-blue); }
.v2twa-callout.is-info p { color: #1E3A6B; }

.v2twa-protip { background: var(--tw-amber-tint); border-color: var(--tw-amber-line); }
.v2twa-protip__lab { color: var(--tw-amber-deep); }
.v2twa-protip p { color: var(--tw-amber-body); }

.v2twa-insight { background: var(--tw-cyan-tint); border: 1px solid var(--tw-cyan-line); border-right: 4px solid var(--tw-cyan-2); }
.v2twa-insight__lab { color: var(--tw-cyan); }
.v2twa-insight p { color: #1E3A5F; font-weight: 500; }

.v2twa-warn { background: var(--tw-rose-tint); border-color: var(--tw-rose-line); }
.v2twa-warn__lab { color: var(--tw-rose); }
.v2twa-warn p { color: var(--tw-rose-body); }

/* =============================================================
   "Why devs reach for a TWA" cards
============================================================= */
.v2twa-why { display: grid; grid-template-columns: 1fr; gap: 12px; }
.v2twa-why__card { background: var(--paper); border: 1px solid var(--tw-line); border-radius: 14px; padding: 18px; box-shadow: var(--tw-shadow); }
.v2twa-why__ic { width: 40px; height: 40px; border-radius: 11px; display: flex; align-items: center; justify-content: center; color: #fff; margin-bottom: 12px; }
.v2twa-why__ic svg { width: 21px; height: 21px; }
.v2twa-why__ic.is-indigo { background: linear-gradient(-135deg, #6366F1, #4F46E5); }
.v2twa-why__ic.is-cyan   { background: linear-gradient(-135deg, #0891B2, #0E7490); }
.v2twa-why__ic.is-green  { background: linear-gradient(-135deg, #10B981, #059669); }
.v2twa-why__h { margin: 0 0 5px; font-family: var(--font-display); font-weight: 700; font-size: 15px; color: var(--ink); }
.v2twa-why__card p { margin: 0; font-size: 13.5px; line-height: 1.6; color: var(--slate); }

/* =============================================================
   Styled bullet list
============================================================= */
.v2twa-article ul.v2twa-list { margin: 16px 0; padding: 0; list-style: none; }
.v2twa-article ul.v2twa-list > li {
    position: relative; padding-right: 26px; font-size: 15.5px; line-height: 1.75;
    color: var(--slate); margin: 10px 0;
}
.v2twa-article ul.v2twa-list > li::before {
    content: ""; position: absolute; right: 4px; top: 9px; width: 9px; height: 9px;
    border-radius: 3px; background: var(--tw-cyan); transform: rotate(-45deg);
}

/* =============================================================
   Myth vs reality split
============================================================= */
.v2twa-myth { display: grid; grid-template-columns: 1fr; gap: 0; border-radius: 16px; overflow: hidden; border: 1px solid var(--tw-line); }
.v2twa-myth__side { padding: 20px; }
.v2twa-myth__side.is-myth { background: linear-gradient(-180deg, var(--tw-rose-tint), #fff); border-bottom: 1px solid var(--tw-rose-line); }
.v2twa-myth__side.is-real { background: linear-gradient(-180deg, var(--go-tint), #fff); }
.v2twa-myth__tag { display: inline-flex; align-items: center; gap: 7px; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 12px; }
.v2twa-myth__tag svg { width: 15px; height: 15px; }
.v2twa-myth__side.is-myth .v2twa-myth__tag { color: var(--tw-rose); }
.v2twa-myth__side.is-real .v2twa-myth__tag { color: var(--go-deep); }
.v2twa-myth__h { margin: 0 0 8px; font-family: var(--font-display); font-weight: 700; font-size: 16px; color: var(--ink); line-height: 1.35; }
.v2twa-myth__side p { margin: 0; font-size: 14px; line-height: 1.7; }
.v2twa-myth__side.is-myth p { color: var(--tw-rose-body); }
.v2twa-myth__side.is-real p { color: #0A5A38; }

/* =============================================================
   Step / repair cards
============================================================= */
.v2twa-steps { display: grid; gap: 12px; }
.v2twa-step { display: grid; grid-template-columns: auto 1fr; gap: 12px; align-items: start; }
.v2twa-step__num {
    width: 34px; height: 34px; flex-shrink: 0; border-radius: 10px; display: flex;
    align-items: center; justify-content: center; font-size: 14px; font-weight: 700;
    background: var(--tw-navy); color: #fff;
}
.v2twa-step.is-go    .v2twa-step__num { background: linear-gradient(-135deg, #10B981, #059669); }
.v2twa-step.is-rose  .v2twa-step__num { background: linear-gradient(-135deg, #DC2626, #B91C1C); }
.v2twa-step.is-amber .v2twa-step__num { background: linear-gradient(-135deg, #F59E0B, #D97706); }
.v2twa-step.is-cyan  .v2twa-step__num { background: linear-gradient(-135deg, #0891B2, #0E7490); }
.v2twa-step__card { background: var(--paper); border: 1px solid var(--tw-line); border-radius: 12px; padding: 15px 16px; box-shadow: var(--tw-shadow); }
.v2twa-step__h { display: block; font-family: var(--font-display); font-weight: 700; font-size: 15px; color: var(--ink); margin-bottom: 5px; line-height: 1.35; }
.v2twa-step__card > p { margin: 0; font-size: 14px; line-height: 1.65; color: var(--slate); }
.v2twa-step__tip {
    margin-top: 10px; padding: 10px 12px; border-radius: 9px; font-size: 13px; line-height: 1.6;
    color: var(--tw-amber-body); background: var(--tw-amber-tint); border: 1px solid var(--tw-amber-line);
}
.v2twa-step__tip strong { color: var(--tw-amber-deep); }

/* =============================================================
   Scanner terminals (code blocks)
============================================================= */
.v2twa-term { background: var(--tw-term-bg); border: 1px solid var(--tw-term-line); border-radius: 12px; overflow: hidden; }
.v2twa-term__bar { display: flex; align-items: center; gap: 6px; padding: 10px 13px; background: #0B121F; border-bottom: 1px solid var(--tw-term-line); }
.v2twa-term__dot { width: 11px; height: 11px; border-radius: 50%; flex-shrink: 0; }
.v2twa-term__title { margin-right: 8px; color: #8FA1B8; font-size: 11.5px; flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v2twa-term__lang { margin-right: auto; flex-shrink: 0; font-size: 9.5px; letter-spacing: .08em; text-transform: uppercase; color: #6B7C93; background: #16202E; padding: 3px 8px; border-radius: 6px; }
.v2twa-term__body { margin: 0; padding: 15px 16px; font-family: var(--tw-mono); font-size: 12.5px; line-height: 1.85; color: var(--tw-term-ink); overflow-x: auto; white-space: pre; -webkit-overflow-scrolling: touch; }
.v2twa-term__body .c { color: #7A8AA0; }
.v2twa-term__body .k { color: #F0B968; }
.v2twa-term__body .s { color: #7BE3A9; }
.v2twa-term__body .t { color: #5CC8E8; }
.v2twa-term__body .e { color: #F19B94; }

/* =============================================================
   Digital Asset Links trust-check flow
============================================================= */
.v2twa-trust { background: #F7FAFC; border: 1px solid var(--tw-line); border-radius: 16px; padding: 18px; }
.v2twa-trust__title { display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--ink); margin: 0 0 14px; }
.v2twa-trust__title svg { width: 17px; height: 17px; color: var(--tw-cyan); }
.v2twa-trust__flow { display: grid; grid-template-columns: 1fr; gap: 10px; }
.v2twa-trust__box { background: var(--paper); border: 1px solid var(--tw-line); border-radius: 11px; padding: 13px 14px; }
.v2twa-trust__boxh { margin: 0 0 4px; font-family: var(--font-display); font-weight: 700; font-size: 13.5px; color: var(--ink); }
.v2twa-trust__box p { margin: 0; font-size: 12.5px; line-height: 1.55; color: var(--slate); }
.v2twa-trust__result { display: grid; grid-template-columns: 1fr; gap: 10px; margin-top: 12px; }
.v2twa-trust__pass, .v2twa-trust__fail { border-radius: 10px; padding: 13px 14px; border: 1px solid; border-right-width: 4px; }
.v2twa-trust__pass { background: var(--go-tint); border-color: var(--go-line); border-right-color: var(--go); }
.v2twa-trust__fail { background: var(--tw-rose-tint); border-color: var(--tw-rose-line); border-right-color: var(--tw-rose); }
.v2twa-trust__pass strong, .v2twa-trust__fail strong { display: flex; align-items: center; gap: 7px; font-size: 13.5px; margin-bottom: 4px; }
.v2twa-trust__pass strong { color: var(--go-deep); }
.v2twa-trust__fail strong { color: var(--tw-rose); }
.v2twa-trust__pass strong svg, .v2twa-trust__fail strong svg { width: 16px; height: 16px; flex-shrink: 0; }
.v2twa-trust__pass span, .v2twa-trust__fail span { font-size: 12.5px; line-height: 1.5; color: var(--slate); }

/* =============================================================
   SIGNATURE: signal-attribution trace
============================================================= */
.v2twa-trace { background: var(--paper); border: 1px solid var(--tw-line); border-radius: 16px; padding: 18px; box-shadow: var(--tw-shadow); }
.v2twa-trace__title { display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--slate); margin: 0 0 14px; }
.v2twa-trace__title svg { width: 17px; height: 17px; color: var(--tw-cyan); }
.v2twa-trace__row { display: grid; grid-template-columns: 1fr; gap: 10px; padding: 14px; border-radius: 12px; margin-bottom: 12px; }
.v2twa-trace__row:last-child { margin-bottom: 0; }
.v2twa-trace__row.is-weak   { background: linear-gradient(-180deg, var(--tw-rose-tint), #fff); border: 1px solid var(--tw-rose-line); }
.v2twa-trace__row.is-strong { background: linear-gradient(-180deg, var(--go-tint), #fff); border: 1px solid var(--go-line); }
.v2twa-trace__tag { justify-self: start; font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; padding: 4px 12px; border-radius: 7px; background: var(--tw-rose); color: #fff; }
.v2twa-trace__tag.is-wv { background: var(--go-deep); }
.v2twa-trace__chain { display: flex; flex-direction: column; gap: 6px; }
.v2twa-trace__chip { display: flex; align-items: center; justify-content: center; text-align: center; font-size: 12.5px; font-weight: 600; background: var(--paper); border: 1px solid var(--tw-line); border-radius: 8px; padding: 8px 11px; color: var(--ink); }
.v2twa-trace__chip.is-host   { background: var(--tw-cyan-tint); border-color: var(--tw-cyan-line); color: var(--tw-cyan); }
.v2twa-trace__chip.is-chrome { background: var(--tw-amber-tint); border-color: var(--tw-amber-line); color: var(--tw-amber-body); }
.v2twa-trace__chip.is-proc   { background: var(--go-tint); border-color: var(--go-line); color: var(--go-deep); }
.v2twa-trace__arw { text-align: center; color: #9AA6B2; font-size: 15px; line-height: 1; transform: rotate(-90deg); }
.v2twa-trace__meter { display: flex; align-items: center; gap: 7px; font-size: 12.5px; font-weight: 700; }
.v2twa-trace__meter.is-weak   { color: var(--tw-rose); }
.v2twa-trace__meter.is-strong { color: var(--go-deep); }
.v2twa-trace__bars { display: inline-flex; gap: 3px; align-items: flex-end; height: 16px; }
.v2twa-trace__bars i { width: 4px; border-radius: 2px; background: currentColor; }
.v2twa-trace__bars i:nth-child(1) { height: 6px; }
.v2twa-trace__bars i:nth-child(2) { height: 11px; }
.v2twa-trace__bars i:nth-child(3) { height: 16px; }
.v2twa-trace__meter.is-weak .v2twa-trace__bars i:nth-child(2),
.v2twa-trace__meter.is-weak .v2twa-trace__bars i:nth-child(3) { opacity: .25; }

/* =============================================================
   Infographic figure
============================================================= */
.v2twa-article .v2twa-fig { margin: 26px 0; }
.v2twa-article .v2twa-fig .v2twa-fig__frame { border: 1px solid var(--tw-line); border-radius: 14px; overflow: hidden; box-shadow: var(--tw-shadow); background: var(--paper); }
.v2twa-article .v2twa-fig img { display: block; width: 100%; height: auto; }
.v2twa-article .v2twa-fig figcaption { margin: 12px 4px 0; text-align: center; font-size: 13px; line-height: 1.55; color: var(--slate); font-style: italic; }

/* =============================================================
   Comparison matrix (stacks to labelled cards on mobile)
============================================================= */
.v2twa-vs { border: 1px solid var(--tw-line); border-radius: 16px; overflow: hidden; box-shadow: var(--tw-shadow); background: var(--paper); }
.v2twa-vs__head { display: none; }
.v2twa-vs__row { display: grid; grid-template-columns: 1fr; border-top: 8px solid #F1F5F9; }
.v2twa-vs__row:first-child { border-top: 0; }
.v2twa-vs__row > div { padding: 11px 15px; font-size: 14px; }
.v2twa-vs__row > div:first-child { background: var(--tw-navy); color: #fff; font-weight: 700; font-size: 12px; letter-spacing: .03em; }
.v2twa-vs__row > div:not(:first-child) { display: flex; align-items: center; gap: 8px; color: var(--slate); }
.v2twa-vs__row > div:nth-child(2) { background: var(--tw-rose-tint); }
.v2twa-vs__row > div:nth-child(3) { background: var(--go-tint); }
.v2twa-vs__row > div[data-label]::before { content: attr(data-label) ": "; font-weight: 700; font-size: 11px; text-transform: uppercase; letter-spacing: .03em; }
.v2twa-vs__row > div:nth-child(2)::before { color: var(--tw-rose); }
.v2twa-vs__row > div:nth-child(3)::before { color: var(--go-deep); }
.v2twa-vs__pill { display: inline-block; font-size: 11.5px; font-weight: 700; padding: 3px 11px; border-radius: 999px; }
.v2twa-vs__pill.is-bad  { background: var(--tw-rose); color: #fff; }
.v2twa-vs__pill.is-good { background: var(--go-deep); color: #fff; }

/* =============================================================
   Architecture verdict cards
============================================================= */
.v2twa-arch { display: grid; grid-template-columns: 1fr; gap: 16px; }
.v2twa-arch__card { position: relative; background: var(--paper); border: 2px solid var(--tw-line); border-radius: 16px; padding: 22px 20px 18px; box-shadow: var(--tw-shadow); }
.v2twa-arch__card.is-twa { border-color: var(--tw-rose-line); }
.v2twa-arch__card.is-wv  { border-color: var(--go); box-shadow: 0 2px 6px rgba(10,16,23,.05), 0 20px 40px -22px rgba(11,138,71,.35); }
.v2twa-arch__tag { position: absolute; top: -11px; right: 18px; font-size: 10.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; padding: 4px 12px; border-radius: 999px; }
.v2twa-arch__tag.is-twa { background: var(--tw-rose-tint); color: var(--tw-rose); border: 1px solid var(--tw-rose-line); }
.v2twa-arch__tag.is-wv  { background: linear-gradient(-135deg, #10B981, #059669); color: #fff; }
.v2twa-arch__h { margin: 4px 0 4px; font-family: var(--font-display); font-weight: 700; font-size: 18px; color: var(--ink); }
.v2twa-arch__best { margin: 0 0 12px; font-size: 13px; color: var(--slate); font-style: italic; }
.v2twa-arch__row { display: flex; align-items: flex-start; gap: 9px; padding: 8px 0; font-size: 14px; color: var(--ink); border-top: 1px solid #F1F5F9; line-height: 1.5; }
.v2twa-arch__row:first-of-type { border-top: 0; }
.v2twa-arch__mk { flex-shrink: 0; width: 20px; height: 20px; border-radius: 6px; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 13px; margin-top: 1px; }
.v2twa-arch__row.is-good .v2twa-arch__mk { background: var(--go-tint); color: var(--go-deep); }
.v2twa-arch__row.is-meh  .v2twa-arch__mk { background: var(--tw-amber-tint); color: var(--tw-amber-deep); }
.v2twa-arch__row.is-bad  .v2twa-arch__mk { background: var(--tw-rose-tint); color: var(--tw-rose); }

/* =============================================================
   Interactive framework compatibility matrix
============================================================= */
.v2twa-fw { border: 2px solid var(--tw-line); border-radius: 18px; overflow: hidden; box-shadow: var(--tw-shadow-lg); background: var(--paper); }
.v2twa-fw__head { padding: 20px; background: linear-gradient(-135deg, var(--tw-navy), #22344B); color: #fff; position: relative; overflow: hidden; }
.v2twa-fw__head::before { content: ""; position: absolute; top: -30px; left: -30px; width: 120px; height: 120px; background: rgba(14,116,144,.20); border-radius: 50%; }
.v2twa-fw__tag { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 6px; background: rgba(125,227,255,.14); border: 1px solid rgba(125,227,255,.3); color: #9DE7FF; font-size: 10.5px; font-weight: 700; padding: 4px 11px; border-radius: 6px; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 12px; }
.v2twa-fw__tag svg { width: 14px; height: 14px; }
.v2twa-fw__h { position: relative; z-index: 1; margin: 0 0 4px; font-family: var(--font-display); font-weight: 700; font-size: 19px; color: #fff; }
.v2twa-fw__sub { position: relative; z-index: 1; margin: 0; font-size: 13.5px; line-height: 1.6; color: rgba(255,255,255,.78); }
.v2twa-fw__body { padding: 20px; }
.v2twa-fw__label { display: block; font-size: 11.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--slate); margin-bottom: 8px; }
.v2twa-fw__select { position: relative; }
.v2twa-fw__select select { appearance: none; -webkit-appearance: none; width: 100%; padding: 13px 15px 13px 42px; font-size: 15px; font-weight: 600; color: var(--ink); background: #F7FAFC; border: 2px solid var(--tw-line); border-radius: 12px; cursor: pointer; font-family: inherit; transition: border-color .18s ease; }
.v2twa-fw__select select:hover { border-color: var(--tw-cyan); }
.v2twa-fw__select select:focus { outline: none; border-color: var(--tw-cyan); background: #fff; box-shadow: 0 0 0 3px rgba(14,116,144,.14); }
.v2twa-fw__select::after { content: ""; position: absolute; left: 18px; top: 44%; width: 9px; height: 9px; border-left: 2px solid var(--slate); border-bottom: 2px solid var(--slate); transform: translateY(-50%) rotate(-45deg); pointer-events: none; }
.v2twa-fw__result { margin-top: 16px; }
.v2twa-fw__empty { display: flex; align-items: center; gap: 10px; padding: 16px 18px; background: #F7FAFC; border: 1px dashed #CBD5E1; border-radius: 14px; color: var(--slate); font-size: 14px; }
.v2twa-fw__empty svg { width: 20px; height: 20px; flex-shrink: 0; color: #9AA6B2; }
.v2twa-fw__card { display: none; border-radius: 14px; padding: 18px; border: 1px solid var(--tw-line); animation: twaFwIn .32s ease; }
.v2twa-fw__card.is-show { display: block; }
@keyframes twaFwIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
.v2twa-fw__cardhead { display: flex; align-items: center; gap: 11px; margin-bottom: 10px; }
.v2twa-fw__cardic { flex-shrink: 0; width: 42px; height: 42px; border-radius: 11px; display: flex; align-items: center; justify-content: center; color: #fff; }
.v2twa-fw__cardic svg { width: 22px; height: 22px; }
.v2twa-fw__cardh { margin: 0; font-family: var(--font-display); font-weight: 700; font-size: 15.5px; color: var(--ink); line-height: 1.3; }
.v2twa-fw__cardtag { display: inline-block; font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; padding: 3px 9px; border-radius: 6px; margin-top: 3px; }
.v2twa-fw__card p { margin: 0 0 10px; font-size: 14px; line-height: 1.7; color: var(--slate); }
.v2twa-fw__card p:last-child { margin-bottom: 0; }
.v2twa-fw__card.is-react  { background: linear-gradient(-180deg, #EFF9FE, #fff); border-color: #BAE6FD; }
.v2twa-fw__card.is-react  .v2twa-fw__cardic { background: linear-gradient(-135deg, #0EA5E9, #0284C7); }
.v2twa-fw__card.is-react  .v2twa-fw__cardtag { background: #DBEAFE; color: #1D4ED8; }
.v2twa-fw__card.is-nocode { background: linear-gradient(-180deg, var(--tw-amber-tint), #fff); border-color: var(--tw-amber-line); }
.v2twa-fw__card.is-nocode .v2twa-fw__cardic { background: linear-gradient(-135deg, #F59E0B, #D97706); }
.v2twa-fw__card.is-nocode .v2twa-fw__cardtag { background: #FEF3C7; color: var(--tw-amber-deep); }
.v2twa-fw__card.is-static { background: linear-gradient(-180deg, var(--go-tint), #fff); border-color: var(--go-line); }
.v2twa-fw__card.is-static .v2twa-fw__cardic { background: linear-gradient(-135deg, #10B981, #059669); }
.v2twa-fw__card.is-static .v2twa-fw__cardtag { background: var(--go-tint); color: var(--go-deep); }

/* =============================================================
   Two-gate cards
============================================================= */
.v2twa-gates { display: grid; grid-template-columns: 1fr; gap: 14px; }
.v2twa-gate { position: relative; background: var(--paper); border: 1px solid var(--tw-line); border-radius: 14px; padding: 18px; box-shadow: var(--tw-shadow); }
.v2twa-gate__num { display: inline-block; font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: #fff; background: var(--tw-navy); border-radius: 6px; padding: 3px 10px; margin-bottom: 12px; }
.v2twa-gate__h { margin: 0 0 6px; font-family: var(--font-display); font-weight: 700; font-size: 16px; color: var(--ink); }
.v2twa-gate > p { margin: 0 0 12px; font-size: 13.5px; line-height: 1.65; color: var(--slate); }
.v2twa-gate__tag { display: inline-flex; align-items: center; font-size: 11.5px; font-weight: 700; padding: 5px 11px; border-radius: 7px; }
.v2twa-gate__tag.is-count  { background: var(--tw-blue-tint); color: var(--tw-blue); }
.v2twa-gate__tag.is-policy { background: var(--tw-rose-tint); color: var(--tw-rose); }

/* =============================================================
   Bait-and-switch do / don't banner
============================================================= */
.v2twa-swap { border: 1px solid var(--tw-amber-line); border-radius: 16px; overflow: hidden; background: linear-gradient(-180deg, var(--tw-amber-tint), #fff); }
.v2twa-swap__head { display: flex; align-items: center; gap: 10px; padding: 15px 18px; background: rgba(245,158,11,.14); border-bottom: 1px solid var(--tw-amber-line); }
.v2twa-swap__head svg { width: 22px; height: 22px; color: #D97706; flex-shrink: 0; }
.v2twa-swap__h { margin: 0; font-family: var(--font-display); font-weight: 700; font-size: 15.5px; color: var(--tw-amber-deep); line-height: 1.35; }
.v2twa-swap__body { padding: 8px 18px 14px; }
.v2twa-swap__rule { display: flex; align-items: flex-start; gap: 12px; padding: 10px 0; }
.v2twa-swap__x, .v2twa-swap__y { flex-shrink: 0; width: 26px; height: 26px; border-radius: 7px; display: flex; align-items: center; justify-content: center; margin-top: 1px; }
.v2twa-swap__x svg, .v2twa-swap__y svg { width: 15px; height: 15px; }
.v2twa-swap__x { background: var(--tw-rose-tint); color: var(--tw-rose); }
.v2twa-swap__y { background: var(--go-tint); color: var(--go-deep); }
.v2twa-swap__rule p { margin: 0; font-size: 14px; line-height: 1.65; color: var(--tw-amber-body); }

/* =============================================================
   200+ stat feature band (light, bold)
============================================================= */
.v2twa-stat { display: grid; grid-template-columns: 1fr; gap: 16px; align-items: center; background: linear-gradient(-135deg, var(--tw-cyan-tint), #fff); border: 1px solid var(--tw-cyan-line); border-right: 5px solid var(--tw-cyan-2); border-radius: 16px; padding: 22px; }
.v2twa-stat__num { text-align: center; }
.v2twa-stat__num b { display: block; font-family: var(--font-display); font-size: 52px; font-weight: 800; line-height: 1; color: var(--tw-navy); letter-spacing: -.02em; }
.v2twa-stat__num b span { color: var(--tw-cyan); }
.v2twa-stat__lab { display: block; margin-top: 6px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--slate); }
.v2twa-stat__txt { margin: 0; font-size: 15.5px; line-height: 1.65; color: #1E3A5F; }
.v2twa-stat__txt strong { color: var(--ink); }
.v2twa-stat__txt strong.is-go { color: var(--go-deep); }

/* =============================================================
   Highlights row
============================================================= */
.v2twa-hl { display: grid; grid-template-columns: 1fr; gap: 10px; }
.v2twa-hl__item { display: flex; align-items: center; gap: 11px; padding: 14px 16px; border-radius: 11px; border: 1px solid; }
.v2twa-hl__item svg { width: 22px; height: 22px; flex-shrink: 0; }
.v2twa-hl__item b { display: block; font-size: 14.5px; color: var(--ink); font-family: var(--font-display); }
.v2twa-hl__item span { display: block; font-size: 12.5px; color: var(--slate); }
.v2twa-hl__item.is-green { background: var(--go-tint); border-color: var(--go-line); }
.v2twa-hl__item.is-green svg { color: var(--go-deep); }
.v2twa-hl__item.is-blue  { background: var(--tw-blue-tint); border-color: var(--tw-blue-line); }
.v2twa-hl__item.is-blue svg { color: var(--tw-blue); }
.v2twa-hl__item.is-amber { background: var(--tw-amber-tint); border-color: var(--tw-amber-line); }
.v2twa-hl__item.is-amber svg { color: #D97706; }

/* =============================================================
   Pricing plates
============================================================= */
.v2twa-prices { display: grid; grid-template-columns: 1fr; gap: 14px; }
.v2twa-price { position: relative; background: var(--paper); border: 1px solid var(--tw-line); border-radius: 16px; padding: 22px 20px; text-align: center; box-shadow: var(--tw-shadow); }
.v2twa-price.is-best { border-color: var(--tw-cyan-2); box-shadow: 0 2px 6px rgba(10,16,23,.05), 0 22px 44px -20px rgba(14,116,144,.34); }
.v2twa-price__badge { position: absolute; top: -11px; right: 50%; transform: translateX(50%); font-size: 10.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: #fff; background: linear-gradient(-135deg, #0891B2, #0E7490); padding: 4px 14px; border-radius: 999px; }
.v2twa-price__name { display: block; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--tw-cyan); font-weight: 700; }
.v2twa-price__testers { display: block; margin-top: 4px; font-size: 13.5px; color: var(--slate); }
.v2twa-price__amt { display: block; margin: 8px 0 12px; font-family: var(--font-display); font-size: 34px; font-weight: 800; color: var(--ink); }
.v2twa-article ul.v2twa-price__list { list-style: none; margin: 0 0 16px; padding: 0; text-align: right; display: inline-block; }
.v2twa-article ul.v2twa-price__list > li { position: relative; padding-right: 26px; font-size: 13.5px; line-height: 1.5; color: var(--slate); margin: 8px 0; }
.v2twa-article ul.v2twa-price__list > li::before { content: ""; position: absolute; right: 2px; top: 3px; 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 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") center / 10px no-repeat; }
.v2twa-article a.v2twa-price__btn { display: block; padding: 12px 18px; border-radius: 10px; font-weight: 700; font-size: 14px; text-decoration: none; background: #F1F5F9; color: var(--ink); transition: filter .18s ease, background .18s ease; }
.v2twa-article a.v2twa-price__btn:hover { background: #E7EDF3; }
.v2twa-article a.v2twa-price__btn.is-primary { background: linear-gradient(-135deg, #0891B2, #0E7490); color: #fff; }
.v2twa-article a.v2twa-price__btn.is-primary:hover { filter: brightness(1.06); }

/* =============================================================
   Bottom line + official docs
============================================================= */
.v2twa-bottom { background: linear-gradient(-135deg, var(--tw-amber-tint), #FFFDF7); border: 1px solid var(--tw-amber-line); border-radius: 16px; padding: 22px; }
.v2twa-bottom__tag { display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--tw-amber-deep); margin: 0 0 10px; }
.v2twa-bottom__tag svg { width: 18px; height: 18px; }
.v2twa-bottom__text { margin: 0; font-size: 16px; line-height: 1.75; color: var(--ink); font-weight: 500; }
.v2twa-docs { background: #F7FAFC; border: 1px solid var(--tw-line); border-radius: 14px; padding: 18px 20px; }
.v2twa-docs__lab { display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--ink); margin: 0 0 12px; }
.v2twa-docs__lab svg { width: 17px; height: 17px; color: #4285F4; }
.v2twa-docs__list { display: grid; gap: 8px; }
.v2twa-article .v2twa-docs__list a { display: flex; align-items: center; gap: 9px; font-size: 14px; color: var(--tw-cyan); text-decoration: none; font-weight: 600; }
.v2twa-article .v2twa-docs__list a:hover { text-decoration: underline; }
.v2twa-docs__list a .v2-ic { width: 16px; height: 16px; flex-shrink: 0; }

/* =============================================================
   >= 560px : small multi-column upgrades
============================================================= */
@media (min-width: 560px) {
    .v2twa-hl { grid-template-columns: repeat(3, 1fr); }
    .v2twa-diag { grid-template-columns: repeat(2, 1fr); }
    .v2twa-why { grid-template-columns: repeat(3, 1fr); }
}

/* =============================================================
   >= 640px : side-by-side layouts, horizontal scan + trace
============================================================= */
@media (min-width: 640px) {
    .v2twa-facts { grid-template-columns: repeat(4, 1fr); }

    /* Scan: two lanes + arrow in a row */
    .v2twa-scan__grid { grid-template-columns: 1fr auto 1fr; align-items: stretch; gap: 12px; }
    .v2twa-scan__lane { display: flex; flex-direction: column; }
    .v2twa-scan__arrow { flex-direction: column; align-self: center; }
    .v2twa-scan__arrow svg { transform: none; }

    /* Myth + arch + gates: two columns */
    .v2twa-myth { grid-template-columns: 1fr 1fr; }
    .v2twa-myth__side.is-myth { border-bottom: 0; border-left: 1px solid var(--tw-rose-line); }
    .v2twa-arch { grid-template-columns: 1fr 1fr; }
    .v2twa-gates { grid-template-columns: 1fr 1fr; }

    /* Trust flow: three across, pass/fail two across */
    .v2twa-trust__flow { grid-template-columns: repeat(3, 1fr); }
    .v2twa-trust__result { grid-template-columns: 1fr 1fr; }

    /* Prices: three across */
    .v2twa-prices { grid-template-columns: repeat(3, 1fr); }

    /* Stat band: number + text */
    .v2twa-stat { grid-template-columns: auto 1fr; gap: 24px; }
    .v2twa-stat__txt { border-right: 1px solid var(--tw-cyan-line); padding-right: 22px; }

    /* Signal trace: horizontal row */
    .v2twa-trace__row { grid-template-columns: 78px 1fr auto; align-items: center; gap: 12px; }
    .v2twa-trace__chain { flex-direction: row; flex-wrap: wrap; align-items: center; }
    .v2twa-trace__chip { justify-content: flex-start; }
    .v2twa-trace__arw { transform: none; }
    .v2twa-trace__meter { justify-content: flex-end; }

    /* Comparison matrix becomes a real 3-column table */
    .v2twa-vs__head { display: grid; grid-template-columns: 1.4fr 1fr 1fr; }
    .v2twa-vs__head > div { padding: 15px; color: #fff; background: var(--tw-navy); font-weight: 700; font-size: 12px; text-transform: uppercase; letter-spacing: .03em; }
    .v2twa-vs__head > div.is-twa { background: #3A2422; text-align: center; }
    .v2twa-vs__head > div.is-wv  { background: #123A2A; text-align: center; }
    .v2twa-vs__row { grid-template-columns: 1.4fr 1fr 1fr; border-top: 1px solid #EEF2F6; }
    .v2twa-vs__row > div { display: flex; align-items: center; padding: 14px 15px; }
    .v2twa-vs__row > div:first-child { background: #F9FAFB; color: var(--ink); font-weight: 600; font-size: 14px; }
    .v2twa-vs__row > div:nth-child(2), .v2twa-vs__row > div:nth-child(3) { justify-content: center; text-align: center; background: var(--paper); }
    .v2twa-vs__row > div[data-label]::before { display: none; }

    /* Framework matrix breathing room */
    .v2twa-fw__head, .v2twa-fw__body { padding: 24px 26px; }
}

/* =============================================================
   >= 980px : desktop polish
============================================================= */
@media (min-width: 980px) {
    .v2twa-scan__head b { font-size: 16.5px; }
    .v2twa-stat__num b { font-size: 60px; }
}

/* =============================================================
   <= 380px : very small phones
============================================================= */
@media (max-width: 380px) {
    .v2twa-facts { grid-template-columns: 1fr 1fr; gap: 8px; }
    .v2twa-hl { grid-template-columns: 1fr; }
    .v2twa-diag { grid-template-columns: 1fr; }
    .v2twa-why { grid-template-columns: 1fr; }
    .v2twa-stat__num b { font-size: 44px; }
    .v2twa-term__body { font-size: 11.5px; }
}

/* =============================================================
   BLOG ARTICLE V2 - "APP NOT AVAILABLE" / CLOSED TESTING NOT
   STARTING (/blog/google-play-app-not-available-to-testers)
   Rides the shared v2gpr- article layer (hero, rail, prose,
   callouts, FAQ, bottom, docs, author, related, cta). Everything
   below is UNIQUE to this post. Prefix: v2ctns-. Signature pieces:
   the availability TRACE (Console -> 5 relays -> phone), the
   5-fault board, console-window screenshots, the numbered fix
   steps, the wrong/right + pending/approved state cards, the link
   SCANNER, the countries recommendation trio, the launch-readiness
   board, the highlight tiles, plans and helpful links. One rose
   moment only (the shared v2gpr-danger in Reason 2); every other
   negative state is neutral per the single-accent palette rule.
============================================================= */

/* ---- Hero facts: this post ships three stat plaques ---- */
.v2ctns-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* ---------- Signature: the availability trace ---------- */
.v2ctns-trace {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: clamp(18px, 3vw, 26px);
    margin: 8px 0 30px;
    box-shadow: 0 1px 2px rgba(10, 16, 23, .04), 0 24px 44px -28px rgba(10, 16, 23, .14);
}
.v2ctns-trace__label {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--go-deep);
    margin-bottom: 18px;
}
.v2ctns-trace__label svg { width: 16px; height: 16px; flex-shrink: 0; }
.v2ctns-trace__flow {
    display: grid;
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.55fr) minmax(0, .82fr);
    align-items: center;
    gap: 14px;
}
.v2ctns-node {
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 15px;
    padding: 15px 12px;
    text-align: center;
}
.v2ctns-node__ic {
    display: inline-flex;
    width: 40px;
    height: 40px;
    margin-bottom: 8px;
    border-radius: 11px;
    align-items: center;
    justify-content: center;
    background: var(--paper);
    border: 1px solid var(--line);
    color: var(--slate);
}
.v2ctns-node__ic svg { width: 22px; height: 22px; }
.v2ctns-node b { display: block; font-size: 13.5px; color: var(--ink); font-weight: 650; }
.v2ctns-node .v2-mono { display: block; margin-top: 3px; font-size: 9px; color: var(--faint); }
.v2ctns-phone {
    display: inline-flex;
    width: 62px;
    height: 46px;
    margin-bottom: 8px;
    padding: 4px;
    border-radius: 12px;
    background: var(--ink);
    align-items: center;
    justify-content: center;
}
.v2ctns-phone__scr {
    width: 100%;
    height: 100%;
    border-radius: 8px;
    background: #12202c;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    color: #9aa7b3;
    padding: 3px;
}
.v2ctns-phone__scr svg { width: 15px; height: 15px; }
.v2ctns-phone__scr b { font-size: 6.5px; letter-spacing: .02em; line-height: 1; text-align: center; }
.v2ctns-relays {
    display: flex;
    align-items: stretch;
    gap: 7px;
    position: relative;
}
.v2ctns-relays::before {
    content: '';
    position: absolute;
    top: 15px;
    right: 6%;
    left: 6%;
    height: 2px;
    background: var(--line);
    z-index: 0;
}
.v2ctns-relay {
    position: relative;
    z-index: 1;
    flex: 1 0 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    padding: 6px 3px;
    border-radius: 11px;
    text-decoration: none;
    transition: transform .18s ease, background .18s ease;
}
.v2ctns-relay:hover { background: var(--mist); transform: translateY(-2px); }
.v2ctns-relay__n {
    font-size: 9px;
    color: var(--faint);
}
.v2ctns-relay__dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--paper);
    border: 2px solid #C9D2DA;
    box-shadow: 0 0 0 3px var(--paper);
}
.v2ctns-relay__t {
    font-size: 11px;
    font-weight: 600;
    color: var(--slate);
    text-align: center;
    line-height: 1.2;
}
.v2ctns-relay:hover .v2ctns-relay__t { color: var(--ink); }
.v2ctns-relay:hover .v2ctns-relay__dot { border-color: var(--go); }
.v2ctns-trace__foot {
    display: flex;
    gap: 9px;
    margin-top: 18px;
    padding-top: 15px;
    border-top: 1px solid var(--line);
    font-size: 13.5px;
    line-height: 1.6;
    color: var(--slate);
}
.v2ctns-trace__foot svg { width: 17px; height: 17px; flex-shrink: 0; margin-top: 2px; color: var(--faint); }
/* trace entrance */
.v2ctns-trace.v2-anim .v2ctns-relay { opacity: 0; transform: translateY(9px); }
.v2ctns-trace.is-in .v2ctns-relay {
    opacity: 1;
    transform: none;
    transition: opacity .5s ease, transform .5s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.v2ctns-trace.is-in .v2ctns-relay:nth-child(1) { transition-delay: .05s; }
.v2ctns-trace.is-in .v2ctns-relay:nth-child(2) { transition-delay: .12s; }
.v2ctns-trace.is-in .v2ctns-relay:nth-child(3) { transition-delay: .19s; }
.v2ctns-trace.is-in .v2ctns-relay:nth-child(4) { transition-delay: .26s; }
.v2ctns-trace.is-in .v2ctns-relay:nth-child(5) { transition-delay: .33s; }

/* ---------- Video walkthrough (click-to-play facade) ---------- */
.v2ctns-video {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 18px;
    margin: 28px 0;
}
.v2ctns-video__head { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.v2ctns-video__badge {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 11px;
    background: var(--go-tint);
    color: var(--go);
    display: flex;
    align-items: center;
    justify-content: center;
}
.v2ctns-video__badge svg { width: 20px; height: 20px; }
.v2ctns-video__head h3 { font-family: var(--font-display); font-weight: 600; font-size: 17px; letter-spacing: -.015em; color: var(--ink); }
.v2ctns-video__head p { font-size: 13px; color: var(--slate); margin-top: 2px; }
.v2 .v2ctns-video__frame {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    border: 0;
    padding: 0;
    border-radius: 14px;
    overflow: hidden;
    cursor: pointer;
    background: var(--ink);
}
.v2ctns-video__frame img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .82;
    transition: opacity .25s ease, transform .4s ease;
}
.v2 .v2ctns-video__frame:hover img { opacity: 1; transform: scale(1.03); }
.v2ctns-video__play {
    position: absolute;
    top: 50%;
    right: 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;
    box-shadow: 0 10px 30px -8px rgba(11, 138, 71, .6);
}
.v2ctns-video__play svg { width: 30px; height: 30px; margin-right: 2px; }
.v2 .v2ctns-video__frame:hover .v2ctns-video__play { background: var(--go-deep); }
.v2ctns-video__live { position: relative; width: 100%; aspect-ratio: 16 / 9; border-radius: 14px; overflow: hidden; background: #000; }
.v2ctns-video__live iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.v2ctns-video__tip {
    display: flex;
    gap: 9px;
    margin-top: 14px;
    font-size: 13.5px;
    line-height: 1.6;
    color: var(--slate);
}
.v2ctns-video__tip svg { width: 17px; height: 17px; flex-shrink: 0; margin-top: 2px; color: var(--go); }
.v2ctns-video__tip a { color: var(--go-deep); font-weight: 600; text-decoration: underline; text-decoration-color: rgba(11, 138, 71, .3); text-underline-offset: 2px; }

/* ---------- The 5-fault board ---------- */
.v2ctns-faults { display: grid; gap: 12px; margin: 22px 0 26px; }
.v2ctns-fault {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 16px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 15px;
    padding: 16px 18px;
    text-decoration: none;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.v2ctns-fault:hover {
    border-color: #C9D2DA;
    box-shadow: 0 1px 2px rgba(10, 16, 23, .04), 0 16px 30px -22px rgba(10, 16, 23, .3);
    transform: translateY(-2px);
}
.v2ctns-fault__n {
    flex-shrink: 0;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: var(--ink);
    color: #fff;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.v2ctns-fault__body h3 { font-family: var(--font-display); font-weight: 600; font-size: 16px; letter-spacing: -.015em; color: var(--ink); line-height: 1.3; }
.v2ctns-fault__body p { font-size: 13.5px; line-height: 1.55; color: var(--slate); margin-top: 4px; }
.v2ctns-fault__tag {
    flex-shrink: 0;
    font-size: 9.5px;
    color: var(--slate);
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 4px 11px;
    white-space: nowrap;
}
.v2ctns-fault__arrow { width: 20px; height: 20px; color: var(--faint); flex-shrink: 0; transition: transform .18s ease, color .18s ease; }
.v2ctns-fault:hover .v2ctns-fault__arrow { color: var(--go); transform: translateX(-3px); }

/* ---------- Console-window screenshot frame ---------- */
.v2gpr-prose figure.v2ctns-shot {
    margin: 26px 0;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(10, 16, 23, .04), 0 22px 42px -26px rgba(10, 16, 23, .18);
}
.v2ctns-shot__bar {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    background: var(--mist);
    border-bottom: 1px solid var(--line);
}
.v2ctns-shot__dots { display: inline-flex; gap: 5px; flex-shrink: 0; }
.v2ctns-shot__dots i { width: 9px; height: 9px; border-radius: 50%; background: #D4DBE1; }
.v2ctns-shot__path { font-size: 10px; color: var(--faint); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.v2ctns-shot__frame { position: relative; display: block; line-height: 0; }
.v2ctns-shot__frame img { width: 100%; height: auto; display: block; cursor: zoom-in; }
.v2ctns-shot__zoom {
    position: absolute;
    left: 12px;
    bottom: 12px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 10px;
    color: #fff;
    background: rgba(10, 16, 23, .74);
    backdrop-filter: blur(4px);
    border-radius: 999px;
    padding: 5px 11px;
    line-height: 1;
    opacity: 0;
    transition: opacity .2s ease;
}
.v2ctns-shot__zoom svg { width: 13px; height: 13px; }
.v2ctns-shot__frame:hover .v2ctns-shot__zoom { opacity: 1; }
.v2gpr-prose figcaption.v2ctns-shot__cap {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 13px 16px 15px;
    font-size: 13px;
    line-height: 1.55;
    color: var(--slate);
    background: var(--paper);
    border-top: 1px solid var(--line);
    margin: 0;
}
.v2ctns-shot__cap-n {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    border-radius: 6px;
    background: var(--go-tint);
    color: var(--go-deep);
    font: 700 11px/20px var(--font-mono);
    text-align: center;
}

/* ---------- Numbered procedure list ---------- */
.v2gpr-prose ol.v2ctns-proc { margin: 18px 0; padding: 0; counter-reset: v2ctnsproc; display: grid; gap: 9px; }
.v2ctns-proc > li {
    counter-increment: v2ctnsproc;
    position: relative;
    list-style: none;
    padding: 11px 46px 11px 15px;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 12px;
    font-size: 14.5px;
    line-height: 1.6;
    color: var(--slate);
}
.v2ctns-proc > li::before {
    content: counter(v2ctnsproc);
    position: absolute;
    right: 12px;
    top: 10px;
    width: 24px;
    height: 24px;
    border-radius: 7px;
    background: var(--paper);
    border: 1px solid var(--line);
    color: var(--ink);
    font: 700 12px/24px var(--font-mono);
    text-align: center;
}

/* ---------- Wrong/Right, Pending/Approved state cards ---------- */
.v2ctns-cmp { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 22px 0; }
.v2ctns-cmp__card {
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 15px;
    padding: 18px 20px;
}
.v2ctns-cmp__card h4 {
    display: flex;
    align-items: center;
    gap: 9px;
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 15.5px;
    color: var(--ink);
    margin-bottom: 8px;
}
.v2ctns-cmp__ic {
    display: inline-flex;
    width: 26px;
    height: 26px;
    border-radius: 8px;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.v2ctns-cmp__ic svg { width: 17px; height: 17px; }
.v2ctns-cmp__card p { font-size: 13.5px; line-height: 1.6; color: var(--slate); }
.v2ctns-cmp__card.is-good { background: var(--go-tint); border-color: rgba(11, 138, 71, .2); }
.v2ctns-cmp__card.is-good .v2ctns-cmp__ic { background: rgba(11, 138, 71, .14); color: var(--go-deep); }
.v2ctns-cmp__card.is-bad .v2ctns-cmp__ic,
.v2ctns-cmp__card.is-warn .v2ctns-cmp__ic { background: var(--paper); border: 1px solid var(--line); color: var(--slate); }

/* ---------- Big numbered fix steps ---------- */
.v2ctns-steps { display: grid; gap: 12px; margin: 20px 0 24px; }
.v2ctns-step {
    display: flex;
    gap: 15px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 15px;
    padding: 18px 20px;
}
.v2ctns-step.is-key { border-color: rgba(11, 138, 71, .28); box-shadow: 0 0 0 3px rgba(11, 138, 71, .06); }
.v2ctns-step__n {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 9px;
    background: var(--mist);
    border: 1px solid var(--line);
    color: var(--ink);
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.v2ctns-step.is-key .v2ctns-step__n { background: var(--go); border-color: var(--go); color: #fff; }
.v2ctns-step__body h4 { font-family: var(--font-display); font-weight: 600; font-size: 16px; letter-spacing: -.01em; color: var(--ink); margin-bottom: 5px; }
.v2ctns-step__body p { font-size: 14px; line-height: 1.6; color: var(--slate); }
.v2ctns-step__tip {
    margin-top: 10px;
    padding: 10px 13px;
    background: var(--mist);
    border-radius: 9px;
    font-size: 13px;
    line-height: 1.55;
    color: var(--slate);
}
.v2ctns-step__tip strong { color: var(--ink); }

/* ---------- "Why it matters" quote ---------- */
.v2ctns-quote {
    background: var(--paper);
    border: 1px solid var(--line);
    border-right: 3px solid var(--go);
    border-radius: 12px;
    padding: 16px 20px;
    margin: 22px 0;
}
.v2ctns-quote__tag {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--slate);
    margin-bottom: 8px;
}
.v2ctns-quote__tag svg { width: 16px; height: 16px; color: var(--go-deep); }
.v2ctns-quote p { font-size: 15px; line-height: 1.65; color: var(--slate); }

/* ---------- Internal/Closed/Open link table ---------- */
.v2ctns-linktable {
    margin: 20px 0;
    border: 1px solid var(--line);
    border-radius: 14px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.v2ctns-linktable table { width: 100%; border-collapse: collapse; min-width: 460px; }
.v2ctns-linktable th {
    text-align: right;
    font-family: var(--font-mono);
    font-weight: 600;
    font-size: 10px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--faint);
    background: var(--mist);
    padding: 12px 16px;
    border-bottom: 1px solid var(--line);
}
.v2ctns-linktable td {
    padding: 13px 16px;
    font-size: 13.5px;
    color: var(--slate);
    border-bottom: 1px solid var(--line);
    vertical-align: middle;
}
.v2ctns-linktable tr:last-child td { border-bottom: 0; }
.v2ctns-linktable__feat { color: var(--ink); }
.v2ctns-linktable__feat strong { color: var(--ink); font-weight: 600; }
.v2ctns-pill {
    display: inline-block;
    font-size: 11.5px;
    font-weight: 600;
    border-radius: 999px;
    padding: 3px 11px;
    white-space: nowrap;
}
.v2ctns-pill.is-yes { background: var(--go-tint); color: var(--go-deep); }
.v2ctns-pill.is-no { background: var(--mist); color: var(--slate); border: 1px solid var(--line); }

/* ---------- Interactive link scanner ---------- */
.v2ctns-scan {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: clamp(18px, 3vw, 26px);
    margin: 26px 0;
    box-shadow: 0 1px 2px rgba(10, 16, 23, .04), 0 20px 40px -28px rgba(10, 16, 23, .16);
}
.v2ctns-scan__head { display: flex; gap: 13px; align-items: flex-start; margin-bottom: 16px; }
.v2ctns-scan__ic {
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: var(--go-tint);
    color: var(--go);
    display: flex;
    align-items: center;
    justify-content: center;
}
.v2ctns-scan__ic svg { width: 23px; height: 23px; }
.v2ctns-scan__head h3 { font-family: var(--font-display); font-weight: 600; font-size: 17.5px; letter-spacing: -.015em; color: var(--ink); }
.v2ctns-scan__head p { font-size: 13.5px; line-height: 1.55; color: var(--slate); margin-top: 3px; }
.v2ctns-scan__form { display: flex; gap: 10px; }
.v2ctns-scan__input {
    flex: 1 1 auto;
    min-width: 0;
    height: 46px;
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 0 15px;
    font-family: var(--font-mono);
    font-size: 13px;
    color: var(--ink);
    background: var(--mist);
    transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.v2ctns-scan__input:focus {
    outline: none;
    background: var(--paper);
    border-color: var(--go);
    box-shadow: 0 0 0 3px rgba(11, 138, 71, .1);
}
.v2ctns-scan__input::placeholder { color: var(--faint); }
.v2 .v2ctns-scan__btn {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 46px;
    padding: 0 20px;
    border: 0;
    border-radius: 12px;
    background: var(--go);
    color: #fff;
    font-family: var(--font-body);
    font-weight: 600;
    font-size: 14.5px;
    cursor: pointer;
    transition: background .18s ease;
}
.v2 .v2ctns-scan__btn:hover { background: var(--go-deep); }
.v2 .v2ctns-scan__btn .v2-ic { width: 18px; height: 18px; }
/* result panel (classes are set by the preserved validator JS) */
.v2ctns-scan .gpc-validator-result { display: none; margin-top: 14px; }
.v2ctns-scan .gpc-validator-result.is-visible {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 15px 17px;
    border-radius: 13px;
    border: 1px solid var(--line);
    background: var(--mist);
    animation: v2RiseIn .4s cubic-bezier(0.22, 0.8, 0.26, 1) both;
}
.v2ctns-scan .gpc-validator-result-icon {
    flex-shrink: 0;
    width: 30px;
    height: 30px;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--paper);
    border: 1px solid var(--line);
    color: var(--slate);
}
.v2ctns-scan .gpc-validator-result-icon svg { width: 19px; height: 19px; }
.v2ctns-scan .gpc-validator-result-body strong { display: block; font-size: 14.5px; color: var(--ink); font-weight: 650; margin-bottom: 3px; }
.v2ctns-scan .gpc-validator-result-body p { font-size: 13.5px; line-height: 1.6; color: var(--slate); }
.v2ctns-scan .gpc-validator-result-body code {
    font-family: var(--font-mono);
    font-size: 12px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 5px;
    padding: 1px 5px;
    color: var(--ink);
}
.v2ctns-scan .gpc-validator-success.is-visible { background: var(--go-tint); border-color: rgba(11, 138, 71, .22); }
.v2ctns-scan .gpc-validator-success .gpc-validator-result-icon { background: rgba(11, 138, 71, .14); border-color: transparent; color: var(--go-deep); }
.v2ctns-scan .gpc-validator-error.is-visible { background: #FDF1F0; border-color: rgba(180, 35, 24, .16); }
.v2ctns-scan .gpc-validator-error .gpc-validator-result-icon { background: #fff; border-color: rgba(180, 35, 24, .16); color: #B42318; }
.v2ctns-scan__foot {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-top: 13px;
    font-size: 11.5px;
    color: var(--faint);
}
.v2ctns-scan__foot svg { width: 15px; height: 15px; flex-shrink: 0; }

/* ---------- Labeled callout (info / good) ---------- */
.v2ctns-callout {
    display: flex;
    gap: 13px;
    align-items: flex-start;
    padding: 17px 19px;
    border-radius: 14px;
    margin: 22px 0;
    background: var(--mist);
    border: 1px solid var(--line);
}
.v2ctns-callout__ic {
    flex-shrink: 0;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--paper);
    border: 1px solid var(--line);
    color: var(--slate);
}
.v2ctns-callout__ic svg { width: 20px; height: 20px; }
.v2ctns-callout__label { display: block; margin-bottom: 5px; color: var(--faint); }
.v2ctns-callout p { font-size: 14.5px; line-height: 1.6; color: var(--slate); }
.v2ctns-callout.is-good { background: var(--go-tint); border-color: rgba(11, 138, 71, .18); }
.v2ctns-callout.is-good .v2ctns-callout__ic { background: rgba(11, 138, 71, .12); border-color: transparent; color: var(--go-deep); }
.v2ctns-callout.is-good .v2ctns-callout__label { color: var(--go-deep); }

/* ---------- Countries recommendation trio ---------- */
.v2ctns-rec { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; margin: 20px 0 24px; }
.v2ctns-rec__card {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 15px;
    padding: 18px;
    text-align: center;
}
.v2ctns-rec__card.is-best { border-color: rgba(11, 138, 71, .28); box-shadow: 0 0 0 3px rgba(11, 138, 71, .06); }
.v2ctns-rec__ic {
    display: inline-flex;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    align-items: center;
    justify-content: center;
    background: var(--mist);
    color: var(--slate);
    margin-bottom: 11px;
}
.v2ctns-rec__card.is-best .v2ctns-rec__ic { background: var(--go-tint); color: var(--go); }
.v2ctns-rec__ic svg { width: 22px; height: 22px; }
.v2ctns-rec__card h4 { font-family: var(--font-display); font-weight: 600; font-size: 15px; letter-spacing: -.01em; color: var(--ink); margin-bottom: 6px; }
.v2ctns-rec__card p { font-size: 13px; line-height: 1.55; color: var(--slate); }

/* ---------- Launch-readiness board ---------- */
.v2ctns-ready {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: clamp(16px, 2.6vw, 22px);
    margin: 22px 0 26px;
}
.v2ctns-ready__bar {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 10px 14px;
    margin-bottom: 16px;
}
.v2ctns-ready__lab { color: var(--faint); }
.v2ctns-ready__count { font-size: 12.5px; color: var(--slate); text-align: left; }
.v2ctns-ready__count b { font-family: var(--font-display); font-weight: 700; font-size: 16px; color: var(--go-deep); }
.v2ctns-ready__track {
    grid-column: 1 / -1;
    height: 6px;
    border-radius: 999px;
    background: var(--mist);
    overflow: hidden;
}
.v2ctns-ready__track i { display: block; height: 100%; width: 0; border-radius: 999px; background: var(--go); transition: width .35s cubic-bezier(0.22, 0.8, 0.26, 1); }
.v2gpr-prose ul.v2ctns-ready__list { margin: 0; padding: 0; list-style: none; display: grid; gap: 9px; }
.v2ctns-rrow {
    display: flex;
    gap: 13px;
    align-items: flex-start;
    padding: 14px 16px;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 12px;
    cursor: pointer;
    transition: border-color .18s ease, background .18s ease;
}
.v2ctns-rrow:hover { border-color: #C9D2DA; }
.v2ctns-rrow:focus-visible { outline: 2px solid var(--go); outline-offset: 2px; }
.v2ctns-rrow__box {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    border-radius: 7px;
    background: var(--paper);
    border: 1.5px solid #C9D2DA;
    color: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .18s ease, border-color .18s ease, color .18s ease;
}
.v2ctns-rrow__box svg { width: 15px; height: 15px; }
.v2ctns-rrow.is-done { background: var(--go-tint); border-color: rgba(11, 138, 71, .22); }
.v2ctns-rrow.is-done .v2ctns-rrow__box { background: var(--go); border-color: var(--go); color: #fff; }
.v2ctns-rrow__body h3 { font-family: var(--font-display); font-weight: 600; font-size: 15px; letter-spacing: -.01em; color: var(--ink); line-height: 1.3; }
.v2ctns-rrow__body p { font-size: 13px; line-height: 1.55; color: var(--slate); margin-top: 3px; }
.v2ctns-rrow.is-done .v2ctns-rrow__body h3 { color: var(--go-deep); }

/* ---------- Highlight tiles ---------- */
.v2ctns-hl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 22px 0; }
.v2ctns-hl__tile {
    display: flex;
    align-items: center;
    gap: 11px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 13px;
    padding: 15px 16px;
}
.v2ctns-hl__ic {
    flex-shrink: 0;
    width: 38px;
    height: 38px;
    border-radius: 11px;
    background: var(--go-tint);
    color: var(--go);
    display: flex;
    align-items: center;
    justify-content: center;
}
.v2ctns-hl__ic svg { width: 20px; height: 20px; }
.v2ctns-hl__tile b { display: block; font-family: var(--font-display); font-weight: 700; font-size: 15.5px; color: var(--ink); letter-spacing: -.01em; }
.v2ctns-hl__tile .v2-mono { display: block; margin-top: 2px; font-size: 9.5px; color: var(--faint); }

/* ---------- Plans ---------- */
.v2ctns-plans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 20px 0 26px; align-items: start; }
.v2ctns-plan {
    position: relative;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 22px 20px;
    text-align: center;
}
.v2ctns-plan--key { background: var(--ink); border-color: var(--ink); }
.v2ctns-plan__badge {
    position: absolute;
    top: -10px;
    right: 50%;
    transform: translateX(50%);
    background: var(--go);
    color: #fff;
    font-size: 9.5px;
    border-radius: 999px;
    padding: 4px 12px;
    white-space: nowrap;
}
.v2ctns-plan__name { font-family: var(--font-display); font-weight: 600; font-size: 16px; color: var(--ink); }
.v2ctns-plan--key .v2ctns-plan__name { color: #fff; }
.v2ctns-plan__testers { display: block; margin-top: 4px; font-size: 10px; color: var(--faint); }
.v2ctns-plan__amount { font-family: var(--font-display); font-weight: 800; font-size: 30px; letter-spacing: -.02em; color: var(--ink); margin: 8px 0 14px; font-variant-numeric: tabular-nums; }
.v2ctns-plan--key .v2ctns-plan__amount { color: #fff; }
.v2ctns-plan ul { margin: 0 0 16px; padding: 0; list-style: none; display: grid; gap: 8px; text-align: right; }
.v2ctns-plan ul li { display: flex; align-items: flex-start; gap: 9px; font-size: 13px; line-height: 1.45; color: var(--slate); }
.v2ctns-plan--key ul li { color: #A9B4BF; }
.v2ctns-plan ul li span { min-width: 0; }
.v2 .v2ctns-plan__btn {
    display: block;
    width: 100%;
    padding: 11px 14px;
    border-radius: 10px;
    background: var(--mist);
    color: var(--ink);
    font-family: var(--font-body);
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
    transition: background .18s ease, color .18s ease;
}
.v2 .v2ctns-plan__btn:hover { background: #E9EDF1; }
.v2 .v2ctns-plan--key .v2ctns-plan__btn { background: rgba(255, 255, 255, .1); color: #fff; }
.v2 .v2ctns-plan__btn--primary { background: var(--go); color: #fff; }
.v2 .v2ctns-plan__btn--primary:hover { background: var(--go-deep); }

/* ---------- Helpful links ---------- */
.v2ctns-links {
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 20px 22px;
    margin: 24px 0;
}
.v2ctns-links__title { display: flex; align-items: center; gap: 8px; color: var(--faint); margin-bottom: 14px; }
.v2ctns-links__title svg { width: 16px; height: 16px; color: var(--go-deep); }
.v2ctns-links__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.v2ctns-links__grid a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 14px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 10px;
    font-size: 13.5px;
    color: var(--slate);
    text-decoration: none;
    transition: border-color .18s ease, color .18s ease, transform .18s ease;
}
.v2ctns-links__grid a:hover { border-color: #C9D2DA; color: var(--ink); transform: translateY(-1px); }
.v2ctns-links__grid a .v2-ic { width: 18px; height: 18px; flex-shrink: 0; color: var(--go-deep); }

/* ---------- Bottom capsule: keep the H3 tag flush ---------- */
.v2ctns-bottom .v2gpr-bottom__tag { display: flex; align-items: center; gap: 7px; }

/* =============================================================
   BLOG CTNS V2 - RESPONSIVE
============================================================= */
@media (max-width: 900px) {
    .v2ctns-trace__flow { grid-template-columns: 1fr; gap: 12px; }
    .v2ctns-node { display: flex; align-items: center; gap: 12px; text-align: right; padding: 12px 15px; }
    .v2ctns-node__ic { margin-bottom: 0; }
    .v2ctns-phone { margin-bottom: 0; }
    .v2ctns-node b { display: inline; }
    .v2ctns-node .v2-mono { display: inline; margin: 0 8px 0 0; }
    .v2ctns-relays::before { top: 16px; right: 8%; left: 8%; }
}
@media (max-width: 720px) {
    .v2ctns-hl { grid-template-columns: 1fr; }
    .v2ctns-rec { grid-template-columns: 1fr; }
    .v2ctns-plans { grid-template-columns: 1fr; max-width: 380px; margin-inline: auto; }
    .v2ctns-plan--key { order: -1; }
}
@media (max-width: 640px) {
    .v2ctns-trace { padding: 16px; }
    .v2ctns-relays { flex-wrap: wrap; justify-content: center; gap: 6px; }
    .v2ctns-relays::before { display: none; }
    .v2ctns-relay { flex: 0 0 auto; flex-direction: row; gap: 6px; padding: 7px 12px; background: var(--mist); border: 1px solid var(--line); }
    .v2ctns-relay__dot { box-shadow: none; }
    .v2ctns-fault { grid-template-columns: auto minmax(0, 1fr) auto; gap: 12px; padding: 14px 15px; }
    .v2ctns-fault__tag { display: none; }
    .v2ctns-cmp { grid-template-columns: 1fr; gap: 12px; }
    .v2ctns-links__grid { grid-template-columns: 1fr; }
    .v2ctns-scan__form { flex-direction: column; }
    .v2 .v2ctns-scan__btn { width: 100%; justify-content: center; }
    .v2ctns-shot__path { font-size: 9px; }
    .v2ctns-video__head h3 { font-size: 15.5px; }
    .v2ctns-video__play { width: 54px; height: 54px; }
    .v2ctns-video__play svg { width: 26px; height: 26px; }
}
@media (max-width: 380px) {
    .v2ctns-facts { grid-template-columns: 1fr; }
    .v2ctns-step { flex-direction: column; gap: 10px; }
    .v2ctns-proc > li { padding-right: 42px; }
    .v2ctns-fault { grid-template-columns: auto minmax(0, 1fr); }
    .v2ctns-fault__arrow { display: none; }
}

/* ============================================================
   BLOG RR26 V2  -  "Google Play App Rejection Rate 2026: Data & Fixes"
   (/blog/google-play-app-rejection-rate-2026)
   Rides the shared v2gpr- article layer (rail + chips, prose, h2/h3,
   quick answer, faq, related, cta, author, sticky CTA). The blocks
   below are the UNIQUE "2026 enforcement data report" motif for this
   post - prefix v2rr-. ONE accent (green) + a SINGLE rose moment on
   the production-access "Continue Testing" fork. Every list/figure
   used here lives inside .v2gpr-prose, so the gpr block reset already
   zeroes UA list/figure margins - no extra reset needed.
   ============================================================ */

/* ---------- Hero extras ---------- */
.v2rr-eyebrow { display: inline-flex; align-items: center; gap: 7px; }
.v2rr-eyebrow svg { width: 15px; height: 15px; }
.v2rr-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.v2rr-cover { position: relative; }
.v2rr-cover__badge {
    position: absolute;
    top: 14px;
    right: 14px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 9px;
    color: var(--go-deep);
    background: rgba(255, 255, 255, 0.92);
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    border: 1px solid rgba(11, 138, 71, 0.22);
    border-radius: 999px;
    padding: 5px 11px;
}
.v2rr-cover__badge svg { width: 12px; height: 12px; }

/* ---------- Intro: lead paragraph + key-data ledger ---------- */
.v2gpr-prose > p.v2rr-lead-p {
    font-size: 17.5px;
    line-height: 1.8;
    color: var(--ink);
    font-weight: 450;
}
.v2rr-keydata {
    background: var(--mist);
    border: 1px solid var(--line);
    border-right: 3px solid var(--go);
    border-radius: 16px;
    padding: 22px 24px;
    margin: 26px 0;
}
.v2rr-keydata__label {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 15px;
    color: var(--go-deep);
}
.v2rr-keydata__label svg { width: 16px; height: 16px; }
.v2rr-keydata__list { display: grid; gap: 12px; }
.v2rr-keydata__list li {
    display: grid;
    grid-template-columns: 16px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    font-size: 15px;
    line-height: 1.6;
    color: var(--slate);
}
.v2rr-keydata__list li .v2gpr-mk { margin-top: 2px; }
.v2rr-keydata__list strong { color: var(--ink); font-weight: 650; }

/* TOC label icon: the shared .v2gpr-toc__label does not size an inline
   svg, so scope the sizing here (an unsized 0 0 20 20 svg fills the p
   and renders its three path lines as giant bars). */
.v2rr-toc .v2gpr-toc__label { display: flex; align-items: center; gap: 8px; }
.v2rr-toc .v2gpr-toc__label svg { width: 15px; height: 15px; flex-shrink: 0; }

/* ---------- Section 1: the "accurate answer" verdict plate ---------- */
.v2rr-verdict {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 20px 24px;
    margin: 24px 0;
}
.v2rr-verdict__tag {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--slate);
    margin-bottom: 12px;
}
.v2rr-verdict__tag svg { width: 16px; height: 16px; color: var(--go); }
.v2rr-verdict__row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 4px 18px;
    padding: 12px 0;
    border-top: 1px solid var(--line);
}
.v2rr-verdict__k { font-size: 14.5px; font-weight: 600; color: var(--ink); }
.v2rr-verdict__v { font-size: 14px; font-weight: 600; }
.v2rr-verdict__v.is-muted { color: var(--faint); }
.v2rr-verdict__v.is-go { color: var(--go-deep); }

/* ---------- Section 2: enforcement ledger (data-viz) ---------- */
.v2rr-ledger {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    overflow: hidden;
    margin: 26px 0;
}
.v2rr-ledger__head {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 18px;
    background: var(--mist);
    border-bottom: 1px solid var(--line);
    font-size: 9.5px;
    color: var(--slate);
}
.v2rr-ledger__head svg { width: 15px; height: 15px; color: var(--faint); }
.v2rr-ledger__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.v2rr-year {
    padding: 20px 20px 22px;
    border-left: 1px solid var(--line);
}
.v2rr-year:last-child { border-left: none; }
.v2rr-year.is-latest { box-shadow: inset 0 3px 0 var(--go); }
.v2rr-year__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 12px;
    min-height: 18px;
}
.v2rr-year__y { font-size: 11px; color: var(--faint); }
.v2rr-year.is-latest .v2rr-year__y { color: var(--go-deep); }
.v2rr-year__chip {
    font-size: 8px;
    color: var(--go-deep);
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.22);
    border-radius: 999px;
    padding: 3px 8px;
}
.v2rr-year__big {
    display: block;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 34px;
    line-height: 1;
    letter-spacing: -0.03em;
    color: var(--ink);
    font-variant-numeric: tabular-nums;
}
.v2rr-year__cap { display: block; font-size: 9px; color: var(--faint); margin-top: 6px; }
.v2rr-year__bar {
    height: 8px;
    border-radius: 999px;
    background: #E9EDF1;
    overflow: hidden;
    margin: 14px 0 16px;
}
.v2rr-year__bar i {
    display: block;
    height: 100%;
    width: var(--w, 0%);
    border-radius: 999px;
    background: var(--go);
}
.v2rr-year__stat {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
    padding-top: 12px;
    border-top: 1px solid var(--line);
}
.v2rr-year__stat span { font-size: 12px; color: var(--slate); }
.v2rr-year__stat b {
    font-family: var(--font-display);
    font-weight: 750;
    font-size: 16px;
    letter-spacing: -0.01em;
    color: var(--ink);
    font-variant-numeric: tabular-nums;
}
.v2rr-year__ctx { font-size: 12px; line-height: 1.55; color: var(--faint); margin-top: 12px; }
.v2rr-ledger__src {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 3px 7px;
    padding: 13px 18px;
    background: var(--mist);
    border-top: 1px solid var(--line);
    font-size: 11.5px;
    line-height: 1.7;
    color: var(--faint);
}
.v2rr-ledger__src svg { width: 13px; height: 13px; flex-shrink: 0; margin-top: 3px; }
.v2rr-ledger__src a { color: var(--slate); text-decoration: underline; text-underline-offset: 2px; }
.v2rr-ledger__src a:hover { color: var(--ink); }
/* Ledger entrance */
.v2rr-ledger.v2-anim .v2rr-year {
    opacity: 0;
    transform: translateY(12px);
    transition: opacity 0.55s ease, transform 0.55s cubic-bezier(0.22, 0.8, 0.26, 1);
}
.v2rr-ledger.v2-anim .v2rr-year:nth-child(2) { transition-delay: 0.08s; }
.v2rr-ledger.v2-anim .v2rr-year:nth-child(3) { transition-delay: 0.16s; }
.v2rr-ledger.is-in .v2rr-year { opacity: 1; transform: none; }

/* ---------- Section 2: "What Google says" source card ---------- */
.v2rr-gsays {
    background: var(--paper);
    border: 1px solid var(--line);
    border-right: 3px solid var(--ink);
    border-radius: 14px;
    padding: 18px 20px;
    margin: 22px 0;
}
.v2rr-gsays__tag {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--ink);
    margin-bottom: 8px;
}
.v2rr-gsays__tag svg { width: 16px; height: 16px; color: var(--slate); }
.v2rr-gsays p { font-size: 14.5px; line-height: 1.7; color: var(--slate); }

/* ---------- Section 3: rejection-reason cards ---------- */
.v2rr-reasons { display: grid; gap: 14px; margin: 26px 0; }
.v2rr-reason {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 22px 24px;
}
.v2rr-reason.is-gate { border-color: rgba(11, 138, 71, 0.28); }
.v2rr-reason__head {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
}
.v2rr-reason__rank {
    width: 40px;
    height: 40px;
    border-radius: 11px;
    background: var(--mist);
    border: 1px solid var(--line);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 700;
    color: var(--ink);
}
.v2rr-reason.is-gate .v2rr-reason__rank {
    background: var(--go-tint);
    border-color: rgba(11, 138, 71, 0.3);
    color: var(--go-deep);
}
.v2rr-reason__title {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 17px;
    letter-spacing: -0.014em;
    line-height: 1.3;
    color: var(--ink);
    margin-bottom: 9px;
}
.v2rr-reason__tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 9px;
    color: var(--slate);
}
.v2rr-meter { display: inline-flex; gap: 3px; }
.v2rr-meter i { width: 5px; height: 12px; border-radius: 2px; background: #DDE3E8; }
.v2rr-reason__tag.is-l3 .v2rr-meter i:nth-child(-n+3),
.v2rr-reason__tag.is-l2 .v2rr-meter i:nth-child(-n+2),
.v2rr-reason__tag.is-l1 .v2rr-meter i:nth-child(-n+1) { background: var(--ink); }
.v2rr-reason__desc {
    font-size: 15px;
    line-height: 1.7;
    color: var(--slate);
    margin: 14px 0 16px;
}
.v2rr-reason__desc strong { color: var(--ink); font-weight: 650; }
.v2rr-reason__fix {
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.2);
    border-radius: 12px;
    padding: 14px 16px;
}
.v2rr-reason__fixlabel {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 9.5px;
    color: var(--go-deep);
    margin-bottom: 7px;
}
.v2rr-reason__fixlabel svg { width: 14px; height: 14px; }
.v2rr-reason__fixtext { display: block; font-size: 14px; line-height: 1.65; color: var(--slate); }
.v2rr-reason__fixtext strong { color: var(--ink); font-weight: 650; }
/* Reason entrance */
.v2rr-reasons.v2-anim .v2rr-reason {
    opacity: 0;
    transform: translateY(12px);
    transition: opacity 0.5s ease, transform 0.5s cubic-bezier(0.22, 0.8, 0.26, 1);
    transition-delay: var(--i, 0s);
}
.v2rr-reasons.is-in .v2rr-reason { opacity: 1; transform: none; }

/* ---------- Mid-article CTA (plan strip) ---------- */
.v2rr-midcta {
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 26px 28px;
    margin: 34px 0;
    text-align: center;
}
.v2rr-midcta__q {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 19px;
    letter-spacing: -0.015em;
    color: var(--ink);
}
.v2rr-midcta__sub { font-size: 14.5px; line-height: 1.65; color: var(--slate); margin-top: 8px; }
.v2rr-midcta__sub strong { color: var(--ink); font-weight: 650; }
.v2rr-midcta__tiers {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin: 18px 0;
}
.v2rr-tier {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 11px 16px;
}
.v2rr-tier b { font-size: 13.5px; font-weight: 700; color: var(--ink); }
.v2rr-tier__price {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 15px;
    color: var(--ink);
    font-variant-numeric: tabular-nums;
}
.v2rr-tier.is-best { border-color: rgba(11, 138, 71, 0.4); }
.v2rr-tier__flag {
    font-size: 8px;
    color: var(--go-deep);
    background: var(--go-tint);
    border-radius: 999px;
    padding: 2px 7px;
}
.v2rr-tier.is-pop { border-color: #C9D2DA; }
.v2rr-tier.is-pop .v2rr-tier__flag { color: var(--slate); background: var(--mist); }
.v2rr-midcta__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}

/* ---------- Section 4: production-access flow ---------- */
.v2rr-flow {
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 26px 24px;
    margin: 26px 0;
}
.v2rr-flow__title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: var(--slate);
    margin-bottom: 22px;
    text-align: center;
}
.v2rr-flow__title svg { width: 15px; height: 15px; color: var(--go); }
.v2rr-flow__steps { display: flex; flex-direction: column; align-items: center; }
.v2rr-flow__step {
    position: relative;
    width: 100%;
    max-width: 400px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 14px 20px;
    text-align: center;
}
.v2rr-flow__step.is-key {
    border-color: var(--go);
    background: var(--go-tint);
}
.v2rr-flow__step + .v2rr-flow__step { margin-top: 36px; }
.v2rr-flow__step:not(:first-child)::before {
    content: '';
    position: absolute;
    top: -32px;
    right: 50%;
    width: 2px;
    height: 24px;
    background: #CDD6DD;
    transform: translateX(50%);
}
.v2rr-flow__step:not(:first-child)::after {
    content: '';
    position: absolute;
    top: -14px;
    right: 50%;
    width: 8px;
    height: 8px;
    border-left: 2px solid #CDD6DD;
    border-bottom: 2px solid #CDD6DD;
    transform: translateX(50%) rotate(-45deg);
}
.v2rr-flow__n { display: block; font-size: 9px; color: var(--slate); margin-bottom: 5px; }
.v2rr-flow__step.is-key .v2rr-flow__n { color: var(--go-deep); }
.v2rr-flow__step p { font-size: 14.5px; font-weight: 600; color: var(--ink); line-height: 1.4; }
.v2rr-flow__fork {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    max-width: 420px;
    margin: 46px auto 0;
}
/* stem from step 3 down to the branch bar */
.v2rr-flow__fork::before {
    content: '';
    position: absolute;
    top: -46px;
    right: 50%;
    width: 2px;
    height: 22px;
    background: #CDD6DD;
    transform: translateX(50%);
}
/* horizontal branch bar linking both outcome-card centres */
.v2rr-flow__fork::after {
    content: '';
    position: absolute;
    top: -24px;
    right: 25%;
    left: 25%;
    height: 2px;
    background: #CDD6DD;
}
.v2rr-fork {
    position: relative;
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 16px 14px;
    text-align: center;
}
/* down stub from the branch bar into each outcome card */
.v2rr-fork::before {
    content: '';
    position: absolute;
    top: -24px;
    right: 50%;
    width: 2px;
    height: 24px;
    background: #CDD6DD;
    transform: translateX(50%);
}
.v2rr-fork svg { width: 26px; height: 26px; }
.v2rr-fork p { font-size: 13.5px; font-weight: 700; margin-top: 6px; line-height: 1.35; }
.v2rr-fork.is-ok { background: var(--go-tint); border-color: rgba(11, 138, 71, 0.25); }
.v2rr-fork.is-ok svg { color: var(--go); }
.v2rr-fork.is-ok p { color: var(--go-deep); }
.v2rr-fork.is-bad { background: #FDF1F0; border-color: rgba(180, 35, 24, 0.16); }
.v2rr-fork.is-bad svg { color: #B42318; }
.v2rr-fork.is-bad p { color: #B42318; }
/* Flow entrance */
.v2rr-flow.v2-anim .v2rr-flow__step,
.v2rr-flow.v2-anim .v2rr-fork {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.5s ease, transform 0.5s cubic-bezier(0.22, 0.8, 0.26, 1);
}
.v2rr-flow.v2-anim .v2rr-flow__step:nth-child(2) { transition-delay: 0.09s; }
.v2rr-flow.v2-anim .v2rr-flow__step:nth-child(3) { transition-delay: 0.18s; }
.v2rr-flow.v2-anim .v2rr-fork { transition-delay: 0.27s; }
.v2rr-flow.is-in .v2rr-flow__step,
.v2rr-flow.is-in .v2rr-fork { opacity: 1; transform: none; }

/* ---------- Section 5: figure + impact levers + fastpath ---------- */
.v2rr-figure { position: relative; margin: 8px 0 24px; }
.v2rr-figure img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 16px;
    border: 1px solid var(--line);
    box-shadow: 0 1px 2px rgba(10, 16, 23, 0.05), 0 20px 40px -24px rgba(10, 16, 23, 0.16);
}
.v2rr-figure__badge {
    position: absolute;
    top: 14px;
    right: 14px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 9px;
    color: var(--go-deep);
    background: rgba(255, 255, 255, 0.92);
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    border: 1px solid rgba(11, 138, 71, 0.22);
    border-radius: 999px;
    padding: 5px 11px;
}
.v2rr-figure__badge svg { width: 12px; height: 12px; }
.v2rr-figure figcaption { font-size: 13px; line-height: 1.6; color: var(--slate); margin: 10px 4px 0; }

.v2rr-levers { display: grid; gap: 12px; margin: 24px 0; }
.v2rr-lever {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 18px 20px;
}
.v2rr-lever__top { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; }
.v2rr-lever__n {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    background: var(--go);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 700;
    flex-shrink: 0;
}
.v2rr-lever__top strong { font-size: 15.5px; font-weight: 650; letter-spacing: -0.01em; color: var(--ink); }
.v2rr-lever p { font-size: 14px; line-height: 1.65; color: var(--slate); padding-right: 40px; }
.v2rr-lever p strong { color: var(--ink); font-weight: 650; }
.v2rr-lever__meter { padding-right: 40px; margin-top: 12px; }
.v2rr-lever__track { height: 8px; border-radius: 999px; background: #E9EDF1; overflow: hidden; }
.v2rr-lever__track i {
    display: block;
    height: 100%;
    width: var(--w, 0%);
    border-radius: 999px;
    background: var(--go);
}
.v2rr-lever__impact { display: block; font-size: 9px; color: var(--faint); margin-top: 6px; }
.v2rr-levers.v2-anim .v2rr-lever {
    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(--i, 0s);
}
.v2rr-levers.is-in .v2rr-lever { opacity: 1; transform: none; }

.v2rr-fastpath {
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.2);
    border-radius: 16px;
    padding: 24px;
    margin: 28px 0;
}
.v2rr-fastpath__tag {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--go-deep);
    margin-bottom: 10px;
}
.v2rr-fastpath__tag svg { width: 16px; height: 16px; }
.v2rr-fastpath__text { font-size: 15px; line-height: 1.75; color: var(--ink); }
.v2rr-fastpath__text strong { font-weight: 700; }
.v2rr-fastpath__plans {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 16px;
}
.v2rr-plan {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 13px;
    text-align: center;
}
.v2rr-plan.is-best { border-color: rgba(11, 138, 71, 0.4); }
.v2rr-plan.is-pop { border-color: #C9D2DA; }
.v2rr-plan strong { display: block; font-size: 13.5px; color: var(--ink); }
.v2rr-plan__flag {
    display: inline-block;
    font-size: 7.5px;
    color: var(--go-deep);
    background: var(--go-tint);
    border-radius: 999px;
    padding: 2px 6px;
    margin-right: 3px;
    vertical-align: 1px;
    white-space: nowrap;
}
.v2rr-plan.is-pop .v2rr-plan__flag { color: var(--slate); background: var(--mist); }
.v2rr-plan > span {
    display: block;
    margin-top: 6px;
    font-size: 13px;
    font-weight: 600;
    color: var(--go-deep);
    font-variant-numeric: tabular-nums;
}

/* ---------- Section 6: submission checklist ---------- */
/* Masonry (V2 rule 9.9): the four categories have uneven item counts,
   so a fixed 2-col grid leaves ragged whitespace. CSS columns pack the
   cards tightly with clean bottoms. */
.v2rr-checks {
    columns: 2;
    column-gap: 14px;
    margin: 26px 0;
}
.v2rr-check {
    break-inside: avoid;
    margin-bottom: 14px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 14px;
    overflow: hidden;
}
.v2rr-check__head {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 13px 18px;
    background: var(--mist);
    border-bottom: 1px solid var(--line);
    font-size: 10px;
    color: var(--ink);
    line-height: 1.35;
}
.v2rr-check__head svg { width: 16px; height: 16px; color: var(--slate); flex-shrink: 0; }
.v2rr-check__list { padding: 8px 18px 14px; }
.v2rr-check__list li {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 11px;
    align-items: start;
    padding: 9px 0;
    border-top: 1px solid #F0F3F5;
    font-size: 14px;
    line-height: 1.55;
    color: var(--slate);
}
.v2rr-check__list li:first-child { border-top: none; }
.v2rr-check__box {
    width: 18px;
    height: 18px;
    border-radius: 5px;
    border: 1.5px solid #CBD4DB;
    background: var(--paper);
    margin-top: 1px;
}
.v2rr-check__list strong { color: var(--ink); font-weight: 650; }

/* ---------- Section 7: help features + trust strip ---------- */
.v2rr-help {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 24px 0;
}
.v2rr-feat {
    display: flex;
    align-items: center;
    gap: 12px;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 16px 18px;
}
.v2rr-feat__ic {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: var(--go-tint);
    color: var(--go);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.v2rr-feat__ic svg { width: 20px; height: 20px; }
.v2rr-feat__t { font-size: 14px; font-weight: 600; color: var(--ink); line-height: 1.4; }
.v2rr-trust {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px 26px;
    margin: 22px 0 6px;
    padding: 16px 18px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 14px;
}
.v2rr-trust__item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--slate);
}
.v2rr-trust__item svg { width: 17px; height: 17px; color: var(--go); flex-shrink: 0; }

/* ---------- RR26: responsive ---------- */
@media (max-width: 900px) {
    .v2rr-checks { columns: 1; }
    .v2rr-help { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
    .v2rr-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .v2rr-keydata { padding: 18px 16px; }
    .v2rr-keydata__list li { font-size: 14px; }
    .v2rr-verdict { padding: 18px 16px; }
    .v2rr-verdict__k { font-size: 14px; }

    .v2rr-ledger__grid { grid-template-columns: minmax(0, 1fr); }
    .v2rr-year { border-left: none; border-bottom: 1px solid var(--line); }
    .v2rr-year:last-child { border-bottom: none; }
    .v2rr-year.is-latest { box-shadow: inset -3px 0 0 var(--go); }
    .v2rr-year__big { font-size: 32px; }

    .v2rr-reason { padding: 18px 16px; }
    .v2rr-reason__head { grid-template-columns: 34px minmax(0, 1fr); gap: 12px; }
    .v2rr-reason__rank { width: 34px; height: 34px; border-radius: 9px; }
    .v2rr-reason__title { font-size: 16px; }
    .v2rr-reason__desc { font-size: 14.5px; }
    .v2rr-reason__fixtext { font-size: 13.5px; }

    .v2rr-midcta { padding: 22px 18px; }
    .v2rr-midcta__q { font-size: 17.5px; }
    .v2rr-midcta__tiers { flex-direction: column; }
    .v2rr-tier { justify-content: center; }

    .v2rr-flow { padding: 22px 16px; }
    .v2rr-flow__step p { font-size: 14px; }

    .v2rr-lever { padding: 16px; }
    .v2rr-lever p, .v2rr-lever__meter { padding-right: 0; }
    .v2rr-fastpath { padding: 20px 18px; }
    .v2rr-fastpath__plans { grid-template-columns: minmax(0, 1fr); }
    .v2rr-fastpath__text { font-size: 14.5px; }

    .v2rr-trust { gap: 12px 20px; }
    .v2rr-trust__item { font-size: 13px; }
}
@media (max-width: 400px) {
    .v2rr-facts { grid-template-columns: minmax(0, 1fr); }
    .v2rr-year__big { font-size: 30px; }
    .v2rr-flow__fork { grid-template-columns: minmax(0, 1fr); margin-top: 30px; }
    .v2rr-flow__fork::before,
    .v2rr-flow__fork::after,
    .v2rr-fork::before { display: none; }
}


/* ============================================================
   BLOG CTR V2 (/blog/why-google-play-closed-testing-gets-rejected)
   "Why closed testing gets rejected + fixes" post. Rides the shared
   v2gpr- article layer (rail + chips, prose, h2, faq, plans, author,
   related, dark CTA, sticky CTA). Adds a UNIQUE, mobile-first
   REJECTION-TRIAGE / REPAIR-BAY motif: a Play Console "review result"
   console that flips a rose verdict to a green one, fault-to-fix
   cause cards (rose "why Google flags this" -> green "the fix"), a
   tappable 5-minute self-diagnosis scanner, a DIY reliability ledger,
   and a guarantee rail. Prefix: v2ctr-. Rose = the rejection/fault
   state (the article's subject), green = the fix/pass state.
   Two bold dark moments: Bottom Line + final CTA.
   ============================================================ */

/* Local rose (V2 danger palette) reused as the "rejection" semantic */
.v2ctr-article { --ctr-rose: #B42318; --ctr-rose-bg: #FDF1F0; --ctr-rose-line: rgba(180,35,24,0.16); --ctr-rose-tint: #FBE7E5; }

/* Block-scoped reset (gotcha 19: base reset skips h4/ul/ol/figure) */
.v2ctr-summary__tag { margin: 0; }
.v2ctr-summary__causes, .v2ctr-gq__list, .v2ctr-req__steps,
.v2ctr-script__steps, .v2ctr-checks {
    margin: 0; padding: 0; list-style: none;
}

/* ---------- Hero tweaks ---------- */
.v2ctr-hero__go { color: var(--go); }
.v2ctr-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.v2ctr-fact--go b { color: var(--go-deep); }

/* ---------- SIGNATURE: review-result console ---------- */
.v2ctr-console {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    overflow: hidden;
    margin: 4px 0 26px;
    box-shadow: 0 1px 2px rgba(10,16,23,.05), 0 26px 52px -26px rgba(10,16,23,.20);
}
.v2ctr-console__bar {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 12px 16px;
    background: var(--ink);
    border-bottom: 1px solid rgba(255,255,255,.09);
}
.v2ctr-console__dot {
    width: 10px; height: 10px; border-radius: 50%;
    background: #E15B54; flex-shrink: 0;
}
.v2ctr-console__dot--amber { background: #E8B341; }
.v2ctr-console__dot--green { background: #3ECF81; }
.v2ctr-console__path { margin-right: 8px; color: #93A0AC; font-size: 10px; }
.v2ctr-console__body { padding: 20px 22px 22px; }
.v2ctr-console__status {
    display: flex;
    align-items: center;
    gap: 14px;
}
.v2ctr-console__ic {
    width: 40px; height: 40px; border-radius: 11px;
    flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    background: var(--ctr-rose-bg); color: var(--ctr-rose);
}
.v2ctr-console__ic svg { width: 22px; height: 22px; }
.v2ctr-console__ic--go { background: var(--go-tint); color: var(--go-deep); }
.v2ctr-console__title {
    display: block;
    font-family: var(--font-display);
    font-weight: 700; font-size: 18px; letter-spacing: -.01em;
    color: var(--ink); line-height: 1.2;
}
.v2ctr-console__sub { display: block; font-size: 13px; color: var(--slate); margin-top: 2px; }
.v2ctr-console__badge {
    margin-right: auto; flex-shrink: 0;
    font-size: 10px; font-weight: 700; letter-spacing: .08em;
    color: var(--ctr-rose); background: var(--ctr-rose-bg);
    border: 1px solid var(--ctr-rose-line);
    padding: 5px 10px; border-radius: 999px;
}
.v2ctr-console__lab { margin: 18px 0 10px; font-size: 10px; }
.v2ctr-console__faults {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.v2ctr-console__fault {
    background: var(--ctr-rose-bg);
    border: 1px solid var(--ctr-rose-line);
    border-radius: 12px;
    padding: 13px 15px;
}
.v2ctr-console__fault span { display: block; font-size: 9px; color: var(--ctr-rose); margin-bottom: 6px; }
.v2ctr-console__fault b { display: block; font-size: 14px; font-weight: 650; color: var(--ink); line-height: 1.4; }
.v2ctr-console__verdict {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 14px;
    padding: 14px 16px;
    background: var(--go-tint);
    border: 1px solid rgba(11,138,71,.22);
    border-radius: 12px;
}
.v2ctr-console__verdict b { font-size: 14.5px; font-weight: 650; color: var(--go-deep); line-height: 1.45; }
.v2ctr-console__verdict .v2ctr-console__ic { width: 32px; height: 32px; border-radius: 9px; }
.v2ctr-console__verdict .v2ctr-console__ic svg { width: 18px; height: 18px; }

/* ---------- Quick Summary (.ctr-direct-answer) - dark capsule,
     styled to match the Bottom Line the owner approved ---------- */
.v2ctr-summary {
    background: var(--ink);
    border-radius: 20px;
    padding: 26px 30px;
    margin: 26px 0;
}
.v2ctr-summary__tag {
    display: flex; align-items: center; gap: 9px;
    margin-bottom: 14px;
    color: #3ECF81; font-size: 10px;
}
.v2ctr-summary__tag svg { width: 16px; height: 16px; }
.v2ctr-summary__lead {
    font-size: 16px; line-height: 1.75; color: #C6D0DA; font-weight: 450;
    margin: 0;
}
.v2ctr-summary__lead strong { color: #fff; font-weight: 700; }
.v2ctr-summary__causes { margin-top: 16px; display: grid; gap: 10px; }
.v2ctr-summary__causes li {
    display: flex; align-items: flex-start; gap: 13px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 12px;
    padding: 14px 16px;
    font-size: 14.5px; line-height: 1.6; color: #C6D0DA;
}
.v2ctr-summary__causes li strong { color: #fff; font-weight: 650; }
.v2ctr-summary__n {
    flex-shrink: 0;
    font-size: 11px; font-weight: 700; line-height: 1;
    color: #F1867E;
    background: rgba(241, 116, 107, 0.14);
    border: 1px solid rgba(241, 116, 107, 0.22);
    border-radius: 7px;
    padding: 5px 8px;
}

/* ---------- Fast fix (.ctr-callout) ---------- */
.v2ctr-fastfix {
    display: flex; align-items: flex-start; gap: 14px;
    background: var(--go-tint);
    border: 1px solid rgba(11,138,71,.22);
    border-radius: 14px;
    padding: 16px 18px;
    margin: 22px 0;
}
.v2ctr-fastfix__ic {
    width: 34px; height: 34px; border-radius: 10px; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    background: #fff; color: var(--go-deep);
    border: 1px solid rgba(11,138,71,.22);
}
.v2ctr-fastfix__ic svg { width: 19px; height: 19px; }
.v2ctr-fastfix p { font-size: 14.5px; line-height: 1.7; color: var(--slate); margin: 0; align-self: center; }
.v2ctr-fastfix strong { color: var(--ink); font-weight: 700; }

/* ---------- Table of contents ---------- */
.v2ctr-toc {
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 18px 20px;
    margin: 26px 0 8px;
}
.v2ctr-toc__label { margin-bottom: 12px; }
.v2ctr-toc__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2px 18px;
}
.v2ctr-toc__grid a {
    display: flex; align-items: baseline; gap: 10px;
    padding: 9px 6px;
    font-size: 14px; font-weight: 500; line-height: 1.4;
    color: var(--slate);
    text-decoration: none;
    border-bottom: 1px solid transparent;
}
.v2ctr-toc__grid a .v2-mono { font-size: 10px; color: var(--faint); flex-shrink: 0; }
.v2ctr-toc__grid a:hover { color: var(--ink); }
.v2ctr-toc__grid a:hover .v2-mono { color: var(--go-deep); }

/* ---------- Google evidence panels (.ctr-google-quote inside) ---------- */
.v2ctr-gq {
    background: var(--mist);
    border: 1px solid var(--line);
    border-right: 3px solid #4285F4;
    border-radius: 14px;
    padding: 18px 20px;
    margin: 20px 0;
}
.v2ctr-gq__lab { display: flex; align-items: center; gap: 9px; margin-bottom: 12px; font-size: 10px; color: var(--slate); }
.v2ctr-gq__g { display: inline-flex; color: #4285F4; }
.v2ctr-gq__g svg { width: 16px; height: 16px; }
.v2ctr-gq__list { display: grid; gap: 9px; }
.v2ctr-gq__list li {
    position: relative;
    padding-right: 20px;
    font-size: 14.5px; line-height: 1.65; color: var(--slate);
}
.v2ctr-gq__list li::before {
    content: ''; position: absolute; right: 3px; top: 9px;
    width: 6px; height: 6px; border-radius: 2px; background: #B7C0CA;
}
.v2ctr-gq__list strong { color: var(--ink); font-weight: 650; }
/* the raw quote text (.ctr-google-quote gets v2ctr-gqmini) */
.v2ctr-gqmini p { font-size: 14.5px; line-height: 1.7; color: var(--slate); margin: 0; }
.v2ctr-gqmini p + p { margin-top: 10px; }
.v2ctr-gqmini strong { color: var(--ink); font-weight: 650; }

/* DIY "what Google recommends" wrapper */
.v2ctr-evi {
    background: var(--mist);
    border: 1px solid var(--line);
    border-right: 3px solid #4285F4;
    border-radius: 14px;
    padding: 16px 18px;
    margin: 6px 0 20px;
}
.v2ctr-evi__lab { display: flex; align-items: center; gap: 9px; margin-bottom: 11px; font-size: 10px; color: var(--slate); }

/* ---------- Callout notes (insight / important / warn) ---------- */
.v2ctr-note {
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 16px 18px;
    margin: 20px 0;
    background: var(--mist);
}
.v2ctr-note__lab { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 8px; font-size: 10px; color: var(--slate); }
.v2ctr-note__lab svg { width: 16px; height: 16px; }
.v2ctr-note p { font-size: 14.5px; line-height: 1.7; color: var(--slate); margin: 0; }
.v2ctr-note strong { color: var(--ink); font-weight: 650; }
.v2ctr-note em { font-style: italic; }
.v2ctr-note--insight, .v2ctr-note--important {
    background: var(--mist); border-color: var(--line);
}
.v2ctr-note--insight .v2ctr-note__lab, .v2ctr-note--important .v2ctr-note__lab { color: var(--ink); }
.v2ctr-note--warn {
    background: var(--ctr-rose-bg);
    border-color: var(--ctr-rose-line);
    border-right: 4px solid var(--ctr-rose);
}
.v2ctr-note--warn .v2ctr-note__lab { color: var(--ctr-rose); }
.v2ctr-note--warn p { color: var(--ink); font-weight: 500; }

/* ---------- Requirement steps (section 2) ---------- */
.v2ctr-req {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 20px 22px;
    margin: 22px 0;
}
.v2ctr-req__lab {
    display: flex; align-items: center; gap: 10px;
    font-size: 14.5px; font-weight: 650; color: var(--ink);
    margin-bottom: 14px;
}
.v2ctr-req__labic {
    width: 26px; height: 26px; border-radius: 8px; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    background: var(--mist); color: var(--slate);
}
.v2ctr-req__labic svg { width: 16px; height: 16px; }
.v2ctr-req__steps { display: grid; gap: 10px; }
.v2ctr-req__steps li { display: flex; align-items: flex-start; gap: 13px; }
.v2ctr-req__n {
    flex-shrink: 0;
    width: 26px; height: 26px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    background: var(--go-tint); color: var(--go-deep);
    font-size: 12px; font-weight: 700;
}
.v2ctr-req__t { font-size: 14.5px; line-height: 1.55; color: var(--slate); padding-top: 3px; }
.v2ctr-req__t strong { color: var(--ink); font-weight: 650; }

/* ---------- SIGNATURE: fault-to-fix cause cards (section 3) ---------- */
.v2ctr-causes { display: grid; gap: 18px; margin: 8px 0 26px; }
.v2ctr-cause {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 20px 22px 22px;
    position: relative;
    overflow: hidden;
}
.v2ctr-cause::before {
    content: ''; position: absolute; right: 0; top: 0; bottom: 0;
    width: 3px; background: var(--ctr-rose);
}
.v2ctr-cause__head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
}
.v2ctr-cause__idx {
    flex-shrink: 0;
    font-family: var(--font-display);
    font-weight: 800; font-size: 22px; letter-spacing: -.02em;
    color: var(--ctr-rose);
    background: var(--ctr-rose-bg);
    border-radius: 10px;
    width: 44px; height: 44px;
    display: flex; align-items: center; justify-content: center;
}
.v2ctr-cause__title {
    font-family: var(--font-display);
    font-weight: 650; font-size: 17.5px; letter-spacing: -.014em;
    line-height: 1.28; color: var(--ink);
}
.v2ctr-cause__flag {
    flex-shrink: 0;
    font-size: 9.5px; font-weight: 700; letter-spacing: .06em;
    color: var(--ctr-rose); background: var(--ctr-rose-bg);
    border: 1px solid var(--ctr-rose-line);
    border-radius: 999px; padding: 5px 11px;
    white-space: nowrap;
}
.v2ctr-cause__lead { font-size: 15px; line-height: 1.7; color: var(--slate); margin: 0 0 14px; }
.v2ctr-cause__panel {
    border-radius: 13px;
    padding: 15px 17px;
    margin-top: 12px;
}
.v2ctr-cause__panel--why {
    background: var(--ctr-rose-bg);
    border: 1px solid var(--ctr-rose-line);
}
.v2ctr-cause__panel--fix {
    background: var(--go-tint);
    border: 1px solid rgba(11,138,71,.22);
}
.v2ctr-cause__plab {
    display: inline-flex; align-items: center; gap: 8px;
    font-size: 10px; margin-bottom: 10px;
    color: var(--ctr-rose);
}
.v2ctr-cause__plab svg { width: 15px; height: 15px; }
.v2ctr-cause__plab--go { color: var(--go-deep); }
.v2ctr-cause__fixp { font-size: 14px; line-height: 1.65; color: var(--slate); margin: 0; }
.v2ctr-cause__fixp + .v2ctr-tags { margin-top: 10px; }
.v2ctr-tags + .v2ctr-cause__fixp { margin-top: 10px; }

/* Green check list (fix bullets, stability checks) */
.v2ctr-checks { display: grid; gap: 9px; }
.v2ctr-checks li {
    position: relative;
    padding-right: 26px;
    font-size: 14px; line-height: 1.6; color: var(--slate);
}
.v2ctr-checks li::before {
    content: ''; position: absolute; right: 0; top: 1px;
    width: 17px; height: 17px; border-radius: 50%;
    background-color: #fff;
    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");
    background-repeat: no-repeat; background-position: center; background-size: 11px;
    border: 1px solid rgba(11,138,71,.3);
}
.v2ctr-checks li strong { color: var(--ink); font-weight: 650; }

/* Feedback log chips (cause 3) */
.v2ctr-log { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.v2ctr-log__item {
    display: inline-flex; align-items: center; gap: 7px;
    background: #fff;
    border: 1px solid rgba(11,138,71,.22);
    border-radius: 999px;
    padding: 6px 9px 6px 13px;
    font-size: 12.5px; font-weight: 600; color: var(--go-deep);
}
.v2ctr-log__item .v2gpr-mk { width: 15px; height: 15px; background-size: 9px; }

/* Tester script (cause 2) */
.v2ctr-script {
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 13px;
    padding: 16px 18px;
    margin-top: 12px;
}
.v2ctr-script__lab { display: flex; align-items: center; gap: 9px; margin-bottom: 12px; font-size: 10px; color: var(--slate); }
.v2ctr-script__lab svg { width: 16px; height: 16px; color: var(--slate); }
.v2ctr-script__steps { display: grid; gap: 2px; }
.v2ctr-script__steps li {
    display: flex; align-items: center; gap: 12px;
    padding: 9px 0;
    border-bottom: 1px solid var(--line);
    font-size: 14px; color: var(--slate); line-height: 1.5;
}
.v2ctr-script__steps li:last-child { border-bottom: 0; padding-bottom: 0; }
.v2ctr-script__n {
    flex-shrink: 0;
    width: 24px; height: 24px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    background: var(--ink); color: #fff;
    font-size: 11px; font-weight: 700;
}

/* Improvement tags (cause 4) */
.v2ctr-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.v2ctr-tags span {
    background: #fff;
    border: 1px solid rgba(11,138,71,.28);
    color: var(--go-deep);
    border-radius: 999px;
    padding: 5px 13px;
    font-size: 12px; font-weight: 600;
}

/* Strong answer example (cause 4) */
.v2ctr-answer {
    background: var(--go-tint);
    border: 1px solid rgba(11,138,71,.22);
    border-right: 4px solid var(--go);
    border-radius: 13px;
    padding: 15px 17px;
    margin-top: 12px;
}
.v2ctr-answer__lab { display: flex; align-items: center; gap: 8px; margin-bottom: 9px; font-size: 10px; color: var(--go-deep); }
.v2ctr-answer__lab svg { width: 15px; height: 15px; }
.v2ctr-answer__q { font-size: 14.5px; line-height: 1.7; color: var(--ink); font-style: italic; margin: 0; }

/* ---------- Mid-article CTA ---------- */
.v2ctr-midcta {
    display: flex; align-items: center; gap: 20px;
    flex-wrap: wrap;
    background: var(--ctr-rose-bg);
    border: 1px solid var(--ctr-rose-line);
    border-radius: 18px;
    padding: 22px 24px;
    margin: 30px 0;
}
.v2ctr-midcta__body { flex: 1 1 300px; min-width: 0; }
.v2ctr-midcta__k {
    display: flex; align-items: center; gap: 9px;
    font-size: 14.5px; font-weight: 700; color: var(--ctr-rose);
    margin: 0 0 8px;
}
.v2ctr-midcta__k svg { width: 19px; height: 19px; flex-shrink: 0; }
.v2ctr-midcta__t { font-size: 14.5px; line-height: 1.65; color: var(--slate); margin: 0; }
.v2ctr-midcta__t strong { color: var(--ink); font-weight: 700; }
.v2 .v2ctr-midcta .v2-btn { flex-shrink: 0; }

/* ---------- 5-minute self-diagnosis scanner ---------- */
.v2ctr-scan {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 8px 10px 10px;
    margin: 20px 0;
}
.v2ctr-scan__top {
    display: flex; align-items: center; justify-content: space-between;
    gap: 12px;
    padding: 12px 12px 12px;
}
.v2ctr-scan__lab { display: inline-flex; align-items: center; gap: 8px; font-size: 10px; color: var(--slate); }
.v2ctr-scan__lab svg { width: 16px; height: 16px; }
.v2ctr-scan__count { font-size: 10px; color: var(--go-deep); }
.v2 .v2ctr-scan__row {
    width: 100%;
    display: flex; align-items: center; gap: 13px;
    text-align: right;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 13px 15px;
    margin-top: 8px;
    cursor: pointer;
    transition: border-color .18s ease, background .18s ease;
    font-family: var(--font-body);
}
.v2 .v2ctr-scan__row:hover { border-color: #C9D2DA; }
.v2ctr-scan__n {
    flex-shrink: 0;
    width: 26px; height: 26px; border-radius: 8px;
    display: flex; align-items: center; justify-content: center;
    background: var(--paper); border: 1px solid var(--line);
    color: var(--slate); font-size: 12px; font-weight: 700;
    transition: background .18s ease, color .18s ease, border-color .18s ease;
}
.v2ctr-scan__txt { flex: 1 1 auto; min-width: 0; }
.v2ctr-scan__txt strong { display: block; font-size: 14.5px; font-weight: 650; color: var(--ink); line-height: 1.4; }
.v2ctr-scan__txt span { display: block; font-size: 13px; color: var(--slate); line-height: 1.5; margin-top: 3px; }
.v2ctr-scan__box {
    flex-shrink: 0;
    width: 24px; height: 24px; border-radius: 50%;
    border: 2px solid #C9D2DA;
    background: var(--paper);
    background-repeat: no-repeat; background-position: center; background-size: 13px;
    transition: border-color .18s ease, background-color .18s ease;
}
.v2 .v2ctr-scan__row.is-checked {
    background: var(--go-tint);
    border-color: rgba(11,138,71,.35);
}
.v2ctr-scan__row.is-checked .v2ctr-scan__n {
    background: var(--go); border-color: var(--go); color: #fff;
}
.v2ctr-scan__row.is-checked .v2ctr-scan__box {
    border-color: var(--go);
    background-color: var(--go);
    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='%23ffffff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* ---------- DIY reliability ledger ---------- */
.v2ctr-diy { display: grid; gap: 10px; margin: 18px 0; }
.v2ctr-diy__row {
    display: flex; align-items: center; gap: 13px;
    background: var(--ctr-rose-bg);
    border: 1px solid var(--ctr-rose-line);
    border-radius: 12px;
    padding: 13px 16px;
    font-size: 14.5px; color: var(--ink); line-height: 1.5;
}
.v2ctr-diy__x {
    flex-shrink: 0;
    width: 26px; height: 26px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    background: #fff; color: var(--ctr-rose);
    border: 1px solid var(--ctr-rose-line);
}
.v2ctr-diy__x svg { width: 15px; height: 15px; }

/* Dark "dedicated tester pool" strip (compact dark accent) */
.v2ctr-dark {
    display: flex; align-items: flex-start; gap: 14px;
    background: var(--ink);
    border-radius: 16px;
    padding: 20px 24px;
    margin: 24px 0;
}
.v2ctr-dark__ic {
    width: 34px; height: 34px; border-radius: 10px; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    background: rgba(255,255,255,.08); color: #3ECF81;
    border: 1px solid rgba(255,255,255,.12);
}
.v2ctr-dark__ic svg { width: 19px; height: 19px; }
.v2ctr-dark p { font-size: 15px; line-height: 1.7; color: #A9B4BF; margin: 0; align-self: center; }
.v2ctr-dark strong { color: #3ECF81; font-weight: 700; }

/* ---------- Plans + guarantee (section 6) ---------- */
.v2ctr-plans .v2gpr-plan__badge { white-space: nowrap; }
.v2ctr-guar {
    display: flex; flex-wrap: wrap; justify-content: center;
    gap: 14px 28px;
    background: var(--go-tint);
    border: 1px solid rgba(11,138,71,.22);
    border-radius: 14px;
    padding: 16px 22px;
    margin: 20px 0 8px;
}
.v2ctr-guar__item {
    display: inline-flex; align-items: center; gap: 8px;
    font-size: 13.5px; font-weight: 600; color: var(--go-deep);
}
.v2ctr-guar__item svg { width: 17px; height: 17px; flex-shrink: 0; }

/* ---------- Bottom line (.ctr-bottom-line, dark moment #1) ---------- */
.v2ctr-bottom {
    background: var(--ink);
    border-radius: 20px;
    padding: 26px 30px;
    margin: 30px 0 8px;
}
.v2ctr-bottom__tag { display: flex; align-items: center; gap: 9px; margin-bottom: 12px; color: #3ECF81; font-size: 10px; }
.v2ctr-bottom__tag svg { width: 16px; height: 16px; }
.v2ctr-bottom__text { font-size: 16px; line-height: 1.8; color: #C6D0DA; margin: 0; font-weight: 450; }
.v2ctr-bottom__text strong { color: #fff; font-weight: 700; }
.v2ctr-bottom__text strong.is-go { color: #3ECF81; }
.v2 .v2ctr-bottom__text a { color: #3ECF81; font-weight: 650; text-decoration-color: rgba(62,207,129,.4); }
.v2 .v2ctr-bottom__text a:hover { text-decoration-color: #3ECF81; }

/* ---------- Related resource cards ---------- */
.v2ctr-relgrid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.v2 .v2ctr-rel {
    display: flex; align-items: center; gap: 14px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 16px 18px;
    text-decoration: none;
    transition: border-color .18s ease, box-shadow .18s ease;
}
.v2 .v2ctr-rel:hover {
    border-color: #C9D2DA;
    box-shadow: 0 1px 2px rgba(10,16,23,.05), 0 16px 30px -20px rgba(10,16,23,.18);
}
.v2ctr-rel__ic {
    width: 40px; height: 40px; border-radius: 11px; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    background: var(--go-tint); color: var(--go-deep);
}
.v2ctr-rel__ic svg { width: 21px; height: 21px; }
.v2ctr-rel__tx { flex: 1 1 auto; min-width: 0; }
.v2ctr-rel__tx strong { display: block; font-size: 14.5px; font-weight: 650; color: var(--ink); }
.v2ctr-rel__tx span { display: block; font-size: 12.5px; color: var(--slate); line-height: 1.45; margin-top: 3px; }
.v2ctr-rel__arw { color: var(--faint); flex-shrink: 0; transition: transform .18s ease, color .18s ease; }
.v2 .v2ctr-rel:hover .v2ctr-rel__arw { color: var(--go-deep); transform: translateX(-3px); }

/* ============================================================
   MOBILE / RESPONSIVE
============================================================ */
@media (max-width: 900px) {
    .v2ctr-console__faults { grid-template-columns: minmax(0, 1fr); }
    .v2ctr-relgrid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 640px) {
    .v2ctr-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
    .v2ctr-console__body { padding: 17px 16px 18px; }
    .v2ctr-console__status { gap: 11px; }
    .v2ctr-console__title { font-size: 16px; }
    .v2ctr-console__badge { padding: 4px 8px; font-size: 9px; }
    .v2ctr-toc__grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .v2ctr-summary { padding: 22px 18px; }
    .v2ctr-summary__lead { font-size: 15px; }
    .v2ctr-cause { padding: 18px 16px; }
    .v2ctr-cause__head {
        grid-template-columns: auto minmax(0, 1fr);
        column-gap: 12px; row-gap: 10px;
    }
    .v2ctr-cause__idx { width: 38px; height: 38px; font-size: 19px; border-radius: 9px; }
    .v2ctr-cause__title { font-size: 16px; }
    .v2ctr-cause__flag { grid-column: 1 / -1; justify-self: start; }
    .v2ctr-cause__panel { padding: 14px 15px; }
    .v2ctr-midcta { padding: 20px 18px; }
    .v2 .v2ctr-midcta .v2-btn { width: 100%; justify-content: center; }
    .v2ctr-scan__row { padding: 12px 13px; }
    .v2ctr-scan__txt strong { font-size: 14px; }
    .v2ctr-guar { flex-direction: column; align-items: flex-start; gap: 11px; padding: 16px 18px; }
    .v2ctr-bottom { padding: 22px 20px; }
    .v2ctr-bottom__text { font-size: 15px; }
    .v2ctr-dark { padding: 18px 18px; }
    .v2ctr-dark p { font-size: 14px; }
}

@media (max-width: 480px) {
    .v2ctr-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
    .v2gpr-fact.v2ctr-fact--go b, .v2ctr-facts .v2gpr-fact b { font-size: 17px; }
    .v2ctr-facts .v2gpr-fact { padding: 12px 9px; }
    .v2ctr-facts .v2-mono { font-size: 8.5px; }
    .v2ctr-console__status { flex-wrap: wrap; }
    .v2ctr-console__badge { margin-right: 0; }
    .v2ctr-summary__causes li { flex-direction: row; }
    .v2ctr-cause__flag { font-size: 9px; padding: 4px 9px; }
    .v2ctr-script__steps li { align-items: flex-start; }
    .v2ctr-diy__row { align-items: flex-start; }
}

@media (max-width: 380px) {
    .v2ctr-facts { grid-template-columns: 1fr 1fr; }
    .v2ctr-facts .v2gpr-fact:last-child { grid-column: 1 / -1; }
}

/* Reduced motion: settle every v2ctr transition to its end state */
@media (prefers-reduced-motion: reduce) {
    .v2ctr-scan__row, .v2ctr-scan__n, .v2ctr-scan__box,
    .v2ctr-rel, .v2ctr-rel__arw { transition: none !important; }
}
/* ============= END BLOG CTR V2 ============= */


/* =============================================================
   BLOG "NOT ENOUGH TESTERS" V2
   (/blog/not-enough-testers-google-play)
   Rides the shared v2gpr- article layer. Adds a UNIQUE, mobile-first
   v2net- block: a Play Console "rejection decoder" notice with a
   12-minimum count meter + 14-day continuity strip, an account-scope
   triage, an invited-vs-opted verdict split, an opt-in flow, seven
   diagnostic "case" cards, an INTERACTIVE reapply-readiness checklist,
   an engagement task board, buffer-strength cards, and pricing plaques.
   Prefix: v2net-. Dark moments stay at two (shared quick answer +
   final CTA). One rose moment: the rejection-decoder notice.
============================================================= */

/* blockquote is NOT covered by the .v2gpr-prose reset (gotcha 19) */
.v2net-quote blockquote { margin: 0; }

/* ---------- Hero: 3-up facts ---------- */
.v2net-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* ---------- SIGNATURE: rejection-decoder notice (the one rose moment) --- */
.v2net-notice {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 20px;
    overflow: hidden;
    margin: 8px 0 26px;
    box-shadow: 0 1px 2px rgba(10, 16, 23, 0.05), 0 18px 40px -24px rgba(10, 16, 23, 0.16);
}
.v2net-notice__bar {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 12px 16px;
    background: var(--mist);
    border-bottom: 1px solid var(--line);
}
.v2net-notice__dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #B42318;
    flex-shrink: 0;
    box-shadow: 0 0 0 3px rgba(180, 35, 24, 0.12);
}
.v2net-notice__crumb { color: var(--faint); font-size: 10px; }
.v2net-notice__flag {
    margin-right: auto;
    color: #B42318;
    background: #FDF1F0;
    border: 1px solid rgba(180, 35, 24, 0.16);
    border-radius: 999px;
    padding: 4px 10px;
    font-size: 9px;
}
.v2net-notice__body {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 14px;
    padding: 20px 18px 6px;
}
.v2net-notice__ic {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: #FDF1F0;
    color: #B42318;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(180, 35, 24, 0.14);
}
.v2net-notice__ic svg { width: 22px; height: 22px; }
.v2net-notice__lbl { color: var(--faint); margin-bottom: 5px; }
.v2net-notice__headline {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: clamp(1.3rem, 1.1rem + 1.1vw, 1.6rem);
    letter-spacing: -0.02em;
    color: var(--ink);
    line-height: 1.15;
}
.v2net-notice__sub {
    font-size: 14.5px;
    line-height: 1.6;
    color: var(--slate);
    margin-top: 6px;
}
.v2net-decode {
    padding: 18px;
    margin-top: 14px;
    border-top: 1px dashed var(--line);
}
.v2net-decode__lbl {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--go-deep);
    margin-bottom: 14px;
}
.v2net-decode__lbl svg { width: 15px; height: 15px; }
.v2net-decode__reqs {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
}
.v2net-req {
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 16px 18px;
}
.v2net-req__hd { display: block; color: var(--faint); margin-bottom: 12px; }
.v2net-meter { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.v2net-meter i {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: var(--go);
    box-shadow: 0 0 0 2px var(--go-tint);
}
.v2net-meter i.is-edge {
    background: transparent;
    border: 1.5px dashed #C9D2DA;
    box-shadow: none;
}
.v2net-days { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 12px; }
.v2net-days i {
    width: 15px;
    height: 15px;
    border-radius: 4px;
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.28);
}
.v2net-req__cap { font-size: 13.5px; line-height: 1.6; color: var(--slate); }
.v2net-req__cap b { color: var(--ink); font-weight: 650; }
.v2net-decode__foot { margin-top: 14px; }
.v2net-decode__chip {
    display: inline-block;
    color: var(--slate);
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 6px 12px;
    font-size: 9.5px;
}

/* ---------- Quick answer overrides (dark capsule) ---------- */
.v2net-qa .v2net-qa__p { margin-top: 13px; }
.net-direct-answer.v2gpr-qa a {
    color: #3ECF81;
    font-weight: 650;
    text-decoration: underline;
    text-decoration-color: rgba(62, 207, 129, 0.4);
    text-underline-offset: 3px;
}
.net-direct-answer.v2gpr-qa a:hover { text-decoration-color: #3ECF81; }

/* ---------- Policy quote (Google guidance) ---------- */
.v2net-quote {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    background: var(--mist);
    border: 1px solid var(--line);
    border-right: 3px solid var(--ink);
    border-radius: 14px;
    padding: 18px 20px;
    margin: 22px 0;
}
.v2net-quote__mark {
    width: 30px;
    height: 30px;
    border-radius: 9px;
    background: var(--paper);
    border: 1px solid var(--line);
    color: var(--slate);
    display: flex;
    align-items: center;
    justify-content: center;
}
.v2net-quote__mark svg { width: 18px; height: 18px; }
.v2net-quote blockquote {
    font-size: 15px;
    line-height: 1.65;
    color: var(--ink);
    font-style: italic;
    font-weight: 500;
}
.v2net-quote figcaption {
    grid-column: 2;
    color: var(--faint);
    margin-top: 8px;
    font-size: 9.5px;
}
.v2net-quote.is-sm { padding: 15px 17px; margin: 18px 0; }
.v2net-quote.is-sm blockquote { font-size: 14px; }

/* ---------- Account-scope triage ---------- */
.v2net-scope {
    border: 1px solid var(--line);
    border-radius: 16px;
    overflow: hidden;
    margin: 26px 0;
}
.v2net-scope__head { display: none; }
.v2net-scope__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 4px 14px;
    padding: 16px 18px;
    border-top: 1px solid var(--line);
    background: var(--paper);
}
.v2net-scope__row:first-of-type { border-top: none; }
.v2net-scope__row.is-req { border-right: 3px solid var(--ink); }
.v2net-scope__row.is-ok { border-right: 3px solid var(--go); }
.v2net-scope__who { font-size: 15px; color: var(--ink); }
.v2net-scope__who b { font-weight: 650; }
.v2net-scope__when { color: var(--faint); font-size: 10.5px; }
.v2net-scope__verdict { margin-top: 4px; }
.v2net-vbadge {
    display: inline-block;
    font-size: 12px;
    font-weight: 650;
    border-radius: 8px;
    padding: 5px 11px;
    line-height: 1.3;
}
.v2net-vbadge.is-req { color: var(--ink); background: var(--mist); border: 1px solid var(--line); }
.v2net-vbadge.is-ok { color: var(--go-deep); background: var(--go-tint); border: 1px solid rgba(11, 138, 71, 0.22); }
.v2net-foot { font-size: 12.5px; color: var(--faint); margin: -8px 0 18px; }

/* ---------- Invited vs opted-in split ---------- */
.v2net-vs {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
    margin: 24px 0;
}
.v2net-vs__col {
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 20px 22px;
}
.v2net-vs__col.is-no { background: var(--mist); }
.v2net-vs__col.is-yes { background: var(--go-tint); border-color: rgba(11, 138, 71, 0.22); }
.v2net-vs__hd { display: flex; align-items: center; gap: 9px; margin-bottom: 14px; }
.v2net-vs__mk {
    width: 26px;
    height: 26px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.v2net-vs__mk svg { width: 16px; height: 16px; }
.v2net-vs__col.is-no .v2net-vs__mk { background: var(--paper); color: var(--slate); border: 1px solid var(--line); }
.v2net-vs__col.is-yes .v2net-vs__mk { background: var(--paper); color: var(--go); border: 1px solid rgba(11, 138, 71, 0.22); }
.v2net-vs__name {
    font-family: var(--font-display);
    font-weight: 650;
    font-size: 16px;
    color: var(--ink);
}
.v2net-vs__tag {
    margin-right: auto;
    font-size: 8.5px;
    border-radius: 999px;
    padding: 4px 9px;
}
.v2net-vs__col.is-no .v2net-vs__tag { color: var(--slate); background: var(--paper); border: 1px solid var(--line); }
.v2net-vs__col.is-yes .v2net-vs__tag { color: var(--go-deep); background: var(--paper); border: 1px solid rgba(11, 138, 71, 0.22); }
.v2net-vs__col ul { margin: 0; }
.v2net-vs__col li {
    position: relative;
    padding-right: 18px;
    font-size: 14px;
    line-height: 1.6;
    color: var(--slate);
    margin: 8px 0;
}
.v2net-vs__col li::before {
    content: '';
    position: absolute;
    right: 2px;
    top: 8px;
    width: 6px;
    height: 6px;
    border-radius: 2px;
    background: #C9D2DA;
}
.v2net-vs__col.is-yes li::before { background: var(--go); }
.v2net-vs__col li strong { color: var(--ink); font-weight: 650; }

/* ---------- Opt-in flow (connected chain) ---------- */
.v2net-flow { margin: 20px 0; position: relative; }
.v2net-flow__step {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    padding: 12px 0;
    position: relative;
}
.v2net-flow__step::before {
    content: '';
    position: absolute;
    right: 16px;
    top: 34px;
    bottom: -12px;
    width: 2px;
    background: var(--line);
}
.v2net-flow__step:last-child::before { display: none; }
.v2net-flow__n {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: var(--mist);
    border: 1px solid var(--line);
    color: var(--ink);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 14px;
    position: relative;
    z-index: 1;
}
.v2net-flow__step.is-key .v2net-flow__n { background: var(--go); border-color: var(--go); color: #fff; }
.v2net-flow__step p { font-size: 14.5px; line-height: 1.55; color: var(--slate); }
.v2net-flow__step.is-key p strong { color: var(--ink); font-weight: 650; }

/* ---------- Diagnostic "case" cards ---------- */
.v2net-cases { margin: 24px 0; display: flex; flex-direction: column; gap: 16px; }
.v2net-case {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 22px 22px 20px;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
}
.v2net-case:hover { border-color: #C9D2DA; box-shadow: 0 1px 2px rgba(10, 16, 23, 0.04), 0 20px 40px -28px rgba(10, 16, 23, 0.18); }
.v2net-case__top { display: flex; flex-direction: column; gap: 8px; margin-bottom: 12px; }
.v2net-case__n {
    align-self: flex-start;
    color: var(--slate);
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 7px;
    padding: 4px 10px;
    font-size: 10px;
}
.v2net-case__h {
    font-family: var(--font-display);
    font-weight: 650;
    font-size: 18px;
    letter-spacing: -0.012em;
    line-height: 1.3;
    color: var(--ink);
    scroll-margin-top: calc(var(--nav-h) + 26px);
}
.v2net-case__sym { font-size: 15px; line-height: 1.7; color: var(--slate); }
.v2net-case__sym strong { color: var(--ink); font-weight: 650; }
.v2net-fix {
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.2);
    border-radius: 13px;
    padding: 15px 17px;
    margin: 16px 0 0;
}
.v2net-fix__lbl {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--go-deep);
    margin-bottom: 9px;
}
.v2net-fix__lbl svg { width: 14px; height: 14px; }
.v2net-fixlist { margin: 0; }
.v2net-fixlist li {
    position: relative;
    padding-right: 22px;
    font-size: 14.5px;
    line-height: 1.6;
    color: var(--slate);
    margin: 7px 0;
}
.v2net-fixlist li::before {
    content: '';
    position: absolute;
    right: 1px;
    top: 3px;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background-color: var(--paper);
    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");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 9px;
}
.v2net-fixlist li strong { color: var(--ink); font-weight: 650; }
.v2net-embed {
    border-radius: 12px;
    padding: 14px 16px;
    margin: 14px 0 0;
}
.v2net-embed.is-tip { background: var(--paper); border: 1px solid var(--line); }
.v2net-embed.is-warn { background: var(--mist); border: 1px solid var(--line); border-right: 3px solid var(--ink); }
.v2net-embed__lbl {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 7px;
}
.v2net-embed.is-tip .v2net-embed__lbl { color: var(--go-deep); }
.v2net-embed.is-warn .v2net-embed__lbl { color: var(--ink); }
.v2net-embed__lbl svg { width: 14px; height: 14px; }
.v2net-embed p { font-size: 14px; line-height: 1.65; color: var(--slate); }
.v2net-embed p strong { color: var(--ink); font-weight: 650; }
.v2net-rel {
    display: flex;
    align-items: baseline;
    gap: 8px;
    font-size: 13.5px;
    line-height: 1.55;
    color: var(--slate);
    margin: 14px 0 0;
}
.v2net-rel svg { width: 15px; height: 15px; color: var(--faint); flex-shrink: 0; transform: translateY(2px); }

/* ---------- Interactive reapply-readiness checklist ---------- */
.v2net-diag {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: 20px;
    margin: 26px 0;
    box-shadow: 0 1px 2px rgba(10, 16, 23, 0.05), 0 14px 34px -22px rgba(10, 16, 23, 0.14);
}
.v2net-diag__head { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.v2net-diag__lbl { display: inline-flex; align-items: center; gap: 7px; color: var(--go-deep); }
.v2net-diag__lbl svg { width: 16px; height: 16px; }
.v2net-diag__count { margin-right: auto; font-size: 13px; color: var(--slate); display: inline-flex; align-items: baseline; gap: 5px; }
.v2net-diag__count b { font-family: var(--font-display); font-weight: 700; font-size: 17px; color: var(--ink); font-variant-numeric: tabular-nums; }
.v2net-diag__count .v2-mono { font-size: 9.5px; }
.v2net-diag__track { height: 7px; border-radius: 999px; background: var(--mist); overflow: hidden; margin-bottom: 16px; }
.v2net-diag__track i { display: block; height: 100%; width: 0; border-radius: 999px; background: var(--go); transition: width 0.35s cubic-bezier(0.22, 0.8, 0.26, 1); }
.v2net-checks { margin: 0; display: flex; flex-direction: column; gap: 9px; }
.v2 .v2net-check {
    display: grid;
    grid-template-columns: 26px minmax(0, 1fr) auto;
    gap: 13px;
    align-items: center;
    width: 100%;
    text-align: right;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 13px;
    padding: 14px 16px;
    cursor: pointer;
    font-family: var(--font-body);
    transition: border-color 0.18s ease, background 0.18s ease;
}
.v2 .v2net-check:hover { border-color: #C9D2DA; }
.v2 .v2net-check.is-on { background: var(--go-tint); border-color: rgba(11, 138, 71, 0.28); }
.v2net-check__box {
    width: 26px;
    height: 26px;
    border-radius: 8px;
    background: var(--paper);
    border: 1.5px solid #C9D2DA;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    transition: background 0.18s ease, border-color 0.18s ease;
}
.v2net-check__box svg { width: 15px; height: 15px; opacity: 0; transition: opacity 0.18s ease; }
.v2 .v2net-check.is-on .v2net-check__box { background: var(--go); border-color: var(--go); }
.v2 .v2net-check.is-on .v2net-check__box svg { opacity: 1; }
.v2net-check__tx { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.v2net-check__tx b { font-size: 14.5px; font-weight: 650; color: var(--ink); line-height: 1.3; }
.v2net-check__tx span { font-size: 13px; line-height: 1.55; color: var(--slate); }
.v2net-check__n { color: var(--faint); font-size: 10px; align-self: flex-start; }
.v2 .v2net-check.is-on .v2net-check__n { color: var(--go-deep); }
.v2net-diag__done {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-top: 14px;
    padding: 13px 16px;
    border-radius: 12px;
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.22);
    color: var(--go-deep);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
}
.v2net-diag__done svg { width: 18px; height: 18px; flex-shrink: 0; }
.v2net-diag__done[hidden] { display: none; }

/* ---------- Engagement task board ---------- */
.v2net-engage {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
    margin: 24px 0;
}
.v2net-engage__card {
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 20px 22px;
}
.v2net-engage__card.is-daily { background: var(--go-tint); border-color: rgba(11, 138, 71, 0.2); }
.v2net-engage__card.is-during { background: var(--mist); }
.v2net-engage__h {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 14px;
    color: var(--ink);
    font-size: 11px;
    line-height: 1.4;
}
.v2net-engage__card.is-daily .v2net-engage__h { color: var(--go-deep); }
.v2net-engage__h svg { width: 17px; height: 17px; flex-shrink: 0; }
.v2net-tasks { margin: 0; display: flex; flex-direction: column; gap: 8px; }
.v2net-tasks li {
    display: flex;
    align-items: center;
    gap: 11px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 11px 13px;
    font-size: 14px;
    line-height: 1.5;
    color: var(--slate);
}
.v2net-tasks__n {
    width: 24px;
    height: 24px;
    border-radius: 7px;
    background: var(--go);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    flex-shrink: 0;
}
.v2net-tasks li strong { color: var(--ink); font-weight: 650; }
.v2net-during { margin: 0; display: flex; flex-direction: column; gap: 8px; }
.v2net-during li {
    display: flex;
    align-items: center;
    gap: 11px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 11px 13px;
    font-size: 14px;
    line-height: 1.5;
    color: var(--slate);
}
.v2net-during__ck { color: var(--go); flex-shrink: 0; display: inline-flex; }
.v2net-during__ck svg { width: 16px; height: 16px; }
.v2net-during li strong { color: var(--ink); font-weight: 650; }

/* ---------- Buffer-strength cards ---------- */
.v2net-buffer {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    margin: 24px 0;
}
.v2net-buf {
    position: relative;
    text-align: center;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 22px 16px 18px;
}
.v2net-buf.is-rec { border-color: var(--go); box-shadow: 0 0 0 3px var(--go-tint); }
.v2net-buf__ribbon {
    position: absolute;
    top: -10px;
    right: 50%;
    transform: translateX(50%);
    background: var(--go);
    color: #fff;
    border-radius: 999px;
    padding: 4px 12px;
    font-size: 8.5px;
    white-space: nowrap;
}
.v2net-buf__num {
    display: block;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 34px;
    line-height: 1;
    letter-spacing: -0.03em;
    color: var(--ink);
}
.v2net-buf__lbl { display: block; color: var(--faint); font-size: 9px; margin-top: 5px; }
.v2net-buf__strength { display: flex; justify-content: center; gap: 5px; margin: 14px 0 5px; }
.v2net-buf__strength i {
    width: 26px;
    height: 6px;
    border-radius: 3px;
    background: #E9EDF1;
}
.v2net-buf__strength i.on { background: var(--go); }
.v2net-buf__slbl { display: block; color: var(--faint); font-size: 8.5px; }
.v2net-buf__desc { font-size: 13px; line-height: 1.5; color: var(--slate); margin: 12px 0; }
.v2net-buf__badge {
    display: inline-block;
    font-size: 9.5px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    border-radius: 999px;
    padding: 4px 11px;
    color: var(--slate);
    background: var(--mist);
    border: 1px solid var(--line);
}
.v2net-buf.is-rec .v2net-buf__badge { color: var(--go-deep); background: var(--go-tint); border-color: rgba(11, 138, 71, 0.22); }

/* ---------- PTL section: opt-in checkmarks, plans, trust, links ---------- */
.v2net-optin { margin: 16px 0 0; display: flex; flex-direction: column; gap: 9px; }
.v2net-optin li {
    display: flex;
    align-items: center;
    gap: 11px;
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.18);
    border-radius: 11px;
    padding: 12px 15px;
    font-size: 14.5px;
    line-height: 1.5;
    color: var(--ink);
}
.v2net-optin__ck { color: var(--go); flex-shrink: 0; display: inline-flex; }
.v2net-optin__ck svg { width: 16px; height: 16px; }
.v2net-plans {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    margin: 26px 0;
}
.v2net-plan {
    position: relative;
    text-align: center;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 22px 16px 20px;
}
.v2net-plan.is-feat { border-color: var(--go); box-shadow: 0 0 0 3px var(--go-tint); }
.v2net-plan__ribbon {
    position: absolute;
    top: -10px;
    right: 50%;
    transform: translateX(50%);
    background: var(--go);
    color: #fff;
    border-radius: 999px;
    padding: 4px 12px;
    font-size: 8.5px;
    white-space: nowrap;
}
.v2net-plan__tier {
    display: inline-block;
    color: var(--slate);
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 4px 12px;
    font-size: 9px;
    margin-bottom: 12px;
}
.v2net-plan.is-feat .v2net-plan__tier { color: var(--go-deep); background: var(--go-tint); border-color: rgba(11, 138, 71, 0.22); }
.v2net-plan__was { display: block; color: var(--faint); text-decoration: line-through; font-size: 13px; }
.v2net-plan__price {
    display: block;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 30px;
    line-height: 1.05;
    letter-spacing: -0.03em;
    color: var(--ink);
    font-variant-numeric: tabular-nums;
}
.v2net-plan__off { display: block; color: #B42318; font-size: 9.5px; margin-top: 3px; }
.v2net-plan__testers { display: block; color: var(--go-deep); font-weight: 650; font-size: 14px; margin-top: 6px; }
.v2net-plan__note { display: block; color: var(--faint); font-size: 12px; margin-top: 6px; }
.v2net-trust {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    margin: 20px 0;
}
.v2net-trust__item {
    display: flex;
    align-items: center;
    gap: 12px;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 13px;
    padding: 15px 18px;
}
.v2net-trust__ic {
    width: 38px;
    height: 38px;
    border-radius: 11px;
    background: var(--paper);
    border: 1px solid var(--line);
    color: var(--go);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.v2net-trust__ic svg { width: 21px; height: 21px; }
.v2net-trust__item b { display: block; font-size: 14.5px; color: var(--ink); font-weight: 650; line-height: 1.3; }
.v2net-trust__item .v2-mono { display: block; color: var(--faint); font-size: 9px; margin-top: 3px; }
.v2net-links { display: flex; flex-wrap: wrap; gap: 10px; margin: 22px 0; }
.v2net-links .v2net-links__a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 11px;
    padding: 10px 15px;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--ink);
    text-decoration: none;
    transition: border-color 0.18s ease, background 0.18s ease;
}
.v2net-links .v2net-links__a:hover { border-color: #C9D2DA; background: var(--mist); }
.v2net-links .v2net-links__a svg { width: 17px; height: 17px; color: var(--go); }

/* =============================================================
   NOT-ENOUGH-TESTERS V2: tablet / desktop enhancements
============================================================= */
@media (min-width: 560px) {
    .v2net-decode__reqs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .v2net-vs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .v2net-engage { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .v2net-trust { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .v2net-buffer { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .v2net-plans { grid-template-columns: repeat(3, minmax(0, 1fr)); }

    .v2net-scope__head {
        display: grid;
        grid-template-columns: 1.5fr 1fr 1.4fr;
        gap: 14px;
        padding: 12px 18px;
        background: var(--ink);
        color: #fff;
    }
    .v2net-scope__head span { font-size: 9px; letter-spacing: 0.1em; text-transform: uppercase; color: #A9B4BF; }
    .v2net-scope__row {
        grid-template-columns: 1.5fr 1fr 1.4fr;
        align-items: center;
        gap: 14px;
    }
    .v2net-scope__verdict { margin-top: 0; }
    .v2net-case__top { flex-direction: row; align-items: center; gap: 12px; }
    .v2net-case__n { align-self: center; }
    .v2net-case { padding: 24px 26px 22px; }
    .v2net-case__h { font-size: 19px; }
}

@media (min-width: 900px) {
    .v2net-notice__body { grid-template-columns: 46px minmax(0, 1fr); padding: 24px 26px 8px; }
    .v2net-notice__headline { font-size: 1.55rem; }
    .v2net-decode { padding: 22px 26px; }
}

/* very small phones */
@media (max-width: 360px) {
    .v2net-facts { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .v2 .v2net-check { grid-template-columns: 26px minmax(0, 1fr); }
    .v2net-check__n { display: none; }
    .v2net-meter i { width: 12px; height: 12px; }
    .v2net-days i { width: 13px; height: 13px; }
}
/* ============= END BLOG NOT-ENOUGH-TESTERS V2 ============= */


/* ============================================================
   BLOG ARTICLE V2 - HOW PRIMETESTLAB WORKS
   (/blog/how-primetestlab-works). Reuses the shared v2gpr-*
   article layer (hero, rail, chips, prose, h2, qa, toc, callout
   family, plan plaques, faq, bottom, author, related, cta, sticky
   CTA). Everything below is the page-UNIQUE v2hpw- component set:
   order-to-approval station rail, you/us division board, worry-vs-
   reality duo comparator, language chip cloud, country option
   cards + targeting passport, vertical process steps, proof KPI
   tiles, timeline clock band, plan advisor, requirement cards +
   progress checklist. Mobile-first, single green accent.
============================================================ */

/* ---- hero accents ---- */
.v2hpw-fact--go b { color: var(--go-deep); }

/* ---- featured cover ---- */
.v2hpw-cover {
    margin: 0 0 26px;
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid var(--line);
    box-shadow: 0 1px 2px rgba(10, 16, 23, 0.05), 0 22px 48px -26px rgba(10, 16, 23, 0.28);
}
.v2hpw-cover img { display: block; width: 100%; height: auto; }

/* ---- SIGNATURE: order-to-approval station rail ---- */
.v2hpw-rail {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 20px 22px 16px;
    margin: 8px 0 26px;
}
.v2hpw-rail__head { display: flex; }
.v2hpw-rail__tag { display: inline-flex; align-items: center; gap: 8px; color: var(--slate); }
.v2hpw-rail__tag svg { width: 15px; height: 15px; }
.v2hpw-rail__track {
    display: flex;
    align-items: flex-start;
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    padding: 22px 0 8px;
}
.v2hpw-rail__track::-webkit-scrollbar { display: none; }
.v2hpw-stn {
    flex: 1 0 0;
    min-width: 104px;
    text-align: center;
    position: relative;
    padding: 0 6px;
}
.v2hpw-stn:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 37px;
    right: 50%;
    width: 100%;
    height: 2px;
    background: var(--line);
    z-index: 0;
}
.v2hpw-stn__own {
    position: absolute;
    top: 0;
    right: 50%;
    transform: translateX(50%);
    z-index: 2;
    font-size: 8.5px;
    line-height: 1.2;
    color: var(--faint);
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 2px 8px;
}
.v2hpw-stn.is-key .v2hpw-stn__own,
.v2hpw-stn.is-done .v2hpw-stn__own {
    color: #fff;
    background: var(--go);
    border-color: var(--go);
}
.v2hpw-stn__dot {
    position: relative;
    z-index: 1;
    width: 46px;
    height: 46px;
    margin: 14px auto 10px;
    border-radius: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--mist);
    border: 1px solid var(--line);
    color: var(--slate);
}
.v2hpw-stn__dot svg { width: 21px; height: 21px; }
.v2hpw-stn.is-key .v2hpw-stn__dot {
    background: var(--go-tint);
    border-color: var(--go);
    color: var(--go);
}
.v2hpw-stn.is-done .v2hpw-stn__dot {
    background: var(--go);
    border-color: var(--go);
    color: #fff;
}
.v2hpw-stn__n { display: block; font-size: 9px; margin-bottom: 3px; color: var(--faint); }
.v2hpw-stn__t { display: block; font-size: 12.5px; font-weight: 700; color: var(--ink); line-height: 1.3; }
.v2hpw-stn.is-key .v2hpw-stn__t { color: var(--go-deep); }
.v2hpw-stn__s { display: block; font-size: 10.5px; color: var(--faint); margin-top: 3px; }
.v2hpw-rail__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);
}
.v2hpw-rail__foot svg { width: 17px; height: 17px; flex-shrink: 0; color: var(--slate); margin-top: 1px; }
/* station entrance (pre-state lives only under .v2-anim) */
.v2hpw-rail.v2-anim .v2hpw-stn { opacity: 0; transform: translateY(12px); }
.v2hpw-rail.v2-anim.is-in .v2hpw-stn {
    opacity: 1;
    transform: none;
    transition: opacity 0.5s ease, transform 0.5s cubic-bezier(0.22, 0.8, 0.26, 1);
}
.v2hpw-rail.v2-anim.is-in .v2hpw-stn:nth-child(1) { transition-delay: 0.04s; }
.v2hpw-rail.v2-anim.is-in .v2hpw-stn:nth-child(2) { transition-delay: 0.12s; }
.v2hpw-rail.v2-anim.is-in .v2hpw-stn:nth-child(3) { transition-delay: 0.20s; }
.v2hpw-rail.v2-anim.is-in .v2hpw-stn:nth-child(4) { transition-delay: 0.28s; }
.v2hpw-rail.v2-anim.is-in .v2hpw-stn:nth-child(5) { transition-delay: 0.36s; }

/* ---- quick-answer highlight tints (inside dark .v2gpr-qa) ---- */
.v2gpr-qa .hpw-qk-key { color: #FFD56B; }
.v2gpr-qa .hpw-qk-warm { color: #7DE3FF; }

/* ---- division-of-labor board ---- */
.v2hpw-desk {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: stretch;
    margin: 26px 0;
    border: 1px solid var(--line);
    border-radius: 18px;
    overflow: hidden;
    background: var(--paper);
}
.v2hpw-desk__col { padding: 22px 22px; }
.v2hpw-desk__col.is-we { background: linear-gradient(-180deg, var(--go-tint), #F2FAF5); }
.v2hpw-desk__head { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.v2hpw-desk__ic {
    width: 40px;
    height: 40px;
    border-radius: 11px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.v2hpw-desk__col.is-we .v2hpw-desk__ic { background: #fff; color: var(--go); border: 1px solid rgba(11, 138, 71, 0.22); }
.v2hpw-desk__col.is-you .v2hpw-desk__ic { background: var(--mist); color: var(--slate); border: 1px solid var(--line); }
.v2hpw-desk__ic svg { width: 21px; height: 21px; }
.v2hpw-desk__lab { display: block; font-size: 9.5px; color: var(--faint); margin-bottom: 2px; }
.v2hpw-desk__col.is-we .v2hpw-desk__lab { color: var(--go-deep); }
.v2hpw-desk__title { font-family: var(--font-display); font-weight: 650; font-size: 15.5px; color: var(--ink); letter-spacing: -0.01em; line-height: 1.25; }
.v2hpw-desk__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.v2hpw-desk__list li {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    font-size: 13.5px;
    line-height: 1.55;
    color: var(--slate);
    padding: 8px 0;
    border-top: 1px solid rgba(10, 16, 23, 0.05);
}
.v2hpw-desk__list li:first-child { border-top: none; }
.v2hpw-desk__list .v2gpr-mk { margin-top: 1px; }
.v2hpw-desk__mk {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    margin-top: 1px;
    border-radius: 5px;
    background: var(--mist);
    border: 1px solid var(--line);
    position: relative;
}
.v2hpw-desk__mk::after {
    content: '';
    position: absolute;
    inset: 4px;
    border-radius: 2px;
    border: 1.6px solid #B4BEC8;
}
.v2hpw-desk__seam {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 6px;
    color: var(--slate);
    border-right: 1px dashed var(--line);
    border-left: 1px dashed var(--line);
    background: var(--paper);
}
.v2hpw-desk__seam svg { width: 22px; height: 22px; }
.v2hpw-desk__seam em { font-style: normal; font-size: 8.5px; color: var(--faint); }

/* ---- worry-vs-reality / requires-vs-provides duo ---- */
.v2hpw-duo {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: stretch;
    gap: 14px;
    margin: 26px 0;
}
.v2hpw-duo__side {
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 20px 20px;
}
.v2hpw-duo__side.is-real,
.v2hpw-duo__side.is-prov {
    background: var(--go-tint);
    border-color: rgba(11, 138, 71, 0.28);
}
.v2hpw-duo__tag { display: inline-flex; align-items: center; gap: 7px; font-size: 10px; color: var(--slate); margin-bottom: 10px; }
.v2hpw-duo__tag svg { width: 15px; height: 15px; }
.v2hpw-duo__side.is-real .v2hpw-duo__tag,
.v2hpw-duo__side.is-prov .v2hpw-duo__tag { color: var(--go-deep); }
.v2hpw-duo__h { font-family: var(--font-display); font-weight: 650; font-size: 16px; line-height: 1.3; letter-spacing: -0.012em; color: var(--ink); margin-bottom: 7px; }
.v2hpw-duo__p { font-size: 13.5px; line-height: 1.65; color: var(--slate); }
.v2hpw-duo__p strong { color: var(--ink); font-weight: 650; }
.v2hpw-duo__list { list-style: none; margin: 8px 0 10px; padding: 0; display: grid; gap: 5px; }
.v2hpw-duo__list li { display: flex; align-items: flex-start; gap: 8px; font-size: 13.5px; line-height: 1.55; color: var(--slate); }
.v2hpw-duo__mk {
    width: 15px;
    height: 15px;
    flex-shrink: 0;
    margin-top: 2px;
    border-radius: 50%;
    background: var(--paper);
    border: 1px solid var(--line);
    position: relative;
}
.v2hpw-duo__mk::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 50%;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #B4BEC8;
    transform: translate(50%, -50%);
}
.v2hpw-duo__vs {
    align-self: center;
    width: 28px;
    height: 28px;
    flex-shrink: 0;
    border-radius: 50%;
    background: var(--paper);
    border: 1px solid var(--line);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    color: var(--faint);
}

/* ---- language chip cloud ---- */
.v2hpw-langs {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 20px 22px;
    margin: 24px 0;
}
.v2hpw-langs__lab { display: flex; align-items: center; gap: 8px; color: var(--slate); margin-bottom: 14px; }
.v2hpw-langs__lab svg { width: 16px; height: 16px; color: var(--go); }
.v2hpw-langs__cloud { display: flex; flex-wrap: wrap; gap: 8px; }
.v2hpw-lang {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    color: var(--ink);
    background: var(--mist);
    border: 1px solid var(--line);
    padding: 7px 13px;
    border-radius: 999px;
}
.v2hpw-lang.is-more { background: var(--go-tint); border-color: rgba(11, 138, 71, 0.22); color: var(--go-deep); }

/* ---- country option cards + targeting passport ---- */
.v2hpw-geo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 24px 0; }
.v2hpw-geo__card { position: relative; background: var(--paper); border: 1px solid var(--line); border-radius: 16px; padding: 22px 20px; }
.v2hpw-geo__card.is-rec { border-color: rgba(11, 138, 71, 0.35); background: var(--go-tint); }
.v2hpw-geo__badge {
    position: absolute;
    top: -10px;
    right: 18px;
    background: var(--go);
    color: #fff;
    font-family: var(--font-mono);
    font-size: 9.5px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    border-radius: 999px;
    padding: 3px 11px;
}
.v2hpw-geo__h { display: flex; align-items: center; gap: 9px; font-family: var(--font-display); font-weight: 650; font-size: 16.5px; color: var(--ink); margin-bottom: 8px; letter-spacing: -0.012em; }
.v2hpw-geo__ic {
    width: 30px;
    height: 30px;
    flex-shrink: 0;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--paper);
    border: 1px solid var(--line);
    color: var(--slate);
}
.v2hpw-geo__card.is-rec .v2hpw-geo__ic { color: var(--go); border-color: rgba(11, 138, 71, 0.25); }
.v2hpw-geo__ic svg { width: 18px; height: 18px; }
.v2hpw-geo__card p { font-size: 13.5px; line-height: 1.6; color: var(--slate); }
.v2hpw-passport {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    background: var(--ink);
    border-radius: 14px;
    padding: 18px 22px;
    margin: 22px 0;
}
.v2hpw-passport__lab { display: inline-flex; align-items: center; gap: 8px; color: #93A0AC; font-size: 10px; flex-shrink: 0; }
.v2hpw-passport__lab svg { width: 16px; height: 16px; }
.v2hpw-passport__flags { display: flex; gap: 9px; flex-wrap: wrap; }
.v2hpw-flag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.13);
    color: #E7EDF2;
    border-radius: 999px;
    padding: 7px 14px;
    font-size: 13px;
    font-weight: 600;
}
.v2hpw-flag__em { font-size: 16px; line-height: 1; }

/* ---- vertical process steps ---- */
.v2hpw-steps { margin: 24px 0; }
.v2hpw-step { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 16px; position: relative; padding-bottom: 22px; }
.v2hpw-step:last-child { padding-bottom: 0; }
.v2hpw-step__rail { position: relative; display: flex; justify-content: center; }
.v2hpw-step__rail::before {
    content: '';
    position: absolute;
    top: 44px;
    bottom: -22px;
    right: 50%;
    width: 2px;
    transform: translateX(50%);
    background: var(--line);
}
.v2hpw-step.is-last .v2hpw-step__rail::before { display: none; }
.v2hpw-step__num {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 16px;
    background: var(--mist);
    border: 1px solid var(--line);
    color: var(--ink);
    position: relative;
    z-index: 1;
}
.v2hpw-step.is-go .v2hpw-step__num,
.v2hpw-step.is-last .v2hpw-step__num { background: var(--go); border-color: var(--go); color: #fff; }
.v2hpw-step__body { padding-top: 2px; }
.v2hpw-step__top { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 6px; }
.v2hpw-step__h { font-family: var(--font-display); font-weight: 650; font-size: 17px; letter-spacing: -0.012em; color: var(--ink); line-height: 1.3; }
.v2hpw-step__own { font-size: 9.5px; color: var(--faint); background: var(--mist); border: 1px solid var(--line); border-radius: 999px; padding: 3px 9px; white-space: nowrap; flex-shrink: 0; }
.v2hpw-step__body p { font-size: 14.5px; line-height: 1.7; color: var(--slate); }

/* ---- proof KPI tiles with micro-viz ---- */
.v2hpw-proof { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 24px 0; }
.v2hpw-proof__tile { background: var(--paper); border: 1px solid var(--line); border-radius: 16px; padding: 20px 18px; text-align: center; }
.v2hpw-proof__viz { display: flex; align-items: flex-end; justify-content: center; height: 40px; margin-bottom: 12px; }
.v2hpw-proof__viz.is-stars { align-items: center; }
.v2hpw-proof__viz > svg { height: 34px; width: auto; }
.v2hpw-proof__viz .v2-stars { display: inline-flex; gap: 2px; color: var(--star); }
.v2hpw-proof__viz .v2-stars svg { width: 15px; height: 15px; }
.v2hpw-proof__n { display: block; font-family: var(--font-display); font-weight: 800; font-size: 28px; letter-spacing: -0.02em; color: var(--ink); line-height: 1; font-variant-numeric: tabular-nums; }
.v2hpw-proof__den { font-size: 17px; color: var(--faint); font-weight: 700; }
.v2hpw-proof__l { display: block; font-size: 12px; color: var(--slate); margin-top: 8px; line-height: 1.4; }

/* ---- timeline clock band ---- */
.v2hpw-clock { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 24px 0; }
.v2hpw-clock__cell { background: var(--mist); border: 1px solid var(--line); border-radius: 14px; padding: 18px 14px; text-align: center; }
.v2hpw-clock__cell.is-key { background: var(--go-tint); border-color: rgba(11, 138, 71, 0.28); }
.v2hpw-clock__n { display: block; font-family: var(--font-display); font-weight: 800; font-size: 24px; letter-spacing: -0.02em; color: var(--ink); line-height: 1; font-variant-numeric: tabular-nums; }
.v2hpw-clock__n span { font-size: 13px; font-weight: 700; color: var(--faint); }
.v2hpw-clock__cell.is-key .v2hpw-clock__n { color: var(--go-deep); }
.v2hpw-clock__cell.is-key .v2hpw-clock__n span { color: var(--go); }
.v2hpw-clock__l { display: block; font-size: 11.5px; color: var(--slate); margin-top: 8px; line-height: 1.4; }

/* ---- pricing plaque grid ---- */
.v2hpw-plans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 30px 0 8px; align-items: stretch; }

/* ---- interactive plan advisor ---- */
.v2hpw-advisor {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    overflow: hidden;
    margin: 28px 0;
    box-shadow: 0 1px 2px rgba(10, 16, 23, 0.04), 0 20px 44px -28px rgba(10, 16, 23, 0.22);
}
.v2hpw-advisor__head { background: var(--ink); padding: 22px 24px; }
.v2hpw-advisor__tag { display: inline-flex; align-items: center; gap: 6px; color: #3ECF81; font-size: 10px; margin-bottom: 10px; }
.v2hpw-advisor__tag svg { width: 14px; height: 14px; }
.v2hpw-advisor__h { font-family: var(--font-display); font-weight: 700; font-size: 19px; color: #fff; letter-spacing: -0.015em; margin-bottom: 5px; }
.v2hpw-advisor__sub { font-size: 13.5px; color: #A9B4BF; line-height: 1.5; }
.v2hpw-advisor__body { padding: 22px 24px; }
.v2hpw-advisor__label { display: block; color: var(--slate); margin-bottom: 8px; }
.v2hpw-advisor__select { position: relative; }
.v2hpw-advisor__select select {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    padding: 13px 15px 13px 44px;
    font-family: var(--font-body);
    font-size: 14.5px;
    font-weight: 600;
    color: var(--ink);
    background: var(--mist);
    border: 1.5px solid var(--line);
    border-radius: 12px;
    cursor: pointer;
    transition: border-color 0.18s ease, background 0.18s ease;
}
.v2hpw-advisor__select select:hover { border-color: #C9D2DA; }
.v2hpw-advisor__select select:focus-visible { outline: none; border-color: var(--go); background: var(--paper); box-shadow: 0 0 0 3px rgba(11, 138, 71, 0.14); }
.v2hpw-advisor__chev { position: absolute; left: 15px; top: 50%; transform: translateY(-50%); width: 18px; height: 18px; color: var(--slate); pointer-events: none; }
.v2hpw-advisor__result { margin-top: 16px; }
.v2hpw-advisor__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: 13.5px;
}
.v2hpw-advisor__empty svg { width: 18px; height: 18px; flex-shrink: 0; color: var(--faint); }
.v2hpw-rc { display: none; background: var(--go-tint); border: 1px solid rgba(11, 138, 71, 0.22); border-radius: 14px; padding: 18px 20px; }
.v2hpw-rc.is-on { display: block; animation: v2gprIn 0.35s ease; }
.v2hpw-rc__head { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.v2hpw-rc__ic {
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    border-radius: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 1px solid rgba(11, 138, 71, 0.25);
    color: var(--go);
}
.v2hpw-rc__ic svg { width: 21px; height: 21px; }
.v2hpw-rc__head h4 { margin: 0 0 3px; font-family: var(--font-display); font-weight: 650; font-size: 15.5px; color: var(--ink); letter-spacing: -0.01em; line-height: 1.25; }
.v2hpw-rc__tag { display: block; font-size: 9.5px; color: var(--go-deep); }
.v2hpw-rc p { font-size: 14px; line-height: 1.65; color: var(--slate); }

/* ---- requirement cards ---- */
.v2hpw-reqs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 24px 0; }
.v2hpw-req { background: var(--paper); border: 1px solid var(--line); border-radius: 16px; padding: 20px 20px; }
.v2hpw-req__ic {
    width: 40px;
    height: 40px;
    border-radius: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--go-tint);
    color: var(--go);
    border: 1px solid rgba(11, 138, 71, 0.18);
    margin-bottom: 13px;
}
.v2hpw-req__ic svg { width: 21px; height: 21px; }
.v2hpw-req__kick { display: block; font-size: 9px; color: var(--faint); margin-bottom: 5px; }
.v2hpw-req__h { font-family: var(--font-display); font-weight: 650; font-size: 15.5px; color: var(--ink); letter-spacing: -0.01em; margin-bottom: 7px; line-height: 1.3; }
.v2hpw-req__p { font-size: 13px; line-height: 1.6; color: var(--slate); }

/* ---- interactive readiness checklist ---- */
.v2hpw-check {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    overflow: hidden;
    margin: 26px 0;
    box-shadow: 0 1px 2px rgba(10, 16, 23, 0.04), 0 20px 44px -28px rgba(10, 16, 23, 0.22);
}
.v2hpw-check__head { background: var(--ink); padding: 20px 24px; }
.v2hpw-check__h { display: flex; align-items: center; gap: 9px; font-family: var(--font-display); font-weight: 700; font-size: 17.5px; color: #fff; letter-spacing: -0.015em; margin-bottom: 13px; }
.v2hpw-check__h svg { width: 20px; height: 20px; flex-shrink: 0; color: #3ECF81; }
.v2hpw-check__bar { height: 10px; background: rgba(255, 255, 255, 0.1); border-radius: 999px; overflow: hidden; }
.v2hpw-check__fill { display: block; height: 100%; width: 0; background: var(--go); border-radius: 999px; transition: width 0.4s cubic-bezier(0.2, 0.8, 0.2, 1); }
.v2hpw-check__pct { font-size: 12.5px; color: #A9B4BF; margin-top: 9px; }
.v2hpw-check__pct b { color: #3ECF81; }
.v2hpw-check__body { padding: 8px 16px 14px; }
.v2hpw-ck { display: flex; align-items: flex-start; gap: 12px; padding: 12px 8px; border-bottom: 1px solid var(--line); cursor: pointer; }
.v2hpw-ck:last-child { border-bottom: none; }
.v2hpw-ck input { display: none; }
.v2hpw-ck__box {
    width: 23px;
    height: 23px;
    flex-shrink: 0;
    border-radius: 7px;
    border: 1.8px solid #CBD5E1;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    margin-top: 1px;
    transition: background 0.18s ease, border-color 0.18s ease;
}
.v2hpw-ck__box svg { width: 13px; height: 13px; opacity: 0; transform: scale(0.6); transition: opacity 0.18s ease, transform 0.18s ease; }
.v2hpw-ck input:checked + .v2hpw-ck__box { background: var(--go); border-color: var(--go); }
.v2hpw-ck input:checked + .v2hpw-ck__box svg { opacity: 1; transform: none; }
.v2hpw-ck__t { font-size: 14px; line-height: 1.5; color: var(--slate); }
.v2hpw-ck__t b { color: var(--ink); font-weight: 650; }
.v2hpw-ck input:checked ~ .v2hpw-ck__t { color: var(--faint); text-decoration: line-through; }
.v2hpw-ck input:checked ~ .v2hpw-ck__t b { color: var(--faint); }
.v2hpw-check__msg { margin: 4px 16px 18px; padding: 13px 16px; border-radius: 12px; background: var(--go-tint); border: 1px solid rgba(11, 138, 71, 0.2); font-size: 13.5px; line-height: 1.6; color: var(--ink); }
.v2hpw-check__msg b { color: var(--go-deep); font-weight: 700; }

/* ---- mobile ---- */
@media (max-width: 640px) {
    .v2hpw-desk { grid-template-columns: 1fr; }
    .v2hpw-desk__seam {
        flex-direction: row;
        justify-content: center;
        gap: 8px;
        border-right: none;
        border-left: none;
        border-top: 1px dashed var(--line);
        border-bottom: 1px dashed var(--line);
        padding: 10px 0;
    }
    .v2hpw-desk__seam svg { transform: rotate(-90deg); }
    .v2hpw-duo { grid-template-columns: 1fr; gap: 12px; }
    .v2hpw-duo__vs { justify-self: center; }
    .v2hpw-geo { grid-template-columns: 1fr; }
    .v2hpw-proof { grid-template-columns: 1fr; }
    .v2hpw-reqs { grid-template-columns: 1fr; }
    .v2hpw-plans { grid-template-columns: 1fr; }
    .v2hpw-clock { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .v2hpw-passport { flex-direction: column; align-items: flex-start; gap: 12px; }
    .v2hpw-step__top { flex-direction: column; align-items: flex-start; gap: 6px; }
    .v2hpw-advisor__head, .v2hpw-advisor__body { padding: 18px; }
    .v2hpw-check__head { padding: 18px; }
    .v2hpw-check__body { padding: 6px 12px 12px; }
    .v2hpw-check__msg { margin: 4px 12px 14px; }
    .v2hpw-langs, .v2hpw-req, .v2hpw-geo__card, .v2hpw-duo__side, .v2hpw-desk__col { padding: 18px; }
}
@media (max-width: 380px) {
    .v2hpw-clock { grid-template-columns: 1fr; }
    .v2hpw-proof__n { font-size: 25px; }
}

/* Reduced motion: settle every v2hpw transition/animation to end state */
@media (prefers-reduced-motion: reduce) {
    .v2hpw-rail.v2-anim .v2hpw-stn { opacity: 1; transform: none; }
    .v2hpw-check__fill, .v2hpw-rc, .v2hpw-ck__box, .v2hpw-ck__box svg,
    .v2hpw-advisor__select select { transition: none !important; animation: none !important; }
}
/* ============= END BLOG HPW V2 ============= */

/* ============================================================
   BLOG ARTICLE V2 - GOOGLE PLAY REVIEW TIME 2026
   (/blog/google-play-review-time-2026)
   Unique components for the "how long every stage takes" post.
   Reuses the shared v2gpr- article layer (hero, prose, h2, qa,
   toc, tip/note callouts, faq, bottom, docs, related, author,
   rail, chips, scta) and the shared v2-cta band. Prefix: v2rvt-.
   Theme: "the review clock board" - across the page only the ONE
   clock you control (the 14-day test) is green; every Google-held
   clock is neutral. Two dark moments stay: the quick answer capsule
   (.v2gpr-qa) and the final CTA. One rose accent: the checker's
   past-window verdict (.v2rvt-diag.act).
   ============================================================ */

/* Hero: green plaque marks the one clock that is yours */
.v2 .v2rvt-fact--go { background: var(--go-tint); border-color: rgba(11, 138, 71, 0.2); }
.v2rvt-fact--go b { color: var(--go-deep); }

/* ---------- Dark quick-answer accent tints (inside .v2gpr-qa) ---------- */
.v2gpr-qa .rvt-qk-warn { color: #FCD34D; }
.v2gpr-qa .rvt-qk-key { color: #7DD3FC; }

/* ---------- Per-section answer capsule ---------- */
.v2gpr-prose > p.v2rvt-ans {
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.18);
    border-right: 3px solid var(--go);
    border-radius: 12px 0 0 12px;
    padding: 15px 20px;
    color: var(--ink);
    font-size: 15.5px;
    line-height: 1.75;
    font-weight: 450;
    margin: 24px 0;
}

/* ---------- Shared status chip (board + stage cards) ---------- */
.v2rvt-chip {
    display: inline-flex;
    align-items: center;
    font-family: var(--font-mono);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.02em;
    padding: 6px 11px;
    border-radius: 8px;
    line-height: 1.3;
    white-space: nowrap;
    background: var(--mist);
    border: 1px solid var(--line);
    color: var(--slate);
}
.v2rvt-chip.is-go {
    background: var(--go-tint);
    border-color: rgba(11, 138, 71, 0.28);
    color: var(--go-deep);
}

/* ---------- SIGNATURE: the review clock board ---------- */
.v2rvt-board {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: 20px 22px 16px;
    margin: 8px 0 26px;
    box-shadow: 0 1px 2px rgba(10, 16, 23, 0.05), 0 22px 44px -26px rgba(10, 16, 23, 0.13);
}
.v2rvt-board__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--line);
}
.v2rvt-board__tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--slate);
    font-size: 10.5px;
}
.v2rvt-board__tag svg { width: 15px; height: 15px; color: var(--go); flex-shrink: 0; }
.v2rvt-board__legend { display: flex; gap: 14px; }
.v2rvt-lg {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 600;
    color: var(--faint);
}
.v2rvt-lg__dot { width: 9px; height: 9px; border-radius: 50%; flex-shrink: 0; }
.v2rvt-lg__dot.is-google { background: #C9D2DA; }
.v2rvt-lg__dot.is-you { background: var(--go); }
.v2rvt-board__head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 116px 150px;
    gap: 12px;
    padding: 12px 12px 4px;
    color: var(--faint);
    font-size: 9.5px;
}
.v2rvt-board__rows { display: flex; flex-direction: column; }
.v2rvt-brow {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 116px 150px;
    gap: 12px;
    align-items: center;
    padding: 13px 12px;
    border-top: 1px dashed var(--line);
}
.v2rvt-brow.is-you {
    background: var(--go-tint);
    border-radius: 14px;
    border-top-color: transparent;
    box-shadow: inset 0 0 0 1px rgba(11, 138, 71, 0.22);
}
.v2rvt-brow.is-you + .v2rvt-brow { border-top-color: transparent; }
.v2rvt-brow__stage { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.v2rvt-brow__stage b { font-size: 14px; font-weight: 650; color: var(--ink); line-height: 1.35; }
.v2rvt-brow__stage em { font-style: normal; font-size: 11.5px; color: var(--faint); line-height: 1.45; }
.v2rvt-brow__who {
    justify-self: start;
    font-family: var(--font-mono);
    font-size: 9.5px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 5px 10px;
    border-radius: 999px;
}
.v2rvt-brow__who.is-google { background: var(--mist); color: var(--slate); border: 1px solid var(--line); }
.v2rvt-brow__who.is-you { background: #fff; color: var(--go-deep); border: 1px solid rgba(11, 138, 71, 0.3); }
.v2rvt-brow__time { justify-self: start; }
.v2rvt-board__foot {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    margin-top: 14px;
    padding-top: 13px;
    border-top: 1px solid var(--line);
    font-size: 13px;
    line-height: 1.6;
    color: var(--slate);
}
.v2rvt-board__foot svg { width: 15px; height: 15px; flex-shrink: 0; margin-top: 2px; color: var(--faint); }

/* ---------- Stage cards (the five-clock pipeline) ---------- */
.v2rvt-stages { display: flex; flex-direction: column; gap: 10px; margin: 22px 0; }
.v2rvt-stage {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 16px 18px;
}
.v2rvt-stage.is-you { background: var(--go-tint); border-color: rgba(11, 138, 71, 0.24); }
.v2rvt-stage__n {
    width: 30px;
    height: 30px;
    border-radius: 9px;
    background: var(--mist);
    border: 1px solid var(--line);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    color: var(--slate);
}
.v2rvt-stage.is-you .v2rvt-stage__n { background: var(--go); border-color: var(--go); color: #fff; }
.v2rvt-stage__main { min-width: 0; }
.v2rvt-stage__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 5px;
}
.v2rvt-stage__name {
    font-family: var(--font-display);
    font-size: 16px;
    letter-spacing: -0.01em;
    color: var(--ink);
}
.v2rvt-stage__desc { font-size: 14px; line-height: 1.6; color: var(--slate); }

/* ---------- Two-clocks strip ---------- */
.v2rvt-clocks { display: flex; align-items: stretch; gap: 8px; margin: 24px 0; }
.v2rvt-clock {
    flex: 1 1 0;
    min-width: 0;
    border-radius: 14px;
    padding: 16px 16px;
    border: 1px solid var(--line);
    background: var(--paper);
}
.v2rvt-clock.is-you { background: var(--go-tint); border-color: rgba(11, 138, 71, 0.24); }
.v2rvt-clock__tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 10px;
    color: var(--faint);
    margin-bottom: 9px;
}
.v2rvt-clock__tag svg { width: 14px; height: 14px; flex-shrink: 0; }
.v2rvt-clock.is-you .v2rvt-clock__tag { color: var(--go-deep); }
.v2rvt-clock__t {
    display: block;
    font-family: var(--font-display);
    font-size: 15px;
    letter-spacing: -0.01em;
    color: var(--ink);
    margin-bottom: 5px;
}
.v2rvt-clock__p { font-size: 12.5px; line-height: 1.5; color: var(--slate); }
.v2rvt-clock__arrow { align-self: center; flex-shrink: 0; color: #C9D2DA; }
.v2rvt-clock__arrow svg { width: 22px; height: 22px; display: block; }

/* ---------- Mid-article soft CTA ---------- */
.v2rvt-midcta {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    margin: 26px 0;
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.2);
    border-radius: 16px;
    padding: 20px 22px;
}
.v2rvt-midcta__ic {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: var(--go);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
}
.v2rvt-midcta__ic svg { width: 24px; height: 24px; }
.v2rvt-midcta p { margin: 0; font-size: 15px; line-height: 1.7; color: var(--ink); }
.v2rvt-midcta a { font-weight: 700; }

/* ---------- Verbatim Google-wording quote ---------- */
.v2rvt-quote {
    background: var(--paper);
    border: 1px solid var(--line);
    border-right: 4px solid var(--go);
    border-radius: 16px 0 0 16px;
    padding: 22px 26px;
    margin: 24px 0;
}
.v2rvt-quote__mark {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--slate);
    font-size: 10.5px;
    margin-bottom: 12px;
}
.v2rvt-quote__mark svg { width: 16px; height: 16px; flex-shrink: 0; }
.v2rvt-quote__q {
    font-family: var(--font-display);
    font-size: 20px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: -0.01em;
    color: var(--ink);
    margin: 0 0 12px;
}
.v2rvt-quote__cite { display: block; font-style: normal; font-size: 12.5px; line-height: 1.5; color: var(--faint); }

/* ---------- Slow-factor cards ---------- */
.v2rvt-slows {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 24px 0;
}
.v2rvt-slow { background: var(--paper); border: 1px solid var(--line); border-radius: 14px; padding: 18px 18px; }
.v2rvt-slow.is-go { background: var(--go-tint); border-color: rgba(11, 138, 71, 0.24); }
.v2rvt-slow__ic {
    display: inline-flex;
    width: 38px;
    height: 38px;
    border-radius: 10px;
    align-items: center;
    justify-content: center;
    background: var(--mist);
    border: 1px solid var(--line);
    color: var(--slate);
    margin-bottom: 12px;
}
.v2rvt-slow.is-go .v2rvt-slow__ic { background: var(--go); border-color: var(--go); color: #fff; }
.v2rvt-slow__ic svg { width: 22px; height: 22px; }
.v2rvt-slow__t {
    display: block;
    font-family: var(--font-display);
    font-size: 15.5px;
    letter-spacing: -0.01em;
    color: var(--ink);
    line-height: 1.35;
    margin-bottom: 6px;
}
.v2rvt-slow__p { font-size: 13.5px; line-height: 1.6; color: var(--slate); }
.v2rvt-slow__p a { font-weight: 600; }

/* ---------- Interactive tool shell (checker + estimator) ---------- */
.v2rvt-tool {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    overflow: hidden;
    margin: 26px 0;
    box-shadow: 0 1px 2px rgba(10, 16, 23, 0.05), 0 22px 44px -26px rgba(10, 16, 23, 0.13);
}
.v2rvt-tool__head { padding: 20px 22px 18px; background: var(--mist); border-bottom: 1px solid var(--line); }
.v2rvt-tool__tag {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--go-deep);
    font-size: 10.5px;
    margin-bottom: 10px;
}
.v2rvt-tool__tag svg { width: 15px; height: 15px; flex-shrink: 0; }
.v2rvt-tool__t {
    display: block;
    font-family: var(--font-display);
    font-size: 19px;
    font-weight: 700;
    letter-spacing: -0.015em;
    color: var(--ink);
    margin-bottom: 4px;
}
.v2rvt-tool__s { font-size: 14px; line-height: 1.55; color: var(--slate); }
.v2rvt-tool__body { padding: 22px; }
.v2rvt-tool__q { color: var(--faint); font-size: 10.5px; margin-bottom: 11px; }
.v2rvt-tool__q--mt { margin-top: 22px; }
.v2rvt-tool__empty {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 20px;
    padding: 16px 18px;
    border: 1px dashed var(--line);
    border-radius: 12px;
    color: var(--faint);
    font-size: 14px;
}
.v2rvt-tool__empty svg { width: 20px; height: 20px; flex-shrink: 0; }

/* segmented option pills (shared by both interactives) */
.v2rvt-opts { display: flex; flex-wrap: wrap; gap: 9px; }
.v2rvt-opt { flex: 1 1 auto; min-width: 150px; cursor: pointer; position: relative; margin: 0; }
.v2rvt-opt input { position: absolute; opacity: 0; width: 0; height: 0; }
.v2rvt-opt__face {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 12px 14px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--paper);
    font-size: 14px;
    font-weight: 500;
    color: var(--slate);
    line-height: 1.3;
    height: 100%;
    transition: border-color 0.18s ease, background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}
.v2rvt-opt__face svg { width: 19px; height: 19px; color: var(--faint); flex-shrink: 0; transition: color 0.18s ease; }
.v2rvt-opt:hover .v2rvt-opt__face { border-color: #C9D2DA; }
.v2rvt-opt input:checked + .v2rvt-opt__face {
    border-color: var(--go);
    background: var(--go-tint);
    color: var(--go-deep);
    box-shadow: inset 0 0 0 1px rgba(11, 138, 71, 0.3);
}
.v2rvt-opt input:checked + .v2rvt-opt__face svg { color: var(--go); }
.v2rvt-opt input:focus-visible + .v2rvt-opt__face { outline: 2px solid var(--go); outline-offset: 2px; }

/* ---------- Checker verdict ---------- */
.v2rvt-diag {
    display: none;
    margin-top: 20px;
    border-radius: 14px;
    padding: 18px 20px;
    border: 1px solid var(--line);
    opacity: 0;
    transform: translateY(8px);
    transition: opacity 0.35s ease, transform 0.35s ease;
}
.v2rvt-diag.show { display: block; opacity: 1; transform: none; }
.v2rvt-diag.ok { background: var(--go-tint); border-color: rgba(11, 138, 71, 0.24); }
.v2rvt-diag.edge { background: var(--mist); border-color: var(--line); }
.v2rvt-diag.act { background: #FDF1F0; border-color: rgba(180, 35, 24, 0.18); }
.v2rvt-diag__badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-family: var(--font-mono);
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 5px 11px;
    border-radius: 999px;
    margin-bottom: 10px;
    background: #fff;
}
.v2rvt-diag.ok .v2rvt-diag__badge { color: var(--go-deep); border: 1px solid rgba(11, 138, 71, 0.24); }
.v2rvt-diag.edge .v2rvt-diag__badge { color: var(--slate); border: 1px solid var(--line); }
.v2rvt-diag.act .v2rvt-diag__badge { color: #B42318; border: 1px solid rgba(180, 35, 24, 0.2); }
.v2rvt-diag__title {
    font-family: var(--font-display);
    font-size: 16.5px;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--ink);
    line-height: 1.4;
    margin-bottom: 8px;
}
.v2rvt-diag__text { font-size: 14px; line-height: 1.7; color: var(--slate); }

/* ---------- Escalation checklist ---------- */
.v2rvt-check { display: flex; flex-direction: column; gap: 10px; margin: 22px 0; }
.v2rvt-check__row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 13px;
    align-items: start;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 15px 17px;
}
.v2rvt-check__n {
    width: 30px;
    height: 30px;
    border-radius: 9px;
    background: var(--go);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 700;
}
.v2rvt-check__body { min-width: 0; }
.v2rvt-check__t {
    display: block;
    font-family: var(--font-display);
    font-size: 15.5px;
    letter-spacing: -0.01em;
    color: var(--ink);
    line-height: 1.35;
    margin-bottom: 4px;
}
.v2rvt-check__body p { font-size: 13.5px; line-height: 1.6; color: var(--slate); }
.v2rvt-check__body p a { font-weight: 600; }

/* ---------- Timeline arithmetic strip ---------- */
.v2rvt-math {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 24px 0;
    padding: 20px;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 16px;
}
.v2rvt-math__chip {
    display: flex;
    flex-direction: column;
    gap: 3px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 11px 14px;
    min-width: 0;
}
.v2rvt-math__chip b {
    font-family: var(--font-display);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: var(--ink);
    line-height: 1.3;
    white-space: nowrap;
}
.v2rvt-math__chip span { font-size: 9px; color: var(--faint); }
.v2rvt-math__chip.is-you { background: var(--go-tint); border-color: rgba(11, 138, 71, 0.24); }
.v2rvt-math__chip.is-you b { color: var(--go-deep); }
.v2rvt-math__chip.is-sum { background: var(--ink); border-color: var(--ink); }
.v2rvt-math__chip.is-sum b { color: #fff; }
.v2rvt-math__chip.is-sum span { color: #93A0AC; }
.v2rvt-math__op { font-size: 15px; font-weight: 700; color: #C9D2DA; flex-shrink: 0; }

/* ---------- Live-date estimator output ---------- */
.v2rvt-eta {
    display: none;
    margin-top: 22px;
    border: 1px solid var(--line);
    border-radius: 16px;
    overflow: hidden;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity 0.35s ease, transform 0.35s ease;
}
.v2rvt-eta.show { display: block; opacity: 1; transform: none; }
.v2rvt-eta__top {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    background: var(--mist);
    padding: 18px 22px;
    border-bottom: 1px solid var(--line);
}
.v2rvt-eta__slot { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.v2rvt-eta__lab { font-size: 9.5px; color: var(--faint); }
.v2rvt-eta__date {
    font-family: var(--font-display);
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--ink);
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
}
.v2rvt-eta__date.is-go { color: var(--go-deep); }
.v2rvt-eta__sep { color: #C9D2DA; flex-shrink: 0; }
.v2rvt-eta__sep svg { width: 26px; height: 20px; display: block; }
.v2rvt-eta__note { padding: 16px 22px; font-size: 13.5px; line-height: 1.65; color: var(--slate); background: var(--paper); }
.v2rvt-eta__disc {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    padding: 12px 22px 14px;
    font-size: 11.5px;
    line-height: 1.55;
    color: var(--faint);
    background: var(--paper);
    border-top: 1px solid var(--line);
}
.v2rvt-eta__disc svg { width: 15px; height: 15px; flex-shrink: 0; margin-top: 1px; color: var(--slate); }
.v2rvt-eta__disc b { color: var(--slate); }

/* ---------- Honest note (light, green-barred) ---------- */
.v2rvt-honest {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    margin: 24px 0;
    background: var(--paper);
    border: 1px solid var(--line);
    border-right: 3px solid var(--go);
    border-radius: 14px;
    padding: 20px 22px;
}
.v2rvt-honest__ic {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: var(--go-tint);
    color: var(--go);
    display: flex;
    align-items: center;
    justify-content: center;
}
.v2rvt-honest__ic svg { width: 24px; height: 24px; }
.v2rvt-honest__tx { min-width: 0; }
.v2rvt-honest__lab { display: block; color: var(--go-deep); font-size: 10px; margin-bottom: 6px; }
.v2rvt-honest__tx p { font-size: 14.5px; line-height: 1.7; color: var(--slate); }

/* ---------- DIY vs managed comparison table ---------- */
.v2rvt-compare { margin: 24px 0; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; }
.v2rvt-compare table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.v2rvt-compare th {
    text-align: right;
    padding: 13px 16px;
    font-size: 10px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-weight: 600;
    background: var(--mist);
    color: var(--slate);
    border-bottom: 1px solid var(--line);
}
.v2rvt-compare th.v2rvt-compare__diy { color: var(--faint); }
.v2rvt-compare th.v2rvt-compare__mgd { background: var(--go-tint); color: var(--go-deep); }
.v2rvt-compare td {
    padding: 13px 16px;
    border-top: 1px solid var(--line);
    color: var(--slate);
    line-height: 1.5;
    vertical-align: top;
}
.v2rvt-compare tbody td:last-child { background: rgba(232, 245, 238, 0.55); }
.v2rvt-compare__feat { font-weight: 600; color: var(--ink); }
.v2rvt-compare__same td { background: var(--mist); }
.v2rvt-compare__same td:last-child { background: var(--mist); }
.v2rvt-mk {
    display: inline-block;
    width: 15px;
    height: 15px;
    vertical-align: -2px;
    margin-left: 7px;
    border-radius: 50%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 9px;
}
.v2rvt-mk.is-yes {
    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");
}
.v2rvt-mk.is-no {
    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");
}
.v2rvt-mk.is-eq {
    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 6h6' stroke='%239AA6B2' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* ---------- Inline plan line ---------- */
.v2rvt-plans {
    margin: 24px 0;
    background: var(--go-tint);
    border: 1px solid rgba(11, 138, 71, 0.2);
    border-radius: 16px;
    padding: 20px 22px;
}
.v2rvt-plans p { margin: 0 0 6px; font-size: 15px; line-height: 1.7; color: var(--ink); }
.v2rvt-plans p a { font-weight: 700; }
.v2rvt-plans small { display: block; font-size: 12px; color: var(--slate); line-height: 1.55; }

/* ---------- Final CTA fee line ---------- */
.v2rvt-cta__fee { font-size: 12px; line-height: 1.55; color: #7A8794; max-width: 540px; margin: 8px auto 0; }

/* ---------- Mobile ---------- */
@media (max-width: 900px) {
    .v2rvt-slows { grid-template-columns: 1fr; }
    .v2rvt-compare { overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .v2rvt-compare table { min-width: 560px; }
}
@media (max-width: 768px) {
    .v2rvt-board { padding: 16px 15px 14px; }
    .v2rvt-board__head { display: none; }
    .v2rvt-brow { grid-template-columns: 1fr; gap: 9px; padding: 14px 12px; }
    .v2rvt-brow.is-you { padding: 14px 14px; }
    .v2rvt-clocks { flex-direction: column; }
    .v2rvt-clock__arrow { transform: rotate(-90deg); align-self: flex-start; margin-right: 16px; }
    .v2rvt-quote { padding: 18px 18px; }
    .v2rvt-quote__q { font-size: 18px; }
    .v2rvt-math { padding: 14px; }
    .v2rvt-math__chip b { white-space: normal; }
    .v2rvt-tool__head { padding: 18px 16px 16px; }
    .v2rvt-tool__body { padding: 18px 16px; }
    .v2rvt-tool__t { font-size: 17.5px; }
    .v2rvt-midcta { padding: 18px 16px; }
    .v2rvt-eta__top { flex-direction: column; align-items: flex-start; gap: 12px; }
    .v2rvt-eta__sep { transform: rotate(-90deg); align-self: flex-start; margin-right: 4px; }
}
@media (max-width: 640px) {
    .v2rvt-opt { min-width: 100%; }
    .v2rvt-honest { grid-template-columns: 1fr; gap: 12px; }
    .v2rvt-stage__name { font-size: 15.5px; }
    .v2rvt-slow__t, .v2rvt-check__t { font-size: 15px; }
}
@media (max-width: 480px) {
    .v2rvt-board__legend { gap: 10px; }
    .v2rvt-chip { white-space: normal; }
    .v2rvt-board__bar { gap: 8px; }
}

/* Reduced motion: settle every v2rvt transition to its end state */
@media (prefers-reduced-motion: reduce) {
    .v2rvt-opt__face, .v2rvt-diag, .v2rvt-eta { transition: none !important; }
}
/* ============= END BLOG REVIEW-TIME V2 ============= */


/* =============================================================
   BLOG INVITE TESTERS V2  -  "Set Up Closed Testing & Invite Testers"
   (/blog/how-to-invite-testers-google-play-closed-testing)
   Unique internal components for the invite-testers setup guide.
   Authored MOBILE-FIRST: base rules target phones, min-width
   queries add columns. Signature motifs = the opt-in FUNNEL (a
   narrowing conversion ladder), the STATUS LADDER (Invited ->
   Opted-in -> Installed -> Active), the RESET GRID (this page's one
   rose/danger moment), the 14-DAY RISK MAP heatmap, the opt-in URL
   ANATOMY terminal, the method DUEL cards and the DIY-vs-structured
   table. Green = the accent / opted-in / go-live; rose = reset /
   danger; amber = caution. The two dark bands are the shared
   .v2gpr-qa Quick Answer and the final .v2-cta; the URL anatomy and
   the message templates are dark "developer console" artifacts
   (sanctioned exception). Prefix: v2inv- (plus the JS-coupled
   inv-quiz-* / inv-template-* / inv-copy-* kept from the old view).
   ============================================================= */

/* ---- hero fact tweak: the reset plaque reads as a caution ---- */
.v2inv-fact--warn b { color: #B42318; }

/* ---- Quick Answer inline "go" highlight ---- */
.v2inv-qa .v2gpr-qa__text strong.is-go { color: #3ECF81; }

/* ---- step tips inside the numbered ledgers ---- */
.v2inv-steptip {
    margin-top: 11px;
    padding: 11px 15px 11px 14px;
    background: var(--go-tint);
    border-radius: 11px;
    border-right: 3px solid rgba(11,138,71,.4);
    font-size: 13.5px;
    line-height: 1.62;
    color: var(--ink);
}
.v2inv-steptip strong { color: var(--go-deep); }
.v2inv-steptip code {
    background: #fff;
    border: 1px solid rgba(11,138,71,.18);
    padding: 1px 6px;
    border-radius: 5px;
    font-family: var(--font-mono);
    font-size: 12.5px;
    color: var(--go-deep);
}

/* ---- screenshot caption number chip ---- */
.v2inv-capn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    border-radius: 6px;
    background: var(--go-tint);
    color: var(--go-deep);
    font-size: 11px;
    font-weight: 700;
    margin-left: 8px;
    vertical-align: -2px;
}

/* =============================================================
   1. OPT-IN FUNNEL (narrowing conversion ladder)
============================================================= */
.v2inv-funnel {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 26px 0;
}
.v2inv-fstage {
    display: flex;
    align-items: center;
    gap: 13px;
    width: 100%;
    padding: 14px 16px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 14px;
}
.v2inv-fstage__ic {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 11px;
    background: var(--mist);
    color: var(--slate);
    display: grid;
    place-items: center;
}
.v2inv-fstage__ic svg { width: 21px; height: 21px; }
.v2inv-fstage__body { flex: 1; min-width: 0; }
.v2inv-fstage__body b {
    display: block;
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 15.5px;
    letter-spacing: -0.01em;
    color: var(--ink);
}
.v2inv-fstage__body span {
    display: block;
    margin-top: 2px;
    font-size: 12.5px;
    line-height: 1.5;
    color: var(--slate);
}
.v2inv-fstage__pct {
    flex-shrink: 0;
    font-size: 14px;
    font-weight: 700;
    color: var(--slate);
    background: var(--mist);
    padding: 5px 10px;
    border-radius: 9px;
}
.v2inv-fstage.is-final {
    border-color: rgba(11,138,71,.3);
    background: var(--go-tint);
}
.v2inv-fstage.is-final .v2inv-fstage__ic { background: #fff; color: var(--go); }
.v2inv-fstage.is-final .v2inv-fstage__body b { color: var(--go-deep); }
.v2inv-fstage.is-final .v2inv-fstage__pct { background: var(--go); color: #fff; }

/* =============================================================
   2. RESET-COST PANEL
============================================================= */
.v2inv-cost {
    margin: 26px 0;
    padding: 22px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    display: grid;
    gap: 20px;
}
.v2inv-cost__kicker { color: var(--faint); margin-bottom: 6px; }
.v2inv-cost__num {
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 40px;
    line-height: 1;
    letter-spacing: -0.03em;
    color: #B42318;
}
.v2inv-cost__sub {
    margin-top: 9px;
    font-size: 13.5px;
    line-height: 1.6;
    color: var(--slate);
}
.v2inv-cost__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}
.v2inv-cost__stat {
    padding: 13px 14px;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 12px;
}
.v2inv-cost__stat b {
    display: block;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 20px;
    letter-spacing: -0.02em;
    color: var(--ink);
    font-variant-numeric: tabular-nums;
}
.v2inv-cost__stat span {
    display: block;
    margin-top: 3px;
    font-size: 11px;
    line-height: 1.4;
    color: var(--faint);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

/* =============================================================
   3. PROPRIETARY-DATA PULL-QUOTE
============================================================= */
.v2inv-data {
    position: relative;
    margin: 30px 0;
    padding: 24px 26px 22px 22px;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 18px;
    overflow: hidden;
}
.v2inv-data__rail {
    position: absolute;
    top: 22px;
    bottom: 22px;
    right: 0;
    width: 4px;
    border-radius: 4px 0 0 4px;
    background: linear-gradient(-180deg, var(--go), var(--go-deep));
}
.v2inv-data__label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--go-deep);
    margin-bottom: 14px;
}
.v2inv-data__label svg { width: 15px; height: 15px; }
.v2inv-data__quote {
    margin: 0;
    font-size: 15.5px;
    line-height: 1.72;
    color: var(--ink);
    font-weight: 500;
}
.v2inv-data__quote strong { color: var(--go-deep); font-weight: 700; }
.v2inv-data__stats {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid var(--line);
}
.v2inv-data__stat { display: flex; align-items: baseline; gap: 10px; }
.v2inv-data__stat b {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 19px;
    letter-spacing: -0.02em;
    color: var(--ink);
    min-width: 96px;
    flex-shrink: 0;
    font-variant-numeric: tabular-nums;
}
.v2inv-data__stat span { font-size: 11px; color: var(--faint); }
.v2inv-data__meta {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 15px;
    font-size: 11px;
    color: var(--faint);
}
.v2inv-data__meta strong { color: var(--slate); font-weight: 600; }

/* =============================================================
   4. METHOD DUEL CARDS (list vs group, demo vs license)
============================================================= */
.v2inv-method {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    margin: 24px 0;
}
.v2inv-method__card {
    position: relative;
    padding: 20px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
}
.v2inv-method__card.is-rec {
    border-color: rgba(11,138,71,.32);
    box-shadow: 0 1px 2px rgba(10,16,23,.04), 0 18px 40px -26px rgba(11,138,71,.4);
}
.v2inv-method__tag {
    display: inline-block;
    padding: 5px 11px;
    border-radius: 999px;
    background: var(--mist);
    border: 1px solid var(--line);
    color: var(--slate);
    font-size: 10px;
    margin-bottom: 12px;
}
.v2inv-method__tag.is-rec {
    background: var(--go);
    border-color: var(--go);
    color: #fff;
}
.v2inv-method__title {
    display: flex;
    align-items: center;
    gap: 9px;
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 17.5px;
    letter-spacing: -0.015em;
    color: var(--ink);
    margin-bottom: 5px;
}
.v2inv-method__title svg { width: 20px; height: 20px; color: var(--slate); flex-shrink: 0; }
.v2inv-method__card.is-rec .v2inv-method__title svg { color: var(--go); }
.v2inv-method__best {
    font-size: 13px;
    font-style: italic;
    color: var(--faint);
    margin-bottom: 14px;
}
.v2inv-method__rows { margin: 0; padding: 0; list-style: none; }
.v2inv-method__rows li {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 9px 0;
    border-top: 1px solid var(--line);
    font-size: 13.5px;
    line-height: 1.5;
    color: var(--slate);
}
.v2inv-method__rows li:first-child { border-top: none; }
.v2inv-method__rows li i {
    flex-shrink: 0;
    width: 17px;
    height: 17px;
    margin-top: 1px;
    border-radius: 50%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 12px;
}
.v2inv-method__rows li.is-good i {
    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' fill='none'%3E%3Cpath d='M5 10.4l3.2 3.2 6.8-7.6' stroke='%230B8A47' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.v2inv-method__rows li.is-meh i {
    background-color: #FDF3E4;
    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='M10 5.4v5.4M10 13.6v.2' stroke='%23B45309' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E");
}
.v2inv-method__rows li.is-bad i {
    background-color: #FDF1F0;
    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.5 6.5l7 7M13.5 6.5l-7 7' stroke='%23B42318' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* =============================================================
   5. NUMBERED STEP LIST (method walkthroughs)
============================================================= */
.v2inv-ol {
    margin: 18px 0;
    padding: 0;
    list-style: none;
    counter-reset: invol;
}
.v2inv-ol > li {
    position: relative;
    counter-increment: invol;
    padding: 3px 40px 3px 0;
    margin: 11px 0;
    font-size: 15px;
    line-height: 1.7;
    color: var(--slate);
}
.v2inv-ol > li::before {
    content: counter(invol);
    position: absolute;
    right: 0;
    top: 2px;
    width: 26px;
    height: 26px;
    border-radius: 8px;
    background: var(--ink);
    color: #fff;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 12.5px;
    display: grid;
    place-items: center;
}
.v2inv-ol > li strong { color: var(--ink); font-weight: 650; }

/* =============================================================
   6. OPT-IN URL ANATOMY (dark console artifact)
============================================================= */
.v2inv-url {
    margin: 24px 0;
    padding: 20px;
    background: var(--ink);
    border-radius: 16px;
    overflow: hidden;
}
.v2inv-url__label {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #7A8794;
    margin-bottom: 14px;
}
.v2inv-url__label svg { width: 14px; height: 14px; color: #3ECF81; }
.v2inv-url__line {
    font-family: var(--font-mono);
    font-size: 12.5px;
    line-height: 1.9;
    background: #060B11;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 10px;
    padding: 12px 14px;
    overflow-x: auto;
    white-space: nowrap;
}
.v2inv-url__piece { padding: 2px 5px; border-radius: 5px; }
.v2inv-url__sep { color: #6E7B88; }
.v2inv-url__piece.is-host { background: rgba(255,255,255,.08); color: #A9B4BF; }
.v2inv-url__piece.is-track { background: rgba(62,207,129,.16); color: #3ECF81; font-weight: 700; }
.v2inv-url__piece.is-id { background: rgba(255,255,255,.05); color: #C6D0DA; }
.v2inv-url__legend {
    display: grid;
    grid-template-columns: 1fr;
    gap: 9px;
    margin-top: 14px;
}
.v2inv-url__key {
    padding: 10px 12px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 9px;
    font-size: 12px;
    line-height: 1.5;
    color: #A9B4BF;
}
.v2inv-url__key span:last-child strong { color: #C6D0DA; }
.v2inv-url__key code {
    font-family: var(--font-mono);
    font-size: 11px;
    background: rgba(255,255,255,.07);
    padding: 1px 5px;
    border-radius: 4px;
    color: #C6D0DA;
}
.v2inv-url__keytag {
    display: block;
    font-size: 9.5px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 4px;
    color: #7A8794;
}
.v2inv-url__keytag.is-track { color: #3ECF81; }
.v2inv-url__keytag.is-id { color: #93A0AC; }

/* two-valid-formats note: the code lines break onto their own row */
.v2inv-urlfmt { margin: 8px 0 0; }
.v2inv-urlfmt code {
    display: inline-block;
    max-width: 100%;
    overflow-x: auto;
    word-break: break-all;
}

/* =============================================================
   7. "WHICH SETTING WHEN" TABLE
============================================================= */
.v2inv-need { margin: 22px 0; }
.v2inv-need__table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid var(--line);
    border-radius: 14px;
    overflow: hidden;
}
.v2inv-need__table th {
    background: var(--mist);
    color: var(--faint);
    font-size: 10px;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    text-align: right;
    padding: 12px 14px;
    border-bottom: 1px solid var(--line);
}
.v2inv-need__table td {
    padding: 12px 14px;
    font-size: 13.5px;
    color: var(--slate);
    border-top: 1px solid var(--line);
    vertical-align: middle;
}
.v2inv-need__table td strong { color: var(--ink); font-weight: 650; }
.v2inv-need__chip {
    display: inline-block;
    padding: 3px 11px;
    border-radius: 999px;
    font-size: 11.5px;
    font-weight: 700;
}
.v2inv-need__chip.is-req { background: var(--go-tint); color: var(--go-deep); }
.v2inv-need__chip.is-if { background: #FDF3E4; color: #B45309; }
.v2inv-need__chip.is-no { background: var(--mist); color: var(--faint); }

/* =============================================================
   8. STATUS LADDER (invited -> opted-in -> installed -> active)
============================================================= */
.v2inv-ladder {
    position: relative;
    margin: 26px 0;
    padding: 0 28px 0 0;
    list-style: none;
}
.v2inv-ladder::before {
    content: '';
    position: absolute;
    right: 10px;
    top: 16px;
    bottom: 16px;
    width: 3px;
    border-radius: 2px;
    background: linear-gradient(-180deg, #C9D2DA 0%, #9AA6B2 40%, var(--go) 100%);
}
.v2inv-rung {
    position: relative;
    margin-bottom: 12px;
    padding: 16px 18px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 14px;
}
.v2inv-rung::before {
    content: '';
    position: absolute;
    right: -23px;
    top: 20px;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: #9AA6B2;
    border: 3px solid var(--paper);
    box-shadow: 0 0 0 2px rgba(10,16,23,.05);
}
.v2inv-rung.is-final { border-color: rgba(11,138,71,.3); background: var(--go-tint); }
.v2inv-rung.is-final::before { background: var(--go); }
.v2inv-rung__badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 6px;
    background: var(--mist);
    border: 1px solid var(--line);
    color: var(--slate);
    font-size: 10px;
    margin-bottom: 9px;
}
.v2inv-rung.is-final .v2inv-rung__badge { background: #fff; border-color: rgba(11,138,71,.22); color: var(--go-deep); }
.v2inv-rung__body h3 {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 16px;
    letter-spacing: -0.015em;
    color: var(--ink);
    margin-bottom: 5px;
}
.v2inv-rung__body > p {
    font-size: 13.5px;
    line-height: 1.6;
    color: var(--slate);
}
.v2inv-rung__count {
    margin-top: 9px;
    font-size: 11px;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--faint);
}
.v2inv-rung__count b { font-weight: 700; }
.v2inv-rung__count.is-no b { color: #B42318; }
.v2inv-rung__count.is-yes b { color: var(--go-deep); }

/* =============================================================
   9. RESET GRID (this page's one rose / danger moment)
============================================================= */
.v2inv-reset {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    margin: 24px 0;
}
.v2inv-reset__card {
    padding: 18px 20px;
    background: #FDF1F0;
    border: 1px solid rgba(180,35,24,.16);
    border-right: 3px solid #B42318;
    border-radius: 14px;
}
.v2inv-reset__num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 8px;
    background: #B42318;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 10px;
}
.v2inv-reset__card h3 {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 15.5px;
    letter-spacing: -0.01em;
    color: #7A1710;
    margin-bottom: 6px;
    line-height: 1.35;
}
.v2inv-reset__card > p {
    font-size: 13.5px;
    line-height: 1.6;
    color: #8A3A33;
}
.v2inv-reset__card > p strong { color: #7A1710; }
.v2inv-reset__card em { font-style: italic; }
.v2inv-reset__fix {
    margin-top: 11px;
    padding-top: 10px;
    border-top: 1px dashed rgba(180,35,24,.28);
    font-size: 13px;
    line-height: 1.55;
    color: var(--ink);
}
.v2inv-reset__fix strong { color: var(--go-deep); }

/* =============================================================
   10. 14-DAY RISK MAP (heatmap)
============================================================= */
.v2inv-timeline {
    margin: 24px 0;
    padding: 20px 18px;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 16px;
}
.v2inv-timeline__title {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--slate);
    margin-bottom: 16px;
}
.v2inv-timeline__title svg { width: 15px; height: 15px; color: #B42318; }
.v2inv-timeline__bar {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 5px;
    margin-bottom: 15px;
}
.v2inv-day {
    height: 46px;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #fff;
}
.v2inv-day b { font-family: var(--font-display); font-weight: 700; font-size: 13px; line-height: 1; }
.v2inv-day span { font-size: 8px; margin-top: 3px; letter-spacing: 0.04em; opacity: .92; }
.v2inv-day.is-high { background: #B42318; }
.v2inv-day.is-med { background: #C97A16; }
.v2inv-day.is-low { background: #4E9E76; }
.v2inv-day.is-done { background: var(--go); }
.v2inv-timeline__legend {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px;
    font-size: 10.5px;
    color: var(--slate);
}
.v2inv-lg { display: inline-flex; align-items: center; gap: 6px; }
.v2inv-lg i { width: 11px; height: 11px; border-radius: 3px; flex-shrink: 0; }
.v2inv-lg i.is-high { background: #B42318; }
.v2inv-lg i.is-med { background: #C97A16; }
.v2inv-lg i.is-low { background: #4E9E76; }
.v2inv-lg i.is-done { background: var(--go); }

/* =============================================================
   11. MESSAGE TEMPLATES (dark console artifacts) - inv-template-*
============================================================= */
.inv-template-card {
    margin: 20px 0;
    background: var(--ink);
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 14px;
    overflow: hidden;
}
.inv-template-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 13px 16px;
    background: #060B11;
    border-bottom: 1px solid rgba(255,255,255,.08);
}
.inv-template-title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 600;
    color: #E6EAEE;
    line-height: 1.35;
}
.inv-template-title svg { width: 17px; height: 17px; color: #3ECF81; flex-shrink: 0; }
.inv-copy-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
    padding: 6px 12px;
    border-radius: 8px;
    border: 1px solid rgba(62,207,129,.3);
    background: rgba(62,207,129,.12);
    color: #3ECF81;
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: background .2s, border-color .2s, color .2s;
}
.inv-copy-btn:hover { background: rgba(62,207,129,.2); border-color: #3ECF81; color: #fff; }
.inv-copy-btn.inv-copied { background: var(--go); border-color: var(--go); color: #fff; }
.inv-copy-ic { width: 14px; height: 14px; flex-shrink: 0; }
.inv-template-body {
    padding: 16px 18px;
    color: #C6D0DA;
    font-family: var(--font-body);
    font-size: 13.5px;
    line-height: 1.75;
    white-space: pre-wrap;
    word-break: break-word;
}
.inv-template-body strong { color: #fff; font-weight: 600; }

/* PTL Google Group address (dark chip + copy) */
.v2inv-groupaddr {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 11px;
    padding: 11px 13px;
    background: var(--ink);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 11px;
}
.v2inv-groupaddr code {
    flex: 1;
    min-width: 0;
    font-family: var(--font-mono);
    font-size: 13px;
    font-weight: 600;
    color: #3ECF81;
    word-break: break-all;
}

/* =============================================================
   12. READINESS CALCULATOR (interactive) - inv-quiz-*
============================================================= */
.inv-quiz {
    margin: 30px 0;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(10,16,23,.05), 0 26px 54px -30px rgba(10,16,23,.22);
}
.inv-quiz-head {
    padding: 22px;
    background: var(--mist);
    border-bottom: 1px solid var(--line);
}
.inv-quiz-tag {
    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,.22);
    color: var(--go-deep);
    font-size: 10px;
    margin-bottom: 12px;
}
.inv-quiz-tag svg { width: 13px; height: 13px; }
.inv-quiz-title {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 21px;
    letter-spacing: -0.02em;
    color: var(--ink);
    margin: 0 0 5px;
}
.inv-quiz-sub { font-size: 13.5px; color: var(--slate); margin: 0; }
.inv-quiz-body { padding: 22px; }
.inv-quiz-q {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--line);
}
.inv-quiz-q:last-of-type { border-bottom: none; padding-bottom: 0; margin-bottom: 0; }
.inv-quiz-q-label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 14.5px;
    font-weight: 600;
    color: var(--ink);
    margin: 0 0 12px;
    line-height: 1.5;
}
.inv-quiz-q-num {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    border-radius: 8px;
    background: var(--ink);
    color: #fff;
    font-family: var(--font-display);
    font-size: 12.5px;
    font-weight: 700;
    margin-top: -1px;
}
.inv-quiz-options { display: grid; gap: 8px; }
.inv-quiz-opt {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 11px 14px;
    border: 1.5px solid var(--line);
    border-radius: 11px;
    cursor: pointer;
    background: var(--paper);
    font-size: 13.5px;
    color: var(--slate);
    line-height: 1.4;
    transition: border-color .18s, background .18s, color .18s;
}
.inv-quiz-opt:hover { border-color: #C9D2DA; background: var(--mist); }
.inv-quiz-opt input[type=radio] {
    accent-color: var(--go);
    width: 16px;
    height: 16px;
    cursor: pointer;
    flex-shrink: 0;
    margin: 0;
}
.inv-quiz-opt.inv-opt-selected {
    border-color: rgba(11,138,71,.5);
    background: var(--go-tint);
    color: var(--ink);
    font-weight: 600;
}
.inv-quiz-opt.inv-opt-selected.inv-opt-warn { border-color: rgba(180,83,9,.5); background: #FDF3E4; color: #8A4B0C; }
.inv-quiz-opt.inv-opt-selected.inv-opt-bad { border-color: rgba(180,35,24,.5); background: #FDF1F0; color: #7A1710; }

.inv-quiz-result { display: none; padding: 22px; border-top: 1px solid var(--line); background: var(--mist); }
.inv-quiz-result.inv-result-active { display: block; animation: invFadeIn .35s ease; }
@keyframes invFadeIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
.inv-quiz-result-head { display: flex; align-items: center; gap: 15px; margin-bottom: 16px; }
.inv-quiz-result-badge {
    flex-shrink: 0;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: #9AA6B2;
}
.inv-badge-ic { width: 30px; height: 30px; }
.inv-quiz-result-badge.r-low { background: var(--go); }
.inv-quiz-result-badge.r-med { background: #C97A16; }
.inv-quiz-result-badge.r-high { background: #B42318; }
.inv-quiz-result-badge.r-progress { background: #64748B; }
.inv-quiz-result-badge .inv-progress-num {
    font-family: var(--font-display);
    font-size: 21px;
    font-weight: 800;
    letter-spacing: -0.02em;
    display: flex;
    align-items: baseline;
    gap: 1px;
}
.inv-quiz-result-badge .inv-progress-num small { font-size: 12px; opacity: .7; font-weight: 600; }
.inv-quiz-result-title {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin: 0 0 3px;
    color: var(--slate);
}
.inv-quiz-result-title.r-low { color: var(--go-deep); }
.inv-quiz-result-title.r-med { color: #B45309; }
.inv-quiz-result-title.r-high { color: #B42318; }
.inv-quiz-result-title.r-progress { color: #64748B; }
.inv-quiz-result-score {
    font-family: var(--font-display);
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--ink);
    margin: 0;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}
.inv-quiz-result-score span { font-size: 13px; font-weight: 500; color: var(--faint); }
.inv-quiz-result-msg { color: var(--slate); font-size: 14px; line-height: 1.65; margin: 0 0 16px; }
.inv-quiz-result-msg strong { color: var(--ink); }
.inv-quiz-result-issues {
    display: none;
    margin: 0 0 18px;
    padding: 14px 16px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 12px;
}
.inv-quiz-result-issues.has-issues { display: block; }
.inv-quiz-result-issues h5 {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--faint);
    margin: 0 0 9px;
}
.inv-quiz-result-issues h5 svg { width: 14px; height: 14px; color: #B42318; }
.inv-quiz-result-issues ul { margin: 0; padding: 0; list-style: none; }
.inv-quiz-result-issues li {
    position: relative;
    padding: 6px 20px 6px 0;
    font-size: 13.5px;
    line-height: 1.5;
    color: var(--slate);
}
.inv-quiz-result-issues li::before {
    content: '';
    position: absolute;
    right: 4px;
    top: 12px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #B42318;
}
.inv-quiz-result-cta { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.inv-cta-primary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    border-radius: 11px;
    background: var(--go);
    color: #fff;
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
    transition: background .2s, transform .2s;
}
.inv-cta-primary:hover { background: var(--go-deep); color: #fff; transform: translateY(-1px); }
.inv-cta-primary svg { width: 17px; height: 17px; }
.inv-cta-secondary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 18px;
    border-radius: 11px;
    background: var(--paper);
    border: 1px solid var(--line);
    color: var(--ink);
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
    transition: border-color .2s, color .2s;
}
.inv-cta-secondary:hover { border-color: var(--go); color: var(--go-deep); }
.inv-cta-secondary svg { width: 17px; height: 17px; }
.inv-quiz-reset-btn {
    margin-right: auto;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: none;
    border: none;
    color: var(--faint);
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    padding: 6px 10px;
    border-radius: 8px;
    transition: color .2s, background .2s;
}
.inv-quiz-reset-btn:hover { color: var(--ink); background: var(--mist); }
.inv-quiz-reset-btn svg { width: 15px; height: 15px; }

/* =============================================================
   13. PRE-FLIGHT CHECKLIST (interactive tick)
============================================================= */
.v2inv-preflight {
    margin: 24px 0;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    overflow: hidden;
    transition: border-color .3s;
}
.v2inv-preflight.is-complete { border-color: rgba(11,138,71,.35); }
.v2inv-preflight__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
    padding: 15px 18px;
    background: var(--mist);
    border-bottom: 1px solid var(--line);
}
.v2inv-preflight__title { display: inline-flex; align-items: center; gap: 8px; color: var(--slate); }
.v2inv-preflight__title svg { width: 16px; height: 16px; color: var(--go); }
.v2inv-preflight__count { color: var(--faint); }
.v2inv-preflight__count b { color: var(--ink); font-weight: 700; }
.v2inv-preflight__body { padding: 8px 18px; }
.v2inv-preflight__body .v2gpr-ck { padding: 12px 0; }
.v2inv-preflight__body .v2gpr-ck + .v2gpr-ck { border-top: 1px solid var(--line); }
.v2inv-preflight__msg {
    padding: 14px 18px;
    background: var(--mist);
    border-top: 1px solid var(--line);
    font-size: 13px;
    line-height: 1.6;
    color: var(--slate);
}
.v2inv-preflight__msg b { color: var(--go-deep); }
.v2inv-preflight.is-complete .v2inv-preflight__msg { background: var(--go-tint); }

/* =============================================================
   14. DIY vs STRUCTURED TABLE
============================================================= */
.v2inv-vs { margin: 24px 0; }
.v2inv-vs__table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid var(--line);
    border-radius: 14px;
    overflow: hidden;
}
.v2inv-vs__table th {
    background: var(--ink);
    color: #C6D0DA;
    font-size: 10px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-align: right;
    padding: 13px 14px;
    vertical-align: middle;
}
.v2inv-vs__table th svg { width: 15px; height: 15px; vertical-align: -3px; margin-left: 5px; }
.v2inv-vs__table th.v2inv-vs__win { background: #0C3D26; color: #7BE0AC; }
.v2inv-vs__table td {
    padding: 13px 14px;
    font-size: 13.5px;
    color: var(--slate);
    border-top: 1px solid var(--line);
    vertical-align: middle;
}
.v2inv-vs__table td:first-child { background: var(--mist); color: var(--ink); }
.v2inv-vs__table td:first-child strong { color: var(--ink); font-weight: 650; }
.v2inv-vs__table td.v2inv-vs__win { background: var(--go-tint); color: var(--go-deep); font-weight: 600; }

/* =============================================================
   15. HELPFUL LINKS + BOTTOM LINE + DOCS
============================================================= */
.v2inv-links {
    margin: 26px 0;
    padding: 20px;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 16px;
}
.v2inv-links__title { display: inline-flex; align-items: center; gap: 8px; color: var(--slate); margin-bottom: 14px; }
.v2inv-links__title svg { width: 16px; height: 16px; color: var(--go); }
.v2inv-links__grid { display: grid; grid-template-columns: 1fr; gap: 9px; }
.v2inv-link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 14px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 11px;
    text-decoration: none;
    font-size: 14px;
    color: var(--slate);
    transition: border-color .2s, color .2s;
}
.v2inv-link:hover { border-color: #C9D2DA; color: var(--ink); }
.v2inv-link svg { width: 18px; height: 18px; color: var(--go); flex-shrink: 0; }

.v2inv-bottom {
    margin: 24px 0;
    padding: 22px 24px;
    background: var(--go-tint);
    border: 1px solid rgba(11,138,71,.2);
    border-radius: 16px;
}
.v2inv-bottom__tag { display: inline-flex; align-items: center; gap: 7px; color: var(--go-deep); margin-bottom: 11px; }
.v2inv-bottom__tag svg { width: 15px; height: 15px; }
.v2inv-bottom__text {
    margin: 0;
    font-size: 15.5px;
    line-height: 1.72;
    color: var(--ink);
    font-weight: 500;
}
.v2inv-bottom__text strong { color: var(--go-deep); }
.v2inv-bottom__text em { font-style: italic; color: var(--ink); }
.v2inv-bottom__text a { color: var(--go-deep); font-weight: 650; text-decoration: underline; text-underline-offset: 2px; }

.v2inv-docs {
    margin: 26px 0 0;
    padding: 20px;
    background: var(--mist);
    border: 1px solid var(--line);
    border-radius: 16px;
}
.v2inv-docs__title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 15px;
    color: var(--ink);
    margin-bottom: 12px;
}
.v2inv-docs__title svg { width: 18px; height: 18px; color: var(--slate); }
.v2inv-docs__list { display: grid; gap: 8px; }
.v2inv-docs__list a {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13.5px;
    color: var(--go-deep);
    text-decoration: none;
    line-height: 1.5;
}
.v2inv-docs__list a svg { width: 15px; height: 15px; flex-shrink: 0; color: var(--faint); }
.v2inv-docs__list a:hover { text-decoration: underline; }

/* =============================================================
   >= 560px : phablet - two-up stat grids, 14-day bar full width
============================================================= */
@media (min-width: 560px) {
    .v2inv-data__stats { grid-template-columns: repeat(3, 1fr); }
    .v2inv-data__stat { flex-direction: column; gap: 4px; }
    .v2inv-data__stat b { min-width: 0; }
    .v2inv-data__meta { flex-direction: row; gap: 16px; }
    .v2inv-links__grid { grid-template-columns: 1fr 1fr; }
    .v2inv-timeline__bar { grid-template-columns: repeat(14, 1fr); }
    .v2inv-day { height: 50px; }
    .v2inv-day span { font-size: 8.5px; }
}

/* =============================================================
   >= 720px : desktop - method + reset two-up, funnel narrows
============================================================= */
@media (min-width: 720px) {
    .v2inv-fstage { width: var(--w); }
    .v2inv-cost { grid-template-columns: 1fr 1fr; align-items: center; gap: 26px; padding: 26px 28px; }
    .v2inv-cost__num { font-size: 46px; }
    .v2inv-method { grid-template-columns: 1fr 1fr; }
    .v2inv-reset { grid-template-columns: 1fr 1fr; }
    .v2inv-reset__card.is-wide { grid-column: 1 / -1; }
    .v2inv-url__legend { grid-template-columns: repeat(3, 1fr); }
    .v2inv-data { padding: 28px 34px 26px 30px; }
    .v2inv-data__quote { font-size: 16.5px; }
}

/* =============================================================
   <= 520px : phones - tables collapse to stacked cards
============================================================= */
@media (max-width: 520px) {
    .v2inv-need__table, .v2inv-need__table tbody, .v2inv-need__table tr { display: block; }
    .v2inv-need__table thead { display: none; }
    .v2inv-need__table tr { border-top: 1px solid var(--line); padding: 4px 0; }
    .v2inv-need__table tr:first-child { border-top: none; }
    .v2inv-need__table td {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        border-top: none;
        padding: 7px 4px;
    }
    .v2inv-need__table td:first-child { background: transparent; padding-top: 12px; }
    .v2inv-need__table td[data-label]::before {
        content: attr(data-label);
        font-family: var(--font-mono);
        font-size: 10px;
        letter-spacing: 0.05em;
        text-transform: uppercase;
        color: var(--faint);
    }

    .v2inv-vs__table, .v2inv-vs__table tbody, .v2inv-vs__table tr { display: block; }
    .v2inv-vs__table thead { display: none; }
    .v2inv-vs__table tr { border-top: 8px solid var(--mist); }
    .v2inv-vs__table tr:first-child { border-top: none; }
    .v2inv-vs__table td { display: block; border-top: none; padding: 4px 14px; }
    .v2inv-vs__table td:first-child {
        background: var(--ink);
        color: #fff;
        font-weight: 700;
        text-transform: uppercase;
        font-size: 11px;
        letter-spacing: 0.05em;
        padding: 10px 14px;
    }
    .v2inv-vs__table td:first-child strong { color: #fff; }
    .v2inv-vs__table td[data-label] { padding: 9px 14px; }
    .v2inv-vs__table td[data-label]::before {
        content: attr(data-label) ": ";
        font-weight: 700;
        color: var(--faint);
    }
    .v2inv-vs__table td.v2inv-vs__win[data-label]::before { color: var(--go-deep); }
    .v2inv-vs__table td:last-child { padding-bottom: 12px; }
}

/* =============================================================
   <= 380px : very small phones
============================================================= */
@media (max-width: 380px) {
    .v2inv-cost__grid { grid-template-columns: 1fr; }
    .v2inv-fstage { gap: 11px; padding: 13px 14px; }
    .v2inv-fstage__pct { font-size: 13px; padding: 4px 8px; }
    .v2inv-day span { display: none; }
    .v2inv-day { height: 42px; }
    .inv-quiz-result-cta { flex-direction: column; align-items: stretch; }
    .inv-cta-primary, .inv-cta-secondary { justify-content: center; }
    .inv-quiz-reset-btn { margin-right: 0; align-self: flex-end; }
}

/* reduced motion: kill the result fade */
@media (prefers-reduced-motion: reduce) {
    .inv-quiz-result.inv-result-active { animation: none; }
}
/* ============= END BLOG INVITE TESTERS V2 ============= */


/* ============================================================
   BLOG TESTERS-DIFFERENT-COUNTRIES V2 (geo-)
   Unique country-availability components for
   /blog/testers-different-countries-closed-testing. Reuses the
   shared v2gpr- article layer (hero, rail, chips, prose, callouts,
   qa, toc, faq, bottom, docs, author, related, cta, scta) and adds
   the signature pieces below. Two dark moments only: the shared
   .v2gpr-qa capsule and the final .v2-cta band. Prefix: v2geo-.
============================================================ */
.v2geo-verdict, .v2geo-gates, .v2geo-path, .v2geo-sync, .v2geo-diag,
.v2geo-world, .v2geo-fig, .v2geo-sep, .v2geo-lock, .v2geo-fixgrid,
.v2geo-keys, .v2geo-layer, .v2geo-license, .v2geo-tracks, .v2geo-req,
.v2geo-org, .v2geo-plans {
    --geo-rose:      #B42318;
    --geo-rose-deep: #911D15;
    --geo-rose-tint: #FDF1F0;
    --geo-rose-line: #F3C9C4;
    --geo-amber:     #D9820A;
    --geo-amber-deep: #92400E;
    --geo-amber-body: #7C5310;
    --geo-amber-tint: #FEF6E7;
    --geo-amber-line: #F5DFA8;
    --geo-shadow:    0 1px 2px rgba(10, 16, 23, .04), 0 12px 28px -16px rgba(10, 16, 23, .16);
    --geo-shadow-lg: 0 2px 6px rgba(10, 16, 23, .05), 0 24px 48px -22px rgba(10, 16, 23, .22);
    margin: 30px 0;
}
/* lists / h4 sit outside the base :where(h1,h2,h3,p) reset (gotcha 19) */
.v2geo-sep__list, .v2geo-lock__list, .v2geo-layer__chips, .v2geo-diag__fix { margin: 0; padding: 0; list-style: none; }
.v2geo-layer__tx h4 { margin: 0; }

/* ---------- Hero fact plaque tweak ---------- */
.v2geo-fact--yes b { color: var(--go-deep); }

/* ============================================================
   SIGNATURE: availability verdict panel
============================================================ */
.v2geo-verdict {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 20px;
    overflow: hidden;
    box-shadow: var(--geo-shadow-lg);
}
.v2geo-verdict__main { display: grid; grid-template-columns: 1.12fr 0.88fr; }
.v2geo-verdict__yes {
    position: relative;
    padding: 26px 28px;
    background: linear-gradient(-160deg, var(--go-tint), var(--paper) 82%);
    border-left: 1px solid var(--line);
}
.v2geo-verdict__tag {
    display: flex; align-items: center; gap: 7px;
    font-size: 11px; letter-spacing: 0.11em;
    color: var(--go-deep); margin-bottom: 16px;
}
.v2geo-verdict__tag svg { width: 15px; height: 15px; }
.v2geo-verdict__hd { display: flex; align-items: center; gap: 15px; margin-bottom: 13px; }
.v2geo-verdict__badge {
    width: 52px; height: 52px; flex-shrink: 0; border-radius: 15px;
    background: var(--go); color: #fff;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 8px 20px -6px rgba(11, 138, 71, 0.5);
}
.v2geo-verdict__badge svg { width: 28px; height: 28px; }
.v2geo-verdict__hdtx b {
    display: block; font-family: var(--font-display); font-weight: 800;
    font-size: 24px; letter-spacing: -0.02em; color: var(--ink); line-height: 1.05;
}
.v2geo-verdict__hdtx span { display: block; margin-top: 4px; font-size: 13px; color: var(--slate); }
.v2geo-verdict__yes > p { font-size: 14.5px; line-height: 1.7; color: var(--slate); }
.v2geo-verdict__cond { padding: 26px 28px; display: flex; flex-direction: column; justify-content: center; }
.v2geo-verdict__condlbl {
    display: flex; align-items: center; gap: 7px;
    font-size: 10.5px; letter-spacing: 0.12em; color: var(--faint); margin-bottom: 11px;
}
.v2geo-verdict__condlbl svg { width: 15px; height: 15px; }
.v2geo-verdict__big {
    font-family: var(--font-display); font-weight: 650; font-size: 18px;
    line-height: 1.4; letter-spacing: -0.01em; color: var(--ink); margin-bottom: 9px;
}
.v2geo-verdict__big b { color: var(--go-deep); }
.v2geo-verdict__sm { font-size: 13px; line-height: 1.6; color: var(--slate); }
.v2geo-verdict__strip { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--line); }
.v2geo-outcome { display: flex; align-items: center; gap: 13px; padding: 16px 22px; }
.v2geo-outcome.is-ok { background: linear-gradient(-135deg, var(--go-tint), var(--paper)); border-left: 1px solid var(--line); }
.v2geo-outcome.is-no { background: linear-gradient(-135deg, var(--geo-rose-tint), var(--paper)); }
.v2geo-outcome__ic {
    width: 44px; height: 44px; flex-shrink: 0; border-radius: 13px; color: #fff;
    display: flex; align-items: center; justify-content: center;
}
.v2geo-outcome.is-ok .v2geo-outcome__ic { background: var(--go); }
.v2geo-outcome.is-no .v2geo-outcome__ic { background: var(--geo-rose); }
.v2geo-outcome__ic svg { width: 24px; height: 24px; }
.v2geo-outcome__l { display: block; font-size: 10px; letter-spacing: 0.09em; margin-bottom: 2px; }
.v2geo-outcome.is-ok .v2geo-outcome__l { color: var(--go-deep); }
.v2geo-outcome.is-no .v2geo-outcome__l { color: var(--geo-rose-deep); }
.v2geo-outcome__t { display: block; font-size: 14px; font-weight: 700; color: var(--ink); line-height: 1.25; }
.v2geo-outcome__s { display: block; font-size: 12px; color: var(--slate); line-height: 1.4; margin-top: 2px; }

/* ============================================================
   SIGNATURE INTERACTIVE: two-gate install checker
============================================================ */
.v2geo-gates {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 22px 22px 20px;
    box-shadow: var(--geo-shadow);
}
.v2geo-gates__label {
    display: flex; align-items: center; gap: 8px;
    font-size: 11px; letter-spacing: 0.1em; color: var(--go-deep); margin-bottom: 6px;
}
.v2geo-gates__label svg { width: 17px; height: 17px; flex-shrink: 0; }
.v2geo-gates__sub { font-size: 13px; line-height: 1.55; color: var(--slate); margin-bottom: 18px; }
.v2geo-gates__sub strong { color: var(--ink); font-weight: 650; }
.v2geo-gates__grid { display: grid; grid-template-columns: 1fr 46px 1fr; gap: 12px; align-items: center; }
.v2geo-gate {
    border: 1.5px solid var(--line); border-radius: 14px; padding: 18px 16px 15px;
    background: var(--paper); text-align: center;
    transition: border-color 0.25s ease, background 0.25s ease;
}
.v2geo-gate.on { border-color: rgba(11, 138, 71, 0.4); background: linear-gradient(-165deg, var(--go-tint), var(--paper)); }
.v2geo-gate.off { border-color: var(--geo-rose-line); background: linear-gradient(-165deg, var(--geo-rose-tint), var(--paper)); }
.v2geo-gate__ic {
    width: 46px; height: 46px; margin: 0 auto 11px; border-radius: 13px; color: #fff;
    display: flex; align-items: center; justify-content: center;
    background: var(--slate); transition: background 0.25s ease;
}
.v2geo-gate.on .v2geo-gate__ic { background: var(--go); }
.v2geo-gate.off .v2geo-gate__ic { background: #AEB8C2; }
.v2geo-gate__ic svg { width: 24px; height: 24px; }
.v2geo-gate__name { font-family: var(--font-display); font-weight: 700; font-size: 14.5px; color: var(--ink); margin-bottom: 4px; }
.v2geo-gate__desc { font-size: 12px; line-height: 1.5; color: var(--slate); margin-bottom: 14px; min-height: 36px; }
.v2geo-gates__and {
    display: flex; align-items: center; justify-content: center;
    width: 40px; height: 40px; margin: 0 auto; border-radius: 50%;
    background: var(--mist); border: 1px solid var(--line);
    font-size: 10px; letter-spacing: 0.08em; color: var(--faint);
}
/* Toggle switch is a <button> - scope under .v2 (gotcha 2) */
.v2 .v2geo-switch {
    display: inline-flex; align-items: center; gap: 9px;
    background: none; border: none; padding: 0; cursor: pointer; font-family: inherit;
}
.v2geo-switch__track {
    position: relative; width: 44px; height: 24px; flex-shrink: 0;
    border-radius: 13px; background: #CBD5E1; transition: background 0.25s ease;
}
.v2geo-gate.on .v2geo-switch__track { background: var(--go); }
.v2geo-switch__knob {
    position: absolute; top: 3px; right: 3px; width: 18px; height: 18px; border-radius: 50%;
    background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25); transition: right 0.25s ease;
}
.v2geo-gate.on .v2geo-switch__knob { right: 23px; }
.v2geo-switch__lbl { font-size: 10.5px; letter-spacing: 0.06em; color: var(--faint); }
.v2geo-gate.on .v2geo-switch__lbl { color: var(--go-deep); }
.v2geo-gate.off .v2geo-switch__lbl { color: var(--geo-rose-deep); }
.v2geo-gates__out {
    display: flex; align-items: center; justify-content: center; gap: 10px;
    margin-top: 18px; border-radius: 12px; padding: 14px 18px;
    font-family: var(--font-display); font-weight: 700; font-size: 15px; text-align: center;
    transition: background 0.25s ease, color 0.25s ease;
}
.v2geo-gates__out.allow { background: var(--go-tint); color: var(--go-deep); }
.v2geo-gates__out.block { background: var(--geo-rose-tint); color: var(--geo-rose-deep); }
.v2geo-gates__outic { display: inline-flex; flex-shrink: 0; }
.v2geo-gates__outic svg { width: 22px; height: 22px; }
.v2geo-gates__out .is-block { display: none; }
.v2geo-gates__out.allow .is-allow { display: block; }
.v2geo-gates__out.allow .is-block { display: none; }
.v2geo-gates__out.block .is-allow { display: none; }
.v2geo-gates__out.block .is-block { display: block; }
.v2geo-gates__note { font-size: 12.5px; line-height: 1.55; color: var(--slate); text-align: center; margin-top: 11px; }

/* ============================================================
   Console path stepper
============================================================ */
.v2geo-path { position: relative; }
.v2geo-path__step { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 16px; padding-bottom: 16px; position: relative; }
.v2geo-path__step:last-child { padding-bottom: 0; }
.v2geo-path__step::before {
    content: ''; position: absolute; right: 19px; top: 44px; bottom: 2px; width: 2px;
    background: repeating-linear-gradient(-180deg, var(--line) 0 6px, transparent 6px 11px);
}
.v2geo-path__step:last-child::before { display: none; }
.v2geo-path__n {
    position: relative; z-index: 1; width: 40px; height: 40px; border-radius: 12px;
    background: var(--ink); color: #fff; display: flex; align-items: center; justify-content: center;
    font-size: 15px; font-weight: 600; letter-spacing: 0;
}
.v2geo-path__body { background: var(--paper); border: 1px solid var(--line); border-radius: 14px; padding: 14px 18px; }
.v2geo-path__t {
    font-family: var(--font-display); font-weight: 600; font-size: 15px; color: var(--ink);
    display: flex; align-items: center; gap: 10px; flex-wrap: wrap; line-height: 1.35; margin-bottom: 6px;
}
.v2geo-path__loc {
    display: inline-flex; align-items: center; gap: 4px; font-size: 10.5px;
    color: var(--go-deep); background: var(--go-tint); border: 1px solid rgba(11, 138, 71, 0.2);
    border-radius: 7px; padding: 3px 9px;
}
.v2geo-path__loc svg { width: 12px; height: 12px; }
.v2geo-path__body p { font-size: 14px; line-height: 1.65; color: var(--slate); }
.v2geo-path__body p strong { color: var(--ink); font-weight: 650; }

/* ============================================================
   Synced / unsynced production cards
============================================================ */
.v2geo-sync { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.v2geo-sync__card { border-radius: 14px; padding: 18px 20px; border: 1px solid var(--line); }
.v2geo-sync__card.is-linked { background: linear-gradient(-165deg, var(--geo-amber-tint), var(--paper)); border-color: var(--geo-amber-line); }
.v2geo-sync__card.is-unlinked { background: linear-gradient(-165deg, var(--go-tint), var(--paper)); border-color: rgba(11, 138, 71, 0.25); }
.v2geo-sync__top { display: flex; align-items: center; gap: 12px; margin-bottom: 11px; }
.v2geo-sync__ic {
    width: 40px; height: 40px; flex-shrink: 0; border-radius: 11px; color: #fff;
    display: flex; align-items: center; justify-content: center;
}
.v2geo-sync__card.is-linked .v2geo-sync__ic { background: var(--geo-amber); }
.v2geo-sync__card.is-unlinked .v2geo-sync__ic { background: var(--go); }
.v2geo-sync__ic svg { width: 21px; height: 21px; }
.v2geo-sync__tag { display: block; font-size: 9.5px; letter-spacing: 0.1em; margin-bottom: 2px; }
.v2geo-sync__card.is-linked .v2geo-sync__tag { color: var(--geo-amber-deep); }
.v2geo-sync__card.is-unlinked .v2geo-sync__tag { color: var(--go-deep); }
.v2geo-sync__ttl { display: block; font-family: var(--font-display); font-weight: 700; font-size: 14.5px; color: var(--ink); }
.v2geo-sync__card p { font-size: 12.5px; line-height: 1.6; color: var(--slate); }
.v2geo-sync__card p strong { color: var(--ink); font-weight: 650; }

/* ============================================================
   SIGNATURE INTERACTIVE: tester error diagnoser
============================================================ */
.v2geo-diag { background: var(--paper); border: 1px solid var(--line); border-radius: 20px; overflow: hidden; box-shadow: var(--geo-shadow-lg); }
.v2geo-diag__head { display: flex; align-items: center; gap: 13px; padding: 20px 22px; background: var(--mist); border-bottom: 1px solid var(--line); }
.v2geo-diag__badge {
    width: 44px; height: 44px; flex-shrink: 0; border-radius: 12px;
    background: var(--go-tint); border: 1px solid rgba(11, 138, 71, 0.22); color: var(--go);
    display: flex; align-items: center; justify-content: center;
}
.v2geo-diag__badge svg { width: 23px; height: 23px; }
.v2geo-diag__ttl { display: block; font-family: var(--font-display); font-weight: 650; font-size: 16.5px; color: var(--ink); }
.v2geo-diag__sub { display: block; font-size: 12.5px; color: var(--slate); margin-top: 2px; }
.v2geo-diag__body { padding: 22px; }
.v2geo-diag__q { font-size: 11px; letter-spacing: 0.1em; color: var(--faint); margin-bottom: 12px; }
.v2geo-diag__chips { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; margin-bottom: 20px; }
.v2 .v2geo-diag__chip {
    display: flex; align-items: center; gap: 11px; padding: 14px 16px;
    background: var(--mist); border: 1.5px solid var(--line); border-radius: 12px;
    color: var(--slate); font-family: inherit; font-size: 13.5px; font-weight: 500;
    line-height: 1.35; text-align: right; cursor: pointer;
    transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease, color 0.2s ease;
}
.v2 .v2geo-diag__chip svg { width: 20px; height: 20px; flex-shrink: 0; color: var(--faint); transition: color 0.2s ease; }
.v2 .v2geo-diag__chip:hover { border-color: #C9D2DA; background: var(--paper); }
.v2 .v2geo-diag__chip.is-active { border-color: var(--go); background: var(--paper); color: var(--ink); box-shadow: 0 0 0 3px var(--go-tint); }
.v2 .v2geo-diag__chip.is-active svg { color: var(--go); }
.v2geo-diag__out { border: 1px dashed #C9D2DA; border-radius: 13px; padding: 20px; min-height: 118px; background: var(--mist); }
.v2geo-diag__empty { display: flex; align-items: center; gap: 10px; color: var(--faint); font-size: 13.5px; }
.v2geo-diag__empty svg { width: 20px; height: 20px; flex-shrink: 0; }
.v2geo-diag__result { animation: v2geoIn 0.3s ease; }
@keyframes v2geoIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.v2geo-diag__verdict {
    display: inline-block; font-family: var(--font-mono); font-size: 10.5px; font-weight: 600;
    letter-spacing: 0.08em; text-transform: uppercase; padding: 6px 12px; border-radius: 8px; margin-bottom: 12px;
}
.v2geo-diag__verdict.is-geo { background: var(--geo-rose-tint); color: var(--geo-rose-deep); }
.v2geo-diag__verdict.is-acct { background: var(--geo-amber-tint); color: var(--geo-amber-deep); }
.v2geo-diag__verdict.is-part { background: var(--go-tint); color: var(--go-deep); }
.v2geo-diag__cause { font-size: 14.5px; line-height: 1.6; font-weight: 600; color: var(--ink); margin-bottom: 14px; }
.v2geo-diag__fix { counter-reset: gfix; }
.v2geo-diag__fix li {
    display: flex; gap: 11px; align-items: flex-start; font-size: 13.5px; line-height: 1.55;
    color: var(--slate); padding: 8px 0; border-top: 1px solid var(--line);
}
.v2geo-diag__fix li:first-child { border-top: none; }
.v2geo-diag__fix li::before {
    counter-increment: gfix; content: counter(gfix); flex-shrink: 0;
    width: 22px; height: 22px; border-radius: 50%; background: var(--go); color: #fff;
    font-family: var(--font-mono); font-size: 11px; font-weight: 600;
    display: flex; align-items: center; justify-content: center;
}
.v2geo-diag__foot { font-size: 11.5px; line-height: 1.5; color: var(--faint); margin-top: 14px; font-style: italic; }

/* ============================================================
   177 world-coverage meter
============================================================ */
.v2geo-world { background: var(--paper); border: 1px solid var(--line); border-radius: 18px; padding: 24px 26px; box-shadow: var(--geo-shadow); }
.v2geo-world__top { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.v2geo-world__num { flex-shrink: 0; text-align: center; }
.v2geo-world__num b {
    display: block; font-family: var(--font-display); font-weight: 800; font-size: 52px;
    line-height: 1; letter-spacing: -0.03em; color: var(--go-deep);
}
.v2geo-world__num .v2-mono { display: block; margin-top: 6px; font-size: 9.5px; color: var(--faint); }
.v2geo-world__bar { flex: 1; min-width: 230px; }
.v2geo-world__meter { height: 14px; background: #E9EDF1; border-radius: 8px; overflow: hidden; margin-bottom: 10px; }
.v2geo-world__meter span {
    display: block; height: 100%; width: 100%; border-radius: 8px;
    background: linear-gradient(-90deg, #34D399, var(--go)); animation: v2geoFill 1.25s cubic-bezier(0.2, 0.8, 0.2, 1);
}
@keyframes v2geoFill { from { width: 0; } }
.v2geo-world__bar p { font-size: 13px; line-height: 1.6; color: var(--slate); }
.v2geo-world__reasons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 20px; }
.v2geo-world__reason { display: flex; gap: 10px; align-items: flex-start; background: var(--mist); border: 1px solid var(--line); border-radius: 12px; padding: 13px 15px; }
.v2geo-world__reason svg { width: 19px; height: 19px; flex-shrink: 0; color: var(--go); margin-top: 1px; }
.v2geo-world__reason span { font-size: 12.5px; line-height: 1.55; color: var(--slate); }
.v2geo-world__reason strong { color: var(--ink); font-weight: 650; }

/* ---------- Figure (screenshot) ---------- */
.v2geo-fig { border: 1px solid var(--line); border-radius: 16px; overflow: hidden; background: var(--paper); box-shadow: var(--geo-shadow); }
.v2geo-fig img { display: block; width: 100%; height: auto; }
.v2geo-fig figcaption {
    display: flex; gap: 9px; align-items: flex-start; font-size: 12.5px; line-height: 1.55;
    color: var(--slate); padding: 13px 18px; background: var(--mist); border-top: 1px solid var(--line);
}
.v2geo-fig figcaption svg { width: 16px; height: 16px; flex-shrink: 0; color: var(--go); margin-top: 1px; }

/* ---------- Test vs production separation ---------- */
.v2geo-sep { display: grid; grid-template-columns: 1fr auto 1fr; gap: 14px; align-items: center; }
.v2geo-sep__card { border: 1px solid var(--line); border-radius: 14px; padding: 18px 20px; background: var(--paper); }
.v2geo-sep__card.is-test { border-top: 3px solid var(--go); }
.v2geo-sep__card.is-prod { border-top: 3px solid #AEB8C2; }
.v2geo-sep__h { display: flex; align-items: center; gap: 9px; font-family: var(--font-display); font-weight: 700; font-size: 14px; color: var(--ink); margin-bottom: 12px; }
.v2geo-sep__h svg { width: 18px; height: 18px; flex-shrink: 0; }
.v2geo-sep__card.is-test .v2geo-sep__h svg { color: var(--go); }
.v2geo-sep__card.is-prod .v2geo-sep__h svg { color: var(--slate); }
.v2geo-sep__list li { display: flex; gap: 9px; align-items: flex-start; font-size: 12.5px; line-height: 1.5; color: var(--slate); padding: 5px 0; }
.v2geo-sep__list .v2gpr-mk { margin-top: 1px; }
.v2geo-sep__mid { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.v2geo-sep__node { 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; }
.v2geo-sep__node svg { width: 21px; height: 21px; }
.v2geo-sep__midtx { font-size: 9px; letter-spacing: 0.08em; color: var(--faint); text-align: center; line-height: 1.3; }

/* ---------- Country switch lock (amber) ---------- */
.v2geo-lock {
    display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 20px; align-items: center;
    background: linear-gradient(-135deg, var(--geo-amber-tint), var(--paper));
    border: 1px solid var(--geo-amber-line); border-radius: 16px; padding: 24px 26px;
}
.v2geo-lock__ic {
    width: 60px; height: 60px; flex-shrink: 0; border-radius: 16px; background: var(--geo-amber); color: #fff;
    display: flex; align-items: center; justify-content: center; box-shadow: 0 8px 20px -6px rgba(217, 130, 10, 0.5);
}
.v2geo-lock__ic svg { width: 30px; height: 30px; }
.v2geo-lock__t { font-family: var(--font-display); font-weight: 700; font-size: 16px; color: var(--ink); margin-bottom: 11px; }
.v2geo-lock__list { display: grid; gap: 8px; }
.v2geo-lock__list li { display: flex; gap: 10px; align-items: flex-start; font-size: 13.5px; line-height: 1.5; color: var(--geo-amber-body); }
.v2geo-lock__list li svg { width: 17px; height: 17px; flex-shrink: 0; color: var(--geo-amber); margin-top: 1px; }
.v2geo-lock__list li strong { color: var(--ink); font-weight: 700; }

/* ---------- Troubleshooting fix cards ---------- */
.v2geo-fixgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.v2geo-fixcard { 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; }
.v2geo-fixcard:hover { border-color: #C9D2DA; box-shadow: 0 10px 24px -16px rgba(10, 16, 23, 0.16); }
.v2geo-fixcard__top { display: flex; align-items: center; gap: 11px; margin-bottom: 9px; }
.v2geo-fixcard__n {
    width: 28px; height: 28px; flex-shrink: 0; border-radius: 9px; background: var(--mist);
    border: 1px solid var(--line); color: var(--ink); display: flex; align-items: center; justify-content: center;
    font-size: 12.5px; letter-spacing: 0;
}
.v2geo-fixcard__t { font-family: var(--font-display); font-weight: 650; font-size: 14.5px; color: var(--ink); line-height: 1.25; }
.v2geo-fixcard__most {
    margin-right: auto; flex-shrink: 0; font-size: 9px; letter-spacing: 0.08em;
    color: var(--geo-rose-deep); background: var(--geo-rose-tint); border: 1px solid var(--geo-rose-line);
    border-radius: 6px; padding: 3px 8px; white-space: nowrap;
}
.v2geo-fixcard p { font-size: 13px; line-height: 1.6; color: var(--slate); }
.v2geo-fixcard p strong { color: var(--ink); font-weight: 650; }

/* ---------- Two keys (who / where) ---------- */
.v2geo-keys { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.v2geo-key { display: flex; align-items: center; gap: 14px; background: var(--paper); border: 1px solid var(--line); border-radius: 14px; padding: 16px 18px; }
.v2geo-key__ic { width: 46px; height: 46px; flex-shrink: 0; border-radius: 13px; background: var(--mist); border: 1px solid var(--line); color: var(--slate); display: flex; align-items: center; justify-content: center; }
.v2geo-key__ic svg { width: 23px; height: 23px; }
.v2geo-key__tx { min-width: 0; }
.v2geo-key__kl { display: block; font-size: 9.5px; letter-spacing: 0.1em; color: var(--faint); margin-bottom: 2px; }
.v2geo-key__kt { display: block; font-family: var(--font-display); font-weight: 650; font-size: 14.5px; color: var(--ink); line-height: 1.25; }
.v2geo-key__ks { display: block; font-size: 12px; line-height: 1.45; color: var(--slate); margin-top: 3px; }

/* ---------- Two-layer access model ---------- */
.v2geo-layer { display: grid; gap: 13px; }
.v2geo-layer__card { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 16px; align-items: flex-start; border: 1px solid var(--line); border-radius: 14px; padding: 18px 20px; background: var(--paper); }
.v2geo-layer__card.is-l1 { border-right: 3px solid var(--ink); }
.v2geo-layer__card.is-l2 { border-right: 3px solid var(--go); }
.v2geo-layer__badge { width: 50px; height: 50px; flex-shrink: 0; border-radius: 13px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #fff; line-height: 1; }
.v2geo-layer__card.is-l1 .v2geo-layer__badge { background: var(--ink); }
.v2geo-layer__card.is-l2 .v2geo-layer__badge { background: var(--go); }
.v2geo-layer__badge b { font-family: var(--font-display); font-size: 18px; font-weight: 800; }
.v2geo-layer__badge .v2-mono { font-size: 8px; letter-spacing: 0.06em; margin-top: 3px; opacity: 0.9; }
.v2geo-layer__tx h4 { font-family: var(--font-display); font-weight: 700; font-size: 14.5px; color: var(--ink); margin-bottom: 4px; }
.v2geo-layer__tx p { font-size: 13px; line-height: 1.6; color: var(--slate); }
.v2geo-layer__chips { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.v2geo-layer__chips span { font-size: 11px; font-weight: 500; color: var(--slate); background: var(--mist); border: 1px solid var(--line); border-radius: 6px; padding: 3px 9px; }

/* ---------- List traps (amber warning rows) ---------- */
.v2geo-trap {
    display: flex; gap: 13px; align-items: flex-start; margin: 13px 0;
    background: var(--geo-amber-tint); border: 1px solid var(--geo-amber-line); border-radius: 12px; padding: 15px 17px;
}
.v2geo-trap__ic { width: 34px; height: 34px; flex-shrink: 0; border-radius: 10px; background: rgba(217, 130, 10, 0.12); color: #B8720A; display: flex; align-items: center; justify-content: center; }
.v2geo-trap__ic svg { width: 19px; height: 19px; }
.v2geo-trap p { font-size: 13.5px; line-height: 1.6; color: var(--geo-amber-body); }
.v2geo-trap p strong { color: var(--geo-amber-deep); font-weight: 700; }

/* ---------- License testing panel ---------- */
.v2geo-license {
    display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 18px; align-items: center;
    background: linear-gradient(-135deg, var(--go-tint), var(--paper)); border: 1px solid rgba(11, 138, 71, 0.22);
    border-radius: 16px; padding: 22px 26px;
}
.v2geo-license__ic {
    width: 56px; height: 56px; flex-shrink: 0; border-radius: 15px; background: var(--go); color: #fff;
    display: flex; align-items: center; justify-content: center; box-shadow: 0 8px 20px -6px rgba(11, 138, 71, 0.5);
}
.v2geo-license__ic svg { width: 28px; height: 28px; }
.v2geo-license__t { font-family: var(--font-display); font-weight: 700; font-size: 15.5px; color: var(--ink); margin-bottom: 7px; display: flex; align-items: center; gap: 9px; flex-wrap: wrap; line-height: 1.3; }
.v2geo-license__tx p { font-size: 13.5px; line-height: 1.65; color: var(--slate); }

/* ---------- Track comparison cards ---------- */
.v2geo-tracks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; align-items: start; }
.v2geo-track { border: 1px solid var(--line); border-radius: 15px; overflow: hidden; background: var(--paper); }
.v2geo-track.is-key { border: 1.5px solid var(--go); box-shadow: 0 12px 30px -18px rgba(11, 138, 71, 0.4); }
.v2geo-track__head { padding: 16px 18px; background: var(--mist); border-bottom: 1px solid var(--line); }
.v2geo-track.is-key .v2geo-track__head { background: var(--ink); border-bottom-color: transparent; }
.v2geo-track__badge { display: inline-block; margin-bottom: 8px; font-size: 8px; letter-spacing: 0.06em; color: #0A1017; background: #3ECF81; border-radius: 5px; padding: 3px 7px; }
.v2geo-track__name { display: flex; align-items: center; gap: 8px; font-family: var(--font-display); font-weight: 700; font-size: 16px; color: var(--ink); }
.v2geo-track__name svg { width: 18px; height: 18px; flex-shrink: 0; color: var(--slate); }
.v2geo-track.is-key .v2geo-track__name { color: #fff; }
.v2geo-track.is-key .v2geo-track__name svg { color: #3ECF81; }
.v2geo-track__sub { display: block; font-size: 11.5px; color: var(--slate); margin-top: 3px; }
.v2geo-track.is-key .v2geo-track__sub { color: #93A0AC; }
.v2geo-track__row { padding: 12px 18px; border-top: 1px solid #F0F2F5; }
.v2geo-track__row:first-of-type { border-top: none; }
.v2geo-track__rl { display: block; font-size: 9.5px; letter-spacing: 0.09em; color: var(--faint); margin-bottom: 4px; }
.v2geo-track__rv { display: block; font-size: 12.5px; line-height: 1.5; color: var(--slate); }
.v2geo-track__rv strong { color: var(--ink); font-weight: 700; }
.v2geo-track__yes { color: var(--go-deep); font-weight: 700; }
.v2geo-track__no { color: var(--geo-rose-deep); font-weight: 700; }

/* ---------- 2026 requirement stat band ---------- */
.v2geo-req { background: var(--mist); border: 1px solid var(--line); border-radius: 16px; padding: 22px 24px; }
.v2geo-req__head { display: flex; align-items: center; gap: 9px; font-size: 11px; letter-spacing: 0.09em; color: var(--slate); margin-bottom: 16px; }
.v2geo-req__head svg { width: 17px; height: 17px; flex-shrink: 0; color: var(--go); }
.v2geo-req__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.v2geo-req__stat { background: var(--paper); border: 1px solid var(--line); border-radius: 12px; padding: 16px 12px; text-align: center; }
.v2geo-req__stat b { display: block; font-family: var(--font-display); font-weight: 800; font-size: 24px; line-height: 1; letter-spacing: -0.02em; color: var(--ink); font-variant-numeric: tabular-nums; }
.v2geo-req__stat span { display: block; font-size: 9px; letter-spacing: 0.06em; color: var(--faint); margin-top: 7px; line-height: 1.3; }

/* ---------- Organization exempt box ---------- */
.v2geo-org { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 16px; align-items: center; background: var(--paper); border: 1px solid var(--line); border-radius: 14px; padding: 20px 22px; }
.v2geo-org__ic { width: 52px; height: 52px; flex-shrink: 0; border-radius: 14px; background: var(--mist); border: 1px solid var(--line); color: var(--slate); display: flex; align-items: center; justify-content: center; }
.v2geo-org__ic svg { width: 26px; height: 26px; }
.v2geo-org p { font-size: 13.5px; line-height: 1.65; color: var(--slate); }
.v2geo-org p strong { color: var(--ink); font-weight: 700; }

/* ---------- Pricing cards ---------- */
.v2geo-plans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; align-items: start; }
.v2geo-plan { position: relative; border: 1px solid var(--line); border-radius: 16px; padding: 26px 22px 24px; background: var(--paper); text-align: center; transition: border-color 0.25s ease, box-shadow 0.25s ease; }
.v2geo-plan:hover { border-color: #C9D2DA; box-shadow: 0 14px 34px -20px rgba(10, 16, 23, 0.2); }
.v2geo-plan.is-feat { border: 1.5px solid var(--go); box-shadow: 0 14px 34px -20px rgba(11, 138, 71, 0.3); }
.v2geo-plan__tag { position: absolute; top: -11px; right: 50%; transform: translateX(50%); background: var(--go); color: #fff; font-size: 9px; letter-spacing: 0.08em; padding: 4px 13px; border-radius: 999px; white-space: nowrap; }
.v2geo-plan__name { font-size: 11px; letter-spacing: 0.1em; color: var(--go-deep); margin-bottom: 8px; }
.v2geo-plan__amt { font-family: var(--font-display); font-weight: 800; font-size: 34px; letter-spacing: -0.02em; color: var(--ink); line-height: 1; }
.v2geo-plan__amt small { font-size: 15px; color: var(--faint); font-weight: 600; }
.v2geo-plan__testers { font-size: 12.5px; line-height: 1.5; color: var(--slate); margin: 9px 0 16px; }
.v2geo-plan__testers b { color: var(--ink); font-size: 14.5px; }
.v2 .v2geo-plan__btn { display: block; background: var(--mist); border: 1px solid var(--line); color: var(--ink); font-weight: 600; font-size: 14px; padding: 12px; border-radius: 10px; text-decoration: none; transition: background 0.2s ease, border-color 0.2s ease; }
.v2 .v2geo-plan__btn:hover { border-color: #C9D2DA; }
.v2 .v2geo-plan.is-feat .v2geo-plan__btn { background: var(--go); border-color: var(--go); color: #fff; }
.v2 .v2geo-plan.is-feat .v2geo-plan__btn:hover { background: var(--go-deep); border-color: var(--go-deep); }

/* ============================================================
   BLOG GEO V2 - responsive
============================================================ */
@media (max-width: 960px) {
    .v2geo-verdict__main { grid-template-columns: minmax(0, 1fr); }
    .v2geo-verdict__yes { border-left: none; border-bottom: 1px solid var(--line); }
}
@media (max-width: 820px) {
    .v2geo-verdict__strip { grid-template-columns: minmax(0, 1fr); }
    .v2geo-outcome.is-ok { border-left: none; border-bottom: 1px solid var(--line); }
    .v2geo-gates__grid { grid-template-columns: minmax(0, 1fr); }
    .v2geo-gates__and { transform: rotate(-90deg); margin: 2px auto; }
    .v2geo-gate__desc { min-height: 0; }
    .v2geo-sync { grid-template-columns: minmax(0, 1fr); }
    .v2geo-diag__chips { grid-template-columns: minmax(0, 1fr); }
    .v2geo-world__reasons { grid-template-columns: minmax(0, 1fr); }
    .v2geo-sep { grid-template-columns: minmax(0, 1fr); }
    .v2geo-sep__mid { flex-direction: row; justify-content: center; gap: 9px; }
    .v2geo-sep__node { transform: rotate(-90deg); }
    .v2geo-lock { grid-template-columns: minmax(0, 1fr); gap: 15px; }
    .v2geo-fixgrid { grid-template-columns: minmax(0, 1fr); }
    .v2geo-keys { grid-template-columns: minmax(0, 1fr); }
    .v2geo-license { grid-template-columns: minmax(0, 1fr); gap: 15px; }
    .v2geo-tracks { grid-template-columns: minmax(0, 1fr); }
    .v2geo-plans { grid-template-columns: minmax(0, 1fr); }
    .v2geo-org { grid-template-columns: minmax(0, 1fr); gap: 14px; }
}
@media (max-width: 640px) {
    .v2geo-verdict__yes, .v2geo-verdict__cond { padding: 22px 18px; }
    .v2geo-verdict__hdtx b { font-size: 22px; }
    .v2geo-gates { padding: 20px 16px 18px; }
    .v2geo-diag__head { padding: 16px 18px; }
    .v2geo-diag__body { padding: 18px 16px; }
    .v2geo-diag__out { padding: 16px; }
    .v2geo-world { padding: 20px 18px; }
    .v2geo-world__num b { font-size: 44px; }
    .v2geo-req__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .v2geo-path__step { grid-template-columns: 34px minmax(0, 1fr); gap: 13px; }
    .v2geo-path__n { width: 34px; height: 34px; font-size: 14px; }
    .v2geo-path__step::before { right: 16px; top: 40px; }
    .v2geo-plans { gap: 22px; }
    .v2geo-lock { padding: 20px 18px; }
    .v2geo-license { padding: 20px 18px; }
}
@media (max-width: 480px) {
    .v2geo-world__top { gap: 16px; }
    .v2geo-verdict__badge { width: 46px; height: 46px; }
    .v2geo-req__stat b { font-size: 21px; }
}

/* Reduced motion: settle every v2geo animation/transition to its end state */
@media (prefers-reduced-motion: reduce) {
    .v2geo-world__meter span, .v2geo-diag__result { animation: none; }
    .v2geo-gate, .v2geo-gate__ic, .v2geo-switch__track, .v2geo-switch__knob,
    .v2geo-gates__out, .v2geo-fixcard, .v2geo-plan, .v2 .v2geo-diag__chip,
    .v2 .v2geo-plan__btn { transition: none; }
}
/* ============= END BLOG GEO V2 ============= */


/* =============================================================
   BLOG INVITE TESTERS V2 - BUTTON SCOPING FIX
   .inv-copy-btn and .inv-quiz-reset-btn are <button> elements, so
   the base ".v2 button" reset (background:none; border:0;
   color:inherit; padding:0 - specificity 0,1,1) flattens the
   unscoped 0,1,0 component rules and the copy pill renders as
   near-invisible inherited-dark text on the dark template header
   (V2 gotcha 12.2). Re-declare scoped under .v2 (0,2,0) so it wins.
============================================================= */
.v2 .inv-copy-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
    padding: 7px 13px;
    border-radius: 9px;
    border: 1px solid rgba(62,207,129,.35);
    background: rgba(62,207,129,.14);
    color: #4FE39A;
    font-family: var(--font-body);
    font-size: 12.5px;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    transition: background .2s, border-color .2s, color .2s;
}
.v2 .inv-copy-btn:hover { background: rgba(62,207,129,.24); border-color: #4FE39A; color: #fff; }
.v2 .inv-copy-btn.inv-copied { background: var(--go); border-color: var(--go); color: #fff; }
.v2 .inv-copy-btn .inv-copy-ic { width: 14px; height: 14px; flex-shrink: 0; }

.v2 .inv-quiz-reset-btn {
    margin-right: auto;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: none;
    border: 0;
    color: var(--faint);
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    padding: 8px 11px;
    border-radius: 8px;
    transition: color .2s, background .2s;
}
.v2 .inv-quiz-reset-btn:hover { color: var(--ink); background: var(--mist); }
.v2 .inv-quiz-reset-btn svg { width: 15px; height: 15px; }
@media (max-width: 380px) {
    .v2 .inv-quiz-reset-btn { margin-right: 0; align-self: flex-end; }
}
/* ============= END BLOG INVITE TESTERS V2 BUTTON FIX ============= */
