@font-face{font-family:Familjen;src:url(fontes/familjen-grotesk-latin-wght-normal.woff2) format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:Bodoni;src:url(fontes/bodoni-moda-latin-opsz-normal.woff2) format("woff2");font-weight:400 900;font-display:swap}
:root{--esmalte:#10294a;--esmalte2:#1b3c68;--latao:#c9a227;--latao-claro:#ecd27a;--mostrador:#eef1f4;--seg:#c8321e;--tinta:#0f1b2c;--apoio:#44546a}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--esmalte);color:#fff;font:400 1.0625rem/1.55 Familjen,system-ui,sans-serif;overflow-wrap:break-word}
[hidden]{display:none!important}
h1,h2,h3{margin:0;font-family:Bodoni,Georgia,serif;font-weight:500;line-height:1.08}
p{margin:0}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer}
a{color:inherit}
:focus-visible{outline:3px solid var(--latao-claro);outline-offset:2px}
.claro :focus-visible{outline-color:var(--esmalte)}
.faixa{display:flex;flex-wrap:wrap;gap:.3rem 1rem;align-items:center;justify-content:space-between;background:#000;padding:.35rem clamp(1rem,3vw,2.5rem);font-size:.9rem}
.faixa button{background:none;border:1px solid #fff;color:#fff;padding:.2rem .7rem;min-height:40px;border-radius:2px}
.cab{display:flex;flex-wrap:wrap;gap:.2rem 2rem;align-items:center;justify-content:space-between;padding:1rem clamp(1rem,3vw,2.5rem)}
.marca{font-family:Bodoni,Georgia,serif;font-size:1.25rem;color:var(--latao-claro)}
.cab nav{display:flex;flex-wrap:wrap;gap:0 1.1rem}
.cab nav a{display:inline-block;padding:.55rem 0}
.ciclo{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr) minmax(0,4fr);gap:clamp(1.2rem,3vw,2.5rem);align-items:center;padding:clamp(1rem,3vw,2.5rem) clamp(1rem,3vw,2.5rem) clamp(2rem,5vw,4rem)}
.ciclo h1{font-size:clamp(2.1rem,3.7vw,3.5rem)}
.ciclo-texto>p{margin-top:1rem;max-width:44ch}
.controles{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.3rem}
.controles button{min-height:48px;padding:.4rem 1.1rem;border-radius:2px;background:transparent;border:1px solid #fff;color:#fff}
.controles .principal{background:var(--latao);border-color:var(--latao);color:#10151f;font-weight:700}
.controles .principal:hover{background:var(--latao-claro)}
.controles button:not(.principal):hover{background:var(--esmalte2)}
.passo-atual{color:var(--latao-claro);min-height:1.6em}
.mostrador{margin:0;min-width:0}
#dial{display:block;width:100%;max-width:520px;margin:auto;height:auto}
.d-caixa{fill:var(--latao)}
.d-fundo{fill:var(--mostrador)}
.d-h{stroke:var(--esmalte);stroke-width:4}
.d-m{stroke:#7f8ea3;stroke-width:1.2}
.d-num{font:500 22px Bodoni,Georgia,serif;fill:var(--esmalte)}
.d-num.feito{fill:#7b6411}
.d-num.atual{fill:var(--seg);font-weight:800}
.d-marca{font:500 19px Bodoni,Georgia,serif;fill:var(--esmalte)}
.d-sub{font:400 12px Familjen,sans-serif;fill:var(--apoio)}
.d-ponteiro{transform-box:view-box;transform-origin:50% 50%;transition:transform .55s cubic-bezier(.3,1.5,.5,1)}
.d-ph{fill:var(--esmalte)}
.d-ps{stroke:var(--seg);stroke-width:2.5;stroke-linecap:round}
.d-eixo{fill:var(--latao);stroke:var(--esmalte);stroke-width:2}
.conversa{background:var(--mostrador);color:var(--tinta);padding:1rem;border-radius:18px;min-width:0;align-self:stretch;display:flex;flex-direction:column;max-height:560px}
.conversa h2{font-size:1.3rem;padding-bottom:.6rem;border-bottom:1px solid #c5ced9}
#mensagens{list-style:none;margin:0;padding:.7rem 0 0;overflow-y:auto;display:flex;flex-direction:column;gap:.6rem;flex:1;min-height:200px}
#mensagens li{padding:.5rem .7rem;border-radius:10px;font-size:.96rem;line-height:1.35}
.quando{display:block;font-size:.8rem;color:#44546a;margin-bottom:.15rem}
.m-env{background:#fff;border:1px solid #cfd7e0;align-self:flex-start;max-width:94%}
.m-sis{background:#dfe6ee;align-self:flex-end;max-width:94%}
.m-blq{background:#fbe9e6;border:1px dashed #a12a18;color:#7b1b0d;max-width:94%}
.m-blq .quando{color:#7b1b0d}
.vazio{color:var(--apoio);padding-top:.7rem}
.bloco{padding:clamp(2rem,5vw,4.2rem) clamp(1rem,3vw,2.5rem);border-top:1px solid var(--esmalte2)}
.bloco h2{font-size:clamp(1.8rem,3.4vw,3rem);max-width:24ch}
.sub{margin-top:.7rem;max-width:66ch}
.claro{background:var(--mostrador);color:var(--tinta);border-top:0}
.perguntas,.conta{display:grid;grid-template-columns:minmax(0,300px) minmax(0,320px);gap:.6rem 1.2rem;align-items:center;margin-top:1.5rem}
input:not([type=checkbox]),select{min-height:46px;padding:.3rem .6rem;background:#fff;color:var(--tinta);border:1px solid #7f8ea3;border-radius:2px;width:100%}
.resumo-rec{margin-top:1.3rem;color:var(--latao-claro)}
.modelos{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:1rem}
.modelos li{width:190px;padding:1rem;background:var(--esmalte2);text-align:center}
.modelos h3{font-size:1.25rem;margin-top:.5rem}
.mini{display:block;height:150px;margin:auto}
.selo{margin-top:.3rem;color:var(--latao-claro);font-size:.9rem}
.consent{display:flex;gap:.6rem;align-items:center;margin-top:1.3rem;font-weight:700;min-height:44px}
input[type=checkbox]{width:22px;height:22px;flex:none;accent-color:var(--esmalte)}
.regras{list-style:none;margin:.8rem 0 0;padding:0;max-width:820px}
.regras li{border-top:1px solid #c5ced9}
.regras label{display:grid;grid-template-columns:22px minmax(0,1fr) 9.5em 8.5em;gap:.8rem;align-items:center;padding:.55rem 0;min-height:44px}
.r-quando{color:var(--apoio)}
.r-tipo{font-size:.9rem;text-align:right}
.r-tipo.servico{color:#14505a}
.r-tipo.relacionamento{color:#7b4a00}
.resultado{margin-top:1.3rem;font-size:1.2rem;max-width:60ch}
.resultado b{color:var(--latao-claro);font-family:Bodoni,Georgia,serif;font-size:1.5em;font-weight:600}
.erro{margin-top:.6rem;color:#ffc8bc}
.duas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;margin-top:1.4rem;max-width:1000px}
.duas h3{font-size:1.4rem;margin-bottom:.5rem}
.duas p+p{margin-top:.7rem}
.rodape{padding:1.2rem clamp(1rem,3vw,2.5rem)}
.rodape a{display:inline-block;padding:.3rem .5rem .3rem 0}
@media (max-width:1100px){.ciclo{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ciclo-texto{grid-column:1/-1}.ciclo h1{max-width:20ch}}
@media (max-width:720px){.ciclo{grid-template-columns:minmax(0,1fr)}.conversa{max-height:440px}.perguntas,.conta{grid-template-columns:minmax(0,1fr)}.duas{grid-template-columns:minmax(0,1fr)}.regras label{grid-template-columns:22px minmax(0,1fr);row-gap:0}.r-quando,.r-tipo{grid-column:2;text-align:left}.modelos li{width:calc(50% - .5rem)}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
