/* DATA C0RE — Realtime Studies v2
   Four-screen research case study. Two existing videos, each used once. */

.realtime-page main article{overflow:clip}

.realtime-page .project-hero,
.realtime-page .project-section{
  width:min(var(--max),100%);
  margin:0 auto;
}

/* HERO ------------------------------------------------------------------ */
.realtime-page .project-hero{
  padding:calc(var(--header) + clamp(30px,4vh,54px)) var(--gutter) clamp(34px,4vh,54px);
}

.realtime-hero-grid{
  min-height:calc(100svh - var(--header) - clamp(64px,8vh,108px));
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr);
  gap:clamp(34px,5vw,84px);
  align-items:stretch;
}

.realtime-hero-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.realtime-page .realtime-hero-copy h1{
  margin:10px 0 0;
  max-width:900px;
  font-size:clamp(66px,8.2vw,132px);
  line-height:.84;
  letter-spacing:-.072em;
}

.realtime-hero-copy .project-intent{
  max-width:690px;
  margin:clamp(28px,4vh,48px) 0 0;
  color:#c5c3bd;
  font-size:clamp(17px,1.35vw,22px);
  line-height:1.48;
}

.realtime-hero-meta{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin-top:auto;
  padding-top:clamp(32px,4vh,54px);
  border-top:1px solid var(--line);
}

.realtime-hero-meta span{
  min-width:0;
  padding:0 13px;
  border-right:1px solid var(--line);
  color:var(--grey);
  font-size:8px;
  line-height:1.35;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.realtime-hero-meta span:first-child{padding-left:0}
.realtime-hero-meta span:last-child{border-right:0}
.realtime-hero-meta b{display:block;margin-bottom:7px;color:var(--paper);font-size:10px}

.realtime-hero-still{
  position:relative;
  min-height:0;
  margin:0;
  overflow:hidden;
  background:#020202;
  border-left:1px solid var(--line);
}
.realtime-hero-still::after{
  content:"A / MATERIAL STATE";
  position:absolute;
  left:14px;
  bottom:13px;
  z-index:2;
  padding:6px 8px;
  background:rgba(7,7,7,.76);
  color:var(--paper);
  font-size:8px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.realtime-hero-still img{
  display:block;
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover;
  object-position:center;
  filter:saturate(.9) contrast(1.04);
}

/* STUDIES --------------------------------------------------------------- */
.realtime-study{
  border-top:1px solid var(--line);
  padding:calc(var(--header) + clamp(22px,3vh,38px)) var(--gutter) clamp(26px,3vh,40px);
}

.realtime-study-layout{
  min-height:calc(100svh - var(--header) - clamp(54px,7vh,84px));
  display:grid;
  grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);
  gap:clamp(30px,4.7vw,76px);
  align-items:center;
}
.realtime-study--cellular .realtime-study-layout{grid-template-columns:minmax(0,1.28fr) minmax(300px,.72fr)}
.realtime-study--cellular .realtime-study-copy{order:2}
.realtime-study--cellular .realtime-study-media{order:1}

.realtime-study-copy{min-width:0}
.realtime-study-index{
  margin:0 0 16px;
  color:var(--acid);
  font-size:9px;
  font-weight:800;
  line-height:1;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.realtime-study-copy h2{
  max-width:700px;
  margin:0;
  font-size:clamp(46px,5.25vw,82px);
  line-height:.9;
  letter-spacing:-.058em;
}
.realtime-study-copy>p:not(.realtime-study-index){
  max-width:600px;
  margin:clamp(22px,3vh,34px) 0 0;
  color:#bbb9b3;
  font-size:clamp(14px,1.05vw,17px);
  line-height:1.52;
}

.realtime-study-facts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin-top:clamp(28px,4vh,42px);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.realtime-study-facts div{padding:12px 12px 12px 0;border-bottom:1px solid var(--line)}
.realtime-study-facts div:nth-child(odd){border-right:1px solid var(--line)}
.realtime-study-facts div:nth-child(even){padding-left:12px}
.realtime-study-facts div:nth-last-child(-n+2){border-bottom:0}
.realtime-study-facts strong{display:block;color:var(--paper);font-size:11px;line-height:1.15}
.realtime-study-facts span{display:block;margin-top:6px;color:var(--grey);font-size:8px;line-height:1.35;letter-spacing:.07em;text-transform:uppercase}

.realtime-study-media{
  position:relative;
  min-width:0;
  margin:0;
  background:#020202;
  overflow:hidden;
}
.realtime-study-media video{
  display:block;
  width:100%;
  height:min(68vh,700px);
  min-height:420px;
  object-fit:cover;
  background:#020202;
}
.realtime-study-media figcaption{
  position:absolute;
  left:0;right:0;bottom:0;
  padding:12px 14px;
  background:linear-gradient(180deg,transparent,rgba(7,7,7,.86));
  color:#d1cfc9;
  font-size:8.5px;
  line-height:1.35;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* SYSTEM / STATES ------------------------------------------------------- */
.realtime-states{
  border-top:1px solid var(--line);
  padding:calc(var(--header) + clamp(20px,3vh,34px)) var(--gutter) clamp(26px,3vh,40px);
}
.realtime-states-shell{
  min-height:calc(100svh - var(--header) - clamp(50px,7vh,76px));
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  gap:clamp(18px,2.5vh,28px);
}
.realtime-states-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);
  gap:clamp(30px,5vw,76px);
  align-items:end;
}
.realtime-states-head h2{
  margin:0;
  max-width:850px;
  font-size:clamp(46px,5.4vw,84px);
  line-height:.9;
  letter-spacing:-.058em;
}
.realtime-states-head p{
  max-width:580px;
  margin:0;
  color:#bbb9b3;
  font-size:clamp(14px,1.05vw,17px);
  line-height:1.5;
}

.realtime-state-pair{
  min-height:0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.realtime-state-card{
  position:relative;
  min-height:0;
  margin:0;
  overflow:hidden;
  background:#020202;
}
.realtime-state-card img{
  display:block;
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover;
}
.realtime-state-card figcaption{
  position:absolute;
  left:0;right:0;bottom:0;
  padding:30px 14px 12px;
  background:linear-gradient(180deg,transparent,rgba(7,7,7,.9));
  color:var(--paper);
  font-size:8.5px;
  line-height:1.3;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.realtime-signal-flow{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.realtime-signal-flow div{position:relative;padding:12px 30px 12px 12px;border-right:1px solid var(--line)}
.realtime-signal-flow div:first-child{padding-left:0}
.realtime-signal-flow div:last-child{border-right:0}
.realtime-signal-flow div:not(:last-child)::after{content:"→";position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--cyan);font-size:12px}
.realtime-signal-flow b{display:block;color:var(--paper);font-size:9px;text-transform:uppercase;letter-spacing:.08em}
.realtime-signal-flow span{display:block;margin-top:5px;color:var(--grey);font-size:8px;line-height:1.3;text-transform:uppercase;letter-spacing:.065em}

/* FULLPAGE PROJECT CONTROLLER ------------------------------------------ */
@media(min-width:821px) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  body.fullpage-realtime .project-hero.fullpage-panel,
  body.fullpage-realtime .project-section.fullpage-panel{
    height:100svh!important;
    min-height:680px!important;
    display:block!important;
    align-content:initial!important;
    overflow:hidden;
  }
  body.fullpage-realtime .project-hero.fullpage-panel{
    padding:calc(var(--header) + 22px) var(--gutter) 22px!important;
  }
  body.fullpage-realtime .project-hero.fullpage-panel .realtime-hero-grid{
    height:calc(100svh - var(--header) - 44px);
    min-height:0;
  }
  body.fullpage-realtime .project-hero.fullpage-panel .realtime-hero-copy h1{
    font-size:clamp(58px,7.35vw,116px)!important;
    line-height:.84!important;
  }
  body.fullpage-realtime .project-section.fullpage-panel{
    padding:calc(var(--header) + 22px) var(--gutter) 24px!important;
  }
  body.fullpage-realtime .realtime-study-layout,
  body.fullpage-realtime .realtime-states-shell{
    height:calc(100svh - var(--header) - 46px);
    min-height:0;
  }
  body.fullpage-realtime .realtime-study-media video{height:min(66vh,680px);min-height:0}
}

@media(max-height:780px) and (min-width:821px) and (pointer:fine){
  body.fullpage-realtime .project-hero.fullpage-panel,
  body.fullpage-realtime .project-section.fullpage-panel{padding-top:calc(var(--header) + 14px)!important;padding-bottom:14px!important}
  body.fullpage-realtime .project-hero.fullpage-panel .realtime-hero-grid{height:calc(100svh - var(--header) - 28px)}
  body.fullpage-realtime .realtime-study-layout,
  body.fullpage-realtime .realtime-states-shell{height:calc(100svh - var(--header) - 28px)}
  .realtime-study-copy h2,.realtime-states-head h2{font-size:clamp(38px,4.6vw,66px)}
  .realtime-study-copy>p:not(.realtime-study-index),.realtime-states-head p{font-size:13px;line-height:1.42}
  .realtime-study-facts{margin-top:20px}
  .realtime-study-media video{height:min(61vh,560px)}
  .realtime-states-shell{gap:14px}
}

/* TABLET / MOBILE: native document flow, no magnetic viewport lock. */
@media(max-width:900px){
  .realtime-page .project-hero,.realtime-page .project-section{width:100%}
  .realtime-page .project-hero{padding:calc(var(--header) + 34px) var(--gutter) 54px}
  .realtime-hero-grid{min-height:0;grid-template-columns:1fr;gap:34px}
  .realtime-page .realtime-hero-copy h1{font-size:clamp(58px,12vw,96px);line-height:.88}
  .realtime-hero-copy .project-intent{margin-top:24px;max-width:720px}
  .realtime-hero-meta{margin-top:34px;padding-top:20px;grid-template-columns:repeat(2,1fr);row-gap:18px}
  .realtime-hero-meta span:nth-child(2){border-right:0}
  .realtime-hero-still{height:min(72vh,760px);border-left:0}

  .realtime-study,.realtime-states{padding:calc(var(--header) + 34px) var(--gutter) 58px}
  .realtime-study-layout,.realtime-study--cellular .realtime-study-layout{min-height:0;grid-template-columns:1fr;gap:32px}
  .realtime-study--cellular .realtime-study-copy,.realtime-study--cellular .realtime-study-media{order:initial}
  .realtime-study-copy h2,.realtime-states-head h2{font-size:clamp(44px,8.5vw,72px);line-height:.94}
  .realtime-study-media video{height:auto;min-height:0;max-height:72vh;aspect-ratio:16/10;object-fit:cover}

  .realtime-states-shell{min-height:0;display:block}
  .realtime-states-head{grid-template-columns:1fr;gap:22px;margin-bottom:30px}
  .realtime-state-pair{grid-template-columns:1fr 1fr;height:min(62vh,620px)}
  .realtime-signal-flow{margin-top:24px;grid-template-columns:repeat(2,1fr)}
  .realtime-signal-flow div:nth-child(2){border-right:0}
  .realtime-signal-flow div:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .realtime-signal-flow div:nth-child(2)::after{display:none}
}

@media(max-width:620px){
  .realtime-page .project-hero,.realtime-study,.realtime-states{padding-left:18px;padding-right:18px}
  .realtime-page .project-hero{padding-top:calc(var(--header) + 26px)}
  .realtime-page .realtime-hero-copy h1{font-size:clamp(50px,15vw,72px)}
  .realtime-hero-copy .project-intent{font-size:16px}
  .realtime-hero-meta{grid-template-columns:1fr}
  .realtime-hero-meta span,.realtime-hero-meta span:first-child{padding:10px 0;border-right:0;border-bottom:1px solid var(--line)}
  .realtime-hero-meta span:last-child{border-bottom:0}
  .realtime-hero-still{height:72vh;max-height:700px}

  .realtime-study,.realtime-states{padding-top:calc(var(--header) + 26px);padding-bottom:48px}
  .realtime-study-copy h2,.realtime-states-head h2{font-size:clamp(40px,12vw,58px);line-height:.97}
  .realtime-study-copy>p:not(.realtime-study-index),.realtime-states-head p{font-size:15px}
  .realtime-study-facts{grid-template-columns:1fr}
  .realtime-study-facts div,.realtime-study-facts div:nth-child(odd),.realtime-study-facts div:nth-child(even){padding:11px 0;border-right:0;border-bottom:1px solid var(--line)}
  .realtime-study-facts div:last-child{border-bottom:0}
  .realtime-study-media video{aspect-ratio:4/3;max-height:none}

  .realtime-state-pair{grid-template-columns:1fr;height:auto;gap:12px}
  .realtime-state-card{height:min(68vh,620px)}
  .realtime-signal-flow{grid-template-columns:1fr}
  .realtime-signal-flow div,.realtime-signal-flow div:first-child{padding:11px 28px 11px 0;border-right:0;border-bottom:1px solid var(--line)}
  .realtime-signal-flow div:last-child{border-bottom:0}
  .realtime-signal-flow div:not(:last-child)::after{display:block}
}
