:root {
    --teal: #00a3a3;
    --teal-dark: #007b7b;
    --navy: #232f3e;
    --text: #333f4f;
    --muted: #606b79;
    --purple: #a07bf7;
    --line: #e6e9ed;
    --soft: #f7f9fc;
    --radius: 12px;
    --shadow: 0 0 0 1px rgba(160, 123, 247, .35), 0 0 26px rgba(160, 123, 247, .18), 0 8px 24px rgba(35, 47, 62, .06)
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 110px
}

body {
    margin: 0;
    background: #fff;
    color: var(--text);
    font: 400 16px/1.65 "Segoe UI", Roboto, Arial, sans-serif
}

a {
    color: var(--teal-dark);
    text-decoration: none
}

a:hover {
    text-decoration: underline
}

img {
    max-width: 100%;
    height: auto
}

button {
    font: inherit
}

h1,
h2,
h3 {
    color: var(--navy);
    line-height: 1.18;
    font-weight: 700;
    letter-spacing: -.025em;
    margin: 0 0 20px
}

h1 {
    font-size: clamp(40px, 4.4vw, 64px)
}

h2 {
    font-size: clamp(30px, 3vw, 42px)
}

h3 {
    font-size: 23px;
    line-height: 1.3
}

p {
    margin: 0 0 20px
}

ul {
    padding: 0;
    margin: 0
}

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

.text-teal {
    color: #00a3a3;
}

.text-purple {
    color: #b2008f;
}

.text-blue {
    color: #0186fd;
}

.narrow {
    max-width: 1300px
}

section {
    padding: 96px 0;
    scroll-margin-top: 100px
}

section.policy-content {
    padding: 0px;
}

.tinted {
    background: var(--soft)
}

.eyebrow {
    font-size: 12px;
    letter-spacing: .16em;
    font-weight: 700;
    color: var(--teal-dark);
    margin-bottom: 20px
}

.actions {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    align-items: center
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    border: 1px solid var(--teal);
    border-radius: 30px;
    padding: 13px 26px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
    min-height: 48px;
    box-shadow: 0 0 18px 2px rgba(160, 123, 247, .24), 0 4px 12px rgba(160, 123, 247, .12);
    transition: box-shadow .2s, background .2s, transform .2s
}

.btn:hover {
    text-decoration: none;
    transform: translateY(-2px);
    box-shadow: 0 0 25px 3px rgba(160, 123, 247, .35), 0 6px 18px rgba(160, 123, 247, .18)
}

.btn-teal {
    background: var(--teal);
    color: #fff
}

.btn-teal:hover {
    background: var(--teal-dark);
    color: #fff
}

.btn-outline {
    background: transparent;
    color: var(--navy);
    border-color: #adb5c0
}

.btn-outline:hover {
    background: #f4f8fa
}

.skip-link {
    position: absolute;
    top: -80px;
    left: 16px;
    padding: 12px;
    background: var(--navy);
    color: #fff;
    z-index: 100
}

.skip-link:focus {
    top: 8px
}

a:focus-visible,
button:focus-visible,
summary:focus-visible {
    outline: 3px solid var(--purple);
    outline-offset: 5px
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 40;
    background: rgba(255, 255, 255, .98);
    border-bottom: 1px solid #edf0f3
}

.header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 96px;
    gap: 32px
}

.logo {
    display: block;
    flex-shrink: 0
}

.logo img {
    display: block;
    width: 175px;
    height: 67px;
    object-fit: contain
}

.header-inner nav {
    display: flex;
    align-items: center;
    gap: 28px
}

.header-inner nav>a:not(.btn) {
    font-size: 14px;
    font-weight: 600;
    color: var(--navy);
    white-space: nowrap
}

.header-inner nav>a[aria-current=page] {
    color: var(--teal-dark)
}

.menu-toggle {
    display: none;
    background: #fff;
    border: 1px solid #dbe1e6;
    border-radius: 8px;
    color: var(--navy);
    width: 44px;
    height: 44px;
    font-size: 24px;
    box-shadow: 0 0 16px rgba(160, 123, 247, .22)
}

.hero {
    padding: 80px 0 96px;
    overflow: hidden
}

.hero-grid {
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    align-items: center;
    gap: 56px
}

.hero h1 span,
.page-hero h1 span {
    color: var(--teal)
}

.hero-copy {
    font-size: 18px;
    line-height: 1.7;
    max-width: 560px;
    margin: 28px 0 32px
}

.hero-trust {
    display: flex;
    gap: 12px 22px;
    flex-wrap: wrap;
    font-size: 12px;
    color: var(--muted);
    margin-top: 32px
}

.hero-trust span:before {
    content: '✓';
    color: var(--teal-dark);
    font-weight: 700;
    margin-right: 6px
}

.hero-visual {
    position: relative;
    padding: 40px 8px;
    min-width: 0
}

.slider-shape {
    position: absolute;
    z-index: 0;
    width: 125%;
    height: 125%;
    left: -14%;
    top: -8%;
    pointer-events: none
}

.preview-card {
    position: relative;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 20px 65px rgba(0, 123, 123, .15), 0 0 30px rgba(160, 123, 247, .17);
    border: 1px solid #e5eded;
    overflow: hidden;
    transform: rotate(-2deg)
}

.preview-top {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 20px;
    border-bottom: 1px solid var(--line);
    font-size: 13px
}

.preview-label {
    margin-left: auto;
    color: #7b8591;
    font-size: 10px
}

.preview-dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--teal)
}

.preview-wave {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    background: #eaf9f8;
    height: 80px;
    padding: 16px;
    margin: 24px 24px 16px;
    border-radius: 8px
}

.preview-wave span {
    width: 5px;
    height: 20px;
    border-radius: 4px;
    background: var(--teal)
}

.preview-wave span:nth-child(3n) {
    height: 45px
}

.preview-wave span:nth-child(4n) {
    height: 32px
}

.preview-wave span:nth-child(5n) {
    height: 52px
}

.preview-status {
    padding: 0 24px;
    display: flex;
    justify-content: space-between;
    gap: 8px;
    font-size: 11px;
    color: #66717d
}

.preview-status span {
    background: #fff4d7;
    border-radius: 4px;
    color: #7b5b12;
    padding: 1px 8px
}

.preview-note {
    padding: 24px
}

.preview-note .eyebrow {
    font-size: 9px;
    margin-bottom: 20px
}

.preview-note h3 {
    font-size: 15px;
    margin: 18px 0 10px;
    letter-spacing: 0
}

.skeleton {
    height: 7px;
    background: #e6edf0;
    border-radius: 4px;
    width: 78%;
    margin: 9px 0
}

.skeleton.wide {
    width: 96%
}

.skeleton.short {
    width: 60%
}

.preview-footer {
    border-top: 1px solid var(--line);
    padding: 17px 24px;
    font-size: 11px;
    color: var(--teal-dark)
}

.trust-strip {
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    background: #fbfcfd
}

.trust-strip .container {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
    padding-top: 24px;
    padding-bottom: 24px;
    color: var(--muted);
    font-size: 14px
}

.section-heading {
    max-width: 750px;
    margin-bottom: 48px
}

.section-heading>p:last-child {
    max-width: 670px;
    color: var(--muted);
    font-size: 17px
}

.card-grid {
    display: grid;
    gap: 28px
}

.card-grid.three {
    grid-template-columns: repeat(3, minmax(0, 1fr))
}

.card-grid.two {
    grid-template-columns: repeat(2, minmax(0, 1fr))
}

.glow-card {
    padding: 32px;
    background: #fff;
    border: 1px solid rgba(160, 123, 247, .32);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    transition: box-shadow .2s;
    min-width: 0
}

.glow-card:hover {
    box-shadow: 0 0 0 1px rgba(160, 123, 247, .48), 0 0 32px rgba(160, 123, 247, .24), 0 8px 26px rgba(35, 47, 62, .07)
}

.glow-card p {
    color: var(--muted)
}

.glow-card p:last-child {
    margin-bottom: 0
}

.feature-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 12px;
    color: var(--teal-dark);
    background: #e7f7f6;
    margin-bottom: 24px
}

.feature-icon svg {
    width: 26px;
    height: 26px
}

.section-link {
    margin-top: 40px;
    text-align: center;
    font-weight: 700
}

.steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 32px
}

.steps article>span {
    display: block;
    font-size: 36px;
    color: var(--teal);
    font-weight: 300;
    line-height: 1;
    margin-bottom: 24px
}

.steps p {
    color: var(--muted);
    font-size: 15px
}

.steps h3 {
    font-size: 21px
}

.split {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 80px;
    align-items: center
}

.split .section-heading {
    margin-bottom: 24px
}

.check-list {
    list-style: none
}

.check-list li {
    position: relative;
    padding-left: 28px;
    margin: 14px 0;
    color: var(--text)
}

.check-list li:before {
    position: absolute;
    left: 0;
    content: '✓';
    color: var(--teal-dark);
    font-weight: 700
}

.small-note {
    font-size: 13px;
    color: var(--muted);
    line-height: 1.65;
    margin-top: 24px
}

.evidence-card {
    padding: 40px
}

.evidence-card h3 {
    font-size: 30px
}

.status-row {
    display: flex;
    gap: 16px;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 32px
}

.status {
    border-radius: 6px;
    padding: 7px 11px;
    font-size: 12px;
    font-weight: 600
}

.status.amber {
    background: #fff4d7;
    color: #75530a
}

.status.teal {
    background: #e4f6f2;
    color: #006d61
}

.security-band {
    background: var(--navy);
    color: #fff
}

.security-band h2,
.security-band h3 {
    color: #fff
}

.security-band .eyebrow {
    color: #79ded6
}

.security-band p {
    color: #d5dce3
}

.security-band .btn-outline {
    color: #fff;
    border-color: #92b8bd
}

.security-band .btn-outline:hover {
    color: var(--navy)
}

.security-points {
    display: grid;
    gap: 28px
}

.security-points>div {
    border-bottom: 1px solid #415362;
    padding-bottom: 28px
}

.security-points .feature-icon {
    background: #344c58;
    color: #70dcd5
}

.security-points h3 {
    font-size: 22px
}

.security-points p {
    font-size: 15px;
    margin-bottom: 0
}

.price-card {
    padding: 36px;
    display: flex;
    flex-direction: column
}

.price-card h3 {
    font-size: 29px
}

.price-card .eyebrow {
    color: var(--teal-dark);
    margin-bottom: 14px
}

.price-card .price {
    display: flex;
    align-items: baseline;
    gap: 8px;
    color: var(--navy);
    margin: 12px 0 0;
    flex-wrap: wrap
}

.price strong {
    font-size: 52px;
    line-height: 1.2;
    letter-spacing: -.04em
}

.price span {
    font-size: 14px;
    color: var(--muted)
}

.price-unit {
    font-size: 14px;
    margin-bottom: 12px
}

.price-card hr {
    width: 100%;
    border: 0;
    border-top: 1px solid var(--line);
    margin: 20px 0
}

.price-card>p:not(.eyebrow):not(.price):not(.price-unit) {
    font-size: 15px;
    flex-grow: 1
}

.price-card .btn {
    margin-top: 8px;
    width: 100%
}

.pricing-note {
    text-align: center;
    font-size: 14px;
    color: var(--muted);
    margin: 32px auto 0;
    max-width: 720px
}

.faq-item {
    border-bottom: 1px solid #dce2e8;
    padding: 24px 0
}

.faq-item summary {
    font-size: 18px;
    font-weight: 600;
    color: var(--navy);
    cursor: pointer;
    padding-right: 32px;
    position: relative;
    list-style: none
}

.faq-item summary::-webkit-details-marker {
    display: none
}

.faq-item summary:after {
    content: '+';
    position: absolute;
    right: 0;
    color: var(--teal-dark);
    font-size: 24px;
    line-height: 1
}

.faq-item[open] summary:after {
    content: '−'
}

.faq-item p {
    margin: 20px 0 0;
    color: var(--muted);
    max-width: 740px
}

.contact-section {
    padding: 96px 0
}

.contact-box {
    background: #f8fcfc;
    border: 1px solid #d6efed;
    border-radius: 18px;
    padding: 64px;
    text-align: center;
    box-shadow: 0 0 32px rgba(160, 123, 247, .16)
}

.contact-box h2 {
    font-size: clamp(32px, 3.5vw, 46px)
}

.contact-box>p:not(.eyebrow) {
    max-width: 650px;
    margin-left: auto;
    margin-right: auto
}

.contact-email {
    display: block;
    margin-top: 24px;
    font-weight: 600
}

.contact-box .small-note {
    margin-bottom: 0
}

.site-footer {
    background: #1c2634;
    color: #cbd3df;
    padding: 64px 0 24px
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr;
    gap: 56px
}

.footer-grid img {
    width: 170px;
    display: block;
    object-fit: contain;
    margin-bottom: 24px
}

.footer-grid h2 {
    font-size: 17px;
    color: #fff;
    letter-spacing: 0
}

.footer-grid a {
    display: block;
    color: #d4dee8;
    margin-bottom: 12px;
    font-size: 14px
}

.footer-grid p {
    font-size: 14px
}

.footer-grid>div:last-child p {
    font-size: 12px;
    color: #aeb9c7;
    max-width: 260px
}

.footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
    border-top: 1px solid #3c4654;
    margin-top: 40px;
    padding-top: 24px;
    font-size: 12px
}

.page-hero {
    background: linear-gradient(125deg, #f5fcfc, #fff 65%);
    padding: 80px 0
}

.page-hero h1 {
    font-size: clamp(38px, 4.2vw, 58px)
}

.page-hero p:not(.eyebrow) {
    max-width: 720px;
    font-size: 18px;
    color: var(--muted)
}

.feature-detail {
    padding: 40px
}

.notice {
    border-left: 4px solid var(--teal);
    background: #f6f9fb;
    padding: 32px;
    border-radius: 0 8px 8px 0
}

.notice h2 {
    font-size: 27px
}

.notice p {
    color: var(--muted);
    margin: 0
}

.policy-placeholder {
    border: 1px dashed #b3a0dd;
    background: #fbf9ff
}

.policy-placeholder .eyebrow {
    color: #765baf;
    font-size: 11px
}

.policy-placeholder p {
    font-size: 14px
}

.menu-toggle[aria-expanded=true] {
    background: #e7f7f6
}

@media(max-width:1050px) {
    .header-inner nav {
        gap: 16px
    }

    .header-inner nav .btn {
        padding: 12px 18px;
        gap: 10px
    }

    .hero-grid {
        gap: 32px
    }

    .split {
        gap: 40px
    }

    .glow-card {
        padding: 24px
    }

    .card-grid {
        gap: 24px
    }
}

@media(max-width:900px) {
    .menu-toggle {
        display: block
    }

    .header-inner {
        min-height: 80px
    }

    .logo img {
        width: 150px;
        height: 57px
    }

    .header-inner nav {
        display: none;
        position: absolute;
        top: 80px;
        left: 0;
        right: 0;
        background: #fff;
        padding: 24px 32px;
        border-bottom: 1px solid var(--line);
        box-shadow: 0 12px 24px rgba(35, 47, 62, .08);
        flex-direction: column;
        align-items: stretch;
        gap: 20px
    }

    .header-inner nav.open {
        display: flex
    }

    .hero-grid {
        grid-template-columns: 1fr 1fr;
        gap: 24px
    }

    .hero h1 {
        font-size: 42px
    }

    .preview-label {
        display: none
    }

    .card-grid.three {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .pricing-grid.three {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }

    .price-card {
        padding: 24px
    }

    .price strong {
        font-size: 42px
    }

    .steps {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .split {
        gap: 32px
    }

    .evidence-card h3 {
        font-size: 26px
    }
}

@media(max-width:700px) {
    .container {
        width: calc(100% - 40px)
    }

    section {
        padding: 64px 0
    }

    .hero {
        padding: 48px 0 64px
    }

    .hero-grid,
    .split {
        grid-template-columns: 1fr;
        gap: 40px
    }

    .hero h1 {
        font-size: 46px
    }

    .hero-copy {
        font-size: 17px;
        max-width: 600px
    }

    .hero-visual {
        max-width: 440px;
        width: 100%;
        margin: 0 auto;
        padding: 32px 12px
    }

    .preview-label {
        display: block
    }

    .card-grid.three,
    .card-grid.two,
    .pricing-grid.three {
        grid-template-columns: 1fr
    }

    .section-heading {
        margin-bottom: 32px
    }

    .trust-strip .container {
        flex-direction: column;
        gap: 10px;
        padding-top: 20px;
        padding-bottom: 20px
    }

    .steps {
        gap: 32px
    }

    .contact-box {
        padding: 40px 24px
    }

    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 32px
    }

    .footer-grid>div:first-child {
        grid-column: 1/-1
    }

    .page-hero {
        padding: 56px 0
    }

    .header-inner nav {
        padding: 24px 20px
    }

    .pricing-grid {
        max-width: 480px;
        margin: 0 auto
    }

    .evidence-card,
    .feature-detail {
        padding: 28px
    }

    .security-points>div:last-child {
        border-bottom: 0
    }
}

@media(max-width:400px) {
    .hero h1 {
        font-size: 40px
    }

    .preview-status {
        flex-wrap: wrap
    }

    .steps {
        grid-template-columns: 1fr
    }

    .footer-grid {
        grid-template-columns: 1fr
    }

    .footer-grid>div:first-child {
        grid-column: auto
    }

    .actions .btn {
        width: 100%
    }

    .preview-top {
        padding: 16px;
        font-size: 12px
    }

    .preview-label {
        display: none
    }

    .price strong {
        font-size: 48px
    }
}

@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior: auto
    }

    * {
        transition: none !important
    }

    .preview-card {
        transform: none
    }

    .btn:hover {
        transform: none
    }
}

/* Plans page content layout. Header and footer use the shared site styles. */

.pricing-page main .container {
    width: min(1120px, calc(100% - 40px));
    margin-inline: auto;
}

.pricing-page section {
    padding-block: 64px;
}

.pricing-page .section-heading {
    max-width: 740px;
    margin-bottom: 32px;
}

.pricing-page #comparison .section-heading,
.pricing-page #pricing .section-heading {
    width: 100%;
    max-width: none;
}

.pricing-page h1 {
    font-size: clamp(2rem, 4vw, 3.25rem);
    line-height: 1.12;
    margin: 12px 0 20px;
}

.pricing-page .eyebrow {
    color: #007c7c;
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .12em;
}

.pricing-page .pricing-intro .section-heading {
    max-width: 800px;
    margin-bottom: 0;
}

.pricing-page .pricing-intro .section-heading>p:last-child {
    color: #526b73;
    font-size: 1.125rem;
    line-height: 1.7;
}

.pricing-page .pricing-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.pricing-page .price-card {
    border: 1px solid #d6e6e6;
    border-radius: 20px;
    padding: 28px;
    display: flex;
    flex-direction: column;
    box-shadow: 0 12px 35px #003b3b0a;
}

.pricing-page .price-card h3 {
    margin: 8px 0;
    font-size: 1.5rem;
}

.pricing-page .price strong {
    font-size: 2.75rem;
}

.pricing-page .price span {
    margin-left: 8px;
    color: #526b73;
}

.pricing-page .price {
    margin-bottom: 4px;
}

.pricing-page .price-unit {
    margin-top: 0;
    color: #526b73;
}

.pricing-page .price-card hr {
    width: 100%;
    border: 0;
    border-top: 1px solid #d6e6e6;
}

.pricing-page .price-card .btn {
    margin-top: auto;
}

.pricing-page main .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 14px 18px;
    border-radius: 8px;
    text-decoration: none;
}

.pricing-page main .btn-teal {
    background: #008b8b;
    color: white;
}

.pricing-page .pricing-note,
.pricing-page .comparison-note {
    color: #526b73;
    line-height: 1.6;
}

.pricing-page #comparison {
    background: #f5fafa;
}

.pricing-page .table-scroll {
    width: 100%;
    max-width: 1000px;
    margin-inline: auto;
    overflow-x: auto;
    border: 1px solid #c8acef;
    box-shadow: 0 0 20px rgba(160, 123, 247, .22), 0 12px 36px rgba(160, 123, 247, .14);
    border-radius: 16px;
    background: white;
}

.pricing-page table {
    border-collapse: collapse;
    width: 100%;
    min-width: 760px;
}

.pricing-page caption {
    text-align: left;
    padding: 20px;
    font-weight: 700;
}

.pricing-page th,
.pricing-page td {
    padding: 18px 20px;
    border-top: 1px solid #e0ebeb;
    text-align: center;
    vertical-align: middle;
}

.pricing-page thead th {
    background: #007c7c;
    color: #ffffff;
    border-top-color: #007c7c;
}

.pricing-page th:first-child {
    text-align: left;
    width: 34%;
}

.pricing-page tbody th {
    font-weight: 500;
}

.pricing-page .feature-check {
    color: #00a3a3;
    font-size: 1.35rem;
    font-weight: 700;
}

.pricing-page .plan-pending {
    color: #526b73;
    font-size: .85rem;
}

.pricing-page .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

.pricing-page a:focus-visible,
.pricing-page .table-scroll:focus-visible {
    outline: 3px solid #007c7c;
    outline-offset: 4px;
}

@media (max-width: 760px) {
    .pricing-page .pricing-grid {
        grid-template-columns: 1fr;
    }

    .pricing-page section {
        padding-block: 40px;
    }

    .pricing-page main .container {
        width: calc(100% - 32px);
    }
}

.pricing-page .pricing-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    gap: 48px;
    align-items: center;
}

.pricing-page .pricing-intro .hero-visual {
    position: relative;
    min-width: 0;
    width: 100%;
}

.pricing-page .pricing-intro .slider-shape {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.pricing-page .pricing-intro .preview-card {
    position: relative;
    width: 100%;
    box-sizing: border-box;
}

@media (max-width: 900px) {
    .pricing-page .pricing-intro-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .pricing-page .pricing-intro .hero-visual {
        max-width: 480px;
    }
}

/* Home page section only. */
#benefits {background:linear-gradient(140deg,#f3fbfb 0%,#fff 55%,#faf7ff 100%);}
#benefits .benefits-intro {max-width:850px;}
#benefits .benefits-teal {color:#00a3a3;}
#benefits .benefits-lead {font-size:19px;line-height:1.75;color:#606b79;}
#benefits .benefits-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:40px 0 56px;}
#benefits .benefit-value {background:#fff;border:1px solid #e8dff7;border-radius:18px;padding:30px;box-shadow:0 0 24px rgba(160,123,247,.12);}
#benefits .benefit-step {display:block;color:#007c7c;font-size:13px;font-weight:700;letter-spacing:.12em;margin-bottom:20px;}
#benefits .benefit-value h3 {font-size:24px;}
#benefits .benefit-value p {margin:0;color:#606b79;}
#benefits .benefits-research-heading p:last-child {font-size:14px;color:#606b79;}
#benefits .benefits-stats {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:start;}
#benefits .benefit-stat {min-width:0;border-top:2px solid #00a3a3;padding-top:20px;}
#benefits .benefit-source summary {display:block;cursor:pointer;list-style:none;border-radius:8px;}
#benefits .benefit-source summary::-webkit-details-marker {display:none;}
#benefits .benefit-source summary:focus-visible {outline:3px solid #a07bf7;outline-offset:7px;}
#benefits .benefit-number {display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;color:#007c7c;font-size:clamp(44px,5vw,66px);line-height:1.1;font-weight:750;letter-spacing:-.04em;}
#benefits .benefit-unit {font-size:18px;letter-spacing:0;}
#benefits .benefit-stat-label {display:block;font-size:15px;line-height:1.6;margin:16px 0;}
#benefits .benefit-source-hint {display:flex;justify-content:space-between;font-size:12px;font-weight:600;color:#765baf;}
#benefits .benefit-research {margin-top:16px;padding:18px;background:white;border:1px solid #e8dff7;border-radius:12px;box-shadow:0 0 22px rgba(160,123,247,.15);font-size:13px;}
#benefits .benefit-research p {margin:10px 0 12px;}
#benefits .benefit-research a {text-decoration:underline;color:#007c7c;}
#benefits .benefits-context {font-size:12px;color:#606b79;max-width:800px;margin:28px 0 40px;}
#benefits .benefits-cta {display:flex;justify-content:space-between;align-items:center;gap:28px;border-top:1px solid #e6e9ed;padding-top:32px;}
#benefits .benefits-cta h3 {margin-bottom:10px;} #benefits .benefits-cta p {margin:0;color:#606b79;}
#benefits .benefits-cta .btn {flex-shrink:0;}
#benefits.benefits-animated .benefit-reveal {opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease;}
#benefits.benefits-animated .benefit-reveal.is-visible {opacity:1;transform:none;}
@media(max-width:1000px){#benefits .benefits-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;}#benefits .benefit-value{padding:24px;}}
@media(max-width:700px){#benefits .benefits-grid{grid-template-columns:1fr;gap:20px;}#benefits .benefits-cta{flex-direction:column;align-items:flex-start;}#benefits .benefits-lead{font-size:17px;}}
@media(max-width:420px){#benefits .benefits-stats{grid-template-columns:1fr;}}
@media(prefers-reduced-motion:reduce){#benefits.benefits-animated .benefit-reveal{opacity:1;transform:none;transition:none;}}

/* Research popovers: larger symbols and yellow/purple glow. */
#benefits .benefit-number .benefit-unit {
    font-size: clamp(30px, 3.4vw, 46px);
    font-weight: 700;
    line-height: 1;
}
#benefits .benefit-stat:first-child .benefit-unit {
    font-size: 18px;
}
#benefits .benefit-stat { position: relative; }
#benefits .benefit-stat:has(.benefit-source[open]) { z-index: 25; }
#benefits .benefit-source { position: relative; }
#benefits .benefit-research {
    position: absolute;
    bottom: calc(100% + 14px);
    left: 0;
    width: min(340px, calc(100vw - 48px));
    max-height: min(420px, 65vh);
    overflow-y: auto;
    box-sizing: border-box;
    margin: 0;
    padding: 22px;
    background: linear-gradient(145deg, #fffdf2, #fff 45%, #faf5ff);
    border: 1px solid #d3b6fa;
    box-shadow: 0 0 20px 5px rgba(255, 205, 65, .32),
                0 0 38px 10px rgba(160, 123, 247, .35),
                0 12px 30px rgba(35, 47, 62, .16);
    z-index: 30;
}
#benefits .benefit-source::after {
    content: "";
    display: none;
    position: absolute;
    bottom: 100%;
    left: 0;
    width: min(340px, calc(100vw - 48px));
    height: 16px;
}
#benefits .benefit-source[open]::after { display: block; }
#benefits .benefit-stat:last-child .benefit-research,
#benefits .benefit-stat:last-child .benefit-source::after {
    left: auto;
    right: 0;
}
#benefits .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}
@media (min-width: 421px) and (max-width: 1000px) {
    #benefits .benefit-stat:nth-child(even) .benefit-research,
    #benefits .benefit-stat:nth-child(even) .benefit-source::after {
        left: auto;
        right: 0;
    }
}
@media (max-width: 420px) {
    #benefits .benefit-stat .benefit-research,
    #benefits .benefit-stat .benefit-source::after {
        left: 0;
        right: auto;
        width: 100%;
    }
}

/* Gradient research figures, slightly enlarged. */
#benefits .benefit-number {
    font-size: clamp(52px, 5.8vw, 78px);
    color: #78008a;
    gap: 6px;
    font-variant-numeric: tabular-nums;
}
#benefits .benefit-count { display: inline-block; min-width: 1ch; }
@supports ((background-clip: text) or (-webkit-background-clip: text)) {
    #benefits .benefit-count,
    #benefits .benefit-unit {
        background: linear-gradient(120deg, #78008a 24.25%, #b2008f 69.56%);
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
        color: transparent;
    }
}
@media (forced-colors: active) {
    #benefits .benefit-count, #benefits .benefit-unit {
        background: none;
        -webkit-text-fill-color: CanvasText;
        color: CanvasText;
    }
}

/* How it works: shares Features page typography, header and glow cards. */
.how-page .text-teal {color:#00a3a3;}
.how-page .how-hero-grid {display:grid;grid-template-columns:1.15fr 1fr;gap:64px;align-items:center;}
.how-page .page-hero .actions {margin-top:28px;}
.how-page .how-graphic {max-width:450px;width:100%;margin-inline:auto;padding:28px;background:linear-gradient(145deg,#fff,#f8f4ff);border-radius:20px;}
.how-page .how-graphic-label {font-size:11px;font-weight:700;letter-spacing:.14em;color:#765baf;margin-bottom:18px;}
.how-page .how-recording {display:flex;align-items:center;gap:12px;padding:16px;background:#eefafa;border-radius:12px;flex-wrap:wrap;}
.how-page .how-record-dot {width:9px;height:9px;border-radius:50%;background:#00a3a3;box-shadow:0 0 0 5px #00a3a314;}
.how-page .how-audio-bars {display:flex;align-items:center;gap:4px;height:28px;margin-left:auto;}
.how-page .how-audio-bars i {display:block;width:4px;height:12px;background:#00a3a3;border-radius:4px;animation:how-wave 1.5s ease-in-out infinite;}
.how-page .how-audio-bars i:nth-child(3n) {height:25px;animation-delay:.25s;}
.how-page .how-audio-bars i:nth-child(2n) {height:19px;animation-delay:.5s;}
.how-page .how-graphic-arrow {text-align:center;font-size:24px;color:#a07bf7;padding:8px;}
.how-page .how-draft {background:#fff;padding:22px;border:1px solid #e8dff7;border-radius:14px;}
.how-page .how-draft-badge {display:inline-block;font-size:11px;color:#765baf;padding:4px 10px;background:#f5f0ff;border-radius:20px;margin-bottom:12px;}
.how-page .how-draft h3 {font-size:22px;margin-bottom:18px;}
.how-page .how-note-row strong {display:block;font-size:12px;margin:12px 0 8px;}
.how-page .how-note-row span {display:block;height:7px;background:#e8eef2;border-radius:4px;margin-bottom:7px;}
.how-page .how-note-row span:last-child {width:75%;}
.how-page .how-review-chip {margin-top:20px;font-size:12px;font-weight:600;color:#007c7c;border-top:1px solid #edf0f3;padding-top:16px;}
.how-page .how-graphic-caption {font-size:12px!important;text-align:center;margin:16px 0 0;color:#606b79;}
.how-page .how-steps {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;list-style:none;padding:0;margin:36px 0 24px;}
.how-page .how-step {padding:32px;transition:transform .25s,box-shadow .25s;}
.how-page .how-step:hover {transform:translateY(-5px);box-shadow:0 0 0 1px #a07bf759,0 0 34px #a07bf740,0 12px 30px #232f3e14;}
.how-page .how-step-top {display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px;}
.how-page .how-step-top .feature-icon {margin:0;}
.how-page .how-step-number {font-size:40px;line-height:1;color:#a07bf7;font-weight:700;}
.how-page .how-role {font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#606b79;font-weight:700;margin-bottom:10px;}
.how-page .how-step p:not(.how-role) {color:#606b79;}
.how-page .how-step-benefit {border-top:1px solid #e6e9ed;padding-top:18px;color:#007c7c;font-size:14px;font-weight:600;}
.how-page .how-inline-note {font-size:13px;color:#606b79;max-width:850px;}
.how-page .how-status-card {padding:32px;}
.how-page .how-status-card dl {margin:0;}
.how-page .how-status-card dl>div {padding:18px 0;border-bottom:1px solid #e6e9ed;}
.how-page .how-status-card dl>div:first-child {padding-top:0;}
.how-page .how-status-card dl>div:last-child {border:0;padding-bottom:0;}
.how-page .how-status-card dt {font-weight:700;display:flex;gap:10px;align-items:center;}
.how-page .how-status-card dd {margin:6px 0 0 20px;font-size:14px;color:#606b79;}
.how-page .how-status-dot {width:10px;height:10px;flex-shrink:0;border-radius:50%;background:#a07bf7;}
.how-page .how-status-dot.processing {background:#df9d21;}.how-page .how-status-dot.complete {background:#007c7c;}.how-page .how-status-dot.ready {background:#00a3a3;}.how-page .how-status-dot.all {background:#748195;}
.how-page .how-tips {display:grid;gap:18px;}
.how-page .how-tip {padding:24px 28px;}
.how-page .how-tip summary {display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;font-weight:700;list-style:none;}
.how-page .how-tip summary::-webkit-details-marker {display:none;}
.how-page .how-tip summary span {color:#00a3a3;font-size:22px;transition:transform .2s;}
.how-page .how-tip[open] summary span {transform:rotate(45deg);}
.how-page .how-tip p {margin:18px 0 0;max-width:900px;color:#606b79;}
.how-page .how-tip summary:focus-visible {outline:3px solid #a07bf7;outline-offset:6px;}
.how-page .how-cta-actions {justify-content:center;margin:28px 0;}
.how-page.how-animated [data-how-reveal] {opacity:0;translate:0 18px;transition:opacity .55s ease,translate .55s ease;}
.how-page.how-animated [data-how-reveal].how-visible {opacity:1;translate:0 0;}
@keyframes how-wave {0%,100% {transform:scaleY(.65);}50% {transform:scaleY(1);}}
@media(max-width:900px){.how-page .how-hero-grid{grid-template-columns:1fr;gap:40px;}}
@media(max-width:700px){.how-page .how-steps{grid-template-columns:1fr;}.how-page .how-step,.how-page .how-status-card{padding:26px;}.how-page .how-tip{padding:22px;}}
@media(prefers-reduced-motion:reduce){.how-page .how-audio-bars i{animation:none;}.how-page.how-animated [data-how-reveal]{opacity:1;translate:none;transition:none;}.how-page .how-step,.how-page .how-tip summary span{transition:none;}.how-page .how-step:hover{transform:none;}}

/* Plans introduction: doctor and patient illustration. */
.pricing-page .pricing-intro .pricing-care-visual {
    position: relative;
    width: 100%;
    max-width: 560px;
    margin-inline: auto;
    align-self: center;
}
.pricing-page .pricing-intro .pricing-care-image {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 12px 24px rgba(160, 123, 247, .12));
}
@media (max-width: 900px) {
    .pricing-page .pricing-intro .pricing-care-visual { max-width: 480px; }
}

/* Four-step How hero illustration, with clockwise sequencing. */
.how-page .how-cycle-visual {width:100%;max-width:540px;margin-inline:auto;}
.how-page .how-cycle-eyebrow {font-size:11px!important;font-weight:700;letter-spacing:.12em;text-align:center;color:#765baf;margin:0 0 14px;}
.how-page .how-cycle-stage {position:relative;aspect-ratio:1;width:100%;}
.how-page .how-cycle-route {position:absolute;inset:0;width:100%;height:100%;pointer-events:none;}
.how-page .how-cycle-nodes {list-style:none;margin:0;padding:0;}
.how-page .how-cycle-node {position:absolute;width:43%;box-sizing:border-box;display:grid;grid-template-columns:38px 1fr;column-gap:10px;padding:16px;background:rgba(255,255,255,.98);border:1px solid #e8dff7;border-radius:16px;box-shadow:0 0 24px rgba(160,123,247,.18),0 8px 22px rgba(35,47,62,.06);color:#193b46;}
.how-page .how-cycle-node-1 {top:0;left:0;--cycle-color:#00a3a3;--cycle-delay:0s;}
.how-page .how-cycle-node-2 {top:0;right:0;--cycle-color:#087fdb;--cycle-delay:2s;}
.how-page .how-cycle-node-3 {bottom:0;right:0;--cycle-color:#c96b00;--cycle-delay:4s;}
.how-page .how-cycle-node-4 {bottom:0;left:0;--cycle-color:#765baf;--cycle-delay:6s;}
.how-page .how-cycle-icon {grid-row:1/4;display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:color-mix(in srgb,var(--cycle-color) 10%,white);color:var(--cycle-color);}
.how-page .how-cycle-icon svg {width:24px;height:24px;}
.how-page .how-cycle-number {font-size:11px;font-weight:700;color:var(--cycle-color);letter-spacing:.1em;}
.how-page .how-cycle-node strong {font-size:14px;line-height:1.35;margin-top:3px;}
.how-page .how-cycle-node small {grid-column:1/-1;font-size:11px;line-height:1.5;color:#606b79;margin-top:10px;}
.how-page .how-cycle-center {position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:65%;text-align:center;}
.how-page .how-cycle-center img {display:block;width:100%;height:auto;filter:drop-shadow(0 5px 18px #a07bf726);}
.how-page .how-cycle-center>span {display:block;margin-top:4px;font-size:12px;color:#606b79;}
.how-page .how-cycle-center strong {color:#007c7c;}
.how-page .how-cycle-caption {text-align:center;font-size:14px!important;margin:18px 0 0;}
.how-page .how-cycle-visual.how-visible .how-cycle-node {animation:how-cycle-highlight 8s ease-in-out infinite;animation-delay:var(--cycle-delay);}
@keyframes how-cycle-highlight {0%,22%,100%{box-shadow:0 0 24px rgba(160,123,247,.18),0 8px 22px rgba(35,47,62,.06);border-color:#e8dff7;}4%,16%{box-shadow:0 0 0 2px var(--cycle-color),0 0 30px rgba(160,123,247,.26);border-color:var(--cycle-color);}}
@media(max-width:420px){.how-page .how-cycle-node{padding:12px;grid-template-columns:28px 1fr;column-gap:7px;}.how-page .how-cycle-icon{width:28px;height:28px;}.how-page .how-cycle-icon svg{width:20px;height:20px;}.how-page .how-cycle-node strong{font-size:12px;}.how-page .how-cycle-node small{font-size:10px;}.how-page .how-cycle-center{width:60%;}.how-page .how-cycle-center>span{font-size:10px;}}
@media(prefers-reduced-motion:reduce){.how-page .how-cycle-visual.how-visible .how-cycle-node{animation:none;}}

/* Plans table: clearly defined columns matching the hero illustration. */
.pricing-page #comparison .plans-comparison col.feature-column {width:40%;}
.pricing-page #comparison .plans-comparison col.basic-column,
.pricing-page #comparison .plans-comparison col.plus-column,
.pricing-page #comparison .plans-comparison col.premium-column {width:20%;}
.pricing-page #comparison .plans-comparison th:first-child {width:40%;}
.pricing-page #comparison .plans-comparison thead th {
    color:#fff;
    font-weight:700;
    padding:22px 16px;
    border-top:4px solid #ff9f1c;
    vertical-align:middle;
}
.pricing-page #comparison .plans-comparison thead th:first-child {background:#232f3e;}
.pricing-page #comparison .plans-comparison thead th:nth-child(2) {
    background:linear-gradient(135deg,#007c7c,#005f65);
}
.pricing-page #comparison .plans-comparison thead th:nth-child(3) {
    background:linear-gradient(135deg,#075fa5,#04457c);
}
.pricing-page #comparison .plans-comparison thead th:nth-child(4) {
    background:linear-gradient(135deg,#7951b3,#56328c);
}
.pricing-page #comparison .plans-comparison tbody th {background:#fff;}
.pricing-page #comparison .plans-comparison tbody td:nth-child(2) {background:#effafa;}
.pricing-page #comparison .plans-comparison tbody td:nth-child(3) {background:#f0f6fd;}
.pricing-page #comparison .plans-comparison tbody td:nth-child(4) {background:#f6f2fc;}
.pricing-page #comparison .plans-comparison tr>*+* {border-left:1px solid #dce5ed;}
.pricing-page #comparison .plans-comparison thead tr>*+* {border-left:1px solid rgba(255,255,255,.25);}
.pricing-page #comparison .plans-comparison tbody tr:hover td:nth-child(2) {background:#e2f4f4;}
.pricing-page #comparison .plans-comparison tbody tr:hover td:nth-child(3) {background:#e5effb;}
.pricing-page #comparison .plans-comparison tbody tr:hover td:nth-child(4) {background:#ede6f8;}

/* Contact page: shared branding and scoped accessible form styles. */
.contact-page .text-teal {color:#00a3a3;}
.contact-page .contact-page-grid {display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start;}
.contact-page .contact-form-card {padding:36px;}
.contact-page .contact-info>p:not(.eyebrow) {color:#606b79;}
.contact-page .contact-boundary {margin:32px 0;padding:24px;}
.contact-page .contact-boundary h3 {font-size:19px;}.contact-page .contact-boundary p {font-size:14px;margin:0;color:#606b79;}
.contact-page .contact-fields {display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.contact-page label {display:block;font-size:14px;font-weight:600;margin:18px 0 8px;}
.contact-page input,.contact-page select,.contact-page textarea {box-sizing:border-box;display:block;width:100%;border:1px solid #cbd5df;border-radius:8px;padding:12px 14px;background:#fff;color:#232f3e;font:inherit;}
.contact-page textarea {resize:vertical;min-height:150px;}
.contact-page input:focus,.contact-page select:focus,.contact-page textarea:focus {outline:3px solid #a07bf759;outline-offset:2px;border-color:#007c7c;}
.contact-page .contact-optional {font-weight:400;color:#606b79;}
.contact-page .contact-field-note {font-size:12px;color:#606b79;margin:8px 0 24px;}
.contact-page .contact-result {margin:18px 0 0;font-size:14px;min-height:1.65em;}
.contact-page .contact-result[data-state="error"] {color:#a52b32;}.contact-page .contact-result[data-state="success"] {color:#006767;}
.contact-page .contact-honeypot {position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;}
.contact-page button:disabled {opacity:.65;cursor:wait;transform:none;}
@media(max-width:1000px){.contact-page .contact-page-grid{gap:36px;}}
@media(max-width:700px){.contact-page .contact-page-grid,.contact-page .contact-fields{grid-template-columns:1fr;}.contact-page .contact-fields{gap:0;}.contact-page .contact-form-card{padding:24px;}}

/* Shared Resources dropdown, desktop and mobile. */
.header-inner .nav-resources {position:relative;}
.header-inner .nav-resources-toggle {display:inline-flex;align-items:center;gap:7px;padding:8px 0;background:none;border:0;box-shadow:none;color:var(--navy);font-size:14px;font-weight:600;white-space:nowrap;cursor:pointer;}
.header-inner .nav-resources-toggle.resources-current {color:var(--teal-dark);}
.header-inner .nav-resources-menu {position:absolute;right:0;top:calc(100% + 12px);min-width:220px;background:white;padding:10px;border:1px solid #e8dff7;border-radius:12px;box-shadow:0 0 24px #a07bf733,0 12px 28px #232f3e14;z-index:50;}
.header-inner .nav-resources-menu[hidden] {display:none;}
.header-inner .nav-resources-menu a {display:block;padding:10px 12px;font-size:14px;color:var(--navy);border-radius:6px;white-space:nowrap;}
.header-inner .nav-resources-menu a:hover,.header-inner .nav-resources-menu a:focus-visible {background:#effafa;color:var(--teal-dark);text-decoration:none;}
.header-inner .nav-resources-menu a[aria-current] {color:var(--teal-dark);font-weight:700;}
@media(max-width:1050px){.header-inner nav{gap:14px;}.header-inner .nav-resources-toggle{font-size:13px;}}
@media(max-width:900px){.header-inner .nav-resources{width:100%;}.header-inner .nav-resources-toggle{width:100%;justify-content:space-between;font-size:14px;}.header-inner .nav-resources-menu{position:static;margin-top:10px;min-width:0;width:100%;box-shadow:none;background:#f7f9fc;}}

/* Security page hero illustration. */
.security-page .security-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    gap: 40px;
    align-items: center;
}
.security-page .security-hero-copy { min-width: 0; }
.security-page .security-hero-copy h1 { font-size: clamp(36px, 3.3vw, 52px); }
.security-page .security-hero-visual {
    width: 100%;
    max-width: 560px;
    margin-inline: auto;
}
.security-page .security-hero-visual img {
    display: block;
    width: 100%;
    height: auto;
    filter: drop-shadow(0 12px 24px rgba(160, 123, 247, .12));
}
@media (max-width: 1000px) {
    .security-page .security-hero-grid { grid-template-columns: 1fr; gap: 32px; }
    .security-page .security-hero-visual { max-width: 500px; }
}

/* Lightweight cookie banner and preferences. */
#cookie-consent [hidden] {display:none!important;}
#cookie-consent .cookie-banner {position:fixed;bottom:20px;left:20px;right:20px;max-width:1180px;margin:auto;z-index:1000;display:flex;align-items:center;gap:28px;padding:22px 26px;background:#fff;border:1px solid #ddcef5;border-radius:14px;box-shadow:0 0 25px #a07bf733,0 10px 40px #232f3e26;color:#232f3e;}
#cookie-consent .cookie-banner-copy {flex:1;}
#cookie-consent .cookie-banner h2 {font-size:18px;margin:0 0 6px;letter-spacing:normal;}
#cookie-consent .cookie-banner p {font-size:13px;line-height:1.6;margin:0;}
#cookie-consent a {color:#007575;text-decoration:underline;}
#cookie-consent .cookie-actions {display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
#cookie-consent .cookie-choice {font:inherit;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap;border:1px solid #007575;border-radius:8px;padding:11px 15px;color:#fff;background:#007575;cursor:pointer;min-height:44px;}
#cookie-consent .cookie-choice:hover {background:#005f5f;}
#cookie-consent .cookie-settings-button {font:inherit;font-size:13px;color:#007575;background:transparent;border:1px solid #b8cdcd;border-radius:8px;padding:11px 15px;min-height:44px;cursor:pointer;}
#cookie-consent button:focus-visible,.cookie-footer-settings:focus-visible {outline:3px solid #a07bf7;outline-offset:4px;}
#cookie-consent .cookie-dialog {box-sizing:border-box;width:calc(100% - 32px);max-width:560px;max-height:85vh;overflow:auto;padding:28px;border:1px solid #ddcef5;border-radius:16px;background:#fff;color:#232f3e;box-shadow:0 0 32px #a07bf740;}
#cookie-consent .cookie-dialog::backdrop {background:#17212fb3;}
#cookie-consent .cookie-dialog-heading {display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px;}
#cookie-consent .cookie-dialog h2 {font-size:24px;margin:0;}
#cookie-consent .cookie-dialog p {font-size:14px;line-height:1.65;}
#cookie-consent .cookie-close {background:none;border:0;color:#52616e;font-size:28px;line-height:1;min-width:44px;min-height:44px;cursor:pointer;}
#cookie-consent .cookie-category {border-top:1px solid #e6e9ed;padding:16px 0;}
#cookie-consent .cookie-category>span {display:block;font-size:12px;color:#007575;margin-top:4px;}
#cookie-consent .cookie-category p {margin:8px 0 0;color:#606b79;}
#cookie-consent .cookie-category label {display:flex;align-items:center;gap:10px;cursor:pointer;}
#cookie-consent .cookie-category input {width:20px;height:20px;accent-color:#007575;}
#cookie-consent .cookie-detail-link {margin:0 0 20px;}
.cookie-footer-settings {font:inherit;font-size:12px;color:inherit;background:transparent;border:0;text-decoration:underline;padding:0;min-height:32px;cursor:pointer;}
#cookie-consent .cookie-announcement {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
@media(max-width:900px){#cookie-consent .cookie-banner{flex-direction:column;align-items:stretch;gap:16px;bottom:12px;left:12px;right:12px;padding:20px;}#cookie-consent .cookie-banner .cookie-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));}#cookie-consent .cookie-choice,#cookie-consent .cookie-settings-button{padding:10px;font-size:12px;}}

/* Homepage-only product walkthrough. */
#home .walkthrough-hero-visual {min-width:0;width:100%;padding-inline:0;}
#home .home-walkthrough {position:relative;isolation:isolate;width:100%;max-width:580px;margin:0 auto;background:#fff;border:1px solid #d7c7f5;border-radius:18px;box-shadow:0 0 30px #a07bf72e,0 18px 50px #232f3e17;overflow:hidden;color:#232f3e;font:400 13px/1.5 "Segoe UI",Arial,sans-serif;padding:0;scroll-margin-top:100px;}
#home .home-walkthrough * {box-sizing:border-box;}
#home .home-walkthrough [hidden] {display:none!important;}
#home .home-walkthrough p {margin:0;}
#home .home-walkthrough h3 {font-size:17px;line-height:1.3;margin:0 0 16px;letter-spacing:-.02em;}
#home .walkthrough-topbar {display:flex;justify-content:space-between;align-items:center;gap:10px;background:#232f3e;color:#fff;padding:12px 16px;font-size:12px;}
#home .walkthrough-topbar>div {display:flex;align-items:center;gap:8px;}
#home .walkthrough-brand-mark {display:grid;place-items:center;background:linear-gradient(135deg,#ff9f1c,#087fdb);border-radius:6px;width:22px;height:22px;color:white;}
#home .walkthrough-demo-label {color:#dbe6ef;font-size:10px;}
#home .walkthrough-app {display:grid;grid-template-columns:46px minmax(0,1fr);min-height:310px;background:linear-gradient(145deg,#dffaf4,#f8ffff 65%);}
#home .walkthrough-sidebar {display:flex;flex-direction:column;gap:12px;align-items:center;background:#fff;border-right:1px solid #e2eded;padding:16px 7px;color:#69858e;}
#home .walkthrough-sidebar>span {display:grid;place-items:center;width:29px;height:29px;font-size:17px;border-radius:6px;}
#home .walkthrough-sidebar .walkthrough-sidebar-brand {font-weight:800;color:#00a3a3;font-size:21px;}
#home .walkthrough-sidebar .is-current {background:#dff4f1;color:#007c7c;}
#home .walkthrough-sidebar .walkthrough-sidebar-bottom {margin-top:auto;color:#007c7c;font-size:13px;}
#home .walkthrough-stage {min-width:0;padding:13px 18px 18px;}
#home .walkthrough-stage-label {display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:9px;color:#607982;margin-bottom:14px;}
#home .walkthrough-stage-label span:last-child {background:#fff4d8;color:#775008;padding:2px 5px;border-radius:4px;}
#home .walkthrough-scene {min-height:260px;animation:walkthrough-enter .28s ease both;}
#home .walkthrough-dashboard {background:#fff;border:1px solid #d8ece9;border-radius:9px;padding:20px;box-shadow:0 4px 18px #007c7c08;}
#home .walkthrough-overline {font-size:9px;font-weight:600;letter-spacing:.06em;color:#607982;margin-bottom:12px!important;}
#home .walkthrough-dashboard h3 {font-size:22px;}#home .walkthrough-dashboard h3 span {color:#007c7c;}
#home .walkthrough-dashboard>p:not(.walkthrough-overline) {color:#607982;font-size:11px;margin-bottom:14px;}
#home .walkthrough-faux-button {display:inline-flex;align-items:center;justify-content:center;font-size:10px;line-height:1.4;font-weight:600;padding:7px 10px;border-radius:5px;background:#008b8b;color:white;border:1px solid #008b8b;white-space:nowrap;}
#home .walkthrough-faux-button.outline {color:#576e76;background:white;border-color:#d0dddd;}
#home .walkthrough-dashboard-tiles {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:22px;}
#home .walkthrough-dashboard-tiles>div {font-size:14px;color:#007c7c;border:1px solid #deeceb;border-radius:7px;padding:9px 7px;}
#home .walkthrough-dashboard-tiles strong,#home .walkthrough-dashboard-tiles span {display:block;font-size:9px;color:#264753;margin-top:3px;}
#home .walkthrough-dashboard-tiles span {font-size:8px;font-weight:400;color:#607982;}
#home .walkthrough-modal {max-width:330px;margin:0 auto;background:white;border:1px solid #dbe7e7;border-radius:10px;padding:18px;box-shadow:0 12px 24px #232f3e14;}
#home .walkthrough-modal-heading {display:flex;justify-content:space-between;}#home .walkthrough-modal-heading>span{color:#80939b;}
#home .walkthrough-field {margin-bottom:12px;min-width:0;}
#home .walkthrough-field>span {display:block;font-size:10px;color:#607982;margin-bottom:4px;}
#home .walkthrough-field>strong {display:block;padding:7px 9px;border:1px solid #d3e1e4;border-radius:5px;font-size:11px;font-weight:400;}
#home .walkthrough-field-row {display:grid;grid-template-columns:1fr 1fr;gap:10px;}
#home .walkthrough-consent {font-size:10px;color:#526970;}#home .walkthrough-consent>span{color:#007c7c;}
#home .walkthrough-modal-footer {text-align:right;margin-top:14px;}
#home .walkthrough-visit-head {display:flex;align-items:start;justify-content:space-between;gap:10px;margin-bottom:16px;}
#home .walkthrough-visit-head strong {font-size:15px;display:block;}
#home .walkthrough-visit-head>div>span {display:block;font-size:9px;color:#607982;margin-top:3px;}
#home .walkthrough-badge {border-radius:20px;padding:4px 8px;font-size:9px;color:#007575;background:#dcf3e9;white-space:nowrap;}
#home .walkthrough-record-controls {display:flex;gap:7px;align-items:center;margin-bottom:12px;flex-wrap:wrap;}
#home .walkthrough-timer {color:#b93e49;font-size:10px;margin-right:auto;}
#home .walkthrough-audio-card {background:#fff;border:1px solid #dcebe8;border-radius:8px;padding:14px;}
#home .walkthrough-audio-card>span {font-size:9px;color:#607982;}
#home .walkthrough-wave {display:flex;align-items:center;gap:3px;height:44px;overflow:hidden;}
#home .walkthrough-wave i {flex:1;min-width:2px;max-width:8px;height:16px;background:#00a3a3;border-radius:2px;animation:walkthrough-wave .9s ease-in-out infinite alternate;}
#home .walkthrough-wave i:nth-child(3n) {height:32px;animation-delay:-.3s;}
#home .walkthrough-wave i:nth-child(4n) {height:23px;animation-delay:-.6s;}
#home .walkthrough-wave i:nth-child(5n) {height:10px;animation-delay:-.15s;}
#home [data-walkthrough-scene="3"] .walkthrough-wave i {animation:none;background:#91a3aa;}
#home .walkthrough-context {margin-top:16px;background:#f9fdfd;border:1px solid #e0efed;border-radius:7px;padding:12px;font-size:11px;}
#home .walkthrough-context p {font-size:10px;color:#607982;margin:4px 0 9px;}
#home .walkthrough-skeleton {height:6px;border-radius:4px;background:#dae7e8;width:90%;margin:9px 0;}
#home .walkthrough-skeleton.short {width:60%;}
#home .walkthrough-audio-track {height:4px;background:#d8e7e5;border-radius:4px;margin:10px 0;}
#home .walkthrough-audio-track>span {display:block;width:38%;height:100%;background:#007c7c;border-radius:4px;}
#home .walkthrough-playback {display:flex;justify-content:space-between;font-size:10px;color:#607982;}
#home .walkthrough-playback>span:first-child {color:#007c7c;}
#home .walkthrough-audio-tip {padding:12px 0;font-size:11px;color:#607982;}
#home .walkthrough-submit {text-align:right;}
#home .walkthrough-tabs {display:flex;gap:14px;border-bottom:1px solid #dae5e5;padding-bottom:9px;font-size:9px;color:#607982;}
#home .walkthrough-tabs strong {color:#007c7c;}
#home .walkthrough-table-head,#home .walkthrough-table-row {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #dae5e5;font-size:10px;}
#home .walkthrough-table-head {color:#607982;font-size:9px;}
#home .walkthrough-processing-pill {display:flex;align-items:center;gap:5px;color:#926509;font-size:9px;}
#home .walkthrough-processing-pill i {width:5px;height:5px;border-radius:50%;background:#efa71e;}
#home .walkthrough-processing {text-align:center;padding:24px 0 10px;}
#home .walkthrough-processing strong {display:block;font-size:12px;margin-top:10px;}
#home .walkthrough-processing p {font-size:10px;color:#607982;}
#home .walkthrough-spinner {display:inline-block;width:23px;height:23px;border:3px solid #d9edeb;border-top-color:#00a3a3;border-radius:50%;animation:walkthrough-spin 1.2s linear infinite;}
#home .walkthrough-note-layout {display:grid;grid-template-columns:1.4fr 1fr;gap:10px;}
#home .walkthrough-note>div {padding:8px;background:#fff;border:1px solid #dbe9e7;border-radius:6px;margin-bottom:7px;}
#home .walkthrough-note strong {display:block;font-size:10px;margin-bottom:6px;}
#home .walkthrough-note span {display:block;height:5px;background:#dbe8e7;border-radius:3px;margin:5px 0;}
#home .walkthrough-note span:last-child {width:72%;}
#home .walkthrough-evidence {background:#e7f7f3;border:1px solid #cdece1;border-radius:6px;padding:10px;font-size:9px;}
#home .walkthrough-evidence>div {font-size:8px;color:#607982;margin-top:12px;}
#home .walkthrough-evidence-dot {display:inline-block;width:5px;height:5px;border-radius:50%;background:#a07bf7;margin-right:4px;}
#home .walkthrough-audio-link {display:block;color:#007c7c;font-size:9px;margin-top:14px;}
#home .walkthrough-review-footer {display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;color:#007c7c;margin-top:8px;}
#home .walkthrough-copy-card {text-align:center;background:#fff;border:1px solid #dbe9e7;border-radius:9px;padding:18px;}
#home .walkthrough-copy-icon {display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#ddf5ec;color:#007c7c;margin:0 auto 8px;font-size:20px;}
#home .walkthrough-copy-card>strong {display:block;font-size:14px;}
#home .walkthrough-copy-card>p {font-size:10px;color:#607982;margin:4px 0 12px;}
#home .walkthrough-copy-route {display:flex;justify-content:center;align-items:center;gap:20px;font-size:11px;color:#007c7c;margin:15px 0 9px;}
#home .walkthrough-manual-note {font-size:10px;text-align:center;color:#607982;}
#home .walkthrough-caption {padding:17px 20px 12px;min-height:112px;background:white;border-top:1px solid #e0ebeb;}
#home .walkthrough-step-count {display:block;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#765baf;margin-bottom:5px;}
#home .walkthrough-caption h2 {font-size:19px;line-height:1.3;letter-spacing:-.02em;margin:0 0 5px;}
#home .walkthrough-caption p {font-size:12px;line-height:1.55;color:#607982;}
#home .walkthrough-controls {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px 15px;}
#home .walkthrough-step-controls {display:flex;gap:3px;}
#home .home-walkthrough button {font:inherit;cursor:pointer;box-shadow:none;transform:none;transition:background .2s,color .2s;}
#home .walkthrough-step {display:grid;place-items:center;width:32px;height:36px;border-radius:8px;border:1px solid transparent;background:#f2f6f7;color:#526b73;font-size:11px!important;padding:0;}
#home .walkthrough-step[aria-current="step"] {background:#007c7c;color:white;border-color:#007c7c;}
#home .walkthrough-step:hover {border-color:#a07bf7;}
#home .walkthrough-play {min-height:36px;border:1px solid #cfc0ed;border-radius:8px;background:#f7f3fd;color:#60418c;padding:7px 10px;font-size:11px!important;white-space:nowrap;}
#home .home-walkthrough button:focus-visible {outline:3px solid #a07bf7;outline-offset:2px;}
#home .walkthrough-live {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
#home .home-walkthrough.is-motion-paused .walkthrough-wave i,#home .home-walkthrough.is-motion-paused .walkthrough-spinner {animation-play-state:paused;}
@keyframes walkthrough-enter {from{opacity:.3;transform:translateY(7px);}to{opacity:1;transform:none;}}
@keyframes walkthrough-wave {from{transform:scaleY(.35);}to{transform:scaleY(1);}}
@keyframes walkthrough-spin {to{transform:rotate(360deg);}}
@media(min-width:701px) and (max-width:1100px){#home .hero-grid{grid-template-columns:1fr;gap:40px;}#home .walkthrough-hero-visual{max-width:580px;margin-inline:auto;}}
@media(max-width:420px){#home .walkthrough-stage{padding:11px 12px 14px;}#home .walkthrough-app{grid-template-columns:34px minmax(0,1fr);}#home .walkthrough-sidebar{padding-inline:2px;}#home .walkthrough-dashboard{padding:15px;}#home .walkthrough-dashboard h3{font-size:20px;}#home .walkthrough-controls{flex-wrap:wrap;padding-inline:12px;}#home .walkthrough-step-controls{flex:1;justify-content:space-between;}#home .walkthrough-step{width:28px;}#home .walkthrough-caption{padding-inline:15px;}#home .walkthrough-tabs{gap:8px;font-size:8px;}#home .walkthrough-note-layout{grid-template-columns:1.25fr 1fr;}}
@media(prefers-reduced-motion:reduce){#home .walkthrough-scene,#home .walkthrough-wave i,#home .walkthrough-spinner{animation:none;}#home .home-walkthrough button{transition:none;}}


/* Compact, automatically looping homepage preview. */
#home .home-walkthrough {max-width:440px;}
#home .walkthrough-topbar {padding:10px 13px;}
#home .walkthrough-stage {padding:11px 14px 14px;}
#home .walkthrough-app {min-height:292px;}
#home .walkthrough-scene {min-height:245px;}
#home .walkthrough-dashboard {padding:16px;}
#home .walkthrough-dashboard h3 {font-size:20px;}
#home .walkthrough-dashboard-tiles {margin-top:18px;}


/* All scenes share one fixed design canvas and square outer frame. */
#home .home-walkthrough {
    aspect-ratio: 1 / 1;
    height: auto;
    min-height: 0;
}
#home .walkthrough-canvas {
    position: absolute;
    top: 0;
    left: 0;
    width: 440px;
    height: 440px;
    transform: scale(var(--walkthrough-scale, 1));
    transform-origin: top left;
}
#home .walkthrough-topbar {height:42px;}
#home .walkthrough-app {
    height:398px;
    min-height:0;
    grid-template-columns:46px minmax(0,1fr);
    overflow:hidden;
}
#home .walkthrough-stage {
    position:relative;
    height:100%;
    min-height:0;
    padding:11px 14px 14px;
    overflow:hidden;
}
#home .walkthrough-stage-label {height:20px;margin:0;}
#home .walkthrough-scene {
    position:absolute;
    inset:42px 14px 14px;
    min-height:0;
    width:auto;
    height:auto;
    overflow:hidden;
}
#home .walkthrough-visit-head {margin-bottom:12px;}
#home .walkthrough-scene h3 {margin-bottom:12px;}
#home .walkthrough-dashboard {padding:16px;}
#home .walkthrough-sidebar {padding:16px 7px;}
#home .walkthrough-dashboard h3 {font-size:20px;}
#home .walkthrough-note-layout {grid-template-columns:1.4fr 1fr;}
#home .walkthrough-tabs {gap:14px;font-size:9px;}

/* Shared ambient glow. Decorative layers never intercept clicks or change layout. */
:root {
    --ambient-card-shadow: -9px -3px 24px rgba(0, 163, 163, .13),
        10px 1px 26px rgba(160, 123, 247, .23),
        0 10px 24px rgba(1, 134, 253, .10),
        0 8px 20px rgba(35, 47, 62, .06);
    --ambient-card-shadow-active: -10px -3px 28px rgba(0, 163, 163, .22),
        12px 1px 32px rgba(160, 123, 247, .34),
        0 12px 28px rgba(1, 134, 253, .16),
        0 8px 20px rgba(35, 47, 62, .08);
}

.hero,
.page-hero,
.pricing-page .pricing-intro {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: #fff;
}

.hero::before,
.hero::after,
.page-hero::before,
.page-hero::after,
.pricing-page .pricing-intro::before,
.pricing-page .pricing-intro::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background-repeat: no-repeat;
    transform-origin: top center;
}

.hero::before,
.page-hero::before,
.pricing-page .pricing-intro::before {
    background-image:
        radial-gradient(ellipse at 14% 0%, rgba(0, 190, 185, .27), transparent 62%),
        radial-gradient(ellipse at 87% 0%, rgba(1, 134, 253, .18), transparent 64%);
    animation: ambient-glow-teal 20s ease-in-out infinite;
}

.hero::after,
.page-hero::after,
.pricing-page .pricing-intro::after {
    background-image:
        radial-gradient(ellipse at 20% 0%, rgba(178, 0, 143, .14), transparent 60%),
        radial-gradient(ellipse at 82% 0%, rgba(160, 123, 247, .31), transparent 65%);
    animation: ambient-glow-purple 20s ease-in-out infinite;
}

/* Crossfade two gradient layers rather than repainting animated color stops. */
@keyframes ambient-glow-teal {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: .12; transform: scale(1.08, 1.03); }
}

@keyframes ambient-glow-purple {
    0%, 100% { opacity: .08; transform: scale(1.08, 1.03); }
    50% { opacity: 1; transform: scale(1); }
}

.glow-card,
.pricing-page .price-card,
.pricing-page .table-scroll,
.contact-box,
#home .home-walkthrough {
    box-shadow: var(--ambient-card-shadow);
    transition: box-shadow .3s ease, border-color .3s ease;
}

.glow-card:hover,
.glow-card:focus-within,
.pricing-page .price-card:hover,
.pricing-page .price-card:focus-within,
.pricing-page .table-scroll:hover,
.pricing-page .table-scroll:focus-within,
.contact-box:hover,
.contact-box:focus-within,
#home .home-walkthrough:hover,
#home .home-walkthrough:focus-within {
    border-color: rgba(160, 123, 247, .55);
    box-shadow: var(--ambient-card-shadow-active);
}

/* A restrained orange accent on plan cards echoes the logo. */
.price-card,
.pricing-page .price-card {
    --ambient-card-shadow: -9px -3px 24px rgba(255, 159, 28, .13),
        10px 1px 26px rgba(160, 123, 247, .23),
        0 10px 24px rgba(0, 163, 163, .12),
        0 8px 20px rgba(35, 47, 62, .06);
}

@media (prefers-reduced-motion: reduce) {
    .hero::before,
    .page-hero::before,
    .pricing-page .pricing-intro::before {
        animation: none;
        opacity: .75;
        transform: none;
    }

    .hero::after,
    .page-hero::after,
    .pricing-page .pricing-intro::after {
        animation: none;
        opacity: .4;
        transform: none;
    }

    .glow-card,
    .pricing-page .price-card,
    .pricing-page .table-scroll,
    .contact-box,
    #home .home-walkthrough {
        transition: none;
    }
}

