/* Estilos do site getswapy.com. O site é independente do canvas de protótipo:
   esta folha é a fonte da verdade do visual. As fontes são as mesmas do app
   (assets/fonts e @expo-google-fonts/inter), recortadas para latim em WOFF2. */

@font-face{font-family:'Bricolage Grotesque';src:url(/fonts/BricolageGrotesque-Variable.woff2) format('woff2');font-weight:200 800;font-stretch:75% 100%;font-display:swap}
@font-face{font-family:Inter;src:url(/fonts/Inter_400Regular.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url(/fonts/Inter_500Medium.woff2) format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Inter;src:url(/fonts/Inter_600SemiBold.woff2) format('woff2');font-weight:600;font-display:swap}

:root{
  --bg:#0E0D11;
  --surface:#15131A;
  --surface-2:#18161D;
  --line:#221F28;
  --border:#2E2A35;
  --ink:#F4F1F6;
  --text:#E4DFE9;
  --soft:#CFC9D6;
  --muted:#A39DAD;
  --faint:#8A8494;
  --fainter:#6E6878;
  --coral:#FF5C7A;
  --coral-soft:#FF8098;
  --wine:#22141A;
  --lilac:#B49CFF;
  --blue:#3897F0;
  --sky:#5AB2FF;
  --amber:#FFC24D;
  --mint:#5EE0B5;
  --display:'Bricolage Grotesque',sans-serif;
  --emoji:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;
  --gutter:72px;
  /* Conteúdo numa coluna de até 1136 px, centralizada; abaixo disso, margens de --gutter. */
  --max:1136px;
  --pad:max(var(--gutter),calc((100vw - var(--max)) / 2));
}

body{margin:0;background:var(--bg);font-family:Inter,system-ui,sans-serif}
:focus-visible{outline:2px solid var(--coral-soft);outline-offset:3px;border-radius:6px}
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

.logo{font-family:var(--display);font-weight:800;text-decoration:none}
.logo .y{color:var(--coral)}
/* Depois da logo, a bandeira e o país de onde vem o acesso (escritos pelo Worker, src/worker.js). */
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.place{height:30px;padding:0 12px;border-radius:15px;background:var(--surface-2);border:1px solid var(--border);display:inline-flex;align-items:center;font-size:13px;font-weight:500;color:var(--soft);white-space:nowrap;box-sizing:border-box}
.place:empty{display:none}
.place .flag{font-family:var(--emoji);font-size:15px;line-height:1;margin-right:6px}

/* ---------- Página inicial ---------- */

:where(.home) a{color:inherit}
.home{color:var(--ink)}

.lp{position:relative;overflow:hidden;width:100%;box-sizing:border-box;display:flex;flex-direction:column;color:var(--ink);
  background:radial-gradient(900px 600px at 78% 28%,rgba(255,92,122,0.16),rgba(14,13,17,0) 70%),radial-gradient(800px 600px at 5% 70%,rgba(180,156,255,0.11),rgba(14,13,17,0) 70%),var(--bg)}

.lp-hero{position:relative;padding:32px var(--pad) 88px}

/* Emojis desfocados que flutuam no fundo; posição, tamanho e animação vêm do HTML. */
.lp-emojis{position:absolute;top:0;bottom:0;left:50%;width:1280px;margin-left:-640px;pointer-events:none}
.lp-emoji{position:absolute;left:var(--x);top:var(--y);font-size:var(--size);line-height:1;font-family:var(--emoji);filter:blur(var(--blur));opacity:var(--o);animation:var(--anim) 14s ease-in-out infinite alternate;pointer-events:none;user-select:none}
@keyframes d0{from{transform:translate(0,0) rotate(0)}to{transform:translate(58px,-41px) rotate(7deg) scale(1.15)}}
@keyframes d1{from{transform:translate(0,0) rotate(0)}to{transform:translate(-58px,39px) rotate(-20deg) scale(1.15)}}
@keyframes d2{from{transform:translate(0,0) rotate(0)}to{transform:translate(69px,-69px) rotate(-25deg) scale(1.15)}}
@keyframes d3{from{transform:translate(0,0) rotate(0)}to{transform:translate(-68px,-79px) rotate(4deg) scale(1.15)}}
@keyframes d4{from{transform:translate(0,0) rotate(0)}to{transform:translate(-70px,61px) rotate(-25deg) scale(1.15)}}
@media (prefers-reduced-motion:reduce){.lp-emoji{animation:none}}

.lp-header{position:relative;display:flex;align-items:center;justify-content:space-between}
.lp-header .logo{font-size:30px;letter-spacing:-0.6px}
.btn-outline{height:44px;padding:0 20px;border-radius:22px;border:1px solid #3A3542;display:flex;align-items:center;font-size:14px;font-weight:600;text-decoration:none;transition:border-color .15s}
.btn-outline:hover{border-color:var(--faint)}

.lp-hero-grid{position:relative;display:grid;grid-template-columns:1fr 320px;gap:64px;align-items:center;margin-top:56px}
.lp-copy{display:flex;flex-direction:column;gap:24px}
.lp-copy h1{margin:0;font-family:var(--display);font-weight:800;font-size:72px;line-height:0.98;letter-spacing:-2px}
.lp-copy h1 em{font-style:normal;color:var(--coral)}
.lp-lead{margin:0;max-width:540px;font-size:19px;line-height:1.55;color:var(--soft)}
.lp-download{display:flex;align-items:center;gap:16px;margin-top:8px}
.lp-cta{display:flex;align-items:center;gap:12px;height:60px;padding:0 26px;border-radius:30px;background:var(--ink);color:var(--bg);text-decoration:none;transition:transform .15s}
.lp-cta:hover{transform:translateY(-2px)}
.lp-cta-icon{display:flex}
.lp-cta-text{display:flex;flex-direction:column;line-height:1.1}
.lp-cta-text small{font-size:11px;font-weight:500}
.lp-cta-text strong{font-size:18px;font-weight:700}
.lp-download{position:relative;flex-wrap:wrap}
.lp-cta-alt{font:inherit;cursor:pointer;background:var(--surface-2);color:var(--ink);border:1px solid #3A3542}
.lp-cta-alt:hover{border-color:var(--faint)}
.lp-toast{position:absolute;left:0;top:calc(100% + 12px);z-index:2;margin:0;padding:12px 16px;border-radius:14px;background:var(--surface-2);border:1px solid var(--border);box-shadow:0 12px 30px rgba(0,0,0,0.4);font-size:14px;color:var(--ink);opacity:0;transform:translateY(-4px);pointer-events:none;transition:opacity .2s,transform .2s}
.lp-toast.is-on{opacity:1;transform:none}
.lp-toast:empty{display:none}
.lp-age{font-size:13px;color:var(--fainter)}

/* Seções abaixo da dobra: alinhadas à esquerda, na mesma margem do topo. */
.section{padding:112px var(--pad);border-top:1px solid var(--line)}
.section-head{max-width:620px;display:flex;flex-direction:column;gap:16px}
.section h2{margin:0;font-family:var(--display);font-weight:800;font-size:52px;line-height:1;letter-spacing:-1.4px;color:var(--ink)}
.section-head p{margin:0;font-size:18px;line-height:1.6;color:var(--soft)}

/* Como funciona: é uma sequência de verdade, por isso os números. */
.steps{list-style:none;margin:56px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px;counter-reset:passo}
.steps li{counter-increment:passo;display:flex;flex-direction:column;gap:10px}
.steps li::before{content:counter(passo);font-family:var(--display);font-weight:800;font-size:56px;line-height:1;letter-spacing:-2px;color:var(--coral);font-stretch:80%}
.steps h3{margin:6px 0 0;font-family:var(--display);font-weight:700;font-size:22px;letter-spacing:-0.4px;line-height:1.15}
.steps p{margin:0;font-size:15.5px;line-height:1.6;color:var(--muted)}

/* Até onde vocês vão: a tela do app, de verdade, para mexer. */
.limits{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:80px;align-items:center;overflow:hidden;
  background:radial-gradient(700px 520px at 82% 50%,rgba(255,92,122,0.13),rgba(14,13,17,0) 70%)}
.limits .section-head{gap:20px}

.demo{position:relative;padding:28px 24px 24px;border-radius:32px;background:var(--bg);border:1px solid var(--border);box-shadow:0 30px 80px rgba(0,0,0,0.45),0 0 0 8px rgba(255,255,255,0.02)}
.demo fieldset{border:0;margin:0;padding:0;min-width:0}
.demo legend{padding:0;font-size:12px;font-weight:600;letter-spacing:0.6px;color:var(--muted);margin-bottom:10px}
.demo input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}

.demo .demo-kinds{display:flex;gap:4px;padding:4px;border-radius:24px;background:var(--surface-2);border:1px solid var(--border)}
.demo fieldset+fieldset{margin-top:22px}
.demo-kinds label{flex:1;height:38px;border-radius:19px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:500;color:var(--soft);cursor:pointer;transition:background .15s,color .15s}
.demo-kinds input:checked+span{color:var(--ink)}
.demo-kinds label:has(input:checked){background:var(--wine);box-shadow:inset 0 0 0 1.5px var(--coral)}
.demo-kinds label:has(input:focus-visible){outline:2px solid var(--coral-soft);outline-offset:2px}

.demo-levels{display:flex;flex-direction:column;gap:6px}
.level{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 14px;border-radius:16px;border:1.5px solid var(--border);background:var(--surface-2);box-sizing:border-box;cursor:pointer;transition:background .15s,border-color .15s}
.level::before{content:"";flex-shrink:0;width:20px;height:20px;border-radius:50%;border:2px solid #4A4453;box-sizing:border-box;transition:border .15s}
.level:has(input:checked){background:var(--wine);border-color:var(--coral)}
.level:has(input:checked)::before{border:6px solid var(--coral);background:var(--ink)}
.level:has(input:focus-visible){outline:2px solid var(--coral-soft);outline-offset:2px}
.level span{display:flex;flex-direction:column;gap:1px}
.level b{font-size:15px;font-weight:600;color:var(--ink)}
.level small{font-size:12px;color:var(--muted)}

.demo-rules div{display:flex;flex-wrap:wrap;gap:8px}
.rule{height:40px;padding:0 14px;border-radius:20px;border:1.5px solid var(--border);background:var(--surface-2);display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--soft);box-sizing:border-box;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.rule:has(input:checked){background:#12241E;border-color:#2E7D63;color:#8FEACB}
.rule:has(input:focus-visible){outline:2px solid var(--coral-soft);outline-offset:2px}

.demo-summary{margin-top:22px;padding:14px 16px;border-radius:16px;background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column;gap:4px}
.demo-summary span{font-size:12px;color:var(--muted)}
.demo-summary strong{font-family:var(--display);font-weight:700;font-size:19px;letter-spacing:-0.3px;color:var(--ink)}
.demo-summary em{font-style:normal;font-size:13.5px;line-height:1.5;color:var(--soft)}

/* Conversa: a tela de chat do app (src/features/conversas/ChatScreen.tsx), no mesmo celular. */
.chat{display:grid;grid-template-columns:320px minmax(0,1fr);gap:96px;align-items:center;
  background:radial-gradient(640px 520px at 18% 50%,rgba(180,156,255,0.10),rgba(14,13,17,0) 70%)}
.c-screen{display:flex;flex-direction:column}
.c-header{display:flex;align-items:center;gap:12px;padding:52px 16px 14px;border-bottom:1px solid var(--line)}
.c-button{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.c-avatars{position:relative;width:44px;height:44px;flex-shrink:0}
.c-avatars img{position:absolute;width:32px;height:32px;border-radius:50%;border:2px solid var(--bg);object-fit:cover;box-sizing:border-box}
.c-avatars img:first-child{left:0;top:4px}
.c-avatars img:last-child{left:12px;top:8px}
.c-title{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.c-title b{font-size:16px;font-weight:600}
.c-title small{font-size:12px;color:var(--muted)}
.c-messages{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:flex-end;gap:10px;padding:18px 16px}
.c-messages p{margin:0;max-width:300px;padding:11px 14px;font-size:15px;line-height:1.45;box-sizing:border-box}
.c-day{align-self:center;font-size:12px;color:var(--muted)}
.c-in{align-self:flex-start;border-radius:18px 18px 18px 6px;background:var(--surface-2);color:var(--ink)}
.c-out{align-self:flex-end;border-radius:18px 18px 6px 18px;background:var(--coral);color:#1A0A0F}
.c-typing{align-self:flex-start;display:flex;align-items:center;gap:4px;padding:14px 16px;border-radius:18px 18px 18px 6px;background:var(--surface-2)}
.c-typing i{width:7px;height:7px;border-radius:50%;background:var(--soft);animation:digitando 1.2s ease-in-out infinite}
.c-typing i:nth-child(2){animation-delay:.15s}
.c-typing i:nth-child(3){animation-delay:.3s}
@keyframes digitando{0%,60%,100%{opacity:.35;transform:none}30%{opacity:1;transform:translateY(-3px)}}
@media (prefers-reduced-motion:reduce){.c-typing i{animation:none;opacity:.7}}
.c-composer{display:flex;align-items:center;gap:8px;padding:12px 12px 32px;border-top:1px solid var(--line)}
.c-media,.c-mic{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-sizing:border-box}
.c-media{background:var(--surface-2);border:1px solid var(--border);color:var(--muted)}
.c-mic{background:var(--coral);color:#1A0A0F}
.c-input{flex:1;height:44px;padding:0 16px;border-radius:22px;background:var(--surface-2);border:1px solid var(--border);display:flex;align-items:center;font-size:15px;color:#757575;box-sizing:border-box}

/* O combinado: as quatro regras do app, com os mesmos ícones e cores. */
.rules-grid{list-style:none;margin:56px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 64px;max-width:980px}
.rules-grid li{display:grid;grid-template-columns:52px 1fr;grid-template-rows:auto 1fr;gap:4px 20px;align-items:start}
.rules-grid .ico{grid-row:span 2;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--c);background:color-mix(in srgb,var(--c) 14%,transparent)}
.rules-grid h3{margin:4px 0 0;font-family:var(--display);font-weight:700;font-size:28px;letter-spacing:-0.6px;line-height:1.1}
.rules-grid p{margin:0;font-size:17px;line-height:1.55;color:var(--muted)}

/* Segurança: lista com divisórias, sem cartões. */
.safety{list-style:none;margin:56px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 48px}
.safety li{padding:28px 0 32px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:10px}
.safety svg{color:var(--lilac)}
.safety h3{margin:4px 0 0;font-size:17px;font-weight:600;line-height:1.3}
.safety p{margin:0;font-size:15px;line-height:1.6;color:var(--muted)}

/* Perguntas frequentes: <details> nativo, o texto fica na página para quem busca. */
.faq{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,680px);gap:64px;align-items:start}
.faq-list{border-top:1px solid var(--border)}
.faq details{border-bottom:1px solid var(--border)}
.faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;font-size:18px;font-weight:600;line-height:1.35;cursor:pointer}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex-shrink:0;width:12px;height:12px;border-right:2px solid var(--faint);border-bottom:2px solid var(--faint);transform:translateY(-3px) rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:translateY(3px) rotate(-135deg)}
.faq details p{margin:0;padding:0 40px 24px 0;font-size:16px;line-height:1.65;color:var(--soft)}
.faq details a{color:var(--coral-soft)}

/* Chamada final. */
.closing{position:relative;overflow:hidden;padding:128px var(--pad);border-top:1px solid var(--line);
  background:radial-gradient(760px 420px at 50% 100%,rgba(255,92,122,0.18),rgba(14,13,17,0) 70%),radial-gradient(600px 400px at 90% 10%,rgba(180,156,255,0.09),rgba(14,13,17,0) 70%)}
.closing h2{margin:0;max-width:900px;font-family:var(--display);font-weight:800;font-size:76px;line-height:0.98;letter-spacing:-2.2px}
.closing .lp-download{margin-top:40px}

.lp-footer{padding:28px var(--pad);border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:14px;color:var(--faint)}
.lp-footer-links{display:flex;gap:24px}
.lp-footer-links a{text-decoration:none}
.lp-footer-links a:hover{color:var(--ink)}

/* Celular com a tela Descobrir do app: desenhado a 390×844 e reduzido para caber em 300 px. */
.phone-wrap{display:flex;justify-content:center}
.phone{width:300px;height:659px;flex-shrink:0;border-radius:44px;border:6px solid var(--border);background:var(--bg);overflow:hidden;box-sizing:border-box;box-shadow:0 24px 50px rgba(0,0,0,0.35)}
.phone-screen{position:relative;width:390px;height:844px;transform:scale(0.7436);transform-origin:0 0;background:var(--bg);color:var(--ink);overflow:hidden}
.m-status{position:absolute;left:0;right:0;top:0;height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 30px;font-size:15px;font-weight:600;z-index:5}
.m-status-icons{display:flex;gap:6px;align-items:center}
.m-signal{width:18px;height:10px;border-radius:2px;background:var(--ink)}
.m-battery{width:24px;height:11px;border-radius:3px;border:1.5px solid var(--ink);box-sizing:border-box;padding:1px}
.m-battery span{display:block;width:75%;height:100%;background:var(--ink);border-radius:1px}
.m-top{position:absolute;left:16px;right:16px;top:52px;display:flex;align-items:center;justify-content:space-between}
.m-top .logo{font-size:24px;letter-spacing:-0.5px}
.m-chip{height:40px;padding:0 14px;border-radius:20px;background:var(--surface-2);border:1px solid var(--border);display:flex;align-items:center;font-size:13px}
.m-card{position:absolute;left:16px;right:16px;top:106px;height:494px;border-radius:24px;overflow:hidden;border:1px solid var(--border)}
.m-card img{width:100%;height:100%;object-fit:cover;display:block}
.m-bars{position:absolute;left:12px;right:12px;top:10px;display:flex;gap:4px}
.m-bars span{flex:1;height:3px;border-radius:2px;background:rgba(255,255,255,0.35)}
.m-bars span:first-child{background:#FFFFFF}
.m-free{position:absolute;left:12px;top:22px;display:flex;align-items:center;gap:7px;height:28px;padding:0 12px 0 10px;border-radius:14px;background:rgba(14,13,17,0.45);border:1px solid rgba(255,255,255,0.16);color:#FFFFFF;font-size:12px;font-weight:600}
.m-free::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 3px rgba(94,224,181,0.22)}
.m-info{position:absolute;left:0;right:0;bottom:0;padding:80px 18px 16px 18px;background:linear-gradient(to top,rgba(14,13,17,0.85),rgba(14,13,17,0));display:flex;flex-direction:column;gap:4px}
.m-name{display:flex;align-items:center;gap:8px}
.m-name span{font-family:var(--display);font-weight:700;font-size:28px;letter-spacing:-0.5px}
.m-name svg{flex-shrink:0}
.m-meta{font-size:15px;color:#E4DFEA}
.m-online{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--soft)}
.m-online::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--mint)}
.m-actions{position:absolute;left:0;right:0;bottom:100px;display:flex;justify-content:center;align-items:center;gap:18px}
.m-actions span{border-radius:50%;display:flex;align-items:center;justify-content:center}
.m-pass{width:56px;height:56px;background:var(--surface-2);border:1px solid var(--border);color:var(--soft)}
.m-like{width:68px;height:68px;background:linear-gradient(145deg,#FF7A93,#F0436A);box-shadow:0 10px 24px rgba(255,92,122,0.4)}
.m-super{width:56px;height:56px;background:rgba(180,156,255,0.08);border:1.5px solid rgba(180,156,255,0.5);color:var(--lilac)}
/* Barra de abas do app (src/ui/TabBar.tsx): mesmos ícones, cores e medidas. */
.m-tabs{position:absolute;left:0;right:0;bottom:0;display:flex;padding:10px 8px 28px;border-top:1px solid var(--line);background:var(--bg)}
.m-tabs span{flex:1;min-height:44px;display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--muted)}
.m-tabs small{font-size:11px;font-weight:400}
.m-tabs .on{color:var(--coral)}
.m-tabs .on small{font-weight:600}

@media (max-width:1100px){
  .steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 48px}
  .limits{grid-template-columns:1fr;gap:48px}
  .limits .demo{max-width:440px}
  .safety{grid-template-columns:repeat(2,minmax(0,1fr))}
  .faq{grid-template-columns:1fr;gap:32px}
  .chat{grid-template-columns:1fr;gap:48px}
  .chat .section-head{order:-1}
}

@media (max-width:900px){
  :root{--gutter:20px}
  .lp-hero{padding:24px var(--pad) 56px}
  .lp-hero-grid{grid-template-columns:1fr;gap:48px;margin-top:40px}
  .lp-copy h1{font-size:44px;letter-spacing:-1.2px}
  .lp-lead{font-size:17px}
  .lp-download{flex-wrap:wrap}
  .section{padding:72px var(--pad)}
  .section h2{font-size:36px;letter-spacing:-0.9px}
  .section-head p{font-size:16.5px}
  .steps,.rules-grid,.safety{grid-template-columns:1fr;margin-top:40px}
  .steps{gap:32px}
  .rules-grid{gap:32px}
  .rules-grid h3{font-size:23px}
  .rules-grid p{font-size:16px}
  .demo{padding:22px 16px 18px;border-radius:26px}
  .faq summary{font-size:16.5px}
  .faq details p{padding-right:0}
  .closing{padding:88px var(--pad)}
  .closing h2{font-size:44px;letter-spacing:-1.2px}
  .lp-footer{flex-direction:column;align-items:flex-start;gap:16px;padding:24px var(--pad)}
  .lp-footer-links{flex-wrap:wrap}
}

/* ---------- Páginas de texto (termos, privacidade) ---------- */

.legal{color:var(--text);min-height:100vh}
.legal a:not(.logo){color:var(--coral-soft)}
.legal a:not(.logo):hover{color:#FFB3C1}
.legal-main{max-width:760px;margin:0 auto;padding:0 24px 64px 24px;box-sizing:border-box}
.legal-header{display:flex;align-items:center;justify-content:space-between;height:80px}
.legal-header .logo{font-size:26px;letter-spacing:-0.8px;color:var(--ink)}
.legal-header a:not(.logo){font-size:14px}
.legal h1{margin:32px 0 6px 0;font-family:var(--display);font-weight:800;font-size:clamp(2rem,5vw,3rem);letter-spacing:-1px;color:var(--ink)}
.updated{margin:0 0 32px 0;font-size:14px;color:var(--muted)}
.summary{padding:20px;border-radius:18px;background:var(--surface-2);border:1px solid var(--border);margin-bottom:28px}
.summary-title{font-family:var(--display);font-weight:700;font-size:18px;color:var(--ink)}
.summary p{margin:8px 0 0 0;font-size:15px;line-height:1.6}
.sections{display:flex;flex-direction:column;gap:28px;font-size:16px;line-height:1.7}
.sections section{display:flex;flex-direction:column;gap:8px}
.sections h2{margin:0;font-family:var(--display);font-size:22px;color:var(--ink)}
.sections p{margin:0}
.sections ul{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:8px}
.sections strong{color:var(--ink);font-weight:600}

/* Contato: um assunto por linha, com o canal à direita. */
.contact-list{list-style:none;margin:8px 0 0;padding:0;border-top:1px solid var(--border)}
.contact-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 40px;align-items:start;padding:28px 0;border-bottom:1px solid var(--border)}
.contact-list h2{margin:0 0 8px;font-family:var(--display);font-size:22px;color:var(--ink)}
.contact-list p{margin:0;font-size:16px;line-height:1.7}
.legal a.contact-mail,.legal .contact-phones a{display:inline-flex;justify-self:start;align-items:center;height:44px;padding:0 18px;border-radius:22px;border:1px solid #3A3542;background:var(--surface-2);color:var(--ink);font-size:14px;font-weight:600;text-decoration:none;white-space:nowrap;transition:border-color .15s}
.legal a.contact-mail:hover,.legal .contact-phones a:hover{color:var(--ink);border-color:var(--faint)}
.contact-phones{display:flex;gap:8px;justify-self:start}
.contact-company{margin:32px 0 0;font-size:14px;line-height:1.6;color:var(--muted);display:flex;flex-wrap:wrap;gap:4px 20px}
.contact-company+.contact-company{margin-top:8px}
@media (max-width:640px){.contact-list li{grid-template-columns:1fr}}
