/* ── Demo end sequence (.de-*) ── */
#demo-end-overlay{ font-family:'Montserrat',sans-serif; }

.de-screen{
  position:absolute; inset:0; display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  padding:40px 24px; text-align:center; box-sizing:border-box;
}
.de-h1{
  font-family:'Exo 2',sans-serif; font-size:clamp(22px,4vw,48px); font-weight:700;
  letter-spacing:.12em; text-transform:uppercase; color:#fff;
  text-shadow:0 0 32px rgba(232,80,0,.35); line-height:1.15;
}
.de-h1--accent{ color:#e85000; text-shadow:0 0 32px rgba(232,80,0,.6); }
.de-eyebrow{
  font-size:9px; letter-spacing:.3em; text-transform:uppercase;
  color:rgba(232,80,0,.65); margin-bottom:14px;
}
.de-studio{
  font-family:'Exo 2',sans-serif; font-size:clamp(26px,4.5vw,52px); font-weight:700;
  letter-spacing:.08em; text-transform:uppercase; color:#fff;
  text-shadow:0 0 28px rgba(232,80,0,.4);
}
.de-studio--sm{ font-size:clamp(18px,3vw,30px); margin-bottom:8px; }
.de-report-line{
  font-size:clamp(14px,2vw,18px); color:rgba(200,220,255,.8);
  letter-spacing:.04em; line-height:1.9;
}
.de-prose{
  font-size:clamp(12px,1.6vw,15px); line-height:1.8; color:rgba(200,220,255,.7);
  max-width:480px;
}
.de-prose--dim{ color:rgba(200,220,255,.38); }
.de-prose--bright{ color:rgba(200,220,255,.95); font-weight:600; }
.de-credits-mono{
  font-family:'Courier New',Courier,monospace; font-size:clamp(11px,1.4vw,13px);
  line-height:1.9; color:rgba(200,220,255,.75); white-space:pre;
  margin:0; padding:0; background:none; border:none; text-align:left;
}
.de-typed{
  font-size:clamp(13px,1.8vw,17px); font-style:italic; letter-spacing:.03em;
  color:rgba(200,220,255,.85); white-space:pre-wrap; line-height:1.7;
  max-width:520px; text-align:center;
}
.de-typed--final{
  font-size:clamp(14px,2vw,20px); color:rgba(255,255,255,.6); letter-spacing:.06em;
}

/* Dot-leader link row */
.de-link-row{
  display:flex; align-items:baseline; gap:0;
  font-size:clamp(12px,1.6vw,15px); color:rgba(200,220,255,.65);
  text-decoration:none; max-width:460px; width:100%;
  transition:color .18s;
}
.de-link-row:hover{ color:rgba(200,220,255,.9); }
.de-link-row--featured{ color:rgba(90,214,255,.75); font-weight:600; }
.de-link-row--featured:hover{ color:rgba(90,214,255,1); }
.de-link-bullet{ margin-right:8px; color:#e85000; }
.de-link-name{ white-space:nowrap; }
.de-link-dots{
  flex:1; border-bottom:1px dotted rgba(255,255,255,.18);
  margin:0 10px; position:relative; top:-3px;
}
.de-link-url{ white-space:nowrap; color:rgba(90,214,255,.5); font-size:.9em; }
.de-return-btn{
  font-family:'Montserrat',sans-serif; font-size:12px; font-weight:700;
  letter-spacing:.18em; text-transform:uppercase;
  color:rgba(255,255,255,.55); background:transparent;
  border:1px solid rgba(255,255,255,.2); border-radius:3px;
  padding:14px 44px; cursor:pointer; transition:color .2s, border-color .2s;
}
.de-link-note{
  font-size:11px; letter-spacing:.1em; color:rgba(90,214,255,.45);
  text-transform:uppercase; margin-top:14px;
}

/* ── OUR SOCIALS — full-screen, no scroll (.socials-*) ── */
.socials-overlay{
  position:fixed; inset:0; z-index:10013; display:none; flex-direction:column;
  background:rgba(2,5,9,.96); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
  font-family:'Montserrat',sans-serif;
}
.socials-overlay.visible{ display:flex; }
.socials-wrap{
  display:flex; flex-direction:column; height:100vh; padding:28px 48px 20px;
  box-sizing:border-box; overflow:hidden;
}
.socials-hdr{
  display:grid; grid-template-columns:1fr auto 1fr; align-items:center;
  margin-bottom:22px; padding-bottom:18px;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.socials-hdr-studio{
  font-family:'Exo 2',sans-serif; font-size:clamp(18px,2.5vw,26px); font-weight:700;
  letter-spacing:.1em; color:#fff; text-transform:uppercase; text-align:center;
}
.socials-hdr-title{
  font-family:'Exo 2',sans-serif; font-size:20px; letter-spacing:.22em; text-transform:uppercase;
  color:rgba(232,80,0,.95); text-align:right;
}
.socials-back-btn{
  all:unset; cursor:pointer; font-family:'Montserrat',sans-serif; font-size:22px; font-weight:700;
  letter-spacing:.12em; text-transform:uppercase; color:#fff;
  border:1px solid rgba(255,255,255,.35); border-radius:4px;
  padding:11px 24px; transition:color .18s, border-color .18s;
  display:inline-block;
}
.socials-back-btn:hover{ color:#fff; border-color:rgba(232,80,0,.9); }
.socials-cols{
  display:grid; grid-template-columns:1fr 1fr; gap:48px;
  flex:1; overflow:hidden;
}
.socials-col{ display:flex; flex-direction:column; gap:0; }
.socials-col--right{ border-left:1px solid rgba(255,255,255,.06); padding-left:48px; }
.socials-section{ margin-bottom:20px; }
.socials-section-title{
  font-family:'Exo 2',sans-serif; font-size:20px; letter-spacing:.28em; text-transform:uppercase;
  color:#fff; margin-bottom:12px;
}
.socials-desc{
  font-family:'Montserrat',sans-serif; font-size:22px; line-height:1.55;
  color:rgba(255,255,255,.85); margin-bottom:12px;
}
.socials-link{
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 0; border-bottom:1px solid rgba(255,255,255,.08);
  font-family:'Montserrat',sans-serif; font-size:24px; font-weight:600;
  color:#fff; letter-spacing:.02em;
}
.socials-link--featured{ color:#fff; }
.socials-link-lhs{ display:flex; align-items:center; gap:10px; }
.socials-bullet{ color:#e85000; font-size:20px; }
.socials-link-url{
  font-family:'Montserrat',sans-serif; font-size:20px; font-weight:500;
  letter-spacing:.04em; color:#e85000;
}
.socials-mono{
  font-family:'Montserrat',sans-serif; font-size:20px;
  line-height:1.9; color:#fff; white-space:pre;
  margin:0 0 16px; padding:0; background:none; border:none;
}
.socials-ai-note{
  font-family:'Montserrat',sans-serif; font-size:20px; line-height:1.6;
  color:rgba(255,255,255,.75); margin-top:8px;
}
.socials-footer{
  margin-top:18px; padding-top:14px; border-top:1px solid rgba(255,255,255,.06);
  font-family:'Montserrat',sans-serif; font-size:18px; letter-spacing:.1em;
  color:rgba(255,255,255,.6); text-align:center; text-transform:uppercase;
}

/* ── Credits split-screen (.de-split-*) ── */
.de-split{
  position:absolute; inset:0; display:flex; flex-direction:row;
  font-family:'Montserrat',sans-serif;
}
.de-split-left{
  flex:0 0 42%; border-right:1px solid rgba(255,255,255,.07);
  display:flex; flex-direction:column; justify-content:center;
  padding:60px 52px; box-sizing:border-box; gap:0;
}
.de-split-logo{
  font-family:'Exo 2',sans-serif; font-size:clamp(18px,2.2vw,26px);
  font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  color:#fff; text-shadow:0 0 24px rgba(232,80,0,.5); margin-bottom:28px;
}
.de-split-by{
  font-size:8px; letter-spacing:.32em; text-transform:uppercase;
  color:rgba(232,80,0,.65); margin-bottom:8px;
}
.de-split-author{
  font-family:'Exo 2',sans-serif; font-size:clamp(20px,2.6vw,32px);
  font-weight:700; letter-spacing:.08em; color:#fff;
  margin-bottom:22px;
}
.de-split-roles{
  font-size:clamp(10px,1.1vw,12px); line-height:2; margin-bottom:28px !important;
}
.de-split-divider{
  width:48px; height:1px; background:rgba(90,214,255,.28); margin-bottom:24px;
}
.de-split-ai{
  font-size:clamp(10px,1.1vw,12px); color:rgba(200,220,255,.45);
  line-height:1.7; margin-bottom:10px;
}
.de-split-copy{
  font-size:clamp(9px,1vw,11px); letter-spacing:.08em;
  color:rgba(200,220,255,.28); text-transform:uppercase;
}
.de-split-right{
  flex:1; display:flex; flex-direction:column; justify-content:center;
  padding:40px 36px; gap:0; box-sizing:border-box;
}
.de-split-cards-area{
  flex:1; display:flex; flex-direction:column; justify-content:center; align-items:stretch;
  min-height:0; overflow:hidden;
}
.de-split-cards-inner{
  display:flex; flex-direction:column; gap:14px; width:100%;
  transform-origin:center center;
}
.de-split-footer{
  flex:0 0 auto; display:flex; align-items:center; justify-content:space-between;
  padding-top:20px;
}
.de-split-dots{ display:flex; gap:8px; align-items:center; }
.de-split-dot{
  width:7px; height:7px; border-radius:50%;
  background:rgba(255,255,255,.22); transition:background .3s;
}
.de-split-dot--active{ background:rgba(90,214,255,.9); }
.de-split-next{
  font-family:'Montserrat',sans-serif; font-size:11px; font-weight:700;
  letter-spacing:.18em; text-transform:uppercase;
  color:rgba(200,220,255,.6); background:transparent;
  border:1px solid rgba(255,255,255,.18); border-radius:3px;
  padding:10px 28px; cursor:pointer;
  transition:color .2s, border-color .2s, visibility 0s;
}
.de-split-next:hover{ color:#fff; border-color:rgba(90,214,255,.55); }

/* ── Stat card (.de-card-*) ── */
.de-card{
  background:rgba(14,22,38,.88); border-radius:6px;
  overflow:hidden; position:relative;
  border:1px solid rgba(255,255,255,.07);
  display:flex; flex-direction:column;
}
.de-card--portrait{
  flex-direction:row; min-height:110px;
}
.de-card__img{
  width:32%; object-fit:cover; object-position:top center; flex-shrink:0;
  display:block;
}
.de-card__body{
  flex:1; padding:18px 20px;
  display:flex; flex-direction:column; justify-content:center; gap:6px;
}
.de-card__title{
  font-size:8px; letter-spacing:.28em; text-transform:uppercase;
  color:rgba(90,214,255,.7); font-weight:700;
}
.de-card__text{
  font-size:clamp(22px,2.4vw,26px); line-height:1.65;
  color:rgba(215,230,255,.82);
}
.de-card__accent{
  position:absolute; bottom:0; left:0; right:0; height:2px;
}
.de-card--accent-warm    .de-card__accent{ background:linear-gradient(to right,#5ad6ff,#34d399); }
.de-card--accent-hard    .de-card__accent{ background:linear-gradient(to right,#e85000,#f59e0b); }
.de-card--accent-neutral .de-card__accent{ background:linear-gradient(to right,rgba(90,214,255,.3),rgba(139,92,246,.3)); }
.de-card--accent-mission .de-card__accent{ background:linear-gradient(to right,#5ad6ff,#8b5cf6); }
.de-card:not(.de-card--portrait) .de-card__body{
  padding:28px 32px; text-align:center; align-items:center;
}
.de-card:not(.de-card--portrait) .de-card__title{
  font-size:9px; margin-bottom:4px;
}
.de-card:not(.de-card--portrait) .de-card__text{
  font-size:clamp(24px,2.6vw,30px); color:rgba(215,230,255,.75);
}
