:root {
    --brand-950: #082a23;
    --brand-900: #0b342b;
    --brand-800: #105343;
    --brand-700: #147d65;
    --brand-600: #199675;
    --brand-100: #e9f7f2;
    --brand-50: #f4fbf8;
    --gold: #f5c451;
    --ink: #17231f;
    --muted: #60716b;
    --line: #dce9e4;
    --surface: #fff;
    --page: #f4f8f6;
    --shadow: 0 24px 70px rgba(14, 63, 51, .1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 24px; }
body { margin: 0; background: var(--page); color: var(--ink); font-family: "Cairo", Arial, sans-serif; line-height: 1.85; }
a { color: var(--brand-700); text-decoration-thickness: 1px; text-underline-offset: 4px; }
a:hover { color: var(--brand-900); }

.skip-link { position: fixed; top: 12px; right: 12px; z-index: 20; padding: 10px 16px; border-radius: 10px; background: var(--surface); color: var(--brand-900); font-weight: 700; transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }
.policy-container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }

.policy-hero {
    position: relative;
    overflow: hidden;
    min-height: 520px;
    background: radial-gradient(circle at 15% 15%, rgba(41, 200, 155, .22), transparent 32%), radial-gradient(circle at 85% 85%, rgba(245, 196, 81, .12), transparent 30%), linear-gradient(135deg, var(--brand-950), var(--brand-900) 58%, #0d4638);
    color: #fff;
}

.policy-hero::before,
.policy-hero::after { position: absolute; border: 1px solid rgba(255, 255, 255, .08); border-radius: 50%; content: ""; }
.policy-hero::before { top: 95px; left: -130px; width: 420px; height: 420px; }
.policy-hero::after { right: -90px; bottom: -210px; width: 520px; height: 520px; }

.policy-nav { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; padding-block: 26px; border-bottom: 1px solid rgba(255, 255, 255, .12); }
.brand-link { display: inline-flex; }
.brand-link img { display: block; width: 190px; height: auto; }
.language-links { display: flex; gap: 8px; padding: 5px; border: 1px solid rgba(255, 255, 255, .14); border-radius: 999px; background: rgba(255, 255, 255, .07); }
.language-links a { min-width: 88px; padding: 7px 15px; border-radius: 999px; color: #fff; font-family: "Cairo", "DM Sans", sans-serif; font-size: 13px; font-weight: 700; text-align: center; text-decoration: none; }
.language-links a:first-child,
.language-links a:hover { background: #fff; color: var(--brand-900); }

.hero-content { position: relative; z-index: 2; max-width: 850px; padding-block: 72px 110px; }
.eyebrow,
.language-label,
.contact-kicker { display: inline-flex; align-items: center; gap: 10px; color: #72dbbc; font-size: 13px; font-weight: 800; letter-spacing: .04em; }
.eyebrow::before { width: 28px; height: 2px; background: var(--gold); content: ""; }
.hero-content h1 { margin: 18px 0 20px; font-size: clamp(40px, 5vw, 68px); font-weight: 800; line-height: 1.28; letter-spacing: -.035em; }
.hero-content h1 span { color: #79dfc1; }
.hero-content > p { max-width: 760px; margin: 0; color: rgba(255, 255, 255, .78); font-size: clamp(16px, 2vw, 19px); }
.policy-meta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.policy-meta span { padding: 7px 13px; border: 1px solid rgba(255, 255, 255, .12); border-radius: 9px; background: rgba(255, 255, 255, .06); color: rgba(255, 255, 255, .78); font-size: 12px; font-weight: 600; }

.policy-main { position: relative; padding-bottom: 90px; }
.trust-grid { position: relative; z-index: 3; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: -54px; }
.trust-card { display: flex; gap: 15px; align-items: flex-start; padding: 22px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); box-shadow: 0 15px 45px rgba(14, 63, 51, .08); }
.trust-icon { display: grid; flex: 0 0 42px; width: 42px; height: 42px; place-items: center; border-radius: 13px; background: var(--brand-100); color: var(--brand-700); font-family: Arial, sans-serif; font-size: 21px; font-weight: 700; }
.trust-card h2 { margin: 0 0 3px; color: var(--brand-900); font-size: 16px; line-height: 1.5; }
.trust-card p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.75; }

.language-policy { margin-top: 54px; padding: clamp(24px, 5vw, 52px); border: 1px solid var(--line); border-radius: 28px; background: var(--surface); box-shadow: var(--shadow); }
.english-policy { margin-top: 32px; font-family: "DM Sans", Arial, sans-serif; }
.language-heading { display: flex; gap: 24px; align-items: end; justify-content: space-between; margin-bottom: 38px; padding-bottom: 26px; border-bottom: 1px solid var(--line); }
.language-label { color: var(--brand-600); }
.language-heading h2 { margin: 5px 0 0; color: var(--brand-900); font-size: clamp(27px, 3.4vw, 40px); line-height: 1.35; }
.language-switch { flex: 0 0 auto; padding: 9px 16px; border: 1px solid var(--line); border-radius: 999px; background: var(--brand-50); font-size: 12px; font-weight: 700; text-decoration: none; }

.policy-layout { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: clamp(28px, 5vw, 64px); align-items: start; }
.policy-index { position: sticky; top: 24px; padding: 20px; border: 1px solid var(--line); border-radius: 16px; background: var(--brand-50); }
.policy-index strong { display: block; margin-bottom: 12px; color: var(--brand-900); font-size: 14px; }
.policy-index ol { margin: 0; padding: 0; list-style: none; counter-reset: policy-index; }
.policy-index li { counter-increment: policy-index; }
.policy-index a { display: grid; grid-template-columns: 24px 1fr; gap: 7px; padding-block: 6px; color: var(--muted); font-size: 11px; font-weight: 600; line-height: 1.55; text-decoration: none; }
.policy-index a::before { color: var(--brand-600); content: counter(policy-index, decimal-leading-zero); font-family: "DM Sans", Arial, sans-serif; font-size: 10px; font-weight: 700; }
.policy-index a:hover { color: var(--brand-800); }

.policy-sections { min-width: 0; }
.policy-section { display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 18px; padding-block: 2px 30px; scroll-margin-top: 24px; }
.policy-section + .policy-section { padding-top: 30px; border-top: 1px solid var(--line); }
.section-number { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 14px; background: var(--brand-100); color: var(--brand-700); font-family: "DM Sans", Arial, sans-serif; font-size: 12px; font-weight: 800; }
.policy-section h3 { margin: 2px 0 10px; color: var(--brand-900); font-size: 21px; line-height: 1.5; }
.policy-section p,
.policy-section li { color: #42534d; font-size: 14px; }
.policy-section p { margin: 0; }
.policy-section ul { display: grid; gap: 9px; margin: 0; padding-inline-start: 20px; }
.policy-section strong { color: var(--ink); }
.policy-highlight { margin-block: 4px 30px; padding: 24px; border: 1px solid #c9e9de !important; border-radius: 18px; background: linear-gradient(135deg, var(--brand-50), #edf9f5); }

.privacy-contact { display: flex; gap: 30px; align-items: center; justify-content: space-between; margin-top: 32px; padding: clamp(28px, 5vw, 46px); border-radius: 28px; background: linear-gradient(135deg, var(--brand-900), var(--brand-800)); color: #fff; box-shadow: var(--shadow); }
.contact-kicker { color: #74ddbf; }
.privacy-contact h2 { margin: 6px 0; font-size: clamp(25px, 3vw, 36px); line-height: 1.4; }
.privacy-contact p { margin: 0; color: rgba(255, 255, 255, .72); font-size: 14px; }
.contact-actions { display: flex; flex: 0 0 auto; gap: 10px; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 10px 18px; border-radius: 12px; font-size: 12px; font-weight: 800; text-decoration: none; }
.button-primary { background: #fff; color: var(--brand-900); }
.button-secondary { border: 1px solid rgba(255, 255, 255, .2); background: rgba(255, 255, 255, .08); color: #fff; }
.button:hover { transform: translateY(-1px); }

.policy-footer { padding-block: 36px; background: #071f1a; color: rgba(255, 255, 255, .65); }
.policy-footer .policy-container { display: grid; grid-template-columns: auto 1fr auto; gap: 28px; align-items: center; }
.policy-footer img { width: 158px; }
.policy-footer p { margin: 0; font-size: 12px; text-align: center; }
.policy-footer a { color: #79dfc1; font-size: 12px; font-weight: 700; text-decoration: none; }

@media (max-width: 900px) {
    .trust-grid { grid-template-columns: 1fr; margin-top: -42px; }
    .policy-layout { grid-template-columns: 1fr; }
    .policy-index { position: static; }
    .policy-index ol { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 18px; }
    .privacy-contact { align-items: flex-start; flex-direction: column; }
    .policy-footer .policy-container { grid-template-columns: 1fr; justify-items: center; }
}

@media (max-width: 600px) {
    .policy-container { width: min(100% - 24px, 1180px); }
    .policy-hero { min-height: auto; }
    .policy-nav { padding-block: 18px; }
    .brand-link img { width: 138px; }
    .language-links a { min-width: auto; padding: 6px 10px; font-size: 11px; }
    .hero-content { padding-block: 52px 86px; }
    .hero-content h1 { font-size: 35px; }
    .policy-meta span { width: 100%; }
    .language-policy { padding: 22px 18px; border-radius: 20px; }
    .language-heading { align-items: flex-start; flex-direction: column; margin-bottom: 28px; }
    .language-heading h2 { font-size: 27px; }
    .policy-index ol { grid-template-columns: 1fr; }
    .policy-section { grid-template-columns: 38px minmax(0, 1fr); gap: 12px; }
    .section-number { width: 38px; height: 38px; border-radius: 12px; }
    .policy-section h3 { font-size: 18px; }
    .policy-section p,
    .policy-section li { font-size: 13px; }
    .policy-highlight { margin-inline: -7px; padding: 18px 12px; }
    .contact-actions { width: 100%; flex-direction: column; }
}

@media print {
    .policy-hero { min-height: auto; background: var(--brand-900); }
    .hero-content { padding-block: 35px; }
    .trust-grid { margin-top: 20px; }
    .language-policy { box-shadow: none; break-inside: avoid; }
    .policy-index,
    .language-switch,
    .privacy-contact,
    .policy-footer { display: none; }
    .policy-layout { display: block; }
}

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