/* A living field of intelligence, with no physical product exhibits. */
.core-section {
  position:relative;
  isolation:isolate;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  flex-direction:column;
  height:100dvh;
  min-height:100dvh;
  padding:calc(var(--nav-height) + 35px) var(--journey-pad) 190px;
  overflow:hidden;
  background:#080f0e;
  color:var(--journey-ink);
  font-family:var(--sans);
}
.core-section::before {
  content:'';
  position:absolute;
  z-index:-1;
  inset:0;
  pointer-events:none;
  background:radial-gradient(ellipse at 72% 44%,#27362d36,transparent 53%),linear-gradient(135deg,#101b1800 50%,#13231e45);
}
.core-atmosphere { position:absolute; inset:calc(var(--nav-height) + 10px) -5% 15% 27%; pointer-events:none; }
.core-canvas { position:absolute; inset:0; display:block; width:100%; height:100%; }
.core-static { position:absolute; inset:18% 18% 18%; border-radius:50%; background:radial-gradient(circle,#f8deb524,transparent 65%); }
.core-static i { position:absolute; inset:17%; border:1px solid #d4ac7870; border-radius:50%; box-shadow:0 0 50px #d7a46620,inset 0 0 50px #d7a46615; }
.core-static i:nth-child(2) { inset:3%; transform:rotate(-25deg) scaleY(.7); border-color:#d4ac782e; }
.core-static i:nth-child(3) { inset:-13%; transform:rotate(30deg) scaleY(.65); border-color:#97b7ad1e; }
.core-atmosphere.is-rendered .core-static { display:none; }
.core-vision-copy { position:relative; z-index:1; width:43%; max-width:630px; margin:0; }
.core-vision-copy .chapter-label { margin:0 0 clamp(26px,4dvh,50px); }
.core-vision-copy h2 { margin:0 0 clamp(25px,4dvh,48px); font-size:clamp(4.5rem,min(8.6vw,14dvh),11.5rem); font-weight:400; line-height:.93; letter-spacing:-.065em; white-space:nowrap; }
.core-vision-copy h2 > span { color:var(--journey-accent); }
.core-tagline { max-width:16ch; margin:0 0 22px; font-size:clamp(1.75rem,2.65vw,3.125rem); font-weight:400; line-height:1.12; letter-spacing:-.035em; text-wrap:balance; }
.core-description { max-width:35ch; margin:0; color:#a9b6ad; font-size:clamp(1rem,1.12vw,1.1875rem); line-height:1.7; text-wrap:pretty; }
.core-vision-copy .journey-link { margin-top:28px; min-height:48px; font-size:.9375rem; }
.core-horizon { position:absolute; left:var(--journey-pad); right:var(--journey-pad); bottom:clamp(28px,4.5dvh,64px); display:grid; grid-template-columns:minmax(0,1fr) auto; gap:clamp(40px,7vw,140px); align-items:end; }
.core-sequence { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; max-width:980px; }
.core-sequence button { --core-progress:0; position:relative; padding:22px 0 0; min-height:87px; border:0; border-top:1px solid #a3b1a92b; border-radius:0; background:transparent; color:#8b9b91; text-align:left; font-family:var(--sans); cursor:pointer; }
.core-sequence button > span { display:block; font-size:clamp(1rem,1.35vw,1.375rem); line-height:1.3; letter-spacing:-.015em; }
.core-sequence button > small { display:block; margin-top:8px; color:#8d9c92; font-size:.8125rem; line-height:1.5; }
.core-sequence button > i { position:absolute; top:-1px; left:0; right:0; height:1px; transform:scaleX(var(--core-progress)); transform-origin:left center; background:#e8bd81; }
.core-sequence button[aria-pressed=true] { color:#eaca9e; border-top-color:#c69c675e; }
.core-sequence button[aria-pressed=true] > small { color:#c0c8bd; }
.core-sequence button:hover { color:#f6dfba; }
.core-sequence button:focus-visible, .core-motion:focus-visible { outline:2px solid var(--journey-accent); outline-offset:6px; }
.core-outlook { display:flex; align-items:center; gap:30px; padding-bottom:3px; }
.core-outlook p { margin:0; font-size:clamp(.9rem,1.1vw,1.125rem); line-height:1.5; }
.core-outlook p span { display:block; color:#b2bdb3; }
.core-outlook p span:last-child { color:#e1ba83; }
.core-motion { display:grid; place-items:center; flex:none; width:44px; height:44px; padding:11px; border:1px solid #b6c4b43b; border-radius:50%; background:transparent; color:#cad2c5; cursor:pointer; }
.core-motion:hover { border-color:#d3b184; color:#f5ddb7; }
.core-motion[hidden] { display:none; }
.core-motion svg { display:block; width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.4; }
.core-play-icon { display:none; }
.core-motion[aria-pressed=true] .core-pause-icon { display:none; }
.core-motion[aria-pressed=true] .core-play-icon { display:block; }
@media (prefers-reduced-motion:no-preference) {
  .core-sequence button { transition:color .7s,border-color .7s; }
  .core-sequence button > small { transition:color .7s; }
}
@media (min-width:901px) and (max-height:800px) {
  .core-section { padding-top:calc(var(--nav-height) + 28px); padding-bottom:155px; }
  .core-vision-copy .chapter-label { margin-bottom:22px; }
  .core-vision-copy h2 { margin-bottom:24px; }
  .core-tagline { font-size:clamp(1.5rem,2.5vw,2.3rem); margin-bottom:16px; }
  .core-description { line-height:1.6; }
  .core-vision-copy .journey-link { margin-top:16px; }
  .core-horizon { bottom:22px; }
  .core-atmosphere { bottom:13%; }
}
@media (max-width:900px) {
  .core-section { height:auto; min-height:100dvh; padding-top:calc(var(--nav-height) + 32px); padding-bottom:28px; justify-content:flex-start; }
  .core-vision-copy { width:100%; max-width:none; }
  .core-vision-copy .chapter-label { margin-bottom:24px; }
  .core-vision-copy h2 { font-size:clamp(4.5rem,13vw,7.25rem); margin-bottom:20px; }
  .core-tagline { max-width:none; font-size:clamp(1.4rem,4vw,2rem); margin-bottom:12px; }
  .core-description { max-width:46ch; font-size:1rem; }
  .core-vision-copy .journey-link { margin-top:12px; }
  .core-atmosphere { position:relative; order:2; inset:auto; width:calc(100% + 2 * var(--journey-pad)); height:clamp(280px,45dvh,510px); margin:-10px calc(-1 * var(--journey-pad)) -5px; }
  .core-horizon { position:relative; order:3; inset:auto; width:100%; display:block; }
  .core-sequence { gap:16px; }
  .core-sequence button { min-height:76px; padding-top:16px; }
  .core-sequence button > small { font-size:.75rem; }
  .core-outlook { justify-content:space-between; padding:22px 0 0; }
  .core-outlook p { display:flex; gap:6px; }
}
@media (max-width:480px) {
  .core-sequence { gap:12px; }
  .core-sequence button > small { max-width:14ch; }
  .core-vision-copy h2 { font-size:clamp(3.8rem,16vw,5.25rem); }
}
