:root {
    --white:#fff;
    --ink:#18203b;
    --muted:#636a85;
    --accent:#4c50c6;
    --accent-hover:#3d409f;
    --band:#f2f3fc;
    --rule:#d8dcf0;
    --danger:#d83c43;
    --body-size:clamp(16px,1.667vw,24px)
}

* {
    box-sizing:border-box
}
html {
    scroll-behavior:smooth
}
body {
    margin:0;
    color:var(--ink);
    background:var(--white);
    font-family:Inter,Arial,sans-serif;
    font-size:var(--body-size);
    line-height:1.45;
    -webkit-font-smoothing:antialiased
}
button,input,textarea {
    font:inherit
}
button,summary {
    cursor:pointer
}
a {
    color:inherit
}
button,a,input,textarea,summary {
    outline-offset:5px;
    -webkit-tap-highlight-color:transparent
}
:focus-visible {
    outline:2px solid var(--accent)
}
h1,h2,h3,p,dl {
    margin:0
}
h1,h2,h3 {
    line-height:1.12
}
h1 {
    font-size:clamp(38px,4.445vw,64px);
    font-weight:800;
    letter-spacing:-.045em
}
h2 {
    font-size:clamp(28px,3.333vw,48px);
    font-weight:750;
    letter-spacing:-.035em
}
h3 {
    font-size:clamp(17px,1.667vw,24px);
    font-weight:700;
    letter-spacing:-.025em
}
.container {
    width:88.889%;
    max-width:1280px;
    margin-inline:auto
}
.icon-definitions {
    position:absolute;
    width:0;
    height:0;
    overflow:hidden
}
.icon {
    width:24px;
    height:24px;
    flex-shrink:0;
    fill:none;
    stroke:currentColor;
    stroke-width:1.75;
    stroke-linecap:round;
    stroke-linejoin:round
}
.brand {
    font-size:clamp(21px,2.222vw,32px);
    letter-spacing:-.045em;
    font-weight:750;
    text-decoration:none;
    white-space:nowrap;
    line-height:1
}
.brand span {
    color:var(--accent)
}

.site-header {
    border-bottom:1px solid var(--rule)
}
.header-inner {
    min-height:clamp(64px,4.862vw,70px);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px
}
.nav-links {
    display:flex;
    gap:clamp(24px,2.778vw,40px);
    margin-left:auto;
    margin-right:auto
}
.nav-links a {
    font-size:clamp(14px,1.25vw,18px);
    text-decoration:none;
    font-weight:500
}
.nav-links a:hover,.privacy-link:hover {
    color:var(--accent)
}
.btn {
    display:inline-flex;
    justify-content:center;
    align-items:center;
    min-height:clamp(48px,4.445vw,64px);
    padding:16px clamp(24px,2.778vw,40px);
    border:1px solid transparent;
    border-radius:3px;
    background:var(--accent);
    color:var(--white);
    font-size:clamp(16px,1.389vw,20px);
    font-weight:600;
    line-height:1.2;
    text-decoration:none;
    transition:background-color .18s
}
.btn:hover {
    background:var(--accent-hover)
}
.btn:disabled {
    cursor:wait;
    opacity:.7
}
.header-cta {
    min-height:48px;
    padding:12px 22px;
    font-size:clamp(14px,1.25vw,18px)
}
.mobile-toggle {
    display:none;
    border:0;
    padding:10px;
    background:none;
    color:var(--ink)
}

.hero {
    padding-block:clamp(34px,3.334vw,48px) clamp(40px,3.889vw,56px)
}
.hero-inner {
    display:grid;
    grid-template-columns:1.15fr 1fr;
    gap:clamp(32px,4.444vw,64px);
    align-items:center
}
.hero-copy>p {
    color:var(--muted);
    margin-top:22px;
    line-height:1.4
}
.hero-actions {
    display:flex;
    align-items:center;
    gap:clamp(24px,3.333vw,48px);
    margin-top:28px
}
.hero-actions .btn {
    flex-shrink:0;
    padding-inline:clamp(22px,2.5vw,36px)
}
.text-action {
    display:inline-flex;
    align-items:center;
    gap:10px;
    text-decoration:none;
    color:var(--accent);
    font-size:clamp(15px,1.389vw,20px);
    font-weight:600;
    white-space:nowrap
}
.text-action:hover {
    text-decoration:underline
}
.text-action .icon {
    width:22px;
    height:22px
}

.number-report {
    padding:clamp(22px,2.083vw,30px);
    border:1px solid #c5cbed;
    border-radius:3px;
    background:var(--band)
}
.report-caption {
    font-size:clamp(14px,1.25vw,18px);
    color:var(--muted)
}
.report-number {
    font-size:clamp(27px,2.778vw,40px);
    line-height:1.2;
    font-weight:750;
    letter-spacing:-.045em;
    margin-top:14px;
    white-space:nowrap
}
.report-data {
    margin:22px 0 0 56px;
    position:relative
}
.report-data::before {
    content:"";
    position:absolute;
    left:-38px;
    top:0;
    bottom:30px;
    border-left:2px solid var(--accent)
}
.report-data::after {
    content:"";
    position:absolute;
    width:6px;
    height:6px;
    left:-40px;
    top:-3px;
    border-radius:50%;
    background:var(--accent)
}
.report-row {
    position:relative;
    display:grid;
    grid-template-columns:1.15fr 1fr;
    align-items:center;
    gap:8px;
    min-height:clamp(50px,4.167vw,60px);
    padding:8px 16px;
    border-bottom:1px solid var(--rule);
    background:rgba(255,255,255,.65);
    font-size:clamp(14px,1.25vw,18px)
}
.report-row:last-child {
    border-bottom:0
}
.report-row::before {
    content:"";
    position:absolute;
    left:-38px;
    width:26px;
    top:50%;
    border-top:2px solid var(--accent)
}
.report-row::after {
    content:"";
    position:absolute;
    left:-15px;
    top:calc(50% - 3px);
    width:6px;
    height:6px;
    border-radius:50%;
    background:var(--accent)
}
.report-row dt {
    display:flex;
    align-items:center;
    gap:18px;
    white-space:nowrap
}
.report-row .icon {
    width:28px;
    height:28px
}
.report-row dd {
    margin:0;
    color:var(--muted);
    white-space:nowrap
}
.report-row dd.risk-value {
    color:var(--danger)
}
.warning-icon {
    display:inline-flex;
    width:28px;
    height:28px;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:var(--danger);
    color:white;
    font-weight:700;
    font-size:23px;
    flex-shrink:0;
    line-height:1
}

.section {
    padding-block:40px 48px;
    scroll-margin-top:24px
}
.section-description {
    margin-top:10px;
    color:var(--muted);
    line-height:1.4
}
.features {
    padding-top:0
}
.feature-columns {
    display:grid;
    grid-template-columns:1fr 1fr;
    margin-top:36px;
    gap:42px
}
.feature-column+.feature-column {
    padding-left:42px;
    border-left:1px solid var(--rule)
}
.feature-row {
    display:flex;
    gap:42px;
    align-items:flex-start;
    padding-block:22px;
    min-height:134px
}
.feature-row:first-child {
    padding-top:0
}
.feature-row:last-child {
    padding-bottom:0
}
.feature-row+.feature-row {
    border-top:1px solid var(--rule)
}
.feature-icon.icon {
    width:54px;
    height:54px;
    color:var(--accent);
    stroke-width:1.8
}
.feature-row p {
    margin-top:8px;
    font-size:clamp(16px,1.459vw,21px);
    color:var(--muted);
    line-height:1.4
}
.band {
    background:var(--band)
}

.scenario-list {
    padding:0;
    margin:28px 0 0;
    list-style:none;
    counter-reset:scenarios
}
.scenario-list li {
    display:grid;
    grid-template-columns:100px 350px 1fr;
    column-gap:32px;
    align-items:center;
    min-height:75px;
    padding-block:12px;
    counter-increment:scenarios
}
.scenario-list li+li {
    border-top:1px solid var(--rule)
}
.scenario-list li::before {
    content:counter(scenarios,decimal-leading-zero);
    color:var(--accent);
    font-size:52px;
    font-weight:400;
    line-height:1;
    letter-spacing:-.03em
}
.scenario-list p {
    font-size:clamp(16px,1.389vw,20px);
    color:var(--muted);
    line-height:1.4
}

.pricing {
    padding-block:38px
}
.plans {
    display:grid;
    grid-template-columns:1fr 1fr;
    margin-top:34px
}
.plan {
    padding-inline:16%
}
.plan+.plan {
    border-left:1px solid var(--rule)
}
.plan h3 {
    font-size:clamp(24px,2.222vw,32px);
    border-bottom:1px solid var(--accent);
    padding-bottom:18px
}
.plan-price {
    color:var(--ink);
    font-weight:700;
    font-size:clamp(28px,2.778vw,40px);
    line-height:1.2;
    margin-top:14px;
    letter-spacing:-.035em;
    white-space:nowrap
}
.plan-price strong {
    font-size:clamp(36px,3.611vw,52px)
}
.plan-price span {
    font-size:clamp(20px,1.806vw,26px);
    font-weight:400
}
.plan>p:not(.plan-price) {
    font-size:clamp(16px,1.528vw,22px);
    margin-top:16px;
    white-space:nowrap
}
.plan .btn {
    margin-top:24px
}
.pricing-note {
    text-align:center;
    color:var(--muted);
    font-size:clamp(14px,1.389vw,20px);
    margin-top:36px
}

.faq {
    padding-block:28px 48px
}
.faq-list {
    margin-top:22px;
    background:var(--white);
    border-radius:3px;
    overflow:hidden
}
.faq-list details+details {
    border-top:1px solid var(--rule)
}
.faq-list summary {
    list-style:none;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    padding:15px 32px;
    font-size:clamp(16px,1.528vw,22px);
    line-height:1.3
}
.faq-list summary::-webkit-details-marker {
    display:none
}
.faq-list summary .icon {
    color:var(--accent)
}
.faq-list details[open] summary .icon {
    transform:rotate(180deg)
}
.faq-list details p {
    padding:0 32px 20px;
    color:var(--muted);
    font-size:18px;
    max-width:1000px
}
.final-cta {
    padding-block:38px 40px
}
.final-inner {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:36px
}
.final-inner p {
    color:var(--muted);
    margin-top:10px;
    font-size:clamp(16px,1.528vw,22px)
}
.final-inner .btn {
    flex-shrink:0;
    min-height:72px
}
.site-footer {
    border-top:1px solid var(--rule)
}
.footer-inner {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    min-height:90px
}
.footer-inner .brand {
    font-size:clamp(21px,2.083vw,30px)
}
.privacy-link,.footer-inner p {
    color:var(--muted);
    font-size:clamp(12px,1.112vw,16px)
}

.request-dialog {
    border:0;
    border-radius:8px;
    padding:32px;
    color:var(--ink);
    background:var(--white);
    width:min(500px,calc(100% - 32px));
    max-height:calc(100dvh - 32px);
    overscroll-behavior:contain;
    box-shadow:0 20px 80px rgba(24,32,59,.12)
}
.request-dialog::backdrop {
    background:rgba(24,32,59,.5)
}
body.modal-open {
    overflow:hidden
}
.dialog-close {
    position:absolute;
    top:16px;
    right:16px;
    display:grid;
    place-items:center;
    padding:6px;
    border:0;
    background:transparent;
    color:var(--muted)
}
.request-dialog h2 {
    font-size:28px;
    letter-spacing:-.035em;
    padding-right:15px
}
.request-dialog p {
    color:var(--muted);
    font-size:16px;
    margin-top:12px
}
.request-dialog form {
    margin-top:26px
}
.request-field {
    margin-top:18px
}
.request-field label {
    display:block;
    font-size:16px;
    line-height:1.3;
    margin-bottom:8px
}
.request-field input,.request-field textarea {
    display:block;
    width:100%;
    padding:12px 14px;
    color:var(--ink);
    background:var(--white);
    border:1px solid #c5cbed;
    border-radius:4px;
    font-size:16px;
    line-height:1.4
}
.request-field input {
    height:46px
}
.request-field textarea {
    resize:vertical;
    min-height:100px;
    max-height:220px
}
.request-field textarea::placeholder {
    color:#9299b4
}
.request-field [aria-invalid="true"] {
    border-color:var(--danger)
}
.field-error {
    display:block;
    color:var(--danger);
    font-size:14px;
    margin-top:4px
}
.field-error:empty {
    display:none
}
.request-dialog .form-error {
    color:var(--danger);
    font-size:14px;
    margin-block:16px 0
}
.form-error:empty {
    display:none
}
.btn-full {
    width:100%;
    margin-top:18px;
    min-height:50px;
    font-size:16px
}
.dialog-privacy {
    display:block;
    text-align:center;
    color:var(--muted);
    font-size:14px;
    margin-top:22px
}
.request-success {
    text-align:center;
    padding-block:28px
}
.request-success h2 {
    padding-right:0
}
.success-icon.icon {
    color:var(--accent);
    width:56px;
    height:56px;
    margin-bottom:24px
}
.request-success .btn {
    margin-top:26px;
    font-size:16px
}
.request-honeypot {
    position:absolute;
    left:-10000px;
    width:1px;
    height:1px;
    overflow:hidden
}
.skip-link {
    position:fixed;
    top:-100px;
    left:20px;
    background:var(--white);
    padding:12px 20px;
    z-index:10;
    font-size:16px
}
.skip-link:focus {
    top:12px
}
.analytics-pixel {
    position:absolute;
    left:-9999px
}
.policy-content {
    padding-block:60px 80px;
    max-width:1000px
}
.policy-content h1 {
    font-size:clamp(34px,3.334vw,48px)
}
.policy-content h2 {
    font-size:26px;
    margin-top:36px
}
.policy-content p {
    margin-top:16px;
    font-size:18px;
    color:var(--muted)
}
.policy-back {
    display:inline-flex;
    margin-bottom:28px;
    font-size:16px;
    color:var(--accent)
}
[hidden] {
    display:none!important
}

@media(max-width:1199px) and (min-width: 821px) {
    
    .header-inner {
    gap:18px
}
.nav-links {
    gap:24px
}
.hero-inner {
    gap:30px
}
.hero-actions {
    gap:28px
}
.hero-actions .btn {
    padding-inline:26px
}
.number-report {
    padding:22px
}
.report-data {
    margin-left:44px
}
.report-row {
    padding-inline:12px;
    min-height:50px
}
.report-row dt {
    gap:12px
}
.report-row .icon,.warning-icon {
    width:24px;
    height:24px
}
.report-data::before {
    left:-30px;
    bottom:25px
}
.report-data::after {
    left:-32px
}
.report-row::before {
    left:-30px;
    width:20px
}
.report-row::after {
    left:-12px
}
.feature-columns {
    gap:32px
}
.feature-column+.feature-column {
    padding-left:32px
}
.feature-row {
    gap:28px;
    min-height:112px;
    padding-block:20px
}
.feature-icon.icon {
    width:44px;
    height:44px
}
.scenario-list li {
    grid-template-columns:72px 235px 1fr;
    column-gap:24px;
    min-height:70px
}
.scenario-list li::before {
    font-size:44px
}
.plan {
    padding-inline:15%
}
.footer-inner {
    gap:20px
}


}

@media(max-width: 820px) {
    
    body {
    font-size:16px
}
.container {
    width:calc(100% - 44px)
}
.desktop-break {
    display:none
}
h1 {
    font-size:clamp(34px,8.7vw,48px);
    letter-spacing:-.04em;
    line-height:1.1
}
h2 {
    font-size:30px;
    line-height:1.13
}
h3 {
    font-size:18px
}
.brand {
    font-size:23px
}
.header-inner {
    position:relative;
    min-height:64px;
    gap:10px
}
.header-cta {
    display:none
}
.mobile-toggle {
    display:inline-flex;
    margin-right:-10px
}
.mobile-toggle .icon {
    width:28px;
    height:28px
}
.nav-links {
    display:none;
    position:absolute;
    top:64px;
    left:-22px;
    right:-22px;
    margin:0;
    padding:12px 22px 22px;
    background:var(--white);
    border-bottom:1px solid var(--rule);
    z-index:2;
    box-shadow:0 12px 20px rgba(24,32,59,.05)
}
.nav-links.active {
    display:flex;
    flex-direction:column;
    gap:0
}
.nav-links a {
    padding-block:13px;
    font-size:16px
}
.hero {
    padding-block:32px 42px
}
.hero-inner {
    display:flex;
    flex-direction:column;
    gap:28px;
    align-items:stretch
}
.hero-copy>p {
    margin-top:18px;
    font-size:16px
}
.hero-actions {
    flex-direction:column;
    gap:20px;
    align-items:stretch;
    margin-top:24px
}
.hero-actions .btn {
    min-height:48px;
    width:100%
}
.text-action {
    justify-content:center;
    font-size:16px
}
.number-report {
    padding:18px 14px
}
.report-caption {
    font-size:14px
}
.report-number {
    font-size:clamp(23px,6.6vw,30px);
    margin-top:10px
}
.report-data {
    margin-top:18px;
    margin-left:30px
}
.report-data::before {
    left:-23px;
    bottom:23px
}
.report-data::after {
    left:-25px
}
.report-row {
    grid-template-columns:1.05fr 1fr;
    font-size:12px;
    padding:10px 8px;
    gap:6px;
    min-height:46px
}
.report-row::before {
    left:-23px;
    width:17px
}
.report-row::after {
    left:-9px
}
.report-row dt {
    gap:8px
}
.report-row .icon,.warning-icon {
    width:20px;
    height:20px
}
.warning-icon {
    font-size:17px
}
.section {
    padding-block:32px 36px
}
.features {
    padding-top:0
}
.section-description {
    font-size:16px;
    margin-top:14px
}
.feature-columns {
    display:block;
    margin-top:24px
}
.feature-column+.feature-column {
    border-left:0;
    border-top:1px solid var(--rule);
    padding-left:0;
    margin-top:20px
}
.feature-column+.feature-column .feature-row:first-child {
    padding-top:20px
}
.feature-row {
    gap:22px;
    min-height:0;
    padding-block:20px
}
.feature-icon.icon {
    width:36px;
    height:36px
}
.feature-row p {
    font-size:16px;
    margin-top:6px
}
.scenario-list {
    margin-top:24px
}
.scenario-list li {
    grid-template-columns:48px 1fr;
    align-items:start;
    gap:8px 18px;
    padding-block:18px
}
.scenario-list li::before {
    font-size:34px;
    grid-row:span 2
}
.scenario-list h3 {
    padding-top:3px
}
.scenario-list p {
    grid-column:2;
    font-size:15px
}
.plans {
    display:block;
    margin-top:28px
}
.plan {
    padding-inline:0
}
.plan+.plan {
    border-left:0;
    margin-top:32px
}
.plan h3 {
    font-size:26px;
    padding-bottom:14px
}
.plan-price {
    margin-top:18px;
    font-size:30px
}
.plan-price strong {
    font-size:40px
}
.plan>p:not(.plan-price) {
    font-size:16px;
    white-space:normal
}
.plan .btn {
    width:100%;
    margin-top:20px
}
.pricing-note {
    font-size:14px;
    margin-top:26px
}
.faq-list {
    margin-top:20px
}
.faq-list summary {
    padding:16px;
    gap:16px;
    font-size:16px
}
.faq-list summary .icon {
    width:20px;
    height:20px
}
.faq-list details p {
    padding:0 16px 18px;
    font-size:15px
}
.final-cta {
    padding-block:32px
}
.final-inner {
    display:block
}
.final-inner p {
    font-size:16px;
    margin-top:14px
}
.final-inner .btn {
    width:100%;
    min-height:48px;
    margin-top:24px
}
.footer-inner {
    flex-direction:column;
    align-items:flex-start;
    gap:22px;
    padding-block:28px
}
.privacy-link,.footer-inner p {
    font-size:13px
}
.request-dialog {
    padding:28px 22px 24px
}
.request-dialog h2 {
    font-size:26px
}
.request-dialog p {
    font-size:15px
}
.dialog-privacy {
    font-size:13px
}
.policy-content {
    padding-block:32px 48px
}
.policy-content h1 {
    font-size:32px
}
.policy-content h2 {
    font-size:24px
}
.policy-content p {
    font-size:16px
}


}

/* Keep desktop proportions consistent with the approved overview at 900–1440px. */
@media(min-width: 821px) {
    
    h3 {
    font-size:clamp(14px,1.667vw,24px)
}

    .section-description {
    font-size:clamp(14px,1.528vw,22px)
}

    .header-inner {
    min-height:clamp(44px,4.862vw,70px)
}

    .header-cta {
    min-height:clamp(30px,3.334vw,48px);
    padding:clamp(8px,.834vw,12px) clamp(14px,1.528vw,22px)
}

    .btn {
    min-height:clamp(40px,4.445vw,64px);
    padding-block:clamp(10px,1.112vw,16px);
    font-size:clamp(13px,1.389vw,20px)
}

    .hero {
    padding-top:clamp(20px,2.223vw,32px);
    padding-bottom:clamp(26px,2.5vw,36px)
}

    .hero-copy>p {
    margin-top:clamp(14px,1.528vw,22px)
}

    .hero-actions {
    margin-top:clamp(20px,1.945vw,28px);
    gap:clamp(28px,3.334vw,48px)
}

    .hero-actions .btn {
    padding-inline:clamp(32px,3.889vw,56px)
}

    .text-action {
    font-size:clamp(13px,1.389vw,20px)
}

    .text-action .icon {
    width:clamp(16px,1.528vw,22px);
    height:clamp(16px,1.528vw,22px)
}

    .number-report {
    padding:clamp(18px,2.084vw,30px)
}

    .report-caption {
    font-size:clamp(12px,1.25vw,18px)
}

    .report-number {
    font-size:clamp(25px,2.778vw,40px);
    margin-top:clamp(10px,.973vw,14px)
}

    .report-data {
    margin-top:clamp(16px,1.528vw,22px);
    margin-left:clamp(38px,3.889vw,56px)
}

    .report-row {
    min-height:clamp(36px,4.167vw,60px);
    font-size:clamp(12px,1.25vw,18px);
    padding-inline:clamp(12px,1.112vw,16px)
}

    .report-row dt {
    gap:clamp(12px,1.25vw,18px)
}

    .report-row .icon,.warning-icon {
    width:clamp(20px,1.945vw,28px);
    height:clamp(20px,1.945vw,28px)
}

    .report-data::before {
    bottom:clamp(18px,2.084vw,30px)
}

    .section {
    padding-block:clamp(26px,2.778vw,40px) clamp(28px,2.778vw,40px)
}

    .features {
    padding-top:0
}

    .feature-columns {
    margin-top:clamp(26px,2.084vw,30px);
    gap:clamp(26px,2.917vw,42px)
}

    .feature-column+.feature-column {
    padding-left:clamp(26px,2.917vw,42px)
}

    .feature-row {
    min-height:0;
    padding-block:clamp(14px,1.528vw,22px);
    gap:clamp(26px,2.917vw,42px)
}

    .feature-icon.icon {
    width:clamp(32px,3.75vw,54px);
    height:clamp(32px,3.75vw,54px)
}

    .feature-row:first-child {
    padding-top:0
}
.feature-row:last-child {
    padding-bottom:0
}

    .feature-row p {
    font-size:clamp(13px,1.445vw,20px);
    margin-top:clamp(6px,.556vw,8px)
}

    .scenario-list {
    margin-top:clamp(20px,1.945vw,28px)
}

    .scenario-list li {
    grid-template-columns:clamp(60px,6.945vw,100px) clamp(215px,24.306vw,350px) 1fr;
    column-gap:clamp(24px,2.223vw,32px);
    min-height:clamp(46px,5.209vw,75px);
    padding-block:clamp(8px,.834vw,12px)
}

    .scenario-list li::before {
    font-size:clamp(34px,3.612vw,52px)
}

    .scenario-list p {
    font-size:clamp(13px,1.389vw,20px)
}

    .pricing {
    padding-block:clamp(28px,2.639vw,38px)
}

    .plans {
    margin-top:clamp(28px,2.362vw,34px)
}

    .plan:first-child {
    padding-left:25%;
    padding-right:18%
}
.plan+.plan {
    padding-left:18%;
    padding-right:16%
}

    .plan h3 {
    font-size:clamp(20px,2.223vw,32px);
    padding-bottom:clamp(12px,1.25vw,18px)
}

    .plan-price strong {
    font-size:clamp(30px,3.611vw,52px)
}

    .plan-price {
    font-size:clamp(24px,2.778vw,40px)
}

    .plan-price span {
    font-size:clamp(16px,1.806vw,26px)
}

    .plan>p:not(.plan-price) {
    font-size:clamp(13px,1.528vw,22px)
}

    .plan .btn {
    margin-top:clamp(18px,1.667vw,24px);
    padding-inline:clamp(32px,3.334vw,48px)
}

    .pricing-note {
    margin-top:clamp(28px,2.5vw,36px);
    font-size:clamp(12px,1.389vw,20px)
}

    .faq {
    padding-block:clamp(24px,1.945vw,28px) clamp(28px,3.334vw,48px)
}

    .faq-list {
    margin-top:clamp(20px,1.528vw,22px)
}

    .faq-list summary {
    padding:clamp(10px,1.042vw,15px) clamp(20px,2.223vw,32px);
    font-size:clamp(14px,1.528vw,22px)
}

    .final-cta {
    padding-block:clamp(28px,2.639vw,38px) clamp(28px,2.778vw,40px)
}

    .final-inner .btn {
    min-height:clamp(48px,5vw,72px)
}

    .final-inner p {
    font-size:clamp(14px,1.528vw,22px)
}

    .footer-inner {
    min-height:clamp(64px,6.25vw,90px)
}


}

/* Refined section rhythm at the native overview size. */
@media (min-width: 821px) {
    h1 { line-height: 1.03; }
    .hero-copy > p { line-height: 1.3; }
    .section-description { margin-top: 6px; line-height: 1.25; }
    .feature-columns { margin-top: clamp(18px, 1.945vw, 28px); }
    .feature-row p { font-size: clamp(12px, 1.389vw, 20px); }
    .scenarios { padding-block: clamp(22px, 2.778vw, 40px) clamp(22px, 2.778vw, 40px); }
    .scenario-list { margin-top: clamp(16px, 1.945vw, 28px); }
    .scenario-list li { padding-block: clamp(5px, .695vw, 10px); }
    .scenario-list p { font-size: clamp(12px, 1.333vw, 19.2px); }
    .pricing { padding-block: clamp(20px, 2.223vw, 32px); }
    .plans { margin-top: clamp(24px, 2.223vw, 32px); }
    .plan h3 { padding-bottom: clamp(8px, 1.112vw, 16px); }
    .plan-price { margin-top: clamp(10px, 1.112vw, 16px); }
    .plan > p:not(.plan-price) { margin-top: clamp(12px, 1.112vw, 16px); }
    .plan .btn { margin-top: clamp(14px, 1.667vw, 24px); }
    .pricing-note { margin-top: clamp(26px, 2.5vw, 36px); }
    .faq { padding-block: clamp(18px, 1.945vw, 28px) clamp(26px, 2.917vw, 42px); }
    .faq-list { margin-top: clamp(14px, 1.528vw, 22px); }
    .faq-list summary { padding-block: clamp(8px, 1.042vw, 15px); }
    .faq-list summary .icon { width: clamp(16px, 1.667vw, 24px); height: clamp(16px, 1.667vw, 24px); }
    .final-cta { padding-block: clamp(20px, 2.639vw, 38px) clamp(20px, 2.778vw, 40px); }
    .final-inner p { margin-top: 6px; line-height: 1.25; }
    .footer-inner { min-height: clamp(56px, 6.25vw, 90px); }
}
@media(prefers-reduced-motion:reduce) {
    html {
    scroll-behavior:auto
}
.btn {
    transition:none
}

}
