
:root{
  --black:#050505;
  --brown:#160f0c;
  --panel:#11100f;
  --panel-soft:#1b1512;
  --pearl:#f7f1e9;
  --soft:#d8cfc7;
  --muted:#9f958e;
  --gold:#d8b461;
  --pink:#ff2b93;
  --cyan:#63d9e8;
  --green:#7de0a7;
  --line:rgba(255,255,255,.10);
  --max:1400px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--black)}
body{
  margin:0;color:var(--pearl);
  background:
    radial-gradient(circle at 12% 0%,rgba(255,43,147,.06),transparent 24%),
    radial-gradient(circle at 88% 6%,rgba(216,180,97,.07),transparent 24%),
    linear-gradient(180deg,#050505,#0b0807 52%,#050505);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
body::before{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.15;
  background-image:
    linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px);
  background-size:58px 58px;
}
a,button,input{font:inherit}
button{color:inherit}
.skip-link{
  position:fixed;left:1rem;top:1rem;z-index:100;transform:translateY(-160%);
  padding:.8rem 1rem;border-radius:999px;background:var(--pearl);color:#000;text-decoration:none;
}
.skip-link:focus{transform:translateY(0)}
.topbar{
  position:fixed;inset:0 0 auto;z-index:50;display:flex;justify-content:space-between;align-items:center;gap:1rem;
  min-height:78px;padding:1rem clamp(1rem,3vw,2.2rem);
  background:linear-gradient(180deg,rgba(5,5,5,.95),rgba(5,5,5,.7),transparent);
  backdrop-filter:blur(14px);
}
.brand{display:flex;align-items:center;gap:.85rem}
.brand-mark{
  width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(216,180,97,.6);
  border-radius:50%;font-family:Georgia,"Times New Roman",serif;color:var(--gold);
}
.brand small,.brand strong{display:block;line-height:1.1}
.brand small{color:var(--gold);font-size:.62rem;letter-spacing:.17em;text-transform:uppercase}
.brand strong{margin-top:.3rem;font-family:Georgia,"Times New Roman",serif;font-weight:400}
.topbar nav{display:flex;gap:1rem}
.topbar nav a{color:var(--soft);font-size:.76rem;text-decoration:none}
.hero{
  position:relative;z-index:1;min-height:100svh;display:grid;place-items:center;
  padding:8rem 1rem 5rem;text-align:center;overflow:hidden;isolation:isolate;
}
#curatorCanvas{position:absolute;inset:0;width:100%;height:100%;z-index:-4}
.hero::before{
  content:"";position:absolute;width:min(1000px,92vw);aspect-ratio:1;border-radius:50%;z-index:-3;
  background:radial-gradient(circle,rgba(255,43,147,.11),rgba(216,180,97,.035) 48%,transparent 72%);
}
.hero-architecture{
  position:absolute;inset:auto 5% 0;display:grid;grid-template-columns:repeat(3,1fr);gap:3%;
  align-items:end;height:68%;z-index:-2;opacity:.14;
}
.hero-architecture span{
  display:block;height:100%;border:1px solid rgba(216,180,97,.22);border-bottom:0;
  border-radius:220px 220px 0 0;background:linear-gradient(180deg,rgba(216,180,97,.05),transparent);
}
.hero-copy{width:min(1020px,100%)}
.eyebrow{color:var(--gold);font-size:.68rem;font-weight:700;letter-spacing:.23em;text-transform:uppercase}
.hero h1{
  margin:1rem 0 0;font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(4rem,9vw,9rem);font-weight:400;line-height:.86;letter-spacing:-.055em;
}
.hero h1 span{color:var(--pink)}
.hero-copy>p:not(.eyebrow){max-width:780px;margin:1.4rem auto 0;color:var(--soft);line-height:1.8}
.primary-button{
  display:inline-flex;align-items:center;justify-content:center;gap:.65rem;min-height:50px;
  margin-top:1.8rem;padding:.82rem 1.05rem;border:1px solid var(--pink);border-radius:999px;
  background:var(--pink);color:white;text-decoration:none;font-weight:700;transition:.22s ease;
}
.primary-button:hover,.primary-button:focus-visible{transform:translateY(-3px);box-shadow:0 0 26px rgba(255,43,147,.22)}
.hero blockquote{
  position:absolute;bottom:1.2rem;color:var(--muted);font-family:Georgia,"Times New Roman",serif;font-style:italic;
}
.scene{position:relative;z-index:1;padding:clamp(6rem,9vw,9rem) clamp(1rem,3vw,2rem)}
.section-inner{width:min(var(--max),100%);margin:auto}
.welcome-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,6vw,5rem);align-items:center}
.curator-desk{
  position:relative;min-height:520px;border:1px solid rgba(255,255,255,.08);border-radius:32px;
  background:
    radial-gradient(circle at 50% 16%,rgba(216,180,97,.12),transparent 22%),
    linear-gradient(160deg,#21150f,#090807);
  overflow:hidden;
}
.curator-desk::before{
  content:"";position:absolute;left:8%;right:8%;bottom:8%;height:30%;
  border-radius:20px 20px 8px 8px;background:linear-gradient(#5d3825,#2c190f);
  box-shadow:0 20px 50px rgba(0,0,0,.4);
}
.desk-lamp{
  position:absolute;left:50%;top:14%;transform:translateX(-50%);
  width:180px;height:180px;border-radius:50%;
  background:radial-gradient(circle,rgba(216,180,97,.42),rgba(216,180,97,.08) 45%,transparent 70%);
}
.desk-card{
  position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);z-index:2;
  width:min(420px,82%);padding:1.2rem;border:1px solid rgba(216,180,97,.24);
  border-radius:18px;background:rgba(8,8,8,.84);backdrop-filter:blur(10px);
}
.desk-card small{color:var(--gold);font-size:.62rem;letter-spacing:.15em;text-transform:uppercase}
.desk-card h2{
  margin:.7rem 0 .5rem;font-family:Georgia,"Times New Roman",serif;font-size:2.3rem;font-weight:400;line-height:1.05;
}
.desk-card p{margin:0;color:var(--soft);line-height:1.7}
.visitor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.visitor-grid button{
  min-height:220px;padding:1.2rem;text-align:left;border:1px solid rgba(255,255,255,.09);
  border-radius:20px;background:rgba(255,255,255,.02);cursor:pointer;transition:.22s ease;
}
.visitor-grid button:last-child{grid-column:1/-1}
.visitor-grid button:hover,.visitor-grid button.active{
  transform:translateY(-4px);border-color:var(--pink);background:rgba(255,43,147,.08)
}
.visitor-grid small{color:var(--gold);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase}
.visitor-grid h3{
  margin:1rem 0 .5rem;font-family:Georgia,"Times New Roman",serif;font-size:1.65rem;font-weight:400;
}
.visitor-grid p{margin:0;color:var(--muted);line-height:1.6}
.curator-workspace{background:radial-gradient(circle at 50% 0%,rgba(255,43,147,.045),transparent 28%)}
.workspace-grid{display:grid;grid-template-columns:250px minmax(0,1fr) 340px;gap:1rem;align-items:start}
.institution-map,.conversation-panel,.journey-panel{
  border:1px solid rgba(255,255,255,.08);border-radius:22px;
  background:linear-gradient(155deg,rgba(255,255,255,.025),rgba(255,255,255,.006));
}
.institution-map,.journey-panel{padding:1.2rem;position:sticky;top:94px}
.institution-map h2,.journey-panel h2,.panel-head h2{
  margin:.6rem 0 0;font-family:Georgia,"Times New Roman",serif;font-size:1.55rem;font-weight:400;
}
.institution-map ol{display:grid;gap:.55rem;margin:1.2rem 0 0;padding:0;list-style:none}
.institution-map li{
  display:grid;grid-template-columns:34px 1fr;gap:.75rem;align-items:center;
  padding:.75rem;border:1px solid transparent;border-radius:13px;color:var(--muted);
}
.institution-map li span{
  display:grid;place-items:center;width:30px;height:30px;border-radius:50%;
  border:1px solid rgba(216,180,97,.25);color:var(--gold);font-size:.68rem;
}
.institution-map li.active{border-color:rgba(255,43,147,.36);background:rgba(255,43,147,.08);color:white}
.conversation-panel{padding:1.2rem}
.panel-head{display:flex;justify-content:space-between;gap:1rem;align-items:start}
.mode-switch{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end}
.mode-switch button{
  padding:.45rem .6rem;border:1px solid rgba(255,255,255,.10);border-radius:999px;
  background:rgba(255,255,255,.02);cursor:pointer;font-size:.68rem;
}
.mode-switch button.active,.mode-switch button:hover{border-color:var(--cyan);background:rgba(99,217,232,.07)}
.conversation{max-height:420px;overflow:auto;margin-top:1.1rem;padding-right:.35rem}
.message{
  display:grid;grid-template-columns:44px 1fr;gap:.75rem;align-items:start;
  margin-bottom:.7rem;padding:1rem;border:1px solid rgba(255,255,255,.08);
  border-radius:16px;background:rgba(255,255,255,.02);
}
.user-message{margin-left:10%;background:rgba(216,180,97,.045)}
.avatar{
  width:42px;height:42px;display:grid;place-items:center;border-radius:50%;
  border:1px solid rgba(255,43,147,.4);color:var(--pink);font-family:Georgia,"Times New Roman",serif;
}
.user-message .avatar{border-color:rgba(216,180,97,.4);color:var(--gold)}
.message small{color:var(--gold);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase}
.message p{margin:.4rem 0 0;color:var(--soft);line-height:1.65}
.prompt-starters{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1rem}
.prompt-starters button{
  padding:.5rem .65rem;border:1px solid rgba(255,255,255,.09);border-radius:999px;
  background:rgba(255,255,255,.02);cursor:pointer;font-size:.72rem;
}
.prompt-starters button:hover{border-color:var(--pink)}
.curator-form{
  margin-top:1rem;padding:1rem;border:1px solid rgba(216,180,97,.18);border-radius:16px;background:rgba(8,8,8,.7)
}
.curator-form label{display:block;margin-bottom:.7rem;font-family:Georgia,"Times New Roman",serif}
.curator-form>div{display:grid;grid-template-columns:1fr auto;gap:.7rem}
.curator-form input,.curator-form button{min-height:48px;border-radius:12px}
.curator-form input{padding:0 1rem;border:1px solid rgba(255,255,255,.11);background:#111;color:white}
.curator-form button{padding:0 1rem;border:1px solid var(--pink);background:var(--pink);cursor:pointer}
.journey-empty{margin-top:1rem;padding:1rem;border:1px dashed rgba(255,255,255,.12);border-radius:14px;color:var(--muted);text-align:center;line-height:1.6}
.hidden{display:none!important}
.journey-summary{margin-top:1rem;padding:1rem;border:1px solid rgba(255,43,147,.24);border-radius:15px;background:rgba(255,43,147,.055)}
.journey-summary small{color:var(--gold);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase}
.journey-summary h3{margin:.6rem 0 .4rem;font-family:Georgia,"Times New Roman",serif;font-size:1.5rem;font-weight:400}
.journey-summary p{margin:0;color:var(--soft);line-height:1.55;font-size:.82rem}
.journey-summary>div{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.8rem}
.journey-summary span{padding:.4rem .55rem;border:1px solid rgba(255,255,255,.1);border-radius:999px;color:var(--muted);font-size:.67rem}
.journey-steps{display:grid;gap:.55rem;margin-top:.8rem}
.journey-step{
  display:grid;grid-template-columns:32px 1fr;gap:.7rem;align-items:start;
  padding:.75rem;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.018);
}
.journey-step>span{
  display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--pink);font-size:.68rem;
}
.journey-step strong,.journey-step small{display:block}
.journey-step strong{font-size:.82rem}
.journey-step small{margin-top:.25rem;color:var(--muted);font-size:.69rem;line-height:1.4}
.journey-actions{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin-top:.8rem}
.journey-actions button{
  min-height:42px;border:1px solid rgba(255,255,255,.11);border-radius:11px;background:rgba(255,255,255,.02);cursor:pointer;
}
.journey-actions button:first-child{border-color:rgba(216,180,97,.35);color:var(--gold)}
.section-heading{max-width:900px;margin:0 auto 3rem;text-align:center}
.section-heading h2,.return-copy h2{
  margin:.8rem 0 0;font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.8rem,5vw,5.8rem);font-weight:400;line-height:.96;letter-spacing:-.05em;
}
.section-heading>p:last-child,.return-copy p{color:var(--soft);line-height:1.8}
.connection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.connection-grid article{
  min-height:300px;padding:1.25rem;border:1px solid rgba(255,255,255,.09);
  border-radius:22px;background:linear-gradient(160deg,rgba(255,255,255,.025),rgba(255,255,255,.006));
}
.connection-grid small{color:var(--gold);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase}
.connection-grid h3{margin:1rem 0 .5rem;font-family:Georgia,"Times New Roman",serif;font-size:2rem;font-weight:400}
.connection-grid p{margin:0;color:var(--muted);line-height:1.7}
.return-scene{min-height:80svh;display:grid;place-items:center;text-align:center;background:radial-gradient(circle at center,rgba(99,217,232,.055),transparent 34%)}
.return-copy{max-width:950px}
footer{position:relative;z-index:1;padding:3rem 1rem 5rem;text-align:center;color:var(--muted);font-family:Georgia,"Times New Roman",serif;font-style:italic}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s cubic-bezier(.22,1,.36,1)}
.reveal.visible{opacity:1;transform:translateY(0)}
@media(max-width:1180px){
  .workspace-grid{grid-template-columns:220px 1fr}
  .journey-panel{grid-column:1/-1;position:relative;top:auto}
}
@media(max-width:900px){
  .topbar nav{display:none}
  .welcome-grid{grid-template-columns:1fr}
  .workspace-grid{grid-template-columns:1fr}
  .institution-map{position:relative;top:auto}
  .connection-grid{grid-template-columns:1fr}
}
@media(max-width:650px){
  .visitor-grid{grid-template-columns:1fr}
  .visitor-grid button:last-child{grid-column:auto}
  .panel-head{flex-direction:column}
  .mode-switch{justify-content:flex-start}
  .curator-form>div{grid-template-columns:1fr}
  .user-message{margin-left:0}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
}
