/* Short version. Only what the page uses. */

/* Three-box diagram */
.v3 {
    display: grid;
    grid-template-columns: 1fr 34px 1fr 34px 1.4fr;
    align-items: stretch;
    margin-top: 56px;
}
.v3-card {
    background: var(--gray-800);
    border: 1px solid var(--gray-700);
    padding: 32px 26px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.v3-hi { border-color: var(--accent); }
.v3-num { font-size: 0.78rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent); }
.section-black .v3-card h3 { color: var(--white); font-size: 1.3rem; line-height: 1.25; }
.section-black .v3-card p { color: var(--gray-300); font-size: 0.95rem; line-height: 1.55; }
.v3-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.v3-chip { border: 1px solid var(--accent); color: var(--accent); padding: 5px 11px; font-size: 0.8rem; font-weight: 600; }
.v-arrow { display: flex; align-items: center; justify-content: center; }
.v-arrow::before {
    content: "";
    width: 0; height: 0;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 14px solid var(--accent);
}
.v-also { text-align: center; margin: 44px auto 0; font-size: 1.05rem; max-width: 640px; }

/* Three stats */
.stats-grid.v-three { grid-template-columns: repeat(3, 1fr); }

/* "What I need" rows */
.v-rows { margin-top: 44px; border-top: 1px solid var(--gray-300); }
.v-row { display: grid; grid-template-columns: 40px 1fr 110px; gap: 20px; padding: 22px 0; border-bottom: 1px solid var(--gray-300); align-items: start; }
.v-row-n { color: #8a6d2c; font-weight: 700; font-size: 0.85rem; padding-top: 4px; }
.v-row h3 { font-size: 1.1rem; margin-bottom: 2px; }
.v-row p { font-size: 0.92rem; line-height: 1.5; }
.v-row-by { font-size: 0.9rem; font-weight: 600; color: var(--black); text-align: right; padding-top: 3px; }
.v-note { margin-top: 28px; font-size: 1.05rem; max-width: 720px; }
.section-offwhite .v-note strong { color: var(--black); }

/* Goal */
.v-big { font-size: clamp(6rem, 16vw, 10rem); font-weight: 800; letter-spacing: -0.04em; color: var(--accent); line-height: 1; margin-bottom: 8px; }
.section-black p.v-goal-line { font-size: 1.3rem; margin-bottom: 56px; color: var(--white); }
.v-days { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--gray-700); border: 1px solid var(--gray-700); text-align: left; margin-top: 8px; }
.v-day-cell { background: var(--black); padding: 26px 24px; }
.v-day-cell small { font-size: 0.75rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent); font-weight: 600; display: block; margin-bottom: 8px; }
.section-black .v-day-cell p { color: var(--gray-300); font-size: 0.95rem; line-height: 1.5; }

/* Included list */
.v-list { list-style: none; max-width: 480px; margin: 44px auto 0; display: flex; flex-direction: column; gap: 12px; text-align: left; }
.v-list li { font-size: 1rem; color: var(--gray-600); padding-left: 26px; position: relative; }
.v-list li::before { content: "+"; position: absolute; left: 0; font-weight: 700; color: #4f9d69; }

@media (max-width: 900px) {
    .v3 { grid-template-columns: 1fr; }
    .v-arrow { padding: 10px 0; }
    .v-arrow::before { border-left: 10px solid transparent; border-right: 10px solid transparent; border-top: 14px solid var(--accent); border-bottom: 0; }
    .v-days { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
    .stats-grid.v-three { grid-template-columns: 1fr; }
    .v-row { grid-template-columns: 30px 1fr; gap: 6px 14px; }
    .v-row-by { grid-column: 2; text-align: left; color: #8a6d2c; }
}
