:root {
    --privacy-ink: #172039;
    --privacy-muted: #5e6981;
    --privacy-indigo: #5748d8;
    --privacy-purple: #8d66f2;
    --privacy-mint: #65dbc2;
    --privacy-surface: #f7f8fc;
}

.privacy-hero {
    position: relative;
    overflow: hidden;
    padding: 7.5rem 0 9rem;
    color: #fff;
    background: linear-gradient(132deg, #181e3d 0%, #342a78 48%, #6245c8 100%);
}

.privacy-hero--terms {
    background: linear-gradient(132deg, #142a34 0%, #164b59 48%, #287e85 100%);
}

.privacy-hero--terms .privacy-eyebrow svg { fill: #a7f3d0; }

.privacy-hero--about {
    background: linear-gradient(132deg, #102b39 0%, #145368 50%, #168d8d 100%);
}

.privacy-hero--about .privacy-eyebrow svg { fill: #b7fff0; }

.privacy-hero::after {
    position: absolute;
    right: -5%;
    bottom: -9rem;
    left: -5%;
    height: 13rem;
    content: "";
    border-radius: 50% 50% 0 0;
    background: var(--privacy-surface);
}

.privacy-orb { position: absolute; border-radius: 999px; opacity: .22; filter: blur(1px); }
.privacy-orb-one { top: -8rem; inset-inline-end: 4%; width: 28rem; height: 28rem; background: radial-gradient(circle at 30% 30%, #fff, var(--privacy-mint) 45%, transparent 70%); }
.privacy-orb-two { bottom: 1rem; inset-inline-start: -6rem; width: 18rem; height: 18rem; background: radial-gradient(circle, var(--privacy-purple), transparent 70%); }
.privacy-hero-inner { position: relative; z-index: 1; max-width: 850px; margin-inline: auto; text-align: center; }
.privacy-eyebrow { display: inline-flex; align-items: center; gap: .55rem; margin-bottom: 1.4rem; padding: .55rem 1rem; border: 1px solid rgba(255,255,255,.24); border-radius: 999px; background: rgba(255,255,255,.09); font-size: .82rem; font-weight: 600; letter-spacing: .04em; backdrop-filter: blur(10px); }
.privacy-eyebrow svg { width: 1.1rem; fill: var(--privacy-mint); }
.privacy-hero h1 { margin-bottom: 1.25rem; color: #fff; font-size: clamp(2.4rem, 6vw, 4.8rem); font-weight: 700; letter-spacing: -.045em; }
.privacy-lead { max-width: 760px; margin: 0 auto 1.5rem; color: rgba(255,255,255,.78); font-size: clamp(1rem, 2vw, 1.25rem); line-height: 1.85; }
.privacy-meta { display: flex; justify-content: center; gap: .75rem; color: rgba(255,255,255,.7); font-size: .9rem; }

.privacy-main { padding: 1.5rem 0 6rem; background: var(--privacy-surface); }
.privacy-grid { display: grid; grid-template-columns: minmax(240px, 320px) minmax(0, 1fr); gap: 2rem; align-items: start; }
.privacy-aside { position: sticky; top: 1.5rem; }
.privacy-summary-card, .privacy-article { border: 1px solid rgba(32,42,76,.08); border-radius: 1.4rem; background: #fff; box-shadow: 0 22px 60px rgba(36,35,86,.08); }
.privacy-summary-card { padding: 1.5rem; }
.privacy-summary-card > h2 { margin-bottom: 1.5rem; color: var(--privacy-ink); font-size: 1.1rem; }
.privacy-point { display: flex; gap: .9rem; padding: 1.15rem 0; border-top: 1px solid #ebedf4; }
.privacy-point-icon { display: grid; flex: 0 0 2.15rem; height: 2.15rem; place-items: center; border-radius: .7rem; color: var(--privacy-indigo); background: #eeecff; font-size: .7rem; font-weight: 700; }
.privacy-point h3 { margin: 0 0 .4rem; color: var(--privacy-ink); font-size: .92rem; }
.privacy-point p { margin: 0; color: var(--privacy-muted); font-size: .8rem; line-height: 1.65; }
.privacy-updated { margin-top: .7rem; padding: .9rem 1rem; border-radius: .85rem; color: #48675f; background: #eafaf6; font-size: .76rem; font-weight: 600; }
.privacy-article { padding: clamp(1.5rem, 4vw, 3.5rem); }
.privacy-prose { color: var(--privacy-muted); font-size: 1rem; line-height: 1.9; }
.privacy-prose h2 { margin: 2.7rem 0 1rem; padding-top: .35rem; color: var(--privacy-ink); font-size: clamp(1.25rem, 2.5vw, 1.65rem); line-height: 1.4; }
.privacy-prose h2:first-child { margin-top: 0; }
.privacy-prose p { margin-bottom: 1.1rem; }
.privacy-prose ul, .privacy-prose ol { margin-bottom: 1.4rem; padding-inline-start: 1.35rem; }
.privacy-prose li { margin-bottom: .65rem; padding-inline-start: .35rem; }
.privacy-prose strong { color: #313b58; }
.privacy-prose a { color: var(--privacy-indigo); text-decoration-thickness: .08em; text-underline-offset: .2em; }
.privacy-contact { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin-top: 3.5rem; padding: 1.6rem; border-radius: 1.1rem; color: #fff; background: linear-gradient(125deg, var(--privacy-indigo), #7953d9); }
.privacy-contact h2 { margin: 0 0 .35rem; color: #fff; font-size: 1.2rem; }
.privacy-contact p { max-width: 570px; margin: 0; color: rgba(255,255,255,.76); font-size: .88rem; line-height: 1.6; }
.privacy-contact-button { flex: 0 0 auto; padding: .75rem 1.1rem; border-radius: .75rem; color: var(--privacy-ink); background: #fff; font-size: .82rem; font-weight: 700; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
.privacy-contact-button:hover { color: var(--privacy-ink); transform: translateY(-2px); box-shadow: 0 9px 22px rgba(18,18,52,.2); }
.about-location { display: grid; grid-template-columns: minmax(220px, .78fr) minmax(300px, 1.22fr); gap: 1rem; margin-top: 3.5rem; padding: .75rem; border: 1px solid rgba(32,42,76,.08); border-radius: 1.25rem; background: #f5f8fa; }
.about-location-copy { padding: clamp(1rem, 3vw, 2rem); }
.about-location-kicker { display: inline-block; margin-bottom: .65rem; color: #168078; font-size: .72rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.about-location h2 { margin: 0 0 .65rem; color: var(--privacy-ink); font-size: clamp(1.35rem, 2.7vw, 1.8rem); }
.about-location-copy > p { margin-bottom: 1.5rem; color: var(--privacy-muted); line-height: 1.7; }
.about-contact-list { display: grid; gap: 1rem; margin: 0; }
.about-contact-list div { padding-inline-start: .9rem; border-inline-start: 3px solid #65dbc2; }
.about-contact-list dt { margin-bottom: .2rem; color: #667188; font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.about-contact-list dd { margin: 0; color: var(--privacy-ink); font-size: .9rem; line-height: 1.65; }
.about-contact-list a { color: #16756f; font-weight: 700; text-decoration: none; }
.about-map { min-height: 350px; overflow: hidden; border-radius: .9rem; background: #dce7e8; }
.about-map iframe { display: block; width: 100%; height: 100%; min-height: 350px; border: 0; filter: saturate(.85) contrast(1.03); }

@media (max-width: 991.98px) {
    .privacy-hero { padding: 5.5rem 0 7.5rem; }
    .privacy-grid { grid-template-columns: 1fr; }
    .privacy-aside { position: static; }
    .privacy-summary-card { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
    .privacy-summary-card > h2, .privacy-updated { grid-column: 1 / -1; }
    .privacy-point { border-top: 0; }
    .about-location { grid-template-columns: 1fr; }
}

@media (max-width: 767.98px) {
    .privacy-hero { padding-top: 4.5rem; }
    .privacy-summary-card { display: block; }
    .privacy-point { border-top: 1px solid #ebedf4; }
    .privacy-contact { align-items: flex-start; flex-direction: column; }
    .privacy-contact-button { width: 100%; text-align: center; }
}
