:root{
  --ink:#111318;
  --muted:#6c717c;
  --line:#ececf1;

  --white:#ffffff;
  --yellow:#d4a017;
  --blue:#1c2f6b;

  --radius:0px; /* no rounding */
  --ease:cubic-bezier(.16,.9,.18,1);
  --dur:750ms;

  /* layout tuning */
  --collageWidth:90%;
  --gap:7%;
  --sideW:37%;
  --midW:42%;
  --sideH:280px;
  --midH:340px;

  /* optical vertical centering */
  --visualOffset:18px;
}

*{box-sizing:border-box}

html{
  scroll-behavior:smooth;
  scroll-padding-top:110px;
}

body{
  margin:0;
  font-family:Inter,sans-serif;
  background:#fff;
  color:var(--ink);
}

.container{
  width:min(1100px,100%);
  margin:auto;
  padding:50px 28px 80px;
}

/* HEADER */

.topbar{
  position:sticky;
  top:0;
  z-index:1000;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  margin-bottom:40px;
  padding:18px 0;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(10px);
}

.brand{
  display:flex;
  align-items:center;
  gap:14px;
  font-weight:600;
  font-size:14px;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.brand a{
  color:inherit;
  text-decoration:none;
}

.burger{
  display:none;
  width:42px;
  height:42px;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
}

.burger span{
  display:block;
  width:22px;
  height:2px;
  background:var(--ink);
  transition:transform .22s ease, opacity .22s ease;
}

.mainnav{
  display:flex;
  align-items:center;
  gap:22px;
  margin-left:auto;
}

.mainnav a{
  font-size:13px;
  letter-spacing:.12em;
  text-transform:uppercase;
  text-decoration:none;
  color:inherit;
  opacity:.85;
  transition:opacity .2s ease;
}

.mainnav a:hover,
.mainnav a:focus{
  opacity:1;
}

.ticket{
  border:1px solid var(--ink);
  padding:10px 16px;
  font-size:11px;
  letter-spacing:.15em;
  text-transform:uppercase;
  background:none;
  cursor:pointer;
  border-radius:var(--radius);
  transition:all .35s var(--ease);
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#000;
  font-weight:bold;
}
.ticket:hover{
  background:var(--ink);
  color:#fff;
}

.mobileNav{
  display:none;
  position:absolute;
  top:100%;
  left:0;
  right:0;
  background:rgba(255,255,255,.98);
  backdrop-filter:blur(10px);
  padding:8px 20px 18px;
  border-top:1px solid rgba(0,0,0,.06);
  border-bottom:1px solid rgba(0,0,0,.08);
}

.mobileNav a{
  display:block;
  padding:14px 0;
  text-decoration:none;
  color:inherit;
  font-size:13px;
  letter-spacing:.12em;
  text-transform:uppercase;
  border-bottom:1px solid rgba(0,0,0,.06);
}

.mobileNav a:last-child{
  border-bottom:0;
}

.topbar.menu-open .mobileNav{
  display:block;
}

.topbar.menu-open .burger span:nth-child(1){
  transform:translateY(7px) rotate(45deg);
}

.topbar.menu-open .burger span:nth-child(2){
  opacity:0;
}

.topbar.menu-open .burger span:nth-child(3){
  transform:translateY(-7px) rotate(-45deg);
}

/* HERO */

.micro{
  text-align:center;
  font-size:11px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:20px;
}

.hero{
  display:grid;
  grid-template-columns:1fr auto;
  gap:40px;
  align-items:end;
  margin-bottom:60px;
}

.headline{
  font-size:clamp(42px,6vw,72px);
  font-weight:300;
  line-height:.95;
  margin:0;
  letter-spacing:-1.4px;
}
.headline strong{font-weight:800;}

.note{
  font-size:12px;
  color:var(--muted);
  max-width:320px;
  line-height:1.6;
}

/* COLLAGE */

.fullwidth{
  width:100%;
  padding:0 28px;
}

.collageWrap{
  display:flex;
  justify-content:center;
  width:100%;
}

.collage{
  position:relative;
  width:var(--collageWidth);
  max-width:1200px;
  height:420px;
  isolation:isolate;
}

.card{
  --y:0px;
  --lift:0px;
  --scale:1;

  position:absolute;
  top:50%;

  border-radius:var(--radius);
  border:1px solid rgba(0,0,0,.06);

  display:flex;
  align-items:flex-end;
  padding:24px;

  transform:
    translate3d(0,calc(-50% + var(--y) + var(--lift)),0)
    scale(var(--scale));

  box-shadow:0 22px 60px rgba(0,0,0,.18);
  transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), opacity var(--dur) var(--ease);
  cursor:pointer;
}

/* CENTER CARD */
.card.mid{
  left:50%;
  width:var(--midW);
  height:var(--midH);

  transform:
    translate3d(-50%,calc(-50% + var(--visualOffset) + var(--lift)),0)
    scale(var(--scale));

  background:var(--yellow);
  color:#111;
  z-index:2;

  align-items:center;
  justify-content:center;
  text-align:center;
}

/* LEFT */
.card.left{
  left:calc(50% - (var(--midW)/2) - (var(--sideW) - var(--gap)));
  width:var(--sideW);
  height:var(--sideH);
  --y:30px;
  background:var(--white);
  color:var(--ink);
}

/* RIGHT */
.card.right{
  left:calc(50% + (var(--midW)/2) - var(--gap));
  width:var(--sideW);
  height:var(--sideH);
  --y:30px;
  background:var(--blue);
  color:#fff;

  align-items:flex-end;
  justify-content:flex-end;
  text-align:right;
}

/* typography */
.card h2{
  margin:0;
  font-weight:300;
  text-transform:uppercase;
  line-height:1.05;
  font-size:clamp(22px,2.4vw,36px);
}

/* lighting */
.card::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(900px 260px at 30% 10%, rgba(255,255,255,.4), transparent 60%),
    linear-gradient(to bottom, rgba(0,0,0,.1), transparent 55%);
  opacity:.35;
}

/* hover */
.card:hover{
  --lift:-24px;
  --scale:1.055;
  box-shadow:0 45px 120px rgba(0,0,0,.28);
  z-index:10;
}

.collage:hover .card:not(:hover){
  opacity:.9;
  box-shadow:0 16px 40px rgba(0,0,0,.14);
}

.collage:hover .card.left:not(:hover),
.collage:hover .card.right:not(:hover){
  transform:translate3d(0,calc(-50% + var(--y)),0) scale(.97);
}

.collage:hover .card.mid:not(:hover){
  transform:translate3d(-50%,calc(-50% + var(--visualOffset)),0) scale(.985);
}

/* =========================
   NEW CONTENT (minimal, big)
   ========================= */

.section{
  margin-top:90px;
  border-top:1px solid var(--line);
  padding-top:44px;
}

.sectionHead{
  display:grid;
  grid-template-columns:1fr 320px;
  gap:40px;
  align-items:end;
  margin-bottom:28px;
}

.kicker{
  font-size:11px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:12px;
}

.h2{
  margin:0;
  font-size:clamp(30px,4.1vw,56px);
  font-weight:300;
  line-height:1.02;
  letter-spacing:-1.2px;
}
.h2 strong{font-weight:800;}

.lead{
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.8;
}

.textblock{
  max-width:820px;
  font-size:16px;
  line-height:1.95;
  color:var(--ink);
}
.textblock p{
  margin:0 0 18px;
}
.textblock p:last-child{margin-bottom:0}
.textblock .muted{color:var(--muted)}

.split{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:40px;
  align-items:start;
  margin-top:24px;
}

.aside{
  border-left:1px solid var(--line);
  padding-left:22px;
  color:var(--muted);
  font-size:13px;
  line-height:1.9;
}
.aside strong{color:var(--ink); font-weight:700}

.keylines{
  margin:18px 0 0;
  padding:0;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:10px;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.keylines li{
  display:flex;
  justify-content:space-between;
  gap:16px;
  border-bottom:1px solid var(--line);
  padding-bottom:10px;
}
.keylines b{
  font-weight:800;
  letter-spacing:0;
  text-transform:none;
  color:var(--ink);
}

.callout{
  margin-top:34px;
  padding-top:24px;
  border-top:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  gap:22px;
  flex-wrap:wrap;
  align-items:center;
}

.callout h3{
  margin:0;
  font-size:18px;
  font-weight:600;
  letter-spacing:-.2px;
}

.callout p{
  margin:6px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.8;
  max-width:720px;
}

.btn{
  border:1px solid var(--ink);
  padding:10px 16px;
  font-size:11px;
  letter-spacing:.15em;
  text-transform:uppercase;
  background:none;
  cursor:pointer;
  border-radius:var(--radius);
  transition:all .35s var(--ease);
  text-decoration:none;
  display:inline-block;
  color:#000;
  font-weight:bold;
}
.btn:hover{
  background:var(--ink);
  color:#fff;
}

/* footer */
.footer{
  margin-top:90px;
  padding-top:24px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:12px;
  display:flex;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
}

/* responsive */
@media(max-width:980px){
  .mainnav{
    display:none;
  }

  .burger{
    display:inline-flex;
  }

  .ticket{
    display:none;
  }
}

@media(max-width:900px){
  .hero{grid-template-columns:1fr;}
  .collage{height:auto;width:100%;}
  .card{
    position:relative;
    top:auto;
    left:auto!important;
    width:100%!important;
    height:220px!important;
    margin-bottom:20px;
    transform:none!important;
  }

  .sectionHead{grid-template-columns:1fr; gap:18px;}
  .split{grid-template-columns:1fr; gap:18px;}
  .aside{border-left:none; padding-left:0; border-top:1px solid var(--line); padding-top:18px;}
}