/* GIPS Real Pitch Deck Plugin */
:root{
  --gipsdeck-bg:#03060b;
  --gipsdeck-panel:#09111c;
  --gipsdeck-panel2:#0d1725;
  --gipsdeck-text:#f4f8fc;
  --gipsdeck-soft:#9eb1cb;
  --gipsdeck-cyan:#61e7ff;
  --gipsdeck-blue:#5ea8ff;
  --gipsdeck-line:rgba(97,231,255,.12);
  --gipsdeck-shadow:0 0 0 1px rgba(97,231,255,.05), 0 28px 90px rgba(0,0,0,.5);
}

.gipsdeck-shell{
  position:relative;
  max-width:1450px;
  margin:20px auto;
  padding:16px;
  color:var(--gipsdeck-text);
  background:
    radial-gradient(circle at top left, rgba(94,168,255,.12), transparent 28%),
    radial-gradient(circle at bottom right, rgba(97,231,255,.09), transparent 26%),
    linear-gradient(180deg,#03060b 0%, #050910 100%);
  border-radius:30px;
  overflow:hidden;
  box-shadow:var(--gipsdeck-shadow);
}
.gipsdeck-shell, .gipsdeck-shell *{ box-sizing:border-box; }
.gipsdeck-bg-grid{
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px);
  background-size:28px 28px;
  mask-image:linear-gradient(180deg, rgba(0,0,0,.75), transparent 100%);
  pointer-events:none;
}
.gipsdeck-orb{
  position:absolute; border-radius:50%; filter:blur(50px); opacity:.18; pointer-events:none;
}
.gipsdeck-orb-a{ width:240px; height:240px; top:-80px; right:-80px; background:var(--gipsdeck-blue); }
.gipsdeck-orb-b{ width:320px; height:320px; bottom:-140px; left:-120px; background:var(--gipsdeck-cyan); }

.gipsdeck-hero,
.gipsdeck-slide,
.gipsdeck-endcap{
  position:relative;
  z-index:2;
  border:1px solid var(--gipsdeck-line);
  border-radius:28px;
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  backdrop-filter:blur(10px);
  box-shadow:var(--gipsdeck-shadow);
  margin-bottom:18px;
}

.gipsdeck-hero{
  padding:52px 38px;
  min-height:78vh;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.gipsdeck-topline{
  color:var(--gipsdeck-soft);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:12px;
  margin-bottom:12px;
}
.gipsdeck-tag{
  color:var(--gipsdeck-cyan);
  text-transform:uppercase;
  letter-spacing:.2em;
  font-size:12px;
  margin-bottom:16px;
}
.gipsdeck-hero h1{
  margin:0;
  font-size:clamp(70px, 10vw, 150px);
  line-height:.92;
  letter-spacing:-.08em;
}
.gipsdeck-hero h3{
  margin:18px 0 14px;
  font-size:clamp(24px, 3vw, 42px);
  line-height:1.06;
  max-width:1100px;
  letter-spacing:-.03em;
}
.gipsdeck-hero p{
  max-width:980px;
  font-size:18px;
  line-height:1.8;
  color:var(--gipsdeck-soft);
}
.gipsdeck-hero-metrics{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin-top:30px;
}
.gipsdeck-hero-metrics > div,
.gipsdeck-stat-strip > div,
.gipsdeck-ask > div{
  padding:18px;
  border-radius:20px;
  border:1px solid rgba(97,231,255,.08);
  background:rgba(255,255,255,.03);
}
.gipsdeck-hero-metrics span,
.gipsdeck-stat-strip span,
.gipsdeck-ask span{
  display:block;
  color:var(--gipsdeck-soft);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:12px;
  margin-bottom:8px;
}
.gipsdeck-hero-metrics strong,
.gipsdeck-stat-strip strong,
.gipsdeck-ask strong{
  font-size:18px;
}

.gipsdeck-slide{
  padding:30px;
  min-height:68vh;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
.gipsdeck-slide-head{
  display:flex;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  margin-bottom:22px;
}
.gipsdeck-slide-no{
  color:var(--gipsdeck-cyan);
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.gipsdeck-eyebrow{
  color:var(--gipsdeck-soft);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:12px;
}
.gipsdeck-slide-body h2{
  margin:0 0 18px;
  font-size:clamp(34px,4vw,64px);
  line-height:1.02;
  letter-spacing:-.05em;
  max-width:1000px;
}
.gipsdeck-content{
  font-size:17px;
  color:#dce6f2;
  line-height:1.8;
}
.gipsdeck-content p{ margin:0 0 16px; color:#dce6f2; }
.gipsdeck-content strong{ color:#fff; }
.gipsdeck-content ul{
  margin:0;
  padding-left:20px;
}
.gipsdeck-content li{ margin-bottom:8px; color:#dce6f2; }

.gipsdeck-two-col{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.gipsdeck-three-col{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.gipsdeck-panel{
  border:1px solid rgba(97,231,255,.08);
  background:rgba(255,255,255,.03);
  border-radius:24px;
  padding:22px;
}
.gipsdeck-panel h4{
  margin:0 0 12px;
  font-size:22px;
  letter-spacing:-.02em;
}

.gipsdeck-flow{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  margin-top:28px;
}
.gipsdeck-flow span{
  padding:14px 18px;
  border-radius:999px;
  border:1px solid rgba(97,231,255,.12);
  background:rgba(255,255,255,.03);
  font-weight:700;
}
.gipsdeck-flow i{
  width:34px;
  height:1px;
  background:linear-gradient(90deg, var(--gipsdeck-cyan), rgba(97,231,255,.1));
  display:inline-block;
}

.gipsdeck-module-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.gipsdeck-module{
  border-radius:24px;
  padding:22px;
  border:1px solid rgba(97,231,255,.08);
  background:linear-gradient(180deg, rgba(94,168,255,.05), rgba(255,255,255,.02));
}
.gipsdeck-module strong{
  display:block;
  font-size:20px;
  margin-bottom:10px;
}
.gipsdeck-module span{
  display:block;
  color:var(--gipsdeck-soft);
  line-height:1.7;
}

.gipsdeck-stat-strip{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin-top:22px;
}
.gipsdeck-use-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
}
.gipsdeck-use-grid > div{
  padding:18px 20px;
  border-radius:18px;
  border:1px solid rgba(97,231,255,.08);
  background:rgba(255,255,255,.03);
  font-weight:600;
}

.gipsdeck-timeline{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.gipsdeck-timeline > div{
  border-radius:24px;
  padding:24px;
  border:1px solid rgba(97,231,255,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.02));
}
.gipsdeck-timeline strong{
  display:block;
  color:var(--gipsdeck-cyan);
  font-size:22px;
  margin-bottom:6px;
}
.gipsdeck-timeline span{
  display:block;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#fff;
  font-size:12px;
  margin-bottom:10px;
}
.gipsdeck-timeline p{
  margin:0;
  color:var(--gipsdeck-soft);
  line-height:1.7;
}

.gipsdeck-ask{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-top:20px;
}

.gipsdeck-endcap{
  padding:60px 36px;
  text-align:center;
}
.gipsdeck-endcap h2{
  margin:0;
  font-size:clamp(52px, 8vw, 110px);
  letter-spacing:-.08em;
  line-height:.92;
}
.gipsdeck-endcap p{
  margin:16px auto 0;
  max-width:820px;
  font-size:22px;
  color:var(--gipsdeck-soft);
  line-height:1.6;
}
.gipsdeck-endcap-foot{
  margin-top:22px;
  color:var(--gipsdeck-cyan);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:12px;
}

@media (max-width: 1100px){
  .gipsdeck-hero-metrics,
  .gipsdeck-stat-strip,
  .gipsdeck-ask,
  .gipsdeck-module-grid,
  .gipsdeck-three-col,
  .gipsdeck-two-col,
  .gipsdeck-timeline{
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width: 760px){
  .gipsdeck-shell{ padding:12px; border-radius:22px; }
  .gipsdeck-hero,
  .gipsdeck-slide,
  .gipsdeck-endcap{ padding:22px 18px; border-radius:22px; min-height:auto; }
  .gipsdeck-hero{ min-height:auto; }
  .gipsdeck-hero h1{ font-size:62px; }
  .gipsdeck-hero h3{ font-size:28px; }
  .gipsdeck-slide-body h2{ font-size:34px; }
  .gipsdeck-hero-metrics,
  .gipsdeck-stat-strip,
  .gipsdeck-ask,
  .gipsdeck-module-grid,
  .gipsdeck-three-col,
  .gipsdeck-two-col,
  .gipsdeck-use-grid,
  .gipsdeck-timeline{
    grid-template-columns:1fr;
  }
}
