/* Página no ar (v2, 02/10/2026): digitação, rodapé com formulário, encaixe, grid de 12 colunas, menu.
   Os atributos data-* ficam fixos no <html> do index.html: s=7 encaixe · g=a grid · f=a formulário · l=1 espaço · m=5 menu pela direita. */
/* tipo.css */
.tipo-oculto{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tipo-palavra{white-space:nowrap}
.tipo-letra{opacity:0}
.tipo-letra.on{opacity:1}
.tipo-cursor-fino{display:inline-block;width:.06em;height:.9em;margin-left:.04em;vertical-align:-.08em;background:currentColor}
.tipo-pisca{animation:tipo-pisca 1s steps(1,end) infinite}
@keyframes tipo-pisca{50%{opacity:0}}
.tipo-some{transition:opacity .4s ease;opacity:0}
@media (prefers-reduced-motion:reduce){.tipo-pisca{animation:none}}
.link-ink{display:inline-block;white-space:nowrap;overflow:visible;clip-path:inset(-.5em 0 -.5em 0);vertical-align:bottom}
.tipo-pisca-fim{animation:tipo-pisca 1s steps(1,end) 3}
/* rodape.css */
.site-footer{background:var(--paper);color:var(--ink)}
.footer-legal{display:flex;justify-content:space-between;gap:24px;align-items:center}
.descida-fim{position:absolute;left:0;width:1px;height:1px;top:calc(100% - 100svh);pointer-events:none}
html[data-s="7"] body>header{position:fixed;top:0;left:0;right:0;z-index:30}
html[data-s="7"] .site-footer{min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;padding-top:calc(84px + 48px)}
html[data-s="7"] .opening h1,html[data-s="7"] .opening-base{will-change:opacity,transform}
@media (max-width:700px){html[data-s="7"] .site-footer{padding-top:calc(72px + 32px)}}
/* grade.css */
:root{--grade-margem:4%;--grade-intervalo:24px;--grade-colunas:12}
@media (max-width:700px){:root{--grade-margem:6%;--grade-intervalo:16px}}
html[data-g] .site-footer{padding-left:var(--grade-margem);padding-right:var(--grade-margem)}
html[data-g] .footer-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grade-intervalo);row-gap:48px}
html[data-g] .footer-lead{max-width:none}
html[data-g] .footer-lead h2{max-width:none;text-wrap:balance}
html[data-g] .footer-invitation,html[data-g] .footer-description{max-width:32ch}
html[data-g] .footer-legal{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grade-intervalo);justify-content:normal;text-align:left}
html[data-g] .footer-legal span{justify-self:start}
html[data-g] .footer-legal span{grid-column:1/9}
html[data-g="a"] .footer-lead{grid-column:1/7}
html[data-g="a"] .footer-information{grid-column:7/13}
html[data-g="a"] .footer-legal a{grid-column:7/13}
html[data-g] .opening{padding-left:var(--grade-margem);padding-right:var(--grade-margem)}
html[data-g] .opening-base{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grade-intervalo);align-items:center}
html[data-g] .opening-base p{grid-column:1/9}
html[data-g="a"] .opening-links{grid-column:9/13}
@media (max-width:700px){html[data-g] .footer-lead,html[data-g] .footer-information,html[data-g] .footer-legal span,html[data-g] .footer-legal a,html[data-g] .opening-base p,html[data-g] .opening-links{grid-column:1/13}}
html[data-g] .footer-grid>.footer-lead,html[data-g] .footer-grid>.footer-information{grid-row:1}
html[data-g] .footer-grid>.footer-legal{grid-column:1/7;grid-row:1;align-self:end;margin:0;display:flex;align-items:center;min-height:48px}
@media (max-width:700px){html[data-g] .footer-grid>.footer-lead,html[data-g] .footer-grid>.footer-information{grid-row:auto}
html[data-g] .footer-grid>.footer-legal{grid-column:1/13;grid-row:auto;margin-top:24px}}
/* form.css */
.contato-form{margin:8px 0 56px}
.contato-form h3{font-size:14px;font-weight:var(--light,300);color:var(--muted);letter-spacing:var(--tracking-title,0);margin:0 0 20px}
.contato-form form{display:grid;gap:20px}
.campo{display:grid;gap:8px;border:0;margin:0;padding:0;min-width:0}
.campo label,.campo legend{font-size:14px;color:var(--muted);padding:0}
.campo label span,.campo legend span{opacity:.7}
.campo input,.campo textarea{font:inherit;font-size:16px;font-weight:300;color:var(--ink);background:transparent;width:100%;border-radius:0;-webkit-appearance:none;appearance:none}
.campo textarea{resize:vertical;min-height:96px;line-height:1.5}
.campo input:focus-visible,.campo textarea:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.opcoes{display:flex;flex-wrap:wrap;gap:8px}
.opcoes label{position:relative;cursor:pointer}
.opcoes input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.opcoes span{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;font-size:15px;color:var(--ink);border:1px solid color-mix(in srgb,var(--ink) 30%,transparent)}
.opcoes input:checked+span{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.opcoes input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}
.erro{min-height:0;font-size:13px;margin:0;color:var(--ink)}
.erro:not(:empty)::before{content:"! ";font-weight:400}
.campo-oculto{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.privacidade{font-size:13px;color:var(--muted);margin:0}
.privacidade a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.enviar{justify-self:start;font:inherit;font-size:16px;font-weight:400;min-height:48px;padding:0 28px;background:var(--ink);color:var(--paper);border:0;cursor:pointer;transition:transform 160ms cubic-bezier(.23,1,.32,1),opacity .2s}
.enviar:active{transform:scale(.97)}
.enviar[disabled]{opacity:.5;cursor:default}
.status{font-size:15px;margin:0}
html[data-f="a"] .campo input,html[data-f="a"] .campo textarea{border:0;border-bottom:1px solid color-mix(in srgb,var(--ink) 35%,transparent);padding:8px 0}
html[data-f="a"] .campo input:focus,html[data-f="a"] .campo textarea:focus{border-bottom-color:var(--ink)}
.contato-form,.contato-form form{min-width:0;max-width:100%}
.contato-form form{display:flex;flex-direction:column;align-items:stretch}
.contato-form .campo{width:100%}
.footer-information{min-width:0}
.contato-form .enviar{align-self:flex-start}
.contato-form{margin-bottom:0}
.footer-information>:last-child{margin-bottom:0}
.contato-form .status:empty{display:none}
/* espaco.css */
html[data-l="1"] .footer-invitation,html[data-l="1"] .footer-description{max-width:none}
html[data-l="1"] .footer-lead .footer-invitation{font-size:clamp(26px,2.4vw,34px);margin-top:72px}
html[data-l="1"] .footer-description{font-size:18px;line-height:1.6;margin-top:20px;max-width:46ch}
@media (max-width:700px){html[data-l] .footer-lead{display:block;height:auto}
html[data-l] .footer-lead .footer-invitation{margin-top:40px;padding-top:0;font-size:24px}
html[data-l] .footer-description{margin-top:16px;font-size:16px}}
/* menu.css */
.menu-botao{font:inherit;font-size:16px;font-weight:300;letter-spacing:var(--tracking-control,0);background:none;border:0;color:inherit;cursor:pointer;min-height:44px;min-width:44px;padding:0}
.menu-botao:focus-visible,.menu-camada a:focus-visible,.menu-camada button:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.menu-camada{position:fixed;z-index:40;background:var(--paper);color:var(--ink);border:0;padding:0;margin:0;max-width:none;max-height:none}
.menu-camada::backdrop{background:rgba(0,0,0,.55)}
.menu-camada .menu-topo{display:flex;justify-content:space-between;align-items:center;height:84px;padding:20px var(--grade-margem,4%)}
.menu-camada .menu-topo img{width:54px;height:auto;display:block}
.menu-camada nav{display:flex;flex-direction:column;align-items:flex-start}
.menu-camada nav a{text-decoration:none;color:inherit;font-weight:200;letter-spacing:var(--tracking-title,0);line-height:1.1}
.menu-camada .menu-email{font-size:18px;font-weight:300;color:var(--muted);text-decoration:none;margin-top:40px;display:inline-block}
.menu-camada .menu-nota{font-size:15px;color:var(--muted);margin-top:8px}
html[data-m] .header-actions{display:flex;align-items:center}
body>header{transition:transform 240ms cubic-bezier(.23,1,.32,1)}
body>header.cabecalho-oculto{transform:translateY(-100%)}
@media (prefers-reduced-motion:reduce){body>header{transition:none}}
html[data-m="5"] .menu-camada{top:0;right:0;left:auto;height:100%;width:33.334vw;min-width:340px;background:var(--ink);color:var(--paper)}
html[data-m="5"] .menu-camada::backdrop{background:rgba(0,0,0,.45)}
html[data-m="5"] .menu-camada .menu-topo{padding:20px 32px}
html[data-m="5"] .menu-camada .menu-topo img{filter:invert(1)}
html[data-m="5"] .menu-camada .menu-corpo{padding:clamp(40px,8vh,96px) 32px 40px;display:flex;flex-direction:column;min-height:calc(100% - 84px)}
html[data-m="5"] .menu-camada nav a{font-size:clamp(40px,3.6vw,56px);min-height:60px}
html[data-m="5"] .menu-camada .menu-pe{margin-top:auto}
html[data-m="5"] .menu-camada .menu-email,html[data-m="5"] .menu-camada .menu-nota{color:color-mix(in srgb,var(--paper) 62%,var(--ink))}
@media (max-width:700px){html[data-m="5"] .menu-camada{width:86vw;min-width:0}
html[data-m="5"] .menu-camada .menu-topo,html[data-m="5"] .menu-camada .menu-corpo{padding-left:6vw;padding-right:6vw}}
.menu-fechar{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-right:-12px;background:none;border:0;color:inherit;cursor:pointer;transition:transform 160ms cubic-bezier(.23,1,.32,1)}
.menu-fechar:active{transform:scale(.92)}
.menu-fechar svg{width:22px;height:22px;display:block}
.menu-fechar:focus-visible{outline:none}html[data-teclado] .menu-fechar:focus-visible{outline:2px solid currentColor;outline-offset:2px}/* Celular: escala compacta (B), aprovada para abertura e rodapé em 02/10/2026 */
@media (max-width:700px){
html .opening h1{font-size:32px;line-height:1.12;text-wrap:balance}
html .opening-base p{font-size:14px}
html .footer-lead h2{font-size:28px;line-height:1.15}
html[data-l] .footer-lead .footer-invitation{font-size:20px;margin-top:28px}
html[data-l] .footer-lead .footer-description{font-size:15px}
html .footer-email{font-size:20px}
html .campo label,html .contato-form h3,html .footer-contact h3{font-size:14px}
html .campo input,html .campo textarea{font-size:16px}
html .privacidade,html .footer-legal span{font-size:12px}
html .contato-form form{gap:16px}
html .campo{gap:6px}
}
/* Página de privacidade: texto corrido no grid, coluna de leitura confortável */
.texto-legal{padding:calc(84px + 64px) var(--grade-margem,4%) 96px;max-width:none}
.texto-legal h1{font-size:clamp(36px,4.2vw,56px);font-weight:200;line-height:1.1;letter-spacing:var(--tracking-title,0);max-width:18ch}
.texto-legal .atualizada{color:var(--muted);font-size:15px;margin-top:16px}
.texto-legal h2{font-size:22px;font-weight:300;margin-top:56px;max-width:38rem}
.texto-legal p{font-size:17px;line-height:1.65;margin-top:16px;max-width:38rem}
.texto-legal a{text-decoration:underline;text-underline-offset:3px}
@media (max-width:700px){.texto-legal{padding:calc(72px + 40px) 6% 72px}.texto-legal h1{font-size:32px}.texto-legal h2{font-size:20px;margin-top:40px}.texto-legal p{font-size:16px}}
/* sugestão de e-mail (gmial → gmail): mesma escala da mensagem de erro, sem cor de alerta */
.contato-form .dica{margin:.4rem 0 0;font-size:.8125rem;color:var(--muted,#b3b3b3)}
.contato-form .dica:empty{display:none}
.contato-form .dica-usar{background:none;border:0;padding:0 0 1px;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:24px}
.contato-form .dica-usar:focus-visible{outline:1px solid currentColor;outline-offset:3px}
/* cursor da digitação flutuando sobre o título: não ocupa espaço, o texto não se reorganiza a cada letra */
.opening h1 .tipo-cursor-fino{position:absolute;left:0;top:0;margin:0;will-change:transform;pointer-events:none}
/* rodapé cabe numa tela só no computador (pedido do responsável, 02/10/2026): campos mais baixos e menos espaço.
   No celular as colunas empilham e a rolagem continua. */
@media (min-width:701px){
 html[data-s="7"] .site-footer{padding-top:calc(84px + 2vh);padding-bottom:clamp(20px,3vh,36px)}
 html .footer-contact h3{margin-bottom:6px}
 .contato-form{margin-top:clamp(16px,2.6vh,28px)}
 .contato-form h3{margin-bottom:clamp(8px,1.4vh,14px)}
 html .contato-form form{gap:clamp(8px,1.4vh,14px)}
 html .campo{gap:2px}
 html[data-f="a"] .campo input{min-height:0;height:auto;padding:6px 0;line-height:1.6}
 html[data-f="a"] .campo textarea{min-height:0;height:calc(2 * 1.5em + 12px);padding:6px 0;resize:none;field-sizing:content;max-height:calc(5 * 1.5em + 12px)}
 .contato-form .enviar{min-height:44px}
}
@media (min-width:701px){
 html .footer-contact{margin-bottom:0}
 html .footer-email{line-height:1.25}
 .contato-form #contato{margin-top:0}
 /* mensagem de erro só ocupa espaço quando existe (o aviso para leitor de tela continua) */
 .campo .erro:empty{min-height:0;height:0;margin:0;padding:0;overflow:hidden}
}
@media (min-width:701px){
 .contato-form{margin-top:clamp(20px,3.6vh,44px)}
 .contato-form h3{margin-bottom:clamp(12px,2.2vh,22px)}
}
@media (min-width:701px) and (max-height:780px){html[data-s="7"] .site-footer{padding-top:88px;padding-bottom:16px}}
/* linha legal no celular: largura inteira, sem quebra forçada (pedido do responsável, 02/10/2026) */
@media (max-width:700px){
 html[data-g] .footer-grid>.footer-legal{display:block;width:100%}
 html[data-g] .footer-legal span{display:block;width:100%;max-width:none;text-wrap:wrap}
}

/* escala de tipos B (escolhida pelo responsável em 02/10/2026): sete degraus, fluidos de 360 a 1440 px de largura.
   Celular base 16 com proporção 1,2; computador base 18 com proporção 1,333. Substitui os 13 tamanhos soltos de antes. */
:root{--t-legal:clamp(13.33px,13.28px + .016vw,13.5px);--t-texto:clamp(16px,15.33px + .185vw,18px);--t-medio:clamp(19.2px,17.6px + .444vw,24px);--t-chamada:clamp(23.04px,20.06px + .828vw,32px);--t-titulo:clamp(27.65px,22.65px + 1.388vw,42.63px);--t-grande:clamp(33.18px,25.29px + 2.19vw,56.83px);--t-abertura:clamp(39.81px,19.42px + 5.664vw,101px)}
/* !important só no tamanho: as camadas antigas (styles, v012, pagina) definem o mesmo texto em vários lugares */
.privacidade,.footer-legal span,.campo label,.campo legend,.contato-form h3,.footer-information h3,.campo .erro,.contato-form .dica{font-size:var(--t-legal)!important}
.opening-base p,.footer-description,.menu-camada .menu-email,.menu-camada .menu-nota,.menu-botao,.enviar,.campo input,.campo textarea{font-size:var(--t-texto)!important}
.footer-email,.footer-lead .footer-invitation{font-size:var(--t-medio)!important}
.frentes-chamada{font-size:var(--t-chamada)!important}
.footer-lead h2{font-size:var(--t-titulo)!important}
.frente-nome,.menu-camada nav a{font-size:var(--t-grande)!important}
.opening h1{font-size:var(--t-abertura)!important}
/* texto dos cartões: degrau de texto no computador; no celular segue a largura do cartão para manter as quebras escritas à mão */
@media (min-width:861px){.frente-desc{font-size:var(--t-texto)!important}}

/* acabamento, celular primeiro (02/10/2026) */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:rgba(255,255,255,.14)}
.menu-camada{-webkit-tap-highlight-color:rgba(0,0,0,.1)}
.menu-camada .menu-email{display:inline-flex;align-items:center;min-height:44px}
/* formulário no celular: rótulo junto do seu campo, respiro entre um campo e outro */
@media (max-width:700px){
 html .contato-form form{gap:24px}
 html .campo{gap:0}
 html[data-f="a"] .campo input{min-height:48px;padding:4px 0 8px}
 html[data-f="a"] .campo textarea{padding:8px 0;resize:none;min-height:0;height:calc(3 * 1.5em + 16px);field-sizing:content;max-height:calc(8 * 1.5em + 16px)} /* três linhas visíveis, cresce com o texto, sem alça de redimensionar */
 .campo .erro:empty{min-height:0;height:0;margin:0;padding:0;overflow:hidden} /* altura zero em vez de display:none: o aviso continua sendo lido pelo leitor de tela */
 .campo .erro{margin-top:8px}
}

/* composição do celular (02/10/2026): quebras escritas à mão e letra proporcional à largura da tela,
   para a composição ser a mesma em qualquer celular (320 a 700 px). No computador as linhas correm normalmente. */
@media (min-width:701px){.q-cel{display:none}}
@media (max-width:700px){
 .lc{display:block;white-space:nowrap}
 .opening h1{font-size:7.38vw!important;max-width:none;line-height:1.14} /* três linhas, as mesmas do computador */
 .opening h1>span{white-space:nowrap}
 .frentes-chamada{font-size:6.19vw!important;max-width:none}
 .footer-lead h2{font-size:7.45vw!important;max-width:none}
 .footer-lead .footer-invitation{font-size:min(var(--t-medio),5.5vw)!important;max-width:none}
 .privacidade,.footer-legal span{font-size:min(3.6vw,14px)!important}
}
/* sem a frase de convite (retirada pelo responsável em 02/10/2026): a descrição vem logo depois do título, com o respiro que era do convite */
html .footer-lead h2+.footer-description{margin-top:clamp(24px,4.5vh,48px)}

/* tablet em pé (701 a 1100 px, retrato): composição própria (pedido do responsável, 02/10/2026, "o site tá horrível em iPad vertical").
   Antes valiam regras do celular nos cartões e do computador no rodapé, e as duas se misturavam mal. */
@media (min-width:701px) and (max-width:1100px) and (orientation:portrait){
 /* abertura: as três linhas do computador, letra proporcional à largura */
 .q-cel{display:inline}
 .opening h1{font-size:min(7.3vw,80px)!important;max-width:none;line-height:1.1}
 .opening h1>span{white-space:nowrap}
 /* rodapé em uma coluna: título largo em duas linhas, texto, depois contato e formulário */
 html[data-g] .footer-grid>.footer-lead{grid-column:1/13;grid-row:1}
 html[data-g] .footer-grid>.footer-information{grid-column:1/13;grid-row:2}
 html[data-g] .footer-grid>.footer-legal{grid-column:1/13;grid-row:3;margin-top:8px}
 html[data-g] .footer-grid{row-gap:56px}
 .footer-lead h2{font-size:min(5.6vw,58px)!important;max-width:none}
 .footer-lead .footer-description{max-width:46ch}
 html[data-s="7"] .site-footer{padding-top:calc(84px + 6vh);padding-bottom:40px}
 .contato-form{margin-top:32px}
}
/* tablet em pé: contato à esquerda e formulário à direita, na mesma grade de 12 colunas; texto do rodapé equilibrado */
@media (min-width:701px) and (max-width:1100px) and (orientation:portrait){
 html[data-g] .footer-information{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grade-intervalo);align-items:start}
 .footer-information>.footer-contact{grid-column:1/5;margin:0}
 .footer-information>.contato-form{grid-column:5/13;margin-top:0!important}
 .footer-lead .footer-description{text-wrap:balance}
 html[data-g] .footer-grid{row-gap:48px}
}
/* tablet em pé mais baixo (iPad de 1024 px de altura): menos respiro em cima para o rodapé caber numa tela */
@media (min-width:701px) and (max-width:1100px) and (orientation:portrait) and (max-height:1100px){
 html[data-s="7"] .site-footer{padding-top:calc(84px + 1vh);padding-bottom:28px}
 html[data-g] .footer-grid{row-gap:36px}
 .footer-lead h2+.footer-description{margin-top:24px!important}
}

/* Farasi na base do painel do menu (escolhida pelo responsável em 02/10/2026): faixa na cor da Farasi, logotipo branco e seta.
   Única cor fora do preto e branco do site, porque é a cor da marca Farasi e só existe dentro da faixa. */
html[data-m="5"] .menu-camada[open]{display:flex;flex-direction:column}
html[data-m="5"] .menu-camada .menu-corpo{flex:1 1 auto;min-height:0!important}
.menu-camada .menu-farasi{flex:none;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#4e0e16;color:#fff;text-decoration:none;padding:28px 32px;min-height:96px;box-sizing:border-box}
.menu-camada .menu-farasi img{display:block;height:34px;width:auto}
.menu-camada .menu-farasi svg{width:22px;height:22px;flex:none;transition:transform .25s cubic-bezier(.23,1,.32,1)}
@media (hover:hover) and (pointer:fine){.menu-camada .menu-farasi:hover svg{transform:translate(3px,-3px)}}
.menu-camada .menu-farasi:focus-visible{outline:2px solid #fff;outline-offset:-6px}
@media (max-width:700px){.menu-camada .menu-farasi{padding-left:6vw;padding-right:6vw;min-height:88px}}
@media (prefers-reduced-motion:reduce){.menu-camada .menu-farasi svg{transition:none}}

/* menu no celular: painel como antes (o responsável preferiu ao de tela inteira, 02/10/2026);
   fica só a correção do X: sem o quadrado de foco quando ninguém usou o teclado */
.menu-camada .menu-logo{display:none}
html[data-m="5"] .menu-camada .menu-fechar:focus-visible{outline:none}
html[data-m="5"][data-teclado] .menu-camada .menu-fechar:focus-visible{outline:2px solid currentColor;outline-offset:-4px}

/* menu em tela baixa (iPhone com as barras do Safari): o conteúdo nunca encolhe por baixo da faixa da Farasi.
   O painel usa a altura visível real (dvh); se ainda assim não couber, o painel rola e a faixa vem depois do e-mail. */
html[data-m="5"] .menu-camada[open]{height:100dvh;max-height:100dvh;overflow-y:auto;overscroll-behavior:contain}
html[data-m="5"] .menu-camada .menu-corpo{flex:1 0 auto}
@media (max-width:700px){
 html[data-m="5"] .menu-camada nav a{font-size:min(var(--t-grande),5.4dvh)!important;padding:min(10px,1.1dvh) 0}
 html[data-m="5"] .menu-camada .menu-corpo{padding-top:clamp(16px,5dvh,72px);padding-bottom:clamp(16px,3dvh,32px)}
 html[data-m="5"] .menu-camada .menu-email{margin-top:clamp(16px,3dvh,40px)}
}
/* X sempre à direita do topo do painel (o logo do topo fica escondido) */
.menu-camada .menu-topo .menu-fechar{margin-left:auto}
