
:root{
  --bg:#07111f;--panel:#0d1a2d;--panel2:#11223a;--blue:#2563eb;--cyan:#22d3ee;
  --text:#f8fafc;--muted:#9aa9bc;--line:rgba(255,255,255,.14);
  --ease:cubic-bezier(.22,1,.36,1)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
.scene02-unused-body{margin:0;background:linear-gradient(180deg,#07111f,#091725 58%,#07111f);color:var(--text);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
.scene02-unused-img{display:block;width:100%;height:100%;object-fit:cover}
.scene02-unused-header{position:fixed;z-index:50;inset:0 0 auto;display:flex;justify-content:space-between;align-items:center;padding:18px 30px;background:rgba(7,17,31,.72);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.scene02-unused-header-.scene02-unused-img{width:112px;height:auto}
.scene02-unused-header-span{font-size:11px;letter-spacing:.18em;color:var(--muted)}
.scene02__hero{min-height:100vh;position:relative;display:grid;align-items:end;overflow:hidden}
.scene02__hero-media{position:absolute;inset:0}
.scene02__hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,17,31,.95),rgba(7,17,31,.34) 62%,rgba(7,17,31,.16)),linear-gradient(0deg,rgba(7,17,31,.93),transparent 56%)}
.scene02__hero-media .scene02-unused-img{animation:zoom 18s linear infinite alternate}
@keyframes zoom{to{transform:scale(1.035)}}
.scene02__hero-copy{position:relative;z-index:2;max-width:1400px;width:100%;margin:auto;padding:160px 32px 82px}
.eyebrow{color:var(--cyan);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.22em}
h1{font-size:clamp(66px,10vw,150px);line-height:.84;letter-spacing:-.068em;margin:18px 0 26px}
.scene02__hero-copy p{max-width:710px;font-size:20px;line-height:1.75;color:#d2dbe7}
.question{margin-top:34px;color:var(--muted);font-size:14px;letter-spacing:.12em}
.scene02__section{padding:120px 30px;max-width:1400px;margin:auto}
.scene02__section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:44px}
.scene02__section-head h2{margin:0;font-size:clamp(48px,7vw,96px);line-height:.92;letter-spacing:-.055em}
.scene02__section-head p{max-width:590px;color:var(--muted);line-height:1.75}
.scene02__explorer{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(390px,.65fr);min-height:680px;border:1px solid var(--line);border-radius:28px;overflow:hidden;background:linear-gradient(145deg,#0a1626,#0d1b2f)}
.scene02__stage{position:relative;min-height:680px;overflow:hidden}
.scene02__stage .scene02-unused-img{position:absolute;inset:0;transition:opacity .18s var(--ease),transform .8s var(--ease)}
.scene02__stage img.changing{opacity:.18;transform:scale(1.025)}
.scene02__stage:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,17,31,.08),rgba(7,17,31,.18) 45%,rgba(7,17,31,.94)),linear-gradient(90deg,rgba(7,17,31,.72),transparent 64%)}
.scene02__stage-copy{position:absolute;z-index:2;left:44px;right:44px;bottom:44px;max-width:720px}
.scene02__stage-copy h3{font-size:clamp(48px,6vw,86px);line-height:.95;letter-spacing:-.06em;margin:14px 0 18px}
.scene02__stage-copy p{font-size:18px;line-height:1.72;color:#d6dfeb}
.scene02__timeline{padding:42px 30px;background:linear-gradient(180deg,#102039,#0d1a2d)}
.scene02__timeline h3{font-size:31px;line-height:1.15;margin:12px 0 30px}
.scene02__events{display:grid;gap:12px}
.scene02__event{display:grid;grid-template-columns:48px minmax(0,1fr) 108px;align-items:center;gap:13px;min-height:96px;padding:10px 10px 10px 15px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.025);color:var(--text);text-align:left;cursor:pointer;transition:border-color .22s,background .22s,transform .22s}
.scene02__event:hover,.scene02__event.active{border-color:var(--blue);background:rgba(37,99,235,.09);transform:translateY(-1px)}
.scene02__event b{color:var(--blue);font-size:12px}
.scene02__event strong{display:block;font-size:15px;margin-bottom:5px}
.scene02__event small{color:var(--muted);font-size:12px;line-height:1.45}
.scene02__event .scene02-unused-img{height:70px;border-radius:10px}
.scene02__process{padding:120px 30px;max-width:1400px;margin:auto}
.scene02__process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.scene02__process-card{position:relative;height:380px;border-radius:24px;overflow:hidden;border:1px solid var(--line)}
.scene02__process-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,17,31,.92),transparent 62%)}
.scene02__process-card div{position:absolute;z-index:2;left:24px;bottom:22px}
.scene02__process-card b{display:block;color:var(--cyan);font-size:12px;letter-spacing:.16em;margin-bottom:8px}
.scene02__process-card h3{margin:0;font-size:32px}
.scene02__transition{min-height:70vh;display:grid;place-items:center;text-align:center;background:radial-gradient(circle at 50% 42%,rgba(37,99,235,.24),transparent 30%)}
.scene02__transition h2{font-size:clamp(62px,9vw,130px);line-height:.88;letter-spacing:-.065em;margin:14px 0 54px}
.scene02__transition p{margin:0;color:var(--muted);font-size:17px}
footer{padding:28px 30px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}
@media(max-width:1000px){.scene02__explorer{grid-template-columns:1fr}.scene02__stage{min-height:580px}.scene02__section-head{display:block}.scene02__section-head p{margin-top:18px}.scene02__process-grid{grid-template-columns:1fr}}
@media(max-width:680px){.scene02__hero-copy,.scene02__section,.scene02__process{padding-left:20px;padding-right:20px}.scene02__stage-copy{left:24px;right:24px;bottom:28px}.scene02__timeline{padding:34px 20px}.scene02__event{grid-template-columns:40px 1fr 82px}.scene02__event .scene02-unused-img{height:58px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition-duration:.001ms!important}}

.scene02{position:relative;min-height:100vh;border-top:1px solid var(--osof-line)}


/* Scene 02 integration fix */
.scene02__hero{
  min-height:100vh;
  position:relative;
  display:grid;
  align-items:end;
  overflow:hidden;
}
.scene02__hero-media{
  position:absolute;
  inset:0;
}
.scene02__hero-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  animation:zoom 18s linear infinite alternate;
}
.scene02__copy{
  position:relative;
  z-index:2;
  width:100%;
  max-width:1400px;
  margin:auto;
  padding:160px 32px 82px;
}
.scene02__copy h2{
  margin:18px 0 26px;
  font-size:clamp(66px,10vw,150px);
  line-height:.84;
  letter-spacing:-.068em;
}
.scene02__copy p{
  max-width:710px;
  color:#d2dbe7;
  font-size:20px;
  line-height:1.75;
}
.scene02__head{
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:end;
  margin-bottom:44px;
}
.scene02__head h2{
  margin:0;
  font-size:clamp(48px,7vw,96px);
  line-height:.92;
  letter-spacing:-.055em;
}
.scene02__head p{
  max-width:590px;
  color:var(--muted);
  line-height:1.75;
}
.scene02__stage img{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:opacity .18s var(--ease),transform .8s var(--ease);
}
.scene02__event img{
  display:block;
  width:108px;
  height:70px;
  object-fit:cover;
  border-radius:10px;
}
.scene02__process-card img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
@media(max-width:1000px){
  .scene02__head{display:block}
  .scene02__head p{margin-top:18px}
}
@media(max-width:680px){
  .scene02__copy{padding-left:20px;padding-right:20px}
  .scene02__event img{width:82px;height:58px}
}


/* RC9 — Learning to Building bridge */
.scene02__transition{
  min-height:58vh;
  padding:110px 30px;
  background:
    radial-gradient(circle at 50% 44%,rgba(37,99,235,.18),transparent 32%),
    var(--osof-bg);
}
.scene02__bridge{
  max-width:1050px;
  margin:auto;
  text-align:center;
}
.scene02__bridge h2{
  margin:18px 0 28px;
  font-size:clamp(46px,6.2vw,92px);
  line-height:.94;
  letter-spacing:-.06em;
}
.scene02__bridge p{
  margin:0;
  color:#94a3b8;
  font-size:18px;
  line-height:1.7;
}
@media(max-width:680px){
  .scene02__transition{padding-left:20px;padding-right:20px}
}


/* RC15.6 — Shared transition rhythm
   Divider = punctuation mark closing the previous scene. */
:root{
  --osof-transition-close:72px;
  --osof-transition-open:64px;
  --osof-transition-line:rgba(148,163,184,.22);
}

.scene02__transition{
  min-height:0 !important;
  display:flex !important;
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-start;
  padding:clamp(74px,8vh,108px) 0 0 !important;
  text-align:center;
}
.scene02__bridge{
  width:min(1180px,92vw);
  margin:0 auto !important;
}
.scene02__transition::after{
  content:"";
  display:block;
  width:100%;
  height:1px;
  margin-top:var(--osof-transition-close);
  background:var(--osof-transition-line);
  flex:0 0 auto;
}

/* The divider now belongs to Scene 02, so Scene 03 does not draw another top line. */
.scene03{
  border-top:0 !important;
}
.scene03__hero{
  padding-top:var(--osof-transition-open);
}


/* RC15.7 — Full-bleed closing divider */
.scene02__transition::after{
  width:100vw !important;
  margin-left:calc(50% - 50vw);
}


/* RC15.9 — Learning Together hero spacing
   Match the breathing room established by Building Together. */
.scene02__copy > h2{
  margin-bottom:clamp(34px,3.1vw,44px) !important;
}
.scene02__copy > h2 + p{
  margin-top:0 !important;
}
.scene02__copy > p + .question{
  margin-top:clamp(26px,2.2vw,30px) !important;
}


/* RC15.13 — Supporting Korean copy uses the same bright white tone */
.scene02__copy > p{
  color:#e4edf6 !important;
}
