/* Abertura com retrato, mensagem e primeiro contato na mesma composição. */
.header { border-bottom:0; height:112px; padding-inline:5.2%; }
.header-cta { border-radius:7px; border-color:#dccdb5a6; min-height:53px; padding:13px 25px; }
.desktop-nav { gap:26px; }
#inicio { height:auto; background:#07121a; }
#inicio .cinema-stage {
  position:relative; height:auto; min-height:max(900px,100svh); overflow:hidden;
  display:grid; grid-template-columns:1.13fr 1fr; gap:5%; align-items:end;
  padding:174px 5.2% 110px;
}

#inicio .cinema-photo {
  inset:0; width:100%; height:100%; z-index:-4;
  transform:translate3d(0,var(--photo-y),0) scale(var(--photo-scale));
  transform-origin:35% 38%;
}
#inicio .cinema-photo picture { display:block; width:100%; height:100%; }
#inicio .cinema-photo img { width:100%; height:100%; object-fit:cover; object-position:50% 50%; filter:saturate(.78); }
#inicio .cinema-shade {
  background:linear-gradient(90deg,#07121a12 0%,#07121a00 34%,#07121aa8 58%,#07121ae3 72%,#07121af5 100%),linear-gradient(0deg,#050b10 1%,#050b10ec 12%,#050b10c4 29%,#07121a00 61%);
}
#inicio .cinema-opening {
  position:relative; inset:auto; width:auto; opacity:1; transform:none;
  display:flex; flex-direction:column; justify-content:flex-end; min-height:610px;
}
#inicio .eyebrow { font-size:12px; letter-spacing:1.15px; color:#e3d4b9; gap:10px; }
.portrait-dot { width:9px; height:9px; flex-shrink:0; border-radius:50%; background:#e6c99a; box-shadow:0 0 0 5px #e6c99a22; }
#inicio h1 { font-family:Georgia,'Times New Roman',serif; font-size:clamp(46px,4.25vw,76px); line-height:1.13; letter-spacing:-2.2px; margin-top:19px; font-weight:400; }
#inicio .hero-emphasis { color:#e4cba6; white-space:nowrap; }
#inicio .hero-emphasis em { font:inherit; }
#inicio .hero-action { margin-top:21px; }
#inicio .hero-action p { color:#d3d4d2; font-size:16px; line-height:1.8; max-width:470px; }
.hero-credentials { display:grid; grid-template-columns:.9fr .95fr 1.35fr; gap:0; margin-top:42px; }
.hero-credentials>div { display:flex; align-items:center; gap:13px; min-width:0; border-left:1px solid #dac9a83b; padding:2px 19px; }
.hero-credentials>div:first-child { border:0; padding-left:0; }
.hero-credentials strong { display:block; flex:0 0 auto; color:#e7d0af; font-weight:500; font-size:29px; line-height:1.05; letter-spacing:-1px; }
.hero-credentials span { display:block; color:#c5c9ca; font-size:12px; line-height:1.4; margin:0; }
.hero-credentials>div:last-child strong { font-size:16px; letter-spacing:-.5px; line-height:1.2; padding:0; white-space:nowrap; }
#inicio .cinema-bottom { bottom:32px; left:5.2%; right:5.2%; }
#inicio .cinema-scroll { font-size:11px; letter-spacing:1.1px; }
#inicio .motion-toggle { font-size:11px; }

/* O painel cresce com a validação e a revisão, sem recortar os campos. */
#diagnostico.hero-consultation {
  position:relative; inset:auto; align-self:end; min-width:0; padding:34px;
  color:#f2f0e9; border:1px solid #c5c8c66b; border-radius:12px;
  background:linear-gradient(145deg,#25313bc7,#0d141cdb);
  box-shadow:0 24px 60px #0002; backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  scroll-margin-top:24px; color-scheme:dark;
}
.hero-consultation .form-kicker { color:#dfd3c0; font-size:11px; letter-spacing:1.25px; line-height:1.5; }
.hero-consultation .form-title { color:#f6f2eb; font:400 clamp(29px,2.75vw,44px)/1.12 Georgia,'Times New Roman',serif; letter-spacing:-1.1px; margin-top:11px; }
.hero-consultation .form-caption { color:#c5cbce; font-size:15px; line-height:1.65; margin-top:13px; max-width:350px; }
.hero-consultation .form-grid { grid-template-columns:1fr 1fr; gap:19px 16px; margin-top:28px; }
.hero-consultation .field label { font-size:14px; font-weight:400; color:#dadddd; margin-bottom:9px; }
.hero-consultation .field label>span { color:#e3c69e; }
.hero-consultation .field input,.hero-consultation .field select,.hero-consultation .field textarea {
  min-height:55px; padding:13px 14px; border:1px solid #ffffff20; border-radius:7px;
  background:#ffffff06; color:#f0efeb; font-size:16px; line-height:1.5; outline-offset:3px;
}
.hero-consultation .field input::placeholder,.hero-consultation .field textarea::placeholder { color:#a6adb2; font-size:14px; }
.hero-consultation .field select { padding-right:23px; font-size:14px; }
.hero-consultation .field select option { background:#17232d; color:#f0efeb; }
.hero-consultation .field input:focus,.hero-consultation .field select:focus,.hero-consultation .field textarea:focus { border-color:#e3c69e; outline:2px solid #e3c69e55; }
.hero-consultation .field-error { color:#ffbdb0; font-size:12px; }
.hero-consultation [aria-invalid=true] { border-color:#ffbdb0!important; }
.hero-consultation .context-details { border:0; }
.hero-consultation .context-details summary { display:flex; align-items:center; gap:6px; padding:0; color:#cbd0d2; font-size:13px; font-weight:400; }
.hero-consultation .context-details summary span { width:auto; height:auto; font-size:12px; color:#adb8be; }
.hero-consultation .context-details summary span::before,.hero-consultation .context-details summary span::after { display:none; }
.hero-consultation .context-details summary span:last-child { margin-left:auto; font-size:20px; }
.hero-consultation .context-details[open] summary { margin-bottom:18px; color:#ead7b9; }
.hero-consultation .context-details[open] summary span:last-child { transform:rotate(45deg); }
.hero-consultation .context-details .field label { font-size:13px; }
.hero-consultation .field small { color:#b9c2c8; font-size:12px; }
.hero-consultation .consent { margin-top:22px; gap:10px; }
.hero-consultation .consent input { accent-color:#dfbd8a; width:17px; height:17px; }
.hero-consultation .consent label { color:#bbc4ca; font-size:12px; line-height:1.7; }
.hero-consultation .consent .inline-button { color:#e4d3b8; }
.hero-consultation .form-submit,.hero-consultation .request-review>.button {
  background:linear-gradient(180deg,#efd8b6,#c9a06b); color:#28231c; border:1px solid #eed8b7;
  border-radius:7px; font-size:16px; min-height:62px; margin-top:25px; padding:17px 22px;
  justify-content:space-between; box-shadow:0 3px 0 #0001;
}
.hero-consultation .form-submit:hover,.hero-consultation .request-review>.button:hover { background:linear-gradient(180deg,#f7e2c4,#dcba87); }
.hero-consultation .form-disclaimer { color:#bdc5ca; font-size:12px; line-height:1.6; margin-top:15px; }
.hero-consultation .request-review .eyebrow { font-size:11px; }
.hero-consultation .request-review h3 { font:400 36px/1.13 Georgia,serif; color:#f6f2eb; }
.hero-consultation .request-review>p:not(.eyebrow) { color:#c5cbce; }
.hero-consultation .request-review dl { background:#ffffff06; border:1px solid #ffffff1a; border-radius:6px; }
.hero-consultation .request-review dt { color:#e2c89f; font-size:12px; }
.hero-consultation .request-review dd { color:#e6e8e6; }
.hero-consultation .request-review .review-fallback { border-color:#ffffff26; }
.hero-consultation .request-review .edit-request { color:#e4d3b8; }
.contact .contact-faq { margin-top:0; }
.contact-return { margin-top:30px; }
.contact-return .button-arrow { background:#ffffff15; }
.motion-ready .hero-credentials { animation-delay:.7s; }
.motion-ready .hero-consultation { animation-delay:.3s; }
.motion-paused #inicio .cinema-photo { transform:none; }

@media(min-width:1600px) {
  #inicio .cinema-stage { padding-top:205px; padding-bottom:125px; gap:6%; }
  #inicio .cinema-opening { min-height:700px; }
  #diagnostico.hero-consultation { padding:45px; }
  .hero-consultation .field input,.hero-consultation .field select { min-height:63px; }
  .hero-consultation .form-grid { gap:24px 20px; margin-top:34px; }
  .hero-consultation .form-submit { min-height:70px; }
  #inicio .hero-action p { font-size:18px; }
}
@media(min-width:901px) and (max-width:1100px) {
  #inicio .cinema-stage { grid-template-columns:1fr 1fr; gap:4%; padding-inline:4%; min-height:870px; }
  #inicio h1 { font-size:43px; letter-spacing:-1.7px; }
  #diagnostico.hero-consultation { padding:28px; }
  .hero-consultation .form-title { font-size:31px; }
  .hero-credentials { gap:0; }
  .hero-credentials>div { gap:9px; padding-inline:12px; }
  .hero-credentials strong { font-size:25px; }
  .hero-credentials>div:last-child strong { font-size:14px; }
  .hero-credentials span { font-size:12px; }
  .header { padding-inline:4%; }
  .desktop-nav { gap:15px; font-size:12px; }
  .header-cta { font-size:12px; padding:12px 18px; }
}
@media(max-width:900px) {
  #inicio .cinema-stage { display:flex; flex-direction:column; gap:38px; padding:0 6% 90px; min-height:0; }
  #inicio .cinema-photo { top:0; left:-8%; width:110%; height:790px; }
  #inicio .cinema-photo img { object-position:50% 43%; }
  #inicio .cinema-shade { background:linear-gradient(180deg,#07121a08 0px,#07121a00 300px,#07121a99 455px,#07121af3 640px,#07121a 770px); }
  #inicio .cinema-opening { width:100%; min-height:790px; padding:485px 0 0; }
  #inicio h1 { font-size:clamp(42px,7.5vw,65px); letter-spacing:-1.7px; margin-top:16px; }
  #inicio .eyebrow { font-size:11px; letter-spacing:1px; }
  #inicio .hero-action { margin-top:17px; }
  #inicio .hero-action p { max-width:500px; font-size:16px; }
  .hero-credentials { max-width:530px; margin-top:28px; }
  #diagnostico.hero-consultation { align-self:stretch; width:100%; padding:30px; }
  .hero-consultation .form-title { font-size:38px; max-width:430px; }
  .hero-consultation .form-caption { max-width:none; }
  #inicio .cinema-bottom { bottom:24px; left:6%; right:6%; gap:15px; }
  #inicio .cinema-scroll { font-size:10px; letter-spacing:.6px; gap:10px; }
  #inicio .cinema-scroll>span { width:34px; height:34px; font-size:18px; }
  #inicio .motion-toggle .motion-label { display:none; }
  #inicio .motion-toggle { padding:9px 13px; }
}
@media(min-width:761px) and (max-width:900px) {
  .header .desktop-nav,.header .header-cta { display:none; }
  .menu-toggle { display:grid; gap:6px; place-content:center; width:46px; height:46px; background:transparent; border:1px solid #c6aa7366; border-radius:50%; color:var(--ivory); }
  .menu-toggle span { display:block; width:19px; height:1px; background:currentColor; transition:transform .2s; }
  .menu-toggle[aria-expanded=true] span:first-child { transform:translateY(3.5px) rotate(45deg); }
  .menu-toggle[aria-expanded=true] span:last-child { transform:translateY(-3.5px) rotate(-45deg); }
  .mobile-nav { position:absolute; top:111px; left:0; right:0; padding:12px 5.2% 24px; background:var(--navy); display:grid; border-bottom:1px solid #c6aa7366; }
  .mobile-nav a { padding:13px 0; border-bottom:1px solid #ffffff12; font-size:14px; }
}
@media(max-width:760px) {
  .header { height:90px; padding-inline:6%; }
  .mobile-nav { top:89px; }
  #inicio .cinema-photo { left:-8%; width:116%; height:720px; }
  #inicio .cinema-photo img { object-position:50% 42%; }
  #inicio .cinema-opening { min-height:740px; padding-top:450px; }
  #inicio .hero-action p { max-width:none; }
  .hero-credentials { gap:0; grid-template-columns:1fr; max-width:330px; }
  .hero-credentials>div { min-height:54px; gap:14px; padding:10px 0; border-left:0; border-top:1px solid #dac9a83b; }
  .hero-credentials>div:first-child { padding-top:0; }
  .hero-credentials strong { font-size:26px; }
  .hero-credentials>div:last-child strong { font-size:14px; line-height:1.5; white-space:normal; padding-top:0; }
  .hero-credentials span { font-size:12px; }
  #diagnostico.hero-consultation { padding:27px 23px; }
  .hero-consultation .form-title { font-size:34px; }
  .hero-consultation .form-grid { grid-template-columns:1fr; gap:19px; }
  .hero-consultation .field-wide { grid-column:auto; }
  .hero-consultation .field select { font-size:16px; }
  .hero-consultation .consent label { font-size:12px; }
  .contact .contact-faq { margin-top:0; }
}
@media(max-width:370px) {
  #inicio h1 { font-size:37px; letter-spacing:-1.6px; }
  #inicio .eyebrow { font-size:10px; letter-spacing:.5px; }
  #inicio .cinema-opening { padding-top:390px; min-height:700px; }
  #inicio .cinema-photo { height:650px; }
  .hero-credentials { gap:0; }
  .hero-credentials>div { padding-inline:0; }
  .hero-credentials strong { font-size:24px; }
  .hero-credentials>div:last-child strong { font-size:13px; }
  #diagnostico.hero-consultation { padding:25px 19px; }
  .hero-consultation .form-title { font-size:30px; }
}
@media(prefers-reduced-motion:reduce) {
  #inicio .cinema-photo { transform:none; }
  #inicio .entrance,#inicio .line-window>span { animation:none; }
}

/* Diagnóstico compacto, com o ritmo editorial da abertura. */
.hero-consultation .form-kicker { display:flex; align-items:center; gap:13px; }
.hero-consultation .form-kicker::before { content:''; width:28px; height:1px; background:#dfbd8a; flex:0 0 auto; }
.hero-consultation .form-security { display:flex; align-items:center; gap:9px; margin-top:13px; color:#9da8af; font-size:10px; line-height:1.5; }
.hero-consultation .form-security span { color:#dbbd86; font-size:11px; }
@media(min-width:901px) {
  #diagnostico.hero-consultation { width:min(100%,460px); justify-self:end; padding:28px; }
  .hero-consultation .form-title { font-size:34px; }
  .hero-consultation .form-caption { margin-top:10px; }
  .hero-consultation .form-grid { gap:16px 14px; margin-top:22px; }
  .hero-consultation .field input,.hero-consultation .field select { min-height:51px; }
  .hero-consultation .consent { margin-top:19px; }
  .hero-consultation .form-submit { min-height:57px; margin-top:20px; }
}

/* O retrato original permanece nítido; o fundo da página completa a composição. */
#inicio .cinema-photo{background:radial-gradient(circle at 28% 34%,#28313c 0%,#151e28 27%,#0a151e 55%,#07121a 78%)}
#inicio .cinema-photo .hero-photo-original{position:absolute;inset:112px auto 0 0;width:66%;height:calc(100% - 112px);overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 82%,transparent 100%);mask-image:linear-gradient(90deg,#000 0%,#000 82%,transparent 100%)}
#inicio .cinema-photo .hero-photo-original img{width:100%;height:100%;object-fit:cover;object-position:50% 0%;filter:none;transform:none;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 72px,#000 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 72px,#000 100%)}
#inicio .cinema-shade{background:linear-gradient(90deg,#07121a05 0%,#07121a00 39%,#07121a8c 60%,#07121ade 75%,#07121af3 100%),linear-gradient(0deg,#050b10d9 0%,#050b1080 17%,#050b1038 30%,#07121a00 45%)}
@media(max-width:900px){#inicio .cinema-photo .hero-photo-original{inset:0;width:100%;height:100%;-webkit-mask-image:none;mask-image:none}#inicio .cinema-photo .hero-photo-original img{object-fit:cover;object-position:50% 42%;filter:none;transform:translateY(18px);-webkit-mask-image:none;mask-image:none}}
