/* Purple canvas, white typography, restrained product illustrations. */
.telefone-logo { display: block; width: 44px; height: 44px; object-fit: contain; flex-shrink: 0; }
.brand .brand-logo { width: 44px; height: 44px; }
.phone-brand { display: inline-flex; align-items: center; gap: 5px; }
.phone-brand .telefone-logo { width: 28px; height: 28px; }
.download-logo .telefone-logo { width: 80%; height: 80%; }
@media(max-width:700px) { .brand .brand-logo { width: 36px; height: 36px; } }
:root {
    color-scheme: dark;
    --purple: #ded0ff;
    --purple-dark: #f2eaff;
    --ink: #ffffff;
    --muted: #e0d5ed;
    --lavender: #502584;
    --line: #ffffff24;
    --canvas: #421b75;
    --surface: #502584;
    --surface-deep: #34145d;
}
body { background: var(--canvas); }
::selection { background: #dfcbff; color: #34145d; }
:focus-visible { outline-color: #ffffff; }
.site-header { background: #421b75f5; border-color: var(--line); }
.brand-dot, .main-nav a, .main-nav a:hover, .main-nav a.active { color: #ffffff; }
.main-nav a.active:after { background: #ffffff; }
.brand-mark { background: #ffffff12; border: 1px solid #ffffff40; box-shadow: none; }
.menu-toggle span { background: #ffffff; }
.button, .button-white { background: #ffffff; color: #421b75; box-shadow: none; }
.button:hover, .button-white:hover { background: #eee5fc; color: #34145d; box-shadow: none; }
.button-outline { background: transparent; border-color: #ffffff60; color: #ffffff; }
.button-outline:hover { background: #ffffff12; color: #ffffff; }
.hero, .page-hero { background: #421b75; border-color: var(--line); }
.hero-grain, .art-spark, .download-spark, .download-chat, .download-mini-chat,
.download-orbit, .privacy-ring, .privacy-art:before { display: none; }
.gradient-text { background: none; color: #ffffff; -webkit-text-fill-color: #ffffff; }
.muted-heading, .download-copy h2>span { color: #ffffff; }
.hero h1 { font-weight: 700; }
.eyebrow-pill { background: transparent; border: 0; border-radius: 0; padding: 0; color: #e0d5ed; letter-spacing: 1.8px; }
.hero-copy>p, .hero-footnote, .hero-footnote strong, .hero-footnote small,
.hero-bottom, .eyebrow, .art-caption, .download-copy .eyebrow,
.download-copy p, .download-copy>small { color: #e0d5ed; }
.hero-footnote { font-size: 11px; margin-top: 21px; }
.scroll-circle { border-color: #ffffff50; }
.store-button, .store-light { background: #35135f; border: 1px solid #ffffff55; color: #ffffff; box-shadow: none; }
.store-button:hover { background: #55278a; box-shadow: none; }
.hero-phone-wrap { transform: rotate(-5deg) rotateY(-10deg); }
.phone-ground { background: radial-gradient(ellipse,#17082980,transparent 68%); }
.floating-card { animation: none; background: #552d85; border-color: #ffffff30; box-shadow: 0 12px 28px #19082f30; border-radius: 10px; }
.floating-card strong { color: #ffffff; }
.floating-card div>span { color: #e0d5ed; }
.call-float { transform: none; }
.call-icon, .privacy-icon { background: #ffffff10; color: #ffffff; border-radius: 8px; }
.signal-bars i { background: #ddcafa; }
.phone-device { background: linear-gradient(120deg,#a997bf,#4c3863 50%,#9680ad); border-color: #b2a3c7; box-shadow: 5px 3px 0 #705687,8px 5px 0 #8c749f,18px 24px 36px #17082960; }
.phone-screen { background: #2e124f; border-color: #684681; }
.phone-screenshot-device { height: auto; }
.phone-screenshot-device .phone-screen { height: auto; background: #fff; border-radius: 32px; }
.phone-screenshot { display: block; width: 100%; height: auto; }
.app-screens-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; }
.app-screen-card { margin: 0; min-width: 0; text-align: center; }
.app-screen-card a { display: block; max-width: 280px; margin: auto; border: 6px solid #9c83b7; border-radius: 30px; overflow: hidden; background: white; box-shadow: 0 16px 32px #17082940; }
.app-screen-card a:focus-visible { outline: 3px solid white; outline-offset: 5px; }
.app-screen-card img { display: block; width: 100%; height: auto; }
.app-screen-card figcaption { margin-top: 16px; font-size: 16px; font-weight: 600; }
@media(max-width:700px) {
    .app-screens-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 14px; }
    .app-screen-card a { border-width: 4px; border-radius: 18px; }
    .app-screen-card figcaption { font-size: 13px; margin-top: 10px; }
}
.phone-app-heading>span:first-child>span { color: #ffffff; }
.phone-search, .phone-filters span { background: #452467; color: #e5dcee; }
.phone-filters .selected { background: #7950a4; color: #ffffff; }
.phone-status { color: #ffffff; }
.battery, .home-indicator { background: #ffffff; }
.unread-count, .compose { background: #624187; color: #ffffff; }
.chat-row { border-color: #ffffff12; }
.chat-row p, .chat-meta { color: #d5c6e4; }
.chat-meta b { background: #7950a4; color: #ffffff; }
.phone-bottom { background: #2e124f; border-color: #ffffff20; color: #cbb9dd; }
.phone-bottom .selected { color: #ffffff; }
.online-dot { border-color: #2e124f; }
.avatar, .mini-avatar { background: #654582; color: #ffffff; }
.trust-strip { background: var(--canvas); border: 0; }
.trust-strip>.container {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    padding: 36px 0 12px;
}
.trust-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 19px;
    min-height: 150px;
    padding: 25px;
    border: 0;
    border-radius: 22px;
    background: linear-gradient(145deg, #5e3591, #4c237d);
    box-shadow: inset 0 1px 0 #ffffff16, 0 5px 0 #321153, 0 16px 26px -10px #1f093f80;
    transition: transform .22s ease, box-shadow .22s ease;
}
.trust-card:hover {
    transform: translateY(-4px);
    box-shadow: inset 0 1px 0 #ffffff22, 0 5px 0 #321153, 0 22px 32px -10px #1f093f99;
}
.trust-strip .trust-card-icon {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 13px;
    color: #ffffff;
    background: #ffffff0c;
    box-shadow: inset 0 1px 0 #ffffff14, 0 3px 7px #230d411f;
}
.trust-card-icon svg { width: 23px; height: 23px; color: #ffffff; }
.trust-card strong { color: #ffffff; font-size: 14px; font-weight: 500; line-height: 1.5; }
@media(max-width:900px) {
    .trust-strip>.container { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
}
@media(max-width:700px) {
    .trust-strip>.container { padding: 26px 0 10px; gap: 15px; }
    .trust-card { min-height: 145px; padding: 20px 17px; gap: 15px; border-radius: 18px; }
    .trust-card strong { font-size: 12px; }
}
@media(max-width:350px) {
    .trust-strip>.container { grid-template-columns: 1fr; }
    .trust-card { flex-direction: row; align-items: center; justify-content: flex-start; min-height: 95px; }
}
.feature-card, .info-card { background: #502584; border-color: #ffffff26; border-radius: 16px; }
.feature-card:hover { box-shadow: none; border-color: #ffffff55; transform: translateY(-3px); }
.feature-icon, .groups-card .feature-icon, .share-card .feature-icon,
.principle-icon, .safety-banner-icon { background: #ffffff0b; border-color: #ffffff32; color: #ffffff; border-radius: 10px; box-shadow: none; transform: none; }
.principles-grid>div:nth-child(2) .principle-icon { transform: none; }
.card-arrow { background: transparent; border-color: #ffffff42; color: #ffffff; }
.message-art, .call-art, .group-art, .photo-card, .voice-note { transform: none; }
.message-in>div, .typing-bubble { background: #684293; color: #ffffff; }
.message-out>div { background: #8860b3; color: #ffffff; }
.typing-bubble i { background: #e7d7fa; }
.call-art { background: #39185f; border-color: #ffffff30; box-shadow: none; border-radius: 18px 18px 0 0; }
.call-avatar { background: #725291; color: #ffffff; border-color: #ffffff18; box-shadow: none; font: 600 20px var(--body); }
.call-timer { color: #e0d5ed; }
.group-art, .group-art:before { border-color: #ffffff25; }
.group-center { background: #704993; color: #ffffff; transform: none; box-shadow: none; border-radius: 14px; }
.group-person { border-color: #502584; background: #79569b; color: #ffffff; box-shadow: none; }
.photo-card, .voice-note { background: #67418c; color: #ffffff; box-shadow: none; }
.photo-card>span { color: #ffffff; }
.waveform i { background: #e6d7f7; }
.privacy-section { background: #391562; }
.shield-3d { background: linear-gradient(125deg,#9974bf,#68418e); transform: perspective(700px) rotateY(-18deg); }
.privacy-art-label { background: #502584; color: #ffffff; border-color: #ffffff25; box-shadow: none; transform: none; }
.privacy-points>span, .privacy-points svg { color: #eee5f7; }
.status-dot { background: #e5d0ff; box-shadow: none; }
.safety-banner, .download-banner { background: #502584; border-color: #ffffff26; border-radius: 16px; }
.download-banner { border: 1px solid #ffffff26; }
.download-logo { background: linear-gradient(140deg,#8e65b7,#653d8d); color: #ffffff; transform: rotate(-6deg) rotateY(-16deg); box-shadow: 5px 7px 0 #39145f,12px 20px 28px #1b082c44; }
.download-logo svg { fill: #ffffff; }
.faq-item summary>span, .faq-item p { color: #e0d5ed; }
.site-footer { background: #321153; border-color: var(--line); }
.footer-grid>div>a:not(.brand), .footer-bottom, .made-with { color: #e0d5ed; }
.footer-grid>div>a:hover { color: #ffffff; }
.notice, .report-sidebar, .platform-card, .legal-link, .success-panel, .help-empty {
    background: #502584; border-color: #ffffff30; color: #e7ddf1;
}
.notice strong, .report-sidebar strong { color: #ffffff; }
.subnav a, .tag-list span { background: #ffffff08; border-color: #ffffff38; color: #ffffff; }
.subnav a:hover, .legal-link:hover { background: #633794; }
.detail-visual { background: #502584; border-color: #ffffff26; }
.detail-visual:after { display: none; }
.large-icon-3d { background: linear-gradient(135deg,#9570b9,#69438e); color: #ffffff; box-shadow: 5px 7px 0 #321452; transform: perspective(600px) rotateY(-15deg); }
.download-page-art { background: none; }
.platform-card small, .report-sidebar ol, .field label, .field label span, .field small { color: #e0d5ed; }
.status-label { background: #6a4292; color: #ffffff; }
.report-form { background: #391562; border-color: #ffffff30; }
.field input, .field textarea, .field select, .help-search input {
    background: #2f114f; border-color: #ffffff50; color: #ffffff;
}
.field input::placeholder, .field textarea::placeholder, .help-search input::placeholder { color: #cdbbdf; }
.field select option { background: #2f114f; color: #ffffff; }
.field input:focus, .field textarea:focus, .field select:focus, .help-search input:focus { outline-color: #eadbff; }
.field input::file-selector-button { background: #68418c; border: 1px solid #ffffff40; border-radius: 5px; color: #ffffff; padding: 7px 10px; margin-right: 10px; }
.checkbox-label>span { color: #e0d5ed!important; }
.checkbox-label input { accent-color: #bda0e1; }
.error-summary { background: #612749; border-color: #ed94b2; color: #ffffff; }
.error-message { color: #ffc1d4; }
.field [aria-invalid=true] { border-color: #ffacc7; }
.case-number { background: #34145d; border-color: #ffffff35; color: #ffffff; }
.success-icon { background: #65428a; color: #ffffff; }
.legal-link>svg:first-child, .legal-link>svg:last-child, .help-search>svg { color: #e0d5ed; }
@media(max-width:700px) {
    .main-nav { background: #421b75; border-color: var(--line); }
    .hero-footnote { font-size: 10px; }
}

/* Legal content formatting */
.legal-content { max-width: 820px; }
.legal-meta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    letter-spacing: 0.3px;
    color: #ded0ff;
    background: #391562;
    border: 1px solid #ffffff30;
    border-radius: 20px;
    padding: 6px 14px;
    margin-bottom: 22px;
}
.legal-content h2 {
    font-size: 22px;
    letter-spacing: -0.4px;
    margin: 36px 0 14px;
    color: #ffffff;
}
.legal-content p {
    font-size: 14.5px;
    line-height: 1.8;
    color: #e0d5ed;
    margin: 0 0 16px;
}
.legal-content p strong, .legal-content li strong {
    color: #ffffff;
}
.legal-content ul {
    margin: 0 0 24px;
    padding-left: 22px;
    list-style: disc;
}
.legal-content li {
    font-size: 14px;
    line-height: 1.75;
    color: #e0d5ed;
    margin-bottom: 10px;
}
.legal-content a {
    color: #ded0ff;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 0.2s ease;
}
.legal-content a:hover {
    color: #ffffff;
}
.legal-content code {
    background: #34145d;
    border: 1px solid #ffffff35;
    border-radius: 6px;
    padding: 2px 7px;
    font-size: 12.5px;
    color: #ded0ff;
}
.legal-table-wrap {
    overflow-x: auto;
    margin: 22px 0 28px;
    border: 1px solid #ffffff26;
    border-radius: 14px;
    background: #391562;
}
.legal-table {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
    font-size: 13.5px;
}
.legal-table th {
    background: #2f114f;
    color: #ffffff;
    font-weight: 600;
    padding: 14px 18px;
    border-bottom: 1px solid #ffffff26;
    letter-spacing: 0.2px;
}
.legal-table td {
    padding: 14px 18px;
    border-bottom: 1px solid #ffffff18;
    color: #e0d5ed;
    vertical-align: top;
    line-height: 1.6;
}
.legal-table tr:last-child td {
    border-bottom: none;
}
.legal-table tr:nth-child(even) td {
    background: #ffffff06;
}
.legal-table td strong {
    color: #ffffff;
    font-weight: 600;
}

/* Store badge images */
.store-badges {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    align-items: center;
}
.store-badge-link {
    display: inline-block;
    transition: transform 0.2s ease, opacity 0.2s ease;
    border-radius: 8px;
    overflow: hidden;
}
.store-badge-link:hover {
    transform: translateY(-3px);
    opacity: 0.9;
}
.store-badge-img {
    display: block;
    height: 54px;
    width: auto;
    object-fit: contain;
}
@media(max-width:700px) {
    .store-badges { justify-content: center; }
    .store-badge-img { height: 46px; }
}
@media(max-width:390px) {
    .store-badge-img { height: 42px; }
}
