:root {
  --purple:#4c1d95;
  --purple-dark:#29134c;
  --purple-light:#ede7f7;
  --lime:#dafa87;
  --ink:#21192d;
  --muted:#6a6374;
  --surface:#fff;
  --soft:#f8f7fa;
  --line:#e6e1ec;
  --radius:24px;
  --shadow:0 24px 64px #29134c0d;
}

* {
  box-sizing:border-box;
}

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

body {
  margin:0;
  color:var(--ink);
  background:var(--surface);
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}

[hidden] {
  display:none!important;
}

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

button,input,textarea,select {
  font:inherit;
}

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

button,a,input,textarea,summary {
  touch-action:manipulation;
}

img,svg {
  max-width:100%;
}

:focus-visible {
  outline:3px solid #8155bf;
  outline-offset:5px;
}

h1,h2,h3,p {
  margin-top:0;
}

h1,h2,h3 {
  line-height:1.12;
  letter-spacing:-.045em;
}

h2 {
  font-size:clamp(2rem,3.6vw,3.25rem);
  font-weight:800;
  margin-bottom:22px;
}

h3 {
  font-size:1.4rem;
  font-weight:750;
}

p {
  color:var(--muted);
}

.container {
  width:min(1240px,calc(100% - 64px));
  margin-inline:auto;
}

.skip-link {
  position:fixed;
  left:16px;
  top:-100px;
  padding:12px 20px;
  background:var(--purple);
  color:white;
  z-index:100;
}

.skip-link:focus {
  top:12px;
}

.topbar {
  position:sticky;
  top:0;
  z-index:40;
  border-bottom:1px solid #e6e1ec;
  background:#fffffff5;
  box-shadow:0 12px 30px #29134c0a;
  backdrop-filter:blur(18px);
}

.nav {
  min-height:88px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:32px;
}

.brand {
  display:inline-flex;
  flex-shrink:0;
}

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

.navlinks {
  display:flex;
  align-items:center;
  gap:20px;
  font-size:.875rem;
  font-weight:700;
}

.nav-pages,.nav-actions {
  display:flex;
  align-items:center;
}

.nav-pages {
  gap:3px;
  padding:5px;
  border:1px solid #e9e2f0;
  border-radius:16px;
  background:#f8f5fc;
}

.nav-pages a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:9px 13px;
  border-radius:11px;
  color:#51465f;
  white-space:nowrap;
  transition:background .2s,color .2s,box-shadow .2s;
}

.nav-pages a:hover,.nav-pages a:focus-visible {
  color:var(--purple);
  background:#fff;
  box-shadow:0 4px 12px #29134c12;
}

.nav-actions {
  gap:9px;
}

.nav-login {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:46px;
  padding:9px 14px;
  border:1px solid #dcd0ea;
  border-radius:12px;
  color:var(--purple);
  white-space:nowrap;
  transition:background .2s,border-color .2s,transform .2s;
}

.nav-login:hover {
  border-color:#bca6d8;
  background:#f5effc;
  transform:translateY(-2px);
}

.nav-login i {
  font-size:1.05rem;
}

.menu-toggle {
  display:none;
  border:1px solid #dcd0ea;
  border-radius:12px;
  background:#f8f5fc;
  font-size:26px;
  width:46px;
  height:46px;
  cursor:pointer;
  color:var(--purple);
}

.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:54px;
  padding:14px 23px;
  border:1px solid transparent;
  border-radius:14px;
  font-size:.9375rem;
  font-weight:700;
  line-height:1.4;
  cursor:pointer;
  transition:transform .2s,background .2s,box-shadow .2s,border-color .2s;
}

.btn:hover {
  transform:translateY(-2px);
}

.btn i {
  transition:transform .2s;
}

.btn:hover .bi-arrow-right,.btn:hover .bi-arrow-up-right {
  transform:translateX(3px);
}

.btn-primary {
  color:white;
  background:linear-gradient(135deg,#6830bd,var(--purple) 65%,#361363);
  box-shadow:0 10px 22px #4c1d952e,inset 0 1px #ffffff30;
}

.btn-primary:hover {
  color:white;
  background:linear-gradient(135deg,#7540c7,#57219d 65%,#3d176d);
  box-shadow:0 14px 26px #4c1d9538,inset 0 1px #ffffff38;
}

.btn-light {
  color:var(--ink);
  background:white;
  border-color:var(--line);
  box-shadow:0 5px 16px #29134c0b;
}

.btn-light:hover {
  background:#fbf8ff;
  border-color:#cab7df;
  box-shadow:0 9px 20px #29134c14;
}

.btn-lime {
  color:var(--purple-dark);
  background:var(--lime);
  box-shadow:0 10px 22px #829c3c2e;
}

.btn-lime:hover {
  background:#e6ffae;
  box-shadow:0 14px 26px #829c3c38;
}

.btn-small {
  min-height:46px;
  padding:10px 16px;
  font-size:.8125rem;
}

.nav-cta i {
  display:grid;
  width:25px;
  height:25px;
  place-items:center;
  border-radius:8px;
  background:#ffffff26;
}

.actions {
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}

.eyebrow,.kicker {
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:var(--purple);
  font-size:.72rem;
  font-weight:750;
  letter-spacing:.11em;
  margin-bottom:20px;
}

.eyebrow {
  border:1px solid #dbd0e9;
  border-radius:30px;
  background:#f4effb;
  padding:8px 13px;
  letter-spacing:.025em;
}

.live-dot {
  display:inline-block;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#618e28;
  flex-shrink:0;
}

.hero {
  padding:86px 0 90px;
  overflow:hidden;
  background:radial-gradient(ellipse at 85% 40%,#eee7f780,transparent 60%),#fcfbfd;
}

.hero-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:48px;
}

.hero h1 {
  font-size:clamp(3rem,5.15vw,4.6rem);
  line-height:1.055;
  letter-spacing:-.065em;
  font-weight:800;
  margin-bottom:28px;
}

.accent-word {
  color:var(--purple);
  position:relative;
  display:inline-block;
}

.accent-word svg {
  position:absolute;
  left:0;
  bottom:-13px;
  width:100%;
  height:16px;
  color:#c9b6e8;
}

.accent-word path {
  stroke-dasharray:440;
  stroke-dashoffset:440;
  animation:underline-in 1s .3s forwards;
}

.hero-description {
  max-width:495px;
  font-size:1.06rem;
  line-height:1.8;
  margin-bottom:30px;
}

.hero-notes {
  display:flex;
  flex-wrap:wrap;
  gap:8px 19px;
  margin-top:25px;
  color:#6b6276;
  font-size:.75rem;
}

.hero-notes i {
  color:var(--purple);
  margin-right:4px;
}

.hero-visual {
  position:relative;
  padding:34px 0 70px;
  min-width:0;
}

.orbit {
  position:absolute;
  border:1px solid #dfd4ec;
  width:540px;
  height:540px;
  border-radius:50%;
  top:-10px;
  left:0;
  pointer-events:none;
}

.orbit-two {
  width:620px;
  height:620px;
  top:-50px;
  left:-40px;
  opacity:.5;
}

.editor-window {
  position:relative;
  z-index:1;
  background:white;
  border:1px solid #dfd6e9;
  border-radius:18px;
  box-shadow:0 30px 70px #32194a17,0 4px 0 #f1edf5;
  transform:rotate(-2deg);
  overflow:hidden;
}

.editor-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:15px 20px;
  border-bottom:1px solid var(--line);
}

.window-brand {
  display:flex;
  align-items:center;
  gap:9px;
  font-size:.8rem;
  font-weight:700;
}

.window-brand img {
  object-fit:contain;
}

.demo-label {
  color:#756b7e;
  font-size:.55rem;
  letter-spacing:.08em;
  font-weight:650;
}

.editor-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:25px 22px 16px;
}

.editor-heading small {
  color:var(--muted);
  font-size:.57rem;
  letter-spacing:.1em;
}

.editor-heading h2 {
  font-size:1.2rem;
  margin:7px 0 0;
  letter-spacing:-.035em;
}

.mini-avatar {
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--purple-light);
  color:var(--purple);
  font-size:.75rem;
  font-weight:800;
}

.editor-stats {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  padding:4px 22px 22px;
}

.editor-stats>div {
  background:#faf9fc;
  border:1px solid #eeeaf2;
  border-radius:10px;
  padding:11px 13px;
}

.editor-stats>div>span {
  color:var(--muted);
  font-size:.625rem;
}

.editor-stats strong {
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:1.6rem;
  line-height:1.3;
}

.stat-dot {
  width:8px;
  height:8px;
  border-radius:50%;
}

.purple {
  background:#8757c1;
}

.amber {
  background:#cf9a49;
}

.green {
  background:#70923f;
}

.editor-calendar {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  padding:0 15px 18px;
}

.calendar-day {
  min-width:0;
  padding:9px 5px;
  text-align:center;
  border-left:1px solid #eeeaf2;
}

.calendar-day:first-child {
  border-left:0;
}

.calendar-day>span {
  display:block;
  color:var(--muted);
  font-size:.6rem;
}

.calendar-day>strong {
  display:inline-grid;
  place-items:center;
  width:28px;
  height:28px;
  font-size:.8rem;
  margin:4px 0 12px;
}

.day-current>strong {
  color:white;
  background:var(--purple);
  border-radius:9px;
}

.calendar-post {
  min-height:112px;
  text-align:left;
  padding:10px 8px;
  border-radius:9px;
  font-size:.68rem;
  line-height:1.4;
}

.calendar-post>i {
  display:block;
  font-size:.95rem;
  margin-bottom:9px;
}

.calendar-post>span {
  display:block;
  font-weight:700;
}

.calendar-post small {
  display:block;
  font-size:.55rem;
  margin-top:6px;
}

.post-lilac {
  background:#eee5fa;
  color:#573282;
}

.post-peach {
  background:#f9eadb;
  color:#76563c;
  margin-top:22px;
}

.post-lime {
  background:#eaf2d7;
  color:#4f6530;
  margin-top:10px;
}

.calendar-empty {
  border:1px dashed #dcd2e7;
  border-radius:9px;
  padding:24px 5px;
  font-size:.57rem;
  color:var(--muted);
  margin-top:35px;
}

.calendar-empty i {
  display:block;
  font-size:1.3rem;
}

.editor-bottom {
  display:flex;
  justify-content:space-between;
  border-top:1px solid var(--line);
  padding:11px 22px;
  font-size:.65rem;
  color:var(--muted);
}

.editor-bottom .live-dot {
  width:5px;
  height:5px;
  margin-right:5px;
}

.floating-note {
  position:absolute;
  z-index:2;
  display:flex;
  align-items:center;
  gap:12px;
  padding:15px 18px;
  background:white;
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow:0 14px 35px #29134c13;
  animation:float-note 5s ease-in-out 2;
}

.note-approved {
  right:-10px;
  top:2px;
  transform:rotate(3deg);
}

.note-icon {
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  background:var(--lime);
  border-radius:50%;
  color:#3c5621;
  font-size:1.2rem;
}

.note-approved strong {
  display:block;
  font-size:.78rem;
}

.note-approved small {
  display:block;
  font-size:.625rem;
  color:var(--muted);
}

.note-story {
  bottom:44px;
  left:-25px;
  font-size:.65rem;
  transform:rotate(2deg);
  animation-delay:.5s;
}

.note-story>i {
  color:var(--purple);
  font-size:1.55rem;
}

.note-story strong {
  font-size:.7rem;
}

.visual-caption {
  position:absolute;
  bottom:0;
  left:0;
  width:100%;
  text-align:center;
  font-size:.7rem;
  color:var(--muted);
}

.network-strip {
  text-align:center;
  border-block:1px solid var(--line);
  padding:29px 0;
}

.network-strip p {
  font-size:.85rem;
  margin-bottom:18px;
}

.network-row {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:28px;
  flex-wrap:wrap;
}

.network-row span {
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-size:.9rem;
  font-weight:650;
}

.network-row i {
  font-size:1.3rem;
}

.network-strip small {
  display:block;
  color:var(--muted);
  margin-top:19px;
  font-size:.7rem;
}

.section {
  padding:100px 0;
}

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

.section-heading h2 {
  margin-bottom:0;
}

.section-heading>p {
  max-width:340px;
  margin-bottom:4px;
}

.section-title {
  text-align:center;
  max-width:740px;
  margin:0 auto 50px;
}

.section-title p {
  max-width:540px;
  margin:0 auto;
}

.feature-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}

.feature-card {
  padding:32px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--soft);
  transition:border-color .25s,box-shadow .25s;
}

.feature-card:hover {
  border-color:#c6b4df;
  box-shadow:var(--shadow);
}

.icon {
  width:46px;
  height:46px;
  border:1px solid #ddd2ed;
  background:#f1eafa;
  color:var(--purple);
  display:grid;
  place-items:center;
  border-radius:13px;
  font-size:1.25rem;
  margin-bottom:26px;
}

.feature-card h3 {
  margin-bottom:16px;
  line-height:1.2;
}

.feature-card p {
  font-size:.875rem;
  margin-bottom:0;
}

.feature-calendar {
  grid-column:span 2;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  align-items:center;
  background:#f3eff8;
}

.text-label {
  display:inline-flex;
  align-items:center;
  gap:15px;
  font-size:.75rem;
  font-weight:700;
  color:var(--purple);
  margin-top:24px;
}

.mini-schedule {
  min-width:0;
  background:white;
  border-radius:16px;
  padding:10px 16px;
  border:1px solid #e6dced;
  transform:rotate(-3deg);
  box-shadow:0 12px 25px #29134c09;
}

.mini-schedule>div {
  display:flex;
  align-items:center;
  gap:10px;
  padding:20px 0;
  border-bottom:1px solid #eee8f3;
}

.mini-schedule>div:last-child {
  border:0;
}

.mini-schedule span {
  font-size:.58rem;
  color:var(--muted);
}

.mini-schedule b {
  font-size:.68rem;
  line-height:1.45;
  flex:1;
}

.mini-schedule small {
  display:block;
  color:var(--muted);
  font-weight:400;
  margin-top:5px;
}

.mini-schedule i {
  color:var(--purple);
}

.feature-dark {
  color:white;
  background:var(--purple-dark);
  border-color:var(--purple-dark);
}

.feature-dark .icon {
  background:#ffffff0e;
  border-color:#ffffff2b;
  color:var(--lime);
}

.feature-dark p {
  color:#d3c5e3;
}

.approval-path {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:9px;
  margin-top:30px;
  font-size:.65rem;
}

.approval-path>span {
  padding:7px 11px;
  border:1px solid #ffffff26;
  border-radius:6px;
}

.approval-path .selected {
  color:var(--purple-dark);
  background:var(--lime);
  font-weight:700;
}

.workflow-section {
  background:#f8f6fb;
}

.workflow {
  background:white;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:16px;
  box-shadow:var(--shadow);
}

.workflow-tabs {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
  padding-bottom:16px;
  border-bottom:1px solid var(--line);
}

.workflow-tab {
  display:flex;
  align-items:center;
  gap:12px;
  padding:17px 18px;
  border:0;
  border-radius:12px;
  background:white;
  color:var(--muted);
  cursor:pointer;
  transition:background .2s,color .2s;
}

.workflow-tab>span {
  font-size:.75rem;
  opacity:.7;
}

.workflow-tab strong {
  font-size:.9375rem;
}

.workflow-tab i {
  margin-left:auto;
}

.workflow-tab[aria-selected="true"] {
  color:white;
  background:var(--purple);
}

.workflow-tab[aria-selected="false"]:hover {
  background:var(--soft);
}

.workflow-panel {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:65px;
  padding:34px;
  align-items:center;
  animation:panel-in .35s ease both;
}

.workflow-art {
  position:relative;
  min-height:320px;
  background:#f0e9f9;
  border-radius:16px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:25px;
}

.workflow-number {
  position:absolute;
  top:-30px;
  left:5px;
  font-size:10rem;
  line-height:1.2;
  font-weight:900;
  color:#e3d8f0;
  letter-spacing:-.09em;
}

.workflow-symbol {
  display:grid;
  place-items:center;
  position:relative;
  width:95px;
  height:95px;
  font-size:2.4rem;
  border-radius:25px;
  background:white;
  box-shadow:0 13px 0 #ded1ef;
  color:var(--purple);
  transform:rotate(-7deg);
  margin-bottom:40px;
}

.workflow-art>strong {
  position:relative;
  font-size:.9rem;
  margin-bottom:14px;
}

.workflow-copy h3 {
  font-size:clamp(1.6rem,2.6vw,2.2rem);
  margin-bottom:18px;
}

.workflow-copy p {
  font-size:.95rem;
}

.check-list {
  display:grid;
  gap:12px;
  list-style:none;
  padding:0;
  margin:25px 0;
  font-size:.875rem;
}

.check-list li {
  display:flex;
  align-items:baseline;
  gap:10px;
}

.check-list i {
  color:var(--purple);
  flex-shrink:0;
}

.text-link {
  display:inline-flex;
  align-items:center;
  gap:15px;
  min-height:44px;
  font-size:.875rem;
  font-weight:700;
  color:var(--purple);
}

.text-link:hover {
  text-decoration:underline;
  text-underline-offset:5px;
}

.integration-grid {
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:90px;
  align-items:start;
}

.integration-copy {
  position:sticky;
  top:135px;
}

.integration-copy p {
  max-width:400px;
}

.integration-cards {
  display:grid;
  gap:16px;
}

.integration-card {
  border:1px solid var(--line);
  border-radius:20px;
  padding:28px;
}

.integration-card:first-child {
  background:#f6f8f0;
  border-color:#e2e8d5;
}

.integration-icons {
  display:flex;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
  margin-bottom:24px;
}

.integration-icons>i {
  font-size:1.4rem;
  color:var(--purple);
}

.tag {
  display:inline-flex;
  margin-left:auto;
  border-radius:5px;
  padding:5px 8px;
  background:#e8efd9;
  color:#42562d;
  font-size:.6rem;
  font-weight:750;
  letter-spacing:.035em;
}

.tag-lilac {
  background:var(--purple-light);
  color:var(--purple);
}

.tag-neutral {
  background:#f0eef2;
  color:#62586d;
}

.integration-card p {
  font-size:.9rem;
  margin-bottom:0;
}

.integration-card small {
  display:block;
  color:#6e7463;
  margin-top:17px;
  font-size:.72rem;
}

.audience-section {
  padding:78px 0 88px;
  background:var(--purple-dark);
  color:white;
}

.audience-section .kicker {
  color:var(--lime);
}

.audience-section p {
  color:#cbbfd8;
}

.audience-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:36px;
  border-top:1px solid #ffffff26;
  padding-top:38px;
}

.audience-grid article+article {
  border-left:1px solid #ffffff26;
  padding-left:36px;
}

.audience-grid article>span {
  display:block;
  color:#b5a0ce;
  font-size:.65rem;
  letter-spacing:.07em;
  margin-bottom:23px;
}

.audience-grid h3 {
  font-size:1.6rem;
}

.audience-grid p {
  font-size:.875rem;
  margin-bottom:0;
}

.trial-pill {
  display:inline-flex;
  align-items:center;
  gap:8px;
  border-radius:30px;
  padding:9px 15px;
  background:#f0eaf8;
  color:var(--purple);
  font-size:.8rem;
  font-weight:600;
  margin-top:24px;
}

.plans {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,285px),1fr));
  gap:22px;
  align-items:stretch;
}

.plan {
  position:relative;
  display:flex;
  flex-direction:column;
  border:1px solid var(--line);
  border-radius:20px;
  padding:35px 28px;
  margin-top:16px;
  min-width:0;
}

.plan.featured {
  border:2px solid var(--purple);
  background:#fcfaff;
  box-shadow:0 18px 45px #4c1d9510;
}

.plan-featured-label {
  position:absolute;
  top:-17px;
  left:22px;
  background:var(--purple);
  color:white;
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.05em;
  border-radius:7px;
  padding:7px 12px;
}

.plan h3 {
  font-size:1.4rem;
  margin-bottom:13px;
  overflow-wrap:anywhere;
}

.plan-description {
  font-size:.875rem;
  min-height:48px;
  flex:1;
  overflow-wrap:anywhere;
}

.price {
  font-size:clamp(1.8rem,3vw,2.7rem);
  font-weight:800;
  letter-spacing:-.06em;
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:6px;
  line-height:1.4;
}

.price small {
  font-size:.8rem;
  font-weight:400;
  letter-spacing:0;
  color:var(--muted);
}

.plan-trial {
  font-size:.75rem;
  color:var(--purple);
  margin:8px 0 25px;
}

.plan .check-list {
  margin-top:32px;
  margin-bottom:0;
  padding-top:25px;
  border-top:1px solid var(--line);
  font-size:.8125rem;
}

.plans-empty {
  grid-column:1/-1;
  text-align:center;
  padding:46px 30px;
  background:var(--soft);
  border:1px solid var(--line);
  border-radius:var(--radius);
}

.plans-empty .icon {
  margin-inline:auto;
}

.billing-note {
  font-size:.75rem;
  text-align:center;
  margin:27px 0 0;
}

.billing-note i {
  margin-right:5px;
}

.faq-section {
  background:var(--soft);
  border-top:1px solid var(--line);
}

.faq-layout {
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:75px;
}

.faq-item {
  border-bottom:1px solid #dfd9e6;
}

.faq-item:first-child {
  border-top:1px solid #dfd9e6;
}

.faq-item summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:22px 0;
  cursor:pointer;
  list-style:none;
  font-size:.9375rem;
  font-weight:650;
  line-height:1.5;
}

.faq-item summary::-webkit-details-marker {
  display:none;
}

.faq-item summary i {
  color:var(--purple);
  font-size:.9rem;
  transition:transform .25s;
}

.faq-item[open] summary i {
  transform:rotate(45deg);
}

.faq-item[open] summary {
  color:var(--purple);
}

.faq-item p {
  margin:0 30px 23px 0;
  font-size:.9rem;
  animation:panel-in .25s ease both;
}

.cta-section {
  padding:60px 0 80px;
}

.cta-box {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:35px;
  padding:60px;
  overflow:hidden;
  border-radius:28px;
  background:var(--purple);
  color:white;
}

.cta-box>div,.cta-box>a {
  position:relative;
  z-index:1;
}

.cta-box .kicker {
  color:#dacaef;
}

.cta-box h2 {
  font-size:clamp(2rem,3.8vw,3.1rem);
}

.cta-box p {
  color:#e0d3ee;
  margin-bottom:0;
}

.cta-box .btn {
  flex-shrink:0;
}

.cta-decoration {
  position:absolute;
  right:20px;
  bottom:-140px;
  font-size:30rem;
  font-weight:900;
  color:#ffffff07;
  line-height:1;
  pointer-events:none;
}

.footer {
  border-top:1px solid var(--line);
  background:#fbfafc;
  padding:60px 0 24px;
}

.footer-grid {
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1fr;
  gap:35px;
}

.footer-brand p {
  font-size:.875rem;
  margin:19px 0 16px;
}

.footer-signature {
  color:var(--purple);
  font-size:.7rem;
  font-weight:700;
}

.footer-grid h2 {
  font-size:.8125rem;
  letter-spacing:0;
  margin:14px 0 20px;
}

.footer-grid>div:not(.footer-brand) a {
  display:block;
  color:var(--muted);
  font-size:.8125rem;
  padding:7px 0;
}

.footer-grid a:hover {
  color:var(--purple);
  text-decoration:underline;
}

.footer-bottom {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  border-top:1px solid var(--line);
  margin-top:44px;
  padding-top:24px;
  color:var(--muted);
  font-size:.7rem;
}

.footer-bottom small {
  font-size:inherit;
}

.page-intro {
  padding:64px 0 30px;
}

.page-intro h1 {
  font-size:clamp(2.4rem,4.6vw,4rem);
  max-width:780px;
  margin-bottom:24px;
}

.page-intro p {
  max-width:640px;
  font-size:1.0625rem;
}

.contact-layout,.checkout-layout {
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:60px;
  align-items:start;
  padding-bottom:85px;
}

.contact-aside {
  padding:25px 0;
}

.contact-aside h2 {
  font-size:1.5rem;
}

.contact-topics {
  list-style:none;
  padding:0;
  margin:25px 0 35px;
}

.contact-topics li {
  display:flex;
  gap:15px;
  padding:18px 0;
  border-bottom:1px solid var(--line);
}

.contact-topics i {
  font-size:1.25rem;
  color:var(--purple);
}

.contact-topics strong {
  display:block;
  font-size:.9rem;
}

.contact-topics small {
  color:var(--muted);
  font-size:.8125rem;
}

.form-card {
  padding:35px;
  background:white;
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}

.form-card h2 {
  font-size:1.5rem;
}

.grid2 {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}

.field {
  display:flex;
  flex-direction:column;
  gap:8px;
}

.field-full {
  grid-column:1/-1;
}

.field label {
  font-size:.875rem;
  font-weight:650;
}

.password-field {
  position:relative;
}

.password-field:focus-within {
  z-index:5;
}

.password-popover {
  position:absolute;
  z-index:2;
  top:calc(100% + 7px);
  right:0;
  display:grid;
  gap:7px;
  width:min(100%,360px);
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  box-shadow:0 12px 30px #29134c1c;
}

.password-popover strong {
  font-size:.8rem;
}

.password-popover[hidden] {
  display:none;
}

.password-strength {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:5px;
  margin-top:2px;
}

.password-strength span {
  height:4px;
  border-radius:99px;
  background:var(--line);
  transition:background-color .18s ease;
}

.password-strength[data-level="weak"] span.is-active {
  background:#d94b55;
}

.password-strength[data-level="regular"] span.is-active {
  background:#e59b20;
}

.password-strength[data-level="good"] span.is-active {
  background:#35a36b;
}

.password-strength[data-level="strong"] span.is-active {
  background:#238453;
}

.field small {
  color:var(--muted);
  font-size:.75rem;
  line-height:1.45;
}

.input {
  width:100%;
  min-height:50px;
  padding:12px 14px;
  border:1px solid #d6cedf;
  border-radius:10px;
  background:#fcfbfd;
  color:var(--ink);
  transition:border-color .2s,box-shadow .2s;
}

.input:focus {
  outline:none;
  border-color:#8757bb;
  box-shadow:0 0 0 4px #4c1d9510;
}

textarea.input {
  resize:vertical;
}

.form-submit {
  margin-top:25px;
  width:100%;
}

.site-form-honeypot {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip-path:inset(50%);
}

.site-captcha {
  display:grid;
  gap:10px;
  margin-top:18px;
  padding:15px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#faf8fd;
}

.site-captcha-heading,.site-captcha-entry {
  display:flex;
  align-items:center;
  gap:12px;
}

.site-captcha-heading {
  justify-content:space-between;
}

.site-captcha-heading label {
  font-size:.78rem;
  font-weight:700;
}

.site-captcha-heading button {
  border:0;
  background:none;
  color:var(--purple);
  cursor:pointer;
  font:inherit;
  font-size:.72rem;
  font-weight:700;
}

.site-captcha-heading button:disabled {
  opacity:.55;
  cursor:wait;
}

.site-captcha-image {
  display:block;
  max-width:100%;
  height:auto;
  border-radius:10px;
}

.site-captcha-entry .input {
  flex:1;
  min-width:0;
}

.site-captcha [data-site-captcha-status] {
  color:#943f38;
  font-size:.72rem;
}

@media(max-width:600px) {
  .site-captcha-entry {
    align-items:stretch;
    flex-direction:column;
  }
}

.form-note {
  font-size:.75rem;
  margin:22px 0 0;
  color:var(--muted);
}

.form-note a {
  text-decoration:underline;
  text-underline-offset:3px;
  color:var(--purple);
}

.notice {
  padding:15px 18px;
  border-radius:12px;
  background:#f1eafa;
  color:var(--purple);
  margin:16px 0;
  font-size:.875rem;
}

.notice.error {
  background:#fff0ef;
  color:#9e302a;
}

.notice.success {
  background:#edf6e8;
  color:#355f29;
}

.checkout-summary {
  position:sticky;
  top:115px;
  border:1px solid #dbcee9;
  background:#f6f1fb;
  border-radius:var(--radius);
  padding:35px;
}

.checkout-summary h2 {
  font-size:1.8rem;
  overflow-wrap:anywhere;
}

.checkout-steps {
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--muted);
  font-size:.75rem;
  margin-bottom:25px;
  flex-wrap:wrap;
}

.checkout-steps strong {
  color:var(--purple);
}

.return-main {
  background:var(--soft);
  padding:70px 0;
}

.return-card {
  max-width:700px;
  margin:auto;
  text-align:center;
}

.return-card .icon {
  margin-inline:auto;
  width:64px;
  height:64px;
  font-size:1.8rem;
}

.return-card h1 {
  font-size:2.4rem;
}

.return-card .actions {
  justify-content:center;
  margin-top:30px;
}

.legal-hero {
  background:var(--soft);
  padding:56px 0 75px;
}

.legal-card {
  max-width:920px;
  margin:auto;
  background:white;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:50px;
}

.legal-card h1 {
  font-size:clamp(2rem,4vw,3rem);
  margin:10px 0 25px;
}

.legal-card h2 {
  font-size:1.35rem;
  margin:34px 0 14px;
  letter-spacing:-.025em;
}

.legal-card p,.legal-card li {
  line-height:1.85;
  color:var(--muted);
}

.legal-card a {
  color:var(--purple);
  text-decoration:underline;
  text-underline-offset:3px;
  overflow-wrap:anywhere;
}

.legal-meta,.legal-links {
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.legal-pill {
  background:var(--purple-light);
  border-radius:8px;
  padding:8px 12px;
  color:var(--purple);
  font-size:.75rem;
}

.legal-callout {
  margin:25px 0;
  padding:22px;
  background:#f5f0fa;
  border-left:3px solid var(--purple);
  border-radius:0 12px 12px 0;
}

.legal-links {
  border-top:1px solid var(--line);
  margin-top:35px;
  padding-top:25px;
  font-size:.8125rem;
}

.step-box {
  display:flex;
  gap:18px;
  border:1px solid var(--line);
  border-radius:14px;
  padding:20px;
  margin-top:16px;
}

.step-box p {
  margin:8px 0 0;
}

.step-num {
  flex:0 0 35px;
  height:35px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:var(--purple);
  color:white;
  font-weight:700;
}

.reveal {
  opacity:1;
  transform:none;
}

.reveal.is-pending {
  opacity:0;
  transform:translateY(22px);
}

.reveal.is-visible {
  transition:opacity .65s ease,transform .65s ease;
  opacity:1;
  transform:none;
}

.btn.is-loading {
  pointer-events:none;
  opacity:.75;
}

.btn-spinner {
  width:16px;
  height:16px;
  border:2px solid currentColor;
  border-right-color:transparent;
  border-radius:50%;
  animation:spin .7s linear infinite;
}

@keyframes underline-in {
  to {
    stroke-dashoffset:0;
  }
}

@keyframes float-note {
  50% {
    translate:0 -8px;
  }
}

@keyframes panel-in {
  from {
    opacity:.2;
    transform:translateY(7px);
  }
  to {
    opacity:1;
    transform:none;
  }
}

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

@media(min-width:1500px) {
  .hero {
    padding-block:105px;
  }
}

@media(max-width:1100px) {
  .nav {
    gap:16px;
  }
  .nav .brand img {
    width:162px;
  }
  .navlinks {
    gap:10px;
  }
  .nav-pages a {
    padding-inline:10px;
  }
  .hero-grid {
    gap:30px;
  }
  .hero h1 {
    font-size:3.5rem;
  }
  .hero .btn {
    padding-inline:17px;
    font-size:.8125rem;
  }
  .demo-label {
    font-size:.5rem;
  }
  .feature-calendar {
    grid-template-columns:1fr;
  }
  .feature-calendar .mini-schedule {
    display:none;
  }
  .workflow-panel {
    gap:35px;
    padding:25px;
  }
  .integration-grid,.faq-layout {
    gap:45px;
  }
}

@media(max-width:900px) {
  .nav {
    min-height:76px;
    flex-wrap:wrap;
    gap:0;
  }
  .brand img {
    width:152px;
  }
  .menu-ready .menu-toggle {
    display:grid;
    place-items:center;
  }
  .navlinks {
    width:100%;
    flex-direction:column;
    align-items:stretch;
    gap:12px;
    margin-bottom:16px;
    padding:14px;
    border:1px solid #e9e2f0;
    border-radius:18px;
    background:white;
    box-shadow:0 16px 36px #29134c16;
  }
  .menu-ready .navlinks {
    display:none;
  }
  .menu-ready .navlinks.is-open {
    display:flex;
  }
  .nav-pages {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:4px;
    width:100%;
  }
  .nav-pages a {
    min-height:44px;
  }
  .nav-actions {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);
    gap:10px;
  }
  .nav-actions .btn,.nav-login {
    width:100%;
  }
  .hero {
    padding-top:55px;
  }
  .hero-grid {
    grid-template-columns:1fr;
    gap:40px;
  }
  .hero-copy {
    text-align:center;
    max-width:650px;
    margin:auto;
  }
  .hero h1 {
    font-size:clamp(3.5rem,8vw,4.5rem);
  }
  .hero-description {
    margin-inline:auto;
  }
  .hero .actions,.hero-notes {
    justify-content:center;
  }
  .hero-visual {
    width:min(560px,95%);
    margin:auto;
  }
  .section {
    padding:75px 0;
  }
  .section-heading {
    display:block;
  }
  .section-heading>p {
    max-width:540px;
    margin-top:20px;
  }
  .feature-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .feature-calendar {
    grid-template-columns:1fr 1fr;
  }
  .feature-calendar .mini-schedule {
    display:block;
  }
  .feature-grid>article:last-child {
    grid-column:1/-1;
  }
  .workflow-tab {
    gap:8px;
    padding:14px 10px;
  }
  .workflow-tab i {
    display:none;
  }
  .workflow-panel {
    gap:30px;
  }
  .workflow-art {
    min-height:290px;
  }
  .integration-grid,.faq-layout {
    grid-template-columns:1fr;
  }
  .integration-copy {
    position:static;
  }
  .integration-copy p {
    max-width:620px;
  }
  .audience-grid {
    gap:24px;
  }
  .audience-grid article+article {
    padding-left:24px;
  }
  .audience-grid h3 {
    font-size:1.3rem;
  }
  .cta-box {
    padding:40px;
  }
  .footer-grid {
    grid-template-columns:repeat(2,1fr);
  }
  .contact-layout,.checkout-layout {
    gap:30px;
    grid-template-columns:1fr 1.3fr;
  }
  .form-card,.checkout-summary {
    padding:25px;
  }
  .grid2 {
    grid-template-columns:1fr;
  }
}

@media(max-width:600px) {
  .container {
    width:calc(100% - 36px);
  }
  .nav-actions .btn {
    gap:7px;
    padding-inline:10px;
    white-space:nowrap;
  }
  .nav-cta i {
    width:22px;
    height:22px;
  }
  .nav {
    min-height:72px;
  }
  .hero {
    padding:38px 0 50px;
  }
  .hero h1 {
    font-size:clamp(2.8rem,10vw,3.8rem);
  }
  .hero-description {
    font-size:1rem;
    margin-top:30px;
  }
  .eyebrow {
    font-size:.65rem;
  }
  .hero .actions {
    display:grid;
    gap:15px;
  }
  .hero .btn {
    font-size:.9rem;
  }
  .hero-notes {
    font-size:.7rem;
    gap:6px 12px;
  }
  .hero-grid {
    gap:27px;
  }
  .hero-visual {
    width:100%;
    padding-top:25px;
  }
  .editor-top {
    padding:12px;
  }
  .window-brand {
    font-size:.68rem;
  }
  .editor-top .demo-label {
    font-size:.44rem;
    max-width:66px;
    text-align:right;
  }
  .editor-heading {
    padding:18px 14px 12px;
  }
  .editor-heading h2 {
    font-size:1rem;
  }
  .editor-stats {
    padding:4px 12px 15px;
    gap:6px;
  }
  .editor-stats>div {
    padding:8px;
  }
  .editor-stats>div>span {
    font-size:.53rem;
  }
  .editor-stats strong {
    font-size:1.3rem;
  }
  .editor-calendar {
    padding:0 6px 12px;
  }
  .calendar-day {
    padding:6px 3px;
  }
  .calendar-post {
    padding:9px 5px;
    font-size:.57rem;
  }
  .calendar-post small {
    font-size:.46rem;
  }
  .note-approved {
    right:3px;
    top:-8px;
    padding:9px 11px;
    gap:8px;
  }
  .note-approved strong {
    font-size:.66rem;
  }
  .note-approved small {
    font-size:.54rem;
  }
  .note-icon {
    width:25px;
    height:25px;
    font-size:1rem;
  }
  .note-story {
    left:5px;
    bottom:35px;
    padding:10px 13px;
  }
  .visual-caption {
    font-size:.6rem;
  }
  .network-row {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:19px 8px;
  }
  .network-row span {
    flex-direction:column;
    font-size:.65rem;
    gap:3px;
  }
  .network-strip small {
    font-size:.65rem;
    max-width:290px;
    margin-inline:auto;
  }
  .section {
    padding:58px 0;
  }
  .section-heading,.section-title {
    margin-bottom:30px;
  }
  h2 {
    font-size:2rem;
  }
  .kicker {
    font-size:.65rem;
    margin-bottom:16px;
  }
  .feature-grid {
    grid-template-columns:1fr;
    gap:14px;
  }
  .feature-calendar,.feature-grid>article:last-child {
    grid-column:auto;
  }
  .feature-calendar {
    grid-template-columns:1fr;
  }
  .feature-card {
    padding:27px;
  }
  .feature-calendar .mini-schedule {
    display:block;
    transform:none;
  }
  .workflow {
    padding:10px;
  }
  .workflow-tabs {
    gap:3px;
    padding-bottom:10px;
  }
  .workflow-tab {
    flex-direction:column;
    padding:10px 3px;
    gap:2px;
  }
  .workflow-tab strong {
    font-size:.74rem;
  }
  .workflow-tab>span {
    font-size:.6rem;
  }
  .workflow-panel {
    grid-template-columns:1fr;
    padding:16px 10px;
  }
  .workflow-art {
    min-height:205px;
    padding:20px;
  }
  .workflow-symbol {
    width:65px;
    height:65px;
    font-size:1.8rem;
    margin-bottom:26px;
    border-radius:18px;
  }
  .workflow-art>strong {
    font-size:.8rem;
  }
  .workflow-copy {
    padding:0 5px;
  }
  .workflow-copy h3 {
    font-size:1.7rem;
  }
  .integration-card {
    padding:24px;
  }
  .tag {
    font-size:.55rem;
  }
  .audience-section {
    padding:58px 0;
  }
  .audience-grid {
    grid-template-columns:1fr;
    gap:28px;
    padding-top:28px;
  }
  .audience-grid article+article {
    padding:28px 0 0;
    border-left:0;
    border-top:1px solid #ffffff26;
  }
  .audience-grid h3 {
    font-size:1.5rem;
  }
  .audience-grid article>span {
    margin-bottom:14px;
  }
  .trial-pill {
    font-size:.7rem;
  }
  .price {
    font-size:2.6rem;
  }
  .faq-layout {
    gap:30px;
  }
  .faq-item summary {
    font-size:.875rem;
    padding-block:19px;
  }
  .cta-section {
    padding:30px 0 45px;
  }
  .cta-box {
    display:block;
    padding:35px 25px;
    border-radius:20px;
  }
  .cta-box h2 {
    font-size:2rem;
  }
  .cta-box .btn {
    margin-top:25px;
    width:100%;
  }
  .cta-box p {
    font-size:.9rem;
  }
  .footer {
    padding-top:35px;
  }
  .footer-grid {
    gap:25px;
  }
  .footer-brand {
    grid-column:1/-1;
  }
  .footer-grid h2 {
    margin-bottom:10px;
  }
  .footer-grid>div:not(.footer-brand) a {
    font-size:.75rem;
    min-height:40px;
  }
  .footer-bottom {
    display:block;
    font-size:.65rem;
    margin-top:28px;
  }
  .footer-bottom>span {
    display:block;
    margin-top:9px;
  }
  .page-intro {
    padding-top:40px;
  }
  .page-intro h1 {
    font-size:2.4rem;
  }
  .contact-layout,.checkout-layout {
    grid-template-columns:1fr;
    gap:24px;
    padding-bottom:50px;
  }
  .contact-aside {
    padding:0;
  }
  .checkout-summary {
    position:static;
  }
  .form-card,.checkout-summary {
    padding:25px 22px;
  }
  .legal-hero {
    padding:25px 0 40px;
  }
  .legal-card {
    padding:28px 22px;
    border-radius:18px;
  }
  .legal-card h1 {
    font-size:2rem;
  }
  .step-box {
    padding:15px;
    gap:12px;
  }
  .legal-card p,.legal-card li {
    font-size:.9375rem;
  }
}

@media(max-width:420px) {
  .nav-actions {
    grid-template-columns:1fr;
  }
}

@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {
    scroll-behavior:auto!important;
    animation:none!important;
    transition:none!important;
  }
  .reveal.is-pending {
    opacity:1;
    transform:none;
  }
  .accent-word path {
    stroke-dashoffset:0;
  }
  .btn:hover {
    transform:none;
  }
}

/* CONTATO */
.contact-page{position:relative;overflow:hidden;background:radial-gradient(ellipse at 6% 34%,#eae2f480,transparent 34%),#faf9fb}
.contact-page:before{position:absolute;content:"";width:390px;height:390px;border-radius:50%;border:1px solid #e8e1ef;top:64px;left:-245px;pointer-events:none}
.contact-page:after{position:absolute;content:"";width:255px;height:255px;border-radius:50%;border:1px solid #eee9f3;top:135px;left:-175px;pointer-events:none}
.contact-hero{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.85fr);align-items:center;gap:clamp(50px,8vw,112px);padding-block:82px 96px}
.contact-copy h1{font-size:clamp(2.7rem,5vw,4.4rem);font-weight:800;letter-spacing:-.068em;line-height:1.06;margin:0 0 23px}
.contact-copy h1 span{color:#5d2c91}
.contact-copy>p{max-width:490px;font-size:1.0625rem;line-height:1.8;margin-bottom:36px}
.contact-kicker-dot{width:8px;height:8px;border-radius:50%;background:#82a755;box-shadow:0 0 0 4px #82a7551f}
.contact-steps{display:flex;align-items:center;gap:14px;max-width:540px}
.contact-step{display:flex;align-items:flex-start;gap:10px;min-width:0}
.contact-step>span{display:grid;flex:0 0 29px;height:29px;place-items:center;border:1px solid #dfd5eb;border-radius:9px;background:#f4f0f8;color:#5c3289;font-size:.63rem;font-weight:800}
.contact-step>div{display:grid;gap:3px;padding-top:1px}
.contact-step strong{font-size:.72rem;white-space:nowrap}
.contact-step small{max-width:125px;color:#827b89;font-size:.61rem;line-height:1.5}
.contact-steps>.bi{flex:0 0 auto;color:#aa9db7;font-size:.82rem;margin-top:8px}
.contact-faq-link{display:inline-flex;align-items:center;gap:9px;min-height:46px;margin-top:31px;color:#562988;font-size:.79rem;font-weight:700}
.contact-faq-link:hover{text-decoration:underline;text-underline-offset:4px}
.contact-card{padding:clamp(26px,4vw,40px);border:1px solid #e9e2ee;border-radius:23px;background:#fff;box-shadow:0 28px 75px #30204612,0 3px 12px #30204608}
.contact-card-heading{margin-bottom:24px}
.contact-card-icon{display:grid;width:45px;height:45px;place-items:center;margin-bottom:19px;border:1px solid #ded3ed;border-radius:13px;background:#f3edf9;color:#562988;font-size:1.2rem}
.contact-card-eyebrow{display:block;margin-bottom:8px;color:#70548d;font-size:.61rem;font-weight:750;letter-spacing:.1em}
.contact-card-heading h2{font-size:1.65rem;font-weight:800;letter-spacing:-.045em;margin:0 0 8px}
.contact-card-heading p{font-size:.8125rem;margin:0}
.contact-form{display:grid;gap:17px}
.contact-field{display:grid;gap:7px;min-width:0}
.contact-field label{margin:0;color:#42384a;font-size:.76rem;font-weight:700}
.contact-field label span{color:#918998;font-size:.67rem;font-weight:450}
.contact-field-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.contact-field .input{min-height:48px;padding:12px 13px;background:#fcfbfd;font-size:.79rem}
.contact-field .input:focus{background:white}
.contact-field textarea.input{min-height:112px;resize:vertical}
.contact-submit{width:100%;min-height:51px;justify-content:space-between;padding-inline:17px;border-radius:10px;font-size:.8125rem}
.contact-privacy{display:flex;align-items:flex-start;justify-content:center;gap:6px;margin:-2px 0 0;color:#817987;font-size:.64rem;line-height:1.6;text-align:center}
.contact-privacy i{flex:0 0 auto;color:#72944d}
.contact-privacy a{color:#59308b;font-weight:650;text-decoration:underline;text-underline-offset:3px}
.contact-message{display:flex;align-items:flex-start;gap:9px;margin:-5px 0 20px;padding:12px 14px;border-radius:10px;font-size:.76rem;line-height:1.6}
.contact-message>i{flex:0 0 auto;margin-top:2px}
.contact-message-success{border:1px solid #dce9d0;background:#f3f8ee;color:#466631}
.contact-message-error{border:1px solid #f0cfcb;background:#fff5f4;color:#943f38}
.exit-modal[hidden] {
  display:none;
}
.exit-modal {
  position:fixed;
  inset:0;
  z-index:100;
  display:grid;
  place-items:center;
  padding:24px;
}
.exit-modal-backdrop {
  position:absolute;
  inset:0;
  border:0;
  background:#1b1127b8;
  backdrop-filter:blur(5px);
  cursor:pointer;
}
.exit-modal-dialog {
  position:relative;
  width:min(100%,510px);
  padding:clamp(30px,6vw,54px);
  border:1px solid #e8def2;
  border-radius:26px;
  background:radial-gradient(circle at 100% 0,#f2eafa 0,transparent 36%),#fff;
  box-shadow:0 28px 90px #150c2466;
  text-align:center;
  animation:exit-modal-in .24s ease-out;
}
.exit-modal-close{position:absolute;top:16px;right:16px;display:grid;width:42px;height:42px;place-items:center;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--muted);cursor:pointer}
.exit-modal-icon{display:grid;width:58px;height:58px;place-items:center;margin:0 auto 22px;border:1px solid #dfd0ef;border-radius:18px;background:#f3ebfb;color:var(--purple);font-size:1.5rem}
.exit-modal-dialog .kicker{display:block;margin-bottom:13px;color:var(--purple);font-size:.7rem;font-weight:800;letter-spacing:.12em}
.exit-modal-dialog h2{max-width:390px;margin:0 auto 15px;font-size:clamp(1.8rem,5vw,2.45rem)}
.exit-modal-dialog p{max-width:405px;margin:0 auto 25px;font-size:1rem;line-height:1.7}
.exit-modal-dialog>.btn{min-height:54px}
.exit-modal-dialog>small{display:block;margin-top:14px;color:var(--muted);font-size:.78rem}
.exit-modal-open{overflow:hidden}
@keyframes exit-modal-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:600px){.exit-modal{padding:17px}.exit-modal-dialog{padding:42px 23px 30px;border-radius:21px}.exit-modal-dialog p{font-size:.92rem}.exit-modal-icon{width:51px;height:51px;margin-bottom:18px}}
@media(prefers-reduced-motion:reduce){.exit-modal-dialog{animation:none}}
@media(max-width:991px){.contact-hero{grid-template-columns:1fr;gap:38px;width:min(660px,calc(100% - 48px));padding-block:60px 70px}.contact-copy h1{font-size:clamp(2.8rem,7vw,4rem)}.contact-copy>p{margin-bottom:27px}.contact-faq-link{margin-top:21px}}
@media(max-width:600px){.contact-hero{width:calc(100% - 36px);gap:23px;padding-block:36px 48px}.contact-copy .kicker{font-size:.61rem}.contact-copy h1{font-size:clamp(2.45rem,10vw,3.35rem);margin-bottom:15px}.contact-copy>p{font-size:.9rem;line-height:1.7;margin-bottom:19px}.contact-steps{gap:7px}.contact-step{display:grid;gap:5px}.contact-step>span{width:26px;height:26px}.contact-step strong{font-size:.66rem}.contact-step small{max-width:95px;font-size:.56rem}.contact-steps>.bi{margin-top:8px;font-size:.7rem}.contact-faq-link{margin-top:13px;font-size:.72rem}.contact-card{padding:23px 19px;border-radius:18px}.contact-card-icon{width:39px;height:39px;margin-bottom:15px}.contact-card-heading{margin-bottom:20px}.contact-card-heading h2{font-size:1.42rem}.contact-form{gap:15px}.contact-field-row{grid-template-columns:1fr;gap:15px}.contact-field .input{min-height:48px}.contact-message{font-size:.72rem}}
