:root {
    --spira-navy: #0b2e66;
    --spira-navy-deep: #061f49;
    --spira-blue: #145aa3;
    --spira-teal: #0fa7a0;
    --spira-teal-dark: #078783;
    --spira-cyan: #46c5bf;
    --spira-ink: #17253b;
    --spira-muted: #617086;
    --spira-line: #dce6f0;
    --spira-soft: #f3f8fc;
    --spira-white: #ffffff;
    --spira-shadow: 0 24px 70px rgba(14, 50, 94, .12);
    --spira-shadow-soft: 0 12px 35px rgba(14, 50, 94, .08);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: var(--spira-ink);
    background: #fff;
    line-height: 1.55;
}
img { max-width: 100%; display: block; }
a { color: inherit; }

.spira-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.spira-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: rgba(255,255,255,.93);
    backdrop-filter: blur(18px);
    border-bottom: 1px solid rgba(11,46,102,.08);
}
.spira-nav-shell {
    width: min(1240px, calc(100% - 36px));
    min-height: 82px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}
.spira-brand {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    text-decoration: none;
    min-width: 238px;
}
.spira-brand-mark { width: 50px; height: 50px; }
.spira-brand-copy { display: flex; flex-direction: column; line-height: 1.05; }
.spira-brand-copy strong {
    color: var(--spira-navy);
    font-size: 25px;
    letter-spacing: .16em;
}
.spira-brand-copy small {
    margin-top: 5px;
    color: var(--spira-muted);
    font-size: 9.5px;
    line-height: 1.22;
    letter-spacing: .01em;
}
.spira-nav { display: flex; align-items: center; gap: 22px; }
.spira-nav a {
    text-decoration: none;
    font-size: 14px;
    font-weight: 650;
    color: #31445d;
    transition: color .2s ease, transform .2s ease;
}
.spira-nav a:hover { color: var(--spira-teal-dark); transform: translateY(-1px); }
.spira-nav .spira-nav-cta {
    color: #fff;
    background: linear-gradient(135deg, var(--spira-teal), var(--spira-blue));
    padding: 11px 17px;
    border-radius: 10px;
    box-shadow: 0 8px 25px rgba(15,167,160,.22);
}
.spira-menu-toggle { display: none; border: 0; background: transparent; padding: 8px; }
.spira-menu-toggle span { width: 26px; height: 2px; background: var(--spira-navy); display: block; margin: 5px 0; }

.spira-hero {
    position: relative;
    overflow: hidden;
    padding: 58px 0 52px;
    background:
        radial-gradient(circle at 82% 18%, rgba(15,167,160,.10), transparent 28%),
        linear-gradient(180deg, #fff 0%, #fbfdff 100%);
}
.spira-hero:after {
    content: "";
    position: absolute;
    left: -8%;
    bottom: -210px;
    width: 470px;
    height: 470px;
    border: 1px solid rgba(20,90,163,.08);
    border-radius: 50%;
    box-shadow: 80px 10px 0 rgba(15,167,160,.025), 160px 20px 0 rgba(20,90,163,.02);
}
.spira-hero-glow { position: absolute; border-radius: 999px; filter: blur(20px); pointer-events: none; }
.spira-hero-glow-a { width: 220px; height: 220px; background: rgba(15,167,160,.08); right: 2%; top: 14%; }
.spira-hero-glow-b { width: 180px; height: 180px; background: rgba(20,90,163,.06); left: 5%; bottom: 2%; }
.spira-hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: 44px; }
.spira-eyebrow {
    display: inline-block;
    color: var(--spira-teal-dark);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .14em;
    margin-bottom: 15px;
}
.spira-eyebrow-light { color: #6ee1d8; }
.spira-hero h1 {
    margin: 0;
    color: var(--spira-navy);
    font-size: clamp(40px, 4.5vw, 64px);
    line-height: 1.04;
    letter-spacing: -.045em;
    max-width: 680px;
}
.spira-hero h1 em { color: var(--spira-teal-dark); font-style: normal; }
.spira-hero-lead { max-width: 540px; margin: 18px 0 0; color: #52657d; font-size: 16px; line-height: 1.52; }
.spira-hero-actions { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 22px; }
.spira-btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 48px;
    padding: 0 20px;
    border-radius: 10px;
    text-decoration: none;
    font-weight: 750;
    font-size: 14px;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.spira-btn:hover { transform: translateY(-2px); }
.spira-btn-primary { color: #fff; background: linear-gradient(135deg, var(--spira-teal), #087f9b); box-shadow: 0 12px 26px rgba(15,167,160,.22); }
.spira-btn-secondary { color: var(--spira-navy); border: 1px solid #9fb9d8; background: #fff; }
.spira-btn-light { background: #fff; color: var(--spira-navy-deep); }
.spira-btn-block { width: 100%; }
.spira-trust-row { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 26px; color: #65758a; font-size: 13px; font-weight: 650; }
.spira-trust-row span::first-letter { color: var(--spira-teal); }

.spira-product-stage { position: relative; min-height: 440px; }
.spira-laptop {
    position: absolute;
    left: 2%; right: 3%; top: 28px;
    border-radius: 20px;
    padding: 9px 9px 18px;
    background: linear-gradient(150deg, #0b1f3b, #1a3153 68%, #0b2445);
    box-shadow: 0 35px 80px rgba(8,33,67,.28);
    transform: perspective(1200px) rotateY(-5deg) rotateX(2deg);
}
.spira-laptop:after {
    content: "";
    position: absolute;
    width: 76%; height: 17px;
    left: 12%; bottom: -17px;
    background: linear-gradient(#dbe4eb, #9eaab7);
    clip-path: polygon(4% 0,96% 0,100% 100%,0 100%);
    border-radius: 0 0 14px 14px;
}
.spira-laptop-top { height: 33px; display: flex; align-items: center; gap: 6px; padding: 0 9px; color: #dce8f7; }
.spira-laptop-top span { width: 7px; height: 7px; border-radius: 50%; background: #5f7899; }
.spira-laptop-top strong { margin-left: auto; font-size: 10px; letter-spacing: .12em; }
.spira-screen { position: relative; overflow: hidden; border-radius: 12px; background: #f5f8fb; aspect-ratio: 16/9; }
.spira-screen > img { width: 100%; height: 100%; object-fit: cover; transition: opacity .28s ease, transform .45s ease; }
.spira-screen.is-changing > img { opacity: .22; transform: scale(1.015); }
.spira-screen-caption {
    position: absolute;
    left: 16px; bottom: 15px;
    max-width: 52%;
    padding: 13px 15px;
    border-radius: 12px;
    background: rgba(6,31,73,.91);
    color: white;
    box-shadow: 0 12px 35px rgba(4,24,57,.25);
    backdrop-filter: blur(8px);
}
.spira-screen-caption span { display: block; color: #70e4db; font-size: 9px; text-transform: uppercase; font-weight: 800; letter-spacing: .1em; }
.spira-screen-caption strong { display: block; margin-top: 3px; font-size: 16px; }
.spira-screen-caption p { margin: 4px 0 0; color: #d6e1ef; line-height: 1.35; font-size: 10px; }
.spira-floating-card {
    position: absolute;
    z-index: 6;
    width: 152px;
    padding: 6px;
    border-radius: 13px;
    background: white;
    box-shadow: 0 18px 45px rgba(14,50,94,.18);
    border: 1px solid #e6eef5;
}
.spira-floating-card img { border-radius: 9px; aspect-ratio: 16/10; object-fit: cover; }
.spira-floating-card span { display: inline-block; margin: 7px 6px 3px; padding: 4px 8px; background: var(--spira-navy); color: #fff; border-radius: 7px; font-size: 9px; font-weight: 800; }
.spira-floating-card-a { right: -20px; top: 0; transform: rotate(1.5deg); }
.spira-floating-card-b { left: -28px; bottom: 8px; transform: rotate(-2deg); }
.spira-floating-card-c { right: -8px; bottom: 2px; transform: rotate(2deg); }
.spira-carousel-dots { position: absolute; z-index: 8; left: 50%; bottom: -10px; transform: translateX(-50%); display: flex; gap: 7px; }
.spira-carousel-dots button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 999px; background: #cfdae5; cursor: pointer; transition: width .2s ease, background .2s ease; }
.spira-carousel-dots button.is-active { width: 24px; background: var(--spira-teal); }

.spira-section { padding: 62px 0; }
.spira-section-soft { background: linear-gradient(180deg, #f6faff, #eef6fb); }
.spira-section-heading { max-width: 760px; }
.spira-section-heading-center { text-align: center; margin: 0 auto 48px; }
.spira-section-heading h2, .spira-value-copy h2, .spira-showcase-copy h2, .spira-final-cta h2 {
    margin: 0;
    color: var(--spira-navy);
    font-size: clamp(31px, 3.5vw, 46px);
    line-height: 1.12;
    letter-spacing: -.035em;
}
.spira-section-heading p { margin: 17px 0 0; color: var(--spira-muted); font-size: 17px; }
.spira-feature-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.spira-feature-card { background: #fff; border: 1px solid #dfeaf3; border-radius: 18px; padding: 28px 24px; box-shadow: var(--spira-shadow-soft); }
.spira-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; color: var(--spira-teal-dark); background: #e5f8f6; font-weight: 900; letter-spacing: .05em; }
.spira-feature-card h3 { margin: 20px 0 9px; color: var(--spira-navy); font-size: 18px; line-height: 1.25; }
.spira-feature-card p { margin: 0; color: var(--spira-muted); font-size: 14px; }

.spira-value-grid { display: grid; grid-template-columns: .88fr 1.12fr; gap: 64px; align-items: start; }
.spira-value-copy > p { color: var(--spira-muted); font-size: 17px; margin: 20px 0 0; }
.spira-check-list { list-style: none; padding: 0; margin: 28px 0 0; display: grid; gap: 13px; }
.spira-check-list li { position: relative; padding-left: 31px; color: #385069; font-weight: 620; font-size: 14px; }
.spira-check-list li:before { content: "✓"; position: absolute; left: 0; top: -1px; width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; color: var(--spira-teal-dark); background: #e4f8f5; font-size: 12px; font-weight: 900; }
.spira-pain-panel { border: 1px solid #dce7f0; border-radius: 22px; padding: 28px; box-shadow: var(--spira-shadow-soft); background: #fff; }
.spira-pain-panel > h3 { color: var(--spira-navy); margin: 0 0 22px; font-size: 20px; }
.spira-pain-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.spira-pain-grid div { padding: 18px; background: #f6f9fc; border-radius: 14px; min-height: 122px; }
.spira-pain-grid strong { display: block; color: var(--spira-navy); font-size: 14px; }
.spira-pain-grid span { display: block; margin-top: 7px; color: var(--spira-muted); font-size: 12px; line-height: 1.45; }

.spira-showcase-section { padding: 20px 0 94px; }
.spira-showcase-card { display: grid; grid-template-columns: 1.05fr .95fr; gap: 48px; padding: 50px; border-radius: 28px; color: white; background: radial-gradient(circle at 90% 10%, rgba(61,204,195,.25), transparent 27%), linear-gradient(135deg, #061f49, #0d3975 66%, #075e78); box-shadow: 0 30px 80px rgba(6,31,73,.2); }
.spira-showcase-copy h2 { color: white; }
.spira-showcase-copy p { margin: 18px 0 0; color: #c7d8eb; font-size: 16px; }
.spira-showcase-mini-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.spira-showcase-mini-grid div { display: flex; align-items: center; gap: 11px; padding: 16px; border-radius: 14px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); }
.spira-showcase-mini-grid span { color: #6ce2da; font-size: 22px; }
.spira-showcase-mini-grid strong { font-size: 12px; line-height: 1.3; }

.spira-pricing-section { background: #f5f9fc; }
.spira-pricing-grid { width: min(800px, 100%); margin: 0 auto; display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; align-items: stretch; }
.spira-price-card { position: relative; padding: 31px; background: white; border: 1px solid #dce7f0; border-radius: 22px; box-shadow: var(--spira-shadow-soft); }
.spira-price-card-featured { border-color: rgba(15,167,160,.42); box-shadow: 0 18px 55px rgba(15,167,160,.12); }
.spira-price-badge { display: inline-flex; padding: 5px 9px; border-radius: 999px; background: #dcf7f4; color: #087b76; font-size: 10px; font-weight: 900; letter-spacing: .08em; }
.spira-price-badge-muted { color: #53677f; background: #eef3f7; }
.spira-price-card h3 { margin: 18px 0 6px; color: var(--spira-navy); font-size: 25px; }
.spira-price-intro { margin: 0; min-height: 52px; color: var(--spira-muted); font-size: 14px; }
.spira-price-card ul { list-style: none; padding: 0; margin: 24px 0; display: grid; gap: 10px; }
.spira-price-card li { color: #425971; font-size: 13px; padding-left: 24px; position: relative; }
.spira-price-card li:before { content: "✓"; position: absolute; left: 0; color: var(--spira-teal); font-weight: 900; }
.spira-price-card small { display: block; text-align: center; margin-top: 11px; color: #8996a6; font-size: 10px; }
.spira-login-art { height: 126px; display: grid; place-items: center; }
.spira-login-art img { width: 92px; opacity: .85; }

.spira-final-cta { padding: 70px 0; color: white; background: linear-gradient(135deg, #061f49, #0a3974 65%, #07858b); }
.spira-final-cta-grid { display: grid; grid-template-columns: 1fr auto; gap: 60px; align-items: center; }
.spira-final-cta h2 { color: white; max-width: 800px; }
.spira-final-cta p { margin: 15px 0 0; color: #c9d9e9; }
.spira-final-actions { min-width: 210px; text-align: center; }
.spira-text-link { display: block; margin-top: 15px; color: #c6eae6; text-decoration: none; font-size: 13px; font-weight: 700; }

.spira-footer { padding: 26px 0; background: #041731; color: #9fb0c4; }
.spira-footer-grid { display: flex; justify-content: space-between; gap: 40px; align-items: center; }
.spira-footer-brand { display: flex; align-items: center; gap: 11px; }
.spira-footer-brand img { width: 36px; height: 36px; }
.spira-footer-brand div { display: flex; flex-direction: column; }
.spira-footer-brand strong { color: white; letter-spacing: .12em; }
.spira-footer-brand span, .spira-footer p { font-size: 10px; }
.spira-footer p { margin: 0; text-align: right; }

@media (max-width: 1040px) {
    .spira-nav { gap: 14px; }
    .spira-nav a { font-size: 12px; }
    .spira-hero-grid { grid-template-columns: 1fr; }
    .spira-product-stage { width: min(760px, 100%); margin: 10px auto 0; }
    .spira-feature-grid { grid-template-columns: repeat(2, 1fr); }
    .spira-value-grid { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
    .spira-menu-toggle { display: block; cursor: pointer; }
    .spira-nav {
        position: absolute;
        left: 18px; right: 18px; top: 74px;
        display: none;
        padding: 18px;
        border-radius: 16px;
        background: white;
        box-shadow: var(--spira-shadow);
        border: 1px solid #e1eaf2;
        flex-direction: column;
        align-items: stretch;
    }
    .spira-nav.is-open { display: flex; }
    .spira-nav a { padding: 7px 8px; font-size: 14px; }
    .spira-nav .spira-nav-cta { text-align: center; padding: 11px; }
    .spira-hero { padding-top: 58px; }
    .spira-product-stage { min-height: 470px; }
    .spira-floating-card { width: 135px; }
    .spira-showcase-card { grid-template-columns: 1fr; padding: 38px 30px; }
    .spira-final-cta-grid { grid-template-columns: 1fr; }
    .spira-final-actions { text-align: left; }
    .spira-final-actions .spira-btn { width: auto; }
}

@media (max-width: 620px) {
    .spira-container { width: min(100% - 28px, 1180px); }
    .spira-nav-shell { width: calc(100% - 26px); min-height: 72px; }
    .spira-brand { min-width: unset; }
    .spira-brand-mark { width: 43px; height: 43px; }
    .spira-brand-copy strong { font-size: 20px; }
    .spira-brand-copy small { font-size: 8px; }
    .spira-hero h1 { font-size: 41px; }
    .spira-hero-lead { font-size: 16px; }
    .spira-hero-actions .spira-btn { width: 100%; }
    .spira-trust-row { display: grid; gap: 7px; }
    .spira-product-stage { min-height: 345px; margin-top: 28px; }
    .spira-laptop { left: 0; right: 0; top: 25px; transform: none; }
    .spira-screen-caption { max-width: 68%; padding: 9px 10px; }
    .spira-screen-caption p { display: none; }
    .spira-floating-card { display: none; }
    .spira-carousel-dots { bottom: 0; }
    .spira-section { padding: 70px 0; }
    .spira-feature-grid, .spira-pain-grid, .spira-pricing-grid, .spira-showcase-mini-grid { grid-template-columns: 1fr; }
    .spira-showcase-section { padding-bottom: 70px; }
    .spira-showcase-card { padding: 32px 22px; }
    .spira-footer-grid { align-items: flex-start; flex-direction: column; }
    .spira-footer p { text-align: left; }
}

/* SPIRA 14.0.3 — landing orientada ao trabalho de investigação */
.spira-hero-copy { align-self: center; }
.spira-hero .spira-eyebrow { margin-bottom: 12px; font-size: 13px; letter-spacing: .11em; }
.spira-hero h1 {
    max-width: 650px;
    font-size: clamp(38px, 3.25vw, 44px);
    line-height: 1.09;
    letter-spacing: -.035em;
    text-wrap: balance;
}
.spira-hero-audience {
    margin: 10px 0 0;
    color: #34485f;
    font-size: 14px;
    line-height: 1.4;
    font-weight: 700;
}
.spira-trust-row {
    gap: 0;
    margin-top: 18px;
    font-size: 13px;
    line-height: 1.4;
}
.spira-trust-row span {
    position: relative;
    padding: 0 14px;
}
.spira-trust-row span:first-child { padding-left: 0; }
.spira-trust-row span + span::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: #8b98a8;
    transform: translate(-1px, -50%);
}
.spira-trust-row span::first-letter { color: inherit; }
.spira-section-heading-center { margin-bottom: 28px; }
.spira-section-heading h2,
.spira-value-copy h2,
.spira-showcase-copy h2,
.spira-final-cta h2 {
    font-size: clamp(26px, 2.25vw, 30px);
    line-height: 1.16;
    letter-spacing: -.03em;
}
.spira-section-heading p {
    margin-top: 12px;
    font-size: 15px;
}

.spira-pain-summary-grid {
    width: min(1060px, 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    border-top: 1px solid #d8e3eb;
    border-bottom: 1px solid #d8e3eb;
}
.spira-pain-summary-item {
    padding: 20px 20px 22px;
    min-width: 0;
}
.spira-pain-summary-item + .spira-pain-summary-item {
    border-left: 1px solid #d8e3eb;
}
.spira-pain-summary-item h3 {
    margin: 0;
    color: #25384d;
    font-size: 15px;
    line-height: 1.3;
}
.spira-pain-summary-item p {
    margin: 9px 0 0;
    color: #657486;
    font-size: 14px;
    line-height: 1.48;
}

.spira-flow {
    width: min(1060px, 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    border: 1px solid #d8e3eb;
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
}
.spira-flow-step {
    min-width: 0;
    padding: 18px 14px 14px;
    display: flex;
    flex-direction: column;
    background: #fff;
}
.spira-flow-step + .spira-flow-step { border-left: 1px solid #d8e3eb; }
.spira-flow-step span {
    display: block;
    color: var(--spira-teal-dark);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .08em;
}
.spira-flow-step strong {
    display: block;
    margin-top: 5px;
    color: #25384d;
    font-size: 14px;
    line-height: 1.3;
}
.spira-flow-step p {
    margin: 8px 0 12px;
    color: #657486;
    font-size: 12.5px;
    line-height: 1.42;
}
.spira-flow-visual {
    height: 94px;
    margin-top: auto;
    border: 1px solid #dde6ec;
    border-radius: 9px;
    background-color: #f7fafb;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    box-shadow: 0 6px 16px rgba(23,37,59,.045);
}
/*
 * O primeiro URL de cada item é o print real esperado. Enquanto o PNG ainda
 * não existir, a ilustração SVG temporária permanece visível como segunda camada.
 * Depois, basta salvar os prints definitivos em static/images com estes nomes.
 */
.spira-flow-visual-incidente {
    background-image: url("../images/flow-incidente.png"), url("../images/flow-incidente-placeholder.svg");
}
.spira-flow-visual-timeline {
    background-image: url("../images/flow-linha-tempo.png"), url("../images/flow-linha-tempo-placeholder.svg");
}
.spira-flow-visual-analise {
    background-image: url("../images/flow-analise.png"), url("../images/flow-analise-placeholder.svg");
}
.spira-flow-visual-plano {
    background-image: url("../images/flow-plano-acao.png"), url("../images/flow-plano-acao-placeholder.svg");
}
.spira-flow-visual-acompanhamento {
    background-image: url("../images/flow-acompanhamento.png"), url("../images/flow-acompanhamento-placeholder.svg");
}
.spira-flow-visual-relatorio {
    background-image: url("../images/flow-relatorio.png"), url("../images/flow-relatorio-placeholder.svg");
}
.spira-method-note {
    margin: 12px 0 0;
    text-align: center;
    color: #687789;
    font-size: 13px;
    line-height: 1.45;
}

.spira-product-summary-section { background: #fbfcfd; }
.spira-product-summary-grid {
    width: min(1060px, 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    border-top: 1px solid #d8e3eb;
}
.spira-product-summary-grid article {
    padding: 22px 26px 6px;
    min-width: 0;
}
.spira-product-summary-grid article + article { border-left: 1px solid #d8e3eb; }
.spira-product-summary-grid article > span {
    color: #078783;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .09em;
}
.spira-product-summary-grid h3 {
    margin: 6px 0 0;
    color: #25384d;
    font-size: 15px;
}
.spira-product-summary-grid p {
    margin: 7px 0 0;
    color: #657486;
    font-size: 14px;
    line-height: 1.48;
}

.spira-pricing-grid-single {
    width: min(560px, 100%);
    grid-template-columns: 1fr;
}
.spira-pricing-grid-single .spira-price-intro { min-height: 0; }
.spira-existing-account {
    margin: 14px 0 0;
    text-align: center;
    color: #6e7d8e;
    font-size: 13px;
}
.spira-existing-account a {
    color: #087b76;
    font-weight: 800;
    text-decoration: none;
}
.spira-existing-account a:hover { text-decoration: underline; }

.spira-pricing-section { padding-top: 58px; padding-bottom: 64px; }
.spira-pricing-section .spira-section-heading-center { margin-bottom: 26px; }
.spira-pricing-grid-single .spira-price-card { padding: 27px 29px; }
.spira-pricing-grid-single .spira-price-card h3 { margin-top: 14px; font-size: 22px; }
.spira-pricing-grid-single .spira-price-card li { font-size: 14px; }
.spira-pricing-grid-single .spira-price-card ul { margin: 20px 0; gap: 8px; }

@media (max-width: 1040px) {
    .spira-hero-grid { gap: 28px; }
    .spira-pain-summary-grid { grid-template-columns: repeat(2, 1fr); }
    .spira-pain-summary-item:nth-child(3) { border-left: 0; border-top: 1px solid #d8e3eb; }
    .spira-pain-summary-item:nth-child(4) { border-top: 1px solid #d8e3eb; }
    .spira-flow { grid-template-columns: repeat(3, 1fr); }
    .spira-flow-visual { height: 118px; }
    .spira-flow-step:nth-child(4) { border-left: 0; border-top: 1px solid #d8e3eb; }
    .spira-flow-step:nth-child(5),
    .spira-flow-step:nth-child(6) { border-top: 1px solid #d8e3eb; }
}

@media (max-width: 820px) {
    .spira-section { padding: 54px 0; }
}

@media (max-width: 620px) {
    .spira-section { padding: 46px 0; }
    .spira-pricing-section { padding-top: 46px; padding-bottom: 52px; }
    .spira-hero h1 { font-size: 34px; line-height: 1.1; }
    .spira-trust-row { gap: 8px; }
    .spira-trust-row span { padding: 0; }
    .spira-trust-row span + span::before { display: none; }
    .spira-pain-summary-grid,
    .spira-flow,
    .spira-product-summary-grid { grid-template-columns: 1fr; }
    .spira-flow-visual { height: 150px; }
    .spira-pain-summary-item + .spira-pain-summary-item,
    .spira-pain-summary-item:nth-child(3),
    .spira-pain-summary-item:nth-child(4),
    .spira-flow-step + .spira-flow-step,
    .spira-flow-step:nth-child(4),
    .spira-flow-step:nth-child(5),
    .spira-flow-step:nth-child(6),
    .spira-product-summary-grid article + article {
        border-left: 0;
        border-top: 1px solid #d8e3eb;
    }
    .spira-product-summary-grid article { padding: 24px 0; }
}
