/* HB Software Studios. Identidade: papel claro, tinta grafite, azul royal e Manrope (fonte local, SIL OFL).
   Um só padrão de seção: rótulo com ponto azul, título à esquerda, descrição à direita, grades com linhas finas. */
@font-face{font-family:'Manrope';src:url(fonts/manrope.woff2) format('woff2');font-weight:200 800;font-style:normal;font-display:swap}

:root{
  --bg:#F5F4EF;--alt:#ECEBE5;--white:#FFFFFF;--ink:#1A1D23;--ink-2:#5B606C;--line:#D6D4CC;
  --blue:#1F4FD1;--blue-hover:#173FAD;--blue-soft:#8FB0FF;
  --dark:#1A1D23;--on-dark:#F5F4EF;--on-dark-2:#A7ABB6;--line-dark:#353943;
  --ok:#15803D;--part:#1F4FD1;--proto:#B45309;--idea:#6B7080;--error:#B42318;--focus:#1F4FD1;
  --font:'Manrope',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --gutter:clamp(20px,5vw,64px);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:88px}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1rem/1.65 var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,canvas{max-width:100%}
a{color:inherit}
button,input,select,textarea{font:inherit}
button:disabled{cursor:wait;opacity:.6}
h1,h2,h3,h4{margin:0;font-weight:500;letter-spacing:-.025em;line-height:1.1;text-wrap:balance}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
::selection{background:var(--blue);color:#fff}
:focus-visible{outline:2px solid var(--focus);outline-offset:4px}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.container{width:min(1200px,100% - 2*var(--gutter));margin-inline:auto}
.skip-link{position:absolute;left:var(--gutter);top:-80px;z-index:60;background:var(--blue);color:#fff;padding:10px 16px;border-radius:4px;font-weight:600}
.skip-link:focus{top:12px}
main:focus{outline:none}
.accent{color:var(--blue)}

/* Rótulos, botões e links */
.eyebrow{display:flex;align-items:center;gap:10px;font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--blue);flex:none}
.card-label{font-size:.78rem;font-weight:500;color:var(--blue)}
.arrow{display:inline-block;font-size:.95em;line-height:1;transition:transform .18s}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 20px;border:1px solid var(--blue);border-radius:4px;background:var(--blue);color:#fff;font-size:.92rem;font-weight:600;line-height:1.3;text-decoration:none;cursor:pointer;transition:background-color .18s,border-color .18s,color .18s}
.btn:hover{background:var(--blue-hover);border-color:var(--blue-hover)}
.btn:hover .arrow,.link-arrow:hover .arrow{transform:translate(2px,-2px)}
.btn-small{min-height:42px;padding:9px 16px;font-size:.86rem}
.btn-outline{background:transparent;border-color:var(--ink);color:var(--ink)}
.btn-outline:hover{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.link-arrow{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--blue);font-size:.9rem;font-weight:600;text-decoration:none}
.link-arrow:hover{color:var(--blue-hover);text-decoration:underline;text-underline-offset:4px}
.text-link{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px}
.fine-print{font-size:.8rem;color:var(--ink-2)}

/* Logo: HB com ponto azul quadrado + Software Studios empilhado */
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:inherit}
.brand-hb{position:relative;font-size:1.85rem;font-weight:500;letter-spacing:-.05em;line-height:1;padding-right:.26em}
.brand-dot{position:absolute;right:0;bottom:.08em;width:.2em;height:.2em;background:var(--blue)}
.brand-name{font-size:.62rem;font-weight:700;line-height:1.2;letter-spacing:.01em}
.brand-large .brand-hb{font-size:clamp(3.4rem,6vw,4.6rem)}
.brand-large .brand-name{font-size:.95rem;margin-left:6px}

/* Cabeçalho */
.site-header{position:sticky;top:0;z-index:40;background:var(--bg);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;gap:24px;min-height:64px}
.site-nav{flex:1;display:flex;align-items:center;justify-content:space-between;gap:24px}
.nav-links{flex:1;display:flex;justify-content:center;gap:clamp(12px,2.2vw,28px)}
.nav-link{font-size:.9rem;font-weight:500;text-decoration:none;color:var(--ink);padding:6px 2px;border-bottom:1px solid transparent}
.nav-link:hover,.nav-link[aria-current="page"]{border-bottom-color:var(--blue);color:var(--blue)}
.menu-toggle{display:none;margin-left:auto;min-height:40px;padding:8px 14px;border:1px solid var(--line);border-radius:4px;background:transparent;color:var(--ink);font-size:.86rem;font-weight:600;cursor:pointer}
@media (max-width:959px){
  .menu-toggle{display:inline-flex;align-items:center}
  .site-nav{position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:12px;padding:12px var(--gutter) 24px;background:var(--bg);border-bottom:1px solid var(--line)}
  .js .site-nav:not(.is-open){display:none}
  .nav-links{flex-direction:column;gap:0}
  .nav-link{padding:14px 0;border-bottom:1px solid var(--line)}
  .nav-link:hover,.nav-link[aria-current="page"]{border-bottom-color:var(--line)}
}

/* Seções: padrão único */
.section{padding-block:clamp(72px,9vw,128px);border-top:1px solid var(--line)}
.section-alt{background:var(--alt)}
.section-dark{background:var(--dark);color:var(--on-dark);border-top-color:var(--dark)}
.section-dark .eyebrow{color:var(--on-dark-2)}
.section-dark .link-arrow{color:var(--blue-soft)}
.section-head{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:end;margin-bottom:clamp(40px,5vw,64px)}
.section-head h2,.two-col h2,.split h2{margin-top:22px;font-size:clamp(2rem,3.6vw,3.2rem);letter-spacing:-.035em;line-height:1.06}
.section-head > p{color:var(--ink-2);max-width:46ch;justify-self:end;font-size:.95rem}
.section-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 32px;margin-top:40px}
.two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(40px,6vw,96px);align-items:start}
@media (max-width:859px){
  .section-head,.two-col{grid-template-columns:1fr}
  .section-head > p{justify-self:start}
}

/* Hero */
.hero{padding-top:clamp(56px,9vw,120px)}
.hero-title{margin-top:32px;font-size:clamp(2.9rem,7.6vw,7rem);font-weight:500;letter-spacing:-.045em;line-height:1.02}
.hero-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px clamp(32px,6vw,96px);align-items:end;margin-top:clamp(32px,4vw,48px)}
.hero-lead{max-width:52ch;font-size:clamp(1rem,1.3vw,1.12rem);color:var(--ink);margin-bottom:28px}
.side-note{max-width:300px;padding-left:16px;border-left:1px solid var(--ink-2);font-size:.86rem;line-height:1.55;color:var(--ink-2)}
.side-note strong{color:var(--ink);font-weight:700}
.hero-strip{display:flex;justify-content:space-between;align-items:center;margin-top:clamp(56px,8vw,104px);padding:20px 0 26px;border-top:1px solid var(--line);font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.hero-strip a{color:var(--blue);text-decoration:none;font-size:1rem;padding:4px 8px}
@media (max-width:859px){.hero-bottom{grid-template-columns:1fr}.side-note{max-width:none}}

/* Declaração */
.statement{background:var(--alt);border-top:1px solid var(--line);padding-block:clamp(64px,9vw,120px)}
.statement-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:32px clamp(32px,6vw,96px);align-items:center}
.statement-text{font-size:clamp(1.55rem,3vw,2.5rem);font-weight:500;letter-spacing:-.03em;line-height:1.25}
@media (max-width:859px){.statement-grid{grid-template-columns:1fr}}

/* Grades com linhas finas (o separador é o fundo aparecendo no gap de 1px) */
.card-grid,.legend-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border-block:1px solid var(--line);margin:0}
.card-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.card-grid-4,.legend-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid-card,.legend-grid > div{background:var(--bg);padding:clamp(24px,3vw,40px)}
.section-alt .grid-card,.section-alt .legend-grid > div{background:var(--alt)}
.grid-card{display:flex;flex-direction:column}
.grid-card .card-label{margin-bottom:18px}
.grid-card h3{font-size:clamp(1.25rem,1.8vw,1.55rem);font-weight:600;letter-spacing:-.02em;margin-bottom:10px}
.grid-card h3 a{text-decoration:none}
.grid-card h3 a:hover{color:var(--blue)}
.card-text{color:var(--ink-2);font-size:.95rem}
.card-stack{margin-top:14px;font-size:.82rem;color:var(--ink-2)}
.card-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-top:auto;padding-top:22px}
.card-meta{font-size:.8rem;color:var(--ink-2)}
.grid-card.compact{padding:clamp(20px,2.4vw,28px)}
.grid-card.compact h3{font-size:1.1rem}
.grid-card.compact .card-text{font-size:.86rem}
.legend-grid dd{margin:14px 0 0;color:var(--ink-2);font-size:.9rem}
@media (max-width:959px){.card-grid-3,.card-grid-4,.legend-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:639px){.card-grid,.card-grid-3,.card-grid-4,.legend-grid{grid-template-columns:1fr}}
.tool-row{display:grid;grid-template-columns:220px minmax(0,1fr);gap:12px 32px;margin-top:40px;padding-top:24px;border-top:1px solid var(--line);font-size:.95rem}
@media (max-width:639px){.tool-row{grid-template-columns:1fr}}

/* Estado: forma + cor */
.status{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:700;color:var(--c);white-space:nowrap}
.status::before{content:"";width:9px;height:9px;border-radius:50%;flex:none;border:1.5px solid var(--c)}
.status-noar{--c:var(--ok)}.status-noar::before{background:var(--c)}
@media (prefers-reduced-motion:no-preference){.status-noar::before{animation:live 2s ease-out infinite}}
@keyframes live{0%{box-shadow:0 0 0 0 rgba(21,128,61,.45)}70%,100%{box-shadow:0 0 0 7px rgba(21,128,61,0)}}
.status-funcional{--c:var(--ok)}.status-funcional::before{background:var(--c)}
.status-parcial{--c:var(--part)}.status-parcial::before{background:linear-gradient(90deg,var(--c) 50%,transparent 50%)}
.status-prototipo{--c:var(--proto)}
.status-conceito{--c:var(--idea)}.status-conceito::before{border-style:dotted}

.cover-mark{width:9px;height:9px;background:var(--blue)}

/* Demonstração */
.demo-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.2fr);gap:clamp(32px,6vw,88px);align-items:center}
.demo h2{margin:22px 0 20px;font-size:clamp(1.9rem,3.2vw,2.9rem);letter-spacing:-.035em;line-height:1.06}
.demo p{color:var(--on-dark-2);max-width:48ch;margin-bottom:24px}
.demo-stage{margin:0}
.city{display:block;width:100%;aspect-ratio:1/.78;touch-action:pan-y}
.demo-stage figcaption{margin-top:10px;font-size:.8rem;color:var(--on-dark-2)}
@media (max-width:859px){.demo-grid{grid-template-columns:1fr}}

/* Trabalhos em destaque */
.feature-list{display:grid;gap:28px}
.feature-row{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.feature-panel{display:flex;flex-direction:column;align-items:flex-start;gap:12px;background:var(--alt);padding:clamp(28px,3.4vw,48px)}
.feature-panel h3{font-size:clamp(1.8rem,2.8vw,2.5rem);letter-spacing:-.035em;margin-top:6px}
.feature-panel h3 a{text-decoration:none}
.feature-panel h3 a:hover{color:var(--blue)}
.feature-kind{font-size:.88rem;color:var(--ink-2)}
.feature-summary{color:var(--ink-2);font-size:.95rem;margin-top:4px}
.feature-panel .fact-list{align-self:stretch;margin-top:6px}

@media (max-width:859px){.feature-row{grid-template-columns:1fr}}
.fact-list li{position:relative;padding:11px 0 11px 20px;border-top:1px solid var(--line);font-size:.9rem}
.fact-list li::before{content:"";position:absolute;left:0;top:1.3em;width:7px;height:7px;background:var(--blue)}

/* Como funciona */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);grid-template-rows:auto 1fr;gap:0 clamp(40px,6vw,96px);align-items:start}
.split > .eyebrow,.split > h2{grid-column:1}
.split > .step-list{grid-column:2;grid-row:1/span 2}
.section-dark h2{color:var(--on-dark)}
.step-list li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;padding:22px 0;border-top:1px solid var(--line-dark)}
.step-list li:last-child{border-bottom:1px solid var(--line-dark)}
.step-number{font-size:.78rem;color:var(--on-dark-2);padding-top:4px}
.step-list h3{font-size:1.08rem;font-weight:600;letter-spacing:-.01em;margin-bottom:6px}
.step-list p{font-size:.88rem;color:var(--on-dark-2);max-width:52ch}
@media (max-width:859px){.split{grid-template-columns:1fr}.split > .step-list{grid-column:1;grid-row:auto;margin-top:40px}}

/* Estúdio e blocos com régua */
.studio-body > p{font-size:1.05rem;max-width:54ch}
.rule-block{margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}
.rule-block h2,.rule-block h3{font-size:1rem;font-weight:700;letter-spacing:0;margin-bottom:8px}
.rule-block p{font-size:.9rem;color:var(--ink-2)}

/* Perguntas */
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list details:first-child{border-top:1px solid var(--line)}
.faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 0;font-weight:600;cursor:pointer;list-style:none}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";color:var(--blue);font-size:1.4rem;font-weight:400;line-height:1;transition:transform .18s}
.faq-list details[open] summary::after{transform:rotate(45deg)}
.faq-list details p{padding:0 0 24px;color:var(--ink-2);max-width:62ch;font-size:.95rem}

/* Fechamento */
.closing{padding-block:clamp(80px,10vw,140px);border-top:1px solid var(--line)}
.closing h2{margin:26px 0 22px;max-width:16ch;font-size:clamp(2.5rem,5.6vw,4.8rem);letter-spacing:-.045em;line-height:1.04}
.closing p{max-width:52ch;color:var(--ink-2);margin-bottom:32px}

/* Rodapé */
.site-footer{background:var(--dark);color:var(--on-dark);padding-block:72px 32px}
.footer-top{display:grid;grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));gap:40px}
.footer-brand p{margin-top:24px;font-size:.88rem;color:var(--on-dark-2)}
.footer-col a{display:block;padding:5px 0;font-size:.88rem;text-decoration:none}
.footer-col a:hover{color:var(--blue-soft)}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-top:64px;padding-top:24px;border-top:1px solid var(--line-dark);font-size:.78rem;color:var(--on-dark-2)}
@media (max-width:859px){.footer-top{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}

/* Páginas internas */
.page-hero{padding-block:clamp(40px,6vw,88px) clamp(48px,6vw,88px)}
.page-hero h1{margin-top:28px;max-width:22ch;font-size:clamp(2.5rem,5.4vw,4.9rem);font-weight:500;letter-spacing:-.045em;line-height:1.04}
.page-hero > .container > .hero-lead{margin-top:28px;margin-bottom:0}
.breadcrumb{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:40px;font-size:.8rem;color:var(--ink-2)}
.breadcrumb a{text-decoration:none}
.breadcrumb a:hover{color:var(--blue);text-decoration:underline}
.breadcrumb [aria-current]{color:var(--ink);font-weight:600}
.notfound{padding-block:clamp(80px,12vw,160px)}
.notfound .hero-lead{margin-top:28px}

/* Área: provas */
.page-promise{margin-top:20px;max-width:30ch;font-size:clamp(1.5rem,2.6vw,2.3rem);font-weight:500;letter-spacing:-.03em;line-height:1.2;color:var(--blue)}
.proof-list{display:grid;border-block:1px solid var(--line)}
.proof-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:16px clamp(24px,5vw,72px);padding-block:32px;border-top:1px solid var(--line)}
.proof-row:first-child{border-top:0}
.proof-row h3{font-size:clamp(1.5rem,2.4vw,2rem);letter-spacing:-.03em;margin-bottom:6px}
.proof-row h3 a{text-decoration:none}
.proof-row h3 a:hover{color:var(--blue)}
.proof-row .feature-kind{margin-bottom:12px}
.proof-text{margin-bottom:8px;color:var(--ink);max-width:60ch}
@media (max-width:759px){.proof-row{grid-template-columns:1fr}}

/* Catálogo */
.catalog{border-top:0;padding-top:0}
.filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding-block:24px;border-block:1px solid var(--line)}
.filter-bar [role="group"]{display:flex;flex-wrap:wrap;gap:8px}
.filter-bar button{min-height:38px;padding:8px 14px;border:1px solid var(--line);border-radius:4px;background:transparent;color:var(--ink);font-size:.84rem;font-weight:600;cursor:pointer}
.filter-bar button:hover{border-color:var(--ink)}
.filter-bar button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.filter-status{min-height:1.6em;margin:16px 0 24px;font-size:.84rem;color:var(--ink-2)}
.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:0 clamp(24px,3vw,40px)}
.project-card{display:flex;flex-direction:column;padding:28px 0 32px;border-top:1px solid var(--line)}
.project-card .card-label{margin-bottom:14px}
.project-card h3{font-size:1.45rem;font-weight:600;letter-spacing:-.02em;margin-bottom:4px}
.project-card h3 a{text-decoration:none}
.project-card h3 a:hover{color:var(--blue)}
.card-kind{font-size:.88rem;color:var(--ink-2);margin-bottom:14px}
.project-card .card-text{flex:1;font-size:.92rem}
.card-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 16px;margin-top:18px}
/* Estudo de projeto */
.meta-grid{display:flex;flex-wrap:wrap;margin:44px 0 0;border-block:1px solid var(--line)}
.meta-grid > div{padding:18px 32px 18px 0}
.meta-grid > div + div{padding-left:32px;border-left:1px solid var(--line)}
.meta-grid dt{font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.meta-grid dd{margin:8px 0 0;font-weight:600;font-size:.95rem}
.meta-grid dd a{text-decoration:underline;text-underline-offset:3px}
.meta-grid dd a:hover{color:var(--blue)}
@media (max-width:639px){.meta-grid{display:block}.meta-grid > div + div{padding-left:0;border-left:0;border-top:1px solid var(--line)}}
.two-col .fact-list{margin-top:32px}
.row-list .row-item{padding:22px 0;border-top:1px solid var(--line)}
.row-list .row-item:last-child{border-bottom:1px solid var(--line)}
.row-item h3{font-size:1.12rem;font-weight:600;letter-spacing:-.01em;margin-bottom:6px}
.row-item p{color:var(--ink-2);font-size:.95rem}
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:.92rem}
th{padding:0 16px 12px 0;border-bottom:1px solid var(--ink);text-align:left;font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
td{padding:16px 16px 16px 0;border-bottom:1px solid var(--line);vertical-align:top}
td:first-child{font-weight:600}
.limits-text{padding-left:24px;border-left:2px solid var(--blue);font-size:1.08rem;line-height:1.7}
.next-project{display:flex;flex-direction:column;gap:6px;margin-block:8px clamp(64px,8vw,112px);padding-top:32px;border-top:1px solid var(--line);text-decoration:none}
.next-name{display:inline-flex;align-items:center;gap:16px;font-size:clamp(2rem,4.4vw,3.6rem);font-weight:500;letter-spacing:-.04em;line-height:1.1}
.next-name .arrow{color:var(--blue)}
.next-project:hover .next-name{color:var(--blue)}
.next-project:hover .arrow{transform:translate(4px,-4px)}

/* Contato */
.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.8fr);gap:clamp(40px,6vw,96px);padding-bottom:clamp(72px,9vw,128px)}
.contact-aside .rule-block:first-child{margin-top:0}
.direct-list{display:grid;gap:1px;margin-top:14px;background:var(--line);border-top:1px solid var(--line)}
.direct-list a{display:flex;flex-direction:column;gap:2px;padding:14px 0;background:var(--bg);text-decoration:none}
.direct-list small{font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.direct-list span{font-weight:600;color:var(--blue);overflow-wrap:anywhere}
.direct-list a:hover span{text-decoration:underline;text-underline-offset:3px}
fieldset{border:0;margin:0;padding:0;min-width:0}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.field-full{grid-column:1/-1}
.field label{display:block;margin-bottom:8px;font-size:.86rem;font-weight:600}
.optional{font-weight:400;color:var(--ink-2)}
input,select,textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:4px;background:var(--white);color:var(--ink);font-size:.95rem}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--blue);outline-offset:0;border-color:var(--blue)}
textarea{resize:vertical;min-height:160px}
[aria-invalid="true"]{border-color:var(--error)}
.field-hint{margin-top:6px;font-size:.8rem;color:var(--ink-2)}
.field-error{margin-top:6px;font-size:.82rem;color:var(--error)}
.field-error:empty{display:none}
.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.consent{display:flex;align-items:flex-start;gap:12px;margin-top:24px;font-size:.9rem}
.consent input{width:18px;height:18px;flex:none;margin-top:3px;accent-color:var(--blue)}
.form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:28px}
.form-status{margin-top:18px;padding:14px 18px;border-left:2px solid var(--blue);background:var(--alt);font-size:.9rem;font-weight:600}
.form-status:empty{display:none}
@media (max-width:859px){.contact-layout{grid-template-columns:1fr}}
@media (max-width:559px){.form-grid{grid-template-columns:1fr}.form-actions .btn{width:100%}}

/* Texto longo */
.prose{max-width:70ch;padding-bottom:clamp(72px,9vw,128px)}
.prose h2{margin:2.2em 0 .6em;font-size:1.45rem;letter-spacing:-.02em}
.prose p{margin-bottom:1em;color:var(--ink-2)}
.prose a{color:var(--blue)}

/* Cenas animadas (scenes.js) */
.scene-box{position:relative;aspect-ratio:16/9;background:var(--dark);border-radius:2px;overflow:hidden;cursor:crosshair}
.scene{display:block;width:100%;height:100%;touch-action:pan-y}
.scene-hint{position:absolute;right:10px;bottom:10px;padding:4px 8px;border-radius:3px;background:rgba(26,29,35,.78);color:var(--on-dark-2);font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;pointer-events:none;transition:opacity .2s}
.scene-box:hover .scene-hint{opacity:0}
@media (prefers-reduced-motion:no-preference){.scene-hint{animation:hint-out .6s 4s forwards}}
@keyframes hint-out{to{opacity:0;visibility:hidden}}
.hint-touch{display:none}
@media (hover:none){.hint-mouse{display:none}.hint-touch{display:inline}}
.scene-wide{aspect-ratio:auto;width:100%;height:clamp(240px,34vw,460px);margin-top:clamp(40px,5vw,64px)}
.area-card .scene-box{margin-bottom:24px}
.project-card .scene-box{aspect-ratio:16/10;margin-bottom:20px}
.feature-visual{display:flex;flex-direction:column;background:var(--dark)}
.scene-fill{flex:1;aspect-ratio:auto;width:100%;height:auto;min-height:clamp(260px,30vw,420px);border-radius:0}
.feature-stack{display:flex;flex-wrap:wrap;gap:6px;padding:16px 20px;border-top:1px solid var(--line-dark)}
.feature-stack span{padding:4px 10px;border:1px solid var(--line-dark);border-radius:999px;color:var(--on-dark-2);font-size:.76rem;font-weight:600}
.proof-row{grid-template-columns:minmax(0,360px) minmax(0,1fr);align-items:center}
.proof-row .scene-box{aspect-ratio:16/10}
.proof-row .actions{margin-top:4px}
@media (max-width:759px){.proof-row{grid-template-columns:1fr}}

/* Link para sistemas no ar */
.btn-live{background:var(--ok);border-color:var(--ok)}
.btn-live:hover{background:#0F6A34;border-color:#0F6A34}
.btn-live::before,.link-live::before{content:"";width:8px;height:8px;border-radius:50%;background:#fff;flex:none}
.link-live{color:var(--ok)}
.link-live::before{background:var(--ok)}
.link-live:hover{color:#0F6A34}
@media (prefers-reduced-motion:no-preference){.btn-live::before,.link-live::before{animation:live 2s ease-out infinite}}
.hero-actions{margin-top:24px}
.card-links{display:flex;flex-wrap:wrap;gap:0 18px}

/* Próximos passos */
.next-list{counter-reset:next;border-bottom:1px solid var(--line)}
.next-list li{counter-increment:next;display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;padding:20px 0;border-top:1px solid var(--line);font-size:1.02rem}
.next-list li::before{content:counter(next,decimal-leading-zero);color:var(--blue);font-size:.8rem;font-weight:700;padding-top:3px}