
/* =========================================================
   Kanntraia Startup Pro — premium SaaS layer
   ========================================================= */
:root {
  --startup-violet:#5b4df1;
  --startup-violet-dark:#382ec3;
  --startup-cyan:#10b8c7;
  --startup-ink:#101118;
  --startup-paper:#fff;
  --startup-soft:#f7f7fb;
  --startup-border:rgba(23,26,38,.10);
  --startup-shadow:0 24px 80px rgba(31,35,60,.12);
  --header-h:88px;
}
html { scroll-padding-top: 112px; }
body { background:#fff; }
body::before {
  content:""; position:fixed; inset:0; z-index:-5; pointer-events:none;
  background:radial-gradient(circle at 14% -10%,rgba(91,77,241,.08),transparent 26%),radial-gradient(circle at 86% 2%,rgba(16,184,199,.07),transparent 24%);
}
a, button { touch-action:manipulation; }

/* Floating header */
.site-header.startup-header {
  position:fixed; top:14px; left:50%; right:auto; width:min(calc(100% - 28px),1260px); height:68px;
  transform:translateX(-50%); border:1px solid rgba(31,34,45,.10); border-radius:18px;
  background:rgba(255,255,255,.90); box-shadow:0 12px 42px rgba(26,30,52,.10);
  backdrop-filter:blur(22px) saturate(160%); -webkit-backdrop-filter:blur(22px) saturate(160%);
  z-index:2147483000; isolation:isolate; pointer-events:auto;
}
.site-header.startup-header.is-scrolled { border-color:rgba(31,34,45,.14); box-shadow:0 16px 55px rgba(26,30,52,.14); }
.startup-header-inner { width:100%; height:100%; padding:0 14px 0 18px; margin:0; }
.startup-header .brand { font-size:1.17rem; }
.startup-header .brand-mark { width:36px; height:36px; }
.startup-header .nav-link { border-radius:10px; font-size:.86rem; }
.startup-header .nav-link:hover { background:#f2f1ff; color:var(--startup-violet); }
.btn-ghost { min-height:42px; color:#22242d; background:transparent; border-color:transparent; }
.btn-ghost:hover { background:#f5f5f7; }
.header-demo { min-height:44px; border-radius:12px; }
body > main { padding-top:88px; }

/* Closed mobile menu must never cover the page */
.mobile-panel.startup-mobile-panel { visibility:hidden; opacity:0; pointer-events:none; }
.mobile-panel.startup-mobile-panel.is-open { visibility:visible; opacity:1; pointer-events:auto; }

/* Hero */
.hero { position:relative; padding:90px 0 68px; }
.hero::before {
  content:""; position:absolute; inset:18px 18px auto; height:min(720px,78vh); z-index:-2; border-radius:44px;
  background:linear-gradient(135deg,#fafaff 0%,#f4f8ff 50%,#f0fcfb 100%); border:1px solid rgba(91,77,241,.08);
}
.hero-grid { grid-template-columns:minmax(0,.95fr) minmax(480px,1.05fr); gap:70px; }
.hero-characters { margin-bottom:20px; }
.hero-characters::after { content:"Plataforma de IA omnicanal y operativa"; align-self:center; margin-left:18px; padding:8px 12px; border:1px solid rgba(91,77,241,.16); border-radius:999px; background:rgba(255,255,255,.75); color:#5148bc; font-size:.72rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.hero-title { max-width:760px; font-size:clamp(3.65rem,6.35vw,6.65rem); }
.hero-title .highlight { background:linear-gradient(135deg,#e9e8ff,#f0f4ff); box-shadow:inset 0 0 0 1px rgba(91,77,241,.07); }
.hero-copy { max-width:700px; color:#353946; }
.hero-visual { padding:20px; }
.browser-frame { border-radius:26px; border-color:rgba(25,29,43,.16); box-shadow:0 34px 95px rgba(35,41,72,.21); transform:rotate(.4deg); }
.browser-frame::after { content:"Vista real de la plataforma"; position:absolute; right:15px; top:12px; padding:5px 9px; border-radius:999px; background:#fff; color:#5d6270; font-size:.64rem; font-weight:800; box-shadow:0 5px 18px rgba(0,0,0,.08); }
.float-card { border:1px solid rgba(30,34,48,.09); border-radius:16px; box-shadow:0 20px 50px rgba(35,41,72,.14); }

/* Proof strip */
.startup-proof { padding:8px 0 54px; }
.startup-proof-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.startup-proof-item { min-height:94px; display:flex; align-items:center; gap:14px; padding:18px; border:1px solid var(--startup-border); border-radius:18px; background:rgba(255,255,255,.88); box-shadow:0 12px 30px rgba(30,34,58,.05); }
.startup-proof-icon { width:44px; height:44px; display:grid; place-items:center; flex:0 0 44px; border-radius:13px; background:#eeefff; color:var(--startup-violet); }
.startup-proof-item strong { display:block; font-size:.94rem; }
.startup-proof-item small { display:block; margin-top:2px; color:#747987; font-size:.73rem; }

/* Integrations */
.integration-band { background:transparent; }
.integration-band-heading { padding:0 6px; }
.integration-count { border-color:rgba(91,77,241,.18); background:#f1f0ff; color:#4a42ba; }
.integration-rail { border:1px solid rgba(24,28,42,.08); border-radius:22px; background:#fff; box-shadow:0 14px 40px rgba(30,34,58,.06); }
.integration-chip { border-color:#ececf2; background:#fff; }
.integration-catalog { gap:18px; }
.integration-card-rich { border-color:rgba(22,26,38,.09); border-radius:24px; box-shadow:0 10px 30px rgba(30,34,58,.04); }
.integration-card-rich:hover { transform:translateY(-6px); box-shadow:0 24px 65px rgba(30,34,58,.12); }
.open-ecosystem-card { position:relative; overflow:hidden; display:grid; grid-template-columns:1fr auto; align-items:center; gap:28px; margin-top:28px; padding:34px; border:1px solid rgba(91,77,241,.18); border-radius:26px; background:linear-gradient(135deg,#141726 0%,#202146 55%,#3c2f99 100%); color:#fff; box-shadow:0 28px 80px rgba(27,29,61,.22); }
.open-ecosystem-card::after { content:""; position:absolute; width:340px; height:340px; right:-100px; top:-190px; border-radius:50%; background:radial-gradient(circle,rgba(16,184,199,.42),transparent 68%); }
.open-ecosystem-card > * { position:relative; z-index:1; }
.open-ecosystem-card h3 { margin-bottom:8px; font-size:clamp(1.75rem,3vw,2.7rem); letter-spacing:-.045em; }
.open-ecosystem-card p { max-width:740px; margin:0; color:#d7d9e8; }
.open-ecosystem-card .btn { white-space:nowrap; }

/* Product and content cards */
.solution-card,.feature-panel,.product-tabs,.security-card,.blog-card,.seo-card,.contact-form,.contact-info { border-color:rgba(24,28,42,.09); box-shadow:0 12px 36px rgba(30,34,58,.045); }
.solution-card:hover,.blog-card:hover { transform:translateY(-4px); box-shadow:0 24px 65px rgba(30,34,58,.10); }
.section.soft { background:#f7f7fb; }
.section.tint { background:linear-gradient(180deg,#fbfbfe,#f5f6fb); }

/* Public sector visual */
.public-image-showcase { position:relative; padding:18px; border:1px solid rgba(91,77,241,.13); border-radius:28px; background:rgba(255,255,255,.84); box-shadow:0 24px 70px rgba(41,51,89,.12); }
.public-image-showcase img { width:100%; border-radius:20px; }
.public-image-label { position:absolute; left:32px; bottom:32px; max-width:320px; padding:13px 15px; border:1px solid rgba(255,255,255,.28); border-radius:15px; background:rgba(14,17,30,.88); color:#fff; box-shadow:0 12px 34px rgba(0,0,0,.18); backdrop-filter:blur(12px); }
.public-image-label strong { display:block; font-size:.88rem; }
.public-image-label span { display:block; margin-top:2px; color:#cbd0df; font-size:.72rem; }

/* CTA */
.cta-box { border-radius:28px; background:linear-gradient(135deg,#131621 0%,#22234a 56%,#4d3bd3 100%); box-shadow:0 32px 90px rgba(24,27,59,.22); }

/* Subtle premium footer */
.site-footer.startup-footer { position:relative; z-index:30; padding:58px 0 24px; border-top:1px solid rgba(23,26,38,.09); background:#f7f7f5; pointer-events:auto; }
.footer-topline { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-bottom:26px; border-bottom:1px solid #dddeda; }
.footer-logo { display:flex; align-items:center; gap:12px; }
.footer-logo img { width:42px; height:42px; }
.footer-logo strong { display:block; font-size:1.13rem; letter-spacing:-.03em; }
.footer-logo small { display:block; color:#737985; font-size:.73rem; }
.footer-top-actions { display:flex; gap:9px; }
.footer-grid-pro { display:grid; grid-template-columns:minmax(240px,.75fr) minmax(0,2.25fr); gap:72px; padding:42px 0 38px; }
.footer-summary p { max-width:360px; color:#5f6571; font-size:.9rem; line-height:1.65; }
.footer-mail { display:inline-flex; margin-top:4px; color:#22252d; font-weight:800; font-size:.88rem; }
.footer-badges { display:flex; flex-wrap:wrap; gap:7px; margin-top:22px; }
.footer-badges span { padding:6px 9px; border:1px solid #dedfdb; border-radius:999px; background:#fff; color:#676e79; font-size:.65rem; font-weight:750; }
.footer-links-pro { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:26px; }
.footer-links-pro > div { display:grid; align-content:start; gap:9px; }
.footer-links-pro h3 { margin:0 0 7px; font-size:.78rem; color:#23262e; }
.footer-links-pro a { color:#676e79; font-size:.77rem; line-height:1.4; }
.footer-links-pro a:hover { color:#17191f; text-decoration:underline; text-underline-offset:4px; }
.footer-bottom-pro { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:18px; padding-top:20px; border-top:1px solid #dddeda; color:#7a808a; font-size:.7rem; }
.footer-legal-pro { display:flex; justify-content:center; flex-wrap:wrap; gap:15px; }
.footer-legal-pro a,.footer-legal-pro button { color:#69707b; font-size:.7rem; }
.footer-note-pro { text-align:right; }
.startup-footer a,.startup-footer button,.startup-header a,.startup-header button { position:relative; z-index:5; pointer-events:auto !important; }

/* Cookie safety */
dialog.cookie-banner:not([open]) { display:none !important; pointer-events:none !important; }
dialog.cookie-banner[open] { pointer-events:auto !important; }


@media (max-width:1120px) {
  .site-header.startup-header { top:8px; width:calc(100% - 16px); }
  .startup-mobile-panel { top:84px; z-index:2147482999; border-top:1px solid #e7e7ed; }
  .hero-grid { grid-template-columns:1fr; }
  .hero-visual { max-width:980px; margin-inline:auto; }
  .startup-proof-grid { grid-template-columns:repeat(2,1fr); }
  .footer-grid-pro { grid-template-columns:1fr; gap:38px; }
  .footer-links-pro { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:720px) {
  :root { --header-h:78px; }
  body > main { padding-top:76px; }
  .site-header.startup-header { height:62px; border-radius:15px; }
  .startup-header-inner { padding:0 8px 0 13px; }
  .header-demo { display:none; }
  .hero { padding-top:54px; }
  .hero::before { inset:8px 8px auto; height:770px; border-radius:30px; }
  .hero-characters::after { display:none; }
  .hero-title { font-size:clamp(2.8rem,14vw,4.1rem); }
  .hero-visual { padding:4px; }
  .startup-proof-grid { grid-template-columns:1fr; }
  .open-ecosystem-card { grid-template-columns:1fr; padding:25px; }
  .public-image-label { position:static; max-width:none; margin-top:12px; background:#151827; }
  .footer-topline { align-items:flex-start; flex-direction:column; }
  .footer-top-actions { width:100%; }
  .footer-top-actions .btn { flex:1; }
  .footer-links-pro { grid-template-columns:repeat(2,1fr); gap:28px 18px; }
  .footer-bottom-pro { grid-template-columns:1fr; }
  .footer-legal-pro { justify-content:flex-start; }
  .footer-note-pro { text-align:left; }
}
@media (max-width:430px) {
  .footer-links-pro { grid-template-columns:1fr 1fr; }
  .footer-logo small { max-width:190px; }
}

/* =========================================================
   Omnichannel positioning and assistant Firewall
   ========================================================= */
.hero-title { max-width:820px; font-size:clamp(3.2rem,5.45vw,5.9rem); }
.hero-copy { max-width:760px; }
.float-card.top { max-width:290px; }
.float-card.bottom { max-width:310px; }

.omnichannel-section {
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,#fff 0%,#fafaff 100%);
}
.omnichannel-section::before {
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  right:-180px;
  top:80px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(16,184,199,.10),transparent 67%);
  pointer-events:none;
}
.omnichannel-grid {
  position:relative;
  display:grid;
  grid-template-columns:minmax(500px,1.1fr) minmax(360px,.9fr);
  gap:64px;
  align-items:center;
  margin-top:48px;
}
.channel-map {
  position:relative;
  min-height:610px;
  overflow:hidden;
  border:1px solid rgba(41,45,68,.09);
  border-radius:34px;
  background:
    radial-gradient(circle at 50% 50%,rgba(91,77,241,.10),transparent 29%),
    linear-gradient(145deg,#f9f9ff 0%,#f3fbfc 100%);
  box-shadow:0 30px 90px rgba(35,41,72,.12);
}
.channel-map::before,
.channel-map::after {
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  border:1px dashed rgba(91,77,241,.22);
  border-radius:50%;
  transform:translate(-50%,-50%);
}
.channel-map::before { width:390px; height:390px; }
.channel-map::after { width:510px; height:510px; border-color:rgba(16,184,199,.18); }
.channel-map-lines {
  position:absolute;
  inset:50% auto auto 50%;
  width:1px;
  height:1px;
  z-index:0;
  box-shadow:0 0 70px 48px rgba(91,77,241,.07);
}
.assistant-core {
  position:absolute;
  z-index:4;
  left:50%;
  top:50%;
  width:240px;
  min-height:230px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:28px;
  transform:translate(-50%,-50%);
  border:1px solid rgba(91,77,241,.20);
  border-radius:30px;
  background:rgba(255,255,255,.94);
  box-shadow:0 30px 75px rgba(42,46,83,.16);
}
.assistant-core img { width:64px; height:64px; margin-bottom:14px; }
.assistant-core span { color:#665bd8; font-size:.72rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.assistant-core strong { margin-top:8px; font-size:1.17rem; line-height:1.25; letter-spacing:-.025em; }
.assistant-core small { margin-top:8px; color:#737987; font-size:.72rem; }
.channel-node {
  position:absolute;
  z-index:3;
  min-width:124px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:10px 13px;
  border:1px solid rgba(27,31,49,.09);
  border-radius:15px;
  background:rgba(255,255,255,.95);
  color:#292c35;
  font-size:.75rem;
  font-weight:800;
  box-shadow:0 13px 35px rgba(38,43,69,.10);
}
.channel-node::after {
  content:"";
  position:absolute;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#5b4df1;
  box-shadow:0 0 0 5px rgba(91,77,241,.10);
}
.channel-node img,.channel-node .icon { width:27px; height:27px; object-fit:contain; flex:0 0 27px; }
.node-whatsapp { left:36px; top:74px; }
.node-web { right:40px; top:75px; }
.node-telegram { left:18px; top:240px; }
.node-email { right:16px; top:240px; }
.node-teams { left:45px; bottom:76px; }
.node-slack { right:48px; bottom:76px; }
.node-discord { left:214px; top:25px; }
.node-internal { right:190px; bottom:22px; }
.node-whatsapp::after,.node-telegram::after,.node-teams::after,.node-discord::after { right:-14px; }
.node-web::after,.node-email::after,.node-slack::after,.node-internal::after { left:-14px; }

.omnichannel-copy h3 {
  max-width:590px;
  margin:10px 0 16px;
  color:#13151d;
  font-size:clamp(2.1rem,3.5vw,3.45rem);
  line-height:1.02;
  letter-spacing:-.055em;
}
.omnichannel-copy > p { color:#565d6a; line-height:1.72; }
.omnichannel-benefits { display:grid; gap:4px; margin:28px 0 30px; }
.omnichannel-benefits article {
  display:grid;
  grid-template-columns:45px 1fr;
  gap:13px;
  padding:15px 0;
  border-bottom:1px solid rgba(29,33,47,.08);
}
.omnichannel-benefits article:last-child { border-bottom:0; }
.benefit-number { color:#665bd8; font-size:.72rem; font-weight:900; letter-spacing:.06em; }
.omnichannel-benefits strong { display:block; color:#20232c; font-size:.94rem; }
.omnichannel-benefits p { margin:4px 0 0; color:#69707d; font-size:.79rem; line-height:1.55; }

.firewall-section {
  position:relative;
  overflow:hidden;
  color:#fff;
  background:
    radial-gradient(circle at 84% 10%,rgba(16,184,199,.23),transparent 27%),
    radial-gradient(circle at 7% 85%,rgba(91,77,241,.28),transparent 30%),
    #0d121d;
}
.firewall-section::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom,black,transparent 90%);
}
.firewall-grid {
  position:relative;
  display:grid;
  grid-template-columns:minmax(340px,.8fr) minmax(570px,1.2fr);
  gap:66px;
  align-items:center;
}
.section-kicker.light { color:#65e5e0; }
.section-title.light { color:#fff; }
.firewall-copy > p { color:#c1c8d5; line-height:1.72; }
.firewall-list { display:grid; gap:12px; margin:28px 0; padding:0; list-style:none; }
.firewall-list li {
  position:relative;
  padding-left:28px;
  color:#cbd2dd;
  font-size:.84rem;
  line-height:1.58;
}
.firewall-list li::before {
  content:"✓";
  position:absolute;
  left:0;
  top:1px;
  width:18px;
  height:18px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(16,184,199,.18);
  color:#59e1dc;
  font-size:.66rem;
  font-weight:900;
}
.firewall-list strong { color:#fff; }
.firewall-callout {
  display:flex;
  gap:12px;
  align-items:flex-start;
  margin:28px 0;
  padding:16px;
  border:1px solid rgba(111,229,224,.20);
  border-radius:16px;
  background:rgba(111,229,224,.07);
  color:#dfe7ef;
  font-size:.79rem;
  line-height:1.55;
}
.firewall-callout .icon { flex:0 0 24px; color:#65e5e0; }
.firewall-visual { position:relative; min-height:580px; }
.firewall-browser {
  overflow:hidden;
  border:1px solid rgba(163,188,224,.22);
  border-radius:22px;
  background:#111722;
  box-shadow:0 28px 90px rgba(0,0,0,.38);
}
.firewall-browser img { display:block; width:100%; height:auto; }
.firewall-browser.main-shot { position:absolute; z-index:1; inset:0 30px auto 0; }
.firewall-browser.allowlist-shot { position:absolute; z-index:3; right:0; bottom:0; width:74%; box-shadow:0 22px 65px rgba(0,0,0,.46); }
.firewall-shot-label {
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border-bottom:1px solid rgba(255,255,255,.07);
  color:#dfe6ef;
  font-size:.68rem;
  font-weight:800;
}
.firewall-shot-label .icon { color:#62e1dc; }

.omnichannel-mini-art {
  position:relative;
  min-height:420px;
  border:1px solid rgba(91,77,241,.12);
  border-radius:30px;
  background:linear-gradient(145deg,#f6f5ff,#eefbfb);
  box-shadow:0 25px 75px rgba(35,41,72,.12);
}
.omnichannel-mini-art::before {
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:300px;
  height:300px;
  border:1px dashed rgba(91,77,241,.26);
  border-radius:50%;
  transform:translate(-50%,-50%);
}
.mini-core {
  position:absolute;
  z-index:2;
  left:50%;
  top:50%;
  width:170px;
  height:170px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  transform:translate(-50%,-50%);
  border:1px solid rgba(91,77,241,.18);
  border-radius:25px;
  background:#fff;
  box-shadow:0 20px 55px rgba(40,44,76,.14);
}
.mini-core img { width:52px; height:52px; margin-bottom:9px; }
.mini-core strong { font-size:.96rem; }
.mini-core small { margin-top:3px; color:#747a88; font-size:.67rem; }
.mini-channel {
  position:absolute;
  z-index:3;
  display:flex;
  align-items:center;
  gap:8px;
  padding:9px 12px;
  border:1px solid rgba(30,34,48,.09);
  border-radius:14px;
  background:#fff;
  box-shadow:0 10px 30px rgba(38,43,69,.10);
  color:#292c35;
  font-size:.7rem;
  font-weight:800;
}
.mini-channel img { width:24px; height:24px; object-fit:contain; }
.mini-channel.c1 { left:20px; top:55px; }
.mini-channel.c2 { right:18px; top:60px; }
.mini-channel.c3 { left:10px; bottom:68px; }
.mini-channel.c4 { right:12px; bottom:68px; }
.mini-channel.c5 { left:50%; bottom:18px; transform:translateX(-50%); }

@media (max-width:1120px) {
  .omnichannel-grid,.firewall-grid { grid-template-columns:1fr; }
  .channel-map { max-width:760px; width:100%; margin-inline:auto; }
  .firewall-visual { min-height:650px; }
}
@media (max-width:720px) {
  .hero-title { font-size:clamp(2.6rem,12.5vw,3.9rem); }
  .channel-map { min-height:auto; padding:28px 18px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .channel-map::before,.channel-map::after,.channel-map-lines { display:none; }
  .assistant-core { position:relative; left:auto; top:auto; grid-column:1/-1; width:auto; min-height:200px; transform:none; margin-bottom:10px; }
  .channel-node { position:relative; inset:auto !important; min-width:0; justify-content:flex-start; }
  .channel-node::after { display:none; }
  .omnichannel-copy h3 { font-size:2.45rem; }
  .firewall-grid { gap:40px; }
  .firewall-visual { min-height:460px; }
  .firewall-browser.main-shot { right:0; }
  .firewall-browser.allowlist-shot { width:86%; }
  .omnichannel-mini-art { min-height:460px; }
}
@media (max-width:460px) {
  .channel-map { grid-template-columns:1fr; }
  .assistant-core { grid-column:auto; }
  .firewall-visual { min-height:390px; }
  .firewall-browser.allowlist-shot { width:92%; }
}


/* =========================================================
   Startup Plus improvements: better integrated visuals + careers
   ========================================================= */
.hero { position:relative; overflow:hidden; }
.hero::after { content:""; position:absolute; inset:auto 0 -120px 0; height:280px; background:linear-gradient(180deg,rgba(255,255,255,0),#fff 88%); pointer-events:none; }
.integrated-visual, .firewall-visual, .public-platform-shot, .seo-browser, .video-shell, .public-image-showcase, .firewall-browser, .channel-map { position:relative; }
.integrated-visual::before, .firewall-visual::before, .public-image-showcase.integrated-surface::before, .integrated-surface::before { content:""; position:absolute; inset:-30px; z-index:-1; border-radius:36px; background:radial-gradient(circle at 20% 15%, rgba(91,77,241,.16), transparent 30%), radial-gradient(circle at 78% 24%, rgba(16,184,199,.14), transparent 24%), linear-gradient(180deg,rgba(246,247,255,.92),rgba(255,255,255,.7)); filter:blur(4px); }
.hero-visual { padding:24px; border-radius:36px; background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(245,248,255,.92)); box-shadow:0 28px 90px rgba(34,39,72,.12); }
.browser-frame { overflow:hidden; border-radius:28px; box-shadow:0 30px 90px rgba(21,27,53,.18); transform:rotate(-1.25deg); }
.browser-frame img { display:block; width:100%; }
.float-card { backdrop-filter:blur(14px); }
.firewall-section { position:relative; overflow:hidden; background:linear-gradient(180deg,#0c1020 0%,#13182c 100%); }
.firewall-section::before { content:""; position:absolute; width:520px; height:520px; left:-160px; top:-140px; border-radius:50%; background:radial-gradient(circle,rgba(91,77,241,.22),transparent 66%); pointer-events:none; }
.firewall-visual { padding:18px; border-radius:34px; background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.02)); border:1px solid rgba(255,255,255,.08); box-shadow:0 28px 80px rgba(0,0,0,.25); }
.firewall-browser { overflow:hidden; border-radius:24px; box-shadow:0 24px 60px rgba(0,0,0,.28); }
.firewall-browser img { display:block; width:100%; }
.public-platform-shot, .seo-browser, .public-image-showcase { overflow:hidden; }
.public-platform-shot img, .seo-browser img, .public-image-showcase img, .video-shell video { display:block; width:100%; height:auto; }
.public-platform-shot::before, .seo-browser::before { content:""; position:absolute; inset:auto 12% -12% 12%; height:38%; z-index:-1; border-radius:50%; background:radial-gradient(circle,rgba(91,77,241,.14),transparent 70%); filter:blur(18px); }
.seo-hero-art { min-height:470px; }
.seo-hero-art::before { width:420px; height:420px; border:1px dashed #ccd1ff; background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(245,248,255,.64)); box-shadow:0 34px 100px rgba(28,35,69,.08); }
.seo-brand-orb { box-shadow:0 24px 80px rgba(38,43,84,.14); }
.section-kicker.light { color:#bfc6ff; }

.careers-home-section { background:linear-gradient(180deg,#fff 0%,#f8f9ff 100%); }
.careers-home-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.95fr); gap:56px; align-items:center; }
.careers-home-panel { padding:30px; border:1px solid rgba(39,44,69,.08); border-radius:28px; background:linear-gradient(145deg,#101528,#191f3a 70%,#34378d 100%); color:#fff; box-shadow:0 28px 80px rgba(21,27,53,.22); }
.careers-home-panel-head { display:inline-flex; align-items:center; gap:10px; margin-bottom:18px; padding:8px 12px; border:1px solid rgba(255,255,255,.12); border-radius:999px; background:rgba(255,255,255,.06); color:#dbe0ff; font-size:.78rem; font-weight:800; }
.careers-home-role-list { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:22px; }
.careers-home-role-list span { padding:8px 12px; border-radius:999px; background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.10); font-size:.8rem; }
.careers-home-notes { display:grid; gap:14px; }
.careers-home-notes article { padding:16px 18px; border-radius:18px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.08); }
.careers-home-notes strong { display:block; margin-bottom:6px; }
.careers-home-notes p { margin:0; color:#d6daf2; }

.careers-page .breadcrumbs { padding-bottom:0; }
.careers-hero { position:relative; overflow:hidden; padding:42px 0 72px; background:linear-gradient(180deg,#ffffff 0%,#f8f9ff 100%); }
.careers-hero::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 82% 20%, rgba(91,77,241,.12), transparent 24%), radial-gradient(circle at 70% 78%, rgba(16,184,199,.10), transparent 20%); pointer-events:none; }
.careers-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr); gap:64px; align-items:center; }
.careers-hero-copy h1 { margin-bottom:24px; font-size:clamp(3.2rem,6vw,5.9rem); line-height:.95; letter-spacing:-.07em; }
.careers-hero-copy p { max-width:720px; font-size:1.1rem; line-height:1.7; color:var(--ink-soft); }
.careers-hero-visual { position:relative; min-height:470px; }
.careers-glow { position:absolute; inset:40px 30px auto auto; width:340px; height:340px; border-radius:50%; background:radial-gradient(circle,rgba(91,77,241,.20),transparent 66%); filter:blur(4px); }
.careers-board { position:relative; border:1px solid rgba(34,40,65,.10); border-radius:28px; background:rgba(255,255,255,.86); backdrop-filter:blur(10px); box-shadow:0 28px 90px rgba(26,33,63,.13); }
.careers-board.main-board { padding:26px; }
.careers-board.mini-board { position:absolute; right:-8px; bottom:20px; max-width:280px; padding:18px; }
.careers-board-head { display:inline-flex; align-items:center; gap:10px; padding:8px 12px; border-radius:999px; background:#f4f5fe; color:#4e47bf; font-size:.78rem; font-weight:800; }
.careers-pill-grid { display:flex; flex-wrap:wrap; gap:10px; margin:20px 0 22px; }
.careers-pill-grid span { padding:8px 12px; border-radius:999px; border:1px solid rgba(91,77,241,.12); background:#fff; color:#2d3250; font-size:.79rem; font-weight:700; }
.careers-stack { display:grid; gap:14px; }
.careers-stack article { padding:18px; border-radius:20px; background:linear-gradient(145deg,#ffffff,#f5f7ff); border:1px solid rgba(39,44,69,.08); }
.careers-stack article strong { display:block; margin-bottom:6px; }
.careers-stack article p { margin:0; color:#62697a; line-height:1.6; }
.career-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.career-card { padding:28px; border:1px solid rgba(26,32,56,.08); border-radius:24px; background:#fff; box-shadow:0 12px 36px rgba(30,34,58,.05); }
.career-card h3 { margin:0 0 10px; font-size:1.24rem; }
.career-card p { margin:0; color:var(--muted); line-height:1.65; }
.careers-values { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:44px; align-items:start; }
.careers-values-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.careers-values-grid article { padding:22px; border-radius:22px; background:#fff; border:1px solid rgba(26,32,56,.08); box-shadow:0 12px 34px rgba(30,34,58,.045); }
.careers-values-grid article strong { display:block; margin-bottom:8px; font-size:1.02rem; }
.careers-values-grid article p { margin:0; color:var(--muted); line-height:1.6; }
.careers-apply-layout { display:grid; grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr); gap:38px; align-items:start; }
.careers-info { padding:30px; border:1px solid rgba(26,32,56,.08); border-radius:28px; background:#fff; box-shadow:0 14px 40px rgba(30,34,58,.05); }
.careers-form input[type=file] { padding:14px 12px; border:1px dashed #c7cce4; background:#f9faff; }

@media (max-width:1120px) {
  .careers-home-grid, .careers-hero-grid, .careers-values, .careers-apply-layout { grid-template-columns:1fr; }
  .career-cards { grid-template-columns:1fr; }
}
@media (max-width:760px) {
  .careers-values-grid { grid-template-columns:1fr; }
  .careers-board.mini-board { position:relative; right:auto; bottom:auto; margin-top:16px; max-width:none; }
  .careers-hero-visual { min-height:auto; }
  .hero-visual { padding:14px; }
  .browser-frame { transform:none; }
}


/* Auto-published blog articles */
.blog-card.auto-published { border-color:rgba(91,77,241,.20); box-shadow:0 16px 46px rgba(49,43,137,.09); }
.blog-card.auto-published::before { content:"Nuevo"; position:absolute; top:14px; right:14px; z-index:2; padding:5px 9px; border-radius:999px; background:#5b4df1; color:#fff; font-size:.64rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }


/* Social sharing for article pages */
.article-share {
  margin-top: 28px;
  padding: 18px;
  border: 1px solid rgba(38, 42, 70, .10);
  border-radius: 22px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 14px 42px rgba(31, 35, 62, .07);
  backdrop-filter: blur(12px);
}
.article-share-copy { display:flex; align-items:baseline; flex-wrap:wrap; gap:8px 14px; margin-bottom:14px; }
.article-share-copy strong { font-size:.98rem; color:var(--ink); }
.article-share-copy span { font-size:.82rem; color:var(--muted); }
.article-share-actions { display:flex; flex-wrap:wrap; gap:9px; }
.share-button {
  min-height: 40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:9px 12px;
  border:1px solid rgba(38,42,70,.10);
  border-radius:12px;
  background:#fff;
  color:#252a40;
  font:inherit;
  font-size:.78rem;
  font-weight:780;
  cursor:pointer;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}
.share-button:hover { transform:translateY(-2px); border-color:rgba(91,77,241,.28); box-shadow:0 10px 24px rgba(30,34,58,.09); }
.share-button:focus-visible { outline:3px solid rgba(91,77,241,.25); outline-offset:2px; }
.share-button-icon { display:grid; place-items:center; width:20px; height:20px; border-radius:6px; font-size:.68rem; font-weight:900; }
.share-native { background:#5b4df1; border-color:#5b4df1; color:#fff; }
.share-linkedin .share-button-icon, .share-linkedin svg { color:#0a66c2; }
.share-whatsapp .share-button-icon { background:#25d366; color:#fff; }
.share-facebook .share-button-icon { background:#1877f2; color:#fff; font-size:.9rem; }
.share-x .share-button-icon { background:#111; color:#fff; }
.share-instagram .share-button-icon { background:linear-gradient(135deg,#feda75,#d62976 55%,#4f5bd5); color:#fff; font-size:.9rem; }
.article-share-note { margin:12px 0 0; font-size:.73rem; line-height:1.5; color:var(--muted); }
.share-feedback { min-height:0; margin-top:0; padding:0; border-radius:10px; font-size:.76rem; font-weight:700; color:#393e59; opacity:0; transform:translateY(-4px); transition:.18s ease; }
.share-feedback.visible { min-height:20px; margin-top:10px; opacity:1; transform:none; }
@media (max-width:700px) {
  .article-share { padding:15px; border-radius:18px; }
  .article-share-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .share-button { width:100%; }
  .article-share-note { font-size:.7rem; }
}

/* =========================================================
   Mobile responsive hardening — 2026-07-26
   Keeps the desktop design intact and stabilizes phones/tablets.
   ========================================================= */
html, body {
  max-width: 100%;
  overflow-x: clip;
}
img, picture, video, canvas, iframe {
  max-width: 100%;
}
img, video {
  height: auto;
}
.container,
.header-inner,
.hero-grid > *,
.public-hero-grid > *,
.feature-panel > *,
.product-panel > *,
.seo-hero-grid > *,
.omnichannel-grid > *,
.firewall-grid > *,
.contact-layout > *,
.careers-home-grid > *,
.careers-hero-grid > *,
.careers-apply-layout > * {
  min-width: 0;
}

/* Provider/logo stability on every viewport. */
.integration-logo,
.orbit-logo,
.channel-node img,
.mini-channel img {
  overflow: hidden;
}
.integration-logo img,
.integration-brand-img,
.orbit-logo img,
.channel-node img,
.mini-channel img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center;
}

@media (max-width: 900px) {
  body {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }
  section,
  .section,
  .hero,
  .seo-hero,
  .public-hero,
  .careers-hero {
    overflow: clip;
  }
  h1, h2, h3,
  .hero-title,
  .section-title,
  .seo-hero-copy h1,
  .article-hero h1,
  .careers-hero-copy h1 {
    overflow-wrap: anywhere;
    word-break: normal;
    hyphens: auto;
  }
  .browser-frame,
  .product-shot,
  .public-platform-shot,
  .public-image-showcase,
  .seo-browser,
  .video-shell,
  .firewall-browser {
    max-width: 100%;
  }
  .browser-frame img,
  .product-shot img,
  .public-platform-shot img,
  .public-image-showcase img,
  .seo-browser img,
  .firewall-browser img,
  .video-shell video {
    width: 100%;
    height: auto;
    min-height: 0;
    object-fit: contain;
    object-position: center top;
  }
  .integration-card-top,
  .integration-card-footer {
    min-width: 0;
  }
}

@media (max-width: 720px) {
  :root {
    --header-h: 76px;
  }
  body > main {
    padding-top: 76px;
  }
  body.menu-open {
    overflow: hidden;
    touch-action: none;
  }

  /* Header and mobile navigation */
  .site-header.startup-header {
    top: 7px;
    left: 8px;
    right: 8px;
    width: auto;
    max-width: none;
    height: 62px;
    transform: none;
    border-radius: 16px;
  }
  .startup-header-inner {
    gap: 8px;
    padding: 0 8px 0 12px;
  }
  .startup-header .brand {
    min-width: 0;
    gap: 8px;
    font-size: 1rem;
  }
  .startup-header .brand-mark {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
  }
  .startup-header .brand span {
    display: block;
    max-width: 128px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
  .header-actions {
    min-width: 0;
    gap: 5px;
  }
  .header-actions .btn-ghost {
    min-height: 38px;
    padding-inline: 8px;
    font-size: .76rem;
  }
  .header-actions .menu-button,
  .menu-button {
    width: 42px;
    height: 42px;
    min-width: 42px;
    border-radius: 12px;
  }
  .mobile-panel.startup-mobile-panel {
    top: 77px;
    left: 8px;
    right: 8px;
    bottom: 8px;
    max-height: calc(100dvh - 85px);
    padding: 16px;
    overflow-y: auto;
    overscroll-behavior: contain;
    border: 1px solid rgba(31,34,45,.10);
    border-radius: 18px;
    box-shadow: 0 24px 70px rgba(25,29,52,.18);
  }
  .mobile-panel .nav-link {
    padding: 13px 12px;
    border-radius: 12px;
    font-size: 1rem;
  }
  .mobile-panel .mobile-actions {
    position: sticky;
    bottom: 0;
    padding: 14px 0 2px;
    background: linear-gradient(180deg, rgba(255,255,255,0), #fff 22%);
  }

  /* Global spacing and typography */
  .container {
    width: min(calc(100% - 28px), var(--container));
  }
  .section {
    padding: 64px 0;
  }
  .section.compact {
    padding: 48px 0;
  }
  .section-head {
    margin-bottom: 30px;
  }
  .section-title,
  .section-title.medium {
    font-size: clamp(2rem, 9.5vw, 3rem);
    line-height: 1.02;
    letter-spacing: -.05em;
  }
  .section-copy {
    font-size: .98rem;
    line-height: 1.65;
  }

  /* Hero */
  .hero {
    padding: 38px 0 42px;
  }
  .hero::before {
    inset: 7px 7px 10px;
    height: auto;
    border-radius: 26px;
  }
  .hero::after {
    display: none;
  }
  .hero-grid {
    gap: 28px;
  }
  .hero-copy-col {
    text-align: left;
  }
  .hero-characters,
  .hero-actions,
  .hero-microcopy {
    justify-content: flex-start;
  }
  .hero-title {
    max-width: none;
    margin-bottom: 20px;
    font-size: clamp(2.55rem, 12.2vw, 3.7rem);
    line-height: .99;
    letter-spacing: -.06em;
  }
  .hero-copy {
    max-width: none;
    margin-inline: 0;
    font-size: 1rem;
    line-height: 1.62;
  }
  .hero-actions {
    gap: 10px;
  }
  .hero-actions .btn {
    min-height: 50px;
    white-space: normal;
    text-align: center;
  }
  .hero-microcopy {
    align-items: flex-start;
    gap: 8px 12px;
    text-align: left;
  }
  .hero-visual,
  .integrated-visual {
    width: 100%;
    margin-top: 4px;
    padding: 9px;
    overflow: hidden;
    border-radius: 22px;
  }
  .integrated-visual::before,
  .integrated-surface::before {
    inset: -10px;
    border-radius: 24px;
  }
  .browser-frame {
    width: 100%;
    transform: none;
    border-radius: 17px;
    box-shadow: 0 18px 45px rgba(21,27,53,.15);
  }
  .browser-frame::after {
    display: none;
  }
  .browser-bar {
    height: 30px;
  }
  .float-card {
    display: none !important;
  }

  /* Proof and feature cards */
  .startup-proof {
    padding: 4px 0 40px;
  }
  .startup-proof-grid {
    gap: 10px;
  }
  .startup-proof-item {
    min-height: 82px;
    padding: 15px;
    border-radius: 16px;
  }
  .solution-card,
  .feature-panel,
  .product-tabs,
  .security-card,
  .blog-card,
  .seo-card,
  .contact-form,
  .contact-info,
  .career-card,
  .careers-info {
    border-radius: 20px;
  }
  .feature-panel,
  .product-panel.is-active {
    gap: 0;
  }
  .feature-copy,
  .product-panel-copy {
    padding: 26px 20px;
  }
  .video-wrap {
    padding: 12px;
  }
  .video-shell {
    border-radius: 15px;
    box-shadow: 6px 8px 0 rgba(17,19,24,.07);
  }
  .tab-list {
    width: 100%;
    margin-bottom: 18px;
    padding: 4px;
    scroll-snap-type: x proximity;
    overscroll-behavior-inline: contain;
  }
  .tab-button {
    flex: 0 0 auto;
    min-width: 116px;
    scroll-snap-align: start;
  }
  .product-shot {
    border-radius: 15px;
  }

  /* Integration rail and provider logos */
  .integration-band {
    padding: 30px 0 45px;
  }
  .integration-band-heading {
    align-items: flex-start;
    margin-bottom: 18px;
    text-align: left;
  }
  .integration-band-heading .integration-caption {
    text-align: left;
  }
  .integration-count {
    align-self: flex-start;
  }
  .integration-rail {
    margin-inline: -2px;
    border-radius: 17px;
  }
  .integration-rail::before,
  .integration-rail::after {
    width: 24px;
  }
  .integration-track {
    gap: 9px;
    animation-duration: 96s;
  }
  .integration-chip {
    height: 52px;
    min-width: max-content;
    gap: 8px;
    padding: 0 12px;
    border-radius: 13px;
    font-size: .76rem;
  }
  .integration-chip .integration-logo,
  .integration-chip .integration-logo.brand-logo-wide {
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    padding: 4px;
    border-radius: 9px;
  }
  .integration-card-rich {
    min-height: auto;
    padding: 18px;
  }
  .integration-card-rich .integration-logo,
  .integration-card-rich .integration-logo.brand-logo-wide {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    padding: 6px;
    border-radius: 13px;
  }
  .integration-card-top {
    align-items: center;
  }
  .integration-type,
  .integration-available {
    font-size: .64rem;
  }
  .integration-card-rich h3 {
    font-size: 1rem;
  }
  .integration-card-rich p {
    font-size: .81rem;
  }
  .open-ecosystem-card,
  .seo-note-panel,
  .integration-custom-note {
    padding: 22px 18px;
    border-radius: 20px;
  }

  /* Omnichannel and firewall: stack instead of absolute overlaps */
  .omnichannel-grid,
  .firewall-grid {
    gap: 30px;
    margin-top: 30px;
  }
  .channel-map {
    padding: 18px 14px;
    gap: 9px;
    border-radius: 22px;
  }
  .assistant-core {
    min-height: 165px;
    padding: 20px;
    border-radius: 22px;
  }
  .assistant-core img {
    width: 52px;
    height: 52px;
  }
  .channel-node {
    width: 100%;
    padding: 10px;
    border-radius: 13px;
    font-size: .72rem;
  }
  .channel-node img,
  .channel-node .icon {
    width: 24px;
    height: 24px;
    flex-basis: 24px;
  }
  .omnichannel-copy h3 {
    font-size: clamp(2rem, 9vw, 2.65rem);
  }
  .firewall-section {
    padding-inline: 0;
  }
  .firewall-visual {
    display: grid;
    min-height: 0;
    gap: 12px;
    padding: 10px;
    border-radius: 22px;
  }
  .firewall-browser.main-shot,
  .firewall-browser.allowlist-shot {
    position: relative;
    inset: auto;
    right: auto;
    bottom: auto;
    width: 100%;
    transform: none;
    border-radius: 15px;
    box-shadow: 0 16px 45px rgba(0,0,0,.24);
  }
  .firewall-shot-label {
    padding: 9px 11px;
  }
  .firewall-callout {
    padding: 14px;
  }
  .omnichannel-mini-art {
    min-height: 360px;
    overflow: hidden;
    border-radius: 22px;
  }

  /* Public sector and content imagery */
  .public-image-showcase {
    padding: 9px;
    border-radius: 20px;
  }
  .public-image-showcase img {
    border-radius: 14px;
  }
  .public-image-label {
    position: static;
    margin-top: 9px;
    border-radius: 13px;
  }
  .public-platform-shot,
  .public-platform-shot.shot-large {
    border-radius: 17px;
  }
  .public-platform-shot img,
  .public-platform-shot.shot-large img {
    width: 100%;
    height: auto;
    min-height: 0;
    object-fit: contain;
  }
  .public-teaser-visual {
    min-height: 250px;
    margin: 0;
    transform: none;
  }
  .public-governance-art {
    width: 100%;
    max-width: 360px;
    margin-inline: auto;
    transform: scale(.88);
    transform-origin: center;
  }

  /* SEO and integration detail illustrations */
  .seo-hero {
    padding: 34px 0 48px;
  }
  .seo-hero-grid {
    gap: 28px;
  }
  .seo-hero-copy h1,
  .article-hero h1,
  .careers-hero-copy h1 {
    font-size: clamp(2.45rem, 11vw, 3.6rem);
    line-height: 1;
  }
  .seo-hero-art {
    width: 100%;
    min-height: 290px;
    overflow: hidden;
  }
  .seo-hero-art::before {
    width: 260px;
    height: 260px;
  }
  .seo-hero-art::after {
    width: 180px;
    height: 180px;
  }
  .seo-brand-orb {
    width: 112px;
    height: 112px;
    padding: 20px;
    border-radius: 28px;
  }
  .seo-art-card {
    min-width: 142px;
    max-width: 48%;
    padding: 10px 11px;
    font-size: .75rem;
  }
  .integration-orbit {
    min-height: 315px;
    transform: scale(.94);
    transform-origin: center;
  }
  .integration-orbit::before {
    width: 275px;
    height: 275px;
  }
  .integration-orbit::after {
    width: 185px;
    height: 185px;
  }
  .integration-orbit-core {
    width: 132px;
    height: 132px;
  }
  .orbit-logo {
    width: 50px;
    height: 50px;
    padding: 8px;
  }

  /* Blog/article and careers */
  .blog-grid,
  .career-cards,
  .careers-values-grid {
    gap: 14px;
  }
  .blog-card,
  .career-card {
    overflow: hidden;
  }
  .blog-visual {
    min-height: 150px;
  }
  .article-layout {
    padding-top: 34px;
  }
  .article-content,
  .article-section,
  .article-content p,
  .article-content li {
    overflow-wrap: anywhere;
  }
  .careers-hero {
    padding: 30px 0 52px;
  }
  .careers-hero-grid,
  .careers-home-grid,
  .careers-values,
  .careers-apply-layout {
    gap: 28px;
  }
  .careers-hero-visual {
    min-height: auto;
  }
  .careers-board.main-board,
  .careers-info,
  .contact-form {
    padding: 22px 18px;
  }

  /* CTA and footer */
  .cta-box {
    padding: 28px 20px;
    border-radius: 21px;
  }
  .cta-box h2 {
    font-size: clamp(2rem, 9vw, 2.8rem);
  }
  .footer-topline {
    gap: 18px;
  }
  .footer-grid-pro {
    gap: 30px;
    padding: 32px 0;
  }
  .footer-links-pro {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 16px;
  }
  .footer-links-pro a {
    overflow-wrap: anywhere;
  }
  .footer-bottom-pro {
    gap: 12px;
  }
  dialog.cookie-banner {
    max-height: calc(100dvh - 120px);
    overflow-y: auto;
  }
}

@media (max-width: 430px) {
  .startup-header .brand span {
    max-width: 106px;
  }
  .header-actions .btn-ghost {
    display: none;
  }
  .hero-title {
    font-size: clamp(2.35rem, 12.5vw, 3.25rem);
  }
  .hero-copy {
    font-size: .96rem;
  }
  .channel-map {
    grid-template-columns: 1fr;
  }
  .assistant-core {
    grid-column: auto;
  }
  .public-governance-art {
    margin-inline: -18px;
    transform: scale(.78);
  }
  .seo-art-card {
    max-width: 52%;
  }
  .footer-links-pro {
    grid-template-columns: 1fr;
  }
  .footer-top-actions {
    display: grid;
  }
  .footer-top-actions .btn {
    width: 100%;
  }
}
.integration-image-failed {
  opacity: .25;
  filter: grayscale(1);
}
