/* BiTech v10 — geometria v9 aprovada, opção A. */
:root {
  --ink:#083f4b; --navy:#083f4b; --teal:#008c80; --teal-dark:#006c63;
  --muted:#536c71; --line:#d9e4df; --soft:#eef4f1; --paper:#fcfcf9;
  --mint:#21c5b3; --header-height:132px; --space-section:100px;
}
body,button,input,select,textarea{font-family:Arial,sans-serif}
h1,h2,h3{font-weight:700}
.site-header{background:rgba(252,252,249,.98);box-shadow:0 3px 18px #083f4b08}
.header-top{height:86px}
.brand{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.brand .brand-signature{width:205px;height:auto;max-width:100%}
.brand-descriptor{padding-left:53px;font-size:7px;letter-spacing:1.15px;line-height:1.6;font-weight:700;color:var(--muted)}
.header-contact{color:var(--navy);font-weight:700}
.header-contact span{width:34px;height:34px;display:grid;place-items:center;background:var(--soft);border-radius:50%;color:var(--teal)}
.nav-track{gap:32px}
.nav-track a,.section-nav button{font-weight:700}
.nav-track a[aria-current="location"]{color:var(--navy);border-color:var(--teal)}
.hero{padding-top:64px;background:var(--paper)}
.hero-illustration{padding-bottom:72px;align-items:center;gap:60px;grid-template-columns:1.12fr 1fr}
.hero-illustration h1{font-size:clamp(39px,4vw,57px);line-height:1.08;letter-spacing:-2px;max-width:13ch;text-wrap:initial}
.hero-illustration .lead{font-size:19px;line-height:1.65;max-width:48ch}
.hero-illustration .eyebrow{font-size:10px;letter-spacing:1.5px}
.eyebrow{font-weight:700;color:#006c63}
.primary{background:var(--teal-dark)}
.primary:hover{background:var(--navy);box-shadow:0 6px 20px #083f4b18}
.button{font-weight:700;border-radius:0 18px 18px 18px;padding:17px 23px}
.light{color:var(--navy)}
.light:hover{background:#dcebe5}
.shaped-figure{padding:0 12px 14px 0}
.shape-frame{background:#dcebe5}
.shape-curve .shape-frame,.shape-cut .shape-frame{border-radius:0 112px 112px 112px;clip-path:none}
.shape-arch .shape-frame{border-radius:0 112px 112px 0;clip-path:none}
.shaped-figure::before,.shape-cut::before,.shape-arch::before{inset:14px 0 0 14px;border-radius:0 112px 112px 112px;clip-path:none;background:#8fc5b5}
.shape-arch::before{border-radius:0 112px 112px 0;background:var(--teal)}
.personal-figure .shape-frame>img{height:490px;object-position:49% center}
.section h2{letter-spacing:-1.3px;max-width:24ch}
.section .number{width:38px;height:38px;flex-basis:38px;border-radius:0 14px 14px 14px;background:#dcebe5;color:var(--navy);display:grid;place-items:center;padding:0;margin-top:3px}
.service-number{color:var(--teal-dark)}
.service-copy strong{font-weight:700}
.service-item summary{border-radius:12px}
.service-item summary:hover,.service-item[open] summary{background:var(--soft)}
.service-item[open] .expand{background:var(--teal);color:#fff;border-color:var(--teal)}
.service-scope,.text-link{color:var(--teal-dark)}
.section-end{border-radius:0 28px 28px 28px;background:var(--soft)}
.navy .eyebrow{color:var(--mint)}
.navy .number{background:#135563;color:#b0efe5}
.navy .process-list li{border-color:#30626c}
.navy .section-lead,.navy .process-list p{color:#d4e4e5}
.statement{border-color:var(--teal);font-weight:700}
.check{background:#dcebe5;color:var(--teal-dark);border-radius:0 13px 13px 13px}
.privacy-note{border-radius:0 24px 24px 24px}
.contact-section .reading{max-width:1000px;padding:64px;background:var(--navy);border:0;border-radius:0 72px 72px 72px;color:white}
.contact-section h2{max-width:27ch}
.contact-section .eyebrow{color:var(--mint)}
.contact-section .section-lead,.contact-section .quiet{color:#d4e4e5}
.contact-section .primary{background:#fff;color:var(--navy)}
.contact-section .primary:hover{background:#c3ebe1}
.site-footer{padding-block:48px;background:var(--navy)}
.site-footer .brand-descriptor{color:#d4e4e5}
.footer-inner>p{line-height:1.65}
.contact-dialog{border-radius:0 28px 28px 28px;box-shadow:0 24px 90px #083f4b55}
.contact-dialog::backdrop{background:#083f4bb3}
.modal-brand{width:145px;height:auto;margin-bottom:20px}
.contact-dialog h2{font-weight:700;margin-top:0}
.contact-form input,.contact-form select,.contact-form textarea{border-radius:8px;background:var(--paper)}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:2px solid #008c8040;border-color:var(--teal)}
.modal-close{background:var(--soft);color:var(--navy)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--teal);outline-offset:5px}
.navy a:focus-visible,.navy button:focus-visible,.site-footer a:focus-visible,.contact-section button:focus-visible{outline-color:var(--mint)}
@media(max-width:1000px){
 .hero-illustration{gap:38px}.hero-illustration h1{font-size:44px}
 .nav-track{gap:25px}.personal-figure .shape-frame>img{height:450px}
 .section h2{font-size:36px}
}
@media(max-width:760px){
 :root{--space-section:64px;--header-height:124px}
 .header-top{height:78px}.brand .brand-signature{width:180px}
 .brand-descriptor{padding-left:46px;font-size:6px;letter-spacing:1px}
 .hero{padding-top:42px}.hero-illustration{grid-template-columns:1fr;gap:36px;padding-bottom:48px}
 .hero-illustration h1{font-size:clamp(39px,7vw,52px);max-width:16ch;letter-spacing:-1.5px}
 .hero-illustration .lead{font-size:18px}
 .personal-figure .shape-frame>img{height:auto;aspect-ratio:3/2}
 .shape-curve .shape-frame,.shape-cut .shape-frame,.shaped-figure::before,.shape-cut::before{border-radius:0 72px 72px 72px}
 .shape-arch .shape-frame,.shape-arch::before{border-radius:0 72px 72px 0}
 .section h2{font-size:32px;letter-spacing:-1px}
 .contact-section .reading{padding:36px 26px;border-radius:0 42px 42px 42px}
 .contact-section .button{text-align:left}
 .site-footer{padding-block:36px}
}
@media(max-width:380px){
 .brand .brand-signature{width:155px}.brand-descriptor{padding-left:40px;font-size:5.3px}
 .header-contact{font-size:11px;gap:6px}.header-contact span{width:24px;height:24px}
 .hero-illustration h1{font-size:37px}.button{padding:15px 17px}
}

/* Contato compacto: altura natural; rolagem apenas quando a janela/teclado exigir. */
.contact-dialog{width:min(680px,calc(100% - 32px));max-height:calc(100dvh - 32px);scrollbar-gutter:auto;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#8fc5b5 transparent}
.contact-dialog::-webkit-scrollbar{width:6px}
.contact-dialog::-webkit-scrollbar-track{background:transparent;margin-block:26px}
.contact-dialog::-webkit-scrollbar-thumb{background:#8fc5b5;border-radius:6px}
.contact-dialog .contact-form{display:grid;gap:12px;padding:24px 28px;line-height:1.4}
.contact-heading{padding-right:20px}
.contact-dialog .modal-brand{width:116px;height:auto;margin:0 0 10px}
.contact-dialog h2{font-size:26px;line-height:1.15;letter-spacing:-.7px;margin:0 0 8px;text-wrap:initial}
.contact-heading p{font-size:14px;line-height:1.4;color:var(--muted);margin:0}
.contact-fields-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-dialog .contact-form label{margin:0;font-size:13px;line-height:1.4;min-width:0}
.contact-dialog .contact-form input,.contact-dialog .contact-form select,.contact-dialog .contact-form textarea{margin-top:5px;padding:10px 12px;line-height:1.35;font-size:16px;min-height:44px}
.contact-dialog .contact-form textarea{height:64px;min-height:56px;resize:vertical}
.contact-dialog .button{min-height:46px;padding:12px 18px;font-size:14px}
.contact-dialog .contact-form .form-note{margin:0!important;font-size:11px;line-height:1.4}
.field-optional{font-weight:400;color:var(--muted);font-size:12px}
.contact-dialog .modal-close{width:36px;height:36px;top:12px;right:12px}
@media(max-width:480px){
 .contact-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px)}
 .contact-dialog .contact-form{padding:22px;gap:11px}
 .contact-fields-row{grid-template-columns:1fr;gap:11px}
 .contact-dialog h2{font-size:24px}
 .contact-heading{padding-right:0}
}
@media(max-height:700px){
 .contact-dialog .contact-form{padding:18px 22px;gap:9px}
 .contact-dialog .modal-brand{width:104px;margin-bottom:7px}
 .contact-dialog h2{font-size:23px;margin-bottom:6px}
 .contact-dialog .contact-form textarea{height:56px}
 .contact-fields-row{gap:9px}
 .contact-dialog .contact-form input,.contact-dialog .contact-form select{padding-block:8px}
}
