/* Shared professional visual system for all non-Drive pages. */
body.site-page {
    --pro-ink: #142033;
    --pro-muted: #607083;
    --pro-line: rgba(170, 198, 220, 0.72);
    --pro-card: rgba(255, 255, 255, 0.9);
    --pro-card-solid: #ffffff;
    --pro-blue: #159fd3;
    --pro-blue-dark: #036987;
    --pro-shadow: 0 18px 44px rgba(21, 78, 121, 0.09);
    background:
        radial-gradient(circle at 12% 8%, rgba(56, 189, 248, 0.16), transparent 24rem),
        radial-gradient(circle at 86% 12%, rgba(45, 212, 191, 0.1), transparent 24rem),
        linear-gradient(180deg, #f7fbff 0%, #eef7ff 50%, #f9fcff 100%);
    color: var(--pro-ink);
}

body.site-page::before,
body.site-page::after {
    display: none;
}

body.site-page main {
    padding-bottom: 3.8rem;
}

.site-page .site-header {
    background: rgba(247, 251, 255, 0.88);
    border-bottom: 1px solid rgba(180, 210, 232, 0.56);
    backdrop-filter: blur(16px);
}

.site-page .site-header .container {
    min-height: 4.6rem;
    padding-top: 0.45rem;
    padding-bottom: 0.45rem;
}

.site-page .site-header .logo {
    width: 3.45rem;
    height: 3.45rem;
    padding: 0.55rem;
    border-radius: 1rem;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.16);
}

.site-page .site-nav {
    gap: 1.25rem;
}

.site-page .site-header .lang-switch label {
    color: #334155;
    opacity: 1;
    font-weight: 800;
}

.site-page .site-header .lang-select {
    color: #ffffff;
    background: #657180;
    border-color: rgba(15, 23, 42, 0.2);
}

.site-page .site-header .site-nav a {
    color: #263447;
    font-size: 0.98rem;
}

.site-page .site-header .site-nav a:hover {
    color: var(--pro-blue-dark);
}

.site-page .site-header .site-nav .btn,
.site-page .site-header .site-nav .btn-outline {
    min-height: 2.45rem;
    padding: 0.62rem 0.95rem;
    border-radius: 0.9rem;
}

.site-page .section {
    padding: 3.6rem 0;
}

.site-page .section:first-child:not(.hero) {
    padding-top: 4.1rem;
}

.site-page .section-heading {
    align-items: end;
    margin-bottom: 1.8rem;
}

.site-page .section-heading h1,
.site-page .section-heading h2 {
    max-width: 820px;
    color: #0f172a;
    font-size: clamp(1.75rem, 3vw, 2.6rem);
    line-height: 1.08;
    letter-spacing: -0.035em;
}

.site-page .section-heading .muted {
    max-width: 690px;
}

.site-page .eyebrow,
.site-page .badge {
    color: var(--pro-blue-dark);
}

.site-page .muted,
.site-page small.muted,
.site-page .period {
    color: var(--pro-muted);
}

.site-page .surface,
.site-page .card,
.site-page .surface-light {
    color: var(--pro-ink);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(248, 252, 255, 0.96));
    border: 1px solid var(--pro-line);
    box-shadow: var(--pro-shadow);
}

.site-page .surface::after,
.site-page .card::after {
    border-color: rgba(255, 255, 255, 0.66);
}

.site-page .surface h1,
.site-page .surface h2,
.site-page .surface h3,
.site-page .card h1,
.site-page .card h2,
.site-page .card h3 {
    color: #0f172a;
}

.site-page .btn {
    border-radius: 999px;
    box-shadow: 0 14px 28px rgba(46, 170, 220, 0.2);
}

.site-page .btn-outline,
.site-page .btn-ghost,
.site-page .btn-secondary {
    color: #11425d;
    border-color: rgba(69, 132, 173, 0.82);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: none;
    font-weight: 700;
}

.site-page .btn-outline:hover,
.site-page .btn-ghost:hover,
.site-page .btn-secondary:hover {
    color: #0b2d42;
    border-color: rgba(21, 159, 211, 0.72);
    background: #eef8ff;
}

.site-page .section .hero-cta .btn-outline,
.site-page .section .hero-cta .btn-ghost,
.site-page .section .hero-cta .btn-secondary {
    color: #0b3b55;
    border-color: rgba(21, 159, 211, 0.78);
    background: #f6fcff;
    box-shadow: 0 12px 28px rgba(21, 159, 211, 0.14);
    text-shadow: none;
}

.site-page .section .hero-cta .btn-outline:hover,
.site-page .section .hero-cta .btn-ghost:hover,
.site-page .section .hero-cta .btn-secondary:hover {
    color: #072c40;
    border-color: rgba(3, 105, 135, 0.82);
    background: #dff3ff;
}

.site-page .highlight {
    background:
        radial-gradient(circle at 0 0, rgba(56, 189, 248, 0.16), transparent 24rem),
        linear-gradient(120deg, rgba(224, 242, 254, 0.72), rgba(240, 253, 250, 0.54));
    border-top: 1px solid rgba(170, 198, 220, 0.5);
    border-bottom: 1px solid rgba(170, 198, 220, 0.5);
}

.site-page .cards-grid,
.site-page .grid-2,
.site-page .grid-3,
.site-page .client-quick-actions,
.site-page .client-stats {
    gap: 1rem;
}

.site-page .offer-card {
    min-height: auto;
    padding: 1.2rem;
    gap: 0.9rem;
    border-radius: 1.2rem;
}

.site-page .offer-card:hover,
.site-page .card:hover {
    transform: translateY(-2px);
    box-shadow: 0 22px 46px rgba(21, 78, 121, 0.12);
}

.site-page .offer-card h3 {
    margin: 0.25rem 0;
    font-size: 1.05rem;
}

.site-page .offer-price {
    margin-left: 0;
    text-align: left;
}

.site-page .offer-price .price {
    color: #0f172a;
    font-size: 1.75rem;
    letter-spacing: -0.035em;
}

.site-page .offer-specs li,
.site-page .checklist li {
    border-bottom-color: rgba(170, 198, 220, 0.46);
}

.site-page .checklist li::before,
.site-page .offer-specs li::before {
    color: var(--pro-blue);
}

.site-page .security-panel {
    border: 0;
    color: #eaf8ff;
    background:
        radial-gradient(circle at 10% 20%, rgba(45, 212, 191, 0.16), transparent 22rem),
        linear-gradient(135deg, #082033 0%, #0d3b52 100%);
    box-shadow: 0 28px 70px rgba(8, 32, 51, 0.22);
}

.site-page .security-panel h1,
.site-page .security-panel h2,
.site-page .security-panel h3 {
    color: #ffffff;
}

.site-page .security-panel .muted,
.site-page .security-list li {
    color: #c7dce9;
}

.site-page .section.auth .container.narrow {
    width: min(540px, 94vw);
}

.site-page .section.auth .surface,
.site-page .section.auth .card {
    padding: 2rem;
    border-radius: 1.35rem;
}

.site-page form label {
    color: #25364a;
    font-weight: 600;
}

.site-page input,
.site-page select,
.site-page textarea {
    border: 1px solid rgba(151, 178, 199, 0.82);
    background: rgba(255, 255, 255, 0.92);
    color: #111827;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.site-page input::placeholder,
.site-page textarea::placeholder {
    color: #7b8794;
}

.site-page .password-toggle {
    background: #dff3ff;
    border-color: rgba(21, 159, 211, 0.45);
    color: #064d67;
    box-shadow: none;
}

.site-page input:focus,
.site-page select:focus,
.site-page textarea:focus {
    border-color: rgba(21, 159, 211, 0.72);
    box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.16);
}

.site-page .order-options,
.site-page .order-business,
.site-page .order-legal,
.site-page .option-card {
    border-color: var(--pro-line);
    background: rgba(255, 255, 255, 0.58);
}

.site-page .option-card:hover {
    border-color: rgba(21, 159, 211, 0.55);
    background: rgba(239, 249, 255, 0.92);
}

.site-page .table-responsive {
    border: 1px solid var(--pro-line);
    border-radius: 1.1rem;
    background: rgba(255, 255, 255, 0.78);
    box-shadow: var(--pro-shadow);
}

.site-page table th {
    color: #536273;
    background: rgba(241, 248, 255, 0.95);
    border-bottom: 1px solid rgba(170, 198, 220, 0.58);
}

.site-page table td {
    color: #1f2937;
    border-bottom: 1px solid rgba(170, 198, 220, 0.38);
}

.site-page table tbody tr:hover {
    background: rgba(232, 245, 255, 0.62);
}

.site-page .client-hero.surface {
    padding: 1.35rem;
    border-radius: 1.35rem;
}

.site-page .client-stats .surface,
.site-page .client-quick-actions .surface,
.site-page .client-aside .surface,
.site-page .client-main .surface {
    border-radius: 1.25rem;
}

.site-page .pill,
.site-page .alert {
    border-color: var(--pro-line);
    background: rgba(255, 255, 255, 0.68);
    color: #243447;
}

.site-page .alert-error {
    border-color: rgba(244, 63, 94, 0.38);
    background: rgba(255, 241, 242, 0.88);
    color: #9f1239;
}

.site-page .legal h1,
.site-page .legal h2,
.site-page .legal h3 {
    color: #0f172a;
}

.site-page .app-downloads {
    padding-top: 3.2rem;
    padding-bottom: 3.2rem;
}

.site-page .app-download-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.site-page .app-download-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
    min-height: 13rem;
    border-radius: 1.35rem;
}

.site-page .app-download-card--available {
    background:
        radial-gradient(circle at top left, rgba(56, 189, 248, 0.2), transparent 18rem),
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(242, 249, 255, 0.98));
}

.site-page .app-download-icon {
    width: 3.25rem;
    height: 3.25rem;
    display: inline-grid;
    place-items: center;
    border-radius: 1rem;
    color: #075985;
    background: #dff3ff;
    border: 1px solid rgba(125, 211, 252, 0.56);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.site-page .app-download-card h3,
.site-page .app-download-strip h2 {
    margin: 0.25rem 0;
}

.site-page .app-download-card .hero-cta,
.site-page .app-download-strip .hero-cta {
    margin-top: 1rem;
}

.site-page .app-download-card .btn-outline,
.site-page .app-download-strip .btn-outline {
    color: #0b3b55;
    background: #e9f8ff;
    border-color: rgba(21, 159, 211, 0.72);
    box-shadow: 0 12px 28px rgba(21, 159, 211, 0.14);
    font-weight: 700;
}

.site-page .app-download-card .btn-outline:hover,
.site-page .app-download-strip .btn-outline:hover {
    color: #072c40;
    background: #d8f1ff;
    border-color: rgba(3, 105, 135, 0.72);
}

.site-page .app-download-disabled {
    color: #31576b;
    background: #e0f1f9;
    border-color: rgba(21, 159, 211, 0.42);
    cursor: default;
    opacity: 1;
}

.site-page .app-download-strip {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    border-radius: 1.35rem;
}

.site-page .app-downloads-compact {
    padding-top: 0;
}

@media (max-width: 900px) {
    .site-page .site-header .logo {
        width: 3rem;
        height: 3rem;
    }

    .site-page .site-nav {
        gap: 0.8rem;
    }

    .site-page .section {
        padding: 2.8rem 0;
    }

    .site-page .section-heading {
        align-items: flex-start;
    }

    .site-page .app-download-grid {
        grid-template-columns: 1fr;
    }

    .site-page .app-download-strip {
        align-items: flex-start;
        flex-direction: column;
    }
}
