/* Constellation: the same sea-blue, copper and Jakarta typography as the voyage. */
.korel-orbit {
  --orbit-progress:1;
  position:relative;
  color:#e9eeec; background:#12242e;
}
.korel-orbit__stage { position:relative; isolation:isolate; padding:65px 7vw 35px; overflow:clip; }
.korel-orbit__handoff { display:none; }
.korel-orbit__title-line { display:block; padding-block:.07em; margin-block:-.07em; }
.korel-orbit__title-line>span { display:block; }
.korel-orbit__copy h3 .korel-orbit__title-line:first-child>span { color:#e9eeec; }
/* The sky resolves into a horizon, then opens the typography before the cards. */
.korel-orbit.has-orbit-motion .korel-orbit__handoff { display:block; position:absolute; z-index:0; inset:0; pointer-events:none; opacity:var(--entry-glow,0); background:radial-gradient(ellipse at 65% 38%,#9fc3cf20,transparent 65%); }
.korel-orbit__handoff>span { display:none; }
.korel-orbit.has-orbit-motion .korel-orbit__top { opacity:var(--entry-line,1); }
.korel-orbit.has-orbit-motion .korel-orbit__eyebrow { opacity:var(--entry-title-one,1); transform:translateY(calc((1 - var(--entry-title-one,1)) * 16px)); }
.korel-orbit.has-orbit-motion .korel-orbit__title-line:first-child>span { opacity:var(--entry-title-one,1); transform:translateY(calc((1 - var(--entry-title-one,1)) * 16px)); }
.korel-orbit.has-orbit-motion .korel-orbit__title-line:last-child>span { opacity:var(--entry-title-two,1); transform:translateY(calc((1 - var(--entry-title-two,1)) * 16px)); }
.korel-orbit.has-orbit-motion :is(.korel-orbit__lead,.korel-orbit__phrase,.korel-orbit__copy .korel-next) { opacity:var(--entry-copy,1); transform:translateY(calc((1 - var(--entry-copy,1)) * 14px)); }
.korel-orbit.has-orbit-motion .korel-orbit__constellation { opacity:calc(var(--entry-scene,1) * .55); }
.korel-orbit.has-orbit-motion :is(.korel-orbit__scene-label,.korel-orbit__bottom) { opacity:var(--entry-scene,1); }
.korel-orbit__copy:focus-within { --entry-copy:1; }
.korel-orbit__atmosphere { position:absolute; inset:0; z-index:-1; pointer-events:none; background:radial-gradient(ellipse at 80% 45%,#18577770,transparent 55%),radial-gradient(ellipse at 24% 85%,#37647330,transparent 60%),linear-gradient(#18232c,#112632 55%,#18232c); }
.korel-orbit__atmosphere::after { content:""; position:absolute; inset:0; opacity:.2; background-image:radial-gradient(#a3bccb80 .7px,transparent .7px); background-size:19px 19px; mask-image:radial-gradient(ellipse at 80% 55%,#000,transparent 65%); }
.korel-orbit__top,.korel-orbit__bottom { display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:10px; font-weight:500; letter-spacing:.12em; color:#abc0c8; }
.korel-orbit__top { padding-bottom:22px; border-bottom:1px solid #cee4ed25; }
.korel-orbit__top span:first-child { color:#e5b88e; }
.korel-orbit__layout { display:grid; grid-template-columns:.95fr 1.15fr; align-items:center; gap:3vw; max-width:1600px; margin:auto; padding:38px 0; }
.korel-orbit__copy { position:relative; z-index:2; }
.korel-orbit__eyebrow { display:flex; align-items:center; gap:12px; margin:0 0 30px; color:#e5b88e; font-size:10px; font-weight:500; letter-spacing:.15em; }
.korel-orbit__eyebrow i { width:6px; height:6px; border-radius:50%; background:#e5b88e; box-shadow:0 0 18px #e5b88e80; }
.korel-orbit__copy h3 { margin:0; font-family:inherit; font-size:clamp(32px,3.5vw,62px); font-weight:400; line-height:1.22; letter-spacing:-.025em; }
.korel-orbit__copy h3 span { color:#a7c4d2; }
.korel-orbit__lead { max-width:420px; margin:28px 0 34px; font-size:clamp(13px,1.05vw,17px); line-height:1.9; color:#b2c4cb; }
.korel-orbit__phrase { display:flex; align-items:center; gap:16px; padding-top:22px; border-top:1px solid #cee4ed25; }
.korel-orbit__phrase>span { flex-shrink:0; font-size:10px; letter-spacing:.1em; color:#e5b88e; }
.korel-orbit__phrase-mask { overflow:hidden; padding:5px 0; }
.korel-orbit__phrase strong { display:block; font-size:clamp(17px,1.75vw,28px); line-height:1.4; font-weight:400; letter-spacing:-.015em; }
.korel-orbit__copy .korel-next { margin-top:26px; color:#c7d4d8; }
.korel-orbit__scene { position:relative; z-index:1; min-height:660px; perspective:1100px; }
.korel-orbit__scene-label { position:absolute; right:0; top:0; font-size:8px; letter-spacing:.15em; color:#829fac; }
.korel-orbit__constellation { position:absolute; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; opacity:.55; }
.korel-orbit__guide { stroke:#b4d2e74d; stroke-width:1; }
.korel-orbit__trace { stroke:#edc9a5; stroke-width:1.2; stroke-dasharray:1; stroke-dashoffset:calc(1 - var(--orbit-progress)); }
.korel-orbit__branch { stroke:#bdd7e636; stroke-width:.7; stroke-dasharray:4 6; }
.korel-orbit__star { fill:#fff0d9; stroke:#ffe6c5; stroke-width:.8; filter:drop-shadow(0 0 5px #fbd6ad) drop-shadow(0 0 13px #bddcef); }
.korel-orbit__star path { opacity:.7; }
.korel-orbit.is-inview:not(.is-paused) .korel-orbit__star { animation:orbit-glimmer 4s ease-in-out infinite alternate; }
.korel-orbit.is-inview:not(.is-paused) .korel-orbit__star:nth-of-type(2n) { animation-delay:-2s; }
.korel-orbit__stations { list-style:none; margin:0; padding:0; }
.korel-orbit__station { --card-reveal:1; position:absolute; width:85%; }
.korel-orbit__station--one { top:7%; left:12%; }
.korel-orbit__station--two { top:38%; left:3%; }
.korel-orbit__station--three { top:69%; left:12%; }
/* The outer layer follows scroll; the button owns hover, so neither motion fights the other. */
.korel-orbit.has-orbit-motion .korel-orbit__station { opacity:var(--card-reveal); transform:translate3d(0,calc((1 - var(--card-reveal)) * 36px),0); }
.korel-orbit__station.is-unrevealed { pointer-events:none; }
.korel-orbit__station:focus-within { z-index:3; }
.korel-orbit__glass { --hover-x:70%; --hover-y:20%; position:relative; isolation:isolate; overflow:hidden; display:block; width:100%; padding:20px 23px 16px; border:1px solid #bad8e83d; border-radius:5px; text-align:left; color:#e9eeec; font:inherit; cursor:pointer; background:linear-gradient(135deg,#29414c,#182f3d); box-shadow:inset 0 1px 0 #e7f6ff15,0 18px 45px #00111b30; transform:perspective(900px) translateY(0) rotateX(0deg) rotateY(0deg); transition:border-color .45s,box-shadow .45s,transform .55s cubic-bezier(.2,.7,.2,1); }
.korel-orbit__glass::before { content:""; position:absolute; z-index:-1; inset:0; opacity:0; pointer-events:none; background:radial-gradient(ellipse at var(--hover-x) var(--hover-y),#d8a77e30,transparent 65%); transition:opacity .45s; }
.korel-orbit__glass::after { content:""; position:absolute; inset:0 auto 0 0; width:2px; background:linear-gradient(transparent,#e5b88e,transparent); transform:scaleY(0); transform-origin:bottom; transition:transform .65s cubic-bezier(.2,.7,.2,1); }
.korel-orbit__station-top,.korel-orbit__station-foot { display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:8px; letter-spacing:.12em; color:#afc8d2; }
.korel-orbit__station-top svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.2; transition:color .4s,transform .55s; }
.korel-orbit__glass strong { display:block; margin:8px 0; font-size:clamp(18px,1.75vw,28px); font-weight:400; line-height:1.35; letter-spacing:-.015em; }
.korel-orbit__detail { display:block; max-width:310px; font-size:11px; line-height:1.65; color:#b5cbd5; }
.korel-orbit__station-foot { border-top:1px solid #bdd4e325; margin-top:14px; padding-top:10px; }
.korel-orbit__station-foot i { display:grid; place-items:center; width:28px; height:28px; border:1px solid #e5b88e35; border-radius:50%; font-style:normal; font-size:16px; color:#e5b88e; transition:transform .45s,background .45s,border-color .45s; }
.korel-orbit__glass[aria-pressed="true"] { border-color:#e5b88e80; box-shadow:inset 0 1px 0 #f4e2c725,0 20px 55px #00111b40; }
.korel-orbit__glass[aria-pressed="true"]::after { transform:scaleY(1); }
.korel-orbit__glass:is(:focus-visible,.is-hovered) { transform:perspective(900px) translateY(-9px) rotateX(var(--card-tilt-y,0deg)) rotateY(var(--card-tilt-x,0deg)); border-color:#e5b88ec0; box-shadow:0 28px 65px #000d1b66,inset 0 1px 0 #f6debf35; }
.korel-orbit__glass:is(:focus-visible,.is-hovered)::before { opacity:1; }
.korel-orbit__glass:is(:focus-visible,.is-hovered)::after { transform:scaleY(1); }
.korel-orbit__glass:is(:focus-visible,.is-hovered) .korel-orbit__station-top svg { color:#e5b88e; transform:rotate(-8deg) scale(1.12); }
.korel-orbit__glass:is(:focus-visible,.is-hovered) .korel-orbit__station-foot i { transform:translate(3px,-3px); background:#e5b88e1a; border-color:#e5b88e99; }
.korel-orbit__glass:focus-visible,.korel-orbit__bottom button:focus-visible,.korel-contact-orbit a:focus-visible { outline:2px solid #e5b88e; outline-offset:5px; }
.korel-orbit__bottom { position:relative; display:flex; justify-content:center; margin-top:22px; padding-top:12px; border-top:1px solid #cee4ed25; font-size:12px; }
.korel-orbit__bottom button { display:flex; gap:14px; align-items:center; padding:12px 0; border:0; background:none; color:#a9c0ca; font:inherit; cursor:pointer; }
.korel-orbit__bottom button[hidden] { display:none; }
.korel-orbit__hint>span { padding-left:12px; color:#e5b88e; font-size:16px; }
.korel-contact-orbit.korel-story__closing { position:relative; isolation:isolate; display:grid; grid-template-columns:1.15fr .85fr; gap:80px 8vw; align-items:center; padding:110px 7vw 40px; background:radial-gradient(ellipse at 85% 40%,#15547770,transparent 60%),#10232d; overflow:hidden; }
.korel-contact-orbit__route { position:absolute; inset:0; width:100%; height:100%; fill:none; stroke:#b4cbd33a; stroke-width:1; z-index:-1; }
.korel-contact-orbit__route circle { fill:#e5b88e; stroke:none; filter:drop-shadow(0 0 9px #ffe1bf); }
.korel-contact-orbit .eyebrow { color:#e5b88e; font-size:10px; letter-spacing:.12em; font-weight:500; }
.korel-contact-orbit__heading h3 { margin:30px 0!important; font-size:clamp(44px,6.8vw,112px)!important; line-height:1.1!important; font-weight:400!important; letter-spacing:-.025em!important; }
.korel-contact-orbit__heading>p:last-child { font-size:14px; line-height:1.85; color:#b3c6ce; }
.korel-contact-orbit__card { position:relative; padding:40px; border:1px solid #b7d3e04d; border-radius:20px; background:linear-gradient(130deg,#b8d2e220,#31779a17); backdrop-filter:blur(12px); box-shadow:inset 0 1px 0 #d7e9f11f,0 20px 80px #000d181f; transform:rotate(-3deg); transition:transform .7s,border-color .5s; }
.korel-contact-orbit__card h4 { font-family:inherit; font-size:clamp(32px,3.5vw,60px); font-weight:400; line-height:1.25; letter-spacing:-.02em; margin:30px 0; }
.korel-contact-orbit__cta { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:17px 0; border-block:1px solid #c9dbe540; font-size:13px; color:#e7edef; transition:color .3s; }
.korel-contact-orbit__cta span { color:#e5b88e; font-size:24px; transition:transform .4s; }
.korel-contact-orbit__direct { display:flex; align-items:start; flex-direction:column; gap:12px; padding-top:22px; font-size:11px; color:#b2c6d0; overflow-wrap:anywhere; }
.korel-contact-orbit .korel-story__closing-foot { grid-column:1/-1; font-size:9px; font-weight:400; border-color:#c9dbe526; color:#a7bdc7; }
.korel-orbit-spark { position:absolute; right:30px; top:-16px; width:32px; height:32px; filter:drop-shadow(0 0 8px #edd2ae); }
.korel-orbit-spark::before,.korel-orbit-spark::after { content:""; position:absolute; background:linear-gradient(transparent,#fff1d9,transparent); width:1px; height:100%; left:50%; }
.korel-orbit-spark::after { transform:rotate(90deg); }
@keyframes orbit-glimmer { from { opacity:.55; } to { opacity:1; } }
@media (hover:hover) {
  .korel-orbit__station:hover { z-index:2; }
  .korel-contact-orbit__card:hover { transform:rotate(0deg); border-color:#e5b88e80; }
  .korel-contact-orbit a:hover { color:#e5b88e; }
  .korel-contact-orbit__cta:hover span { transform:translate(3px,-3px); }
}
@media (min-width:1500px) { .korel-orbit__scene { min-height:760px; } .korel-orbit__glass { padding:27px 30px 22px; } .korel-orbit__detail { font-size:13px; } }
@media (max-width:900px) {
  .korel-orbit__stage { padding:45px 24px 30px; }
  .korel-orbit__layout { grid-template-columns:1fr; gap:45px; padding-top:55px; }
  .korel-orbit__copy { max-width:620px; }
  .korel-orbit__copy h3 { font-size:clamp(32px,6vw,52px); }
  .korel-orbit__lead { max-width:540px; }
  .korel-orbit__scene { width:100%; max-width:640px; margin:auto; }
  .korel-orbit__glass strong { font-size:24px; }
  .korel-orbit__detail { font-size:12px; }
  .korel-contact-orbit.korel-story__closing { gap:50px; padding:80px 24px 35px; }
  .korel-contact-orbit__card { padding:26px; }
}
@media (max-width:600px) {
  .korel-orbit__top { font-size:8px; letter-spacing:.09em; }
  .korel-orbit__layout { gap:40px; padding-bottom:15px; }
  .korel-orbit__scene { min-height:0; padding:30px 0 10px 20px; }
  .korel-orbit__scene-label { font-size:7px; }
  .korel-orbit__constellation { width:100%; opacity:.65; }
  .korel-orbit__stations { display:grid; gap:22px; }
  .korel-orbit__station { position:relative; top:auto; left:auto; width:100%; transform:none; }
  .korel-orbit__glass { padding:19px 20px 15px; transform:none; border-radius:5px; }
  .korel-orbit__glass strong { font-size:22px; }
  .korel-orbit__bottom { flex-wrap:wrap; gap:5px 15px; }
  .korel-orbit__hint { display:none; }
  .korel-contact-orbit.korel-story__closing { grid-template-columns:1fr; gap:45px; }
  .korel-contact-orbit__heading h3 { font-size:52px!important; }
  .korel-contact-orbit__card { transform:none; }
  .korel-contact-orbit__card h4 { font-size:40px; }
}
@media (min-width:1000px) and (min-height:820px) and (prefers-reduced-motion:no-preference) {
  .korel-orbit.is-scroll-story { min-height:250svh; }
  .korel-orbit.is-scroll-story .korel-orbit__stage { position:sticky; top:0; min-height:100svh; padding-top:105px; padding-bottom:20px; }
  .korel-orbit.is-scroll-story .korel-orbit__layout { padding:25px 0 15px; }
  .korel-orbit.is-scroll-story .korel-orbit__scene { min-height:0; height:calc(100svh - 270px); }
  .korel-orbit.is-scroll-story .korel-orbit__station--one { top:3%; }
  .korel-orbit.is-scroll-story .korel-orbit__station--two { top:36%; }
  .korel-orbit.is-scroll-story .korel-orbit__station--three { top:69%; }
  .korel-orbit.is-scroll-story .korel-orbit__glass { padding:16px 22px 13px; }
  .korel-orbit.is-scroll-story .korel-orbit__station-foot { margin-top:10px; padding-top:7px; }
  .korel-orbit.is-scroll-story .korel-orbit__bottom { margin-top:0; padding-top:15px; }
}
@media (prefers-reduced-motion:reduce) {
  .korel-orbit *, .korel-contact-orbit * { animation:none!important; transition:none!important; }
  .korel-orbit__trace { stroke-dashoffset:0; }
  .korel-orbit__station,.korel-orbit__glass,.korel-contact-orbit__card { transform:none!important; }
  .korel-orbit .korel-orbit__station { opacity:1!important; pointer-events:auto; }
  .korel-orbit__handoff { display:none!important; }
}
.korel-orbit.is-paused .korel-orbit__glass { transform:none; }
