@charset "UTF-8";
:root {
  color-scheme:dark;
  --bg:var(--almiva-bg);
  --text:var(--almiva-text);
  --muted:var(--almiva-muted);
  --line:rgba(161,180,218,.15);
  --blue:var(--almiva-blue);
  --max:1200px;
}

* {
  box-sizing:border-box;
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:100px;
}

body {
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--almiva-font);
  -webkit-font-smoothing:antialiased;
}

a {
  color:inherit;
  text-decoration:none;
}

button {
  font:inherit;
}

a,button {
  -webkit-tap-highlight-color:transparent;
}

button,a {
  touch-action:manipulation;
}

img,svg {
  display:block;
}

::selection {
  background:#2563eb;
  color:white;
}

:focus-visible {
  outline:3px solid #8ab5ff;
  outline-offset:6px;
}

.container {
  width:min(var(--max),calc(100% - 112px));
  margin-inline:auto;
}

.header {
  position:relative;
  z-index:10;
  border-bottom:1px solid var(--line);
  background:var(--bg);
}

.header-inner {
  height:100px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
}

.brand {
  display:inline-flex;
  align-items:center;
  gap:10px;
  white-space:nowrap;
  font-size:24px;
  font-weight:550;
  letter-spacing:-1px;
}

.brand img {
  object-fit:contain;
  width:45px;
  height:45px;
}

.brand-dot {
  color:#4c84ff;
}

nav {
  display:flex;
  align-items:center;
  gap:34px;
}

nav>a {
  font-size:13px;
  color:#b9c2d1;
  transition:color .2s;
}

nav>a:hover {
  color:#fff;
}

.button {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  gap:29px;
  min-height:54px;
  padding:0 25px;
  border-radius:6px;
  background:linear-gradient(115deg,var(--almiva-violet),var(--almiva-blue));
  color:#fff;
  font-size:14px;
  font-weight:550;
  transition:background .2s,transform .2s,box-shadow .2s;
}

.button:hover {
  background:linear-gradient(115deg,#6d28d9,#1d4ed8);
  transform:translateY(-2px);
  box-shadow:0 8px 30px #1257d928;
}

.button>span {
  font-size:21px;
  font-weight:400;
}

.button-small {
  min-height:43px;
  padding-inline:18px;
  font-size:12px;
  gap:22px;
}

.menu-toggle {
  display:none;
}

.skip-link {
  position:fixed;
  top:12px;
  left:12px;
  transform:translateY(-200%);
  background:white;
  color:#0a0f1a;
  padding:14px;
  z-index:100;
}

.skip-link:focus {
  transform:none;
}

.hero {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border-bottom:1px solid var(--line);
}

.hero-glow {
  position:absolute;
  z-index:-1;
  width:900px;
  height:900px;
  right:-170px;
  top:-50px;
  background:radial-gradient(ellipse,#7c3aed12,transparent 55%),radial-gradient(ellipse,#2563eb22,transparent 68%);
  pointer-events:none;
}

.hero-main {
  min-height:666px;
  display:grid;
  grid-template-columns:1.15fr 1fr;
  align-items:center;
  position:relative;
}

.hero-copy {
  padding-block:69px 62px;
  position:relative;
  z-index:2;
}

.eyebrow {
  font-size:10px;
  line-height:1.6;
  font-weight:600;
  letter-spacing:2px;
  color:#a5b3c9;
  margin:0 0 26px;
  display:flex;
  align-items:center;
  gap:10px;
}

.blue-dash {
  display:inline-block;
  width:21px;
  height:2px;
  background:#528bff;
}

h1 {
  font-size:clamp(56px,6.3vw,88px);
  font-weight:500;
  line-height:1.045;
  letter-spacing:-5px;
  margin:0 0 29px;
}

h1>span {
  color:#6192ff;
}

.hero-description {
  font-size:16px;
  line-height:1.85;
  color:#aab5c7;
  max-width:450px;
  margin:0;
}

.hero-actions {
  display:flex;
  align-items:center;
  gap:27px;
  margin-top:34px;
}

.text-link {
  display:inline-flex;
  align-items:center;
  gap:14px;
  font-size:12px;
  color:#c9d0dd;
}

.text-link:hover {
  color:#77a2ff;
}

.hero-art {
  position:relative;
  display:flex;
  justify-content:center;
  align-items:center;
  height:520px;
  margin-right:-40px;
}

.hero-symbol {
  width:440px;
  height:440px;
  position:relative;
  z-index:1;
  filter:drop-shadow(0 28px 48px #0008);
  transform:rotate(-6deg);
  animation:arrive 1.3s ease-out both;
}

.orbit {
  width:440px;
  height:440px;
  border:1px solid #6682b817;
  position:absolute;
  border-radius:50%;
  transform:rotate(-27deg) scaleY(.67);
}

.orbit-two {
  width:550px;
  height:550px;
  transform:rotate(34deg) scaleY(.62);
  border-color:#6682b810;
}

.hero-art:after {
  content:"";
  position:absolute;
  bottom:60px;
  width:230px;
  height:20px;
  background:#0d42eb;
  filter:blur(45px);
  opacity:.28;
}

.art-label {
  position:absolute;
  bottom:17px;
  font-size:8px;
  color:#7f94b5;
  letter-spacing:1.5px;
  display:flex;
  align-items:center;
  gap:17px;
}

.tiny-cross {
  font-size:21px;
  color:#4e6c9a;
}

.hero-bottom {
  padding-block:25px 28px;
  border-top:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:11px;
  line-height:1.7;
  color:#8390a6;
}

.hero-bottom strong {
  font-weight:400;
  color:#bbc5d5;
}

.hero-bottom a {
  display:flex;
  align-items:center;
  gap:17px;
  font-size:9px;
  letter-spacing:2px;
}

.scroll-line {
  width:50px;
  height:1px;
  background:#50627e;
}

.section {
  padding-block:82px;
  scroll-margin-top:20px;
}

h2 {
  font-size:clamp(35px,3.7vw,49px);
  font-weight:450;
  line-height:1.18;
  letter-spacing:-2px;
  margin:0;
}

.muted {
  color:#8290aa;
}

.blue-text {
  color:#528bff;
}

.value-grid {
  display:grid;
  grid-template-columns:1fr 2fr;
  gap:35px;
}

.value-grid>.eyebrow {
  padding-top:9px;
  align-self:start;
}

.section-description {
  max-width:580px;
  font-size:16px;
  line-height:1.9;
  color:var(--muted);
  margin:26px 0;
}

.value-statement {
  position:relative;
  margin:27px 0 0;
  padding-left:30px;
  font-size:14px;
  line-height:1.85;
  color:#98a5b9;
}

.value-statement>span {
  position:absolute;
  left:0;
  color:#6393ff;
  font-size:20px;
}

.value-statement strong {
  color:#dbe3f0;
  font-weight:450;
}

.solutions {
  background:var(--almiva-surface);
  border-block:1px solid var(--line);
}

.section-heading {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px;
  margin-bottom:36px;
}

.section-heading .eyebrow {
  margin-bottom:20px;
}

.section-heading>p {
  font-size:13px;
  line-height:1.8;
  color:var(--muted);
  margin:0 0 5px;
}

.services {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border:1px solid var(--line);
  border-radius:8px;
  overflow:hidden;
}

.service {
  padding:30px 31px 0;
  transition:background .25s;
}

.service+.service {
  border-left:1px solid var(--line);
}

.service:hover {
  background:#25334a;
}

.service-top {
  height:92px;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
}

.service-number {
  font-size:10px;
  letter-spacing:1px;
  color:#8c9cb5;
}

.service-top svg {
  width:108px;
  height:78px;
  fill:none;
  stroke:#6391ec;
  stroke-width:1.2;
  stroke-linecap:round;
  stroke-linejoin:round;
  margin-top:-7px;
}

h3 {
  font-size:25px;
  letter-spacing:-.7px;
  line-height:1.25;
  font-weight:450;
  margin:0 0 18px;
}

.service>p {
  font-size:13px;
  line-height:1.9;
  color:#a5b1c4;
  min-height:100px;
  max-width:295px;
  margin:0 0 28px;
}

.service-foot {
  border-top:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding-block:20px;
  color:#9aabc5;
  font-size:10px;
}

.service-foot>span:last-child {
  font-size:21px;
  color:#739cf0;
}

.solutions-note {
  margin:23px 0 0;
  font-size:11px;
  color:#9aa8be;
  line-height:1.8;
}

.steps {
  list-style:none;
  padding:0;
  margin:42px 0 0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:50px;
}

.step-marker {
  border-top:1px solid #344156;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-top:22px;
  margin-bottom:25px;
  color:#729bff;
  font-size:13px;
}

.step-marker>span:last-child {
  color:#798ba8;
  font-size:19px;
}

.steps h3 {
  font-size:22px;
  margin-bottom:13px;
}

.steps p {
  max-width:290px;
  font-size:14px;
  line-height:1.85;
  color:var(--muted);
  margin:0;
}

.contact {
  padding-top:5px;
  padding-bottom:72px;
}

.contact-panel {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border-radius:10px;
  background:linear-gradient(110deg,#1646b7,#1d4ed8 65%,#235ce5);
  padding:48px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);
  gap:48px;
  align-items:start;
}

.contact-copy {
  position:relative;
  z-index:1;
}

.contact .eyebrow {
  color:#d1e0ff;
  font-size:9px;
  letter-spacing:1.6px;
}

.contact h2 {
  font-size:clamp(36px,4.4vw,59px);
  letter-spacing:-2.5px;
  line-height:1.12;
}

.contact-copy>p:not(.eyebrow):not(.contact-status) {
  color:#d2e0ff;
  font-size:15px;
  line-height:1.8;
  margin:25px 0;
}

.button-white {
  background:#f8fafc;
  color:#152754;
  font-size:13px;
  gap:34px;
}

.button-white:hover {
  background:#e4edff;
}

.contact-status {
  color:#d1dfff;
  font-size:11px;
  margin:17px 0 0;
  line-height:1.7;
  scroll-margin-top:40px;
}

.contact-status:target {
  outline:1px solid #acc7ff;
  outline-offset:6px;
  width:fit-content;
}

.contact-art {
  position:absolute;
  width:520px;
  height:520px;
  right:-105px;
  top:10px;
  border:85px solid #8cb6ff1c;
  border-left-color:transparent;
  transform:rotate(-38deg);
  border-radius:50% 54% 54% 8%;
  box-shadow:inset -17px 0 45px #75a1ff12,28px 20px 60px #072a8b20;
}

.contact-art:after {
  content:"";
  position:absolute;
  width:270px;
  height:60px;
  left:-85px;
  top:189px;
  transform:rotate(-25deg);
  background:linear-gradient(90deg,transparent,#77a5ff25);
  border-radius:50%;
}

.footer {
  border-top:1px solid var(--line);
  padding-top:51px;
}

.footer-main {
  display:flex;
  justify-content:space-between;
  gap:30px;
  padding-bottom:48px;
}

.footer .brand {
  font-size:22px;
}

.footer .brand img {
  width:37px;
  height:37px;
}

.footer-main p {
  font-size:12px;
  color:var(--muted);
  line-height:1.9;
  margin:17px 0 0;
}

.footer-contact {
  min-width:250px;
  padding-top:7px;
}

.footer-label {
  display:block;
  font-size:9px;
  letter-spacing:1.7px;
  color:#8e9eb8;
  margin-bottom:18px;
}

.footer-contact>a {
  font-size:15px;
  color:#d5ddeb;
  display:flex;
  justify-content:space-between;
  gap:24px;
  overflow-wrap:anywhere;
}

.footer-contact>a:hover {
  color:#80a9ff;
}

.footer-bottom {
  border-top:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  gap:25px;
  padding-block:23px;
  color:#8d9bb0;
  font-size:10px;
  line-height:1.6;
}

.footer-bottom p {
  margin:0;
}

.social-links {
  display:flex;
  gap:19px;
  font-size:11px;
  margin-top:20px;
  color:#afbdd3;
}

.social-links[hidden] {
  display:none;
}

@keyframes arrive {
  from {
    opacity:0;
    transform:translateY(14px) rotate(-10deg);
  }
  to {
    opacity:1;
    transform:translateY(0) rotate(-6deg);
  }
}

@media(min-width:1600px) {
  :root {
    --max:1280px;
  }
  .hero-main {
    min-height:725px;
  }
  h1 {
    font-size:94px;
  }
  .hero-symbol {
    width:490px;
    height:490px;
  }
  .hero-art {
    height:570px;
  }
}

@media(max-width:1100px) {
  .container {
    width:calc(100% - 72px);
  }
  nav {
    gap:23px;
  }
  .brand {
    font-size:22px;
  }
  h1 {
    font-size:68px;
    letter-spacing:-3.8px;
  }
  .hero-main {
    grid-template-columns:1.2fr 1fr;
    min-height:640px;
  }
  .hero-art {
    margin-right:-20px;
  }
  .hero-symbol {
    width:365px;
    height:365px;
  }
  .hero-actions {
    gap:20px;
  }
  .text-link {
    font-size:11px;
    gap:10px;
  }
  .hero .button {
    padding-inline:19px;
    gap:20px;
  }
  .service {
    padding-inline:24px;
  }
  .section {
    padding-block:68px;
  }
  .contact {
    padding-top:0;
  }
  .contact-panel {
    padding:54px;
  }
  .contact-art {
    right:-210px;
  }
  .service>p {
    min-height:125px;
  }
}

@media(max-width:800px) {
  .container {
    width:calc(100% - 48px);
  }
  .header-inner {
    height:82px;
    flex-wrap:wrap;
  }
  .brand {
    font-size:22px;
  }
  .js .menu-toggle {
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:6px;
    width:44px;
    height:44px;
    border:1px solid var(--line);
    border-radius:5px;
    background:transparent;
    padding:12px;
    color:white;
  }
  .menu-toggle span {
    height:1px;
    width:18px;
    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);
  }
  nav {
    flex-direction:column;
    align-items:stretch;
    gap:0;
    background:var(--almiva-surface);
    padding:12px 24px 20px;
    width:100%;
    border-bottom:1px solid var(--line);
  }
  .header-inner:has(nav) {
    height:auto;
    min-height:82px;
    padding-block:17px;
  }
  nav a {
    padding:15px 0;
    font-size:15px;
  }
  nav .button {
    margin-top:10px;
  }
  .js nav {
    display:none;
    position:absolute;
    left:0;
    right:0;
    top:81px;
  }
  .js nav.is-open {
    display:flex;
  }
  .hero-main {
    min-height:0;
    grid-template-columns:1fr 0.7fr;
  }
  .hero-copy {
    padding-block:66px 55px;
  }
  .hero .eyebrow {
    font-size:8px;
    letter-spacing:1.4px;
    white-space:nowrap;
  }
  h1 {
    font-size:59px;
    letter-spacing:-3px;
  }
  .hero-description {
    font-size:14px;
    max-width:370px;
  }
  .hero-actions {
    flex-direction:column;
    align-items:flex-start;
    gap:23px;
  }
  .hero-art {
    height:400px;
    margin-right:-40px;
    margin-left:-35px;
  }
  .hero-symbol {
    width:300px;
    height:300px;
    max-width:none;
    flex-shrink:0;
  }
  .orbit-one {
    width:330px;
    height:330px;
  }
  .orbit-two {
    width:410px;
    height:410px;
  }
  .art-label {
    display:none;
  }
  .value-grid {
    grid-template-columns:1fr;
    gap:20px;
  }
  .section {
    padding-block:68px;
  }
  .section-heading {
    align-items:flex-start;
    flex-direction:column;
    gap:20px;
  }
  .section-heading>p {
    font-size:13px;
  }
  .services {
    grid-template-columns:1fr;
  }
  .service {
    padding:28px 30px 0;
    display:grid;
    grid-template-columns:1fr 1.2fr;
    column-gap:30px;
  }
  .service+.service {
    border-left:0;
    border-top:1px solid var(--line);
  }
  .service-top {
    height:85px;
    grid-column:1/-1;
  }
  .service h3 {
    font-size:28px;
  }
  .service>p {
    min-height:0;
    max-width:none;
    margin-bottom:24px;
    font-size:14px;
  }
  .service-foot {
    grid-column:1/-1;
  }
  .steps {
    gap:26px;
    margin-top:40px;
  }
  .steps h3 {
    font-size:19px;
  }
  .steps p {
    font-size:13px;
  }
  .contact {
    padding-top:0;
  }
  .contact-panel {
    padding:43px 35px 34px;
  }
  .contact-art {
    right:-280px;
    top:40px;
  }
  .contact h2 {
    font-size:45px;
  }
  .contact-copy>p:not(.eyebrow):not(.contact-status) {
    font-size:14px;
  }
  .footer-contact {
    min-width:210px;
  }
}

@media(max-width:540px) {
  .container {
    width:calc(100% - 40px);
  }
  .brand {
    font-size:21px;
  }
  .brand img {
    width:37px;
    height:37px;
  }
  .hero-main {
    display:flex;
    flex-direction:column;
    align-items:stretch;
  }
  .hero-copy {
    padding-top:49px;
    padding-bottom:0;
  }
  .hero .eyebrow {
    font-size:8px;
    letter-spacing:1px;
    margin-bottom:24px;
  }
  h1 {
    font-size:clamp(47px,11.6vw,62px);
    letter-spacing:-2.8px;
    line-height:1.06;
    margin-bottom:23px;
  }
  .hero-description {
    font-size:14px;
    line-height:1.85;
    max-width:360px;
  }
  .hero-actions {
    flex-direction:row;
    align-items:center;
    gap:20px;
    margin-top:26px;
  }
  .hero .button {
    font-size:12px;
    padding-inline:16px;
    gap:17px;
    min-height:50px;
  }
  .text-link {
    font-size:10px;
    gap:8px;
  }
  .hero-art {
    height:240px;
    margin:7px 0 0;
    align-self:center;
    width:100%;
  }
  .hero-symbol {
    width:255px;
    height:255px;
  }
  .orbit-one {
    width:260px;
    height:260px;
  }
  .orbit-two {
    width:330px;
    height:330px;
  }
  .hero-art:after {
    bottom:25px;
  }
  .hero-glow {
    width:650px;
    height:650px;
    right:-200px;
    top:250px;
  }
  .hero-bottom {
    padding-block:19px;
    font-size:9px;
  }
  .hero-bottom a {
    font-size:8px;
    gap:10px;
  }
  .scroll-line {
    width:23px;
  }
  .section {
    padding-block:52px;
  }
  h2 {
    font-size:34px;
    letter-spacing:-1.4px;
  }
  .eyebrow {
    font-size:9px;
    letter-spacing:1.6px;
    margin-bottom:20px;
  }
  .value-grid {
    gap:8px;
  }
  .value-grid>.eyebrow {
    padding-top:0;
  }
  .section-description {
    font-size:14px;
    line-height:1.9;
    margin:23px 0;
  }
  .value-statement {
    font-size:12px;
  }
  .section-heading {
    margin-bottom:32px;
    gap:16px;
  }
  .section-heading>p {
    font-size:12px;
  }
  .service {
    display:block;
    padding:26px 25px 0;
  }
  .service-top {
    height:90px;
  }
  .service h3 {
    font-size:27px;
  }
  .service>p {
    font-size:13px;
    max-width:300px;
    margin-bottom:24px;
  }
  .solutions-note {
    font-size:10px;
  }
  .steps {
    grid-template-columns:1fr;
    gap:34px;
    margin-top:35px;
  }
  .step-marker {
    padding-top:16px;
    margin-bottom:21px;
  }
  .steps h3 {
    font-size:23px;
  }
  .steps p {
    font-size:14px;
    max-width:320px;
  }
  .contact {
    padding-top:0;
    padding-bottom:55px;
  }
  .contact .container {
    width:calc(100% - 24px);
  }
  .contact-panel {
    padding:35px 25px 28px;
    border-radius:8px;
  }
  .contact .eyebrow {
    font-size:8px;
    letter-spacing:1.1px;
    max-width:240px;
    line-height:1.9;
  }
  .contact h2 {
    font-size:36px;
    letter-spacing:-1.7px;
  }
  .contact-art {
    width:400px;
    height:400px;
    border-width:60px;
    right:-265px;
    top:80px;
  }
  .contact-copy>p:not(.eyebrow):not(.contact-status) {
    font-size:13px;
    margin-block:23px;
  }
  .desktop-break {
    display:none;
  }
  .button-white {
    padding-inline:18px;
    font-size:12px;
    gap:24px;
  }
  .contact-status {
    font-size:10px;
    max-width:280px;
  }
  .footer {
    padding-top:36px;
  }
  .footer-main {
    flex-direction:column;
    gap:34px;
    padding-bottom:35px;
  }
  .footer-contact {
    max-width:320px;
  }
  .footer-bottom {
    flex-direction:column;
    gap:9px;
    font-size:9px;
    padding-block:21px;
  }
  .footer-main p {
    font-size:12px;
  }
  .footer .brand {
    font-size:21px;
  }
}

@media(max-width:355px) {
  .hero-actions {
    gap:14px;
  }
  .text-link {
    max-width:100px;
    line-height:1.6;
  }
  .hero .eyebrow {
    font-size:7px;
    letter-spacing:.8px;
  }
  .contact h2 {
    font-size:32px;
  }
  .button-white {
    gap:15px;
    padding-inline:13px;
  }
  .service {
    padding-inline:20px;
  }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*:before,*:after {
    animation:none!important;
    transition:none!important;
  }
}

/* V2: leitura mais confortável e ritmo visual mais compacto. */
.hero-description, .section-description, .service > p, .steps p,
.section-heading > p, .value-statement, .contact-copy > p:not(.eyebrow) {
  font-size:16px;
  line-height:1.75;
}
.hero-description, .section-description, .service > p, .steps p {
  color:var(--muted);
}
.hero-actions .button, .text-link, nav > a { font-size:14px; }
.hero-bottom { font-size:12px; color:#a7b4c9; }
.value-grid { align-items:start; }
.value-statement { margin-top:22px; }
.value-statement strong { font-weight:500; }
.service { display:flex; flex-direction:column; }
.service > p { min-height:0; margin-bottom:22px; max-width:32ch; }
.service > .service-example { font-size:15px; line-height:1.7; color:#c0cbdd; }
.service-example > span {
  display:block;
  font-size:11px;
  letter-spacing:1px;
  text-transform:uppercase;
  color:#88adff;
  margin-bottom:6px;
}
.service-foot { margin-top:auto; font-size:12px; }
.solutions-note { font-size:14px; max-width:85ch; }
.footer-main p { font-size:14px; }
.footer-bottom { font-size:12px; color:#a6b3c8; }
.footer-bottom a:hover { color:white; text-decoration:underline; }

/* O azul mantém o destaque; os campos têm uma superfície calma e contrastante. */
.contact-panel { background:linear-gradient(120deg,#342278,var(--almiva-blue) 70%,#2054ce); }
.contact h2 { font-size:clamp(36px,3.6vw,49px); line-height:1.15; letter-spacing:-1.8px; }
.contact-copy > p:not(.eyebrow) { max-width:33ch; color:#e1ebff; }
.contact .eyebrow { line-height:1.9; font-size:10px; }
.contact-art { left:-250px; right:auto; top:220px; opacity:.65; pointer-events:none; }
.contact-prompt { display:flex; align-items:flex-start; gap:14px; margin-top:40px; color:#dae7ff; }
.contact-prompt > span { color:#aecbff; font-size:25px; }
.contact-prompt p { margin:0; font-size:15px; line-height:1.8; }
.contact-form {
  position:relative;
  min-width:0;
  padding:28px;
  border:1px solid #6381b647;
  border-radius:8px;
  background:#0d1a35;
  box-shadow:0 16px 40px #06265d26;
}
.contact-form h3 { font-size:22px; letter-spacing:-.6px; margin-bottom:24px; }
.form-fields { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:19px 16px; }
.form-field { min-width:0; }
.form-field-wide { grid-column:1 / -1; }
.form-field label { display:block; margin-bottom:9px; color:#e8eef9; font-size:14px; line-height:1.5; }
.form-field label > span { color:#a6c4ff; }
.form-field label > .optional { font-size:12px; font-weight:400; color:#b4bfd1; }
.form-field input, .form-field textarea {
  display:block;
  width:100%;
  min-width:0;
  border:1px solid #526788;
  border-radius:5px;
  background:#091429;
  color:#f8fafc;
  padding:13px 14px;
  font:inherit;
  font-size:16px;
  line-height:1.5;
  transition:border-color .2s,background .2s;
}
.form-field textarea { min-height:126px; resize:vertical; }
.form-field input::placeholder, .form-field textarea::placeholder { color:#a4b2c9; opacity:1; }
.form-field input:hover, .form-field textarea:hover { border-color:#82a0cd; }
.form-field input:focus-visible, .form-field textarea:focus-visible { outline:2px solid #8ab5ff; outline-offset:3px; border-color:#8ab5ff; }
.form-field input:user-invalid, .form-field textarea:user-invalid { border-color:#ffa9af; }
.field-help { display:block; font-size:12px; line-height:1.7; color:#b4c2d9; margin:8px 0 0; }
#message-help { font-size:11px; line-height:1.6; color:#a6b6cd; margin-top:7px; }
.form-privacy { margin:20px 0; font-size:13px; color:#c1cde0; line-height:1.75; }
.form-privacy a { text-decoration:underline; text-underline-offset:3px; color:#e0eaff; }
.form-privacy a:hover { color:white; }
.contact-form .button { border:0; cursor:pointer; width:100%; justify-content:space-between; font-size:15px; min-height:52px; }
.contact-form .submit-label { font-size:15px; font-weight:550; }
.contact-form .button:disabled { opacity:.8; cursor:default; transform:none; box-shadow:none; }
.contact-form .button:disabled .submit-arrow { display:none; }
.form-status:empty { display:none; }
.form-status { margin-top:18px; padding:15px; border-radius:5px; font-size:14px; line-height:1.7; overflow-wrap:anywhere; }
.form-status[data-state="pending"] { background:#172d52; color:#deebff; }
.form-status[data-state="error"] { background:#3a202f; color:#ffe2e5; border:1px solid #b66e82; }
.form-status[data-state="success"] { background:#15382e; color:#d8f8e7; border:1px solid #619f89; }
.form-status strong { display:block; font-size:16px; }
.form-status p { margin:8px 0 0; }
.honeypot[hidden] { display:none; }

/* Páginas de apoio: mesma identidade, conteúdo de leitura sem decoração extra. */
.support-page { min-height:100vh; display:flex; flex-direction:column; }
.support-page main { flex:1; }
.support-back { font-size:14px; color:#d3dff4; }
.support-back:hover { text-decoration:underline; }
.support-content { max-width:790px; padding-block:64px 76px; }
.support-content h1 { font-size:clamp(34px,5vw,56px); line-height:1.15; letter-spacing:-1.8px; margin-bottom:24px; }
.support-content > .eyebrow { font-size:10px; line-height:1.6; }
.support-content h2 { font-size:24px; letter-spacing:-.5px; margin:34px 0 13px; line-height:1.3; }
.support-content p, .support-content li { color:#c0cbdd; font-size:16px; line-height:1.85; }
.support-content ul { padding-left:23px; }
.support-content li + li { margin-top:9px; }
.support-content a:not(.button) { color:#9cbdff; text-decoration:underline; text-underline-offset:4px; }
.support-content strong { color:#edf3ff; }
.draft-notice { border:1px solid #7b91b8; border-left:3px solid #8ab5ff; padding:18px 21px; background:#111e33; border-radius:5px; margin:25px 0 32px; }
.draft-notice p { margin:7px 0 0; font-size:14px; }
.pending-detail { color:#e4d3ac; }
.thanks-content { padding-block:100px; max-width:760px; }
.thanks-content > p:not(.eyebrow) { max-width:52ch; }
.thanks-content .button { margin-top:18px; }
.support-page .footer { padding-top:0; }

@media(max-width:1100px) {
  .contact-panel { padding:36px; gap:28px; }
  .contact-form { padding:24px; }
  .form-fields { grid-template-columns:minmax(0,1fr); }
  .contact h2 { font-size:40px; }
  .service { padding-inline:22px; }
}
@media(min-width:801px) and (max-width:1100px) {
  .hero-actions { flex-wrap:wrap; }
  .hero h1 { font-size:clamp(57px,6.2vw,68px); }
  .hero-symbol { width:340px; height:340px; }
}
@media(max-width:800px) {
  .contact-panel { grid-template-columns:minmax(0,1fr); gap:30px; padding:36px; }
  .contact-copy > p:not(.eyebrow) { max-width:48ch; }
  .contact-prompt { margin-top:22px; }
  .form-fields { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .contact-art { left:auto; right:-250px; top:60px; }
  .service { display:flex; }
  .service-top { width:100%; height:80px; }
  .service > p { max-width:60ch; }
  .hero-main { grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); }
  .hero h1 { font-size:clamp(44px,7.4vw,58px); letter-spacing:-2.8px; }
  .hero-symbol { width:270px; height:270px; }
  .hero-actions { gap:22px; }
  .steps { gap:24px; }
  .steps h3 { font-size:20px; }
}
@media(max-width:640px) {
  .hero-main { display:flex; flex-direction:column; align-items:stretch; }
  .hero-copy { padding:48px 0 0; }
  .hero h1 { font-size:clamp(43px,9vw,59px); }
  .hero-description { max-width:42ch; }
  .hero-art { height:240px; width:100%; margin:4px 0 0; }
  .hero-symbol { width:255px; height:255px; }
  .hero-actions { flex-direction:row; align-items:center; flex-wrap:wrap; gap:18px; }
  .hero-actions .button, .hero-actions .text-link { font-size:13px; }
  .steps { grid-template-columns:minmax(0,1fr); gap:30px; }
  .steps h3 { font-size:23px; }
  .steps p { max-width:40ch; }
}
@media(max-width:540px) {
  .hero h1 { font-size:clamp(43px,11.5vw,60px); }
  .hero .eyebrow { font-size:8px; letter-spacing:.85px; }
  .hero-bottom { font-size:11px; gap:15px; }
  .hero-bottom a { letter-spacing:1px; }
  .contact-panel { padding:30px 20px 20px; gap:25px; }
  .contact h2 { font-size:35px; }
  .contact .eyebrow { font-size:9px; }
  .contact-form { padding:23px 19px; }
  .form-fields { grid-template-columns:minmax(0,1fr); gap:19px; }
  .contact-prompt p { font-size:14px; }
  .form-privacy { font-size:13px; }
  .footer-bottom { font-size:12px; }
  .support-content { padding-block:45px 56px; }
  .support-back { font-size:12px; }
  .support-page .brand { font-size:18px; gap:6px; }
  .support-page .brand img { width:31px; height:31px; }
  .support-page .header-inner { gap:15px; }
}
@media(max-width:355px) {
  .hero-actions { flex-direction:column; align-items:flex-start; gap:18px; }
  .hero-actions .text-link { max-width:none; }
  .contact-panel { padding-inline:16px; }
  .contact-form { padding:21px 14px; }
  .contact h2 { font-size:31px; }
}
@media(max-width:540px) {
  .header-inner { gap:12px; }
}
@media(max-width:355px) {
  .brand { font-size:19px; }
  .support-page .brand { font-size:16px; }
  .support-page .header-inner { height:auto; min-height:82px; padding-block:15px; }
}

/* ALMIVA: proporções oficiais, com acentos contidos de violeta e azul. */
.brand img, .footer .brand img, .support-page .brand img {
  width:230px;
  height:auto;
  object-fit:contain;
}
.brand { flex-shrink:0; }
.hero-symbol {
  object-fit:contain;
  transform:none;
  animation:almiva-arrive 1.1s ease-out both;
}
h1 > span { color:#8cafff; }
.blue-text, .value-statement > span { color:#9da8ff; }
.blue-dash { background:var(--almiva-gradient); }
.service-top svg { stroke:#a1a8ff; }
.contact-art {
  background:url('assets/almiva-symbol.svg') center / contain no-repeat;
  border:0;
  border-radius:0;
  box-shadow:none;
  transform:none;
  opacity:.08;
}
.contact-art::after { display:none; }
@keyframes almiva-arrive {
  from { opacity:0; transform:translateY(12px); }
  to { opacity:1; transform:translateY(0); }
}
@media(max-width:800px) {
  .brand img, .footer .brand img, .support-page .brand img { width:205px; }
}
@media(max-width:540px) {
  .brand img, .footer .brand img, .support-page .brand img { width:185px; }
  .support-page .header-inner { height:auto; min-height:82px; padding-block:16px; }
}
@media(max-width:355px) {
  .brand img, .footer .brand img, .support-page .brand img { width:170px; }
}
