/*
  ICE visual polish layer.
  The named asset slots keep restrained CSS fallbacks visible until final
  northstar-delivery-hero and shared-evidence-reconciliation assets arrive.
*/

:root{
  --ice-cyan:#72d7ef;
  --ice-amber:#e7ae3f;
  --ice-red:#ff6b66;
  --ice-depth:0 46px 120px rgba(0,0,0,.48);
  --ice-soft-shadow:0 24px 72px rgba(0,0,0,.3);
}

.ice-landing .hero{
  min-height:92svh;
  align-items:center;
}

.ice-landing .hero:after{
  content:"";
  position:absolute;
  inset:8% 0 0 48%;
  z-index:-2;
  background:radial-gradient(circle at 48% 40%,rgba(47,128,255,.15),transparent 42%);
  filter:blur(12px);
}

.ice-landing .hero-copy{
  width:min(var(--max),calc(100% - 48px));
  padding:clamp(44px,5vh,68px) min(52%,650px) clamp(38px,4vh,54px) 0;
  margin:0 auto;
}

.ice-landing .hero h1{
  max-width:720px;
  font-size:clamp(58px,6vw,88px);
  line-height:.88;
}

.ice-landing .hero h1 span{
  display:block;
  max-width:660px;
  margin-top:20px;
  color:#dbe6ef;
  font-size:.54em;
  line-height:1.02;
  letter-spacing:-.035em;
}

.ice-landing .hero-world{
  inset:5% 1% 5% 49%;
  z-index:-1;
  border:1px solid rgba(165,199,230,.12);
  border-radius:28px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.035),transparent 30%),
    radial-gradient(circle at 54% 48%,rgba(47,128,255,.15),transparent 38%),
    linear-gradient(145deg,rgba(12,27,44,.86),rgba(3,8,14,.55));
  box-shadow:var(--ice-depth),inset 0 1px rgba(255,255,255,.05);
  transform:perspective(1500px) rotateY(-4deg);
  overflow:hidden;
}

.ice-landing .hero-world:after{
  content:"HIVE EVIDENCE";
  position:absolute;
  left:50%;
  top:57%;
  transform:translateX(-50%);
  color:var(--ice-cyan);
  font-size:10px;
  letter-spacing:.18em;
  opacity:.72;
}

.ice-landing .provider-world,
.ice-landing .customer-world{
  top:20%;
  width:38%;
  height:54%;
  border-color:rgba(165,199,230,.13);
  backdrop-filter:blur(9px);
}

.ice-landing .provider-world{left:-4%}
.ice-landing .customer-world{right:-4%}
.ice-landing .delivery-path{top:33%;width:72%}

.ice-landing .data-package{
  width:210px;
  height:118px;
  border-radius:10px;
  transform:rotateX(8deg) rotateY(-7deg) translateZ(45px);
}

.ice-landing .early-product-idea{
  max-width:610px;
  margin:16px 0;
  padding:14px 18px;
  border-color:rgba(114,215,239,.2);
  border-radius:12px;
  background:rgba(10,25,41,.62);
  backdrop-filter:blur(16px);
}

.ice-landing .story-section{
  min-height:min(900px,88svh);
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.ice-landing .poster-counts{
  grid-template-columns:1fr auto 1fr auto 1fr;
  gap:clamp(22px,4vw,70px);
  margin-top:clamp(54px,8vw,100px);
}

.ice-landing .poster-counts article,
.ice-landing .poster-counts article.active{
  min-height:0;
  padding:0;
  border:0;
  background:none;
  box-shadow:none;
}

.ice-landing .poster-counts b{
  font-size:clamp(92px,13vw,184px);
  font-weight:500;
  line-height:.72;
  letter-spacing:-.08em;
}

.ice-landing .poster-counts span{
  margin-top:28px;
  color:#b7c5d3;
  font-size:clamp(12px,1.1vw,15px);
}

.ice-landing .poster-counts>i{
  color:rgba(114,215,239,.55);
  font-size:34px;
}

.ice-landing .poster-conclusion{
  margin:clamp(50px,7vw,84px) 0 0;
  color:#fff;
  font-size:clamp(26px,4vw,52px);
  font-weight:500;
  letter-spacing:-.03em;
}

.ice-landing .review-scene{
  position:relative;
  border:1px solid rgba(165,199,230,.12);
  border-radius:18px;
  padding:26px;
  background:
    linear-gradient(120deg,rgba(255,255,255,.025),transparent 55%),
    rgba(6,15,25,.72);
  box-shadow:var(--ice-soft-shadow);
  overflow:hidden;
}

.ice-landing .review-scene:before{
  content:"";
  position:absolute;
  top:50%;
  left:14%;
  right:14%;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--ice-cyan),transparent);
  box-shadow:0 0 18px rgba(114,215,239,.28);
}

.ice-landing .review-party,
.ice-landing .review-question{
  position:relative;
  z-index:1;
  min-height:220px;
  border-radius:12px;
  backdrop-filter:blur(14px);
}

.ice-landing .customer-product{
  position:relative;
  overflow:hidden;
  color:#10283a;
  border:1px solid rgba(219,234,244,.72);
  border-radius:18px;
  background:linear-gradient(145deg,rgba(248,252,255,.98),rgba(220,232,240,.93));
  box-shadow:0 48px 130px rgba(0,0,0,.5),0 1px 0 rgba(255,255,255,.8) inset;
  transform:perspective(1100px) rotateY(-4deg) rotateX(1deg);
}

.ice-landing .customer-product:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(120deg,rgba(255,255,255,.7),transparent 28%,transparent 72%,rgba(114,215,239,.08));
}

.ice-landing .customer-product header,
.ice-landing .customer-product footer,
.ice-landing .customer-result div{border-color:rgba(15,54,79,.14)}
.ice-landing .customer-product header span{color:#245b76}
.ice-landing .customer-product header strong{color:#10283a}
.ice-landing .customer-result span{color:#5a7283}
.ice-landing .customer-result strong{color:#10283a}
.ice-landing .customer-result div:nth-child(2) strong,
.ice-landing .customer-result div:nth-child(3) strong{
  font-size:clamp(42px,5vw,68px);
  line-height:1;
}
.ice-landing .customer-product footer{color:#526b7d}

.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .7s ease,transform .8s cubic-bezier(.16,1,.3,1);
}
.reveal.is-visible{opacity:1;transform:none}

/* Guided demo */
.ice-demo{
  background:
    radial-gradient(circle at 72% 12%,rgba(47,128,255,.08),transparent 28%),
    #070b10;
}

.ice-demo main{padding-bottom:150px}

.ice-demo .scene{
  min-height:calc(100svh - 210px);
  justify-content:flex-start;
}

.ice-demo .scene-copy h1,
.ice-demo .scene-copy h2{
  max-width:900px;
  font-size:clamp(46px,5.7vw,78px);
  line-height:.98;
}

.ice-demo .request-stage,
.ice-demo .event-stream,
.ice-demo .count-split,
.ice-demo .view-panel,
.ice-demo .conflict-stage{
  box-shadow:var(--ice-soft-shadow);
}

.ice-demo .count-split{
  border:0;
  border-left:1px solid rgba(114,215,239,.25);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.ice-demo .count-split article{
  grid-template-columns:64px minmax(0,1fr);
}

.ice-demo .count-split strong{
  font-size:clamp(42px,5vw,66px);
}

.ice-demo .why-box{
  position:relative;
  max-width:780px;
  padding:20px 26px;
  border:0;
  border-left:1px solid var(--ice-cyan);
  border-radius:0;
  background:linear-gradient(90deg,rgba(47,128,255,.08),transparent);
  box-shadow:none;
}

.ice-demo .customer-panel{
  position:relative;
  width:min(100%,980px);
  margin:0 auto;
  padding:clamp(28px,4vw,54px);
  overflow:hidden;
  border:1px solid rgba(229,241,248,.9);
  border-radius:18px;
  background:linear-gradient(145deg,#f8fbfd,#dce8ef);
  box-shadow:0 46px 120px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.9);
}

.ice-demo .customer-panel:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(115deg,rgba(255,255,255,.75),transparent 28%,transparent 72%,rgba(57,134,183,.07));
}

.ice-demo .customer-panel>*{position:relative}

.ice-demo .customer-hero{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:end;
}

.ice-demo .customer-hero span,
.ice-demo .customer-hero p{grid-column:1}
.ice-demo .customer-hero strong{
  grid-column:2;
  grid-row:1/3;
  font-size:clamp(72px,10vw,124px);
  letter-spacing:-.08em;
}

.ice-demo .conflict-stage{
  border-color:rgba(231,174,63,.28);
  border-radius:18px;
}

.ice-demo .conflict-connection{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:1fr minmax(220px,.65fr) 1fr;
  align-items:stretch;
  min-height:230px;
}

.ice-demo .conflict-side{
  display:flex;
  flex-direction:column;
  justify-content:center;
  text-align:center;
}

.ice-demo .conflict-side:nth-of-type(3){border:0}

.ice-demo .conflict-side strong{
  margin-top:16px;
  font-size:clamp(24px,3vw,44px);
}

.ice-demo .fracture{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
}

.ice-demo .fracture i{
  position:absolute;
  top:50%;
  left:-24%;
  right:-24%;
  height:2px;
  background:linear-gradient(90deg,var(--ice-amber) 0 45%,transparent 45% 55%,var(--ice-amber) 55%);
  box-shadow:0 0 16px rgba(231,174,63,.25);
}

.ice-demo .fracture span,
.ice-demo .fracture b{
  position:relative;
  padding:5px 10px;
  background:#07101a;
}

.ice-demo .fracture span{
  color:var(--ice-amber);
  font-size:12px;
  letter-spacing:.14em;
}

.ice-demo .fracture b{
  color:#fff;
  font-size:13px;
  letter-spacing:.08em;
}

.ice-demo .conflict-connection.restored .fracture i{
  background:var(--ice-cyan);
  box-shadow:0 0 18px rgba(114,215,239,.35);
}

.ice-demo .conflict-connection.restored .fracture span{color:var(--ice-cyan)}

.demo-narrator{
  width:100%;
  margin:0 0 clamp(26px,4vw,48px);
  padding:14px 0 16px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(24px,4vw,56px);
  border-top:1px solid rgba(165,199,230,.12);
  border-bottom:1px solid rgba(165,199,230,.12);
  background:linear-gradient(90deg,rgba(47,128,255,.035),transparent);
}

.demo-narrator div+div{padding-left:clamp(24px,4vw,56px);border-left:1px solid rgba(165,199,230,.12)}
.demo-narrator span{display:block;color:var(--ice-cyan);font-size:9px;font-weight:700;letter-spacing:.16em}
.demo-narrator p{margin:5px 0 0;color:#b8c5d0;font-size:13px;line-height:1.42}

/* Pilot */
.ice-pilot .pilot-page{padding-top:54px}

.ice-pilot .pilot-hero{
  min-height:82svh;
  grid-template-columns:1.15fr .85fr;
  align-items:center;
  position:relative;
}

.ice-pilot .pilot-hero:before{
  content:"";
  position:absolute;
  inset:8% -10% 5% 42%;
  z-index:-1;
  background:radial-gradient(circle,rgba(47,128,255,.13),transparent 62%);
  filter:blur(24px);
}

.ice-pilot .pilot-hero h1{
  max-width:820px;
  font-size:clamp(58px,7.2vw,104px);
  line-height:.9;
}

.ice-pilot .pilot-hero .day{
  margin:58px 0 0;
  color:#fff;
  font-size:clamp(94px,13vw,180px);
  opacity:.96;
}

.ice-pilot .pilot-hero-copy{
  padding:0 0 0 34px;
  border:0;
  border-left:1px solid rgba(114,215,239,.34);
  background:none;
  box-shadow:none;
}

.ice-pilot .pilot-hero-label{
  color:var(--ice-cyan);
  font-size:11px;
  font-weight:700;
  letter-spacing:.16em;
}

.ice-pilot .pilot-hero-copy h2{
  margin:16px 0 24px;
  font-size:clamp(32px,4vw,52px);
  line-height:1.05;
}

.ice-pilot .pilot-phase .phase-verb{
  display:block;
  margin:26px 0 16px;
  color:#fff;
  font-size:clamp(38px,4vw,58px);
  font-weight:500;
  letter-spacing:-.045em;
}

.ice-pilot .pilot-phase h3{
  margin-top:0;
  color:#b8c5d2;
  font-size:18px;
}

.ice-pilot .deliverable-grid article{
  background:linear-gradient(145deg,rgba(12,27,43,.62),rgba(5,11,18,.55));
}

.ice-pilot .simulation-shell{
  padding:clamp(26px,4vw,52px);
  border-radius:20px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.025),transparent 40%),
    linear-gradient(155deg,rgba(8,20,34,.98),rgba(3,8,14,.98));
}

.ice-pilot .evidence-river:before{
  content:"";
  position:absolute;
  left:19%;
  right:19%;
  top:50%;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--ice-cyan),transparent);
  box-shadow:0 0 22px rgba(114,215,239,.3);
}

.ice-pilot .river-event,
.ice-pilot .evidence-envelope{position:relative}

.ice-pilot .pilot-snapshot{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  margin-top:74px;
  border:1px solid var(--line);
  background:var(--line);
}

.ice-pilot .pilot-snapshot article{
  min-height:250px;
  padding:26px;
  display:flex;
  flex-direction:column;
  background:#07111d;
}

.ice-pilot .pilot-snapshot span{
  color:#b9c8d5;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
}

.ice-pilot .pilot-snapshot strong{
  display:block;
  margin:auto 0 18px;
  color:#fff;
  font-size:clamp(48px,5.8vw,76px);
  font-weight:500;
  line-height:.9;
  letter-spacing:-.055em;
}

.ice-pilot .pilot-snapshot .measured-later{
  max-width:190px;
  font-size:clamp(24px,2.4vw,34px);
  line-height:1.02;
  letter-spacing:-.03em;
}

.ice-pilot .pilot-snapshot .needs-review strong{color:var(--ice-amber)}
.ice-pilot .pilot-snapshot p{margin:0;color:var(--muted);font-size:14px}
.ice-pilot .pilot-snapshot small{margin-top:18px;color:var(--green);font-size:9px;letter-spacing:.1em}

.ice-pilot .dashboard-details{
  margin-top:18px;
  border-top:1px solid var(--line);
}

.ice-pilot .dashboard-details summary{
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  cursor:pointer;
  list-style:none;
  color:#aec0cf;
  font-size:13px;
}

.ice-pilot .dashboard-details summary::-webkit-details-marker{display:none}
.ice-pilot .dashboard-details[open] summary b{transform:rotate(90deg)}
.ice-pilot .question-dashboard{margin-top:20px}

@media(max-width:980px){
  .ice-landing .hero{align-items:flex-end}
  .ice-landing .hero-copy{padding:360px 0 58px}
  .ice-landing .hero-world{inset:20px 18px auto;height:320px;transform:none}
  .ice-landing .hero h1{max-width:820px}
  .ice-landing .poster-counts{gap:18px}
  .ice-pilot .pilot-snapshot{grid-template-columns:1fr 1fr}
  .ice-demo main{padding-bottom:var(--space16)}
}

@media(max-width:650px){
  .ice-landing .hero{min-height:auto}
  .ice-landing .hero-copy{padding:320px 0 60px}
  .ice-landing .hero h1{font-size:50px}
  .ice-landing .hero h1 span{font-size:.58em}
  .ice-landing .hero-world{height:276px}
  .ice-landing .provider-world,.ice-landing .customer-world{top:13%;height:205px}
  .ice-landing .delivery-path{top:22%;width:78%}
  .ice-landing .hero-world:after{top:66%}
  .ice-landing .story-section{min-height:auto}
  .ice-landing .poster-counts{grid-template-columns:1fr;gap:20px}
  .ice-landing .poster-counts article{align-items:center;text-align:center}
  .ice-landing .poster-counts b{font-size:110px}
  .ice-landing .poster-counts span{margin-top:18px}
  .ice-landing .poster-counts>i{transform:rotate(90deg);font-size:22px}
  .ice-landing .poster-conclusion{text-align:center}
  .ice-landing .review-scene{padding:14px}
  .ice-landing .customer-product{transform:none}

  .ice-demo .scene-copy h1,
  .ice-demo .scene-copy h2{font-size:clamp(36px,10vw,50px)}
  .demo-narrator{grid-template-columns:1fr;gap:12px}
  .demo-narrator div+div{padding:12px 0 0;border-left:0;border-top:1px solid rgba(165,199,230,.12)}
  .ice-demo .count-split{padding:16px 0;border-left:0;border-top:1px solid rgba(114,215,239,.25)}
  .ice-demo .customer-hero{display:block}
  .ice-demo .customer-hero strong{font-size:76px}
  .ice-demo .conflict-connection{grid-template-columns:1fr;min-height:0}
  .ice-demo .fracture{min-height:120px}
  .ice-demo .fracture i{top:50%;left:14%;right:14%;transform:rotate(-4deg)}

  .ice-pilot .pilot-hero{min-height:auto;grid-template-columns:1fr}
  .ice-pilot .pilot-hero:before{right:0}
  .ice-pilot .pilot-hero h1{font-size:52px}
  .ice-pilot .pilot-hero-copy{padding:28px 0 0;border-left:0;border-top:1px solid rgba(114,215,239,.34)}
  .ice-pilot .pilot-snapshot{grid-template-columns:1fr}
  .ice-pilot .pilot-snapshot article{min-height:220px}
}

@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .ice-landing .data-package{animation:none}
}
