/* ============================================================
   DK VISUALS — DISCIPLINES INDEX + TRAVEL GLOBE
   ============================================================ */

/* ---------- DISCIPLINES INDEX ---------- */
.disc{padding:clamp(90px,14vh,180px) 0}
.disc-list{margin-top:48px;border-top:1px solid var(--line)}
.disc-row{
  position:relative; display:grid; grid-template-columns:64px 1fr auto;
  align-items:center; gap:clamp(18px,3vw,46px);
  padding:clamp(26px,3.4vw,42px) 4px; border-bottom:1px solid var(--line);
  transition:padding-left .5s var(--ease);
}
.disc-row .di-n{font-family:var(--mono);font-size:12px;color:var(--accent);letter-spacing:.1em}
.disc-row .di-main{min-width:0}
.disc-row .di-name{
  font-family:var(--serif);font-weight:500;line-height:.98;letter-spacing:-.01em;
  font-size:clamp(34px,5.4vw,76px);text-transform:uppercase;
  transition:color .4s,transform .5s var(--ease);
}
.disc-row .di-name em{font-style:italic;font-weight:300;color:var(--accent)}
.disc-row .di-d{color:var(--ink-2);font-size:14.5px;margin-top:10px;max-width:46ch}
.disc-row .di-cta{
  font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  display:flex;align-items:center;gap:10px;color:var(--ink-2);white-space:nowrap;transition:color .4s;
}
.disc-row .di-cta .ar{transition:transform .4s var(--ease)}
.disc-row.is-soon .di-cta{color:var(--ink-3)}
.disc-row .di-soon{
  font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);
  border:1px solid var(--line);border-radius:30px;padding:7px 14px;white-space:nowrap;
}
/* live rows are interactive */
.disc-row.is-live{cursor:none}
.disc-row.is-live:hover{padding-left:24px}
.disc-row.is-live:hover .di-name{color:var(--ink)}
.disc-row.is-live:hover .di-cta{color:var(--accent)}
.disc-row.is-live:hover .di-cta .ar{transform:translate(4px,-4px)}
.disc-row.is-soon .di-name{color:var(--ink-3)}
@media(max-width:720px){
  .disc-row{grid-template-columns:40px 1fr;gap:14px}
  .disc-row .di-cta,.disc-row .di-soon{grid-column:2;justify-self:start;margin-top:14px}
}

/* cursor-following thumbnail for live discipline rows */
.disc-thumb{
  position:fixed;z-index:6000;top:0;left:0;width:300px;aspect-ratio:4/5;overflow:hidden;
  pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.86);
  transition:opacity .4s var(--ease),transform .5s var(--ease);
  box-shadow:0 50px 90px -30px rgba(0,0,0,.85);will-change:transform;
}
.disc-thumb.show{opacity:1;transform:translate(-50%,-50%) scale(1)}
.disc-thumb img{width:100%;height:100%;object-fit:cover}
@media (hover:none),(pointer:coarse){ .disc-thumb{display:none} }

/* ============================================================
   TRAVEL GLOBE
   ============================================================ */
.travel{padding:clamp(90px,14vh,190px) 0;position:relative;overflow:hidden}
.travel .t-lead{max-width:48ch;color:var(--ink-2);font-size:16px;margin-top:18px}
.travel-stage{
  display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(30px,5vw,80px);
  margin-top:clamp(40px,6vh,80px);align-items:start;
}
.globe-col{position:sticky;top:calc(50vh - min(30vw,300px));align-self:start}
.globe-wrap{
  position:relative;width:100%;max-width:620px;margin:0 auto;aspect-ratio:1;
}
.globe-wrap::before{
  content:"";position:absolute;inset:-12%;z-index:0;border-radius:50%;
  background:radial-gradient(circle at 50% 46%, rgba(201,163,106,.16), rgba(201,163,106,.04) 42%, transparent 64%);
  filter:blur(8px);
}
#globe{
  position:relative;z-index:1;width:100%;height:100%;
  opacity:0;transition:opacity 1.1s var(--ease);contain:layout paint size;
  cursor:grab;aspect-ratio:1;
}
.globe-hint{
  position:absolute;left:0;right:0;bottom:-6px;z-index:2;text-align:center;
  font-family:var(--mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-3);
}
.globe-failed #globe{display:none}
.globe-failed .globe-wrap::after{
  content:"";position:absolute;inset:8%;border-radius:50%;z-index:1;
  background:url("img/sur-46.jpg") center/cover;opacity:.5;filter:grayscale(.4) brightness(.7);
}

/* travel panel */
.t-switch{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}
.t-tab{
  font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  padding:10px 18px;border:1px solid var(--line);border-radius:40px;color:var(--ink-2);
  display:flex;align-items:center;gap:9px;transition:.4s var(--ease);cursor:none;
}
.t-tab:hover{border-color:var(--ink-3);color:var(--ink)}
.t-tab.on{background:var(--ink);color:#000;border-color:var(--ink)}
.t-tab .dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}
.t-tab.soon:not(.on){color:var(--ink-3)}
.t-tab.soon:not(.on) .dot{background:var(--ink-3)}
.t-tab.on .dot{background:#000}

.t-meta .t-co{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);display:block;margin-bottom:12px}
.t-meta h3{font-family:var(--serif);font-size:clamp(40px,5vw,76px);font-weight:500;line-height:.95;letter-spacing:-.01em}
.t-meta h3 em{font-style:italic;font-weight:300;color:var(--accent)}
.t-meta .t-blurb{color:var(--ink-2);font-size:15.5px;margin-top:18px;max-width:44ch}

/* travel gallery (swaps per destination) */
#tContent{transition:opacity .4s var(--ease)}
#tContent.swapping{opacity:0}
.t-gallery{margin-top:30px;display:grid;grid-template-columns:repeat(6,1fr);gap:12px;
  transition:opacity .45s var(--ease),transform .45s var(--ease)}
.t-gallery.swap{opacity:0;transform:translateY(14px)}
.t-gallery figure{position:relative;overflow:hidden;background:var(--bg-2);grid-column:span 2;aspect-ratio:3/4}
.t-gallery figure:nth-child(7n+1){grid-column:span 3;aspect-ratio:3/2}
.t-gallery figure:nth-child(7n+4){grid-column:span 3;aspect-ratio:3/2}
.t-gallery img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease),filter .6s;filter:saturate(.97)}
.t-gallery figure:hover img{transform:scale(1.06)}

/* coming-soon state inside travel panel */
.t-soon{
  margin-top:30px;border:1px dashed var(--line);border-radius:6px;
  min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;
  text-align:center;padding:40px;
}
.t-soon .ts-ic{width:46px;height:46px;border:1px solid var(--ink-3);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--accent);font-family:var(--mono);font-size:18px}
.t-soon .ts-t{font-family:var(--serif);font-style:italic;font-size:24px;color:var(--ink-2)}
.t-soon .ts-d{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}

@media(max-width:920px){
  .travel-stage{grid-template-columns:1fr;gap:40px}
  .globe-col{position:relative;top:auto}
  .globe-wrap{max-width:440px}
  .t-gallery{grid-template-columns:repeat(4,1fr)}
}
