:root {
  --navy: #0e2a47;
  --teal: #00bfa6;
  --cyan: #4dd9cf;
  --slate: #334155;
  --muted: #64748b;
  --surface: #f8fafc;
}

body {
  font-family: Inter, sans-serif;
  color: var(--slate);
  background: var(--surface);
}

h1, h2, h3, .btn, .navbar {
  font-family: Montserrat, sans-serif;
}

.site-header {
  background: white;
  border-bottom: 1px solid #e9eef2;
}

.brand-logo {
  max-width: 170px;
  max-height: 48px;
  object-fit: contain;
}

.nav-link {
  font-weight: 600;
  color: var(--slate);
}

.btn-teal, .bg-teal {
  background: var(--teal);
  color: #063e42;
  border: 1px solid var(--teal);
  font-weight: 700;
}

.btn-teal:hover {
  background: #00ad97;
  border-color: #00ad97;
  color: #052f32;
}

.hero {
  background: radial-gradient(circle at 85% 20%, #174666 0, var(--navy) 48%);
  color: white;
  padding: clamp(70px, 8vw, 120px) 0;
}

.hero-grid {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 6vw;
  align-items: center;
}

.hero h1 {
  font-size: clamp(2.5rem, 4vw, 4.5rem);
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -.04em;
  margin: 22px 0;
}

.hero p {
  color: #c8d8e4;
  max-width: 590px;
  font-size: 1.12rem;
  line-height: 1.7;
  margin-bottom: 30px;
}

.hero small {
  display: block;
  margin-top: 18px;
  color: #b5cad8;
}

.eyebrow {
  color: var(--cyan);
  font-family: Montserrat, sans-serif;
  font-weight: 700;
  letter-spacing: .13em;
  font-size: .75rem;
}

.eyebrow.dark {
  color: #078d81;
}

.hero-flow {
  background: white;
  border-radius: 22px;
  color: var(--slate);
  padding: 28px;
  box-shadow: 0 24px 60px #071f3545;
}

.flow-head, .flow-step, .flow-total {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.flow-head {
  color: var(--navy);
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .12em;
  padding-bottom: 22px;
  border-bottom: 1px solid #e9eef2;
}

.flow-step {
  gap: 16px;
  padding: 18px 0;
  border-bottom: 1px solid #edf1f4;
}

.flow-step div {
  flex: 1;
}

.flow-step strong, .flow-step small {
  display: block;
}

.flow-step small {
  color: var(--muted);
  margin-top: 3px;
}

.flow-step > i {
  color: #14b8a6;
}

.flow-icon, .feature-icon {
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  color: #008e85;
  background: #e6faf6;
}

.flow-total {
  padding-top: 22px;
  color: var(--navy);
}

.section-pad {
  padding-top: 90px;
  padding-bottom: 90px;
}

.section-heading {
  max-width: 700px;
  margin-bottom: 42px;
}

.section-heading h1, .section-heading h2, .interior-page h1 {
  color: var(--navy);
  font-size: clamp(2rem, 3vw, 3rem);
  font-weight: 800;
  letter-spacing: -.035em;
  margin: 12px 0;
}

.section-heading p, .interior-page p {
  color: var(--muted);
  line-height: 1.7;
}

.feature-card, .plan-card, .auth-card {
  background: white;
  border: 1px solid #e6ebef;
  border-radius: 18px;
  padding: 30px;
  height: 100%;
}

.feature-card h3 {
  color: var(--navy);
  font-size: 1.15rem;
  font-weight: 700;
  margin: 24px 0 10px;
}

.feature-card p, .plan-card p {
  color: var(--muted);
  line-height: 1.6;
  margin: 0;
}

.cta-band {
  background: var(--navy);
  color: white;
  padding: 70px 0;
}

.cta-band h2 {
  max-width: 660px;
  font-weight: 700;
  margin-top: 12px;
}

.cta-band p {
  color: #b9cedd;
  margin-bottom: 0;
}

.auth-section {
  min-height: 68vh;
  display: grid;
  place-items: center;
  padding-top: 65px;
  padding-bottom: 65px;
}

.auth-card {
  width: min(100%, 580px);
  height: auto;
  box-shadow: 0 18px 50px #0e2a4710;
}

.auth-card h1 {
  font-size: 2rem;
  color: var(--navy);
  font-weight: 800;
  margin-top: 12px;
}

.auth-card p {
  color: var(--muted);
}

.auth-switch {
  text-align: center;
  margin-top: 22px;
  margin-bottom: 0;
}

.form-control, .form-select {
  min-height: 46px;
}

.plan-card h2 {
  color: var(--navy);
  font-weight: 700;
  font-size: 1.5rem;
}

.plan-price {
  display: block;
  font-size: 2rem;
  color: var(--navy);
  margin: 25px 0;
}

.plan-price small {
  font-size: .85rem;
  color: var(--muted);
}

.plan-card ul {
  padding-left: 18px;
  margin-bottom: 30px;
}

.site-footer {
  padding: 42px 0;
  background: #092239;
  color: white;
}

.site-footer p {
  color: #a9c0d0;
  margin: 8px 0 0;
}

.footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.footer-links a {
  color: #d6e3ec;
  text-decoration: none;
}

@media (max-width: 991px) {
  .hero-grid {
    grid-template-columns: 1fr;
  }

  .hero-flow {
    max-width: 600px;
  }
}

/* Direção visual FATURON */
:root {
  --navy: #102b42;
  --teal: #0a8e88;
  --cyan: #7adfd2;
  --slate: #253d50;
  --muted: #61727e;
  --surface: #f5f8f6;
}

body {
  color: var(--slate);
  -webkit-font-smoothing: antialiased;
}

:focus-visible {
  outline: 3px solid var(--teal);
  outline-offset: 3px;
}

.site-header {
  position: relative;
  z-index: 5;
  background: #ffffffed;
  border-color: #dbe6e7;
  box-shadow: 0 8px 28px #102b4208;
}

.site-header .navbar {
  min-height: 82px;
}

.brand-logo {
  width: 175px;
  height: 58px;
  max-width: none;
  max-height: none;
}

.site-header .nav-link {
  color: #405668;
  font-size: .88rem;
}

.site-header .nav-link:hover {
  color: var(--teal);
}

.btn {
  border-radius: 10px;
  font-size: .86rem;
  padding: .72rem 1.2rem;
}

.btn-lg {
  padding: .98rem 1.48rem;
}

.btn-teal, .bg-teal {
  color: white;
}

.btn-teal:hover, .btn-teal:focus-visible {
  background: #08756f;
  border-color: #08756f;
  color: white;
  box-shadow: 0 10px 22px #0a8e882b;
  transform: translateY(-1px);
}

.btn-outline-dark {
  border-color: #a8b8be;
  color: var(--navy);
}

.hero {
  position: relative;
  overflow: hidden;
  background: radial-gradient(circle at 88% 20%, #d2efe9 0, transparent 34%), linear-gradient(135deg, #fbfcfa, #e9f1ef);
  border-bottom: 1px solid #dbe6e7;
  color: var(--navy);
  padding: clamp(76px, 8vw, 130px) 0;
}

.hero::before {
  position: absolute;
  right: -140px;
  bottom: -300px;
  width: 680px;
  height: 680px;
  border: 1px solid #0a8e8824;
  border-radius: 50%;
  content: '';
}

.hero-grid {
  position: relative;
  grid-template-columns: 1.06fr .94fr;
  gap: clamp(35px, 6vw, 90px);
}

.eyebrow, .eyebrow.dark {
  color: #08736e;
}

.hero h1 {
  max-width: 760px;
  font-size: clamp(2.8rem, 5vw, 5.2rem);
  line-height: 1.08;
  letter-spacing: -.06em;
  margin: 24px 0;
}

.hero h1 em {
  color: #08736e;
  font-style: normal;
}

.hero p {
  color: var(--muted);
  font-size: 1.08rem;
  line-height: 1.75;
}

.hero small {
  color: #72858d;
}

.hero-flow {
  overflow: hidden;
  border: 1px solid #d6e2e3;
  box-shadow: 0 36px 70px #102b4220, 0 3px 8px #102b420b;
  padding: 28px 30px 0;
  transform: rotate(1deg);
}

.flow-head {
  font-size: .8rem;
  letter-spacing: 0;
}

.flow-head > span:first-child i {
  color: var(--teal);
}

.flow-live {
  background: #e9f7f0;
  border: 1px solid #cde9df;
  border-radius: 50px;
  color: #147557;
  font-size: .66rem;
  letter-spacing: 0;
  padding: 5px 9px;
}

.flow-live i {
  font-size: .42rem;
  margin-right: 5px;
}

.flow-step {
  padding: 20px 0;
}

.flow-step strong {
  color: var(--navy);
  font-size: .87rem;
}

.flow-step small {
  font-size: .73rem;
}

.flow-icon, .feature-icon {
  background: #e4f4f0;
  color: #08736e;
}

.flow-total {
  background: var(--navy);
  color: #c4d6dc;
  margin: 0 -30px;
  padding: 21px 30px;
  font-size: .75rem;
}

.flow-total strong {
  color: white;
  font-size: .76rem;
}

.flow-total i {
  color: var(--cyan);
  margin-left: 5px;
}

.section-pad {
  padding-top: clamp(72px, 8vw, 112px);
  padding-bottom: clamp(72px, 8vw, 112px);
}

.section-heading {
  max-width: 800px;
}

.section-heading h1, .section-heading h2, .interior-page h1 {
  font-size: clamp(2rem, 3.4vw, 3.35rem);
  line-height: 1.16;
  letter-spacing: -.045em;
}

.feature-card, .plan-card, .auth-card {
  border-color: #dce7e7;
  border-radius: 17px;
  box-shadow: 0 12px 36px #102b4209;
}

.feature-card {
  border-top: 3px solid var(--teal);
  transition: transform .2s ease, box-shadow .2s ease;
}

.feature-card:hover, .plan-card:hover {
  box-shadow: 0 22px 48px #102b4217;
  transform: translateY(-4px);
}

.feature-card h3 {
  font-weight: 800;
}

.cta-band {
  background: linear-gradient(115deg, var(--navy), #0b4853);
  padding: 82px 0;
}

.cta-band .eyebrow {
  color: #7ce3d6;
}

.cta-band h2 {
  font-size: clamp(1.75rem, 3vw, 2.8rem);
  font-weight: 800;
  letter-spacing: -.04em;
}

.auth-card {
  box-shadow: 0 28px 70px #102b4218;
  padding: clamp(30px, 5vw, 50px);
}

.auth-card h1 {
  letter-spacing: -.04em;
}

.form-label {
  color: var(--navy);
  font-size: .84rem;
  font-weight: 700;
}

.form-control, .form-select {
  min-height: 49px;
  border-color: #cddadc;
  border-radius: 9px;
}

.form-control:focus, .form-select:focus {
  border-color: var(--teal);
  box-shadow: 0 0 0 .2rem #0a8e8824;
}

.plan-card {
  transition: transform .2s ease, box-shadow .2s ease;
}

.plan-card ul {
  border-top: 1px solid #e3ebeb;
  padding-top: 22px;
}

.site-footer {
  background: #092034;
  padding: 55px 0;
}

@media (max-width: 991px) {
  .hero-grid {
    grid-template-columns: 1fr;
  }

  .hero-flow {
    max-width: 650px;
    transform: none;
  }

  .site-header .navbar-collapse {
    padding: 18px 0 8px;
  }
}

@media (max-width: 575px) {
  .site-header .navbar {
    min-height: 72px;
    padding-left: 16px;
    padding-right: 16px;
  }

  .brand-logo {
    width: 150px;
    height: 49px;
  }

  .hero {
    padding: 64px 0 74px;
  }

  .hero h1 {
    font-size: clamp(2.3rem, 10vw, 3.25rem);
  }

  .hero-flow {
    padding: 22px 20px 0;
  }

  .flow-total {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
    margin: 0 -20px;
    padding: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    transition-duration: .01ms !important;
  }
}

.plan-alternatives {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: .82rem;
  margin: -10px 0 18px;
}

.plan-alternatives strong {
  color: var(--navy);
}

.plan-card li {
  color: var(--slate);
  font-size: .84rem;
  padding-bottom: 8px;
}

.plan-features {
  display: grid;
  gap: 8px;
  border-top: 1px solid #e3ebeb;
  padding: 18px 0;
  margin-top: -12px;
}

.plan-features span {
  color: var(--slate);
  font-size: .83rem;
}

.plan-features i {
  color: var(--teal);
  margin-right: 6px;
}

.plan-trial {
  color: #08736e;
  font-size: .8rem;
  font-weight: 800;
  margin-bottom: 16px;
}

/* Identidade pública FATURON */
:root{--navy:#071e35;--teal:#00afa3;--cyan:#69e4d6;--slate:#122c40;--muted:#64788a;--surface:#f5f9f8}
body{font-family:Inter,sans-serif;background:var(--surface)}
a{color:#008b82}a:hover{color:#006f68}
.site-header{background:#fff;border-color:#e8eff0;box-shadow:none}
.site-header .navbar{min-height:88px}
.site-header .nav-link{font-weight:700}
.site-header .navbar-collapse>.d-flex{align-items:center}
.btn{border-radius:12px;font-weight:800;transition:transform .2s,box-shadow .2s,background .2s}
.btn-teal,.bg-teal{background:var(--teal);border-color:var(--teal);color:#fff}
.btn-teal:hover{background:#008b82;border-color:#008b82}
.eyebrow{display:inline-flex;align-items:center;gap:10px;color:#62e6d8}
.eyebrow.dark{color:#008b82}
.eyebrow-dot{width:8px;height:8px;border-radius:50%;background:#57e9da;box-shadow:0 0 0 5px #57e9da25}
.hero{background:radial-gradient(circle at 78% 25%,#145468,transparent 34%),linear-gradient(125deg,#071e35 10%,#0c334a 65%,#0b4452);color:#fff;padding:clamp(78px,8vw,122px) 0 100px}
.hero::before{width:650px;height:650px;right:-260px;top:-390px;border-color:#ffffff16}
.hero-grid{grid-template-columns:1.05fr .95fr;gap:clamp(36px,5vw,85px)}
.hero h1{font-size:clamp(2.9rem,5.1vw,5.3rem);line-height:1.075;letter-spacing:-.065em;margin:26px 0;color:#fff}
.hero h1 em{color:#68e4d6}
.hero p{color:#b8d0dc;line-height:1.8;margin-bottom:30px}
.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}
.hero-text-link{color:#edfafa;font-size:.88rem;font-weight:700;text-decoration:none;border-bottom:1px solid #8ccacb;padding:12px 0}
.hero-text-link:hover{color:#68e4d6}.hero-text-link i{font-size:.68rem;margin-left:6px}
.hero-proof{display:flex;gap:23px;flex-wrap:wrap;margin-top:35px;color:#a9c3ce;font-size:.79rem}
.hero-proof i{color:#6ce0d3;margin-right:6px}
.hero-preview{position:relative;padding:12px 0 26px}
.preview-window{overflow:hidden;background:#fff;color:var(--slate);border:1px solid #cde6e7;border-radius:19px;box-shadow:0 35px 80px #00132378;transform:rotate(1.7deg)}
.preview-top{height:66px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid #e9f0f1;background:#fcfefe}
.preview-brand{display:flex;align-items:center;gap:7px;font:800 .74rem Montserrat,sans-serif;color:var(--navy);letter-spacing:.04em}
.preview-brand img{width:23px;height:23px}.preview-brand small{font-size:.67rem;font-weight:600;color:#7d929e;letter-spacing:0;border-left:1px solid #d9e6e8;padding-left:11px;margin-left:6px}
.preview-top-right{display:flex;align-items:center;gap:16px;color:#8296a0;font-size:.72rem}
.preview-avatar{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:#d8f3ed;color:#08776f;font-weight:800}
.preview-body{display:flex;min-height:389px}.preview-side{width:63px;display:flex;flex-direction:column;gap:17px;align-items:center;border-right:1px solid #e9f0f1;padding:28px 0;color:#91a3ae}
.preview-side span{display:grid;place-items:center;width:35px;height:35px;border-radius:9px}.preview-side .active{color:#08776f;background:#e5f7f3}
.preview-content{flex:1;padding:35px 36px}.preview-eyebrow{color:#008d82;font-size:.62rem;font-weight:800;letter-spacing:.14em}
.preview-content h2{font-size:1.28rem;font-weight:800;letter-spacing:-.03em;margin:9px 0 5px;color:var(--navy)}
.preview-content p{font-size:.75rem;color:#81939c;margin:0}.preview-progress{display:flex;gap:6px;margin:25px 0 10px}
.preview-progress span{height:5px;flex:1;border-radius:9px;background:#d9edea}.preview-progress span:first-child,.preview-progress span:nth-child(2){background:#07b4a5}
.preview-rows>div{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid #ecf2f2}
.preview-rows>div>span:nth-child(2){flex:1}.preview-rows strong,.preview-rows small{display:block}
.preview-rows strong{font-size:.78rem;color:var(--navy)}.preview-rows small{font-size:.67rem;color:#81939c;margin-top:3px}
.preview-rows>div>i{color:#00a894;font-size:.7rem}.preview-row-icon{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:#e8f7f4;color:#008f83}
.preview-float{position:absolute;right:-22px;bottom:0;display:flex;align-items:center;gap:10px;padding:14px 20px;border-radius:13px;background:#fff;box-shadow:0 20px 45px #001c2d5c;transform:rotate(-2deg)}
.preview-float>span{display:grid;place-items:center;width:37px;height:37px;border-radius:10px;background:#dff9ef;color:#0a987c}.preview-float strong,.preview-float small{display:block}
.preview-float strong{font-size:.76rem;color:var(--navy)}.preview-float small{font-size:.67rem;color:#8297a1}
.process-strip{background:#fff;border-bottom:1px solid #deeaed}.process-strip .container{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:103px}
.process-strip span{font:800 .65rem Montserrat,sans-serif;letter-spacing:.13em;color:#008a82}.process-strip strong{white-space:nowrap;font:800 .85rem Montserrat,sans-serif;color:#8aa7ad}
.process-strip strong em{font-style:normal;color:var(--navy);margin-left:7px}.process-strip i{color:#9db6be;font-size:.7rem}
.section-heading h2 em{font-style:normal;color:#078b80}.feature-card{position:relative;min-height:268px;border:1px solid #deeaed;border-radius:19px;padding:31px}
.feature-number{position:absolute;right:29px;top:30px;color:#b1c6c9;font:800 .75rem Montserrat,sans-serif}.feature-icon{width:50px;height:50px;border-radius:14px;font-size:1.13rem}
.feature-card h3{font-size:1.1rem;letter-spacing:-.025em;margin:30px 0 10px}.feature-card p{font-size:.87rem;line-height:1.7}
.value-section{background:#eaf3f1;padding:clamp(76px,8vw,110px) 0}.value-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,110px);align-items:center}
.value-grid h2{max-width:590px;margin:18px 0;font-size:clamp(2rem,3vw,3.1rem);font-weight:800;letter-spacing:-.05em;line-height:1.16;color:var(--navy)}
.value-grid p{max-width:520px;color:var(--muted);line-height:1.75}.value-link{display:inline-block;margin-top:15px;font-weight:800;text-decoration:none;border-bottom:2px solid var(--teal);padding-bottom:8px}.value-link i{margin-left:7px}
.value-list{overflow:hidden;border:1px solid #d8e7e6;background:#fff;border-radius:20px;box-shadow:0 22px 55px #0b344615;padding:16px 27px}
.value-list>div{display:flex;gap:19px;align-items:center;padding:22px 0;border-bottom:1px solid #e9f0f0}.value-list>div:last-child{border:0}
.value-list i{display:grid;place-items:center;flex:none;width:45px;height:45px;border-radius:12px;background:#e8f7f4;color:#008c81}
.value-list strong,.value-list small{display:block}.value-list strong{font:.91rem Montserrat,sans-serif;font-weight:800;color:var(--navy)}.value-list small{font-size:.78rem;color:var(--muted);margin-top:4px}
.cta-band{position:relative;overflow:hidden;background:linear-gradient(115deg,#071e35,#0d4755)}.cta-band::after{content:'';position:absolute;width:420px;height:420px;border:1px solid #ffffff24;border-radius:50%;right:-130px;top:-230px;pointer-events:none}
.cta-band .container{position:relative;z-index:1}

.auth-section{display:block;min-height:calc(100vh - 88px);padding:clamp(38px,6vw,86px) 0;background:radial-gradient(circle at 15% 20%,#e4f1ee,transparent 38%),#f5f9f8}
.auth-layout{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);max-width:1160px;min-height:650px;padding:0;background:#fff;border:1px solid #dde9e8;border-radius:24px;overflow:hidden;box-shadow:0 35px 90px #0b34461a}
.auth-aside{position:relative;overflow:hidden;background:radial-gradient(circle at 90% 15%,#17586b,transparent 40%),linear-gradient(145deg,#071e35,#0b3d4b);color:#fff;padding:clamp(38px,5vw,66px);display:flex;flex-direction:column;justify-content:center}
.auth-aside::after{content:'';position:absolute;width:430px;height:430px;border:1px solid #ffffff1c;border-radius:50%;right:-250px;bottom:-240px}
.auth-aside-mark{width:58px;height:58px;border:1px solid #ffffff38;border-radius:17px;padding:6px;background:#ffffff16;margin-bottom:58px}.auth-aside-mark img{display:block;width:100%;height:100%;object-fit:contain;border-radius:11px}
.auth-aside h2{font-size:clamp(2rem,3.2vw,3.35rem);font-weight:800;line-height:1.16;letter-spacing:-.05em;margin:18px 0}.auth-aside p{color:#b8d1d8;line-height:1.75;font-size:.94rem;max-width:420px}
.auth-aside-list{display:grid;gap:15px;margin-top:25px;color:#e2f2f2;font-size:.81rem;font-weight:600}.auth-aside-list i{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#ffffff18;color:#69eadb;margin-right:10px;font-size:.67rem}
.auth-aside-bottom{margin-top:70px;color:#8eb0bc;font:800 .68rem Montserrat,sans-serif;letter-spacing:.12em}.auth-aside-bottom span{margin:0 7px}
.auth-card{width:100%;height:auto;align-self:center;border:0;border-radius:0;box-shadow:none;padding:clamp(34px,5vw,68px)}
.auth-form-top{margin-bottom:30px}.auth-card h1{font-size:clamp(1.8rem,2.5vw,2.7rem);letter-spacing:-.05em;margin:12px 0}.auth-card p{line-height:1.65;margin:0}
.auth-form .form-label{font-size:.78rem;font-weight:800;color:#244455;margin-bottom:7px}.auth-form .form-control,.auth-form .form-select{min-height:51px;padding:.75rem .95rem;border:1px solid #cbdce0;border-radius:10px;background:#fbfdfd;color:var(--slate);font-size:.88rem}
.auth-form .form-control:focus,.auth-form .form-select:focus{border-color:var(--teal);box-shadow:0 0 0 .2rem #00afa324}.auth-form .form-control::placeholder{color:#a5b5bb}
.auth-form .form-check{font-size:.78rem;line-height:1.55;color:#5e7580}.auth-form .form-check-input:checked{background-color:#008b82;border-color:#008b82}
.auth-submit{display:flex;align-items:center;justify-content:center;gap:14px;min-height:54px;margin-top:8px}.auth-switch{text-align:center;margin-top:24px!important;font-size:.84rem}.auth-switch a{font-weight:800;text-decoration:none}
.plan-card{display:flex;flex-direction:column;border-color:#deeaed;padding:34px}.plan-card .badge{align-self:flex-start;border-radius:8px;padding:9px 12px;font-size:.68rem;letter-spacing:.04em}
.plan-card h2{font-size:1.47rem;font-weight:800;letter-spacing:-.035em}.plan-card p{font-size:.86rem;min-height:44px}.plan-price{font-size:2rem;letter-spacing:-.05em}.plan-card ul{list-style:none;border-top:1px solid #deeaed;padding:20px 0 0;margin:0}.plan-card li{font-size:.83rem;padding:0 0 10px}.plan-card li::before{content:'✓';color:#008b82;font-weight:800;margin-right:9px}.plan-card .btn{margin-top:auto}
.site-footer{background:#061b2e}
@media(max-width:991px){.hero-grid,.value-grid{grid-template-columns:1fr}.hero-preview{max-width:600px}.process-strip .container{flex-wrap:wrap;padding:24px 12px}.auth-layout{grid-template-columns:1fr;max-width:720px}.auth-aside{padding:36px 44px}.auth-aside-mark,.auth-aside-bottom,.auth-aside-list{display:none}.auth-aside h2{font-size:1.8rem;max-width:520px}.auth-card{padding:42px 44px}.value-list{max-width:650px}}
@media(max-width:575px){.site-header .navbar{min-height:72px}.hero{padding:65px 0 76px}.hero h1{font-size:clamp(2.5rem,10.5vw,3.5rem)}.hero-actions{align-items:flex-start;gap:10px;flex-direction:column}.hero-proof{gap:11px;flex-direction:column}.hero-preview{margin-top:15px}.preview-content{padding:27px 16px}.preview-top{padding:0 12px}.preview-brand small,.preview-top-right>i{display:none}.preview-side{width:46px}.preview-body{min-height:352px}.preview-float{right:0}.process-strip .container{gap:13px}.process-strip span{flex-basis:100%}.process-strip i{display:none}.process-strip strong{font-size:.75rem}.feature-card{min-height:0}.value-list{padding:8px 18px}.auth-section{padding:0;background:#fff}.auth-layout{border:0;border-radius:0;box-shadow:none}.auth-aside{padding:34px 24px}.auth-aside h2{font-size:1.5rem}.auth-aside p{display:none}.auth-card{padding:36px 24px 56px}.auth-card h1{font-size:2rem}.plan-card{padding:28px}}
.plans-page .section-heading{max-width:760px}.plans-page .row{align-items:stretch}.plan-card{background:linear-gradient(180deg,#fff 0%,#fbfefd 100%)}
.interior-page{max-width:1220px}.interior-hero{display:grid;grid-template-columns:1fr 270px;gap:55px;align-items:center;min-height:310px}.interior-hero>div:first-child{max-width:770px}.interior-page h1{font-size:clamp(2.3rem,4vw,4.3rem)}.interior-page .lead{max-width:690px;margin-bottom:28px}.interior-symbol{display:grid;place-items:center;width:250px;height:250px;border-radius:50%;background:radial-gradient(circle,#d7efeb,#ebf7f4 65%,transparent 66%)}.interior-symbol img{width:145px;height:145px;border-radius:35px;box-shadow:0 22px 45px #0b344632}.interior-cards{margin-top:64px}.interior-cards .feature-card{min-height:245px}.footer-brand{display:flex;align-items:center;gap:11px}.footer-brand img{width:36px;height:36px}.footer-brand strong{font-family:Montserrat,sans-serif;letter-spacing:.06em}
@media(max-width:767px){.interior-hero{grid-template-columns:1fr}.interior-symbol{display:none}.interior-cards{margin-top:35px}}
.error-section{min-height:100vh;display:grid;place-items:center;padding:45px 12px}.error-card{max-width:570px;width:100%;padding:clamp(30px,5vw,55px);background:#fff;border:1px solid #deeaed;border-radius:22px;box-shadow:0 25px 65px #0c324420}.error-icon{display:block;width:58px;height:58px;border-radius:15px;margin-bottom:28px}.error-card h1{color:var(--navy);font-size:clamp(1.8rem,3vw,2.7rem);font-weight:800;letter-spacing:-.04em;margin:15px 0}.error-card p{color:var(--muted);line-height:1.7;margin-bottom:28px}

/* Site premium inspirado no modelo FATURON */
.site-body {
  color: #071a2d;
  background: #fff;
  font-family: Inter, system-ui, sans-serif;
  overflow-x: hidden;
}

.site-body h1,
.site-body h2,
.site-body h3,
.site-body h4,
.site-body h5 {
  font-family: Montserrat, Inter, sans-serif;
}

.site-body a {
  text-decoration: none;
}

.site-header {
  position: sticky;
  z-index: 1000;
  top: 0;
  background: rgba(255, 255, 255, .88);
  border-color: rgba(231, 238, 243, .8);
  backdrop-filter: blur(18px);
  transition: box-shadow .25s ease, background .25s ease;
}

.site-header .navbar {
  min-height: 78px;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  transition: min-height .25s ease;
}

.site-header.is-scrolled {
  box-shadow: 0 10px 30px rgba(7, 26, 45, .08);
}

.site-header.is-scrolled .navbar {
  min-height: 66px;
}

.site-header .brand-logo {
  width: 164px;
  max-width: 164px;
  max-height: 48px;
  object-fit: contain;
}

.site-header .nav-link {
  padding: 10px 12px;
  color: #526274;
  font-size: .88rem;
  font-weight: 700;
}

.site-header .nav-link:hover,
.site-header .nav-link:focus-visible {
  color: #078d7e;
}

.site-nav-actions .btn {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .65rem 1.15rem;
  font-size: .84rem;
  font-weight: 800;
}

.site-body .btn-teal {
  color: #052e2b;
  background: #00bfa6;
  border-color: #00bfa6;
  box-shadow: 0 12px 30px rgba(0, 191, 166, .2);
}

.site-body .btn-teal:hover,
.site-body .btn-teal:focus-visible {
  color: #052e2b;
  background: #08ad99;
  border-color: #08ad99;
  transform: translateY(-1px);
}

.site-body .btn-pill {
  border-radius: 999px;
  font-weight: 800;
}

.site-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(90px, 10vw, 145px) 0 78px;
  background:
    radial-gradient(circle at 80% 12%, rgba(77, 217, 207, .2), transparent 28%),
    radial-gradient(circle at 12% 42%, rgba(14, 42, 71, .08), transparent 24%),
    linear-gradient(180deg, #fff 0%, #f6fafb 100%);
}

.site-hero-grid {
  position: absolute;
  inset: 0;
  opacity: .24;
  background-image: linear-gradient(rgba(14, 42, 71, .06) 1px, transparent 1px), linear-gradient(90deg, rgba(14, 42, 71, .06) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(to bottom, #000, transparent 88%);
  pointer-events: none;
}

.site-orb {
  position: absolute;
  display: block;
  border-radius: 50%;
  filter: blur(5px);
  animation: site-float 9s ease-in-out infinite;
  pointer-events: none;
}

.site-orb-one {
  top: 18%;
  right: 8%;
  width: 150px;
  height: 150px;
  background: rgba(0, 191, 166, .12);
}

.site-orb-two {
  top: 45%;
  left: 7%;
  width: 90px;
  height: 90px;
  background: rgba(14, 42, 71, .1);
  animation-delay: -3s;
}

@keyframes site-float {
  50% { transform: translateY(-18px) translateX(8px); }
}

.site-hero-content {
  position: relative;
  z-index: 1;
}

.site-hero-copy {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
}

.site-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: .48rem .82rem;
  border: 1px solid rgba(0, 191, 166, .1);
  border-radius: 999px;
  color: #087c70;
  background: rgba(0, 191, 166, .09);
  font-size: .73rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.site-hero h1 {
  max-width: 900px;
  margin: 22px auto 18px;
  color: #071a2d;
  font-size: clamp(2.65rem, 6vw, 5.25rem);
  font-weight: 800;
  letter-spacing: -.065em;
  line-height: 1.02;
}

.site-hero h1 span {
  color: #009c8b;
}

.site-hero-copy > p {
  max-width: 740px;
  margin: 0 auto;
  color: #64748b;
  font-size: clamp(1rem, 1.4vw, 1.15rem);
  line-height: 1.8;
}

.site-hero-actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.site-hero-actions .btn {
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-right: 1.35rem;
  padding-left: 1.35rem;
  font-family: Inter, sans-serif;
  font-size: .94rem;
  font-weight: 800;
}

.site-hero-actions .btn-outline-secondary {
  color: #334155;
  border-color: #d7e0e7;
  background: rgba(255, 255, 255, .76);
}

.site-trust {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 18px 26px;
  margin-top: 22px;
  color: #617184;
  font-size: .84rem;
}

.site-trust i {
  margin-right: 6px;
  color: #00a894;
}

.site-dashboard-wrap {
  position: relative;
  max-width: 1040px;
  margin: 56px auto 0;
}

.site-dashboard-glow {
  position: absolute;
  inset: 12% 8% -10%;
  background: radial-gradient(circle, rgba(0, 191, 166, .23), transparent 60%);
  filter: blur(42px);
}

.site-browser {
  position: relative;
  padding: 10px;
  border-radius: 26px;
  background: #0a2138;
  box-shadow: 0 38px 90px rgba(7, 26, 45, .21);
  animation: site-rise .85s ease both;
}

@keyframes site-rise {
  from { opacity: 0; transform: translateY(28px) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.site-browser-inner {
  overflow: hidden;
  border-radius: 19px;
  background: #f5f8fb;
}

.site-browser-top {
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 18px;
  color: #8090a0;
  background: #fff;
  border-bottom: 1px solid #e7eef3;
  font-size: .72rem;
  font-weight: 700;
}

.site-browser-dots {
  display: flex;
  gap: 6px;
}

.site-browser-dots i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #d7e0e8;
}

.site-preview-avatar {
  width: 27px;
  height: 27px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  color: #087c70;
  background: #e5f8f3;
  font-size: .72rem;
  font-weight: 800;
}

.site-app-grid {
  display: grid;
  grid-template-columns: 205px minmax(0, 1fr);
  min-height: 400px;
}

.site-app-side {
  padding: 22px 14px;
  color: #cad7e5;
  background: linear-gradient(180deg, #0d2a47, #081d31);
}

.site-app-side strong {
  display: block;
  margin: 0 10px 20px;
  color: #fff;
  font-family: Montserrat, sans-serif;
  font-size: .92rem;
  letter-spacing: .04em;
}

.site-app-side strong span {
  color: #00bfa6;
}

.site-app-side div {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 4px 0;
  padding: 10px 11px;
  border-radius: 10px;
  color: #cad7e5;
  font-size: .75rem;
}

.site-app-side div.is-active {
  color: #fff;
  background: rgba(0, 191, 166, .15);
}

.site-app-preview {
  min-width: 0;
  padding: 25px;
}

.site-preview-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.site-preview-heading small {
  color: #009c8b;
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .1em;
}

.site-preview-heading h2 {
  margin: 6px 0 0;
  color: #0e2a47;
  font-size: 1.3rem;
  font-weight: 800;
}

.site-preview-heading > span {
  padding: 6px 9px;
  border: 1px solid #e2eaf0;
  border-radius: 8px;
  color: #758597;
  background: #fff;
  font-size: .65rem;
  white-space: nowrap;
}

.site-app-preview > p {
  margin: 7px 0 17px;
  color: #7d8c9b;
  font-size: .78rem;
}

.site-preview-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.site-preview-metrics div {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 12px;
  border: 1px solid #e7eef3;
  border-radius: 12px;
  color: #44566a;
  background: #fff;
  font-size: .73rem;
  font-weight: 700;
}

.site-preview-metrics i {
  color: #009c8b;
}

.site-preview-list {
  margin-top: 12px;
  padding: 0 14px;
  border: 1px solid #e7eef3;
  border-radius: 13px;
  background: #fff;
}

.site-preview-list > div {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 12px 0;
  border-bottom: 1px solid #edf1f4;
}

.site-preview-list > div:last-child {
  border-bottom: 0;
}

.site-preview-list > div > span:nth-child(2) {
  flex: 1;
}

.site-preview-list strong,
.site-preview-list small {
  display: block;
}

.site-preview-list strong {
  color: #0e2a47;
  font-size: .74rem;
}

.site-preview-list small {
  margin-top: 3px;
  color: #8190a1;
  font-size: .64rem;
}

.site-preview-list > div > i {
  color: #00a894;
  font-size: .7rem;
}

.site-preview-icon {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  color: #008f83;
  background: #e8f7f4;
}

.site-float-card {
  position: absolute;
  right: -18px;
  bottom: -18px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 17px;
  border: 1px solid rgba(231, 238, 243, .8);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 18px 42px rgba(7, 26, 45, .15);
  transform: rotate(-1.5deg);
  animation: site-float 6s ease-in-out infinite;
}

.site-float-card > span {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  color: #078d7e;
  background: #e5f8f3;
}

.site-float-card strong,
.site-float-card small {
  display: block;
}

.site-float-card strong {
  color: #0e2a47;
  font-size: .75rem;
}

.site-float-card small {
  margin-top: 3px;
  color: #8190a1;
  font-size: .66rem;
}

.site-process-strip {
  border-top: 1px solid #e7eef3;
  border-bottom: 1px solid #e7eef3;
  background: #fff;
}

.site-process-strip .container {
  min-height: 94px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.site-process-strip > .container > span {
  color: #078d7e;
  font-family: Montserrat, sans-serif;
  font-size: .63rem;
  font-weight: 800;
  letter-spacing: .12em;
}

.site-process-strip strong {
  color: #8aa0ad;
  font-family: Montserrat, sans-serif;
  font-size: .82rem;
  white-space: nowrap;
}

.site-process-strip em {
  margin-left: 6px;
  color: #0e2a47;
  font-style: normal;
}

.site-process-strip i {
  color: #9db6be;
  font-size: .68rem;
}

.site-section {
  padding-top: clamp(78px, 9vw, 112px);
  padding-bottom: clamp(78px, 9vw, 112px);
}

.site-section-soft {
  background: #f4f8fb;
}

.site-section-head {
  max-width: 760px;
  margin: 0 auto 48px;
  text-align: center;
}

.site-section-head h2 {
  margin: 16px 0 14px;
  color: #0e2a47;
  font-size: clamp(2rem, 4vw, 3.35rem);
  font-weight: 800;
  letter-spacing: -.05em;
  line-height: 1.12;
}

.site-section-head p {
  margin: 0 auto;
  color: #6b7a8c;
  font-size: 1rem;
  line-height: 1.8;
}

.site-feature-card {
  position: relative;
  height: 100%;
  min-height: 225px;
  overflow: hidden;
  padding: 27px;
  border: 1px solid #e7eef3;
  border-radius: 20px;
  background: #fff;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.site-feature-card::after {
  position: absolute;
  top: -38px;
  right: -38px;
  width: 105px;
  height: 105px;
  border-radius: 50%;
  background: rgba(0, 191, 166, .07);
  content: '';
}

.site-feature-card:hover {
  transform: translateY(-5px);
  border-color: rgba(0, 191, 166, .3);
  box-shadow: 0 18px 42px rgba(7, 26, 45, .09);
}

.site-iconbox {
  width: 50px;
  height: 50px;
  display: inline-grid;
  place-items: center;
  border-radius: 14px;
  color: #078d7e;
  background: linear-gradient(135deg, rgba(0, 191, 166, .16), rgba(77, 217, 207, .05));
  font-size: 1.1rem;
}

.site-feature-card h2,
.site-feature-card h3 {
  position: relative;
  z-index: 1;
  margin: 20px 0 9px;
  color: #0e2a47;
  font-size: 1.05rem;
  font-weight: 800;
}

.site-feature-card p {
  position: relative;
  z-index: 1;
  margin: 0;
  color: #6b7a8c;
  font-size: .88rem;
  line-height: 1.7;
}

.site-flow {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 18px;
}

.site-flow-item {
  position: relative;
  padding: 12px 10px;
  text-align: center;
}

.site-flow-icon {
  width: 68px;
  height: 68px;
  display: grid;
  place-items: center;
  margin: 0 auto 16px;
  border: 1px solid rgba(0, 191, 166, .2);
  border-radius: 21px;
  color: #00a894;
  background: #fff;
  box-shadow: 0 12px 35px rgba(7, 26, 45, .08);
  font-size: 1.2rem;
}

.site-flow-number {
  color: #8aa0ad;
  font-size: .67rem;
  font-weight: 800;
  letter-spacing: .1em;
}

.site-flow-item h3 {
  margin: 7px 0;
  color: #0e2a47;
  font-size: .98rem;
  font-weight: 800;
}

.site-flow-item p {
  margin: 0 auto;
  color: #6b7a8c;
  font-size: .82rem;
  line-height: 1.6;
}

.site-dark-section {
  position: relative;
  overflow: hidden;
  color: #fff;
  background: linear-gradient(135deg, #071a2d, #0e2a47 55%, #0a4150);
}

.site-dark-section::before {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(255, 255, 255, .1) 1px, transparent 1px);
  background-size: 30px 30px;
  opacity: .22;
  content: '';
}

.site-dark-section .site-section-head,
.site-dark-section .container > .text-center {
  position: relative;
  z-index: 1;
}

.site-dark-section .site-section-head h2 {
  color: #fff;
}

.site-dark-section .site-section-head p {
  color: #b9c8d8;
}

.site-dark-section .site-eyebrow {
  color: #a7f0e4;
  border-color: rgba(77, 217, 207, .16);
  background: rgba(77, 217, 207, .1);
}

.site-glass-card {
  position: relative;
  height: 100%;
  padding: 26px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 20px;
  background: rgba(255, 255, 255, .06);
  backdrop-filter: blur(14px);
  transition: transform .25s ease, background .25s ease;
}

.site-glass-card:hover {
  transform: translateY(-4px);
  background: rgba(255, 255, 255, .1);
}

.site-integration-icon {
  width: 45px;
  height: 45px;
  display: grid;
  place-items: center;
  margin-bottom: 19px;
  border-radius: 13px;
  color: #8df0e0;
  background: rgba(77, 217, 207, .12);
  font-size: 1.1rem;
}

.site-glass-card h3 {
  color: #fff;
  font-size: 1.03rem;
  font-weight: 800;
}

.site-glass-card p {
  margin: 0;
  color: #bfd0dd;
  font-size: .87rem;
  line-height: 1.7;
}

.site-light-link {
  position: relative;
  color: #a7f0e4;
  font-weight: 800;
}

.site-light-link:hover {
  color: #fff;
}

.site-home-plans {
  max-width: 1240px;
}

.site-price-card {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 29px;
  border: 1px solid #e2eaf0;
  border-radius: 22px;
  background: linear-gradient(180deg, #fff, #fbfefd);
  transition: transform .25s ease, box-shadow .25s ease;
}

.site-price-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 48px rgba(7, 26, 45, .1);
}

.site-price-card.is-featured {
  border-color: rgba(0, 191, 166, .5);
  box-shadow: 0 24px 62px rgba(0, 191, 166, .13);
}

.site-plan-badge {
  align-self: flex-start;
  margin-bottom: 15px;
  padding: 7px 10px;
  border-radius: 999px;
  color: #087c70;
  background: rgba(0, 191, 166, .12);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.site-price-card h2,
.site-price-card h3 {
  margin: 0 0 7px;
  color: #0e2a47;
  font-size: 1.25rem;
  font-weight: 800;
}

.site-plan-description {
  min-height: 44px;
  margin: 0 0 16px;
  color: #6b7a8c;
  font-size: .86rem;
  line-height: 1.6;
}

.site-price {
  color: #0e2a47;
  font-family: Montserrat, sans-serif;
  font-size: 2.25rem;
  font-weight: 800;
  letter-spacing: -.055em;
  line-height: 1.2;
}

.site-price small {
  margin-left: 4px;
  color: #7c8997;
  font-family: Inter, sans-serif;
  font-size: .82rem;
  font-weight: 600;
  letter-spacing: 0;
}

.site-plan-trial {
  margin-top: 5px;
  color: #078d7e;
  font-size: .8rem;
  font-weight: 700;
}

.site-plan-limits,
.site-plan-features {
  display: grid;
  gap: 10px;
  margin: 20px 0 0;
  padding: 19px 0 0;
  border-top: 1px solid #e7eef3;
  list-style: none;
}

.site-plan-limits li,
.site-plan-features span {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  color: #58687a;
  font-size: .83rem;
  line-height: 1.45;
}

.site-plan-limits li::before {
  color: #00a894;
  font-weight: 900;
  content: '✓';
}

.site-plan-features {
  margin-top: 13px;
  padding-top: 14px;
  border-top: 0;
}

.site-plan-features i {
  margin-top: 3px;
  color: #00a894;
}

.site-price-card .btn {
  min-height: 47px;
  margin-top: 24px;
  font-size: .86rem;
  font-weight: 800;
}

.site-plan-periods {
  display: grid;
  gap: 6px;
  margin-top: 13px;
  color: #738295;
  font-size: .76rem;
}

.site-plan-periods span {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

.site-plan-periods strong {
  color: #334155;
}

.site-text-link {
  color: #087c70;
  font-weight: 800;
}

.site-empty-state {
  max-width: 720px;
  margin: 0 auto;
  padding: 24px;
  border: 1px dashed #bfd5d8;
  border-radius: 18px;
  color: #5d7181;
  background: #f8fbfc;
  text-align: center;
}

.site-faq .accordion-item {
  overflow: hidden;
  margin-bottom: 10px;
  border: 1px solid #e2eaf0 !important;
  border-radius: 15px !important;
  background: #fff;
}

.site-faq .accordion-button {
  padding: 19px 21px;
  color: #0e2a47;
  font-family: Inter, sans-serif;
  font-size: .95rem;
  font-weight: 800;
  box-shadow: none !important;
}

.site-faq .accordion-button:not(.collapsed) {
  color: #087c70;
  background: #effaf8;
}

.site-faq .accordion-body {
  padding: 0 21px 20px;
  color: #64748b;
  font-size: .91rem;
  line-height: 1.7;
}

.site-cta-section {
  padding-top: 0;
}

.site-cta-card {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: clamp(30px, 5vw, 58px);
  border-radius: 27px;
  color: #fff;
  background: linear-gradient(125deg, #0d2c4b, #0e2a47 55%, #0c5060);
}

.site-cta-card::after {
  position: absolute;
  top: -170px;
  right: -80px;
  width: 390px;
  height: 390px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(77, 217, 207, .25), transparent 68%);
  content: '';
  pointer-events: none;
}

.site-cta-card > * {
  position: relative;
  z-index: 1;
}

.site-cta-card h2 {
  max-width: 700px;
  margin: 16px 0 10px;
  color: #fff;
  font-size: clamp(1.8rem, 3.4vw, 2.8rem);
  font-weight: 800;
  letter-spacing: -.045em;
}

.site-cta-card p {
  max-width: 660px;
  margin: 0;
  color: #c4d4df;
  line-height: 1.7;
}

.site-cta-card .site-eyebrow {
  color: #a7f0e4;
  background: rgba(77, 217, 207, .12);
}

.site-page-hero {
  padding: 76px 0 65px;
  border-bottom: 1px solid #e7eef3;
  background: radial-gradient(circle at 84% 10%, rgba(77, 217, 207, .17), transparent 28%), linear-gradient(180deg, #f4f8fb, #fff);
}

.site-page-hero h1 {
  margin: 20px 0 12px;
  color: #0e2a47;
  font-size: clamp(2.35rem, 5vw, 4rem);
  font-weight: 800;
  letter-spacing: -.055em;
}

.site-page-hero p {
  max-width: 780px;
  margin: 0;
  color: #64748b;
  font-size: 1.05rem;
  line-height: 1.8;
}

.site-plans-page {
  max-width: 1240px;
}

.site-interior-page {
  min-height: 300px;
}

.site-contact-card,
.site-legal-card {
  max-width: 840px;
  margin: 38px auto 0;
  padding: clamp(25px, 5vw, 42px);
  border: 1px solid #e2eaf0;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(7, 26, 45, .06);
}

.site-contact-card h2,
.site-legal-card h2 {
  margin: 20px 0 10px;
  color: #0e2a47;
  font-size: 1.35rem;
  font-weight: 800;
}

.site-contact-card p,
.site-legal-card p {
  color: #64748b;
  line-height: 1.8;
}

.site-legal-card p:last-child {
  margin-bottom: 0;
}

.site-faq-page {
  max-width: 900px;
  margin: 0 auto;
}

.site-footer {
  padding: 67px 0 24px;
  color: #a9bac9;
  background: #061522;
}

.site-footer-brand {
  display: inline-flex;
  align-items: center;
  min-height: 43px;
  margin-bottom: 14px;
}

.site-footer-brand img {
  width: 158px;
  max-height: 43px;
  object-fit: contain;
  filter: brightness(0) invert(1);
}

.site-footer .col-lg-4 p {
  max-width: 330px;
  margin: 0;
  color: #a9bac9;
  font-size: .86rem;
  line-height: 1.75;
}

.site-footer h2 {
  margin: 7px 0 15px;
  color: #fff;
  font-family: Inter, sans-serif;
  font-size: .82rem;
  font-weight: 800;
}

.site-footer .row > div > a:not(.site-footer-brand) {
  display: block;
  margin: 9px 0;
  color: #a9bac9;
  font-size: .81rem;
}

.site-footer .row > div > a:not(.site-footer-brand):hover {
  color: #4dd9cf;
}

.site-footer-bottom {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 34px;
  padding-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, .13);
  color: #8fa1b0;
  font-size: .75rem;
}

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

.site-motion-ready .reveal {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .65s cubic-bezier(.2, .65, .2, 1), transform .65s cubic-bezier(.2, .65, .2, 1);
}

.site-motion-ready .reveal.is-visible {
  opacity: 1;
  transform: none;
}

.site-body :focus-visible {
  outline: 3px solid rgba(0, 191, 166, .48);
  outline-offset: 3px;
}

@media (max-width: 991px) {
  .site-header .navbar-collapse {
    padding: 12px 0 4px;
  }

  .site-header .nav-link {
    padding: 11px 3px;
  }

  .site-flow {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .site-process-strip .container {
    min-height: 80px;
    flex-wrap: wrap;
    justify-content: center;
    padding-top: 17px;
    padding-bottom: 17px;
  }

  .site-process-strip > .container > span {
    flex-basis: 100%;
    text-align: center;
  }

  .site-cta-card {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 767px) {
  .site-hero {
    padding-top: 86px;
  }

  .site-dashboard-wrap {
    margin-top: 43px;
  }

  .site-app-grid {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .site-app-side {
    display: none;
  }

  .site-flow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .site-flow-item:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 575px) {
  .site-header .navbar {
    min-height: 68px;
  }

  .site-header .brand-logo {
    width: 143px;
    max-width: 143px;
  }

  .site-nav-actions .btn {
    width: 100%;
  }

  .site-hero {
    padding: 72px 0 60px;
  }

  .site-hero h1 {
    font-size: clamp(2.45rem, 11vw, 3.3rem);
  }

  .site-hero-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .site-hero-actions .btn {
    width: 100%;
  }

  .site-trust {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
    width: fit-content;
    margin-right: auto;
    margin-left: auto;
    text-align: left;
  }

  .site-browser {
    padding: 7px;
    border-radius: 20px;
  }

  .site-browser-inner {
    border-radius: 15px;
  }

  .site-browser-top {
    height: 40px;
    padding: 0 11px;
  }

  .site-app-preview {
    padding: 16px 12px;
  }

  .site-preview-heading {
    flex-direction: column;
  }

  .site-preview-heading > span {
    display: none;
  }

  .site-preview-metrics {
    gap: 6px;
  }

  .site-preview-metrics div {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
    padding: 9px;
    font-size: .68rem;
  }

  .site-preview-list {
    padding: 0 9px;
  }

  .site-preview-list > div {
    gap: 8px;
    padding: 10px 0;
  }

  .site-preview-list small {
    font-size: .6rem;
  }

  .site-float-card {
    right: -3px;
    bottom: -21px;
    padding: 9px 12px;
  }

  .site-process-strip i {
    display: none;
  }

  .site-process-strip strong {
    font-size: .72rem;
  }

  .site-process-strip em {
    margin-left: 3px;
  }

  .site-flow {
    grid-template-columns: 1fr;
  }

  .site-flow-item:last-child {
    grid-column: auto;
  }

  .site-flow-item {
    display: grid;
    grid-template-columns: 52px 1fr;
    column-gap: 14px;
    align-items: center;
    padding: 12px 0;
    text-align: left;
  }

  .site-flow-icon {
    grid-row: span 3;
    width: 52px;
    height: 52px;
    margin: 0;
    border-radius: 16px;
  }

  .site-flow-number,
  .site-flow-item h3,
  .site-flow-item p {
    grid-column: 2;
  }

  .site-flow-item h3 {
    margin: 3px 0;
  }

  .site-flow-item p {
    margin: 0;
  }

  .site-price-card {
    padding: 24px;
  }

  .site-footer {
    padding-top: 50px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-body *,
  .site-body *::before,
  .site-body *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }

  .site-motion-ready .reveal {
    opacity: 1;
    transform: none;
  }
}
