.lp-hero { min-height: calc(100vh - 82px); display: flex; align-items: center; padding-block: clamp(76px, 8vw, 118px); background: var(--gw-paper); }
.lp-hero__layout { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(420px, .88fr); align-items: end; gap: clamp(42px, 5vw, 82px); }
.lp-hero__copy { max-width: 790px; }
.lp-hero__copy h1 { max-width: 820px; margin: 0; font-size: clamp(56px, 5.65vw, 88px); font-weight: 640; letter-spacing: -.06em; line-height: .92; }
.lp-hero__copy h1 span { display: block; color: var(--gw-green-900); }
:root[data-theme="dark"] .lp-hero__copy h1 span { color: var(--gw-green-300); }
.lp-hero__lead { max-width: 760px; margin: 30px 0 0; color: var(--gw-muted); font-size: clamp(18px, 1.45vw, 23px); line-height: 1.45; }
.lp-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 42px; }
.lp-hero__note { margin: 16px 0 0; color: var(--gw-muted); font-size: 14px; }
.lp-hero-chart { min-width: 0; margin: 0; border: 1px solid var(--gw-line); background: var(--gw-panel); }
.lp-hero-chart figcaption { min-height: 86px; display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 20px 22px; border-bottom: 1px solid var(--gw-line); }
.lp-hero-chart figcaption div { display: flex; flex-direction: column; gap: 6px; }
.lp-hero-chart figcaption span { color: var(--gw-green-700); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
:root[data-theme="dark"] .lp-hero-chart figcaption span { color: var(--gw-green-300); }
.lp-hero-chart figcaption strong { font-size: 18px; font-weight: 580; }
.lp-hero-chart figcaption small { max-width: 110px; color: var(--gw-muted); font-size: 11px; line-height: 1.3; text-align: right; }
.lp-hero-chart > svg { display: block; width: 100%; height: auto; padding: 10px 12px 0; }
.lp-chart-grid { fill: none; stroke: var(--gw-line); stroke-width: 1; vector-effect: non-scaling-stroke; }
.lp-chart-bars { fill: color-mix(in srgb, var(--gw-green-700) 34%, transparent); }
.lp-chart-bars .is-current { fill: var(--gw-green-700); }
:root[data-theme="dark"] .lp-chart-bars { fill: color-mix(in srgb, var(--gw-green-300) 24%, transparent); }
:root[data-theme="dark"] .lp-chart-bars .is-current { fill: var(--gw-green-300); }
.lp-chart-line { fill: none; stroke: var(--gw-ink); stroke-width: 4; stroke-linecap: square; vector-effect: non-scaling-stroke; }
:root[data-theme="dark"] .lp-chart-line { stroke: #fff; }
.lp-chart-points circle { fill: var(--gw-panel); stroke: var(--gw-ink); stroke-width: 3; vector-effect: non-scaling-stroke; }
.lp-chart-points .is-current { fill: var(--gw-green-300); stroke: var(--gw-green-700); }
.lp-chart-labels { fill: var(--gw-muted); font-family: inherit; font-size: 15px; font-weight: 600; text-anchor: middle; }
.lp-chart-legend { min-height: 70px; display: flex; align-items: center; gap: 24px; padding: 18px 22px; border-top: 1px solid var(--gw-line); color: var(--gw-muted); font-size: 11px; }
.lp-chart-legend span { display: inline-flex; align-items: center; gap: 8px; }
.lp-chart-legend span::before { content: ""; width: 18px; height: 8px; background: var(--gw-green-700); }
.lp-chart-legend .is-line::before { height: 2px; background: var(--gw-ink); }
:root[data-theme="dark"] .lp-chart-legend .is-line::before { background: #fff; }
.lp-chart-legend strong { margin-left: auto; color: var(--gw-ink); font-weight: 600; }
.lp-positioning { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: clamp(56px, 6vw, 86px); border-top: 1px solid var(--gw-line); border-left: 1px solid var(--gw-line); }
.lp-positioning > div { min-height: 138px; display: flex; flex-direction: column; justify-content: space-between; padding: 22px; border-right: 1px solid var(--gw-line); border-bottom: 1px solid var(--gw-line); }
.lp-positioning span { color: var(--gw-muted); font-size: 12px; letter-spacing: .1em; }
.lp-positioning strong { max-width: 290px; font-size: 18px; font-weight: 550; line-height: 1.25; }

.lp-question-strip { color: #fff; background: var(--gw-green-900); overflow: hidden; }
.lp-question-strip__inner { display: grid; grid-template-columns: repeat(4, 1fr); padding-inline: var(--gw-gutter); }
.lp-question-strip span { min-height: 118px; display: flex; align-items: center; padding: 22px; border-right: 1px solid rgba(181,217,167,.35); color: var(--gw-green-300); font-size: 15px; font-weight: 550; }
.lp-question-strip span:first-child { border-left: 1px solid rgba(181,217,167,.35); }

.lp-problem-grid, .lp-method-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--gw-line); border-left: 1px solid var(--gw-line); }
.lp-problem-grid article, .lp-method-grid article { min-height: 330px; display: flex; flex-direction: column; padding: clamp(28px, 3.5vw, 46px); border-right: 1px solid var(--gw-line); border-bottom: 1px solid var(--gw-line); }
.lp-problem-grid article > span, .lp-method-grid article > span { color: var(--gw-green-700); font-size: 12px; letter-spacing: .12em; }
:root[data-theme="dark"] .lp-problem-grid article > span,
:root[data-theme="dark"] .lp-method-grid article > span { color: var(--gw-green-300); }
.lp-problem-grid h3, .lp-method-grid h3 { margin: auto 0 14px; font-size: var(--gw-h3); font-weight: 550; letter-spacing: -.025em; }
.lp-problem-grid p, .lp-method-grid p { margin: 0; color: var(--gw-muted); }

.lp-killer-question { padding: clamp(34px, 5vw, 68px); color: #fff; background: var(--gw-green-900); }
.lp-killer-question__label { color: var(--gw-green-300); font-size: 12px; font-weight: 650; letter-spacing: .12em; text-transform: uppercase; }
.lp-killer-question blockquote { max-width: 1080px; margin: 42px 0 54px; font-size: clamp(34px, 4.5vw, 64px); font-weight: 520; letter-spacing: -.04em; line-height: 1.03; }
.lp-killer-question__outputs { display: grid; grid-template-columns: repeat(6, 1fr); border-top: 1px solid rgba(181,217,167,.42); border-left: 1px solid rgba(181,217,167,.42); }
.lp-killer-question__outputs span { min-height: 84px; display: flex; align-items: center; padding: 14px; border-right: 1px solid rgba(181,217,167,.42); border-bottom: 1px solid rgba(181,217,167,.42); color: #dfeadd; font-size: 13px; }
.lp-decision-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-left: 1px solid var(--gw-line); }
.lp-decision-grid article { min-height: 290px; display: flex; flex-direction: column; padding: clamp(28px, 4vw, 50px); border-right: 1px solid var(--gw-line); border-bottom: 1px solid var(--gw-line); }
.lp-decision-grid article > span { color: var(--gw-muted); font-size: 12px; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; }
.lp-decision-grid h3 { margin: auto 0 14px; font-size: var(--gw-h3); font-weight: 550; }
.lp-decision-grid p { max-width: 550px; margin: 0; color: var(--gw-muted); }

.lp-method-grid { grid-template-columns: repeat(4, 1fr); }
.lp-method-grid article { min-height: 390px; }
.lp-method-icon { width: 78px; height: 78px; margin-top: 54px; fill: none; stroke: var(--gw-green-700); stroke-width: 2; stroke-linecap: square; stroke-linejoin: miter; vector-effect: non-scaling-stroke; }
:root[data-theme="dark"] .lp-method-icon { stroke: var(--gw-green-300); }
.lp-method-grid h3 { margin-top: auto; }

.lp-data-visual { border: 1px solid var(--gw-dark-line); overflow: hidden; background: rgba(255,255,255,.015); }
.lp-data-visual > svg { display: block; width: 100%; height: auto; }
.lp-data-links { fill: none; stroke: rgba(181,217,167,.25); stroke-width: 1.5; vector-effect: non-scaling-stroke; }
.lp-data-nodes rect { fill: #1d2421; stroke: rgba(181,217,167,.48); stroke-width: 1.5; vector-effect: non-scaling-stroke; }
.lp-data-nodes text { fill: #fff; font-family: inherit; font-size: 18px; font-weight: 560; text-anchor: middle; }
.lp-data-core rect { fill: var(--gw-green-300); stroke: var(--gw-green-300); stroke-width: 1.5; vector-effect: non-scaling-stroke; }
.lp-data-core text { fill: var(--gw-green-900); font-family: inherit; font-size: 23px; font-weight: 720; letter-spacing: .05em; text-anchor: middle; }
.lp-data-core .lp-data-core__small { font-size: 11px; font-weight: 680; letter-spacing: .15em; }
.lp-data-visual__caption { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--gw-dark-line); }
.lp-data-visual__caption span { min-height: 78px; display: flex; align-items: center; padding: 18px 22px; border-right: 1px solid var(--gw-dark-line); color: var(--gw-green-300); font-size: 12px; font-weight: 620; letter-spacing: .06em; text-transform: uppercase; }
.lp-data-visual__caption span:last-child { border-right: 0; }

.lp-comparison { border-top: 1px solid var(--gw-line); border-left: 1px solid var(--gw-line); }
.lp-comparison__head, .lp-comparison article { display: grid; grid-template-columns: .8fr 1.1fr 1.35fr; }
.lp-comparison__head > span { padding: 14px 20px; color: var(--gw-muted); border-right: 1px solid var(--gw-line); border-bottom: 1px solid var(--gw-line); font-size: 11px; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; }
.lp-comparison article > * { min-height: 116px; display: flex; align-items: center; margin: 0; padding: 22px; border-right: 1px solid var(--gw-line); border-bottom: 1px solid var(--gw-line); }
.lp-comparison h3 { font-size: 20px; font-weight: 600; }
.lp-comparison p { color: var(--gw-muted); font-size: 16px; }
.lp-comparison strong { font-size: 16px; font-weight: 550; }
.lp-comparison .is-highlighted > * { color: #fff; background: var(--gw-green-900); border-color: #477a6e; }
.lp-comparison .is-highlighted p, .lp-comparison .is-highlighted strong { color: #e3ece7; }

.lp-persona-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--gw-line); border-left: 1px solid var(--gw-line); }
.lp-persona-grid article { min-height: 280px; display: flex; flex-direction: column; padding: clamp(28px, 4vw, 50px); border-right: 1px solid var(--gw-line); border-bottom: 1px solid var(--gw-line); }
.lp-persona-grid span { color: var(--gw-muted); font-size: 12px; letter-spacing: .1em; }
.lp-persona-grid h3 { margin: auto 0 12px; font-size: var(--gw-h3); font-weight: 550; }
.lp-persona-grid p { max-width: 540px; margin: 0; color: var(--gw-muted); }

.lp-pricing-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--gw-line); border-left: 1px solid var(--gw-line); }
.lp-pricing-grid article { min-height: 590px; display: flex; flex-direction: column; padding: clamp(30px, 4vw, 54px); border-right: 1px solid var(--gw-line); border-bottom: 1px solid var(--gw-line); background: var(--gw-panel); }
.lp-pricing-grid article.is-featured { color: #fff; background: var(--gw-green-900); border-color: #477a6e; }
.lp-pricing-grid__plan { font-size: 12px; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; }
.lp-pricing-grid .is-featured .lp-pricing-grid__plan { color: var(--gw-green-300); }
.lp-price { display: flex; align-items: flex-end; gap: 12px; margin: 54px 0 22px; }
.lp-price strong { font-size: clamp(54px, 6vw, 84px); font-weight: 620; letter-spacing: -.055em; line-height: .85; }
.lp-price span { color: var(--gw-muted); font-size: 15px; }
.lp-pricing-grid .is-featured .lp-price span, .lp-pricing-grid .is-featured > p { color: #b8cbc3; }
.lp-pricing-grid article > p { max-width: 500px; margin: 0; color: var(--gw-muted); }
.lp-pricing-grid ul { display: grid; gap: 12px; margin: 38px 0; padding: 28px 0 0; border-top: 1px solid var(--gw-line); list-style: none; }
.lp-pricing-grid li::before { content: "↳"; margin-right: 10px; color: var(--gw-green-700); }
.lp-pricing-grid .is-featured ul { border-color: #477a6e; }
.lp-pricing-grid .is-featured li::before { color: var(--gw-green-300); }
.lp-pricing-grid form { margin-top: auto; }

.lp-final-cta__actions { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.lp-final-cta__actions > span { color: #bed0c8; font-size: 13px; }

.lp-footer__grid { display: grid; grid-template-columns: 2fr repeat(3, 1fr); gap: clamp(36px, 6vw, 90px); padding-bottom: 74px; }
.lp-footer__brand p { max-width: 330px; margin: 28px 0 0; color: #aeb9b3; font-size: 16px; }
.lp-footer__grid h3 { margin: 0 0 22px; color: #87918c; font-size: 12px; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; }
.lp-footer__grid > div:not(.lp-footer__brand) { display: flex; flex-direction: column; align-items: flex-start; gap: 13px; }
.lp-footer__grid a:not(.gw-brand) { color: #fff; font-size: 15px; text-decoration: none; }
.lp-footer__grid a:hover { color: var(--gw-green-300); }

@media (max-width: 1160px) {
    .lp-hero__layout { grid-template-columns: 1fr; align-items: start; }
    .lp-hero__copy { max-width: 1100px; }
    .lp-hero__copy h1 { max-width: 1080px; font-size: clamp(58px, 7.6vw, 92px); }
    .lp-hero-chart { width: min(100%, 920px); }
}

@media (max-width: 980px) {
    .lp-positioning { grid-template-columns: 1fr; }
    .lp-positioning > div { min-height: 105px; }
    .lp-question-strip__inner { grid-template-columns: repeat(2, 1fr); }
    .lp-question-strip span:nth-child(3) { border-left: 1px solid rgba(181,217,167,.35); border-top: 1px solid rgba(181,217,167,.35); }
    .lp-question-strip span:nth-child(4) { border-top: 1px solid rgba(181,217,167,.35); }
    .lp-method-grid { grid-template-columns: repeat(2, 1fr); }
    .lp-data-list { grid-template-columns: repeat(2, 1fr); }
    .lp-footer__grid { grid-template-columns: 2fr repeat(2, 1fr); }
    .lp-footer__grid > div:last-child { grid-column: 2; }
}

@media (max-width: 760px) {
    .lp-hero { min-height: auto; padding-block: 70px; }
    .lp-hero__copy h1 { font-size: clamp(50px, 14vw, 72px); }
    .lp-hero__actions, .lp-hero__actions .gw-button { width: 100%; }
    .lp-hero-chart figcaption { min-height: 78px; padding: 16px; }
    .lp-hero-chart figcaption strong { font-size: 16px; }
    .lp-chart-legend { flex-wrap: wrap; gap: 12px 20px; padding-inline: 16px; }
    .lp-chart-legend strong { width: 100%; margin-left: 0; }
    .lp-positioning { margin-top: 58px; }
    .lp-problem-grid, .lp-decision-grid, .lp-method-grid, .lp-persona-grid, .lp-pricing-grid { grid-template-columns: 1fr; }
    .lp-problem-grid article, .lp-method-grid article { min-height: 270px; }
    .lp-killer-question__outputs { grid-template-columns: repeat(2, 1fr); }
    .lp-data-list { grid-template-columns: 1fr 1fr; }
    .lp-comparison__head { display: none; }
    .lp-comparison article { grid-template-columns: 1fr; }
    .lp-comparison article > * { min-height: auto; padding-block: 14px; }
    .lp-comparison article h3 { padding-top: 26px; border-bottom: 0; }
    .lp-comparison article p { border-top: 0; border-bottom: 0; }
    .lp-comparison article strong { padding-bottom: 26px; border-top: 0; }
    .lp-pricing-grid article { min-height: 550px; }
    .lp-method-icon { margin-top: 36px; }
    .lp-data-visual { overflow-x: auto; }
    .lp-data-visual > svg { min-width: 720px; }
    .lp-data-visual__caption { position: sticky; left: 0; width: 100%; min-width: 0; }
    .lp-footer__grid { grid-template-columns: repeat(2, 1fr); }
    .lp-footer__brand { grid-column: 1 / -1; }
    .lp-footer__grid > div:last-child { grid-column: auto; }
}

@media (max-width: 520px) {
    .lp-question-strip__inner { grid-template-columns: 1fr; }
    .lp-question-strip span { min-height: 88px; border-left: 1px solid rgba(181,217,167,.35); border-top: 1px solid rgba(181,217,167,.35); }
    .lp-question-strip span:first-child { border-top: 0; }
    .lp-killer-question { padding: 28px 22px; }
    .lp-killer-question blockquote { margin-block: 34px; }
    .lp-killer-question__outputs, .lp-data-list { grid-template-columns: 1fr; }
    .lp-killer-question__outputs span, .lp-data-list span { min-height: 70px; }
    .lp-data-visual__caption { grid-template-columns: 1fr; }
    .lp-data-visual__caption span { min-height: 62px; border-right: 0; border-bottom: 1px solid var(--gw-dark-line); }
    .lp-data-visual__caption span:last-child { border-bottom: 0; }
    .lp-footer__grid { grid-template-columns: 1fr; }
    .lp-footer__brand { grid-column: auto; }
}
