:root {
    --policy-navy: #0b1835;
    --policy-blue: #175cff;
    --policy-cyan: #49d5ff;
    --policy-ink: #17233d;
    --policy-muted: #61708f;
    --policy-line: #dfe7f4;
    --policy-soft: #f4f7fc;
}

.sms-policy-page { color: var(--policy-ink); overflow: hidden; }
.sms-policy-page h1, .sms-policy-page h2, .sms-policy-page h3 { color: var(--policy-navy); }
.sms-policy-hero { position: relative; min-height: 680px; padding: 190px 0 110px; background: radial-gradient(circle at 82% 22%, rgba(73,213,255,.28), transparent 27%), linear-gradient(125deg, #071329 0%, #102d6a 55%, #1267c5 100%); }
.sms-policy-hero::after { content: ""; position: absolute; inset: auto -12% -260px 36%; height: 420px; border-radius: 50%; background: rgba(255,255,255,.06); transform: rotate(-8deg); }
.sms-policy-hero__inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(280px, .65fr); gap: 80px; align-items: center; }
.sms-policy-kicker { display: inline-flex; align-items: center; gap: 9px; color: var(--policy-blue); font-size: .8rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.sms-policy-hero .sms-policy-kicker { color: var(--policy-cyan); }
.sms-policy-hero h1 { max-width: 760px; margin: 18px 0; color: #fff; font-size: clamp(2.65rem, 5.5vw, 5.1rem); line-height: .98; letter-spacing: -.05em; }
.sms-policy-hero__copy > p { max-width: 690px; margin: 0; color: rgba(255,255,255,.77); font-size: 1.12rem; line-height: 1.8; }
.sms-policy-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.sms-policy-btn { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 52px; padding: 0 24px; border: 1px solid transparent; border-radius: 7px; font-weight: 750; transition: transform .2s, background .2s; }
.sms-policy-btn:hover { transform: translateY(-2px); }
.sms-policy-btn--primary { background: #fff; color: var(--policy-navy); }
.sms-policy-btn--ghost { border-color: rgba(255,255,255,.36); color: #fff; }
.sms-policy-btn--ghost:hover { background: rgba(255,255,255,.1); color: #fff; }
.sms-policy-phone { width: min(100%, 330px); margin: auto; padding: 12px; border: 1px solid rgba(255,255,255,.24); border-radius: 38px; background: rgba(4,13,31,.78); box-shadow: 0 35px 80px rgba(0,0,0,.38); transform: rotate(3deg); }
.sms-policy-phone__top { height: 34px; text-align: center; }
.sms-policy-phone__top span { display: inline-block; width: 90px; height: 7px; border-radius: 10px; background: #1b2943; }
.sms-policy-phone__screen { min-height: 410px; padding: 34px 20px; border-radius: 26px; background: #f7f9fd; }
.sms-policy-phone__sender { margin-bottom: 28px; text-align: center; color: #263653; font-size: .85rem; font-weight: 800; }
.sms-policy-phone__bubble, .sms-policy-phone__reply { padding: 13px 15px; border-radius: 16px; font-size: .85rem; line-height: 1.5; }
.sms-policy-phone__bubble { margin-right: 28px; border-bottom-left-radius: 4px; background: #e6ebf3; color: #34415b; }
.sms-policy-phone__reply { width: max-content; margin: 16px 0 0 auto; border-bottom-right-radius: 4px; background: var(--policy-blue); color: #fff; font-weight: 800; }
.sms-policy-phone__status { margin-top: 28px; color: #13875d; font-size: .8rem; text-align: center; }

.sms-policy-commands, .sms-policy-details, .sms-policy-contact { padding: 105px 0; }
.sms-policy-section-heading { max-width: 710px; margin-bottom: 44px; }
.sms-policy-section-heading > span { color: var(--policy-blue); font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.sms-policy-section-heading h2 { margin: 10px 0; font-size: clamp(2rem, 4vw, 3.3rem); letter-spacing: -.035em; }
.sms-policy-section-heading p { color: var(--policy-muted); line-height: 1.8; }
.sms-policy-command-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.sms-policy-command-grid article { position: relative; min-height: 250px; padding: 34px; border: 1px solid var(--policy-line); border-radius: 14px; background: #fff; box-shadow: 0 18px 50px rgba(24,49,91,.07); }
.sms-policy-command-grid article > strong { display: inline-block; margin-bottom: 45px; color: var(--policy-blue); font-size: 1.4rem; letter-spacing: .08em; }
.sms-policy-command-grid h3 { margin-bottom: 10px; font-size: 1.25rem; }
.sms-policy-command-grid p { margin: 0; color: var(--policy-muted); line-height: 1.7; }
.sms-policy-number { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; margin-top: 20px; padding: 24px 30px; border-radius: 12px; background: var(--policy-navy); color: rgba(255,255,255,.7); }
.sms-policy-number a { color: #fff; font-size: clamp(1.35rem, 3vw, 2rem); font-weight: 800; }

.sms-policy-details { background: var(--policy-soft); }
.sms-policy-details__layout { display: grid; grid-template-columns: minmax(260px, .7fr) minmax(0, 1.4fr); gap: 80px; align-items: start; }
.sms-policy-summary { position: sticky; top: 120px; padding: 36px; border-radius: 16px; background: var(--policy-navy); color: rgba(255,255,255,.72); }
.sms-policy-summary h2 { margin: 14px 0; color: #fff; font-size: 2rem; }
.sms-policy-summary > p { line-height: 1.75; }
.sms-policy-summary dl { margin: 30px 0 0; }
.sms-policy-summary dl div { display: flex; justify-content: space-between; gap: 18px; padding: 15px 0; border-top: 1px solid rgba(255,255,255,.13); }
.sms-policy-summary dt { color: rgba(255,255,255,.58); font-size: .82rem; font-weight: 500; }
.sms-policy-summary dd { margin: 0; color: #fff; text-align: right; font-weight: 750; }
.sms-policy-content article { display: grid; grid-template-columns: 52px 1fr; gap: 24px; padding: 32px 0; border-bottom: 1px solid var(--policy-line); }
.sms-policy-content article:first-child { padding-top: 0; }
.sms-policy-content article > span { display: grid; width: 46px; height: 46px; place-items: center; border: 1px solid #c9d6ea; border-radius: 50%; color: var(--policy-blue); font-size: .8rem; font-weight: 800; }
.sms-policy-content h2 { margin: 2px 0 8px; font-size: 1.4rem; }
.sms-policy-content p { margin: 0; color: var(--policy-muted); line-height: 1.85; }

.sms-policy-contact { background: #fff; }
.sms-policy-contact__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: end; }
.sms-policy-contact h2 { margin: 12px 0; font-size: clamp(2rem, 4vw, 3.3rem); }
.sms-policy-contact p { max-width: 580px; color: var(--policy-muted); line-height: 1.8; }
.sms-policy-contact__links { display: grid; gap: 12px; }
.sms-policy-contact__links a { display: flex; align-items: center; gap: 18px; padding: 20px 22px; border: 1px solid var(--policy-line); border-radius: 12px; color: var(--policy-ink); }
.sms-policy-contact__links i { color: var(--policy-blue); font-size: 1.45rem; }
.sms-policy-contact__links span { display: grid; color: var(--policy-muted); font-size: .78rem; }
.sms-policy-contact__links strong { color: var(--policy-ink); font-size: 1rem; }
.sms-policy-updated { margin-top: 55px; color: #8b96ab; font-size: .78rem; }

@media (max-width: 991px) {
    .sms-policy-hero__inner, .sms-policy-details__layout, .sms-policy-contact__inner { grid-template-columns: 1fr; }
    .sms-policy-hero { padding-top: 150px; }
    .sms-policy-phone { display: none; }
    .sms-policy-command-grid { grid-template-columns: 1fr; }
    .sms-policy-command-grid article { min-height: 0; }
    .sms-policy-command-grid article > strong { margin-bottom: 22px; }
    .sms-policy-summary { position: static; }
}

@media (max-width: 575px) {
    .sms-policy-commands, .sms-policy-details, .sms-policy-contact { padding: 72px 0; }
    .sms-policy-hero { min-height: auto; padding: 135px 0 80px; }
    .sms-policy-number { align-items: flex-start; flex-direction: column; }
    .sms-policy-content article { grid-template-columns: 1fr; }
}
