/* Layout wrapper for static policy pages. */
.legal-page {
    min-height: 100vh;
}

/* Header modifier for simple top bar without menu. */
.legal-page__header {
    position: sticky;
    top: 0;
    z-index: 40;
    backdrop-filter: blur(16px);
    background: rgba(7, 17, 29, 0.78);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

/* Header row wrapper for policy pages. */
.legal-page__header-row {
    min-height: 76px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

/* Main content wrapper for all policy pages. */
.legal-page__main {
    padding: 44px 0 72px;
}

/* Hero card for metadata and page title. */
.legal-page__hero {
    padding: 26px;
    background: linear-gradient(180deg, rgba(16, 26, 43, 0.95), rgba(10, 17, 30, 0.92));
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 22px;
    box-shadow: 0 24px 56px rgba(0, 0, 0, 0.36);
    margin-bottom: 18px;
}

/* Intro paragraph under legal page title. */
.legal-page__intro {
    margin: 14px 0 0;
    color: #9cb0cb;
    font-size: 17px;
    max-width: 980px;
}

/* Card container for section blocks. */
.legal-page__card {
    padding: 24px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 22px;
}

/* Ordered list for policy sections. */
.legal-page__list {
    margin: 0;
    padding-left: 22px;
    display: grid;
    gap: 18px;
}

/* Item wrapper in policy section list. */
.legal-page__item {
    color: #eef4ff;
}

/* Item title in policy section list. */
.legal-page__item-title {
    margin: 0 0 8px;
    font-size: 22px;
    letter-spacing: -0.02em;
}

/* Item body text in policy section list. */
.legal-page__text {
    margin: 0 0 10px;
    color: #9cb0cb;
}

/* Last paragraph spacing fix in section text blocks. */
.legal-page__text:last-child {
    margin-bottom: 0;
}

/* Bulleted sub-list inside policy sections. */
.legal-page__sublist {
    margin: 0;
    padding-left: 20px;
    display: grid;
    gap: 7px;
    color: #d3e2ff;
}

/* Contact form section grid wrapper. */
.contact-page__grid {
    display: grid;
    gap: 16px;
    grid-template-columns: 1fr 320px;
}

/* Form card style on contact page. */
.contact-page__form-card {
    padding: 24px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 22px;
}

/* Side information card style on contact page. */
.contact-page__info-card {
    padding: 24px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 22px;
    align-self: start;
}

/* Shared heading style for contact blocks. */
.contact-page__title {
    margin: 0 0 10px;
    font-size: 24px;
    letter-spacing: -0.03em;
}

/* Supportive note text under section headings. */
.contact-page__note {
    margin: 0 0 16px;
    color: #9cb0cb;
}

/* Contact form layout container. */
.contact-page__form {
    display: grid;
    gap: 12px;
}

/* Label style for contact form fields. */
.contact-page__label {
    display: grid;
    gap: 7px;
    font-size: 13px;
    font-weight: 700;
    color: #dce9ff;
}

/* Shared input style for contact form controls. */
.contact-page__input {
    width: 100%;
    min-height: 46px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(7, 17, 29, 0.6);
    color: #eef4ff;
    padding: 0 12px;
    outline: none;
}

/* Shared textarea style for contact form controls. */
.contact-page__textarea {
    width: 100%;
    min-height: 140px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(7, 17, 29, 0.6);
    color: #eef4ff;
    padding: 10px 12px;
    resize: vertical;
    outline: none;
}

/* Primary button style for contact form submit. */
.contact-page__button {
    min-height: 48px;
    border-radius: 12px;
    border: 1px solid transparent;
    font-size: 15px;
    font-weight: 700;
    color: #041119;
    background: linear-gradient(135deg, #6ee7ff, #67d8ff 55%, #a4a7ff);
    cursor: pointer;
}

/* Contact email link style. */
.contact-page__email {
    color: #6ee7ff;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 4px;
}

/* Responsive layout for contact page cards. */
@media (max-width: 980px) {
    .contact-page__grid {
        grid-template-columns: 1fr;
    }
}

