:root {
  --ink: #0c102b;
  --muted: #5f6177;
  --purple: #7129e8;
  --purple-dark: #4b0da7;
  --violet: #9148ff;
  --line: #e7e2f4;
  --soft: #f7f5fc;
  --yellow: #ffca2e;
  --green: #14a96b;
  --red: #d8304c;
  --radius: 8px;
  --container: 1400px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: #fff; font-family: "Manrope", Arial, sans-serif; font-size: 16px; line-height: 1.5; letter-spacing: 0; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
[hidden] { display: none !important; }

.site-header { height: 76px; padding: 0 max(24px, calc((100% - var(--container)) / 2)); display: flex; align-items: center; justify-content: space-between; gap: 32px; background: #09091e; color: #fff; position: sticky; top: 0; z-index: 50; border-bottom: 1px solid rgba(255,255,255,.09); }
.brand { display: flex; align-items: center; gap: 11px; flex: 0 0 auto; }
.brand img { width: 176px; height: 46px; object-fit: contain; object-position: left center; }
.brand span { padding: 4px 7px; border: 1px solid rgba(255,255,255,.3); border-radius: 4px; color: #c6a9ff; font-size: .68rem; font-weight: 800; letter-spacing: .08em; }
.main-nav { display: flex; align-items: center; gap: 28px; font-size: .88rem; font-weight: 700; }
.main-nav a:not(.nav-cta), .seller-link { color: #d9d7e4; transition: color .2s; }
.main-nav a:hover, .seller-link:hover { color: #fff; }
.seller-link { padding: 0; border: 0; background: none; }
.nav-cta { min-height: 42px; padding: 0 18px; display: inline-flex; align-items: center; gap: 9px; border: 1px solid #8f5bec; border-radius: 6px; background: rgba(113,41,232,.15); }
.nav-cta svg { width: 17px; }
.nav-toggle { display: none; width: 42px; height: 42px; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.18); border-radius: 6px; background: transparent; color: white; }

.hero { min-height: 690px; padding: 72px max(24px, calc((100% - var(--container)) / 2)) 60px; display: grid; grid-template-columns: minmax(0, .92fr) minmax(520px, 1.08fr); align-items: center; gap: 36px; overflow: hidden; color: white; background: radial-gradient(circle at 72% 48%, rgba(116,49,238,.4), transparent 32%), radial-gradient(circle at 18% 10%, rgba(82,46,202,.28), transparent 33%), #08071d; position: relative; }
.hero::before { content: ""; position: absolute; inset: auto 0 0; height: 155px; opacity: .45; background: repeating-radial-gradient(ellipse at 50% 100%, transparent 0 16px, rgba(144,70,255,.35) 17px 18px, transparent 19px 28px); transform: scaleX(1.4); mask-image: linear-gradient(transparent, #000); }
.hero-copy, .hero-visual { position: relative; z-index: 1; }
.eyebrow { width: max-content; max-width: 100%; display: flex; align-items: center; gap: 10px; color: #c8adff; font-size: .8rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.eyebrow svg { width: 19px; }
.hero h1 { max-width: 700px; margin: 20px 0 22px; font-size: clamp(3rem, 5.2vw, 5.6rem); line-height: .99; letter-spacing: 0; }
.hero h1 span { display: block; color: #a36bff; }
.hero-copy > p { max-width: 590px; margin: 0; color: #cac7d9; font-size: 1.08rem; line-height: 1.7; }
.hero-actions { display: flex; align-items: center; gap: 20px; margin-top: 34px; }
.primary-button { min-height: 52px; padding: 0 22px; border: 0; border-radius: 6px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; background: linear-gradient(135deg, #8f43ff, #5412ba); color: white; font-weight: 800; box-shadow: 0 12px 30px rgba(103,33,224,.22); transition: transform .2s, box-shadow .2s; }
.primary-button:hover { transform: translateY(-2px); box-shadow: 0 16px 34px rgba(103,33,224,.3); }
.primary-button svg { width: 19px; }
.primary-button.full { width: 100%; }
.text-button { display: inline-flex; align-items: center; gap: 8px; color: #ece9f6; font-weight: 700; }
.text-button svg { width: 17px; }
.trust-row { margin-top: 38px; display: flex; flex-wrap: wrap; gap: 22px; color: #aaa6bc; font-size: .78rem; font-weight: 700; }
.trust-row span { display: flex; align-items: center; gap: 7px; }
.trust-row svg { width: 16px; color: #a66cff; }

.hero-visual { height: 550px; display: flex; align-items: center; justify-content: center; }
.orbit { position: absolute; border: 1px solid rgba(176,117,255,.38); border-radius: 50%; transform: rotate(-18deg); }
.orbit-one { width: 620px; height: 260px; }
.orbit-two { width: 470px; height: 490px; }
.phone { width: 242px; height: 486px; padding: 9px; border: 2px solid #27253a; border-radius: 38px; background: linear-gradient(145deg,#171723,#050509); box-shadow: 0 25px 60px rgba(0,0,0,.5); position: relative; z-index: 3; }
.phone-main { transform: translateY(6px); }
.speaker { width: 84px; height: 21px; border-radius: 0 0 14px 14px; background: #06060a; position: absolute; top: 8px; left: 50%; z-index: 5; transform: translateX(-50%); }
.phone-screen { height: 100%; padding: 30px 15px 17px; overflow: hidden; border-radius: 29px; color: var(--ink); background: #fff; }
.phone-video-screen { padding: 4px 5px 14px; display: grid; place-items: center; background: #fff; }
.hero-phone-video { width: 100%; height: 100%; display: block; object-fit: contain; border-radius: 22px 22px 17px 17px; background: #fff; }
.app-top { height: 34px; padding: 0 8px; display: flex; align-items: center; gap: 7px; border-radius: 6px; background: #f4f3f7; color: #8d899c; font-size: .58rem; }
.app-top svg { width: 12px; }
.app-top svg:last-child { margin-left: auto; }
.ad-preview { height: 138px; margin-top: 16px; padding: 18px; border-radius: 6px; display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; color: #fff; background: radial-gradient(circle at 85% 20%, rgba(202,137,255,.62), transparent 32%), linear-gradient(135deg,#36106f,#7c24e1); box-shadow: 0 14px 25px rgba(92,27,177,.23); }
.ad-preview small { font-size: .52rem; font-weight: 800; }
.ad-preview strong { font-size: 1.15rem; line-height: 1.05; }
.ad-preview span { display: flex; align-items: center; gap: 4px; font-size: .52rem; }
.ad-preview svg { width: 10px; }
.chips { display: flex; gap: 5px; margin: 16px 0 12px; }
.chips b { padding: 5px 7px; border: 1px solid #e7e3ef; border-radius: 12px; font-size: .48rem; }
.product-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; }
.product-grid span { height: 73px; border-radius: 5px; background: linear-gradient(145deg,#e8e4f3,#f9f8fc 45%,#b898e9); }
.app-nav { height: 36px; margin-top: 14px; display: flex; align-items: center; justify-content: space-around; color: #777086; }
.app-nav svg { width: 15px; }
.app-nav b { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #701bd2; }
.phone-back { width: 188px; height: 380px; opacity: .72; position: absolute; z-index: 1; }
.left-phone { left: 2%; transform: rotate(-8deg) translateY(24px); }
.right-phone { right: 1%; transform: rotate(8deg) translateY(20px); }
.mini-screen { padding-top: 38px; font-size: .55rem; }
.mini-banner { height: 108px; margin-top: 16px; display: grid; place-items: center; border-radius: 5px; color: white; text-align: center; font-size: .9rem; font-weight: 800; background: linear-gradient(135deg,#5415a8,#932bfb); }
.mini-banner.video svg { width: 34px; height: 34px; }
.floating-tag { padding: 13px 16px; display: flex; align-items: center; gap: 12px; position: absolute; right: 7%; bottom: 22px; z-index: 6; border: 1px solid rgba(255,255,255,.22); border-radius: 7px; background: rgba(17,10,48,.88); backdrop-filter: blur(12px); color: #c9c6d7; font-size: .73rem; }
.floating-tag > svg { width: 24px; color: var(--yellow); }
.floating-tag b { color: white; }

.promo-band { max-width: var(--container); min-height: 132px; margin: -1px auto 0; padding: 26px 34px; display: grid; grid-template-columns: 1.35fr repeat(3,1fr); align-items: center; gap: 30px; color: white; background: linear-gradient(112deg,#100c31 0%,#24105a 60%,#5116a9 100%); position: relative; z-index: 3; }
.promo-title, .promo-item { display: flex; align-items: center; gap: 14px; }
.promo-title > svg { width: 44px; height: 44px; padding: 9px; border: 1px solid rgba(255,202,46,.5); border-radius: 6px; color: var(--yellow); }
.promo-title small, .promo-item small { display: block; color: #aca7bd; font-size: .68rem; }
.promo-title strong { color: var(--yellow); font-size: 1.05rem; }
.promo-item > svg { width: 27px; color: #a974ff; }
.promo-item b { display: block; font-size: .86rem; }

.builder-section { padding: 92px max(22px, calc((100% - var(--container)) / 2)) 70px; background: radial-gradient(circle at 0 12%,rgba(125,54,236,.08),transparent 26%), radial-gradient(circle at 100% 40%,rgba(255,208,55,.08),transparent 22%), #fbfaff; }
.section-heading { margin-bottom: 42px; text-align: center; }
.section-kicker { color: var(--purple); font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.section-heading h2 { margin: 8px 0 8px; font-size: clamp(2.2rem,4vw,4rem); line-height: 1.05; }
.section-heading p { margin: 0; color: var(--muted); }
.builder-layout { display: grid; grid-template-columns: minmax(0,1fr) 350px; align-items: start; gap: 28px; }
.campaign-form { min-width: 0; }
.form-step { padding: 30px 32px; border-bottom: 1px solid var(--line); background: white; }
.form-step:first-child { border-radius: var(--radius) var(--radius) 0 0; }
.form-step:last-of-type { border-radius: 0 0 var(--radius) var(--radius); border-bottom: 0; }
.step-heading { margin-bottom: 24px; display: flex; align-items: flex-start; gap: 15px; }
.step-heading > span { width: 36px; height: 36px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 6px; color: white; background: linear-gradient(145deg,#8c3fff,#4b0ba8); font-size: .74rem; font-weight: 800; }
.step-heading h3 { margin: 0; font-size: 1.18rem; line-height: 1.3; }
.step-heading p { margin: 4px 0 0; color: var(--muted); font-size: .82rem; }
.option-grid { display: grid; gap: 12px; }
.option-grid.four { grid-template-columns: repeat(4,1fr); }
.option-grid.three { grid-template-columns: repeat(3,1fr); }
.option-tile { min-height: 116px; padding: 18px 14px; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 10px; border: 1px solid var(--line); border-radius: 7px; background: #fff; text-align: center; font-size: .78rem; font-weight: 800; cursor: pointer; transition: border-color .2s, background .2s, transform .2s; position: relative; }
.option-tile:hover { transform: translateY(-2px); border-color: #bd9af3; }
.option-tile.selected { border-color: #7c31e8; background: #faf7ff; box-shadow: inset 0 3px 0 #7426df; }
.option-tile input, .coverage-tile input { position: absolute; opacity: 0; pointer-events: none; }
.option-tile > svg { width: 29px; height: 29px; color: var(--purple); }
.option-tile small { display: block; margin-top: 4px; color: var(--muted); font-size: .66rem; font-weight: 600; }
.fields { display: grid; gap: 16px; }
.two-columns { grid-template-columns: repeat(2,minmax(0,1fr)); }
.fields label, .date-field, dialog label { display: grid; gap: 7px; color: #2f3042; font-size: .75rem; font-weight: 800; }
select, input[type="text"], input[type="email"], input[type="tel"], input[type="date"] { width: 100%; height: 50px; padding: 0 14px; border: 1px solid #dcd7e8; border-radius: 6px; outline: none; color: var(--ink); background: #fff; font-size: .86rem; }
textarea { width: 100%; min-height: 124px; padding: 13px 14px; resize: vertical; border: 1px solid #dcd7e8; border-radius: 6px; outline: none; color: var(--ink); background: #fff; font-size: .86rem; line-height: 1.5; }
select:focus, input:focus, textarea:focus { border-color: var(--purple); box-shadow: 0 0 0 3px rgba(113,41,232,.1); }
select:disabled { color: #9793a4; background: #f6f5f8; }
.other-activity { margin-top: 17px; padding: 14px 16px; border: 1px dashed #d9cfeb; border-radius: 6px; }
.other-activity summary {
  display: flex;
  align-items: center;
  gap: 7px;
  width: fit-content;
  color: var(--purple-dark);
  font-size: .78rem;
  font-weight: 800;
  cursor: pointer;
  list-style: none;
}
.other-activity summary::-webkit-details-marker { display: none; }
.other-activity summary::before {
  content: "";
  width: 0;
  height: 0;
  flex: 0 0 auto;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
  border-top: 6px solid var(--purple-dark);
  transition: transform .2s ease;
}
.other-activity[open] summary::before { transform: rotate(180deg); }
.other-activity .fields { margin-top: 15px; }
.restriction-note, .assisted-coverage { margin-top: 17px; padding: 14px 16px; display: flex; align-items: flex-start; gap: 12px; border-left: 3px solid #e5a719; background: #fff9e8; color: #665631; }
.restriction-note svg, .assisted-coverage svg { width: 20px; flex: 0 0 auto; }
.restriction-note b, .assisted-coverage b { font-size: .78rem; }
.restriction-note p, .assisted-coverage p { margin: 3px 0 0; font-size: .73rem; }

.restriction-note {
  display: block;
  margin-top: 20px;
  padding: 0;
  overflow: hidden;
  border: 1px solid #e7ddc2;
  border-left: 1px solid #e7ddc2;
  border-radius: 7px;
  color: var(--ink);
  background: #fffdf7;
}
.restriction-note-head {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 15px 18px;
  background: #fff9e9;
  cursor: pointer;
  list-style: none;
}
.restriction-note-head::-webkit-details-marker { display: none; }
.restriction-note[open] .restriction-note-head { border-bottom: 1px solid #eee6d2; }
.restriction-note-head > span {
  width: 34px;
  height: 34px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #8a5a00;
  background: #ffe7a9;
}
.restriction-note-head > span svg { width: 18px; height: 18px; }
.restriction-note-head b { display: block; font-size: .86rem; }
.restriction-note-head p { margin: 3px 0 0; color: #71684f; font-size: .72rem; line-height: 1.35; }
.restriction-toggle-icon { width: 20px !important; height: 20px; margin-left: auto; color: #795b24; transition: transform .2s ease; }
.restriction-note[open] .restriction-toggle-icon { transform: rotate(180deg); }
.restriction-list { margin: 0; padding: 0; list-style: none; }
.restriction-list li {
  border-bottom: 1px solid #f0ece1;
}
.restriction-row {
  width: 100%;
  min-height: 50px;
  padding: 10px 18px;
  display: grid;
  grid-template-columns: minmax(150px, .62fr) 20px minmax(240px, 1.38fr);
  align-items: center;
  gap: 12px;
  border: 0;
  color: inherit;
  background: transparent;
  text-align: left;
  cursor: pointer;
  transition: background .2s, box-shadow .2s;
}
.restriction-list li:last-child { border-bottom: 0; }
.restriction-row:hover { background: #faf6eb; }
.restriction-row.active { background: #f3ecff; box-shadow: inset 3px 0 0 var(--purple); }
.restriction-unavailable .restriction-row.active { background: #fff0f3; box-shadow: inset 3px 0 0 #a9273f; }
.restriction-list strong { font-size: .78rem; line-height: 1.3; }
.restriction-row > svg { width: 16px; height: 16px; color: #a79c84; }
.restriction-row > span {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 9px;
  color: #5f586a;
  font-size: .76rem;
  font-weight: 650;
  line-height: 1.35;
}
.restriction-row > span svg {
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
  padding: 4px;
  border-radius: 50%;
  color: #6e35c5;
  background: #f1eaff;
}
.restriction-list .restriction-unavailable .restriction-row > span { color: #8d3545; }
.restriction-list .restriction-unavailable .restriction-row > span svg { color: #a9273f; background: #ffedf1; }
.restriction-gate { margin-top: 18px; overflow: hidden; border: 1px solid #d9ccec; border-radius: 7px; background: #fbf9ff; box-shadow: 0 12px 32px rgba(55,24,108,.08); }
.unavailable-panel { padding: 22px; display: flex; align-items: flex-start; gap: 15px; border-color: #edc4ce; background: #fff7f8; }
.unavailable-panel > span, .analysis-panel-head > span { width: 48px; height: 48px; flex: 0 0 48px; display: grid; place-items: center; border-radius: 7px; }
.unavailable-panel > span { color: #a9273f; background: #ffe4ea; }
.unavailable-panel svg, .analysis-panel-head svg { width: 25px; height: 25px; }
.unavailable-panel small, .analysis-panel-head small, .analysis-success small { display: block; margin-bottom: 4px; font-size: .64rem; font-weight: 800; letter-spacing: .08em; }
.unavailable-panel small { color: #a9273f; }
.unavailable-panel h4, .analysis-panel h4 { margin: 0; color: var(--ink); font-size: 1.05rem; }
.unavailable-panel p, .analysis-panel-head p, .analysis-success p { margin: 5px 0 0; color: var(--muted); font-size: .74rem; line-height: 1.55; }
.analysis-panel { padding: 22px; }
.analysis-panel-head { display: flex; align-items: flex-start; gap: 15px; }
.analysis-panel-head > span { color: #fff; background: linear-gradient(135deg,#8843ef,#5313b3); box-shadow: 0 8px 20px rgba(98,34,199,.22); }
.analysis-panel-head small { color: var(--purple); }
.analysis-topic { margin: 18px 0; padding: 12px 14px; display: flex; align-items: center; justify-content: space-between; gap: 14px; border: 1px solid #e1d7f1; border-radius: 6px; background: #f4effc; }
.analysis-topic span { color: var(--muted); font-size: .7rem; font-weight: 700; }
.analysis-topic strong { color: var(--purple-dark); font-size: .78rem; text-align: right; }
.analysis-fields { gap: 14px; }
.analysis-fields label em { color: #8a8694; font-size: .65rem; font-style: normal; font-weight: 500; }
.analysis-full { grid-column: 1 / -1; }
.analysis-submit { width: 100%; margin-top: 17px; }
.analysis-security { margin: 10px 0 0; display: flex; align-items: center; justify-content: center; gap: 6px; color: var(--muted); font-size: .65rem; text-align: center; }
.analysis-security svg { width: 15px; height: 15px; }
.analysis-success { padding: 18px; display: flex; align-items: flex-start; gap: 13px; border: 1px solid #bce6d4; border-radius: 6px; background: #f1fbf7; }
.analysis-success > span { width: 40px; height: 40px; flex: 0 0 40px; display: grid; place-items: center; border-radius: 50%; color: #087a50; background: #d8f5e8; }
.analysis-success > span svg { width: 22px; height: 22px; }
.analysis-success small { color: #087a50; }
.flow-lock-note { margin: 0; padding: 13px 18px; display: flex; align-items: center; justify-content: center; gap: 8px; border-top: 1px solid #e1d7f1; color: #5f467f; background: #f3eefb; font-size: .7rem; font-weight: 750; text-align: center; }
.flow-lock-note svg { width: 16px; height: 16px; }
.form-step.restricted-locked { opacity: .46; filter: grayscale(.35); pointer-events: none; user-select: none; }
#requestQuote:disabled { cursor: not-allowed; opacity: .6; transform: none; box-shadow: none; }
.format-demo { min-height: 116px; padding: 9px; border: 1px solid var(--line); border-radius: 7px; background: #f2edf9; }
.demo-banner { height: 100%; padding: 14px; display: flex; flex-direction: column; justify-content: space-between; border-radius: 5px; color: white; background: radial-gradient(circle at 85% 18%,rgba(231,181,255,.65),transparent 25%),linear-gradient(120deg,#16082f,#7622da); }
.demo-banner span { font-size: .5rem; font-weight: 800; }
.demo-banner strong { font-size: .9rem; }
.demo-banner small { font-size: .55rem; color: #d8cbea; }
.demo-banner .demo-link-note {
  width: 100%;
  padding: 5px 7px;
  display: flex;
  align-items: flex-start;
  gap: 5px;
  border-radius: 4px;
  color: #f2eaff;
  background: rgba(16, 5, 42, .42);
  font-size: .5rem;
  font-weight: 650;
  line-height: 1.25;
}
.demo-banner .demo-link-note svg { width: 11px; height: 11px; flex: 0 0 auto; }
.creative-upload { margin-top: 18px; padding: 18px; border: 1px solid var(--line); border-radius: 7px; background: #fbfaff; }
.creative-upload-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.creative-upload-head b, .creative-upload-head span { display: block; }
.creative-upload-head b { font-size: .86rem; }
.creative-upload-head span { margin-top: 3px; color: var(--muted); font-size: .75rem; }
.creative-upload-head > svg { width: 25px; color: var(--purple); flex: 0 0 auto; }
.upload-grid { margin-top: 14px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.upload-box { min-height: 112px; padding: 14px; display: flex; align-items: center; justify-content: center; border: 1px dashed #bca8dc; border-radius: 7px; background: #fff; cursor: pointer; transition: border-color .2s, background .2s; overflow: hidden; }
.upload-box:hover { border-color: var(--purple); background: #faf7ff; }
.upload-box > input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.upload-idle { display: grid; justify-items: center; gap: 4px; text-align: center; }
.upload-idle > svg { width: 25px; color: var(--purple); }
.upload-idle b { font-size: .78rem; }
.upload-idle small, .upload-ready small { color: var(--muted); font-size: .75rem; }
.upload-ready { width: 100%; display: none; grid-template-columns: 72px minmax(0,1fr) 34px; align-items: center; gap: 12px; }
.upload-box.has-file .upload-idle { display: none; }
.upload-box.has-file .upload-ready { display: grid; }
.preview-media { width: 72px; height: 58px; border-radius: 5px; overflow: hidden; background: #eee9f5; }
.preview-media img, .preview-media video { width: 100%; height: 100%; display: block; object-fit: cover; }
.preview-media img { object-fit: contain; background: #fff; }
.upload-ready > span:nth-child(2) { min-width: 0; }
.upload-ready .file-name { max-width: 100%; display: block; overflow: hidden; color: var(--ink); font-size: .75rem; text-overflow: ellipsis; white-space: nowrap; }
.creative-tip { margin: 12px 0 0; display: flex; align-items: center; gap: 8px; color: #5b5569; font-size: .75rem; }
.creative-tip svg { width: 17px; color: var(--green); flex: 0 0 auto; }
.info-line { margin: 14px 0 0; padding: 10px 12px; display: flex; align-items: center; gap: 9px; border-radius: 5px; color: #625d70; background: #f7f4fc; font-size: .72rem; }
.info-line svg { width: 17px; color: var(--purple); }
.position-grid { display: grid; grid-template-columns: repeat(6,1fr); gap: 10px; }
.position-button, .duration-button { min-height: 82px; padding: 10px 8px; border: 1px solid var(--line); border-radius: 6px; color: var(--ink); background: white; font-size: .72rem; font-weight: 800; }
.position-button svg { width: 21px; display: block; margin: 0 auto 7px; color: var(--purple); }
.position-button small, .duration-button small { display: block; margin-top: 3px; color: var(--muted); font-size: .62rem; font-weight: 600; }
.position-button.selected, .duration-button.selected { border-color: var(--purple); color: var(--purple-dark); background: #faf7ff; box-shadow: inset 0 3px 0 var(--purple); }
.automatic-badge { max-width: 440px; padding: 13px 15px; display: flex; align-items: center; gap: 11px; border: 1px solid #dcd4e8; border-radius: 6px; background: #faf9fd; font-size: .78rem; font-weight: 700; }
.automatic-badge svg { width: 22px; color: var(--purple); }
.automatic-badge b { margin-left: auto; color: var(--green); font-size: .68rem; text-transform: uppercase; }
.duration-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: 10px; }
.date-field { max-width: 300px; }
.coverage-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.coverage-tile { min-height: 92px; padding: 14px; display: flex; align-items: center; gap: 12px; border: 1px solid var(--line); border-radius: 6px; cursor: pointer; position: relative; }
.coverage-tile > svg { width: 26px; color: var(--purple); }
.coverage-tile b, .coverage-tile small { display: block; }
.coverage-tile b { font-size: .8rem; }
.coverage-tile small { color: var(--muted); font-size: .64rem; }
.coverage-tile.selected { border-color: var(--purple); background: #faf7ff; box-shadow: inset 0 3px 0 var(--purple); }
.location-builder { margin-top: 18px; padding: 18px; border: 1px solid var(--line); border-radius: 6px; }
.city-fields { grid-template-columns: 180px minmax(220px,1fr) auto; align-items: end; }
.secondary-button { height: 50px; padding: 0 17px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid var(--purple); border-radius: 6px; color: var(--purple); background: #fff; font-weight: 800; font-size: .78rem; }
.secondary-button svg { width: 17px; }
.selected-cities { margin-top: 16px; display: grid; gap: 8px; }
.empty-cities { min-height: 74px; padding: 15px; display: flex; align-items: center; justify-content: center; gap: 10px; border: 1px dashed #d9d5e2; color: var(--muted); font-size: .75rem; text-align: center; }
.empty-cities svg { width: 20px; }
.city-row { padding: 12px 14px; display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 14px; border: 1px solid #e9e5ef; border-radius: 6px; font-size: .75rem; }
.city-row span { min-width: 0; }
.city-row span small { display: block; color: var(--muted); }
.city-row strong { white-space: nowrap; }
.city-row > strong { text-align: right; }
.city-row > strong small { display: block; margin-top: 2px; color: var(--muted); font-size: .62rem; font-weight: 650; }
.icon-button { width: 34px; height: 34px; border: 0; border-radius: 5px; display: grid; place-items: center; color: #9c3555; background: #fff0f4; }
.icon-button svg { width: 16px; }
.assisted-coverage { border-color: #7840dd; background: #f5efff; color: #4d3971; }
.assisted-coverage-panel { margin-top: 18px; padding: 18px; border: 1px solid #ded4ef; border-radius: 6px; background: #fcfaff; }
.assisted-coverage-panel .assisted-coverage { margin-top: 0; }
.assisted-contact-fields { margin-top: 18px; }
.plan-discount-highlight { margin: 18px 0 12px; padding: 17px 18px; display: flex; align-items: center; gap: 14px; border: 1px solid #e2c858; border-left: 4px solid #e3ad0b; border-radius: 6px; background: #fffbea; box-shadow: 0 8px 24px rgba(139,97,0,.08); }
.plan-discount-icon { width: 45px; height: 45px; flex: 0 0 45px; display: grid; place-items: center; border-radius: 6px; color: #5a3b00; background: #f4c62e; box-shadow: 0 6px 14px rgba(196,139,0,.22); }
.plan-discount-icon svg { width: 25px; height: 25px; }
.plan-discount-highlight strong, .plan-discount-highlight span { display: block; }
.plan-discount-highlight strong { color: #382600; font-size: .9rem; line-height: 1.25; text-transform: uppercase; }
.plan-discount-highlight span { margin-top: 3px; color: #6d5c35; font-size: .7rem; line-height: 1.45; }
.plan-toggle-row { padding: 14px 16px; display: flex; justify-content: space-between; align-items: center; border: 1px solid var(--line); border-radius: 6px; font-size: .82rem; font-weight: 800; }
.switch { display: inline-flex; }
.switch input { position: absolute; opacity: 0; }
.switch span { width: 48px; height: 26px; padding: 3px; border-radius: 16px; background: #d6d2dc; transition: background .2s; }
.switch span::after { content:""; display:block; width:20px; height:20px; border-radius:50%; background:#fff; box-shadow:0 2px 5px rgba(0,0,0,.2); transition: transform .2s; }
.switch input:checked + span { background: var(--purple); }
.switch input:checked + span::after { transform: translateX(22px); }
.plans-grid { margin-top: 16px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.plan-button { --plan-color: #6d28d9; --plan-soft: #f3edff; min-height: 154px; padding: 16px; position: relative; overflow: hidden; display: grid; grid-template-columns: 44px 1fr; grid-template-rows: auto 1fr auto; column-gap: 13px; border: 1px solid #e3ddec; border-radius: 6px; color: var(--ink); text-align: left; background: white; transition: border-color .2s, box-shadow .2s, transform .2s; }
.plan-button::before { content:""; height: 4px; position: absolute; inset: 0 0 auto; background: var(--plan-color); }
.plan-button:hover { transform: translateY(-2px); border-color: var(--plan-color); box-shadow: 0 10px 24px rgba(25,14,50,.1); }
.plan-button.selected { border-color: var(--plan-color); box-shadow: 0 0 0 2px var(--plan-soft), 0 10px 26px rgba(25,14,50,.12); background: linear-gradient(145deg,#fff,var(--plan-soft)); }
.plan-icon { width: 44px; height: 44px; grid-row: 1 / 3; display: grid; place-items: center; border: 1px solid color-mix(in srgb,var(--plan-color) 28%,white); border-radius: 6px; color: var(--plan-color); background: var(--plan-soft); }
.plan-icon svg { width: 22px; height: 22px; stroke-width: 2.2; }
.plan-copy { min-width: 0; }
.plan-button b, .plan-button small, .plan-button strong { display: block; }
.plan-button b { color: var(--plan-color); font-size: .94rem; }
.plan-copy small { min-height: 34px; margin-top: 4px; color: var(--muted); font-size: .66rem; line-height: 1.4; }
.plan-button > strong { grid-column: 1 / -1; align-self: end; margin-top: 13px; padding-top: 11px; border-top: 1px solid color-mix(in srgb,var(--plan-color) 18%,white); color: var(--plan-color); font-size: .9rem; }
.plan-button > strong small { display: inline; color: inherit; font-size: .67rem; font-weight: 700; }
.plan-diamond { --plan-color: #425fc9; --plan-soft: #edf3ff; }
.plan-gold { --plan-color: #a26a00; --plan-soft: #fff6d9; }
.plan-silver { --plan-color: #6e7280; --plan-soft: #f0f1f4; }
.plan-bronze { --plan-color: #a4512b; --plan-soft: #fff0e8; }
.honeypot { position: absolute !important; left: -9999px !important; }

.summary { padding: 22px; position: sticky; top: 96px; border: 1px solid #ddd3ee; border-radius: var(--radius); background: white; box-shadow: 0 18px 45px rgba(37,18,80,.09); }
.summary-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.summary-head small { color: var(--purple); font-size: .65rem; font-weight: 800; text-transform: uppercase; }
.summary-head h3 { margin: 3px 0 0; font-size: 1.25rem; }
.live-dot { padding: 4px 7px; border-radius: 4px; color: #167a54; background: #e8faf2; font-size: .58rem; font-weight: 800; }
.summary-close { display: none; }
.summary-preview { height: 144px; margin: 18px 0; border-radius: 6px; overflow: hidden; color: white; background: radial-gradient(circle at 80% 15%,rgba(201,153,255,.7),transparent 25%),linear-gradient(120deg,#17072f,#7222d4); position: relative; }
.summary-placeholder { height: 100%; padding: 17px; display: flex; flex-direction: column; justify-content: space-between; }
.summary-preview span { font-size: .57rem; font-weight: 800; }
.summary-preview strong { font-size: 1.32rem; line-height: 1.05; }
.summary-preview small { color: #d8cde6; font-size: .6rem; }
.summary-creative { position: absolute; inset: 0; background: #110829; }
.summary-creative img, .summary-creative video { width: 100%; height: 100%; display: block; object-fit: cover; }
.creative-preview-label { padding: 5px 8px; position: absolute; left: 9px; bottom: 9px; z-index: 2; border-radius: 4px; color: #fff; background: rgba(7,5,22,.72); backdrop-filter: blur(5px); font-size: .75rem !important; }
.summary-list { margin: 0; }
.summary-list > div { padding: 10px 0; display: grid; grid-template-columns: 24px 1fr; gap: 8px; border-bottom: 1px solid #eeeaf3; }
.summary-list svg { width: 17px; color: var(--purple); }
.summary-list dt { color: var(--muted); font-size: .61rem; font-weight: 700; }
.summary-list dd { margin: 1px 0 0; font-size: .72rem; font-weight: 800; }
.price-breakdown { margin: 15px 0; display: grid; gap: 10px; }
.price-line { display: flex; justify-content: space-between; gap: 10px; color: var(--muted); font-size: .68rem; }
.price-line b { color: var(--ink); }
.price-line.discount b { color: var(--green); }
.format-quote {
  overflow: hidden;
  border: 1px solid #ded4ef;
  border-radius: 7px;
  background: #fcfaff;
}
.format-quote-head {
  min-height: 58px;
  padding: 11px 13px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid #e7dff3;
  background: #f4effc;
}
.format-quote-head > span { min-width: 0; display: flex; align-items: center; gap: 8px; }
.format-quote-head svg { width: 19px; height: 19px; flex: 0 0 auto; color: var(--purple); }
.format-quote-head b { font-size: .75rem; line-height: 1.2; }
.format-quote-head > strong { flex: 0 0 auto; color: var(--purple-dark); font-size: 1rem; }
.format-quote-lines { padding: 11px 13px; display: grid; gap: 6px; }
.format-quote-lines .price-line { font-size: .64rem; }
.postlaunch-price { margin: -2px -3px 4px; padding: 10px; display: flex; align-items: center; justify-content: space-between; gap: 10px; border: 1px solid #ded3ee; border-radius: 5px; background: #f5f0fb; }
.postlaunch-price span { color: #5d5668; font-size: .65rem; font-weight: 750; }
.postlaunch-price span small { margin-left: 3px; padding: 2px 5px; border-radius: 3px; color: #8b263d; background: #ffe9ee; font-size: .56rem; font-weight: 850; }
.postlaunch-price strong { color: #595263; font-size: .8rem; text-decoration: line-through; text-decoration-thickness: 1px; }
.price-line.current-price { margin-bottom: 3px; padding-bottom: 8px; border-bottom: 1px solid #e8e2ef; color: var(--purple-dark); font-weight: 800; }
.price-line.current-price b { color: var(--purple-dark); font-size: .75rem; }
.total-box { margin: 16px 0; padding: 18px; border-radius: 6px; color: white; background: linear-gradient(135deg,#7029de,#4d0ba5); }
.total-box small, .total-box span { display: block; }
.total-box small { color: #d9c9f2; font-size: .68rem; }
.total-box strong { display: block; margin: 3px 0; font-size: 1.75rem; }
.total-box span { color: #d9c9f2; font-size: .62rem; }
.secure-note { margin: 12px 0 0; display: flex; justify-content: center; align-items: center; gap: 6px; color: var(--muted); font-size: .61rem; }
.secure-note svg { width: 14px; }
.mobile-summary-trigger { display: none; }

.benefits-strip { max-width: var(--container); margin: 0 auto 70px; padding: 26px 32px; display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.benefits-strip > div { display: flex; align-items: center; gap: 12px; color: var(--muted); font-size: .72rem; }
.benefits-strip svg { width: 25px; color: var(--purple); }
.benefits-strip b { display: block; color: var(--ink); }
footer { padding: 36px max(24px, calc((100% - var(--container)) / 2)); display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 28px; color: #a8a5b8; background: #09091e; font-size: .75rem; }
footer img { width: 150px; }
footer p { margin: 0; }
footer a { display: flex; align-items: center; gap: 8px; color: #e7e4ef; font-weight: 700; }
footer svg { width: 16px; }

dialog { width: min(440px,calc(100% - 32px)); padding: 34px; border: 0; border-radius: 8px; color: var(--ink); box-shadow: 0 24px 80px rgba(15,7,37,.35); }
dialog::backdrop { background: rgba(8,6,25,.72); backdrop-filter: blur(5px); }
.dialog-close { width: 36px; height: 36px; position: absolute; right: 14px; top: 14px; border: 0; display: grid; place-items: center; background: #f2eff7; border-radius: 5px; }
.dialog-close svg { width: 18px; }
.dialog-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 7px; color: white; background: var(--purple); }
.dialog-icon svg { width: 24px; }
.dialog-icon.success { background: #139b67; }
.success-label { display: block; margin-top: 18px; color: #14845c; font-size: .75rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.success-dialog h2 { margin-top: 6px; }
.success-dialog .secondary-button { margin-top: 10px; }
.full-width { width: 100%; }
dialog h2 { margin: 18px 0 6px; font-size: 1.5rem; }
dialog p { margin: 0 0 20px; color: var(--muted); font-size: .83rem; }
dialog .primary-button { margin-top: 18px; }
.toast { max-width: min(420px,calc(100% - 32px)); padding: 13px 16px; position: fixed; left: 50%; bottom: 24px; z-index: 100; transform: translate(-50%,120px); border-radius: 6px; color: white; background: #141126; box-shadow: 0 14px 40px rgba(0,0,0,.25); font-size: .78rem; font-weight: 700; opacity: 0; transition: .3s; }
.toast.show { opacity: 1; transform: translate(-50%,0); }
.toast.error { background: #8e1732; }

@media (max-width: 1100px) {
  .main-nav { gap: 17px; }
  .hero { grid-template-columns: minmax(0,.9fr) minmax(440px,1.1fr); }
  .phone-main { transform: scale(.9); }
  .phone-back { transform: scale(.8); }
  .promo-band { grid-template-columns: 1.25fr repeat(3,1fr); gap: 18px; padding-inline: 24px; }
  .option-grid.four { grid-template-columns: repeat(2,1fr); }
  .plans-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 880px) {
  .site-header { height: 68px; padding-inline: 18px; }
  .brand img { width: 145px; }
  .nav-toggle { display: inline-flex; }
  .main-nav { width: min(320px,calc(100% - 24px)); padding: 18px; display: none; align-items: stretch; position: absolute; right: 12px; top: 62px; flex-direction: column; gap: 4px; border: 1px solid rgba(255,255,255,.12); border-radius: 7px; background: #111027; box-shadow: 0 20px 50px rgba(0,0,0,.4); }
  .main-nav.open { display: flex; }
  .main-nav > a:not(.nav-cta), .seller-link { padding: 11px 10px; text-align: left; }
  .nav-cta { margin-top: 4px; }
  .hero { min-height: auto; padding: 58px 24px 50px; grid-template-columns: 1fr; text-align: center; }
  .hero-copy { display: flex; flex-direction: column; align-items: center; }
  .hero h1 { max-width: 680px; font-size: clamp(2.8rem,9vw,4.5rem); }
  .hero-copy > p { max-width: 620px; }
  .hero-visual { height: 460px; }
  .trust-row { justify-content: center; }
  .phone-main { transform: scale(.84); }
  .phone-back { display: none; }
  .floating-tag { right: 12%; }
  .promo-band { grid-template-columns: repeat(3,1fr); margin: 0; }
  .promo-title { grid-column: 1 / -1; }
  .builder-layout { grid-template-columns: 1fr; }
  .summary { display: none; width: min(430px,100%); max-height: 86vh; overflow-y: auto; position: fixed; z-index: 80; left: 50%; top: auto; bottom: 0; transform: translateX(-50%); border-radius: 8px 8px 0 0; box-shadow: 0 -15px 60px rgba(15,8,38,.25); }
  .summary.mobile-open { display: block; }
  .summary-close { width: 36px; height: 36px; margin-left: 3px; display: grid; place-items: center; border: 0; border-radius: 5px; background: #f3f0f8; }
  .summary-close svg { width: 18px; }
  .mobile-summary-trigger.visible { display: block; height: 72px; }
  .mobile-summary-trigger button { width: calc(100% - 28px); height: 60px; padding: 0 18px; display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 10px; position: fixed; left: 14px; bottom: 10px; z-index: 45; border: 0; border-radius: 7px; color: white; background: #100b2c; box-shadow: 0 12px 40px rgba(20,9,48,.35); text-align: left; }
  .mobile-summary-trigger span { font-size: .75rem; }
  .mobile-summary-trigger strong { font-size: 1rem; }
  .mobile-summary-trigger svg { width: 18px; color: #b78cff; }
  .benefits-strip { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 620px) {
  .site-header { height: 62px; }
  .brand img { width: 133px; height: 38px; }
  .brand span { font-size: .55rem; }
  .hero { padding: 48px 18px 36px; }
  .eyebrow { font-size: .68rem; }
  .hero h1 { margin: 17px 0 18px; font-size: clamp(2.45rem,12vw,3.45rem); line-height: 1.02; }
  .hero-copy > p { font-size: .94rem; line-height: 1.6; }
  .hero-actions { width: 100%; margin-top: 27px; flex-direction: column; gap: 14px; }
  .hero-actions .primary-button { width: 100%; }
  .trust-row { margin-top: 28px; gap: 13px; font-size: .66rem; }
  .hero-visual { height: 390px; margin-top: 12px; }
  .phone-main { transform: scale(.73); }
  .orbit-one { width: 430px; height: 190px; }
  .orbit-two { width: 330px; height: 350px; }
  .floating-tag { right: 2%; bottom: 5px; }
  .promo-band { padding: 25px 20px; grid-template-columns: 1fr; gap: 18px; }
  .promo-title { grid-column: auto; }
  .promo-item { padding-top: 15px; border-top: 1px solid rgba(255,255,255,.1); }
  .builder-section { padding: 66px 12px 42px; }
  .section-heading { margin-bottom: 30px; padding-inline: 12px; }
  .section-heading h2 { font-size: 2.45rem; }
  .section-heading p { font-size: .88rem; }
  .form-step { padding: 26px 18px; }
  .step-heading { gap: 12px; }
  .step-heading > span { width: 34px; height: 34px; }
  .step-heading h3 { font-size: 1.05rem; }
  .option-grid.four, .option-grid.three { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .format-demo { grid-column: 1 / -1; min-height: 126px; }
  .creative-upload { padding: 15px; }
  .upload-grid { grid-template-columns: 1fr; }
  .creative-upload-head { align-items: flex-start; }
  .two-columns { grid-template-columns: 1fr; }
  .position-grid { grid-template-columns: repeat(3,1fr); }
  .duration-grid { grid-template-columns: repeat(2,1fr); }
  .duration-button:last-child { grid-column: 1 / -1; }
  .coverage-grid { grid-template-columns: 1fr; }
  .coverage-tile { min-height: 78px; }
  .location-builder { padding: 14px; }
  .assisted-coverage-panel { padding: 14px; }
  .city-fields { grid-template-columns: 1fr; }
  .city-row { grid-template-columns: 1fr auto; }
  .city-row strong { grid-column: 1; }
  .city-row .icon-button { grid-column: 2; grid-row: 1 / 3; }
  .plans-grid { grid-template-columns: repeat(2,1fr); }
  .benefits-strip { margin-bottom: 0; padding: 28px 22px; grid-template-columns: 1fr; }
  footer { padding: 34px 22px 100px; grid-template-columns: 1fr; text-align: center; justify-items: center; }
  dialog { padding: 30px 24px; }
}

@media (prefers-reduced-motion: no-preference) {
  .hero-copy, .hero-visual, .promo-band, .form-step { animation: reveal .65s both; }
  .hero-visual { animation-delay: .12s; }
  .promo-band { animation-delay: .2s; }
  @keyframes reveal { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
}

/* Legibilidade mínima para rótulos e metadados em todas as telas. */
.brand span,
.app-top,
.ad-preview small,
.ad-preview span,
.chips b,
.mini-screen,
.floating-tag,
.promo-title small,
.promo-item small,
.step-heading > span,
.option-tile small,
.restriction-note p,
.assisted-coverage p,
.demo-banner span,
.demo-banner small,
.info-line,
.position-button,
.duration-button,
.position-button small,
.duration-button small,
.automatic-badge b,
.coverage-tile small,
.plan-button small,
.summary-head small,
.live-dot,
.summary-preview span,
.summary-preview small,
.summary-list dt,
.summary-list dd,
.price-line,
.total-box small,
.total-box span,
.secure-note,
.benefits-strip > div,
.eyebrow,
.trust-row { font-size: .75rem; }

@media (max-width: 620px) {
  .restriction-note-head { align-items: flex-start; padding: 14px; }
  .restriction-note-head b { font-size: .82rem; line-height: 1.3; }
  .restriction-note-head p { font-size: .75rem; }
  .restriction-row {
    min-height: 0;
    padding: 13px 14px;
    grid-template-columns: 1fr;
    gap: 7px;
  }
  .restriction-row > svg { display: none; }
  .restriction-list strong { font-size: .8rem; }
  .restriction-row > span { gap: 8px; font-size: .76rem; }
  .analysis-panel, .unavailable-panel { padding: 18px 15px; }
  .analysis-panel-head, .unavailable-panel { gap: 11px; }
  .unavailable-panel > span, .analysis-panel-head > span { width: 40px; height: 40px; flex-basis: 40px; }
  .analysis-topic { align-items: flex-start; flex-direction: column; gap: 4px; }
  .analysis-topic strong { text-align: left; }
  .analysis-full { grid-column: auto; }
  .other-activity { padding: 13px 14px; }
  .other-activity summary { font-size: .8rem; }
}
