
:root{
  --ink:#0a0f0f;
  --paper:#f3f0e8;
  --soft:#c9c6be;
  --muted:#96938b;
  --sea:#65d4c7;
  --red:#ff5d46;
  --line:rgba(243,240,232,.15);
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--ink);
  color:var(--paper);
  font-family:Arial,Helvetica,sans-serif;
  line-height:1.45;
}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{width:min(calc(100% - 38px),var(--max));margin:auto}

header{
  position:sticky;top:0;z-index:30;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  background:rgba(10,15,15,.82);
  border-bottom:1px solid var(--line)
}
nav{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{font-size:12px;letter-spacing:.23em;font-weight:800;white-space:nowrap;text-decoration:none}
.navlinks{display:flex;gap:22px;align-items:center}
.navlinks a{text-decoration:none;font-size:12px;letter-spacing:.09em;color:#d8d5cc}
.navlinks a:hover{color:white}

.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:11px;color:var(--sea);margin-bottom:18px}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.04em}
h1{font-size:clamp(58px,8.2vw,116px);line-height:.88;margin:0}
h2{font-size:clamp(44px,6vw,78px);line-height:.94;margin:0}
h3{font-size:clamp(30px,4vw,54px);line-height:.98;margin:0}

.hero{
  min-height:90vh;display:grid;grid-template-columns:1.06fr .94fr;
  gap:48px;align-items:center;padding:56px 0 72px
}
.hero .descriptor{
  margin:22px 0 0;color:#a9e9e1;font-size:12px;letter-spacing:.12em;text-transform:uppercase
}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;min-height:48px;
  padding:0 20px;border-radius:999px;text-decoration:none;font-size:13px;
  font-weight:800;letter-spacing:.05em;transition:.2s ease
}
.btn.primary{background:var(--paper);color:var(--ink)}
.btn.secondary{border:1px solid var(--line)}
.btn:hover{transform:translateY(-2px)}
.hero-media{aspect-ratio:4/5;overflow:hidden;position:relative;background:#09100f;margin:0}
.hero-media img{width:100%;height:100%;object-fit:cover}
.hero-media span{
  position:absolute;left:16px;bottom:15px;padding:8px 10px;
  background:rgba(10,15,15,.72);font-size:10px;letter-spacing:.17em
}

section{padding:92px 0;border-top:1px solid var(--line)}
.current{background:linear-gradient(180deg,var(--ink) 0%,#21090c 100%)}
.current-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:50px;align-items:center}
.current-card{overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.35)}
.current-card img{width:100%;height:auto}
.current .eyebrow{color:var(--red)}
.current-title{font-size:clamp(40px,5.3vw,70px)}
.current-title span{white-space:nowrap}
.current .date{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#dbb8b2;margin:18px 0}
.current p{font-size:18px;color:#e0d3d0;max-width:560px}
.text-link{
  display:inline-block;margin-top:16px;text-decoration:none;font-size:13px;
  letter-spacing:.06em;border-bottom:1px solid currentColor;padding-bottom:2px
}

/* Invitation section appears early, directly after Current World */
.join{display:grid;grid-template-columns:.86fr 1.14fr;gap:50px;align-items:start}
.join p{color:#c9c6be;font-size:18px;max-width:560px}
.join .note{font-size:13px;color:#939087;margin-top:18px}
.ig-link{display:inline-block;margin-top:18px;font-size:13px;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}
form{border:1px solid var(--line);background:#111716;padding:28px}
.field{display:grid;gap:8px;margin-bottom:15px}
label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#cecac1}
input,select,textarea{
  width:100%;border:1px solid rgba(243,240,232,.17);background:#0c1211;color:var(--paper);
  padding:14px 13px;font:inherit;outline:none;border-radius:0
}
input:focus,select:focus,textarea:focus{border-color:var(--sea)}
textarea{min-height:105px;resize:vertical}
select{
  -webkit-appearance:none;appearance:none;
  background-image:
    linear-gradient(45deg, transparent 50%, #b9b6ae 50%),
    linear-gradient(135deg, #b9b6ae 50%, transparent 50%);
  background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;
  background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:42px
}
button{
  width:100%;min-height:50px;border:0;background:var(--sea);color:#082225;
  font-weight:900;font-size:12px;letter-spacing:.09em;cursor:pointer
}
.legal{font-size:11px!important;color:#85837c!important;margin-top:12px!important}
.bot-field{display:none}
.hidden{display:none!important}
.sms-consent{
  display:flex;gap:10px;align-items:flex-start;margin:4px 0 16px;color:#aaa79f;
  font-size:12px;line-height:1.35
}
.sms-consent input{width:auto;margin-top:2px}
.sms-consent label{text-transform:none;letter-spacing:0;font-size:12px;color:#aaa79f}

/* Scalable Selected Worlds gallery */
.worlds-home{padding:78px 0 96px}
.worlds-intro{
  display:grid;grid-template-columns:.75fr 1.25fr;gap:56px;align-items:start;margin-bottom:46px
}
.worlds-intro .philosophy{
  margin:0;max-width:750px;font:400 clamp(28px,4vw,52px)/1.05 Georgia,"Times New Roman",serif
}
.worlds-intro .philosophy span{
  display:block;margin-top:12px;font:400 .55em/1.35 Arial,Helvetica,sans-serif;color:#c9c6be;letter-spacing:0
}
.world-cards{
  display:grid;grid-template-columns:1.12fr .88fr;gap:18px;align-items:stretch
}
.world-card{
  position:relative;min-height:620px;overflow:hidden;text-decoration:none;background:#111
}
.world-card.secondary{min-height:520px;margin-top:100px}
.world-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.world-card::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.04) 34%,rgba(0,0,0,.78) 100%)
}
.world-card:hover img{transform:scale(1.018)}
.world-card-copy{position:absolute;z-index:2;left:28px;right:28px;bottom:26px}
.world-card .meta{text-transform:uppercase;letter-spacing:.18em;font-size:10px;color:#d2d0ca}
.world-card h3{margin:7px 0 8px;font-size:clamp(40px,5vw,66px)}
.world-card p{max-width:520px;margin:0;color:#e0ddd5;font-size:14px}
.world-card .enter{display:inline-block;margin-top:14px;font-size:12px;letter-spacing:.08em;border-bottom:1px solid currentColor;padding-bottom:2px}
.worlds-footer{display:flex;justify-content:flex-end;margin-top:24px}
.worlds-footer a{text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px;font-size:13px}

.epilogue{
  min-height:50vh;display:flex;align-items:center;justify-content:center;text-align:center;
  border-top:1px solid var(--line);padding:80px 0
}
.epilogue p{font:400 clamp(38px,5vw,72px)/1 Georgia,"Times New Roman",serif;margin:0 auto;max-width:900px;text-align:center}

footer{
  padding:30px 0 44px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:#8f8c84;
  font-size:11px;letter-spacing:.05em
}
footer a{text-decoration:none}

/* Event detail pages
   Intentionally calmer and smaller than the homepage.
   Full images are shown without aggressive cropping. */
.page-hero{
  padding:86px 0 46px;
  text-align:center;
  max-width:1040px;
  margin:0 auto
}
.page-hero .back{
  display:table;
  margin:0 auto 34px;
  font-size:12px;
  text-decoration:none;
  border-bottom:1px solid currentColor;
  padding-bottom:2px
}
.page-hero-grid{
  display:block;
  max-width:900px;
  margin:0 auto
}
.page-hero-grid .eyebrow{margin-bottom:14px}
.page-hero p{
  font-size:17px;
  color:#c9c6be;
  max-width:780px;
  margin:26px auto 0
}

.detail-gallery{
  display:grid;
  gap:22px;
  padding-bottom:90px;
  max-width:1040px;
  margin:0 auto
}
.detail-gallery img{
  width:100%;
  height:auto;
  min-height:0;
  object-fit:contain;
  background:#0d1110
}
.detail-grid-2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
  align-items:start
}
.detail-grid-3{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
  align-items:start
}
.detail-stack{
  display:grid;
  grid-template-rows:auto;
  gap:22px;
  align-content:start
}
.detail-tall,
.detail-medium,
.detail-wide{
  min-height:0
}
.detail-cta{
  text-align:center;
  padding:55px 0 85px;
  border-top:1px solid var(--line)
}
.detail-cta a{
  display:inline-block;
  text-decoration:none;
  border-bottom:1px solid currentColor;
  padding-bottom:3px;
  font:400 28px Georgia,"Times New Roman",serif
}

/* Archive page */
.archive-hero{padding:92px 0 52px}
.archive-hero p{max-width:680px;color:#c9c6be;font-size:18px}
.archive-list{display:grid;gap:18px;padding-bottom:100px}
.archive-card{
  display:grid;grid-template-columns:.95fr 1.05fr;min-height:420px;text-decoration:none;
  border-top:1px solid var(--line);padding-top:18px;gap:26px
}
.archive-card img{width:100%;height:100%;object-fit:cover;max-height:480px}
.archive-card-copy{align-self:center}
.archive-card-copy .meta{text-transform:uppercase;letter-spacing:.18em;font-size:10px;color:#aaa79f}
.archive-card-copy p{color:#c9c6be;max-width:560px}
.archive-card-copy .enter{display:inline-block;margin-top:10px;border-bottom:1px solid currentColor;padding-bottom:2px;font-size:12px}

@media(max-width:820px){
  .navlinks a:first-child{display:none}
  .hero,.current-grid,.join,.worlds-intro,.page-hero-grid,.archive-card{grid-template-columns:1fr}
  .hero{padding-top:36px;min-height:auto}
  .hero-media{max-height:72vh}
  .current-grid{gap:32px}
  .current-title{font-size:clamp(38px,11vw,58px)}
  .current-title span{white-space:normal}
  .world-cards{grid-template-columns:1fr}
  .world-card,.world-card.secondary{min-height:520px;margin-top:0}
  .worlds-intro{gap:18px}
  .detail-grid-2,.detail-grid-3,.detail-columns{grid-template-columns:1fr}
  .detail-tall,.detail-medium,.detail-wide{min-height:0}
  .page-hero{padding-top:64px}
  .page-hero p{font-size:16px}
  .detail-gallery{max-width:760px}
  .archive-card{padding-bottom:34px}
}
@media(max-width:540px){
  .wrap{width:min(calc(100% - 26px),var(--max))}
  .navlinks{gap:12px}
  .navlinks a:nth-child(2){display:none}
  section{padding:72px 0}
  form{padding:22px}
  .hero .descriptor{font-size:10px;line-height:1.6}
  .world-card,.world-card.secondary{min-height:430px}
  .world-card-copy{left:20px;right:20px;bottom:20px}
  .epilogue{min-height:42vh}
}


/* V12 curated event-page galleries */
.detail-gallery{
  max-width:1000px;
  margin:0 auto;
  padding-bottom:92px
}
.editorial-columns{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  align-items:start
}
.editorial-column{
  display:grid;
  gap:16px;
  align-content:start
}
.editorial-frame{
  margin:0;
  width:100%;
  overflow:hidden;
  background:transparent
}
.editorial-frame img{
  display:block;
  width:100%;
  height:auto;
  max-height:none;
  object-fit:initial;
  margin:0;
  background:transparent
}
.editorial-frame.portrait img,
.editorial-frame.landscape img,
.editorial-frame.compact img{
  max-height:none
}

@media(max-width:820px){
  .editorial-columns{grid-template-columns:1fr;gap:16px}
  .editorial-column{gap:16px}
  .detail-gallery{max-width:700px}
  .editorial-frame img,
  .editorial-frame.portrait img,
  .editorial-frame.landscape img,
  .editorial-frame.compact img{
    max-height:none;
  }
}


@media(min-width:1100px){
  .detail-gallery{max-width:980px}
  .editorial-columns{grid-template-columns:1.03fr .97fr;gap:18px}
  .editorial-column{gap:18px}
}


/* V13 mobile polish */
@media(max-width:540px){

  /* Mobile header:
     - INDY / SAN FRANCISCO is already a Home link.
     - Keep only All worlds on the right where available.
     - Hide the extra Future Invitations and Instagram links from the header. */
  nav{min-height:64px;gap:12px}
  .brand{
    font-size:11px;
    letter-spacing:.20em;
    max-width:66%;
  }
  .navlinks{
    margin-left:auto;
    gap:0;
  }
  .navlinks a{
    display:none !important;
  }
  .navlinks a[href="worlds.html"]{
    display:inline-block !important;
    font-size:11px;
    letter-spacing:.08em;
    white-space:nowrap;
  }

  /* Slightly tighten the long-scroll rhythm without losing the editorial breathing room. */
  .hero{
    padding-top:34px;
    padding-bottom:52px;
    gap:34px;
  }
  .current{
    padding-top:56px;
    padding-bottom:56px;
  }
  #join{
    padding-top:56px;
    padding-bottom:56px;
  }
  .worlds-home{
    padding-top:60px;
    padding-bottom:72px;
  }
  .join{
    gap:32px;
  }

  /* Compact the mobile invitation form a little. */
  form{
    padding:20px;
  }
  .field{
    gap:7px;
    margin-bottom:12px;
  }
  input,
  select,
  textarea{
    padding:12px 12px;
  }
  textarea{
    min-height:88px;
  }
  button{
    min-height:48px;
  }
  .sms-consent{
    margin-bottom:13px;
  }

  /* Keep world-page intros spacious, but not oversized. */
  .page-hero{
    padding-top:58px;
    padding-bottom:40px;
  }
  .page-hero .back{
    margin-bottom:28px;
  }
  .page-hero p{
    margin-top:22px;
  }
}
