/* V43 — controlled homepage Communication Hub demo + active nav glow + top gap tidy */
:root{
  --envia-cyan:#53e7ff;
  --envia-violet:#9b6cff;
  --envia-ink:#06142b;
  --envia-soft:#eaf8ff;
}

/* Site-wide: reduce the excessive space between fixed header and first section without redesigning pages */
main > section:first-child,
.page-hero,
.hero,
.launch-hero{
  margin-top:clamp(78px, 7vw, 104px) !important;
}
@media (max-width: 760px){
  main > section:first-child,
  .page-hero,
  .hero,
  .launch-hero{ margin-top:74px !important; }
}

/* Active top navigation state */
.desktop-nav a{
  position:relative;
  transition:color .22s ease, text-shadow .22s ease, border-color .22s ease, background .22s ease;
}
.desktop-nav a.active,
.desktop-nav a[aria-current="page"]{
  color:#f6fdff !important;
  background:linear-gradient(135deg, rgba(83,231,255,.13), rgba(155,108,255,.12));
  border-color:rgba(83,231,255,.42) !important;
  box-shadow:0 0 18px rgba(83,231,255,.22), inset 0 0 18px rgba(155,108,255,.08);
  text-shadow:0 0 10px rgba(83,231,255,.75), 0 0 22px rgba(155,108,255,.45);
}
.desktop-nav a.active::after,
.desktop-nav a[aria-current="page"]::after{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  bottom:5px;
  height:1px;
  border-radius:999px;
  background:linear-gradient(90deg, transparent, var(--envia-cyan), var(--envia-violet), transparent);
  box-shadow:0 0 14px rgba(83,231,255,.8);
}
.mobile-menu a.active,
.mobile-menu a[aria-current="page"]{
  color:#fff;
  text-shadow:0 0 12px rgba(83,231,255,.8);
}

/* Full-width Communication Hub module recommender */
.module-demo-section{
  width:min(100%, 1480px);
  margin:clamp(34px,5vw,76px) auto;
  padding:0 clamp(18px,3vw,36px);
  position:relative;
  isolation:isolate;
}
.module-demo-section::before{
  content:"";
  position:absolute;
  inset:7% 0 auto 0;
  height:58%;
  background:radial-gradient(circle at 24% 24%, rgba(83,231,255,.18), transparent 34%), radial-gradient(circle at 74% 40%, rgba(155,108,255,.18), transparent 38%);
  filter:blur(22px);
  opacity:.85;
  pointer-events:none;
  z-index:-1;
}
.module-demo-heading{
  max-width:920px;
  margin:0 auto clamp(26px,4vw,42px);
  text-align:center;
}
.module-demo-heading h2{
  margin:.35rem 0 .75rem;
  font-size:clamp(2.15rem,4.4vw,4.8rem);
  letter-spacing:-.065em;
  line-height:.96;
}
.module-demo-heading p{
  max-width:760px;
  margin:0 auto;
  color:rgba(231,243,255,.78);
  font-size:clamp(1rem,1.5vw,1.16rem);
  line-height:1.62;
}
.module-demo-frame-wrap{
  position:relative;
  width:100%;
  max-width:1320px;
  margin:0 auto;
}
.imac-demo-shell{
  position:relative;
  margin:0 auto;
  max-width:1180px;
}
.imac-demo-shell img.imac-frame{
  display:block;
  width:100%;
  height:auto;
  filter:drop-shadow(0 32px 54px rgba(0,0,0,.38));
  pointer-events:none;
  user-select:none;
}
.imac-screen-content{
  position:absolute;
  left:12.4%;
  right:12.4%;
  top:7.4%;
  bottom:26.4%;
  overflow:hidden;
  border-radius:9px;
  background:
    radial-gradient(circle at 20% 10%, rgba(83,231,255,.18), transparent 36%),
    radial-gradient(circle at 85% 32%, rgba(155,108,255,.18), transparent 32%),
    linear-gradient(145deg, #07142d 0%, #0a1635 45%, #10124a 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
.demo-os-topbar{
  height:44px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:0 16px;
  background:rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.08);
  color:#fff;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.demo-os-dots{display:flex;gap:6px;align-items:center}.demo-os-dots i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.35)}
.demo-os-pill{padding:6px 10px;border-radius:999px;background:rgba(83,231,255,.1);border:1px solid rgba(83,231,255,.2);color:#d8fbff;text-transform:none;letter-spacing:0;font-weight:700}
.demo-hub-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 330px;
  height:calc(100% - 44px);
  min-height:0;
}
.demo-chat-panel{
  padding:18px;
  display:flex;
  flex-direction:column;
  min-height:0;
}
.demo-chat-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px;color:#fff}
.demo-chat-title h3{font-size:18px;margin:0 0 2px;letter-spacing:-.02em}.demo-chat-title span{font-size:11px;color:#93eaff;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.demo-chat-title small{color:rgba(230,244,255,.62)}
.demo-thread{
  flex:1;
  min-height:0;
  display:flex;
  flex-direction:column;
  gap:10px;
  overflow:hidden;
}
.demo-message{
  max-width:82%;
  padding:11px 13px;
  border-radius:18px;
  color:rgba(245,251,255,.92);
  line-height:1.42;
  font-size:13px;
  border:1px solid rgba(255,255,255,.1);
  box-shadow:0 12px 30px rgba(0,0,0,.15);
}
.demo-message.user{align-self:flex-end;background:linear-gradient(135deg, rgba(83,231,255,.24), rgba(155,108,255,.22));border-color:rgba(83,231,255,.28)}
.demo-message.sophie{align-self:flex-start;background:rgba(255,255,255,.07)}
.demo-message strong{color:#fff}.demo-message ul{margin:7px 0 0 16px;padding:0}.demo-message li{margin:2px 0}
.demo-composer{display:flex;gap:8px;margin-top:12px;align-items:center}.demo-composer input{flex:1;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;padding:12px 14px;outline:none;font:inherit;font-size:13px}.demo-composer button,.demo-video-button{border:0;border-radius:999px;background:linear-gradient(135deg, var(--envia-cyan), var(--envia-violet));color:#041027;font-weight:900;padding:11px 14px;cursor:pointer;box-shadow:0 0 26px rgba(83,231,255,.24)}
.demo-side-panel{
  border-left:1px solid rgba(255,255,255,.08);
  padding:16px;
  background:rgba(0,0,0,.12);
  min-width:0;
  overflow:hidden;
}
.demo-pack-card{
  border:1px solid rgba(83,231,255,.18);
  background:linear-gradient(145deg, rgba(255,255,255,.1), rgba(255,255,255,.045));
  border-radius:20px;
  padding:14px;
  color:#fff;
  box-shadow:0 0 28px rgba(83,231,255,.08);
}
.demo-pack-card span{display:block;color:#93eaff;text-transform:uppercase;font-size:10px;letter-spacing:.13em;font-weight:900;margin-bottom:7px}.demo-pack-card h4{margin:0 0 6px;font-size:20px;letter-spacing:-.03em}.demo-pack-card p{margin:0;color:rgba(234,247,255,.72);font-size:12.5px;line-height:1.45}
.demo-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;max-height:142px;overflow:hidden}
.demo-module-chip{padding:8px 9px;border-radius:13px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.09);color:rgba(238,249,255,.75);font-size:11px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:all .25s ease}.demo-module-chip.active{color:#fff;background:linear-gradient(135deg, rgba(83,231,255,.2), rgba(155,108,255,.16));border-color:rgba(83,231,255,.36);box-shadow:0 0 20px rgba(83,231,255,.18)}
.demo-ai-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}.demo-ai-row b{font-size:10px;padding:6px 8px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);color:#dff8ff}
.demo-result-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.demo-result-actions button,.demo-result-actions a{font-size:11px;padding:9px 10px;border-radius:999px;text-decoration:none;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.08);color:#fff;font-weight:800;cursor:pointer}.demo-result-actions .primary{background:linear-gradient(135deg,var(--envia-cyan),var(--envia-violet));color:#041027;border:0}
.demo-prompt-row{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:clamp(18px,3vw,28px) auto 0;max-width:1160px}.demo-prompt-btn{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);color:#edfaff;border-radius:999px;padding:11px 15px;font-weight:800;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(255,255,255,.02);transition:all .22s ease}.demo-prompt-btn:hover,.demo-prompt-btn.active{border-color:rgba(83,231,255,.44);box-shadow:0 0 20px rgba(83,231,255,.16);transform:translateY(-1px)}
.demo-note{max-width:980px;margin:16px auto 0;text-align:center;color:rgba(230,243,255,.64);font-size:13px}.demo-note strong{color:#fff}

/* Sophie pack video modal */
.sophie-pack-modal{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:24px}.sophie-pack-modal.open{display:flex}.sophie-pack-backdrop{position:absolute;inset:0;background:rgba(3,8,22,.72);backdrop-filter:blur(18px)}.sophie-pack-dialog{position:relative;width:min(1040px,100%);max-height:min(760px,92vh);overflow:auto;border:1px solid rgba(83,231,255,.23);border-radius:30px;background:linear-gradient(145deg, rgba(7,20,45,.94), rgba(14,14,54,.92));box-shadow:0 32px 80px rgba(0,0,0,.48),0 0 60px rgba(83,231,255,.12);padding:22px;color:#fff}.sophie-pack-close{position:absolute;right:16px;top:14px;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);color:#fff;font-size:24px;cursor:pointer}.sophie-pack-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:20px;align-items:stretch}.sophie-video-stage{min-height:330px;border-radius:22px;background:radial-gradient(circle at 50% 15%, rgba(83,231,255,.16), transparent 38%),linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.1);display:grid;place-items:center;overflow:hidden}.sophie-video-stage video{display:none;width:100%;height:100%;object-fit:cover}.sophie-video-placeholder{text-align:center;padding:28px;max-width:420px}.sophie-video-placeholder h3{font-size:28px;margin:0 0 10px;letter-spacing:-.04em}.sophie-video-placeholder p{color:rgba(236,248,255,.7);line-height:1.55}.sophie-pack-copy{padding:8px 4px}.sophie-pack-copy h3{font-size:32px;margin:6px 0 10px;letter-spacing:-.05em}.sophie-pack-copy p{color:rgba(234,247,255,.75);line-height:1.6}.sophie-pack-copy ul{margin:16px 0 0;padding:0;list-style:none;display:grid;gap:8px}.sophie-pack-copy li{padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.09);color:#f2fbff;font-size:13px}.sophie-pack-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}

@media (max-width:980px){
  .imac-screen-content{left:5%;right:5%;top:6%;bottom:12%;border-radius:18px}.imac-demo-shell img.imac-frame{opacity:.18}.imac-demo-shell{background:#050d22;border:1px solid rgba(255,255,255,.1);border-radius:28px;overflow:hidden;box-shadow:0 28px 70px rgba(0,0,0,.38)}.demo-hub-layout{grid-template-columns:1fr}.demo-side-panel{display:none}.demo-chat-panel{min-height:420px}.demo-message{max-width:92%}.sophie-pack-grid{grid-template-columns:1fr}.module-demo-heading h2{font-size:clamp(2rem,8vw,3.2rem)}
}
@media (max-width:620px){
  .module-demo-section{padding:0 14px}.demo-os-topbar{height:38px;padding:0 12px}.demo-chat-panel{padding:13px;min-height:390px}.demo-chat-title h3{font-size:16px}.demo-message{font-size:12px}.demo-composer{align-items:stretch}.demo-composer input{min-width:0}.demo-composer button{padding:10px 12px}.demo-prompt-btn{width:100%;border-radius:16px}.sophie-pack-dialog{padding:16px;border-radius:22px}.sophie-pack-copy h3{font-size:25px}.sophie-video-stage{min-height:260px}
}
.sophie-video-stage.has-video video{display:block}.sophie-video-stage.has-video .sophie-video-placeholder{display:none}
