:root{
  --brand:#5845FF;
  --brand-2:#7566FF;
  --brand-3:#978BFF;
  --ink:#0B0F2A;
  --ink-soft:rgba(11,15,42,0.72);
  --ink-muted:rgba(255,255,255,0.72);
  --glass:rgba(16,18,35,0.55);
  --border:rgba(255,255,255,0.14);
  --radius-lg:28px;
  --radius-md:18px;
  --radius-sm:14px;
  --shadow-lg:0 32px 70px rgba(5,10,25,0.45);
  --shadow-md:0 18px 42px rgba(5,10,25,0.32);
  --ease-out-cubic:cubic-bezier(0.33, 1, 0.68, 1);
  --transition-fast:0.2s var(--ease-out-cubic);
  --transition-base:0.3s var(--ease-out-cubic);
  --ribbon-h:44px;
}

*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0;min-height:100%}
body{
  color:rgba(255,255,255,0.92);
  background:
    radial-gradient(50% 60% at 18% 8%, rgba(88,69,255,0.25) 0%, transparent 60%),
    radial-gradient(45% 55% at 86% 4%, rgba(117,102,255,0.16) 0%, transparent 65%),
    radial-gradient(60% 70% at 50% 105%, rgba(88,69,255,0.1) 0%, transparent 70%),
    linear-gradient(180deg,#080c16 0%, #05070c 100%);
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  line-height:1.5;
  position:relative;
  overflow-x:hidden;
  padding-top:calc(var(--ribbon-h) + 72px);
}
body::before{
  content:"";
  position:fixed;
  inset:-10%;
  pointer-events:none;
  z-index:-2;
  background:
    url('assets/blob-1.svg') no-repeat 10% -5%/45%,
    url('assets/blob-2.svg') no-repeat 80% 5%/42%;
  opacity:.7;
}

img{max-width:100%;display:block}
a{color:var(--brand);text-decoration:none}
a:hover{color:var(--brand-2)}

h1,h2,h3,h4{font-family:'Sora','Inter',sans-serif;font-weight:600;letter-spacing:-0.02em;margin:0;color:#fff}
.muted{color:var(--ink-muted)}

section{padding:72px 0;position:relative}
.container{max-width:1180px;margin:0 auto;padding:0 20px}
.grid{display:grid;gap:18px}

.top-ribbon{
  position:fixed;
  top:0;left:0;right:0;
  z-index:60;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:10px 16px;
  height:var(--ribbon-h);
  background:linear-gradient(90deg,#5845FF 0%,#7566FF 100%);
  color:#f8f7ff;
  font-weight:800;
  font-size:13px;
  border-bottom:1px solid rgba(0,0,0,0.1);
  box-shadow:0 10px 24px rgba(5,10,25,0.25);
  text-align:center;
}
.top-ribbon .badge{
  padding:4px 10px;
  border-radius:999px;
  background:#04101f;
  color:#eafff7;
  font-weight:800;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.05em;
}

header{
  position:fixed;
  top:var(--ribbon-h);
  left:0;right:0;
  width:100%;
  z-index:40;
  background:rgba(8,12,18,0.72);
  backdrop-filter:blur(20px) saturate(180%);
  border-bottom:1px solid var(--border);
}
.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px 20px;
  gap:20px;
}
.nav .actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}

.logo{display:flex;flex-direction:column;gap:4px;color:#fff;text-decoration:none}
.logo-mark{
  font-family:'Sora',sans-serif;
  font-weight:700;
  font-size:22px;
  letter-spacing:0.08em;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:12px 26px;
  border-radius:999px;
  border:0;
  font-weight:700;
  letter-spacing:.18px;
  background:linear-gradient(135deg,#FFD166,#FF9F1A);
  color:#1a123f;
  box-shadow:var(--shadow-md);
  transition:all var(--transition-base);
  cursor:pointer;
  text-align:center;
  white-space:nowrap;
}
.btn:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 26px 48px rgba(255,159,26,0.35)}
.btn-secondary{
  background:rgba(255,255,255,0.08);
  color:#fff;
  border:1px solid var(--border);
  box-shadow:none;
  backdrop-filter:blur(10px);
}
.btn-secondary:hover{background:rgba(255,255,255,0.14);border-color:rgba(255,255,255,0.24);transform:translateY(-2px)}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.24em;
  color:rgba(255,255,255,0.62);
}
.eyebrow::before{content:"";width:28px;height:2px;background:linear-gradient(90deg,var(--brand),var(--brand-2));border-radius:999px}

.hero{
  padding:0 0 72px;
  position:relative;
  background:url('assets/susi_background.png') no-repeat center center;
  background-size:cover;
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(8,12,22,0.52) 0%,rgba(8,12,22,0.72) 65%,rgba(8,12,22,0.84) 100%);
  z-index:1;
}
.hero-grid{
  position:relative;
  z-index:2;
  padding-top:60px;
  display:grid;
  gap:28px;
  grid-template-columns:1.1fr .9fr;
  align-items:center;
}
.hero-copy h1{font-size:clamp(38px,5vw,64px);line-height:1.02}
.hero-copy h2{font-size:clamp(18px,2vw,23px);font-family:'Inter';font-weight:500;line-height:1.45;color:var(--ink-muted);margin:18px 0 24px;max-width:690px}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px}
.hero-authority{font-size:13px;letter-spacing:.02em;color:rgba(255,255,255,0.62);margin-top:16px}

.hero-visual{display:flex;justify-content:center}
.phone-mockup{
  width:min(360px,100%);
  border-radius:34px;
  padding:18px;
  background:linear-gradient(170deg,rgba(7,12,24,0.95),rgba(11,20,28,0.92));
  border:1px solid rgba(255,255,255,0.2);
  box-shadow:var(--shadow-lg);
}
.phone-head{
  border-radius:14px;
  background:rgba(255,255,255,0.1);
  color:#fff;
  padding:8px 10px;
  margin-bottom:12px;
  font-weight:600;
  font-size:13px;
}
.chat-bubble{
  border-radius:14px;
  padding:10px 12px;
  font-size:13px;
  margin-bottom:10px;
}
.chat-bubble.susi{background:rgba(88,69,255,0.26);border:1px solid rgba(117,102,255,0.5)}
.chat-bubble.paciente{background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.22)}

.section-intro{max-width:780px;margin-bottom:32px}
.section-intro h2{font-size:clamp(32px,5vw,48px);line-height:1.1;margin:12px 0}
.section-note{margin-top:26px;color:rgba(255,255,255,0.76)}
.strong-note{font-weight:700;color:#fff;font-size:20px;text-align:center}

.feature-grid{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}
.feature-card{
  padding:26px;
  border-radius:var(--radius-md);
  background:rgba(255,255,255,0.95);
  border:1px solid rgba(255,255,255,0.8);
  box-shadow:0 18px 36px rgba(12,15,30,0.12);
  color:var(--ink);
  display:grid;
  gap:12px;
  align-content:start;
  transition:all var(--transition-base);
}
.feature-card strong{font-family:'Sora';font-size:18px;color:var(--ink)}
.feature-card .muted{color:var(--ink-soft)}
.feature-card .chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border-radius:999px;
  background:linear-gradient(120deg,rgba(88,69,255,0.14),rgba(117,102,255,0.11));
  color:var(--ink);
  font-size:13px;
  font-weight:700;
}

.dor-grid .feature-card:hover{border-color:var(--brand);box-shadow:0 20px 40px rgba(88,69,255,0.22);transform:translateY(-4px)}

.ecosystem-grid{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}
.ecosystem-card{
  background:rgba(255,255,255,0.97);
  display:flex;
  flex-direction:column;
  gap:12px;
  height:100%;
}
.ecosystem-card .muted{flex:1}
.ecosystem-card .ecosystem-checks{margin-top:auto}
.ecosystem-checks,.journey-highlight{
  margin:2px 0 0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border-radius:999px;
  background:linear-gradient(120deg,var(--brand),var(--brand-2));
  color:#fff;
  font-weight:700;
  font-size:13px;
  border:1px solid rgba(255,255,255,0.18);
}
.integration-cta-wrap{display:flex;justify-content:center;margin-top:22px}

.feature-showcase{
  display:grid;
  grid-template-columns:1fr 260px 1fr;
  gap:18px;
  align-items:center;
}
.feature-side{display:grid;gap:14px}
.showcase-phone{
  height:420px;
  border-radius:32px;
  background:linear-gradient(165deg,#081423,#0e2730);
  border:1px solid rgba(255,255,255,0.22);
  box-shadow:var(--shadow-lg);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:'Sora';
  font-size:26px;
}
.violet-banner{
  margin-top:24px;
  margin-left:auto;
  margin-right:auto;
  padding:14px 16px;
  border-radius:12px;
  background:rgba(88,69,255,0.18);
  border:1px solid rgba(117,102,255,0.45);
  color:#ece9ff;
  text-align:center;
  font-weight:700;
  width:min(100%,920px);
}

.journey-timeline{
  display:grid;
  gap:18px;
  grid-template-columns:repeat(4,minmax(0,1fr));
  position:relative;
}
.journey-timeline::before{
  content:"";
  position:absolute;
  top:48px;
  left:8%;
  right:8%;
  border-top:2px dashed rgba(117,102,255,0.55);
}
.journey-timeline .feature-card{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  gap:12px;
  height:100%;
}
.journey-timeline .feature-card .muted{flex:1}
.journey-timeline .journey-highlight{margin-top:auto}

.impact-grid .feature-card{min-height:180px}

#clientes-spo{
  background:linear-gradient(180deg,rgba(8,10,20,0.95) 0%,rgba(5,7,15,0.98) 100%);
  border-top:1px solid rgba(255,255,255,0.06);
  border-bottom:1px solid rgba(255,255,255,0.06);
}
.clients-group{margin-top:18px}
.clients-group h3{
  margin:0 0 10px;
  font-family:'Inter';
  font-size:14px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:rgba(255,255,255,0.75);
}
.clients-logos{
  display:flex;
  gap:14px;
  flex-wrap:nowrap;
  overflow:hidden;
  padding-bottom:6px;
  position:relative;
}
.clients-track{
  display:flex;
  gap:14px;
  width:max-content;
  flex-shrink:0;
  animation:clients-scroll var(--slider-duration,36s) linear infinite;
}
.clients-logos:hover .clients-track{
  animation-play-state:paused;
}
.clients-logos img{
  width:148px;
  min-width:148px;
  height:90px;
  object-fit:contain;
  border-radius:12px;
  background:rgba(255,255,255,0.03);
  padding:10px;
  border:1px solid rgba(255,255,255,0.14);
}
@keyframes clients-scroll{
  from{transform:translateX(0)}
  to{transform:translateX(calc(-100% - 14px))}
}

.integrations .feature-card{min-height:150px}

.cta-section{
  background:rgba(8,12,18,0.8);
  border-top:1px solid rgba(255,255,255,0.08);
  border-bottom:1px solid rgba(255,255,255,0.08);
}
.cta-grid{display:grid;gap:28px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center}
.cta-card{
  background:rgba(255,255,255,0.95);
  border-radius:var(--radius-md);
  padding:28px;
  color:var(--ink);
  display:grid;
  gap:16px;
  box-shadow:0 18px 36px rgba(12,15,30,0.12);
}
.cta-card h3{color:var(--ink)}
.cta-card .muted{color:var(--ink-soft)}

#faq .container{max-width:900px;text-align:center}
#faq h2{font-size:clamp(32px,5vw,48px);margin:12px 0 32px}
#faq .grid{gap:16px}
.faq-item{
  background:rgba(255,255,255,0.95);
  border:1px solid rgba(255,255,255,0.82);
  box-shadow:0 14px 32px rgba(12,12,22,0.12);
  border-radius:var(--radius-md);
  overflow:hidden;
  color:var(--ink);
  text-align:left;
}
.faq-q{
  padding:20px 24px;
  font-size:17px;
  font-weight:600;
  color:var(--ink);
  display:flex;
  justify-content:space-between;
  align-items:center;
  cursor:pointer;
  list-style:none;
}
.faq-q::-webkit-details-marker{display:none}
.faq-q::after{content:"+";font-weight:700;color:var(--brand);font-size:24px}
.faq-item[open] .faq-q::after{content:"-"}
.faq-a{padding:0 24px 20px;color:var(--ink-soft);border-top:1px solid rgba(11,15,42,0.08)}

footer{
  padding:36px 0;
  border-top:1px solid rgba(255,255,255,0.08);
  background:rgba(8,12,18,0.9);
  backdrop-filter:blur(14px);
}
.footer-grid{display:flex;flex-direction:column;gap:18px;align-items:center;text-align:center}
.footer-links{display:flex;gap:18px;flex-wrap:wrap;align-items:center;justify-content:center}
.footer-links a{color:rgba(255,255,255,0.68);font-weight:500;transition:all var(--transition-fast)}
.footer-links a:hover{color:var(--brand)}

.social-links{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.social-links a{
  width:42px;
  height:42px;
  border-radius:50%;
  background:rgba(255,255,255,0.1);
  border:1px solid var(--border);
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.social-links svg{width:20px;height:20px;fill:#fff}
.social-links a:hover{background:linear-gradient(120deg,var(--brand),var(--brand-2));border-color:transparent}
.social-links a:hover svg{fill:#04101f}

@media (max-width:1100px){
  .feature-grid,.ecosystem-grid,.journey-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}
  .feature-showcase{grid-template-columns:1fr;}
  .showcase-phone{height:220px;order:-1}
}
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr}
  .cta-grid{grid-template-columns:1fr}
}
@media (max-width:820px){
  .nav{flex-direction:column;align-items:flex-start}
  .nav .actions{width:100%}
  body{padding-top:calc(var(--ribbon-h) + 124px)}
  .hero-grid{padding-top:96px}
  .hero-copy h1{font-size:clamp(34px,7vw,50px)}
}
@media (max-width:640px){
  :root{--ribbon-h:38px}
  body{padding-top:calc(var(--ribbon-h) + 132px)}
  .top-ribbon{padding:8px 10px;font-size:12px;gap:8px;height:var(--ribbon-h)}
  .hero-grid{padding-top:86px}
  .feature-grid,.ecosystem-grid,.journey-timeline{grid-template-columns:1fr}
  .clients-logos img{width:128px;min-width:128px}
}
