@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url("/assets/dm-sans-latin-variable.woff2?v=1") format("woff2");
}

:root {
  --ink: #262627;
  --ink-soft: #5d5b61;
  --muted: #7c7980;
  --paper: #f3f2ef;
  --surface: #fbfbfa;
  --line: rgba(38, 38, 39, 0.12);
  --purple: #7650e8;
  --purple-deep: #5631c4;
  --purple-light: #9b7dff;
  --dark: #282829;
  --pearl: #fbfbf9;
  --silver: #eeede9;
  --silver-deep: #dfddd8;
  --graphite: #28282a;
  --graphite-soft: #66646a;
  --premium-line: rgba(39, 38, 41, .11);
  --shadow: 0 24px 56px rgba(31, 29, 34, 0.11);
  --radius-xl: 34px;
  --radius-lg: 26px;
  --radius-md: 18px;
  --container: 1180px;
}

* { box-sizing: border-box; }
html { max-width: 100%; overflow-x: hidden; scroll-behavior: smooth; scroll-padding-top: 84px; overscroll-behavior-x: none; }
html.js { scroll-behavior: auto; }
body {
  margin: 0;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  color: var(--ink);
  background: var(--paper);
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.55;
  overflow-x: hidden;
  overscroll-behavior-x: none;
}
@supports (overflow: clip) {
  html, body { overflow-x: clip; }
}
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
button { cursor: pointer; }
.container { width: min(calc(100% - 48px), var(--container)); margin: 0 auto; position: relative; }
.section { position: relative; padding: 126px 0; }
.skip-link { position: fixed; z-index: 100; left: 16px; top: -60px; padding: 10px 14px; color: white; background: var(--purple-deep); border-radius: 8px; transition: top .2s ease; }
.skip-link:focus { top: 16px; }

.page-grid {
  position: absolute;
  inset: 0 0 auto;
  z-index: -3;
  height: 1040px;
  opacity: .68;
  background-image: linear-gradient(rgba(38, 38, 39, .075) 1px, transparent 1px), linear-gradient(90deg, rgba(38, 38, 39, .075) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: linear-gradient(to bottom, black 0%, rgba(0, 0, 0, .55) 55%, transparent 100%);
}
.page-grid::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(38, 38, 39, .25) 1.1px, transparent 1.4px);
  background-size: 48px 48px;
  background-position: -1px -1px;
}
.orb { position: absolute; z-index: -2; border-radius: 50%; filter: blur(2px); pointer-events: none; }
.orb-top { width: 230px; height: 230px; right: -58px; top: 5px; background: radial-gradient(circle at 40% 46%, #b39aff 0 9%, #8c66f5 10% 23%, transparent 24%), conic-gradient(from 80deg, #6e42e0, #b693ff, #6534cd, #a681ff, #6e42e0); box-shadow: inset 18px 11px 25px rgba(255,255,255,.38), -15px 19px 38px rgba(84, 44, 186, .3); transform: rotate(-24deg); }
.orb-top::after { content: ""; position: absolute; width: 101px; height: 101px; top: 65px; left: 64px; background: var(--paper); border-radius: 50%; box-shadow: inset 11px 10px 16px rgba(63,32,131,.28); }
.orb-left { width: 135px; height: 135px; left: -65px; top: 625px; background: linear-gradient(145deg, #bc9cff, #4d2ab7 72%); clip-path: polygon(50% 0, 100% 28%, 78% 92%, 22% 100%, 0 37%); box-shadow: 18px 18px 35px rgba(76,43,169,.26); }

.site-header { position: relative; z-index: 20; padding: 22px 0; }
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.brand { display: inline-flex; align-items: center; gap: 9px; font-size: 19px; font-weight: 800; letter-spacing: -1.1px; line-height: 1; }
.brand-accent { color: var(--purple); }
.brand-symbol { display: grid; width: 30px; height: 30px; color: var(--purple); place-items: center; border-radius: 10px; background: linear-gradient(145deg, rgba(129,92,242,.22), rgba(129,92,242,.05)); }
.brand-symbol svg { width: 22px; }
.desktop-nav { display: flex; align-items: center; gap: 33px; margin-left: auto; margin-right: 23px; }
.desktop-nav a { color: #4f4c52; font-size: 13px; font-weight: 700; transition: color .2s ease; }
.desktop-nav a:hover { color: var(--purple); }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 22px; border: 0; border-radius: 16px; font-size: 14px; font-weight: 800; letter-spacing: -.2px; transition: transform .22s ease, box-shadow .22s ease, background .22s ease; }
.button:hover { transform: translateY(-2px); }
.button:active { transform: translateY(0); }
.button-small { min-height: 42px; padding: 0 16px; font-size: 13px; border-radius: 13px; }
.button-primary { color: white; background: linear-gradient(118deg, #4d2bb5, #7a55ed 55%, #9b7eff); box-shadow: 0 10px 22px rgba(82, 48, 190, .28); }
.button-primary:hover, .button-blue:hover { box-shadow: 0 13px 28px rgba(30, 91, 151, .39); }
.button-dark { color: white; background: linear-gradient(132deg, #141415, #343436); box-shadow: 0 9px 18px rgba(27, 27, 28, .22); }
.button-dark-purple { color: white; background: linear-gradient(115deg, #40249b, #8058ee); box-shadow: 0 9px 20px rgba(90, 52, 211, .3); }
.button-blue { color: #0758dc; background: #ffffff; box-shadow: 0 10px 22px rgba(3, 49, 143, .26); }
.button-arrow { font-size: 18px; line-height: 1; }
.icon-arrow-up-right {
  display: inline-block;
  width: 1em;
  height: 1em;
  flex: 0 0 auto;
  vertical-align: -.12em;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 12.5 12.5 3.5M6 3.5h6.5V10' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 12.5 12.5 3.5M6 3.5h6.5V10' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
.menu-toggle, .mobile-nav { display: none; }

.contracting-banner { position: relative; z-index: 2; margin: 12px 0 0; padding: 0; }
.contracting-banner-inner { padding: 38px 44px 39px; color: #f9fafc; background: linear-gradient(125deg, #22252b 0%, #2c323c 55%, #363543 100%); border: 1px solid rgba(255,255,255,.12); border-radius: 26px; box-shadow: 0 24px 56px rgba(24,26,31,.19), inset 0 1px 0 rgba(255,255,255,.12); }
.contracting-banner-inner::after { content: ""; position: absolute; right: 7%; bottom: -18px; width: 160px; height: 60px; background: radial-gradient(ellipse at center, rgba(143,113,247,.32), transparent 72%); filter: blur(13px); pointer-events: none; }
.contracting-kicker { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 12px; color: #c8bafb; font-size: 11px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.contracting-kicker span { width: 7px; height: 7px; background: #8b6cf4; border-radius: 50%; box-shadow: 0 0 0 5px rgba(139,108,244,.16); }
.contracting-banner h1 { max-width: 730px; margin: 0 0 12px; color: #fff; font-size: clamp(30px, 4vw, 45px); letter-spacing: -.055em; }
.contracting-banner p:not(.contracting-kicker) { position: relative; z-index: 1; max-width: 750px; margin: 0; color: #d8dce5; font-size: 16px; line-height: 1.65; }
.contracting-banner strong { color: #fff; }
.contracting-continue { position: relative; z-index: 1; margin-top: 22px; }
.contracting-stage-note { margin-top: 20px !important; padding: 13px 15px; color: #edeafd !important; background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.14); border-radius: 13px; }
.contracting-back-link { display: inline-flex; gap: 8px; margin-top: 20px; padding-bottom: 3px; color: #fff; border-bottom: 1px solid rgba(255,255,255,.48); font-size: 13px; font-weight: 800; }
.contracting-banner--unavailable .contracting-banner-inner { background: linear-gradient(125deg, #2b2d31, #3a383f); }

.hero { padding-top: 82px; padding-bottom: 105px; }
.hero-layout { display: grid; grid-template-columns: minmax(0, .86fr) minmax(520px, 1.08fr); align-items: center; gap: 28px; }
.eyebrow { display: flex; align-items: center; gap: 8px; margin: 0 0 17px; color: #5c5764; font-size: 12px; font-weight: 800; letter-spacing: .085em; text-transform: uppercase; }
.eyebrow-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--purple); box-shadow: 0 0 0 4px rgba(118,80,232,.12); }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { letter-spacing: -0.057em; line-height: 1.075; }
h1 { max-width: 680px; margin-bottom: 24px; font-size: clamp(45px, 5.35vw, 70px); font-weight: 800; }
h1 span, h2 span { color: #929095; }
.hero-copy h1 { max-width: 710px; color: #202024; font-family: "DM Sans", Arial, sans-serif; font-size: clamp(46px, 4.82vw, 64px); font-weight: 700; letter-spacing: -.066em; line-height: 1.01; }
.hero-copy h1 .hero-growth-arrow { display: inline-block; margin: 0 .035em; color: #3cab5e; font-size: .78em; opacity: 1; filter: drop-shadow(0 0 8px rgba(60,171,94,.22)); transform: translateY(-.08em) rotate(-8deg); }
.hero-positioning-title .hero-title-soft { display: block; margin-top: .19em; color: #858389; font-size: .68em; letter-spacing: -.045em; line-height: 1.12; }
.hero-positioning-title > .hero-growth-arrow { margin-left: .09em; font-size: .72em; transform: translateY(-.11em) rotate(-8deg); }
.hero-text { max-width: 560px; margin-bottom: 30px; color: var(--ink-soft); font-size: 17px; line-height: 1.72; }
.hero-actions { display: flex; width: min(100%, 278px); align-items: flex-start; flex-direction: column; gap: 15px; }
.hero-actions .button { width: 100%; }
.hero-actions .text-link { align-self: center; font-size: 15px; }
.hero-actions .text-link span { font-size: 18px; }
.text-link { display: inline-flex; align-items: center; gap: 8px; color: #39363d; font-size: 13px; font-weight: 800; border-bottom: 1px solid rgba(57,54,61,.32); padding-bottom: 3px; transition: color .2s ease, border .2s ease; }
.text-link:hover { color: var(--purple); border-color: var(--purple); }
.text-link span { font-size: 16px; }
.hero-proof { display: flex; width: min(100%, 300px); flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px; margin-top: 38px; color: #6d6a70; font-size: 14px; font-weight: 700; text-align: center; }
.hero-proof i { width: 4px; height: 4px; display: inline-block; background: #aaa7ae; border-radius: 50%; }

.hero-visual { position: relative; min-height: 424px; padding: 49px 18px 0; }
.visual-glow { position: absolute; z-index: -1; width: 83%; height: 68%; left: 12%; top: 12%; border-radius: 50%; background: #ab91ff; opacity: .31; filter: blur(56px); }
.dashboard-card { position: relative; width: min(100%, 530px); margin: 0 auto; padding: 25px 25px 21px; background: rgba(253,253,253,.86); border: 1px solid rgba(255,255,255,.88); border-radius: 29px; box-shadow: 0 32px 64px rgba(35,31,45,.15), inset 0 1px 0 white; backdrop-filter: blur(12px); }
.dashboard-top { display: flex; justify-content: space-between; gap: 18px; align-items: flex-start; }
.dashboard-label { margin-bottom: 2px; color: #827e89; font-size: 11px; font-weight: 700; }
.dashboard-top strong { font-size: 16px; letter-spacing: -.5px; }
.status-pill { display: inline-flex; align-items: center; gap: 6px; padding: 7px 10px; color: #58525f; font-size: 10px; font-weight: 800; border: 1px solid rgba(73,68,78,.11); border-radius: 99px; background: rgba(255,255,255,.64); white-space: nowrap; }
.status-pill span { width: 6px; height: 6px; border-radius: 50%; background: #73c795; box-shadow: 0 0 0 3px rgba(115,199,149,.18); }
.dashboard-chart { position: relative; margin-top: 23px; overflow: hidden; border-radius: 16px; background: linear-gradient(145deg, #2d2b31, #201f23); }
.dashboard-chart svg { display: block; width: 100%; padding: 22px 0 0; }
.chart-grid-line { stroke: rgba(255,255,255,.09); stroke-width: 1; }
.chart-labels { position: absolute; z-index: 1; top: 15px; right: 18px; display: flex; gap: 14px; color: rgba(255,255,255,.49); font-size: 9px; font-weight: 700; }
.dashboard-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin-top: 12px; }
.dashboard-metrics div { padding: 11px 10px; background: rgba(230,226,235,.44); border-radius: 12px; }
.dashboard-metrics span { display: block; color: #85818a; font-size: 9px; font-weight: 700; }
.dashboard-metrics strong { display: block; margin-top: 2px; font-size: 10px; letter-spacing: -.25px; }
.floating-note { position: absolute; display: inline-flex; align-items: center; gap: 8px; padding: 11px 13px; color: #49444e; font-size: 10px; font-weight: 800; background: rgba(255,255,255,.89); border: 1px solid rgba(255,255,255,.95); border-radius: 13px; box-shadow: 0 12px 28px rgba(37,31,46,.15); backdrop-filter: blur(10px); }
.note-top { top: 4px; right: 5px; }
.note-bottom { bottom: 20px; left: 1px; }
.note-icon { display: grid; width: 20px; height: 20px; place-items: center; color: white; background: #64bf8c; border-radius: 7px; font-size: 12px; }
.note-icon-purple { background: var(--purple); }

.trust-strip { position: relative; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.trust-items { display: grid; grid-template-columns: repeat(4, 1fr); }
.trust-items span { padding: 23px 15px; color: #5f5b64; font-size: 14px; font-weight: 800; letter-spacing: -.18px; text-align: center; }
.trust-items span + span { border-left: 1px solid var(--line); }

.plans { padding-bottom: 110px; }
body[data-active-service="sites"] .plans { padding-bottom: 0; }
.section-heading { max-width: 650px; margin-bottom: 51px; }
.section-heading.centered { margin-right: auto; margin-left: auto; text-align: center; }
.section-heading.centered .eyebrow { justify-content: center; }
h2 { margin-bottom: 18px; font-size: clamp(35px, 4.1vw, 54px); font-weight: 800; }
.section-heading > p:last-child { color: var(--ink-soft); font-size: 16.5px; line-height: 1.7; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.service-choice { max-width: 920px; margin: -7px auto 0; }
.service-choice-intro { margin-bottom: 19px; color: #4f4b54; font-size: 13px; font-weight: 780; letter-spacing: -.01em; text-align: center; }
.service-selector { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 10px; border: 1px solid rgba(39,38,41,.11); border-radius: 30px; background: rgba(255,255,255,.72); box-shadow: inset 0 1px 0 #fff, 0 22px 55px rgba(31,29,34,.075); transition: border-color .35s ease, background .35s ease, box-shadow .35s ease; }
body[data-active-service="traffic"] .service-selector { border-color: rgba(106,75,217,.2); background: linear-gradient(135deg, rgba(112,77,229,.08), rgba(255,255,255,.88) 45%); box-shadow: inset 0 1px 0 #fff, 0 24px 58px rgba(73,49,151,.11); }
body[data-active-service="sites"] .service-selector { border-color: rgba(19,101,177,.22); background: linear-gradient(225deg, rgba(17,112,202,.1), rgba(255,255,255,.9) 48%); box-shadow: inset 0 1px 0 #fff, 0 24px 58px rgba(14,73,132,.12); }
.service-option { position: relative; isolation: isolate; display: grid; min-width: 0; min-height: 128px; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 20px; overflow: hidden; padding: 24px 24px; color: #302e33; text-align: left; border: 1px solid rgba(43,41,47,.1); border-radius: 21px; background: rgba(255,255,255,.82); box-shadow: inset 0 1px 0 rgba(255,255,255,.96), 0 8px 20px rgba(33,31,38,.045); transition: color .28s ease, background .35s ease, border-color .28s ease, box-shadow .35s ease, transform .28s ease, opacity .28s ease; }
.service-option::before { content: ""; position: absolute; z-index: -1; width: 190px; height: 190px; right: -92px; bottom: -126px; border: 1px solid rgba(93,86,104,.12); border-radius: 50%; opacity: .65; transition: width .45s cubic-bezier(.22,.61,.36,1), height .45s cubic-bezier(.22,.61,.36,1), opacity .3s ease, transform .45s cubic-bezier(.22,.61,.36,1); }
.service-option:hover { border-color: rgba(72,65,82,.18); background: #fff; box-shadow: inset 0 1px 0 #fff, 0 14px 30px rgba(33,31,38,.09); transform: translateY(-2px); }
.service-option:hover::before { transform: scale(1.08); }
.service-option:active { transform: translateY(0); }
.service-option:focus-visible { outline: 3px solid rgba(118,80,232,.25); outline-offset: 2px; }
.service-option[data-service-target="traffic"][aria-pressed="true"] { color: #fff; border-color: rgba(255,255,255,.16); background: linear-gradient(135deg, #2d1a67 0%, #5830bc 55%, #7650e8 100%); box-shadow: 0 19px 39px rgba(71,43,155,.3), inset 0 1px 0 rgba(255,255,255,.2); transform: translateY(-2px); }
.service-option[data-service-target="sites"][aria-pressed="true"] { color: #fff; border-color: rgba(183,222,255,.32); background: linear-gradient(135deg, #082f59 0%, #075da9 52%, #1687e3 100%); box-shadow: 0 19px 39px rgba(5,73,137,.28), inset 0 1px 0 rgba(255,255,255,.2); transform: translateY(-2px); }
.service-option[aria-pressed="true"]::before { width: 240px; height: 240px; right: -94px; bottom: -156px; border-color: rgba(255,255,255,.24); opacity: 1; }
.service-option[aria-pressed="true"]:hover { transform: translateY(-2px); }
body[data-active-service] .service-option[aria-pressed="false"] { opacity: .76; }
body[data-active-service] .service-option[aria-pressed="false"]:hover { opacity: 1; }
.service-option-copy { display: grid; min-width: 0; gap: 5px; }
.service-option-kicker { color: #77727e; font-size: 9.5px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; transition: color .28s ease; }
.service-option strong { font-size: 18.5px; letter-spacing: -.04em; line-height: 1.16; }
.service-option small { max-width: 290px; color: #6e6a73; font-size: 12.25px; line-height: 1.48; transition: color .28s ease; }
.service-option[data-service-target="traffic"][aria-pressed="true"] .service-option-kicker { color: #d3c7ff; }
.service-option[data-service-target="sites"][aria-pressed="true"] .service-option-kicker { color: #bce1ff; }
.service-option[aria-pressed="true"] small { color: rgba(255,255,255,.8); }
.service-option-mark { position: relative; display: grid; width: 42px; height: 42px; flex: 0 0 42px; place-items: center; color: #5f5966; border: 1px solid rgba(54,50,59,.13); border-radius: 50%; background: rgba(255,255,255,.74); box-shadow: inset 0 1px 0 #fff; transition: color .28s ease, background .28s ease, border-color .28s ease, transform .35s cubic-bezier(.22,.61,.36,1); }
.service-option-mark::before { content: ""; width: 13px; height: 1.5px; background: currentColor; border-radius: 99px; transform: translateX(-1px); }
.service-option-mark::after { content: ""; position: absolute; width: 6px; height: 6px; border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor; transform: translateX(4px) rotate(45deg); }
.service-option[aria-pressed="true"] .service-option-mark { color: #2d1a67; border-color: rgba(255,255,255,.5); background: #fff; box-shadow: 0 8px 22px rgba(19,15,40,.2), inset 0 1px 0 #fff; transform: translateX(2px); }
.service-option[data-service-target="sites"][aria-pressed="true"] .service-option-mark { color: #075da9; }
.service-choice-prompt { margin: 17px 0 0; color: #77737c; font-size: 12.5px; text-align: center; }
.service-plan-panel { margin-top: 52px; animation: service-panel-in .38s cubic-bezier(.22,.61,.36,1) both; }
.service-plan-panel[hidden] { display: none; }
.service-journey[hidden],
[data-service-extra][hidden],
[data-service-shared][hidden],
[data-service-nav][hidden] { display: none !important; }
.service-journey.is-active > section:first-child { animation: service-journey-in .42s cubic-bezier(.22,.61,.36,1) both; }
.service-panel-heading { max-width: 660px; margin: 0 auto 39px; text-align: center; }
.service-panel-heading .eyebrow { justify-content: center; margin-bottom: 13px; }
.service-panel-heading h3 { margin: 0 0 14px; font-size: clamp(30px, 3.5vw, 44px); font-weight: 800; letter-spacing: -.055em; line-height: 1.08; }
.service-panel-heading h3 span { color: #929095; }
.service-panel-heading > p:last-child { margin: 0; color: var(--ink-soft); font-size: 15.5px; line-height: 1.65; }
@keyframes service-panel-in {
  from { opacity: 0; transform: translateY(9px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes service-journey-in {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
html:not(.js) .service-choice { display: none; }
html:not(.js) .service-plan-panel[hidden] { display: block; }
html:not(.js) .service-plan-panel + .service-plan-panel { margin-top: 80px; }
.plans-grid { display: grid; grid-template-columns: repeat(3, 1fr); align-items: stretch; gap: 16px; }
#site-plans .plans-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.plan-card { position: relative; display: flex; min-width: 0; flex-direction: column; min-height: 608px; padding: 20px; border-radius: var(--radius-xl); box-shadow: var(--shadow); transition: transform .48s cubic-bezier(.22,.61,.36,1), opacity .4s ease, filter .4s ease, box-shadow .48s ease, border-color .4s ease; will-change: transform; }
.plan-light { background: rgba(252,252,251,.92); border: 1px solid rgba(255,255,255,.76); }
.plan-featured { overflow: visible; color: #f6f9fc; background: linear-gradient(145deg, #087cff 0%, #0758dc 100%); border: 1px solid rgba(155, 205, 255, .6); box-shadow: 0 25px 54px rgba(8, 78, 204, .3), inset 0 1px 0 rgba(255,255,255,.25); }
.plan-dark { color: #f7f6f9; background: #29292a; box-shadow: 0 24px 50px rgba(35,32,37,.22); }
.plan-custom { position: relative; isolation: isolate; overflow: hidden; color: #f7fbff; background: linear-gradient(145deg, #092d50 0%, #074f86 55%, #0b6da8 100%); border: 1px solid rgba(133,205,255,.4); box-shadow: 0 25px 54px rgba(5,57,98,.25), inset 0 1px 0 rgba(255,255,255,.18); }
.plan-custom::before { content: ""; position: absolute; z-index: -1; inset: 0; pointer-events: none; opacity: .32; background-image: linear-gradient(rgba(187,226,255,.13) 1px, transparent 1px), linear-gradient(90deg, rgba(187,226,255,.13) 1px, transparent 1px); background-size: 36px 36px; mask-image: linear-gradient(145deg, #000, transparent 76%); }
.plan-head { min-height: 132px; padding: 21px 21px 16px; border-radius: 22px; background: linear-gradient(144deg, #fff, #efeeee); }
.plan-light .plan-head { background: linear-gradient(135deg, #f8f8f8 0%, #dedfe2 53%, #f3f3f4 100%); border: 1px solid rgba(255, 255, 255, .88); box-shadow: inset 0 1px 0 rgba(255,255,255,.9), inset 0 -1px 0 rgba(115, 117, 122, .08); }
.plan-featured .plan-head { background: rgba(0, 42, 123, .25); border: 1px solid rgba(225, 240, 255, .28); box-shadow: inset 0 1px 0 rgba(255,255,255,.16); }
.plan-dark .plan-head { background: linear-gradient(145deg, #39393a, #2e2e2f); }
.plan-custom .plan-head { background: linear-gradient(145deg, rgba(255,255,255,.14), rgba(255,255,255,.055)); border: 1px solid rgba(218,240,255,.2); box-shadow: inset 0 1px 0 rgba(255,255,255,.14); }
.plan-tag-row { display: flex; align-items: center; justify-content: space-between; gap: 9px; }
.plan-tag { display: inline-flex; padding: 8px 14px; color: #f6f5f6; background: #303031; border-radius: 99px; font-size: 12px; font-weight: 800; }
.plan-tag-blue { color: #0758dc; background: #ffffff; box-shadow: inset 0 1px 0 rgba(255,255,255,.8); }
.plan-tag-dark { color: #ffffff; background: linear-gradient(115deg, #40249b, #8058ee); box-shadow: inset 0 1px 0 rgba(255,255,255,.18); }
.plan-tag-custom { color: #084a7b; background: #e6f5ff; box-shadow: inset 0 1px 0 #fff; }
.plan-trial-tag { display: inline-flex; min-height: 28px; align-items: center; gap: 6px; padding: 0 10px; color: #555b58; background: rgba(255,255,255,.48); border: 1px solid rgba(74,81,78,.1); border-radius: 99px; box-shadow: inset 0 1px 0 rgba(255,255,255,.72); font-size: 10px; font-weight: 800; letter-spacing: -.05px; white-space: nowrap; }
.plan-trial-tag::before { content: ""; width: 5px; height: 5px; background: #6da181; border-radius: 50%; box-shadow: 0 0 0 3px rgba(109,161,129,.11); }
.plan-head p { margin: 16px 0 0; color: #444146; font-size: 15px; font-weight: 800; letter-spacing: -.35px; line-height: 1.4; }
.plan-featured .plan-head p { color: #f0f6fb; }
.plan-dark .plan-head p { color: #efedf0; }
.plan-custom .plan-head p { color: #f0f8ff; }
.plan-price { margin: 27px 21px 3px; color: #282729; font-size: 40px; font-weight: 800; letter-spacing: -2.3px; line-height: 1; }
.plan-price > span { margin-right: 3px; font-size: 17px; letter-spacing: -.5px; vertical-align: 13px; }
.plan-price sup { margin-left: 2px; font-size: 18px; letter-spacing: -.6px; vertical-align: 13px; }
.plan-price small { margin-left: 3px; color: #88848b; font-size: 12.5px; font-weight: 700; letter-spacing: 0; }
.plan-price-block { margin: 21px 21px 3px; }
.plan-price-block .plan-price { margin: 0; }
.plan-price-original { display: flex; align-items: center; gap: 7px; min-height: 15px; margin-bottom: 5px; color: #858289; }
.plan-price-original span { font-size: 8px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.plan-price-original s { position: relative; font-size: 11px; font-weight: 750; letter-spacing: -.1px; text-decoration: none; }
.plan-price-original s::after { content: ""; position: absolute; top: 51%; right: -3px; left: -3px; height: 1.5px; background: linear-gradient(90deg, transparent, #66636a 9%, #66636a 91%, transparent); border-radius: 99px; transform: rotate(-4deg); }
.plan-dark .plan-price { color: #fff; }
.plan-featured .plan-price { color: #fff; }
.plan-custom .plan-price { color: #fff; }
.plan-price-custom { font-size: 34px; letter-spacing: -1.6px; }
.plan-dark .plan-price small { color: #b5b1ba; }
.plan-featured .plan-price small { color: #b9d3e9; }
.plan-description { min-height: 43px; margin: 11px 21px 20px; color: #68656c; font-size: 13.5px; line-height: 1.58; }
.plan-dark .plan-description { color: #b9b6bd; }
.plan-featured .plan-description { color: #d7e6f2; }
.plan-custom .plan-description { color: #c9e5f7; }
.feature-list { display: grid; gap: 12px; margin: 0 21px 26px; padding: 0; list-style: none; }
.feature-list li { display: flex; gap: 10px; align-items: flex-start; color: #504d54; font-size: 13.5px; font-weight: 600; line-height: 1.42; }
.feature-list li span { color: #312f33; font-size: 15px; line-height: 1; }
.plan-dark .feature-list li { color: #e4e1e7; }
.plan-dark .feature-list li span { color: #bba5ff; }
.plan-featured .feature-list li { color: #edf5fb; }
.plan-featured .feature-list li span { color: #a9d3f3; }
.plan-custom .feature-list li { color: #e4f3fc; }
.plan-custom .feature-list li span { color: #8fd3ff; }
.button-custom { color: #07395f; background: linear-gradient(135deg, #f7fcff, #cfeeff); border: 1px solid rgba(255,255,255,.7); box-shadow: 0 12px 26px rgba(2,38,67,.2), inset 0 1px 0 #fff; }
.button-custom:hover { background: #fff; box-shadow: 0 16px 32px rgba(2,38,67,.28), inset 0 1px 0 #fff; }
.plan-button { width: calc(100% - 42px); min-height: 47px; margin: auto 21px 2px; border-radius: 15px; font-size: 14px; }
.plan-featured .plan-button { font-size: 14px; }
.featured-badge { position: absolute; z-index: 3; top: -13px; left: 50%; padding: 6px 13px; color: #0758dc; font-size: 11px; font-weight: 800; background: #ffffff; border: 1px solid rgba(219, 238, 255, .9); border-radius: 99px; box-shadow: 0 7px 15px rgba(3,68,183,.28); transform: translateX(-50%); white-space: nowrap; }
.plan-note { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 26px auto 0; color: #6d6972; font-size: 12.5px; text-align: center; }
.plan-note-icon { display: inline-grid; width: 15px; height: 15px; flex: 0 0 15px; place-items: center; color: var(--purple); font-size: 10px; font-weight: 800; border: 1px solid rgba(118,80,232,.35); border-radius: 50%; }

.method { overflow: hidden; color: #f5f7f9; background: radial-gradient(circle at 13% 10%, rgba(126,148,181,.17), transparent 31%), linear-gradient(132deg, #14171b 0%, #2c3037 49%, #17191e 100%); }
.method-sites { background: radial-gradient(circle at 14% 7%, rgba(139,119,206,.18), transparent 31%), linear-gradient(132deg, #16171b 0%, #292a33 49%, #17181d 100%); }
.method-sites .eyebrow-dot { background: #ad98ee; box-shadow: 0 0 0 4px rgba(173,152,238,.13); }
.method::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(116deg, transparent 0 35%, rgba(255,255,255,.055) 48%, transparent 61%); }
.method::after { content: ""; position: absolute; right: -170px; bottom: -250px; width: 510px; height: 510px; border: 1px solid rgba(188,201,220,.12); border-radius: 50%; box-shadow: 0 0 0 66px rgba(188,201,220,.025), 0 0 0 132px rgba(188,201,220,.016); }
.method-layout { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: 72px; align-items: start; }
.method-copy { position: sticky; z-index: 1; top: 108px; }
.method .eyebrow { color: #b4bbc5; }
.method .eyebrow-dot { background: #9cafcb; box-shadow: 0 0 0 4px rgba(156,175,203,.13); }
.method-copy h2 { max-width: 520px; margin-bottom: 24px; color: #fff; }
.method-copy h2 span { color: #aeb7c4; }
.method-lead { max-width: 540px; margin-bottom: 27px; color: #f1f3f6; font-size: 17px; font-weight: 500; line-height: 1.72; }
.method-principles { display: flex; max-width: 540px; flex-wrap: wrap; gap: 8px; margin-bottom: 25px; }
.method-principles span { display: inline-flex; align-items: center; min-height: 33px; padding: 0 12px; color: #e4e8ed; font-size: 11.5px; font-weight: 750; border: 1px solid rgba(218,226,236,.17); border-radius: 99px; background: rgba(255,255,255,.055); }
.method-promise { max-width: 530px; margin-bottom: 25px; padding: 18px 19px; border: 1px solid rgba(218,226,236,.13); border-radius: 17px; background: linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.025)); box-shadow: inset 0 1px 0 rgba(255,255,255,.07); }
.method-promise span { display: block; margin-bottom: 7px; color: #b3bfd0; font-size: 10.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.method-promise strong { display: block; color: #f5f7f9; font-size: 15.5px; line-height: 1.55; letter-spacing: -.2px; }
.method-cta { min-height: 49px; padding: 0 18px; color: #1f2227; background: linear-gradient(135deg, #fff, #dfe4e9); border: 1px solid rgba(255,255,255,.78); border-radius: 14px; box-shadow: 0 12px 27px rgba(0,0,0,.2), inset 0 1px 0 #fff; }
.method-cta:hover { box-shadow: 0 16px 34px rgba(0,0,0,.26), inset 0 1px 0 #fff; }
.method-roadmap { position: relative; z-index: 1; }
.method-roadmap-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 17px; padding: 0 5px; color: #eef1f5; font-size: 15px; font-weight: 800; }
.method-roadmap-head small { color: #b4bdc9; font-size: 11.5px; font-weight: 800; letter-spacing: .075em; text-transform: uppercase; }
.steps-list { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.steps-list li { position: relative; display: grid; grid-template-columns: 48px 1fr; gap: 16px; padding: 23px; overflow: hidden; border: 1px solid rgba(222,229,237,.13); border-radius: 21px; background: linear-gradient(138deg, rgba(255,255,255,.095), rgba(255,255,255,.035)); box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 13px 29px rgba(0,0,0,.11); transition: transform .22s ease, border-color .22s ease, background .22s ease; }
.steps-list li::after { content: ""; position: absolute; top: 0; right: 18px; left: 18px; height: 1px; background: linear-gradient(90deg, transparent, rgba(255,255,255,.22), transparent); }
.steps-list li:hover { transform: translateY(-2px); border-color: rgba(177,193,216,.26); background: linear-gradient(138deg, rgba(255,255,255,.12), rgba(255,255,255,.045)); }
.step-number { display: grid; width: 42px; height: 42px; place-items: center; color: #e2e9f1; font-size: 11.5px; font-weight: 800; border: 1px solid rgba(210,220,233,.18); border-radius: 12px; background: rgba(9,12,16,.2); }
.step-kicker { display: block; margin-bottom: 5px; color: #aebbd0; font-size: 10.5px; font-weight: 800; letter-spacing: .085em; text-transform: uppercase; }
.steps-list h3 { margin-bottom: 8px; color: #f7f8f9; font-size: 19px; letter-spacing: -.55px; line-height: 1.3; }
.steps-list p { max-width: 590px; margin-bottom: 14px; color: #d0d5dc; font-size: 14px; line-height: 1.65; }
.step-output { display: inline-flex; min-height: 27px; align-items: center; padding: 0 10px; color: #e0e5eb; font-size: 10.5px; font-weight: 800; border: 1px solid rgba(214,223,234,.14); border-radius: 8px; background: rgba(255,255,255,.055); }

.benefits { padding-top: 125px; padding-bottom: 132px; background: linear-gradient(180deg, #f4f3f0 0%, #eeede9 100%); border-bottom: 1px solid rgba(44,43,46,.08); }
.benefits .section-heading { max-width: 820px; }
.operation-signals { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 24px; color: #67646c; font-size: 12px; font-weight: 800; letter-spacing: .02em; }
.operation-signals i { width: 4px; height: 4px; background: #98959d; border-radius: 50%; }
.benefits-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.benefit-card { position: relative; min-height: 250px; padding: 27px 25px; overflow: hidden; color: var(--graphite); background: linear-gradient(138deg, #fdfdfc 0%, #e7e7e4 52%, #f7f7f5 100%); border: 1px solid rgba(44,43,46,.1); border-radius: 24px; box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 15px 34px rgba(31,29,34,.055); transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease; }
.benefit-card::before { content: ""; position: absolute; top: 0; right: 24px; left: 24px; height: 1px; background: linear-gradient(90deg, transparent, rgba(255,255,255,.98), transparent); }
.benefit-card:hover { transform: translateY(-3px); border-color: rgba(96,105,118,.18); box-shadow: inset 0 1px 0 rgba(255,255,255,.98), 0 20px 42px rgba(31,29,34,.08); }
.benefit-card-dark { color: #f5f6f8; background: linear-gradient(138deg, #353940 0%, #1f2227 53%, #30343b 100%); border-color: rgba(255,255,255,.12); box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 20px 42px rgba(31,29,34,.16); }
.benefit-icon { position: relative; z-index: 1; display: flex; width: auto; height: auto; align-items: center; gap: 10px; margin-bottom: 49px; padding: 0; color: #737981; font-size: 11px; font-weight: 800; letter-spacing: .1em; background: transparent; border: 0; border-radius: 0; }
.benefit-icon::after { content: ""; width: 25px; height: 1px; background: #aab0b7; }
.benefit-card-dark .benefit-icon { color: #b7c5d8; background: transparent; border: 0; }
.benefit-card-dark .benefit-icon::after { background: #8095b3; }
.benefit-card h3 { position: relative; z-index: 1; max-width: 290px; margin-bottom: 10px; color: inherit; font-size: 19px; letter-spacing: -.55px; line-height: 1.32; }
.benefit-card p { position: relative; z-index: 1; max-width: 320px; margin-bottom: 0; color: #5d5e63; font-size: 14.5px; line-height: 1.62; }
.benefit-card-dark p { color: #c6cbd2; }

.site-showcase {
  --showcase-gap: 18px;
  overflow: hidden;
  color: #f7f7f8;
  background:
    radial-gradient(circle at 78% 6%, rgba(130, 96, 228, .19), transparent 29%),
    radial-gradient(circle at 16% 95%, rgba(111, 135, 168, .12), transparent 31%),
    linear-gradient(145deg, #16181d 0%, #23262d 52%, #17191e 100%);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.site-showcase::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .42;
  background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 54px 54px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.78), transparent 75%);
}
.site-showcase-heading { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(300px, .68fr); gap: 70px; align-items: end; }
.site-showcase-heading .eyebrow { color: #c1bdca; }
.site-showcase-heading .eyebrow-dot { background: #a787ff; box-shadow: 0 0 0 4px rgba(167,135,255,.15); }
.site-showcase-heading h2 { max-width: 760px; margin-bottom: 0; color: #fff; }
.site-showcase-heading h2 span { color: #aaa7b2; }
@media (min-width: 861px) {
  .site-showcase-heading { align-items: start; }
  .site-showcase-heading h2 { max-width: 700px; font-size: clamp(40px, 3.8vw, 50px); }
}
.site-showcase-intro { max-width: 470px; padding-bottom: 5px; }
.site-showcase-intro > p { margin: 0 0 20px; color: #dedbe3; font-size: clamp(17.5px, 1.45vw, 19px); font-weight: 520; line-height: 1.62; }
.site-showcase-intro > .site-showcase-identity-note { max-width: 450px; justify-content: flex-start; gap: 9px; margin: -3px 0 20px; color: #aaa6b1; font-size: 11.25px; font-weight: 500; line-height: 1.5; text-align: left; }
.site-showcase-identity-note > span:first-child { color: #ff9ba0; background: rgba(139,44,50,.15); border-color: rgba(255,91,99,.82); box-shadow: 0 0 0 3px rgba(255,91,99,.07); }
.site-showcase-intro > span { display: inline-flex; align-items: baseline; gap: 9px; color: #a9a5b0; font-size: 10px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.site-showcase-intro strong { color: #d9ccff; font-size: 19px; letter-spacing: -.04em; }
.site-showcase-carousel { position: relative; z-index: 1; margin-top: 52px; padding: 7px 0 63px; }
.site-showcase-viewport { width: 100%; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; overscroll-behavior-x: contain; touch-action: pan-x pan-y; }
.site-showcase-viewport::-webkit-scrollbar { display: none; }
.site-showcase-viewport:focus-visible { outline: 2px solid rgba(190,169,253,.8); outline-offset: -2px; }
.site-showcase-track { display: flex; width: max-content; min-width: 100%; }
.site-showcase-group { display: flex; flex: 0 0 auto; gap: var(--showcase-gap); padding-right: var(--showcase-gap); }
.site-showcase-card { width: clamp(248px, 21vw, 292px); flex: 0 0 auto; margin: 0; padding: 7px; color: #29282d; background: rgba(251,251,250,.98); border: 1px solid rgba(255,255,255,.72); border-radius: 22px; box-shadow: 0 25px 52px rgba(0,0,0,.23), inset 0 1px 0 #fff; transition: border-color .24s ease, box-shadow .24s ease, transform .24s ease; }
.site-showcase-card > a { display: block; overflow: hidden; color: inherit; background: #f2f2f0; border-radius: 16px; cursor: zoom-in; }
.site-showcase-card > a:focus-visible { outline: 3px solid #8462e7; outline-offset: 3px; }
.site-showcase-browser { display: flex; height: 28px; align-items: center; gap: 4px; padding: 0 10px; color: #86828c; background: #eeedea; border-bottom: 1px solid rgba(36,34,39,.08); }
.site-showcase-browser i { width: 5px; height: 5px; background: #b9b5bc; border-radius: 50%; }
.site-showcase-browser small { margin-left: auto; font-size: 7px; font-style: normal; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.site-showcase-preview { display: block; aspect-ratio: 9 / 16; overflow: hidden; background: #f7f7f5; }
.site-showcase-preview img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: top center; }
.site-showcase-card figcaption { display: grid; min-height: 78px; align-content: center; gap: 4px; padding: 14px 12px 12px; }
.site-showcase-card figcaption small { color: #77737c; font-size: 9px; font-weight: 850; letter-spacing: .095em; text-transform: uppercase; }
.site-showcase-card figcaption strong { color: #2d2c30; font-size: 13.5px; letter-spacing: -.2px; line-height: 1.38; }
.site-showcase-edge { position: absolute; z-index: 2; top: 0; bottom: 62px; width: clamp(24px, 6vw, 94px); pointer-events: none; }
.site-showcase-edge-left { left: 0; background: linear-gradient(90deg, #1a1c21 4%, rgba(26,28,33,.84) 35%, transparent); }
.site-showcase-edge-right { right: 0; background: linear-gradient(270deg, #1a1c21 4%, rgba(26,28,33,.84) 35%, transparent); }
.site-showcase-toggle { position: absolute; z-index: 3; left: 50%; bottom: 0; display: inline-flex; min-width: 172px; min-height: 44px; align-items: center; justify-content: center; gap: 9px; padding: 0 17px; color: #eeebf4; background: rgba(20,21,25,.82); border: 1px solid rgba(255,255,255,.16); border-radius: 999px; box-shadow: 0 11px 25px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.08); backdrop-filter: blur(12px); font-size: 11px; font-weight: 800; letter-spacing: .02em; transform: translateX(-50%); transition: background .2s ease, border-color .2s ease, transform .2s ease; }
.site-showcase-toggle:hover { background: rgba(41,39,48,.94); border-color: rgba(190,169,253,.42); transform: translateX(-50%) translateY(-2px); }
.site-showcase-toggle:focus-visible { outline: 3px solid rgba(183,157,255,.43); outline-offset: 3px; }
.site-showcase-toggle > span:first-child { display: grid; width: 22px; height: 22px; place-items: center; color: #d7c9ff; border: 1px solid rgba(211,195,255,.25); border-radius: 50%; font-size: 9px; }
.site-showcase-note { display: flex; max-width: 760px; align-items: flex-start; justify-content: center; gap: 9px; margin: 25px auto 0; color: #aaa7b0; font-size: 12px; line-height: 1.58; text-align: center; }
.site-showcase-note > span { color: #b89cff; font-size: 12px; }
.site-showcase-dialog {
  width: min(1120px, calc(100vw - 32px));
  max-width: none;
  height: min(920px, calc(100dvh - 32px));
  max-height: none;
  margin: auto;
  padding: 0;
  overflow: hidden;
  color: #f5f3f8;
  background: #17191e;
  border: 1px solid rgba(255,255,255,.17);
  border-radius: 26px;
  box-shadow: 0 38px 110px rgba(0,0,0,.52), inset 0 1px 0 rgba(255,255,255,.08);
}
.site-showcase-dialog::backdrop { background: rgba(9,11,15,.8); backdrop-filter: blur(11px) saturate(.72); }
.site-showcase-dialog[open] { animation: site-showcase-dialog-in .24s cubic-bezier(.22,.61,.36,1) both; }
.site-showcase-dialog-shell { display: grid; height: 100%; grid-template-rows: auto minmax(0, 1fr); }
.site-showcase-dialog-header { position: relative; z-index: 2; display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 22px; padding: 17px 18px 17px 22px; background: rgba(24,26,31,.97); border-bottom: 1px solid rgba(255,255,255,.1); box-shadow: 0 8px 24px rgba(0,0,0,.14); }
.site-showcase-dialog-header > div { min-width: 0; }
.site-showcase-dialog-header [data-site-showcase-dialog-kicker] { display: block; margin-bottom: 3px; color: #bca7fa; font-size: 9px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.site-showcase-dialog-header h3 { display: -webkit-box; overflow: hidden; margin: 0 0 2px; color: #fff; font-size: 18px; letter-spacing: -.35px; line-height: 1.3; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.site-showcase-dialog-header p { margin: 0; color: #9e9ba5; font-size: 11px; line-height: 1.4; }
.site-showcase-dialog-header button { display: grid; width: 46px; height: 46px; flex: 0 0 46px; place-items: center; padding: 0; color: #f4f1f8; background: rgba(255,255,255,.075); border: 1px solid rgba(255,255,255,.14); border-radius: 50%; box-shadow: inset 0 1px 0 rgba(255,255,255,.08); transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease; }
.site-showcase-dialog-header button:hover { color: #fff; background: rgba(180,151,255,.16); border-color: rgba(198,177,255,.38); transform: rotate(4deg); }
.site-showcase-dialog-header button:focus-visible { outline: 3px solid rgba(183,157,255,.48); outline-offset: 2px; }
.site-showcase-dialog-header button span { display: block; font-size: 26px; font-weight: 300; line-height: 1; transform: translateY(-1px); }
.site-showcase-dialog-scroll { min-height: 0; padding: 26px; overflow: auto; overscroll-behavior: contain; scrollbar-gutter: stable; background: radial-gradient(circle at 50% 0, rgba(129,99,216,.09), transparent 31%), #e9e8e5; }
.site-showcase-dialog-scroll:focus-visible { outline: 3px solid rgba(132,98,231,.58); outline-offset: -3px; }
.site-showcase-dialog-canvas { width: min(100%, 950px); margin: 0 auto; padding: 8px; overflow: hidden; background: #fff; border: 1px solid rgba(33,31,37,.12); border-radius: 18px; box-shadow: 0 26px 68px rgba(31,28,37,.18), inset 0 1px 0 #fff; }
.site-showcase-dialog-canvas img { display: block; width: 100%; height: auto; min-height: 160px; color: #605d64; background: #f7f7f5; border-radius: 12px; }
.site-showcase-dialog-open { overflow: hidden; }
@keyframes site-showcase-dialog-in {
  from { opacity: 0; transform: translateY(10px) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@media (hover: hover) and (pointer: fine) {
  .site-showcase-card:hover { border-color: rgba(200,184,250,.72); box-shadow: 0 31px 62px rgba(0,0,0,.29), 0 0 0 1px rgba(157,126,240,.12); transform: translateY(-4px); }
}
@media (max-width: 860px) {
  .site-showcase-heading { grid-template-columns: 1fr; gap: 21px; }
  .site-showcase-intro { max-width: 680px; }
  .site-showcase-carousel { margin-top: 39px; }
}
@media (max-width: 600px) {
  .site-showcase { --showcase-gap: 12px; padding-top: 78px; padding-bottom: 79px; }
  .site-showcase::before { background-size: 42px 42px; }
  .site-showcase-heading { gap: 18px; }
  .site-showcase-intro > p { margin-bottom: 13px; font-size: 15px; }
  .site-showcase-intro > .site-showcase-identity-note { margin: 0 0 16px; font-size: 11.5px; line-height: 1.52; }
  .site-showcase-intro > span { font-size: 9px; }
  .site-showcase-carousel { margin-top: 31px; padding-bottom: 58px; }
  .site-showcase-card { width: clamp(156px, 47vw, 206px); padding: 5px; border-radius: 17px; }
  .site-showcase-card > a { border-radius: 12px; }
  .site-showcase-browser { height: 22px; padding: 0 7px; }
  .site-showcase-browser i { width: 4px; height: 4px; }
  .site-showcase-browser small { font-size: 6px; }
  .site-showcase-card figcaption { min-height: 68px; gap: 3px; padding: 11px 8px 9px; }
  .site-showcase-card figcaption small { font-size: 7.5px; }
  .site-showcase-card figcaption strong { font-size: 11px; line-height: 1.36; }
  .site-showcase-edge { bottom: 57px; width: 20px; }
  .site-showcase-toggle { min-width: 166px; }
  .site-showcase-note { justify-content: flex-start; margin-top: 22px; text-align: left; }
  .site-showcase-dialog { width: calc(100vw - 12px); height: calc(100dvh - 12px); margin: 6px auto; border-radius: 20px; }
  .site-showcase-dialog-header { gap: 12px; padding: 13px 12px 13px 15px; }
  .site-showcase-dialog-header h3 { font-size: 15.5px; }
  .site-showcase-dialog-header p { display: none; }
  .site-showcase-dialog-header button { width: 44px; height: 44px; flex-basis: 44px; }
  .site-showcase-dialog-scroll { padding: 9px; scrollbar-gutter: auto; }
  .site-showcase-dialog-canvas { padding: 4px; border-radius: 14px; }
  .site-showcase-dialog-canvas img { border-radius: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .site-showcase-viewport { overflow-x: auto; scroll-padding-inline: 24px; scroll-snap-type: x mandatory; }
  .site-showcase-card { scroll-snap-align: center; }
  .site-showcase-group[data-site-showcase-clone] { display: none; }
  .site-showcase-toggle { display: none; }
  .site-showcase-dialog[open] { animation: none; }
  .site-showcase-dialog-header button { transition: none; }
}

.site-care { padding-top: 112px; padding-bottom: 112px; background: radial-gradient(circle at 84% 2%, rgba(130,105,207,.075), transparent 28%), #f7f7f5; border-bottom: 1px solid rgba(44,43,46,.08); }
.site-care-heading { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(300px, .7fr); gap: 64px; align-items: end; margin-bottom: 42px; }
.site-care-heading h2 { max-width: 720px; margin-bottom: 0; }
.site-care-heading h2 span { color: #8e8b92; }
.site-care-heading > p { max-width: 470px; margin: 0 0 5px; color: #68656d; font-size: 15.5px; line-height: 1.72; }
.site-care-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.site-care-card { position: relative; min-height: 232px; padding: 24px; overflow: hidden; color: #303035; background: linear-gradient(145deg, rgba(255,255,255,.94), rgba(239,239,236,.94)); border: 1px solid rgba(45,43,49,.1); border-radius: 23px; box-shadow: inset 0 1px 0 #fff, 0 16px 34px rgba(32,29,37,.055); }
.site-care-card::before { content: ""; position: absolute; top: 0; right: 23px; left: 23px; height: 1px; background: linear-gradient(90deg, transparent, #fff, transparent); }
.site-care-card-featured { color: #f6f4fb; background: linear-gradient(145deg, #323039, #201f25); border-color: rgba(255,255,255,.13); box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 20px 40px rgba(31,28,37,.16); }
.site-care-card-top { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 42px; }
.site-care-card-top > span { color: #72717a; font-size: 11px; font-weight: 850; letter-spacing: .1em; }
.site-care-card-top small { padding: 6px 9px; color: #696570; background: rgba(255,255,255,.75); border: 1px solid rgba(48,45,54,.08); border-radius: 99px; font-size: 9px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.site-care-card-featured .site-care-card-top > span { color: #bba9ef; }
.site-care-card-featured .site-care-card-top small { color: #e7e1f8; background: rgba(177,151,245,.12); border-color: rgba(201,183,250,.18); }
.site-care-card h3 { margin: 0 0 10px; color: inherit; font-size: 20px; letter-spacing: -.55px; line-height: 1.3; }
.site-care-card p { margin: 0; color: #626067; font-size: 14px; line-height: 1.65; }
.site-care-card-featured p { color: #d1ced7; }
.site-care-note { display: flex; max-width: 800px; align-items: flex-start; justify-content: center; gap: 9px; margin: 25px auto 0; color: #6c6871; font-size: 12.5px; line-height: 1.58; text-align: center; }
.site-care-note > span { display: grid; width: 17px; height: 17px; flex: 0 0 17px; place-items: center; color: #6f56b5; border: 1px solid rgba(111,86,181,.28); border-radius: 50%; font-size: 10px; font-weight: 850; }

.niches { overflow: hidden; color: #f5f7f9; background: radial-gradient(circle at 9% 4%, rgba(126,151,187,.17), transparent 29%), linear-gradient(137deg, #15181d 0%, #292e36 52%, #171a1f 100%); }
.niches::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(112deg, transparent 0 39%, rgba(255,255,255,.045) 50%, transparent 61%); }
.niches-heading { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(300px, .62fr); gap: 72px; align-items: end; margin-bottom: 47px; }
.niches .eyebrow { color: #b9c4d2; }
.niches .eyebrow-dot { background: #8faaca; box-shadow: 0 0 0 4px rgba(143,170,202,.14); }
.niches-heading h2 { max-width: 690px; margin-bottom: 0; color: #fff; }
.niches-heading h2 span { color: #aab4c2; }
.niches-heading > p { max-width: 440px; margin-bottom: 3px; color: #c7ced7; font-size: 15.5px; line-height: 1.72; }
.niche-explorer { --niche-surface: #f4f5f5; position: relative; z-index: 1; display: grid; grid-template-columns: 286px minmax(0, 1fr); gap: 14px; min-height: 472px; padding: 8px; isolation: isolate; background: rgba(7,10,14,.22); border: 1px solid rgba(226,233,242,.13); border-radius: 34px; box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 30px 65px rgba(0,0,0,.18); }
.niche-tabs { position: relative; z-index: 4; display: grid; min-width: 0; grid-auto-rows: 68px; gap: 4px; align-content: start; padding: 8px; }
.niche-tab { position: relative; display: flex; width: 100%; height: 68px; min-height: 68px; align-items: center; padding: 0 17px; color: #bdc6d1; text-align: left; background: transparent; border: 0; border-radius: 16px; font-size: 14px; font-weight: 750; line-height: 1.3; transition: color .22s ease, background .22s ease, box-shadow .22s ease; }
.niche-tab::after { content: ""; position: absolute; right: 17px; bottom: 0; left: 17px; height: 1px; background: rgba(225,232,241,.08); }
.niche-tab:last-child::after, .niche-tab.is-active::after { display: none; }
.niche-tab:hover { color: #fff; background: rgba(255,255,255,.055); }
.niche-tab:focus-visible { outline: 2px solid rgba(171,195,224,.68); outline-offset: 2px; }
.niche-tab.is-active,
.niche-tab.is-active:hover { z-index: 3; color: #20242a; isolation: isolate; background: var(--niche-surface); border-radius: 16px; box-shadow: inset 0 1px 0 rgba(255,255,255,.94), 0 10px 24px rgba(0,0,0,.14); transform: none; }
.niche-tab.is-active:focus-visible { outline: 2px solid rgba(171,195,224,.68); outline-offset: 2px; }
.niche-stage { position: relative; z-index: 3; display: grid; min-width: 0; overflow: hidden; color: #2d3035; background: var(--niche-surface); border: 1px solid rgba(255,255,255,.72); border-radius: 27px; box-shadow: inset 0 1px 0 #fff, 0 22px 48px rgba(0,0,0,.13); }
.niche-stage::before { display: none; }
.niche-panel { position: relative; z-index: 0; display: grid; min-height: 454px; grid-area: 1 / 1; grid-template-columns: minmax(0, .77fr) minmax(0, 1.13fr); gap: 58px; align-items: center; padding: 47px 49px; opacity: 0; pointer-events: none; transform: translateY(4px); transition: opacity 210ms ease, transform 220ms cubic-bezier(.22,.61,.36,1); }
.niche-panel.is-active { z-index: 1; opacity: 1; pointer-events: auto; transform: translateY(0); }
.niche-panel-index { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 20px; color: #6b7480; font-size: 11px; font-weight: 850; letter-spacing: .095em; text-transform: uppercase; }
.niche-panel-index::after { content: ""; width: 31px; height: 1px; background: #a5adb6; }
.niche-panel-copy h3 { max-width: 430px; margin: 0 0 15px; color: #25282d; font-size: clamp(30px, 3vw, 42px); letter-spacing: -.052em; line-height: 1.06; }
.niche-panel-copy > p { max-width: 410px; margin-bottom: 27px; color: #5d6269; font-size: 15px; line-height: 1.7; }
.niche-cta { display: inline-flex; align-items: center; gap: 9px; padding-bottom: 4px; color: #2b3037; font-size: 13px; font-weight: 850; border-bottom: 1px solid rgba(43,48,55,.32); }
.niche-cta span { font-size: 16px; }
.niche-questions { position: relative; margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(48,53,60,.12); }
.niche-questions::before { content: ""; position: absolute; z-index: 0; top: 38px; bottom: 38px; left: 15.5px; width: 1px; background: linear-gradient(180deg, #91a8c3, rgba(106,127,151,.22)); box-shadow: 0 0 10px rgba(120,149,183,.2); }
.niche-questions li { position: relative; z-index: 1; display: grid; grid-template-columns: 38px 1fr; gap: 16px; align-items: start; padding: 22px 0; border-bottom: 1px solid rgba(48,53,60,.12); }
.niche-questions li > span { position: relative; z-index: 2; display: grid; width: 32px; height: 32px; place-items: center; color: #5e7188; background: linear-gradient(145deg, #f2f5f7, #dde3e8); border: 1px solid rgba(94,113,136,.17); border-radius: 10px; box-shadow: 0 5px 13px rgba(43,57,74,.07), inset 0 1px 0 #fff; font-size: 10px; font-weight: 850; }
.niche-questions p { margin: 3px 0 0; color: #33373d; font-size: 16px; font-weight: 750; line-height: 1.5; }

.faq { padding-top: 124px; overflow-anchor: none; background: radial-gradient(circle at 50% 0, rgba(124,139,163,.07), transparent 28%), #f7f7f5; border-top: 0; }
.faq-layout { display: block; max-width: 980px; }
.faq-heading { max-width: 900px; margin: 0 auto 47px; text-align: center; }
.faq-heading .eyebrow { justify-content: center; }
.faq-heading h2 { margin-bottom: 18px; }
.faq-heading > p:last-child { max-width: 680px; margin: 0 auto; color: #66636a; font-size: 16px; line-height: 1.7; }
.faq-list { padding: 12px 20px 18px; background: rgba(255,255,255,.72); border: 1px solid rgba(42,41,44,.1); border-radius: 30px; box-shadow: inset 0 1px 0 #fff, 0 23px 52px rgba(31,29,34,.07); }
.faq-list-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 17px 13px 19px; color: #79767d; border-bottom: 1px solid rgba(42,41,44,.1); }
.faq-list-head div { display: grid; gap: 4px; }
.faq-list-head span { font-size: 11px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.faq-list-head strong { color: #3f4146; font-size: 14px; letter-spacing: -.1px; }
.faq-list-head small { flex: none; padding: 7px 9px; color: #666c74; background: rgba(255,255,255,.7); border: 1px solid rgba(50,53,58,.09); border-radius: 99px; font-size: 10px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.faq-item { margin: 0; overflow: hidden; background: transparent; border: 0; border-bottom: 1px solid rgba(48,49,52,.1); border-radius: 0; box-shadow: none; transition: background .22s ease; }
.faq-item:last-child { border-bottom: 0; }
.faq-item:hover { background: rgba(255,255,255,.48); }
.faq-item.is-active { background: rgba(255,255,255,.78); }
.faq-item h3 { margin: 0; }
.faq-question { display: flex; width: 100%; min-height: 88px; align-items: center; justify-content: space-between; gap: 22px; padding: 19px 13px; color: #34363b; text-align: left; background: transparent; border: 0; }
.faq-question-copy { display: grid; gap: 5px; }
.faq-question-copy small { color: #656c75; font-size: 10.5px; font-weight: 850; letter-spacing: .09em; line-height: 1.2; text-transform: uppercase; }
.faq-question-copy > span { font-size: 16.5px; font-weight: 800; letter-spacing: -.4px; line-height: 1.38; }
.faq-question i { flex: none; display: grid; width: 32px; height: 32px; place-items: center; color: #5e6570; background: rgba(101,112,128,.09); border: 1px solid rgba(90,98,108,.09); border-radius: 50%; font-size: 19px; font-style: normal; font-weight: 400; transition: transform .3s cubic-bezier(.22,.61,.36,1), color .22s ease, background .22s ease; }
.faq-question:hover i { color: #2d333b; background: rgba(101,112,128,.14); }
.faq-question:focus-visible { outline: 2px solid rgba(77,104,143,.55); outline-offset: -3px; border-radius: 16px; }
.faq-question[aria-expanded="true"] { color: #1f2227; }
.faq-question[aria-expanded="true"] .faq-question-copy small { color: #647c9d; }
.faq-question[aria-expanded="true"] i { color: #fff; background: #343b45; transform: rotate(45deg); }
.faq-answer {
  display: grid;
  grid-template-rows: 0fr;
  padding: 0 67px 0 13px;
  opacity: 0;
  transition:
    grid-template-rows .42s cubic-bezier(.22,.61,.36,1),
    padding-bottom .42s cubic-bezier(.22,.61,.36,1),
    opacity .28s ease;
}
.faq-answer[hidden] { display: none; }
.faq-answer.is-open { grid-template-rows: 1fr; padding-bottom: 22px; opacity: 1; }
.faq-answer > p { min-height: 0; margin: 0; overflow: hidden; color: #555960; font-size: 14.5px; line-height: 1.7; }
.faq-answer strong { color: #35343a; }

.contact { padding-top: 120px; padding-bottom: 120px; }
.contact-card { display: grid; grid-template-columns: .9fr 1fr; gap: 75px; padding: 61px 63px; overflow: hidden; color: white; background: linear-gradient(128deg, #242426, #343137); border-radius: 36px; box-shadow: 0 29px 55px rgba(33,29,39,.16); }
.contact-card::before { content: ""; position: absolute; width: 440px; height: 440px; right: -210px; bottom: -300px; border: 53px solid rgba(146,112,255,.23); border-radius: 50%; transform: rotate(24deg); }
.eyebrow-light { color: #c5becf; }
.contact-copy { position: relative; z-index: 1; }
.contact-copy h2 { max-width: 490px; margin-bottom: 16px; color: white; }
.contact-copy h2 span { color: #c3b3f5; }
.contact-copy > p:not(.eyebrow) { max-width: 460px; color: #dad7de; font-size: 15.5px; line-height: 1.7; }
.contact-details { display: grid; gap: 10px; margin-top: 29px; color: #eeecf0; font-size: 12.5px; font-weight: 700; }
.contact-details i { display: inline-grid; width: 17px; height: 17px; margin-right: 7px; place-items: center; color: #bba6ff; font-style: normal; border-radius: 50%; background: rgba(158,127,250,.18); }
.contact-form { position: relative; z-index: 1; display: grid; gap: 13px; padding: 24px; color: #3c3841; background: #f8f7f7; border-radius: 23px; }
.contact-form label { display: grid; gap: 6px; color: #514c56; font-size: 12px; font-weight: 800; }
.form-row-split { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.contact-form input, .contact-form select, .contact-form textarea { width: 100%; padding: 11px 12px; color: #302d33; background: white; border: 1px solid #e0dce4; border-radius: 10px; font-size: 15px; outline: none; transition: border .2s ease, box-shadow .2s ease; resize: vertical; }
.contact-form input::placeholder, .contact-form textarea::placeholder { color: #aaa5af; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-color: #8e6bf0; box-shadow: 0 0 0 3px rgba(118,80,232,.14); }
.contact-form input[aria-invalid="true"], .contact-form select[aria-invalid="true"], .contact-form textarea[aria-invalid="true"] { border-color: #bc4d52; box-shadow: 0 0 0 3px rgba(188,77,82,.1); }
.contact-form label.has-error { color: #934047; }
.contact-field-error { margin: -1px 2px 1px; color: #a53f48; font-size: 11px; font-weight: 700; line-height: 1.35; }
.contact-field-error[hidden] { display: none; }
.contact-form textarea { min-height: 76px; }
.submit-button { width: 100%; min-height: 48px; margin-top: 3px; border-radius: 12px; font-size: 14px; }
.form-feedback { min-height: 0; margin: -3px 3px 0; color: #8066d2; font-size: 10px; font-weight: 700; line-height: 1.4; }
.form-feedback[data-state="error"] { color: #b5474f; }
.form-feedback[data-state="success"] { color: #5e4aad; }
.form-feedback:empty { display: none; }

.site-footer { padding: 0 0 36px; }
.footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 25px; border-top: 1px solid var(--line); }
.brand-footer { font-size: 16px; }
.brand-footer .brand-symbol { width: 25px; height: 25px; border-radius: 8px; }
.brand-footer .brand-symbol svg { width: 18px; }
.footer-inner p { margin: 0; color: #78757b; font-size: 11.5px; font-weight: 600; }
.floating-cta { position: fixed; z-index: 15; right: 22px; bottom: 21px; display: inline-flex; align-items: center; gap: 8px; min-height: 46px; padding: 0 15px; color: white; background: #28272a; border: 1px solid rgba(255,255,255,.18); border-radius: 14px; box-shadow: 0 12px 26px rgba(28,27,29,.22); font-size: 11px; font-weight: 800; transition: opacity .2s ease, transform .2s ease; }
.floating-cta:hover { transform: translateY(-2px); }
.floating-cta.is-suppressed, .floating-cta.is-suppressed:hover { opacity: 0; pointer-events: none; transform: translateY(10px); }
.whatsapp-mark { display: grid; width: 21px; height: 21px; place-items: center; color: #fff; background: #25d366; border-radius: 50%; }
.whatsapp-mark svg { width: 13px; height: 15px; fill: currentColor; }

.js .reveal { opacity: 0; transform: translateY(17px); transition: opacity .65s ease, transform .65s cubic-bezier(.22,.61,.36,1); }
.js .hero-copy.reveal { opacity: 1; transform: none; transition: none; }
.reveal.is-visible { opacity: 1; transform: translateY(0); }
.reveal-delay { transition-delay: .11s; }
.reveal-delay-2 { transition-delay: .2s; }

.js .benefit-card.reveal {
  opacity: 0;
  filter: blur(6px);
  transform: translateY(38px) scale(.965);
  transition: opacity .72s ease, filter .72s ease, transform .82s cubic-bezier(.16,1,.3,1), border-color .24s ease, box-shadow .24s ease;
}
.benefit-card.reveal.is-visible { opacity: 1; filter: blur(0); transform: translateY(0) scale(1); }
.benefits-grid .benefit-card:nth-child(1) { transition-delay: 0s; }
.benefits-grid .benefit-card:nth-child(2) { transition-delay: .09s; }
.benefits-grid .benefit-card:nth-child(3) { transition-delay: .18s; }
.benefits-grid .benefit-card:nth-child(4) { transition-delay: .12s; }
.benefits-grid .benefit-card:nth-child(5) { transition-delay: .21s; }
.benefits-grid .benefit-card:nth-child(6) { transition-delay: .3s; }

@media (hover: hover) and (pointer: fine) {
  .benefit-card.reveal.is-visible:hover {
    transform: translateY(-6px) scale(1.008);
    border-color: rgba(96,105,118,.2);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.98), 0 24px 47px rgba(31,29,34,.1);
  }
  .benefit-card-dark.reveal.is-visible:hover { box-shadow: inset 0 1px 0 rgba(255,255,255,.14), 0 25px 50px rgba(31,29,34,.22); }
}

@media (hover: hover) and (pointer: fine) {
  .plans-grid:has(.plan-card:hover, .plan-card:focus-within) .plan-card:not(:hover):not(:focus-within) {
    opacity: .78;
    filter: saturate(.72);
    transform: translateY(5px) scale(.985);
  }
  .plans-grid .plan-card:hover,
  .plans-grid .plan-card:focus-within {
    z-index: 4;
    transform: translateY(-10px) scale(1.018);
  }
  .plans-grid .plan-light:hover,
  .plans-grid .plan-light:focus-within { box-shadow: 0 31px 68px rgba(31,29,34,.16); }
  .plans-grid .plan-featured:hover,
  .plans-grid .plan-featured:focus-within { box-shadow: 0 34px 72px rgba(8,78,204,.38), inset 0 1px 0 rgba(255,255,255,.28); }
  .plans-grid .plan-dark:hover,
  .plans-grid .plan-dark:focus-within { box-shadow: 0 34px 70px rgba(28,26,31,.31); }
  .plans-grid .plan-custom:hover,
  .plans-grid .plan-custom:focus-within { box-shadow: 0 35px 72px rgba(5,57,98,.35), inset 0 1px 0 rgba(255,255,255,.2); }
}

@media (max-width: 1030px) {
  .hero-layout { grid-template-columns: minmax(0, 1fr) minmax(390px, .86fr); gap: 28px; }
  .hero-visual { min-height: 380px; }
  .method-layout { gap: 65px; }
  .niches-heading { gap: 45px; }
  .niche-explorer { grid-template-columns: 244px minmax(0, 1fr); gap: 12px; }
  .niche-panel { gap: 35px; padding: 39px 35px; }
  .contact-card { gap: 42px; padding: 49px; }
}
@media (max-width: 860px) {
  body { touch-action: pan-y pinch-zoom; }
  .contact-form input, .contact-form select, .contact-form textarea { font-size: 16px; }
  .section { padding: 88px 0; }
  .orb-top { width: 165px; height: 165px; right: 0; top: 3px; transform: none; }
  .contracting-banner { margin-top: 0; }
  .contracting-banner-inner { width: min(calc(100% - 32px), var(--container)); padding: 29px 22px 28px; border-radius: 22px; }
  .contracting-banner h1 { font-size: 31px; }
  .contracting-banner p:not(.contracting-kicker) { font-size: 15px; }
  .orb-top::after { width: 72px; height: 72px; top: 46px; left: 46px; }
  .site-header { padding: 16px 0; }
  .desktop-nav, .header-cta { display: none; }
  .menu-toggle { display: grid; width: 43px; height: 40px; padding: 0; place-content: center; gap: 6px; background: rgba(255,255,255,.55); border: 1px solid rgba(38,38,39,.12); border-radius: 12px; }
  .menu-toggle span { display: block; width: 17px; height: 1.5px; background: #363238; transition: transform .2s ease; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3.75px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3.75px) rotate(-45deg); }
  .mobile-nav { position: absolute; z-index: 3; top: calc(100% + 2px); left: 24px; right: 24px; display: grid; gap: 2px; padding: 11px; background: rgba(250,250,249,.97); border: 1px solid rgba(38,38,39,.11); border-radius: 17px; box-shadow: 0 16px 31px rgba(39,36,43,.12); backdrop-filter: blur(12px); }
  .mobile-nav[hidden] { display: none; }
  .mobile-nav > a:not(.button) { padding: 11px 9px; color: #504c54; font-size: 13px; font-weight: 700; }
  .button-mobile-menu { width: 100%; min-height: 45px; margin-top: 5px; color: white; background: var(--dark); border-radius: 11px; }
  .hero { padding-top: 65px; }
  .hero-layout { grid-template-columns: 1fr; gap: 25px; }
  .hero-copy { max-width: 680px; }
  .hero-visual { width: min(100%, 590px); min-height: 412px; margin: 0 auto; }
  .plans-grid { grid-template-columns: repeat(2, 1fr); }
  .plan-dark { grid-column: 1 / -1; min-height: auto; }
  .plan-dark .feature-list { grid-template-columns: repeat(2, 1fr); }
  .method-layout { grid-template-columns: 1fr; gap: 45px; }
  .method-copy { position: relative; top: auto; }
  .method-copy { max-width: 720px; }
  .method-copy h2 { max-width: 650px; }
  .benefits-grid { grid-template-columns: repeat(2, 1fr); }
  .site-care-heading { grid-template-columns: 1fr; gap: 20px; }
  .site-care-heading > p { max-width: 680px; }
  .site-care-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-care-card:last-child { grid-column: 1 / -1; min-height: 0; }
  .niches-heading { grid-template-columns: 1fr; gap: 20px; }
  .niches-heading > p { max-width: 680px; }
  .niche-explorer { grid-template-columns: 1fr; gap: 6px; min-height: 0; }
  .niche-tabs { display: flex; flex-direction: row; gap: 6px; overflow-x: auto; overscroll-behavior-x: contain; scroll-padding-inline: 4px; scroll-snap-type: x proximity; padding-bottom: 12px; scrollbar-width: none; -webkit-overflow-scrolling: touch; touch-action: pan-x pan-y; }
  .niche-tabs::-webkit-scrollbar { display: none; }
  .niche-tab { flex: 0 0 auto; width: auto; height: 49px; min-height: 49px; padding: 0 16px; scroll-snap-align: center; white-space: nowrap; }
  .niche-tab::after { display: none; }
  .niche-tab.is-active,
  .niche-tab.is-active:hover { background: var(--niche-surface); border-radius: 15px; box-shadow: inset 0 1px 0 rgba(255,255,255,.92); transform: none; }
  .niche-tab.is-active:focus-visible { box-shadow: inset 0 0 0 2px rgba(113,140,172,.52), inset 0 1px 0 rgba(255,255,255,.92); }
  .niche-panel { min-height: 430px; grid-template-columns: minmax(0, .8fr) minmax(0, 1.1fr); gap: 34px; padding: 38px 32px; }
  .contact-card { grid-template-columns: 1fr; gap: 29px; }
  .site-footer { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
  .floating-cta {
    position: fixed;
    z-index: 2147483000;
    right: auto;
    bottom: 16px;
    bottom: calc(16px + env(safe-area-inset-bottom, 0px));
    left: calc(100vw - 70px);
    display: flex;
    width: 54px;
    max-width: 54px;
    height: 54px;
    min-height: 54px;
    align-items: center;
    justify-content: center;
    gap: 0;
    padding: 0;
    margin: 0;
    overflow: visible;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    touch-action: manipulation;
    color: #fff;
    background: #25d366;
    border: 1px solid rgba(255,255,255,.72);
    border-radius: 50%;
    box-shadow: 0 13px 29px rgba(20,111,53,.32);
    font-size: 0;
    white-space: nowrap;
    transform: none;
    isolation: isolate;
  }
  @supports (width: 100dvw) {
    .floating-cta { left: calc(100dvw - 70px - env(safe-area-inset-right, 0px)); }
  }
  .floating-cta > span:last-child { display: none; }
  .floating-cta .whatsapp-mark { display: grid; flex: 0 0 28px; width: 28px; height: 28px; place-items: center; color: #fff; background: transparent; }
  .floating-cta .whatsapp-mark svg { display: block; width: 20px; height: 22px; }
}
@media (max-width: 720px) {
  .niche-panel { min-height: 0; grid-template-columns: 1fr; gap: 31px; padding: 32px 25px 26px; }
}
@media (max-width: 600px) {
  .container { width: min(calc(100% - 32px), var(--container)); }
  .page-grid { height: 750px; background-size: 40px 40px; }
  .page-grid::after { background-size: 40px 40px; }
  .orb-top { width: 135px; height: 135px; right: 0; top: 3px; transform: none; }
  .orb-top::after { width: 60px; height: 60px; top: 38px; left: 38px; }
  .orb-left { top: 670px; width: 75px; height: 75px; left: -37px; }
  .brand { font-size: 18px; }
  .hero { padding-top: 59px; padding-bottom: 72px; }
  h1 { margin-bottom: 19px; font-size: clamp(38px, 11vw, 52px); line-height: 1.08; }
  .hero-copy h1 { font-size: clamp(40px, 10.3vw, 52px); line-height: 1.04; }
  h2 { font-size: clamp(33px, 9vw, 44px); }
  .hero-text { margin-bottom: 25px; font-size: 15px; line-height: 1.68; }
  .hero-actions { width: 100%; align-items: stretch; gap: 19px; }
  .hero-actions .button { width: 100%; }
  .hero-actions .text-link { align-self: center; font-size: 15px; }
  .hero-proof { width: 100%; margin-top: 29px; gap: 8px; font-size: 13.5px; }
  .hero-visual { min-height: 320px; padding: 31px 1px 0; }
  .dashboard-card { padding: 17px 16px 15px; border-radius: 23px; }
  .dashboard-top strong { font-size: 14px; }
  .status-pill { padding: 5px 7px; font-size: 8px; }
  .dashboard-chart { margin-top: 17px; }
  .chart-labels { top: 11px; right: 10px; gap: 7px; font-size: 7px; }
  .dashboard-metrics div { padding: 8px 7px; }
  .dashboard-metrics strong { font-size: 8px; }
  .dashboard-metrics span { font-size: 8px; }
  .floating-note { padding: 8px 9px; font-size: 8px; border-radius: 10px; }
  .note-icon { width: 16px; height: 16px; border-radius: 5px; font-size: 9px; }
  .note-top { top: 3px; right: -2px; }
  .note-bottom { bottom: 7px; left: -2px; }
  .trust-items { grid-template-columns: repeat(2, 1fr); }
  .trust-items span { padding: 16px 9px; font-size: 12.5px; line-height: 1.4; }
  .trust-items span:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  .trust-items span:nth-child(4) { border-top: 1px solid var(--line); }
  .section-heading { margin-bottom: 35px; }
  .section-heading > p:last-child { font-size: 15.5px; }
  .plans { padding-top: 79px; padding-bottom: 75px; }
  .service-choice { margin-top: -3px; }
  .service-choice-intro { margin-bottom: 14px; font-size: 12.5px; }
  .service-selector { grid-template-columns: 1fr; gap: 7px; padding: 7px; border-radius: 22px; }
  .service-option { min-height: 104px; gap: 14px; padding: 18px; border-radius: 16px; }
  .service-option strong { font-size: 16px; }
  .service-option-mark { width: 36px; height: 36px; flex-basis: 36px; }
  .service-choice-prompt { max-width: 270px; margin-right: auto; margin-left: auto; line-height: 1.5; }
  .service-plan-panel { margin-top: 41px; }
  .service-panel-heading { margin-bottom: 30px; }
  .service-panel-heading h3 { font-size: clamp(30px, 8.7vw, 39px); }
  .service-panel-heading > p:last-child { font-size: 14.5px; }
  .plans-grid { grid-template-columns: 1fr; gap: 18px; }
  #site-plans .plans-grid { grid-template-columns: 1fr; }
  .plan-card { min-height: 0; padding: 15px; border-radius: 28px; }
  .js .plan-card.reveal:not(.is-visible) { opacity: 0; transform: translateY(24px) scale(.975); }
  .plan-card.reveal.is-visible { opacity: .88; filter: saturate(.88); transform: translateY(5px) scale(.985); }
  .plan-card.reveal.is-visible.is-current { z-index: 2; opacity: 1; filter: saturate(1); transform: translateY(-3px) scale(1); }
  .plan-light.reveal.is-visible.is-current { box-shadow: 0 28px 62px rgba(31,29,34,.15); }
  .plan-featured.reveal.is-visible.is-current { box-shadow: 0 30px 66px rgba(8,78,204,.36), inset 0 1px 0 rgba(255,255,255,.28); }
  .plan-dark.reveal.is-visible.is-current { box-shadow: 0 30px 64px rgba(28,26,31,.29); }
  .plan-head { min-height: 116px; padding: 18px; border-radius: 18px; }
  .plan-head p { margin-top: 13px; font-size: 14.5px; }
  .plan-price { margin: 23px 18px 3px; font-size: 39px; }
  .plan-price-block { margin: 19px 18px 3px; }
  .plan-price-block .plan-price { margin: 0; }
  .plan-description { min-height: auto; margin: 9px 18px 19px; }
  .feature-list { margin: 0 18px 23px; }
  .plan-dark { grid-column: auto; }
  .plan-dark .feature-list { grid-template-columns: 1fr; }
  .plan-button { width: calc(100% - 36px); margin-right: 18px; margin-left: 18px; }
  .plan-note { align-items: flex-start; justify-content: flex-start; gap: 7px; max-width: 330px; line-height: 1.5; text-align: left; }
  .plan-note-copy { flex: 1 1 auto; min-width: 0; }
  .method { padding: 77px 0; }
  .method-layout { gap: 34px; }
  .method-lead { color: #f1f3f6; font-size: 16px; line-height: 1.7; }
  .method-cta { width: 100%; }
  .method-roadmap-head { align-items: flex-start; flex-direction: column; gap: 4px; }
  .steps-list li { grid-template-columns: 42px 1fr; gap: 12px; padding: 19px 17px; border-radius: 18px; }
  .step-number { width: 36px; height: 36px; border-radius: 10px; }
  .steps-list h3 { font-size: 18px; }
  .steps-list p { font-size: 14px; }
  .benefits { padding-top: 78px; padding-bottom: 82px; }
  .benefits-grid { grid-template-columns: 1fr; gap: 11px; }
  .benefits-grid .benefit-card { transition-delay: 0s; }
  .benefit-card { min-height: 214px; padding: 22px; }
  .benefit-icon { margin-bottom: 42px; }
  .operation-signals { gap: 8px; }
  .site-care { padding-top: 78px; padding-bottom: 80px; }
  .site-care-heading { margin-bottom: 30px; }
  .site-care-heading > p { font-size: 15px; }
  .site-care-grid { grid-template-columns: 1fr; gap: 11px; }
  .site-care-card,
  .site-care-card:last-child { min-height: 0; grid-column: auto; padding: 22px; border-radius: 20px; }
  .site-care-card-top { margin-bottom: 31px; }
  .site-care-note { justify-content: flex-start; margin-top: 21px; text-align: left; }
  .niches { padding-top: 82px; padding-bottom: 82px; }
  .niches-heading { margin-bottom: 31px; }
  .niches-heading > p { font-size: 15px; }
  .niche-explorer { padding: 7px; border-radius: 27px; }
  .niche-tabs { padding: 4px 3px 12px; }
  .niche-stage { border-radius: 21px; }
  .niche-panel { min-height: 0; grid-template-columns: 1fr; gap: 31px; padding: 28px 22px 24px; }
  .niche-panel-copy h3 { font-size: clamp(30px, 9vw, 39px); }
  .niche-panel-copy > p { margin-bottom: 20px; font-size: 14.5px; }
  .niche-questions li { grid-template-columns: 35px 1fr; gap: 13px; padding: 18px 0; }
  .niche-questions p { font-size: 15.5px; }
  .faq { padding-top: 78px; }
  .faq-heading { margin-bottom: 31px; }
  .faq-heading h2 { font-size: clamp(33px, 9vw, 43px); }
  .faq-heading > p:last-child { font-size: 15px; }
  .faq-list { padding: 7px 12px 10px; border-radius: 23px; }
  .faq-list-head { align-items: flex-start; flex-direction: column; gap: 9px; padding: 14px 10px 13px; }
  .faq-list-head small { padding: 6px 8px; }
  .faq-item { border-radius: 0; }
  .faq-question { min-height: 79px; gap: 12px; padding: 16px 8px; }
  .faq-question-copy { gap: 5px; }
  .faq-question-copy > span { font-size: 16px; letter-spacing: -.3px; }
  .faq-question i { width: 30px; height: 30px; }
  .faq-answer { padding-right: 45px; padding-left: 8px; }
  .faq-answer.is-open { padding-bottom: 16px; }
  .faq-answer p { font-size: 14.5px; line-height: 1.68; }
  .contact { padding-top: 78px; padding-bottom: 81px; }
  .contact-card { gap: 25px; padding: 33px 19px 19px; border-radius: 27px; }
  .contact-copy { padding: 0 5px; }
  .contact-copy > p:not(.eyebrow) { font-size: 15px; }
  .contact-details { font-size: 12px; }
  .contact-form { padding: 18px; border-radius: 17px; }
  .contact-form input, .contact-form select, .contact-form textarea { font-size: 16px; }
  .form-row-split { grid-template-columns: 1fr; gap: 12px; }
  .site-footer { padding-bottom: calc(92px + env(safe-area-inset-bottom, 0px)); }
  .footer-inner {
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 0;
    padding: 29px 18px 0;
    text-align: center;
  }
  .brand-footer { margin-bottom: 14px; font-size: 17px; }
  .brand-footer .brand-symbol { width: 29px; height: 29px; border-radius: 9px; }
  .brand-footer .brand-symbol svg { width: 20px; }
  .footer-inner p { width: 100%; line-height: 1.55; }
  .footer-inner p:nth-of-type(1) {
    order: initial;
    margin-bottom: 13px;
    color: #5f5c63;
    font-size: 12px;
    font-weight: 700;
  }
  .footer-inner p:nth-of-type(2) {
    max-width: 230px;
    padding-top: 12px;
    color: #8a878e;
    border-top: 1px solid rgba(38,38,39,.09);
    font-size: 10.5px;
    letter-spacing: .035em;
  }
}

/* Contratação individual: superfície editorial separada da navegação comercial. */
.contracting-shell { padding: 42px 0 28px; background: transparent; }
.contracting-panel { max-width: 940px; padding: 34px; border: 1px solid rgba(22, 29, 40, .1); border-radius: 28px; background: rgba(255,255,255,.86); box-shadow: 0 20px 60px rgba(19, 27, 39, .08); }
.contracting-banner--unavailable .contracting-panel { max-width: 760px; }
.contracting-topline { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.contracting-kicker, .contracting-eyebrow { margin: 0; color: #667085; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.contracting-kicker span { display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 999px; background: #53b883; }
.contracting-return { color: #394150; font-size: 13px; font-weight: 700; text-decoration: none; }
.contract-progress { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; margin: 29px 0 38px; padding: 0; list-style: none; }
.contract-progress li { display: flex; align-items: center; gap: 8px; color: #9aa0aa; font-size: 12px; font-weight: 700; }
.contract-progress-marker { display: grid; width: 24px; height: 24px; flex: 0 0 auto; place-items: center; border: 1px solid #d9dde4; border-radius: 50%; background: #fff; font-size: 11px; }
.contract-progress-label { min-width: 0; }
.contract-progress-label--compact { display: none; }
.contract-progress .is-done, .contract-progress .is-current { color: #1d2734; }
.contract-progress .is-done .contract-progress-marker { border-color: #1f2937; background: #1f2937; color: #fff; }
.contract-progress .is-current .contract-progress-marker { border-color: #1f2937; box-shadow: 0 0 0 4px rgba(31,41,55,.08); }
.contracting-copy { max-width: 690px; }
.contracting-copy h1 { margin: 10px 0 12px; color: #1e2632; font-size: clamp(32px, 4vw, 52px); line-height: .98; letter-spacing: -.06em; }
.contracting-copy > p:last-child { max-width: 650px; margin: 0; color: #5e6775; font-size: 17px; line-height: 1.65; }
.contracting-copy > .contracting-company-context { max-width: 650px; margin: 14px 0 0; color: #485566; font-size: 13px; font-weight: 650; line-height: 1.5; }
.contracting-company-context strong { color: #1e2938; }
.contracting-continue { display: inline-flex; margin-top: 28px; }
.contracting-party-choice { margin-top: 28px; }
.contracting-party-choice fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.contracting-party-choice legend { color: #273241; font-size: 19px; font-weight: 800; letter-spacing: -.035em; }
.contracting-party-choice fieldset > p { max-width: 650px; margin: 8px 0 16px; color: #697485; font-size: 13px; line-height: 1.55; }
.contracting-party-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.contracting-party-option { position: relative; display: block; min-width: 0; cursor: pointer; }
.contracting-party-option input { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.contracting-party-option span { display: grid; min-height: 92px; gap: 6px; box-sizing: border-box; padding: 18px; border: 1px solid #d9dee6; border-radius: 16px; background: linear-gradient(135deg, #fff, #f7f9fc); box-shadow: inset 0 1px rgba(255,255,255,.9); color: #253142; transition: border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease; }
.contracting-party-option strong { font-size: 15px; letter-spacing: -.02em; }
.contracting-party-option small { color: #6f7a89; font-size: 12px; font-weight: 560; line-height: 1.45; }
.contracting-party-option:hover span { border-color: #98a4b5; transform: translateY(-1px); }
.contracting-party-option.is-selected span, .contracting-party-option input:checked + span { border-color: #4e617d; background: linear-gradient(135deg, #f6f8fb, #edf2f7); box-shadow: 0 8px 18px rgba(33, 48, 68, .09), inset 0 1px rgba(255,255,255,.95); }
.contracting-party-option input:focus-visible + span { outline: 3px solid rgba(79, 98, 189, .25); outline-offset: 3px; }
.contracting-party-feedback { min-height: 18px; margin: 10px 0 -8px; color: #667184; font-size: 12px; font-weight: 650; }
.contracting-party-choice .button:disabled { cursor: not-allowed; opacity: .52; box-shadow: none; transform: none; }
.contracting-party-locked, .contracting-party-required { max-width: 620px; margin-top: 27px; padding: 17px 18px; border: 1px solid #dde2e8; border-radius: 16px; background: linear-gradient(135deg, #fbfcfe, #f4f6f8); }
.contracting-party-locked > span { display: block; color: #707b8b; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.contracting-party-locked strong { display: block; margin-top: 5px; color: #253142; font-size: 16px; letter-spacing: -.02em; }
.contracting-party-locked p, .contracting-party-required p { margin: 7px 0 0; color: #687385; font-size: 12px; line-height: 1.5; }
.contracting-party-required .button { margin-top: 17px; }
.contracting-commercial-summary { display: grid; grid-column: 1 / -1; gap: 12px; max-width: 760px; margin: 23px 0 0; padding: 16px 17px 17px; border: 1px solid #e1e5ea; border-radius: 16px; background: rgba(247,249,251,.78); }
.contracting-commercial-summary > p { margin: 0; color: #657080; font-size: 10px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.contracting-commercial-summary dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); gap: 9px; margin: 0; }
.contracting-commercial-summary dl > div { min-width: 0; min-height: 72px; box-sizing: border-box; padding: 11px 12px; border: 1px solid rgba(218,224,232,.9); border-radius: 12px; background: rgba(255,255,255,.82); }
.contracting-commercial-summary dt { color: #76808e; font-size: 11px; font-weight: 650; line-height: 1.35; }
.contracting-commercial-summary dd { margin: 5px 0 0; color: #2b3646; font-size: 14px; font-weight: 750; line-height: 1.35; overflow-wrap: anywhere; }
.contracting-form { margin-top: 29px; }
.contracting-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 17px; }
.contracting-form-section { display: grid; grid-column: 1 / -1; gap: 4px; padding: 5px 0 1px; border-bottom: 1px solid #e7e9ed; }
.contracting-form-section h2 { margin: 0; color: #273241; font-size: 15px; letter-spacing: -.02em; }
.contracting-form-section p { margin: 0; color: #727b88; font-size: 12px; line-height: 1.5; }
.contract-field { display: grid; gap: 7px; color: #313947; font-size: 13px; font-weight: 750; }
.contract-field input, .contract-field textarea, .contract-field select { width: 100%; min-height: 48px; box-sizing: border-box; border: 1px solid #d8dce3; border-radius: 12px; background: #fff; color: #1f2937; font: inherit; font-size: 16px; font-weight: 500; outline: none; padding: 12px 13px; transition: border-color .2s ease, box-shadow .2s ease; }
.contract-field textarea { min-height: 95px; resize: vertical; }
.contract-field select { appearance: none; cursor: pointer; padding-right: 42px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9' fill='none'%3E%3Cpath d='m1 1.5 6 6 6-6' stroke='%235b6675' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; background-size: 14px 9px; }
.contract-field input:focus, .contract-field textarea:focus, .contract-field select:focus { border-color: #4f62bd; box-shadow: 0 0 0 4px rgba(79,98,189,.11); }
.contract-field small { color: #77808c; font-size: 11px; font-weight: 500; line-height: 1.4; }
.contract-field em { min-height: 16px; color: #b42318; font-size: 12px; font-style: normal; font-weight: 600; }
.contract-field--wide { grid-column: 1 / -1; }
.contracting-due-day-field { min-width: 0; margin: 20px 0 0; padding: 17px 18px 18px; border: 1px solid #dfe4ea; border-radius: 17px; background: linear-gradient(135deg, rgba(249,250,252,.96), rgba(255,255,255,.98)); box-shadow: inset 0 1px rgba(255,255,255,.9); }
.contracting-due-day-field legend { padding: 0 7px; color: #273241; font-size: 14px; font-weight: 800; letter-spacing: -.015em; }
.contracting-due-day-field > p { max-width: 610px; margin: 3px 0 15px; color: #6e7988; font-size: 12px; line-height: 1.5; }
.contracting-due-day-options { display: flex; flex-wrap: wrap; gap: 9px; }
.contracting-due-day-option { position: relative; display: block; min-width: 72px; cursor: pointer; }
.contracting-due-day-option input { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.contracting-due-day-option span { display: grid; min-height: 42px; box-sizing: border-box; place-items: center; padding: 8px 13px; border: 1px solid #d7dde5; border-radius: 11px; background: #fff; color: #455162; font-size: 13px; font-weight: 750; transition: border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease; }
.contracting-due-day-option:hover span { border-color: #96a3b4; transform: translateY(-1px); }
.contracting-due-day-option input:checked + span { border-color: #4f627d; background: linear-gradient(135deg, #f3f6fa, #eaf0f6); box-shadow: 0 6px 14px rgba(38, 54, 75, .1); color: #28384c; }
.contracting-due-day-option input:focus-visible + span { outline: 3px solid rgba(79,98,189,.24); outline-offset: 3px; }
.contracting-due-day-field > .contracting-due-day-notice { max-width: none; margin: 14px 0 0; padding: 12px 14px; border: 1px solid rgba(79,98,189,.18); border-radius: 12px; background: rgba(79,98,189,.055); color: #47566a; font-size: 13px; line-height: 1.55; }
.contracting-due-day-notice[hidden] { display: none; }
.contracting-address { min-width: 0; grid-column: 1 / -1; margin: 1px 0 0; padding: 21px; border: 1px solid #e0e4ea; border-radius: 18px; background: linear-gradient(135deg, rgba(248,249,251,.94), rgba(255,255,255,.98)); }
.contracting-address legend { padding: 0 8px; color: #273241; font-size: 14px; font-weight: 800; }
.contracting-address-help { max-width: 620px; margin: 0 0 19px; color: #6c7684; font-size: 12px; line-height: 1.5; }
.contracting-address-grid { display: grid; grid-template-columns: minmax(0, .74fr) minmax(0, 1.26fr); gap: 17px; }
.contracting-address-grid > * { min-width: 0; }
.contract-field--address-cep, .contract-field--address-street, .contract-field--address-neighborhood { grid-column: 1 / -1; }
.contract-field--address-cep { max-width: 245px; }
.contract-field--address-number { grid-column: 1; }
.contract-field--address-complement { grid-column: 2; }
.contract-field--address-city { grid-column: 1; }
.contract-field--address-state { grid-column: 2; max-width: 195px; }
.cep-lookup-status { display: flex; grid-column: 1 / -1; min-height: 18px; align-items: center; gap: 8px; margin: -10px 0 -2px; color: #667080; font-size: 12px; font-weight: 600; line-height: 1.45; }
.cep-lookup-status[data-state="loading"] { color: #4f62bd; }
.cep-lookup-status[data-state="loading"]::before { width: 14px; height: 14px; flex: 0 0 auto; box-sizing: border-box; border: 2px solid rgba(79,98,189,.2); border-top-color: #4f62bd; border-radius: 50%; animation: payment-loading-spin .72s linear infinite; content: ""; }
.cep-lookup-status[data-state="error"] { color: #aa4a37; }
.cep-lookup-status[data-state="success"] { color: #3f765b; }
.cep-lookup-status[data-state="success"]::before { display: grid; width: 17px; height: 17px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: #3f765b; color: #fff; font-size: 11px; line-height: 1; content: "✓"; }
.contracting-privacy { max-width: 650px; margin: 18px 0 13px; color: #717a87; font-size: 12px; line-height: 1.55; }
.contracting-form-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 11px; padding-top: 15px; border-top: 1px solid #e5e8ed; }
.contracting-form-actions .contracting-feedback { flex: 1 1 300px; margin: 0; }
.contracting-form-actions .button { flex: 0 0 auto; }
.contracting-step-back { display: inline-flex; min-height: 44px; box-sizing: border-box; align-items: center; gap: 7px; padding: 8px 3px; color: #536174; font-size: 13px; font-weight: 730; text-decoration: none; transition: color .18s ease, transform .18s ease; }
.contracting-step-back span { font-size: 17px; line-height: 1; transition: transform .18s ease; }
.contracting-step-back:hover { color: #1f2b3b; }
.contracting-step-back:hover span { transform: translateX(-2px); }
.contracting-step-back:focus-visible { border-radius: 7px; outline: 3px solid rgba(79,98,189,.24); outline-offset: 3px; }
.contracting-step-back--section { min-height: 0; margin-bottom: 18px; padding: 0; }
.payment-step-back { justify-self: start; margin-bottom: -6px; }
.contracting-feedback { min-height: 21px; margin: 0 0 11px; color: #3b4758; font-size: 13px; font-weight: 600; }
.contract-test-notice { margin: 28px 0 18px; padding: 14px 16px; border: 1px solid #f0d99b; border-radius: 13px; background: #fffbeb; color: #765817; font-size: 13px; line-height: 1.5; }
.contract-reading-summary { display: grid; gap: 18px; margin: 27px 0 20px; padding: 22px; border: 1px solid #e0e5eb; border-radius: 20px; background: linear-gradient(135deg, #fbfcfd, #f3f6f9); box-shadow: inset 0 1px rgba(255,255,255,.9), 0 12px 28px rgba(34,48,67,.045); }
.contract-reading-summary-heading { display: flex; align-items: end; justify-content: space-between; gap: 22px; padding-bottom: 16px; border-bottom: 1px solid #e0e5eb; }
.contract-reading-summary-heading > p { max-width: 390px; margin: 0; color: #697586; font-size: 13px; line-height: 1.55; }
.contract-reading-eyebrow { margin: 0 0 6px; color: #6d7888; font-size: 10px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.contract-reading-summary h2 { margin: 0; color: #263243; font-size: 22px; font-weight: 750; letter-spacing: -.04em; line-height: 1.1; }
.contract-reading-summary dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); gap: 10px; margin: 0; }
.contract-reading-summary-item { display: flex; min-width: 0; min-height: 92px; box-sizing: border-box; flex-direction: column; justify-content: space-between; padding: 15px; border: 1px solid rgba(216,223,231,.92); border-radius: 14px; background: rgba(255,255,255,.82); box-shadow: inset 0 1px rgba(255,255,255,.95); }
.contract-reading-summary-item--wide { grid-column: 1 / -1; min-height: auto; }
.contract-reading-summary dt { color: #748091; font-size: 12px; font-weight: 650; line-height: 1.35; }
.contract-reading-summary dd { margin: 10px 0 0; color: #273342; font-size: 16px; font-weight: 720; line-height: 1.35; overflow-wrap: anywhere; }
.contract-reading-summary-item--emphasis dd { color: #1f2b3b; font-size: 18px; letter-spacing: -.025em; }
.contracting-confirmation-dialog { width: min(520px, calc(100% - 30px)); max-width: none; box-sizing: border-box; padding: 0; border: 1px solid rgba(49,61,78,.16); border-radius: 24px; background: #fff; color: #243143; box-shadow: 0 28px 90px rgba(21,31,45,.27); }
.contracting-confirmation-dialog::backdrop { background: rgba(18,27,40,.48); backdrop-filter: blur(5px); }
.contracting-confirmation-dialog[open] { animation: contracting-confirmation-in .22s ease-out both; }
.contracting-confirmation-dialog-inner { position: relative; padding: 28px; }
.contracting-confirmation-close { position: absolute; top: 18px; right: 18px; display: grid; width: 34px; height: 34px; padding: 0; place-items: center; border: 1px solid #dce2e9; border-radius: 50%; background: #f8fafc; color: #5e6978; font: inherit; font-size: 20px; line-height: 1; cursor: pointer; }
.contracting-confirmation-dialog h2 { max-width: 390px; margin: 7px 42px 9px 0; color: #202b39; font-size: 28px; font-weight: 760; letter-spacing: -.045em; line-height: 1.08; }
.contracting-confirmation-dialog #contracting-data-confirmation-description { max-width: 430px; margin: 0; color: #637082; font-size: 14px; line-height: 1.58; }
.contracting-data-attestation { display: flex; align-items: flex-start; gap: 12px; margin-top: 21px; padding: 16px; border: 1px solid #dce2e9; border-radius: 15px; background: linear-gradient(135deg, #f8fafc, #f2f5f8); color: #2e3948; font-size: 13px; font-weight: 650; line-height: 1.55; cursor: pointer; }
.contracting-data-attestation input { width: 19px; height: 19px; flex: 0 0 auto; margin: 1px 0 0; accent-color: #4f62bd; }
.contracting-data-attestation:has(input:checked) { border-color: rgba(70,104,84,.36); background: linear-gradient(135deg, #f5faf7, #edf6f1); }
.contracting-confirmation-hint { margin: 11px 2px 0; color: #788290; font-size: 11px; line-height: 1.5; }
.contracting-confirmation-feedback { min-height: 19px; margin: 10px 2px 0; color: #495a70; font-size: 12px; font-weight: 650; line-height: 1.45; }
.contracting-confirmation-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; margin-top: 17px; }
.contracting-confirmation-actions .button { min-height: 49px; border-radius: 14px; }
.contracting-confirmation-actions .button:disabled { cursor: not-allowed; opacity: .5; box-shadow: none; transform: none; }
@keyframes contracting-confirmation-in {
  from { opacity: 0; transform: translateY(10px) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.contract-reading-preview { margin-top: 23px; }
.contract-reading-preview-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 12px; }
.contract-reading-preview-heading h2 { margin: 0; color: #222d3d; font-size: 22px; font-weight: 750; letter-spacing: -.045em; line-height: 1.12; }
.contract-reading-preview-heading > p { flex: 0 0 auto; margin: 0; color: #687587; font-size: 11px; font-weight: 760; letter-spacing: .03em; text-transform: uppercase; }
.contract-document { position: relative; box-sizing: border-box; padding: 34px 38px; border: 1px solid #e0e5ea; border-radius: 18px; background: #fff; color: #27313e; font-family: "DM Sans", Arial, sans-serif; font-size: 15px; font-weight: 400; line-height: 1.72; overflow-wrap: anywhere; box-shadow: 0 12px 30px rgba(36, 48, 66, .045); }
.contract-document--preview { height: 368px; overflow: hidden; }
.contract-document-content { position: relative; z-index: 0; }
.contract-preview-fade { position: absolute; z-index: 1; right: 0; bottom: 0; left: 0; height: 142px; background: linear-gradient(to bottom, rgba(255,255,255,0), #fff 78%); pointer-events: none; }
.contract-document h1 { margin: 0 0 8px; color: #1f2937; font-family: inherit; font-size: 19px; font-weight: 720; letter-spacing: -.025em; line-height: 1.3; text-align: center; }
.contract-document-plan { margin-top: 0; color: #485362; font-size: 13px; font-weight: 620; text-align: center; }
.contract-document p { margin: 0 0 20px; font-weight: 400; }
.contract-document .contract-clause { margin: 30px 0 9px; }
.contract-document .contract-clause h2 { margin: 0; color: #1e2938; font-family: inherit; font-size: 14px; font-weight: 720; letter-spacing: .005em; line-height: 1.45; }
.contract-reading-footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 14px; }
.contract-preview-note { max-width: 480px; margin: 0; color: #697585; font-size: 13px; line-height: 1.55; }
.contract-reading-links { display: flex; flex: 0 0 auto; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 17px; margin: 0; }
.contract-reading-link { display: inline-flex; min-height: 40px; box-sizing: border-box; align-items: center; gap: 7px; padding: 7px 0 5px; border-bottom: 1px solid rgba(40,54,73,.25); color: #273548; font-size: 13px; font-weight: 760; line-height: 1.25; text-decoration: none; transition: border-color .18s ease, color .18s ease; }
.contract-reading-link span { font-size: 14px; transition: transform .18s ease; }
.contract-reading-link:hover { border-color: #273548; color: #111c2b; }
.contract-reading-link:hover span { transform: translate(2px, -2px); }
.contract-reading-link:focus-visible { border-radius: 5px; outline: 3px solid rgba(79,98,189,.24); outline-offset: 3px; }
.contract-reading-link--secondary { border-bottom-color: transparent; color: #687587; font-weight: 700; }
.contract-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px; margin-top: 20px; }
.contract-actions .contracting-feedback { flex-basis: 100%; }
.contract-actions--review { justify-content: space-between; padding-top: 20px; border-top: 1px solid #e4e8ed; }
.button-ghost { border: 1px solid #cdd2da; background: #fff; color: #252e3b; }
.signature-panel, .signature-success { margin-top: 22px; padding: 26px; border: 1px solid rgba(53, 65, 83, .14); border-radius: 19px; background: linear-gradient(135deg, #fbfcfe, #f2f5f8); box-shadow: inset 0 1px rgba(255,255,255,.86), 0 14px 34px rgba(27, 38, 54, .06); }
.signature-panel h2, .signature-success h2 { margin: 6px 0 8px; color: #1e2938; font-size: clamp(22px, 3vw, 31px); letter-spacing: -.045em; }
.signature-panel > div > p:last-child, .signature-success > p:last-of-type { max-width: 590px; margin: 0; color: #5d6878; font-size: 14px; line-height: 1.6; }
.signature-status { margin: 0; color: #537060; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.signature-form { display: grid; gap: 16px; max-width: 630px; margin-top: 21px; }
.signature-form--otp { padding-top: 3px; }
.signature-panel-heading { display: grid; gap: 0; }
.signature-consent { display: flex; align-items: flex-start; gap: 11px; color: #2f3948; font-size: 13px; font-weight: 650; line-height: 1.55; cursor: pointer; }
.signature-consent input { width: 18px; height: 18px; flex: 0 0 auto; margin: 2px 0 0; accent-color: #283d59; }
.signature-consent-field { display: grid; gap: 7px; }
.signature-consent-field > em { min-height: 17px; color: #b42318; font-size: 12px; font-style: normal; font-weight: 650; line-height: 1.4; }
.signature-consent-field:has(input:checked) .signature-consent { border-color: rgba(63,118,91,.28); background: #f4faf6; }
.signature-form--otp input { max-width: 250px; font-size: 23px; font-weight: 800; letter-spacing: .2em; text-align: center; }
.signature-resend { justify-self: start; padding: 0; border: 0; background: transparent; color: #465a74; font: inherit; font-size: 13px; font-weight: 750; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.signature-resend:disabled { color: #98a1ad; cursor: not-allowed; text-decoration: none; }
.signature-panel--unavailable { background: #f8f9fb; }
.signature-success { border-color: rgba(71, 128, 94, .2); background: linear-gradient(135deg, #f6fbf7, #eff7f2); }
.signature-success .signature-status { color: #32724b; }

/* Leitura dedicada: usa o HTML já persistido na versão do contrato, sem reconstruí-lo. */
.is-contract-reader { overflow: hidden; }
.is-contract-reader .skip-link { display: none; }
.contract-full-reader { position: fixed; z-index: 1000; inset: 0; overflow-y: auto; overscroll-behavior: contain; background: linear-gradient(135deg, #edf0f4 0%, #f8f9fa 58%, #eef1f5 100%); color: #202a37; }
.contract-reader-toolbar { position: sticky; z-index: 2; top: 0; border-bottom: 1px solid rgba(38, 49, 65, .11); background: rgba(250,251,252,.88); backdrop-filter: blur(16px); }
.contract-reader-toolbar-inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: min(100% - 40px, 980px); min-height: 66px; margin: 0 auto; }
.contract-reader-back, .contract-reader-download { display: inline-flex; align-items: center; gap: 8px; color: #293649; font-size: 13px; font-weight: 750; text-decoration: none; }
.contract-reader-back { padding: 9px 0; }
.contract-reader-back span { font-size: 18px; line-height: 1; }
.contract-reader-download { padding: 9px 13px; border: 1px solid #d5dce5; border-radius: 10px; background: rgba(255,255,255,.74); }
.contract-reader-back:hover, .contract-reader-download:hover { color: #111b2a; }
.contract-reader-back:focus-visible, .contract-reader-download:focus-visible { outline: 3px solid rgba(79, 98, 189, .28); outline-offset: 3px; }
.contract-reader-page { width: min(100% - 40px, 980px); margin: 0 auto; padding: 52px 0 70px; }
.contract-reader-heading { max-width: 840px; margin: 0 auto 22px; }
.contract-reader-heading h1 { margin: 0 0 9px; color: #202b3a; font-size: clamp(28px, 4vw, 42px); font-weight: 760; letter-spacing: -.055em; line-height: 1.04; }
.contract-reader-heading > p:last-child { margin: 0; color: #677385; font-size: 14px; line-height: 1.55; }
.contract-document--full { max-width: 840px; min-height: calc(100svh - 210px); margin: 0 auto; padding: 48px clamp(22px, 5vw, 58px); border-radius: 22px; overflow: visible; font-size: 16px; line-height: 1.78; }
.contract-document--full h1 { font-size: 21px; }
.contract-document--full .contract-clause { margin-top: 35px; }
.contract-document--full .contract-clause h2 { font-size: 15px; }

/* A contratação reutiliza a home, mas não expõe preços ou captação pública. */
.is-contracting-mode .plans,
.is-contracting-mode #contato,
.is-contracting-mode .floating-cta,
.is-contracting-mode [data-whatsapp],
.is-contracting-mode .hero-actions,
.is-contracting-mode .method-cta,
.is-contracting-mode .faq-item--public-plan,
.is-contracting-mode .desktop-nav a[href="#planos"],
.is-contracting-mode .mobile-nav a[href="#planos"] { display: none !important; }
.is-contracting-mode .faq-list-head strong { font-size: 0; }
.is-contracting-mode .faq-list-head strong::after { color: #3f4146; content: "7 perguntas essenciais"; font-size: 14px; letter-spacing: -.1px; }

@media (max-width: 700px) {
  .contracting-shell { padding: 22px 0 15px; }
  .contracting-panel { margin: 0 14px; padding: 23px 18px; border-radius: 21px; }
  .contract-progress { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0; margin: 23px 0 28px; }
  .contract-progress li { position: relative; display: grid; min-width: 0; min-height: 45px; grid-template-columns: 1fr; grid-template-rows: 25px minmax(14px, auto); gap: 5px; justify-items: center; align-items: start; color: #9aa0aa; font-size: 10px; line-height: 1.15; text-align: center; }
  .contract-progress li:not(:last-child)::after { position: absolute; z-index: 0; top: 12px; left: calc(50% + 13px); width: calc(100% - 26px); height: 1px; background: #d9dde4; content: ""; }
  .contract-progress-marker { position: relative; z-index: 1; width: 23px; height: 23px; font-size: 10px; }
  .contract-progress-label { position: relative; z-index: 1; max-width: 100%; overflow-wrap: anywhere; }
  .contract-progress-label--desktop { display: none; }
  .contract-progress-label--compact { display: inline; }
  .contracting-form-grid { grid-template-columns: 1fr; }
  .contract-field--wide { grid-column: auto; }
  .contracting-form-section { grid-column: auto; }
  .contracting-due-day-field { padding: 15px 14px 16px; border-radius: 15px; }
  .contracting-due-day-options { gap: 8px; }
  .contracting-due-day-option { flex: 1 1 82px; }
  .contracting-party-options { grid-template-columns: 1fr; }
  .contracting-party-option span { min-height: 0; padding: 16px; }
  .contracting-commercial-summary { grid-column: auto; margin-top: 20px; padding: 14px; }
  .contracting-commercial-summary dl { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .contracting-commercial-summary dl > div { min-height: 76px; padding: 11px; }
  .contracting-address { padding: 18px 15px 16px; border-radius: 16px; }
  .contracting-address-grid { grid-template-columns: 1fr; gap: 15px; }
  .contract-field--address-cep, .contract-field--address-street, .contract-field--address-number, .contract-field--address-complement, .contract-field--address-neighborhood, .contract-field--address-city, .contract-field--address-state { grid-column: auto; max-width: none; }
  .cep-lookup-status { grid-column: auto; margin: -8px 0 -1px; }
  .contracting-copy h1 { font-size: 36px; }
  .contracting-copy > p:last-child { font-size: 15px; }
  .contracting-continue, .contracting-party-required .button { width: 100%; min-width: 0; box-sizing: border-box; justify-content: center; text-align: center; white-space: normal; line-height: 1.25; }
  .contracting-form-actions { display: grid; grid-template-columns: minmax(0, 1fr); gap: 9px; padding-top: 14px; }
  .contracting-form-actions .contracting-feedback { min-height: 0; margin: 0; }
  .contracting-form-actions .contracting-feedback:empty { display: none; }
  .contracting-form-actions .button, .contract-actions .button, .signature-form > .button { width: 100%; min-width: 0; box-sizing: border-box; justify-content: center; text-align: center; white-space: normal; line-height: 1.25; }
  .contracting-form-actions .contracting-step-back, .contract-actions .contracting-step-back { width: 100%; justify-content: center; }
  .contract-actions { display: grid; grid-template-columns: minmax(0, 1fr); gap: 9px; }
  .contract-actions .contracting-feedback { margin: 0; }
  .contract-actions .contracting-feedback:empty { display: none; }
  .contract-reading-summary { gap: 15px; margin-top: 22px; padding: 18px 15px; border-radius: 17px; }
  .contract-reading-summary-heading { align-items: start; flex-direction: column; gap: 8px; padding-bottom: 14px; }
  .contract-reading-summary-heading > p { font-size: 12px; }
  .contract-reading-summary dl { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .contract-reading-summary-item { min-height: 88px; padding: 13px 12px; border-radius: 12px; }
  .contract-reading-summary-item--wide { grid-column: 1 / -1; }
  .contract-reading-summary dt { font-size: 11px; }
  .contract-reading-summary dd { font-size: 15px; }
  .contract-reading-summary-item--emphasis dd { font-size: 17px; }
  .contract-reading-preview-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 12px; }
  .contract-reading-preview-heading h2 { max-width: 245px; font-size: 20px; line-height: 1.08; text-wrap: balance; }
  .contract-reading-preview-heading > p { padding: 6px 8px; border: 1px solid #e0e5eb; border-radius: 999px; background: #f7f9fb; font-size: 9px; white-space: nowrap; }
  .contract-document--preview { height: 326px; padding: 25px 20px; border-radius: 16px; font-size: 15px; line-height: 1.68; }
  .contract-document--preview h1 { font-size: 18px; }
  .contract-preview-fade { height: 126px; }
  .contract-reading-footer { align-items: flex-start; flex-direction: column; gap: 7px; margin-top: 12px; }
  .contract-reading-links { width: 100%; justify-content: flex-start; gap: 15px; }
  .contract-reader-toolbar-inner { width: calc(100% - 30px); min-height: 60px; }
  .contract-reader-page { width: 100%; padding: 31px 0 0; }
  .contract-reader-heading { margin: 0 20px 20px; }
  .contract-reader-heading h1 { font-size: 29px; }
  .contract-document--full { min-height: calc(100svh - 160px); margin: 0; padding: 29px 20px 44px; border-right: 0; border-bottom: 0; border-left: 0; border-radius: 0; font-size: 16px; line-height: 1.76; box-shadow: none; }
  .contract-document--full h1 { font-size: 19px; }
  .contract-document--full .contract-clause { margin-top: 31px; }
  .contract-document--full .contract-clause h2 { font-size: 15px; }
  .signature-panel, .signature-success { margin-top: 18px; padding: 20px 16px; border-radius: 17px; }
  .signature-panel .contracting-step-back--section { margin-bottom: 15px; }
  .signature-panel-heading h2, .signature-success h2 { margin-top: 7px; font-size: 26px; line-height: 1.04; text-wrap: balance; }
  .signature-panel-heading > p:last-child { font-size: 13px; line-height: 1.55; }
  .signature-form { gap: 13px; max-width: none; margin-top: 18px; }
  .signature-consent { gap: 12px; padding: 14px; border: 1px solid #dce2e9; border-radius: 14px; background: rgba(255,255,255,.72); font-size: 13px; line-height: 1.48; }
  .signature-consent input { width: 20px; height: 20px; margin-top: 0; }
  .signature-form .button { width: 100%; min-height: 52px; justify-content: center; }
  .signature-form--otp input { max-width: 100%; }
  .contracting-confirmation-dialog { inset: auto 0 0; width: 100%; max-height: calc(100dvh - 18px); margin: auto 0 0; border-right: 0; border-bottom: 0; border-left: 0; border-radius: 24px 24px 0 0; overflow-y: auto; }
  .contracting-confirmation-dialog-inner { padding: 26px 18px calc(20px + env(safe-area-inset-bottom)); }
  .contracting-confirmation-dialog h2 { margin-right: 38px; font-size: 26px; }
  .contracting-confirmation-close { width: 42px; height: 42px; }
  .contracting-confirmation-actions { display: grid; grid-template-columns: minmax(0, 1fr); gap: 9px; }
  .contracting-confirmation-actions .button { width: 100%; min-width: 0; }
}
@media (max-width: 359px) {
  .contracting-panel { margin: 0 10px; padding-right: 15px; padding-left: 15px; }
  .contract-progress { margin-right: -2px; margin-left: -2px; }
  .contract-progress li { font-size: 9px; }
  .contract-progress li:not(:last-child)::after { left: calc(50% + 12px); width: calc(100% - 24px); }
  .contract-progress-marker { width: 22px; height: 22px; }
  .contracting-commercial-summary dl, .contract-reading-summary dl { grid-template-columns: minmax(0, 1fr); }
  .contract-reading-summary { padding-right: 13px; padding-left: 13px; }
  .contract-reading-summary-item { padding-right: 10px; padding-left: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  .reveal { opacity: 1; transform: none; }
  .plan-card,
  .plan-card.reveal.is-visible,
  .plan-card.reveal.is-visible.is-current { opacity: 1 !important; filter: none !important; transform: none !important; }
  .service-plan-panel { animation: none; }
}

/* Arte de estratégia: composição compacta no desktop e enquadramento próprio no mobile. */
.hero-visual.chess-visual { min-height: 0; margin: 0; padding: 0; }
.chess-visual > .visual-glow,
.chess-visual > .dashboard-card,
.chess-visual > .floating-note { display: none; }
.chess-image-frame { position: relative; left: 50%; width: min(106%, 680px); margin: 0; overflow: visible; background: transparent; transform: translateX(-50%); }
.chess-image-frame::after { display: none; }
.chess-image-frame picture { display: block; width: 100%; height: 100%; }
.chess-image-frame img { display: block; width: 100%; height: auto; min-height: 0; object-fit: contain; object-position: center; filter: saturate(.9) contrast(1.02); }

@media (min-width: 861px) {
  .hero { overflow: hidden; padding-top: 64px; padding-bottom: 72px; }
  .hero-layout { position: relative; isolation: auto; min-height: 500px; grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); gap: clamp(28px, 4vw, 64px); }
  .hero-copy { position: relative; z-index: 2; align-self: center; }
  .hero-text { color: #343138; font-weight: 560; text-shadow: none; }
  .hero-visual.chess-visual { position: relative; z-index: 1; inset: auto; width: min(100%, 480px); height: auto; justify-self: end; align-self: center; pointer-events: none; opacity: 1; mix-blend-mode: multiply; }
  .js .hero-visual.chess-visual.reveal,
  .hero-visual.chess-visual.reveal.is-visible { opacity: 1; transform: none; }
  .chess-image-frame { left: auto; width: 100%; height: auto; aspect-ratio: 4 / 3; transform: none; }
  .chess-image-frame picture { transform: none; }
  .chess-image-frame img { width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: contain; object-position: center; filter: none; }
}

@media (max-width: 600px) {
  .hero { overflow: hidden; }
  .hero-layout { position: relative; isolation: isolate; }
  .hero-copy { position: relative; z-index: 2; }
  .hero-positioning-title .hero-title-soft { color: #68656e; font-weight: 720; text-shadow: 0 1px 0 rgba(255,255,255,.94), 0 0 16px rgba(255,255,255,.74); }
  .hero-text { color: #46424b; font-weight: 560; text-shadow: 0 1px 0 rgba(255,255,255,.96), 0 0 13px rgba(255,255,255,.78); }
  .hero-visual.chess-visual { position: absolute; z-index: 0; top: -45px; left: 50%; width: min(160vw, 580px); height: auto; margin: 0; pointer-events: none; opacity: .3; transform: translateX(-50%); }
  .js .hero-visual.chess-visual.reveal,
  .hero-visual.chess-visual.reveal.is-visible { opacity: .3; transform: translateX(-50%); }
  .chess-image-frame { left: auto; width: 100%; transform: none; }
  .chess-image-frame img { filter: grayscale(.28) saturate(.62) contrast(.94); }
}

/* Pagamento: superfície compacta, segura e legível dentro do fluxo de contratação. */
.payment-panel { display: grid; gap: 22px; margin-top: 28px; padding: clamp(20px, 3vw, 30px); border: 1px solid rgba(42, 55, 74, .13); border-radius: 22px; background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(245,247,250,.92)); box-shadow: inset 0 1px 0 rgba(255,255,255,.92), 0 18px 38px rgba(24, 34, 48, .07); scroll-margin-top: 20px; }
.payment-panel > h2, .payment-panel > header h2 { margin: 0; color: #1e2938; font-size: clamp(22px, 3vw, 30px); letter-spacing: -.045em; line-height: 1.08; }
.payment-panel > p, .payment-panel > header p { margin: -12px 0 0; color: #667385; font-size: 14px; line-height: 1.58; }
.payment-methods { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; }
.payment-methods--single { grid-template-columns: minmax(0, 340px); }
.payment-method { position: relative; display: grid; min-width: 0; min-height: 92px; align-content: space-between; gap: 8px; padding: 15px; border: 1px solid #dce1e8; border-radius: 15px; background: rgba(255,255,255,.8); color: #465163; cursor: pointer; transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease, transform .2s ease; }
.payment-method:hover { border-color: #9da9b9; background: #fff; transform: translateY(-1px); }
.payment-method:focus-within { border-color: #4f62bd; box-shadow: 0 0 0 4px rgba(79,98,189,.11); }
.payment-method:has(input:checked), .payment-method.is-selected { border-color: #394eaa; background: linear-gradient(145deg, #f4f6ff, #fff); box-shadow: 0 9px 20px rgba(57,78,170,.11); color: #223a83; }
.payment-method input { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.payment-method > span { display: grid; gap: 5px; min-width: 0; }
.payment-method strong, .payment-method b { color: #253144; font-size: 14px; line-height: 1.25; }
.payment-method small, .payment-method em { color: #738093; font-size: 11px; font-style: normal; font-weight: 600; line-height: 1.4; }
.payment-method:has(input:checked) strong, .payment-method.is-selected strong { color: #243b8d; }
.payment-method:has(input:disabled) { cursor: not-allowed; opacity: .62; transform: none; }
.payment-method:has(input:disabled):hover { border-color: #dce1e8; background: rgba(255,255,255,.8); }
.payment-method.is-loading,
.payment-method.is-loading:has(input:disabled) { padding-right: 48px; border-color: #5167c2; background: linear-gradient(145deg, #f3f5ff, #fff); box-shadow: 0 9px 22px rgba(57,78,170,.12); color: #223a83; cursor: progress; opacity: 1; }
.payment-method.is-loading::before,
.payment-feedback[data-state="loading"]::before { width: 17px; height: 17px; flex: 0 0 auto; box-sizing: border-box; border: 2px solid rgba(79,98,189,.22); border-top-color: #4f62bd; border-radius: 50%; content: ""; animation: payment-loading-spin .72s linear infinite; }
.payment-method.is-loading::before { position: absolute; top: 16px; right: 16px; }
.payment-summary { display: grid; gap: 13px; padding: 17px 18px; border: 1px solid rgba(56, 70, 92, .11); border-radius: 16px; background: rgba(247,248,250,.78); }
.payment-summary > h3, .payment-summary > strong { margin: 0; color: #344052; font-size: 12px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.payment-summary dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 22px; margin: 0; }
.payment-summary dl > div { display: grid; min-width: 0; gap: 3px; }
.payment-summary dt { color: #768193; font-size: 11px; font-weight: 700; }
.payment-summary dd { min-width: 0; margin: 0; color: #273243; font-size: 14px; font-weight: 750; overflow-wrap: anywhere; }
.payment-status { display: flex; align-items: flex-start; gap: 9px; min-width: 0; margin: 0; padding: 12px 14px; border: 1px solid rgba(79,98,189,.16); border-radius: 13px; background: rgba(79,98,189,.06); color: #405171; font-size: 13px; font-weight: 650; line-height: 1.5; }
.payment-status::before { width: 8px; height: 8px; flex: 0 0 auto; margin-top: 6px; border-radius: 999px; background: #5a6fcb; box-shadow: 0 0 0 4px rgba(90,111,203,.12); content: ""; }
.payment-status--processing, .payment-status[data-status="processing"] { border-color: rgba(183,125,38,.22); background: rgba(213,164,75,.08); color: #7a5921; }
.payment-status--processing::before, .payment-status[data-status="processing"]::before { background: #c79031; box-shadow: 0 0 0 4px rgba(199,144,49,.13); }
.payment-status--paid, .payment-status--complete, .payment-status[data-status="paid"] { border-color: rgba(61,126,91,.2); background: rgba(74,155,107,.08); color: #2d6848; }
.payment-status--paid::before, .payment-status--complete::before, .payment-status[data-status="paid"]::before { background: #438e62; box-shadow: 0 0 0 4px rgba(67,142,98,.12); }
.payment-card-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.payment-card-form > * { min-width: 0; }
.payment-card-form > label { display: grid; gap: 7px; color: #313947; font-size: 13px; font-weight: 750; }
.payment-card-form input, .payment-card-form select { width: 100%; min-width: 0; min-height: 48px; box-sizing: border-box; padding: 12px 13px; border: 1px solid #d8dce3; border-radius: 12px; outline: 0; background: #fff; color: #1f2937; font: inherit; font-size: 16px; font-weight: 500; transition: border-color .2s ease, box-shadow .2s ease; }
.payment-card-form input:focus, .payment-card-form select:focus { border-color: #4f62bd; box-shadow: 0 0 0 4px rgba(79,98,189,.11); }
.payment-card-form [name="cardNumber"], .payment-card-form [data-payment-card-number], .payment-card-form .payment-card-number { grid-column: 1 / -1; }
.payment-instructions { display: grid; gap: 11px; padding: 18px; border: 1px dashed #cdd4df; border-radius: 16px; background: rgba(250,251,252,.78); }
.payment-instructions h3, .payment-instructions strong { margin: 0; color: #314052; font-size: 14px; }
.payment-instructions p { margin: 0; color: #657184; font-size: 13px; line-height: 1.55; }
.payment-instructions ol, .payment-instructions ul { display: grid; gap: 7px; margin: 0; padding-left: 20px; color: #516073; font-size: 13px; line-height: 1.5; }
.payment-copy-code { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px; align-items: stretch; }
.payment-copy-code code, .payment-copy-code input, .payment-copy-code textarea { display: block; min-width: 0; min-height: 44px; box-sizing: border-box; padding: 12px; border: 1px solid #d9dfe8; border-radius: 11px; background: #fff; color: #35445b; font: 600 12px/1.45 "DM Sans", sans-serif; overflow-wrap: anywhere; }
.payment-copy-code button { min-width: 104px; min-height: 44px; padding: 10px 14px; border: 1px solid #364d9e; border-radius: 11px; background: #3d55ae; color: #fff; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; transition: background-color .2s ease, transform .2s ease; }
.payment-copy-code button:hover { background: #304791; transform: translateY(-1px); }
.payment-copy-code button:focus-visible { outline: 3px solid rgba(79,98,189,.26); outline-offset: 2px; }
.payment-complete { display: grid; gap: 8px; padding: 18px; border: 1px solid rgba(65,132,94,.22); border-radius: 16px; background: linear-gradient(135deg, rgba(242,251,245,.97), rgba(235,247,239,.85)); color: #2b6244; }
.payment-complete h3 { margin: 0; color: #235238; font-size: 17px; letter-spacing: -.025em; }
.payment-complete p { margin: 0; font-size: 13px; line-height: 1.55; }
.payment-error.contracting-feedback:empty { display: none; }
.payment-feedback { display: grid; gap: 7px; margin: 0; padding: 14px 15px; border: 1px solid transparent; border-radius: 14px; font-size: 13px; font-weight: 650; line-height: 1.5; }
.payment-feedback[hidden], .payment-feedback[data-state="idle"] { display: none; }
.payment-feedback[data-state="loading"] { display: flex; align-items: center; gap: 10px; border-color: rgba(79,98,189,.2); background: rgba(79,98,189,.065); color: #405a91; }
.payment-feedback[data-state="success"] { border-color: rgba(65,132,94,.22); background: linear-gradient(135deg, rgba(242,251,245,.97), rgba(235,247,239,.85)); color: #2b6244; }
.payment-feedback[data-state="error"], .payment-feedback--error { border-color: rgba(179,63,52,.21); background: linear-gradient(135deg, rgba(255,247,246,.98), rgba(253,239,237,.85)); color: #914339; }
.payment-instructions--scheduled { border-style: solid; border-color: rgba(79,98,189,.18); background: rgba(79,98,189,.045); }
.payment-sandbox-note { margin: 0; padding: 11px 13px; border: 1px solid rgba(180,132,50,.22); border-radius: 12px; background: rgba(251,244,225,.72); color: #765c2b; font-size: 12px; font-weight: 650; line-height: 1.5; }
.payment-panel > div:first-of-type > h2 { margin: 6px 0 8px; color: #1e2938; font-size: clamp(22px, 3vw, 30px); letter-spacing: -.045em; line-height: 1.08; }
.payment-panel > div:first-of-type > p:last-child { max-width: 630px; margin: 0; color: #667385; font-size: 14px; line-height: 1.58; }
.payment-summary > p { margin: 0; color: #647184; font-size: 10px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.payment-summary-charge { display: grid; gap: 3px; padding-top: 13px; border-top: 1px solid #dde3ea; }
.payment-summary-charge span { color: #738093; font-size: 11px; font-weight: 700; }
.payment-summary-charge strong { color: #273243; font-size: 17px; letter-spacing: -.025em; }
.payment-summary-charge small { color: #627084; font-size: 12px; font-weight: 600; }
.payment-summary-alignment { display: grid; gap: 13px; padding: 16px; border: 1px solid rgba(183,126,20,.28); border-radius: 15px; background: linear-gradient(135deg, rgba(255,249,225,.97), rgba(252,243,205,.78)); box-shadow: inset 0 1px 0 rgba(255,255,255,.72); }
.payment-summary-alignment-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; }
.payment-summary-alignment-header > span { display: grid; gap: 3px; min-width: 0; }
.payment-summary-alignment-kicker { color: #80601d; font-size: 10px; font-weight: 850; letter-spacing: .075em; text-transform: uppercase; }
.payment-summary-alignment-header strong { flex: 0 0 auto; color: #5f4512; font-size: 20px; letter-spacing: -.035em; line-height: 1.1; }
.payment-summary-alignment-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0; }
.payment-summary-alignment-details > div { display: grid; gap: 2px; min-width: 0; padding: 9px 10px; border: 1px solid rgba(151,103,19,.13); border-radius: 10px; background: rgba(255,255,255,.48); }
.payment-summary-alignment-details dt { color: #8a6b2c; font-size: 10px; font-weight: 760; }
.payment-summary-alignment-details dd { margin: 0; color: #5f4d27; font-size: 12px; font-weight: 720; line-height: 1.4; }
.payment-summary-alignment-next { margin: 0; padding-top: 10px; border-top: 1px solid rgba(151,103,19,.14); color: #66552f; font-size: 12px; font-weight: 610; line-height: 1.55; }
.payment-summary-alignment-next strong { color: #564112; font-size: inherit; }
.payment-setup-form { display: grid; gap: 18px; }
.payment-setup-form [data-payment-card-submit][hidden] { display: none; }
.payment-setup-form fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.payment-setup-form legend { margin: 0 0 10px; padding: 0; color: #394659; font-size: 12px; font-weight: 800; letter-spacing: .04em; }
.payment-card-form { display: grid; grid-template-columns: 1fr; gap: 12px; padding: 18px; border: 1px solid rgba(62, 78, 104, .12); border-radius: 16px; background: rgba(248,250,253,.82); }
.payment-card-form[hidden] { display: none; }
.payment-card-form > p { margin: 0; color: #687487; font-size: 12px; line-height: 1.5; }
.payment-card-form .contract-field { position: relative; }
.payment-card-form input[aria-invalid="true"] { border-color: #bd554b; box-shadow: 0 0 0 3px rgba(189,85,75,.1); }
.payment-field-error { display: block; min-height: 1.35em; margin-top: 5px; color: #aa443c; font-size: 12px; font-weight: 650; line-height: 1.35; }
.payment-field-error[hidden] { display: block; visibility: hidden; }
.payment-card-configured { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-width: 0; padding: 16px 17px; border: 1px solid rgba(57,78,170,.17); border-radius: 16px; background: linear-gradient(135deg, rgba(244,247,255,.98), rgba(249,250,253,.92)); }
.payment-card-configured[hidden] { display: none; }
.payment-card-configured > div { display: grid; min-width: 0; gap: 3px; }
.payment-card-configured p { margin: 0; color: #485f9b; font-size: 11px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.payment-card-configured strong { color: #27375f; font-size: 15px; }
.payment-card-configured span { color: #64718a; font-size: 12px; font-weight: 600; line-height: 1.5; }
.payment-card-configured .button { flex: 0 0 auto; white-space: nowrap; }
.payment-card-configured--paid { border-color: rgba(61,126,91,.22); background: linear-gradient(135deg, rgba(239,249,243,.98), rgba(249,252,250,.94)); }
.payment-card-configured--paid p, .payment-card-configured--paid strong { color: #2d6848; }
.payment-settlement-notice { display: flex; align-items: flex-start; gap: 12px; padding: 15px 16px; border: 1px solid rgba(61,126,91,.22); border-radius: 15px; background: linear-gradient(135deg, rgba(239,249,243,.98), rgba(249,252,250,.94)); color: #2d6848; }
.payment-settlement-notice > span { display: grid; width: 26px; height: 26px; flex: 0 0 auto; place-items: center; border-radius: 999px; background: #438e62; color: #fff; font-size: 14px; font-weight: 900; }
.payment-settlement-notice > div { display: grid; gap: 2px; }
.payment-settlement-notice p { margin: 0; font-size: 11px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.payment-settlement-notice strong { color: #285d41; font-size: 15px; }
.payment-settlement-notice small { color: #527260; font-size: 12px; line-height: 1.5; }
.payment-card-form-actions { display: flex; justify-content: flex-end; margin-top: 2px; }
.payment-card-form-actions .button { min-height: 38px; padding: 8px 12px; font-size: 12px; }
.payment-installment-selector { display: grid; gap: 7px; max-width: 330px; color: #313947; font-size: 13px; font-weight: 750; }
.payment-installment-selector[hidden] { display: none; }
.payment-installment-selector select { width: 100%; min-height: 48px; box-sizing: border-box; padding: 12px 13px; border: 1px solid #d8dce3; border-radius: 12px; outline: 0; background: #fff; color: #1f2937; font: inherit; font-size: 15px; font-weight: 650; }
.payment-installment-selector select:focus { border-color: #4f62bd; box-shadow: 0 0 0 4px rgba(79,98,189,.11); }
.payment-installment-selector small { color: #748093; font-size: 11px; font-weight: 600; line-height: 1.45; }
.payment-completion-cta { display: grid; justify-items: start; gap: 7px; padding: 15px 16px; border: 1px solid rgba(57,78,170,.16); border-radius: 16px; background: linear-gradient(135deg, rgba(245,247,255,.95), rgba(250,251,253,.92)); }
.payment-completion-cta p { margin: 0; color: #64718a; font-size: 12px; font-weight: 600; line-height: 1.45; }
.contracting-completion { display: grid; gap: 16px; max-width: 760px; margin-top: 28px; padding: clamp(21px, 3vw, 31px); border: 1px solid rgba(52,82,104,.14); border-radius: 22px; background: linear-gradient(135deg, rgba(255,255,255,.99), rgba(245,248,252,.93)); box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 18px 40px rgba(24,34,48,.07); }
.contracting-completion-kicker { display: inline-flex; align-items: center; width: fit-content; margin: 0; padding: 6px 9px; border-radius: 999px; background: rgba(79,98,189,.09); color: #405b9f; font-size: 11px; font-weight: 850; letter-spacing: .075em; text-transform: uppercase; }
.contracting-completion[data-payment-completion-state="awaiting"] .contracting-completion-kicker { background: rgba(185,130,46,.1); color: #7e5d28; }
.contracting-completion[data-payment-completion-state="confirmed"] .contracting-completion-kicker { background: rgba(64,137,94,.1); color: #2e704a; }
.contracting-completion h2 { max-width: 600px; margin: 0; color: #253144; font-size: clamp(24px, 3vw, 34px); letter-spacing: -.045em; line-height: 1.08; }
.contracting-completion > p { max-width: 650px; margin: 0; color: #5e6b7d; font-size: 14px; line-height: 1.62; }
.contracting-completion-detail { padding: 12px 14px; border: 1px solid rgba(57,78,170,.12); border-radius: 13px; background: rgba(79,98,189,.05); color: #415677 !important; font-weight: 700; }
.contracting-completion-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; margin: 1px 0 0; }
.contracting-completion-summary > div { display: grid; gap: 3px; min-width: 0; padding: 13px 14px; border: 1px solid rgba(57,70,90,.1); border-radius: 14px; background: rgba(250,251,253,.82); }
.contracting-completion-summary dt { color: #738094; font-size: 11px; font-weight: 750; }
.contracting-completion-summary dd { margin: 0; color: #29384e; font-size: 14px; font-weight: 800; overflow-wrap: anywhere; }
.contracting-completion-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.contracting-completion-note { padding-top: 3px; color: #778395 !important; font-size: 12px !important; }
.payment-pix-payable > div { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: 16px; }
.payment-pix-payable { display: grid; gap: 11px; min-width: 0; }
.payment-pix-payable[hidden], .payment-pix-expired[hidden], .payment-pix-paid[hidden] { display: none; }
.payment-pix-expired, .payment-pix-paid { display: grid; gap: 9px; min-width: 0; padding: 3px 0; }
.payment-pix-expired { color: #8b4e3e; }
.payment-pix-expired p, .payment-pix-paid p { margin: 0; }
.payment-pix-paid { color: #2f6d4b; }
.payment-pix-expired .button { justify-self: start; }
.payment-instructions--pix img { display: block; width: 116px; height: 116px; border: 1px solid #e0e5ec; border-radius: 12px; background: #fff; image-rendering: auto; }
.payment-instruction-kicker { color: #45566e !important; font-size: 11px !important; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.payment-copy-value { max-height: 94px; margin: 2px 0 10px !important; overflow: auto; color: #43536a !important; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 11px !important; overflow-wrap: anywhere; }
.payment-instruction-note { color: #778394 !important; font-size: 11px !important; }
.payment-instruction-note strong { color: inherit; font-size: inherit; }
.payment-instruction-note--warning { color: #89572e !important; }
.payment-copy-code { display: inline-flex; width: auto; }
.payment-method-context { display: grid; gap: 3px; padding: 13px 15px; border: 1px solid rgba(58, 74, 99, .12); border-radius: 14px; background: rgba(247,249,252,.86); color: #536175; }
.payment-method-context > p { margin: 0; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.payment-method-context > strong { color: #29384d; font-size: 14px; }
.payment-method-context [data-payment-change-message] { margin-top: 5px; color: #455f9d; font-size: 12px; font-weight: 650; letter-spacing: normal; line-height: 1.5; text-transform: none; }
.payment-method-context.is-changing { border-color: rgba(79,98,189,.22); background: rgba(79,98,189,.055); }
.payment-method-context.is-pending { border-color: rgba(79,98,189,.2); background: rgba(79,98,189,.055); }
.payment-pending-notice { display: grid; gap: 5px; min-width: 0; padding: 15px; border: 1px solid rgba(79,98,189,.22); border-radius: 15px; background: linear-gradient(135deg, rgba(244,247,255,.98), rgba(238,243,253,.82)); color: #465e8f; }
.payment-pending-notice[hidden] { display: none; }
.payment-pending-notice > p { margin: 0; color: #405784; font-size: 11px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.payment-pending-notice--review { border-color: rgba(138, 101, 47, .24); background: linear-gradient(135deg, rgba(253,249,241,.98), rgba(248,244,234,.86)); color: #755a30; }
.payment-pending-notice--review > p, .payment-pending-notice--review strong { color: #72552c; }
.payment-pending-notice > strong { color: #283e71; font-size: 15px; }
.payment-pending-notice > span { max-width: 680px; color: #5d6d88; font-size: 12px; font-weight: 600; line-height: 1.55; overflow-wrap: anywhere; }
.payment-pending-notice .button { justify-self: start; min-height: 38px; margin-top: 5px; padding: 8px 12px; font-size: 12px; }
.payment-artifacts { min-width: 0; }
.payment-artifacts[hidden] { display: none !important; }
.payment-copy-actions { display: inline-flex; align-items: center; min-width: 0; position: relative; }
.payment-copy-actions .payment-copy-code { display: inline-flex; width: auto; min-height: 42px; align-items: center; justify-content: center; padding: 10px 13px; white-space: normal; transition: background-color .2s ease, border-color .2s ease, color .2s ease; }
.payment-copy-actions .payment-copy-code[data-copy-state="success"] { border-color: #4d966d; background: #ecf8f0; color: #286344; }
.payment-copy-actions .payment-copy-code[data-copy-state="error"] { border-color: #b85c51; background: #fff4f2; color: #95443c; }
.payment-copy-feedback { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.payment-copy-feedback[hidden] { display: none; }
.payment-copy-feedback[data-state="success"] { color: #337052 !important; }
.payment-copy-feedback[data-state="error"] { color: #9a4a3f !important; }
.payment-copy-value[data-payment-copy-value] { min-width: 0; overflow-wrap: anywhere; word-break: break-word; }
.payment-panel--review { max-width: 780px; }

@keyframes payment-loading-spin {
  to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
  .payment-method.is-loading::before,
  .payment-feedback[data-state="loading"]::before { animation: none; border-top-color: #4f62bd; }
}

@media (max-width: 700px) {
  .payment-panel { gap: 18px; padding: 19px 16px; border-radius: 18px; }
  .payment-methods { grid-template-columns: 1fr; }
  .payment-method { min-height: 0; grid-template-columns: minmax(0, 1fr); align-items: start; gap: 6px; padding: 14px; }
  .payment-method > span { gap: 4px; }
  .payment-method strong { font-size: 15px; }
  .payment-method small { font-size: 12px; line-height: 1.45; }
  .payment-summary { gap: 10px; padding: 14px 15px; }
  .payment-summary dl { gap: 9px 14px; }
  .payment-summary dl, .payment-card-form { grid-template-columns: 1fr; }
  .payment-card-form .contracting-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px 9px; }
  .payment-card-form .contract-field--wide { grid-column: 1 / -1; }
  .payment-card-form .contract-field > span { font-size: 12px; }
  .payment-card-form input { padding-inline: 11px; }
  .payment-summary-alignment { padding: 14px; }
  .payment-summary-alignment-header { align-items: end; }
  .payment-summary-alignment-header strong { font-size: 19px; }
  .payment-summary-alignment-details { grid-template-columns: 1fr; }
  .payment-copy-code { grid-template-columns: 1fr; }
  .payment-copy-code button { width: 100%; }
  .payment-copy-actions { display: grid; grid-template-columns: minmax(0, 1fr); }
  .payment-copy-actions .payment-copy-code { width: 100%; }
  .payment-pending-notice .button { width: 100%; justify-content: center; }
  .payment-pix-payable > div { grid-template-columns: 1fr; }
  .payment-instructions--pix img { width: min(100%, 180px); height: auto; aspect-ratio: 1; }
  .payment-card-configured { align-items: stretch; flex-direction: column; gap: 12px; }
  .payment-card-configured .button, .payment-pix-expired .button { width: 100%; justify-content: center; }
  .payment-card-form-actions { justify-content: stretch; }
  .payment-card-form-actions .button, .payment-completion-cta .button { width: 100%; justify-content: center; }
  .payment-installment-selector { max-width: none; }
  .contracting-completion { gap: 14px; margin-top: 22px; border-radius: 18px; }
  .contracting-completion-summary { grid-template-columns: 1fr; }
  .contracting-completion-actions { display: grid; grid-template-columns: 1fr; }
  .contracting-completion-actions .button { width: 100%; justify-content: center; }
}

@media (max-width: 359px) {
  .payment-panel { margin-top: 22px; padding: 16px 13px; }
  .payment-method { padding: 13px; }
  .payment-summary, .payment-instructions, .payment-complete, .payment-feedback { padding: 14px; }
  .payment-copy-code code, .payment-copy-code input, .payment-copy-code textarea { font-size: 11px; }
}

/* Phase 2E document reader. These rules are scoped to the immutable v2
   presentation markup, so previously frozen/signed HTML keeps its original
   reader treatment. */
.contract-full-reader--professional { background: #e8ebee; }
.contract-full-reader--professional .contract-reader-toolbar { border-bottom-color: rgba(30, 42, 56, .16); background: rgba(247, 248, 249, .93); }
.contract-full-reader--professional .contract-reader-toolbar-inner { width: min(100% - 48px, 900px); }
.contract-reader-state { flex: 1 1 auto; margin: 0; color: #697586; font-size: 11px; font-weight: 720; letter-spacing: .05em; text-align: center; text-transform: uppercase; }
.contract-reader-stage { width: min(100% - 48px, 900px); margin: 0 auto; padding: 46px 0 76px; }
.contract-document--professional { width: min(100%, 794px); min-height: 1080px; margin: 0 auto; padding: 78px 76px 84px; border: 1px solid #d7dce1; border-radius: 3px; background: #fff; box-shadow: 0 24px 65px rgba(31, 42, 56, .15); color: #20262f; font-family: Georgia, "Times New Roman", Times, serif; font-size: 15.5px; font-weight: 400; line-height: 1.72; }
.contract-document-presentation--v2 { max-width: 100%; }
.contract-document-presentation--v2 .contract-document-masthead { margin: 0 0 37px; text-align: center; }
.contract-document-presentation--v2 .contract-document-type { margin: 0 0 14px; color: #687688; font-family: "DM Sans", Arial, sans-serif; font-size: 10px; font-weight: 760; letter-spacing: .15em; line-height: 1.3; text-align: center; text-transform: uppercase; }
.contract-document-presentation--v2 h1 { display: grid; width: 100%; max-width: none; gap: 5px; margin: 0; color: #161d27; font-family: "DM Sans", Arial, sans-serif; font-size: clamp(21px, 2.55vw, 27px); font-weight: 760; letter-spacing: -.04em; line-height: 1.13; text-align: center; }
.contract-document-presentation--v2 h1 span { display: block; }
.contract-document-presentation--v2 .contract-document-plan { margin: 16px 0 0; color: #47576d; font-family: "DM Sans", Arial, sans-serif; font-size: 11px; font-weight: 780; letter-spacing: .14em; line-height: 1.3; text-align: center; text-transform: uppercase; }
.contract-document-presentation--v2 .contract-document-rule { width: min(100%, 370px); height: 1px; margin: 23px auto 0; background: #b8c2cc; }
.contract-document-presentation--v2 .contract-document-intro { margin: 0 0 21px; }
.contract-document-presentation--v2 .contract-document-closing { margin: 28px 0 0; }
.contract-document-presentation--v2 .contract-document-paragraph { margin: 0 0 14px; color: #262d37; font-family: Georgia, "Times New Roman", Times, serif; font-size: inherit; font-weight: 400; line-height: inherit; text-align: justify; text-justify: inter-word; }
.contract-document-presentation--v2 .contract-document-paragraph--qualification { margin-bottom: 20px; }
.contract-document-presentation--v2 .contract-document-paragraph--qualification strong { color: #171e28; font-family: "DM Sans", Arial, sans-serif; font-size: .82em; font-weight: 780; letter-spacing: .025em; }
.contract-document-presentation--v2 .contract-document-paragraph--numbered { padding-left: 0; }
.contract-document-presentation--v2 .contract-document-item-number { display: inline-block; min-width: 34px; color: #252e3a; font-family: "DM Sans", Arial, sans-serif; font-size: .82em; font-weight: 760; letter-spacing: .02em; }
.contract-document-presentation--v2 .contract-document-paragraph--list { padding-left: 22px; text-indent: -20px; text-align: left; }
.contract-document-presentation--v2 .contract-document-list-marker { display: inline-block; width: 20px; color: #3d4959; font-family: Georgia, "Times New Roman", Times, serif; font-weight: 400; }
.contract-document-presentation--v2 .contract-clause { margin: 34px 0 0; padding: 0; }
.contract-document-presentation--v2 .contract-clause h2 { margin: 0 0 14px; padding-top: 16px; border-top: 1px solid #d7dce2; color: #182230; font-family: "DM Sans", Arial, sans-serif; font-size: 12px; font-weight: 780; letter-spacing: .025em; line-height: 1.45; }
.contract-document-presentation--v2 .contract-clause:first-of-type h2 { border-top: 0; }
.contract-document-presentation--v2 .contract-document-signature-label { margin: 22px 0 7px; color: #202a36; font-family: "DM Sans", Arial, sans-serif; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.contract-document--preview .contract-document-presentation--v2 { font-size: 14px; line-height: 1.66; }
.contract-document--preview .contract-document-presentation--v2 .contract-document-masthead { margin-bottom: 26px; }
.contract-document--preview .contract-document-presentation--v2 h1 { font-size: 18px; }
.contract-document--preview .contract-document-presentation--v2 .contract-document-plan { font-size: 10px; }
.contract-document--preview .contract-document-presentation--v2 .contract-clause { margin-top: 24px; }
.contract-document--preview .contract-document-presentation--v2 .contract-clause h2 { font-size: 11px; }

@media (max-width: 700px) {
  .contract-full-reader--professional .contract-reader-toolbar-inner { width: calc(100% - 28px); }
  .contract-full-reader--professional .contract-reader-download { padding: 8px 10px; font-size: 12px; }
  .contract-reader-state { display: none; }
  .contract-reader-stage { width: 100%; padding: 0; }
  .contract-document--professional { width: 100%; min-height: 0; margin: 0; padding: 39px 20px 52px; border: 0; border-radius: 0; box-shadow: none; font-size: 16px; line-height: 1.7; overflow-wrap: anywhere; }
  .contract-document-presentation--v2 .contract-document-masthead { margin-bottom: 30px; }
  .contract-document-presentation--v2 .contract-document-type { margin-bottom: 12px; font-size: 9px; }
  .contract-document-presentation--v2 h1 { font-size: 20px; line-height: 1.16; }
  .contract-document-presentation--v2 .contract-document-plan { margin-top: 13px; font-size: 10px; }
  .contract-document-presentation--v2 .contract-document-rule { margin-top: 19px; }
  .contract-document-presentation--v2 .contract-document-paragraph { margin-bottom: 15px; line-height: 1.7; hyphens: auto; }
  .contract-document-presentation--v2 .contract-clause { margin-top: 31px; }
  .contract-document-presentation--v2 .contract-clause h2 { padding-top: 14px; font-size: 12px; }
}

/* Dados da contratação: revelação progressiva exclusiva do mobile. */
.contracting-mobile-progress,
.contracting-mobile-step-actions { display: none; }
.contracting-mobile-step-stage { display: contents; }

@media (max-width: 700px) {
  .contracting-form.is-mobile-progressive,
  .contracting-form.is-mobile-progressive .contracting-form-grid,
  .contracting-form.is-mobile-progressive .contracting-mobile-step-actions,
  .contracting-form.is-mobile-progressive .contracting-mobile-step-stage {
    overflow-anchor: none;
  }
  .contracting-form.is-mobile-progressive .contracting-mobile-progress {
    display: grid;
    gap: 8px;
    margin: 0 0 18px;
  }
  .contracting-mobile-progress > p {
    margin: 0;
    color: #667184;
    font-size: 11px;
    font-weight: 760;
    letter-spacing: .025em;
    line-height: 1.4;
  }
  .contracting-mobile-progress > span {
    display: block;
    width: 100%;
    height: 3px;
    overflow: hidden;
    border-radius: 999px;
    background: #e4e8ed;
  }
  .contracting-mobile-progress > span > i {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #30415a, #586a86);
    transition: width .24s ease;
  }
  .contracting-form.is-mobile-progressive .contracting-mobile-step-stage {
    display: grid;
    min-height: var(--contracting-mobile-stage-height, 260px);
    grid-template-columns: minmax(0, 1fr);
    align-content: start;
  }
  .contracting-form.is-mobile-progressive .contracting-mobile-step-stage.is-measuring {
    min-height: 0 !important;
  }
  .contracting-form.is-mobile-progressive .contracting-form-grid > [hidden],
  .contracting-form.is-mobile-progressive .contracting-address .contract-field[hidden],
  .contracting-form.is-mobile-progressive .contracting-mobile-step-stage > .contracting-due-day-field[hidden],
  .contracting-form.is-mobile-progressive .contracting-form-section[hidden],
  .contracting-form.is-mobile-progressive > .contracting-commercial-summary[hidden] {
    display: none !important;
  }
  .contracting-form.is-mobile-progressive .is-mobile-progressive-current {
    animation: contracting-mobile-step-in .18s ease-out both;
  }
  .contracting-form.is-mobile-progressive .contract-field em {
    min-height: 32px;
  }
  .contracting-form.is-mobile-progressive .cep-lookup-status {
    display: none;
    min-height: 38px;
    margin: 2px 0 0;
    padding: 8px 10px;
    box-sizing: border-box;
    border: 1px solid rgba(79,98,189,.12);
    border-radius: 10px;
    background: rgba(79,98,189,.045);
  }
  .contracting-form.is-mobile-progressive .contracting-address.is-mobile-cep-active .cep-lookup-status {
    display: flex;
  }
  .contracting-form.is-mobile-progressive .contracting-address {
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
  }
  .contracting-form.is-mobile-progressive .contracting-address > legend {
    display: none;
  }
  .contracting-form.is-mobile-progressive .contracting-address-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }
  .contracting-form.is-mobile-progressive .contract-field--address-cep,
  .contracting-form.is-mobile-progressive .contract-field--address-state {
    max-width: none;
  }
  .contracting-form.is-mobile-progressive .contracting-due-day-field {
    margin: 0;
    padding: 16px;
    border-radius: 15px;
  }
  .contracting-form.is-mobile-progressive .contracting-due-day-field > p {
    margin-bottom: 12px;
  }
  .contracting-form.is-mobile-progressive .contracting-due-day-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .contracting-form.is-mobile-progressive .contracting-due-day-option {
    min-width: 0;
  }
  .contracting-form.is-mobile-progressive .contracting-due-day-notice {
    min-height: 62px;
    box-sizing: border-box;
    margin-top: 12px;
  }
  .contracting-form.is-mobile-progressive .contracting-due-day-notice[hidden] {
    display: block;
    visibility: hidden;
  }
  .contracting-due-day-error {
    display: block;
    min-height: 18px;
    margin-top: 9px;
    color: #b42318;
    font-size: 12px;
    font-style: normal;
    font-weight: 650;
    line-height: 1.4;
  }
  .contracting-form.is-mobile-progressive .contracting-mobile-step-actions {
    display: grid;
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
    gap: 9px;
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid #e5e8ed;
  }
  .contracting-mobile-step-actions .button {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    justify-content: center;
    padding-right: 13px;
    padding-left: 13px;
    text-align: center;
    white-space: normal;
  }
  .contracting-mobile-step-actions .button:disabled {
    cursor: wait;
    opacity: .55;
    box-shadow: none;
    transform: none;
  }
  .contracting-form.is-mobile-progressive > .contracting-form-actions {
    margin-top: 9px;
    padding-top: 0;
    border-top: 0;
  }
  .contracting-form.is-mobile-progressive > .contracting-form-actions > .contracting-step-back,
  .contracting-form.is-mobile-progressive > .contracting-form-actions > button[type="submit"] {
    display: none;
  }
}

@keyframes contracting-mobile-step-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .contracting-form.is-mobile-progressive .is-mobile-progressive-current { animation: none; }
  .contracting-mobile-progress > span > i { transition: none; }
  .cep-lookup-status[data-state="loading"]::before { animation: none; }
}

/* A barra funciona também como navegação de revisão. Somente etapas já
   alcançadas recebem links; estados futuros continuam inertes. */
.contract-progress li > a {
  display: flex;
  width: 100%;
  min-height: 44px;
  align-items: center;
  gap: 8px;
  border-radius: 12px;
  color: inherit;
  text-decoration: none;
}
.contract-progress li > a:hover { color: #4b43a3; }
.contract-progress li > a:focus-visible { outline: 3px solid rgba(91, 78, 205, .2); outline-offset: 3px; }

/* No fluxo de sites, as perguntas de escopo são parte da comunicação
   contextual e não devem herdar a supressão usada no fluxo de tráfego. */
.is-contracting-mode[data-contracting-service="sites"] .faq-item--public-plan { display: block !important; }
.is-contracting-mode[data-contracting-service="sites"] .faq-list-head strong::after { content: "10 perguntas essenciais"; }

/* Laboratório visual disponível somente quando o servidor local o habilita. */
.contract-visual-lab { width: min(100% - 60px, 900px); margin: 0 auto; padding: 14px 0 28px; }

@media (max-width: 700px) {
  .contract-progress li > a {
    display: grid;
    min-height: 45px;
    grid-template-columns: 1fr;
    grid-template-rows: 25px minmax(14px, auto);
    gap: 5px;
    justify-items: center;
    align-items: start;
    text-align: center;
  }
  .contract-visual-lab { width: calc(100% - 28px); padding: 18px 0 34px; }
}

/* Mobile hero refinement: preserve the page grid while giving the copy a quiet
   reading zone and allowing the chess artwork to emerge below the conversion path. */
@media (max-width: 600px) {
  .page-grid {
    height: max(980px, 115svh);
  }

  .orb-top {
    width: 100px;
    height: 100px;
    right: 0;
    top: 8px;
    opacity: .68;
    filter: blur(2.5px) saturate(.78);
    transform: none;
  }

  .orb-top::after {
    width: 44px;
    height: 44px;
    top: 28px;
    left: 28px;
  }

  .hero {
    overflow: hidden;
    padding-top: clamp(38px, 10vw, 44px);
    padding-bottom: 0;
  }

  .hero-layout {
    position: relative;
    min-height: 0;
    gap: 0;
    padding-bottom: clamp(270px, 72vw, 310px);
    isolation: isolate;
  }

  body:not(.is-contracting-mode) .hero-layout {
    /* Preserve um palco curto para a arte antes de entregar a leitura aos
       quatro pilares, sem transformar esse respiro em uma área morta. */
    padding-bottom: clamp(96px, 26vw, 112px);
  }

  .hero-copy {
    position: relative;
    z-index: 3;
    max-width: 100%;
  }

  .hero-copy > .eyebrow {
    margin-bottom: 18px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: .105em;
  }

  .hero-copy > .eyebrow .eyebrow-dot {
    width: 7px;
    height: 7px;
    box-shadow: 0 0 0 3px rgba(118,80,232,.11);
  }

  .hero-copy h1 {
    max-width: 100%;
    margin: 0;
    color: #15151a;
    font-size: clamp(42px, 10.7vw, 46px);
    font-weight: 780;
    letter-spacing: -.058em;
    line-height: .97;
    overflow-wrap: normal;
    word-break: normal;
  }

  .hero-positioning-title .hero-title-soft {
    display: block;
    max-width: 330px;
    margin-top: 10px;
    color: #62616a;
    font-size: clamp(26px, 7vw, 29px);
    font-weight: 550;
    letter-spacing: -.035em;
    line-height: 1.08;
    text-shadow: none;
  }

  .hero-text {
    max-width: 37ch;
    margin: 26px 0;
    color: #403d45;
    font-size: 16px;
    font-weight: 450;
    line-height: 1.58;
    text-shadow: none;
  }

  .hero-actions {
    width: 100%;
    gap: 20px;
  }

  .hero-actions .button-primary {
    min-height: 56px;
    gap: 12px;
    border-radius: 15px;
    background: linear-gradient(118deg, #4d2bb5 0%, #7049dc 56%, #7d5cdd 100%);
    box-shadow: 0 8px 18px rgba(76,43,170,.17);
    font-size: 15.5px;
    font-weight: 700;
  }

  .hero-actions .button-primary:hover {
    box-shadow: 0 9px 20px rgba(76,43,170,.2);
  }

  .hero-actions .button-arrow {
    margin-left: 2px;
    font-size: 17px;
  }

  .hero-actions .text-link {
    gap: 5px;
    padding-bottom: 0;
    color: #5c5961;
    border-bottom: 0;
    font-size: 14px;
    font-weight: 600;
  }

  .hero-actions .text-link span {
    font-size: 13px;
    opacity: .76;
  }

  .hero-proof {
    width: 100%;
    margin-top: 27px;
    gap: 7px;
    color: #6f6c74;
    font-size: 12.5px;
    font-weight: 500;
    line-height: 1.4;
  }

  .hero-proof i {
    width: 3px;
    height: 3px;
    background: #aaa6ae;
  }

  .hero-visual.chess-visual {
    position: absolute;
    z-index: 0;
    top: auto;
    bottom: 0;
    left: 52%;
    width: min(168vw, 650px);
    height: auto;
    margin: 0;
    pointer-events: none;
    opacity: .2;
    transform: translateX(-50%);
    -webkit-mask-image: none;
    mask-image: none;
  }

  body:not(.is-contracting-mode) .hero-visual.chess-visual {
    /* Compensa a redução do Hero para manter o enquadramento aprovado da arte. */
    bottom: clamp(-198px, -46vw, -172px);
  }

  .js .hero-visual.chess-visual.reveal,
  .hero-visual.chess-visual.reveal.is-visible {
    opacity: .2;
    transform: translateX(-50%);
  }

  .chess-image-frame img {
    object-position: center bottom;
    filter: grayscale(1) contrast(.85) brightness(1.04);
  }

  body:not(.is-contracting-mode) .trust-strip {
    background: rgba(250,249,247,.68);
    border-color: rgba(38,38,39,.055);
  }

  .trust-items span {
    display: flex;
    min-height: 68px;
    align-items: center;
    justify-content: flex-start;
    padding: 18px 14px;
    color: #68656d;
    font-size: 12.5px;
    font-weight: 550;
    letter-spacing: 0;
    line-height: 1.35;
    text-align: left;
  }

  .trust-items span + span {
    border-left-color: rgba(38,38,39,.055);
  }

  .trust-items span:nth-child(3),
  .trust-items span:nth-child(4) {
    border-top-color: rgba(38,38,39,.055);
  }
}
