.home-main { overflow: hidden; }
.home-main .section { position: relative; }
.home-hero { padding: var(--space-10) 0 var(--space-10); background: var(--color-ink-paper); color: var(--color-crisp-white); }
.home-hero__container { position: relative; }
.home-hero__index { position: absolute; z-index: 0; top: -3rem; left: 0; color: var(--color-crisp-white); font-family: var(--font-heading); font-size: clamp(8rem, 20vw, 17rem); font-weight: 700; line-height: .8; opacity: .12; }
.home-hero__layout { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-5); align-items: start; }
.home-hero__ticket, .home-hero__photos, .home-venue-proof__copy, .home-venue-proof__image, .home-experience__image, .home-experience__content, .home-atmosphere__intro, .home-atmosphere__image, .home-final-venue__image, .home-final-venue__panel { min-width: 0; width: 100%; }
.home-hero__ticket { padding: var(--space-6); border: var(--border-strong); background: var(--color-acid-green); color: var(--color-raw-black); box-shadow: var(--shadow-hard); transform: rotate(-3deg); }
.home-hero__ticket-copy, .home-hero__ticket-data { display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; }
.home-hero__ticket h1 { max-width: 17ch; margin: 0; font-size: clamp(3.35rem, 5.2vw, 4rem); }
.home-hero__lead { max-width: 44ch; margin: 0; font-size: var(--text-20); }
.home-hero__ticket-data { margin-top: var(--space-5); padding-top: var(--space-5); border-top: var(--border); }
.home-hero__metadata { display: grid; gap: var(--space-2); font-family: var(--font-heading); font-size: var(--text-14); font-weight: 700; overflow-wrap: anywhere; }
.home-hero__access { align-self: flex-start; padding: var(--space-3); border: var(--border); background: var(--color-sharp-yellow); font-family: var(--font-heading); font-size: var(--text-14); line-height: 1.3; }
.home-hero__actions { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); min-width: 0; }
.home-hero__actions p { max-width: 38ch; margin: 0; font-size: var(--text-14); }
.home-hero__photos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); margin-top: var(--space-9); }
.home-hero__photos figure { min-width: 0; margin: 0; border: var(--border-strong); background: var(--color-raw-black); }
.home-hero__photos img { width: 100%; height: 11.5rem; object-fit: cover; }
.home-venue-proof__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-6); align-items: start; }
.home-venue-proof__copy { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.home-venue-proof__copy h2, .home-venue-proof__copy p { margin: 0; }
.home-venue-proof__copy h2 { max-width: 15ch; }
.home-venue-proof__lead { max-width: 54ch; font-size: var(--text-20); }
.home-venue-proof__copy > p:not(.home-venue-proof__lead) { max-width: 56ch; }
.home-venue-proof__image { margin: 0; }
.home-venue-proof__image img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.home-venue-proof__address { display: flex; flex-direction: column; gap: var(--space-3); width: min(100%, 30rem); padding: var(--space-4); border: var(--border); background: var(--color-electric-blue); color: var(--color-crisp-white); }
.home-venue-proof__address p { margin: 0; }
.home-venue-proof__address a { color: var(--color-crisp-white); font-weight: 700; }
.home-venue-proof__facts { display: grid; gap: var(--space-3); width: 100%; }
.home-venue-proof__facts p { margin: 0; max-width: 56ch; }
.home-venue-proof__facts strong { display: inline-block; margin-right: var(--space-2); font-family: var(--font-heading); }
.home-programme { background: var(--color-crisp-white); }
.home-programme__intro { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); width: min(100%, 44rem); min-width: 0; padding: var(--space-5); border: var(--border); background: var(--color-sharp-yellow); }
.home-programme__intro h2, .home-programme__intro p { margin: 0; }
.home-programme__intro p { max-width: 58ch; }
.home-programme__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.home-programme__card { display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; min-height: 29rem; padding: var(--space-5); border: var(--border); box-shadow: var(--shadow-hard); }
.home-programme__card:nth-child(2) { transform: translateY(var(--space-3)); }
.home-programme__card:nth-child(3) { transform: translateY(var(--space-5)); }
.home-programme__card h3, .home-programme__card p { margin: 0; }
.home-programme__card p { max-width: 38ch; }
.home-programme__card a { margin-top: auto; align-self: flex-start; }
.home-programme__card--white { background: var(--color-crisp-white); color: var(--color-raw-black); }
.home-programme__card--blue { background: var(--color-electric-blue); color: var(--color-crisp-white); }
.home-programme__card--blue .meta { color: var(--color-crisp-white); }
.home-programme__card--green { background: var(--color-acid-green); color: var(--color-raw-black); }
.home-programme__card-top { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-2); min-width: 0; }
.home-programme__date { padding: var(--space-3); border: 2px solid currentColor; font-family: var(--font-heading); font-size: var(--text-14); font-weight: 700; line-height: 1.35; }
.home-paths__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-6); }
.home-paths__panel { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); min-width: 0; min-height: 23rem; padding: var(--space-5); border: var(--border); box-shadow: var(--shadow-hard); transition: transform var(--transition-fast); }
.home-paths__panel:nth-child(2) { transform: translateY(var(--space-4)); }
.home-paths__panel h3, .home-paths__panel p { margin: 0; }
.home-paths__panel p { max-width: 42ch; }
.home-paths__panel > span { font-family: var(--font-heading); font-size: var(--text-28); font-weight: 700; }
.home-paths__panel a { margin-top: auto; font-family: var(--font-heading); font-weight: 700; }
.home-paths__panel:hover { transform: translate(-4px, -4px); }
.home-paths__panel--private { background: var(--color-crisp-white); }
.home-paths__panel--business { background: var(--color-electric-blue); color: var(--color-crisp-white); }
.home-paths__panel--business a { color: var(--color-crisp-white); }
.home-paths__panel--experience { background: var(--color-acid-green); }
.home-experience { background: var(--color-crisp-white); }
.home-experience__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); align-items: start; }
.home-experience__image { margin: 0; }
.home-experience__image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.home-experience__content { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.home-experience__content h2, .home-experience__content p { margin: 0; }
.home-experience__content h2 { max-width: 17ch; }
.home-experience__lead { max-width: 55ch; font-size: var(--text-20); }
.home-experience__modules { display: grid; gap: var(--space-3); width: 100%; }
.home-experience__modules article { display: grid; grid-template-columns: 3.5rem minmax(0, 1fr); gap: var(--space-3); min-width: 0; padding: var(--space-4); border: var(--border); background: var(--color-crisp-white); }
.home-experience__modules article > span { align-self: start; padding: var(--space-2); border: 2px solid var(--color-line-black); background: var(--color-acid-green); font-family: var(--font-heading); font-weight: 700; text-align: center; }
.home-experience__modules h3, .home-experience__modules p { margin: 0; }
.home-experience__modules div { display: flex; flex-direction: column; gap: var(--space-2); min-width: 0; }
.home-experience__modules p { max-width: 48ch; }
.home-experience__modules-rule { background: var(--color-sharp-yellow) !important; }
.home-atmosphere { background: var(--color-ink-paper); color: var(--color-crisp-white); padding-bottom: calc(var(--space-9) + 9rem); }
.home-atmosphere__container { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); }
.home-atmosphere__intro { grid-column: 1 / span 6; display: flex; flex-direction: column; gap: var(--space-4); }
.home-atmosphere__intro h2, .home-atmosphere__intro p { margin: 0; }
.home-atmosphere__intro p { max-width: 50ch; font-size: var(--text-20); }
.home-atmosphere__image { grid-column: 3 / span 10; margin: var(--space-5) 0 0; }
.home-atmosphere__image img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.home-atmosphere__proofs { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: -7rem; position: relative; z-index: 1; }
.home-atmosphere__proof { display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; min-height: 14rem; padding: var(--space-5); border: var(--border); box-shadow: var(--shadow-hard); }
.home-atmosphere__proof h3, .home-atmosphere__proof p { margin: 0; }
.home-atmosphere__proof p { max-width: 35ch; }
.home-atmosphere__proof > span { font-family: var(--font-heading); font-weight: 700; }
.home-atmosphere__proof--white { background: var(--color-crisp-white); color: var(--color-raw-black); }
.home-atmosphere__proof--blue { background: var(--color-electric-blue); color: var(--color-crisp-white); }
.home-atmosphere__proof--yellow { background: var(--color-sharp-yellow); color: var(--color-raw-black); }
.home-manifesto__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-6); }
.home-manifesto__item { display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; min-height: 14rem; padding: var(--space-4); border: var(--border); }
.home-manifesto__item h3, .home-manifesto__item p { margin: 0; }
.home-manifesto__item p { max-width: 38ch; }
.home-manifesto__item > span { font-family: var(--font-heading); font-size: var(--text-20); font-weight: 700; }
.home-manifesto__item--green { background: var(--color-acid-green); }
.home-manifesto__item--white { background: var(--color-crisp-white); }
.home-manifesto__item--blue { background: var(--color-electric-blue); color: var(--color-crisp-white); }
.home-manifesto__item--blue a { color: var(--color-crisp-white); }
.home-manifesto__item--yellow { background: var(--color-sharp-yellow); }
.home-practical__intro { display: flex; flex-direction: column; gap: var(--space-4); width: min(100%, 44rem); min-width: 0; }
.home-practical__intro h2, .home-practical__intro p { margin: 0; }
.home-practical__intro p { max-width: 60ch; }
.home-practical__panels { display: grid; gap: var(--space-4); width: min(100%, 65rem); margin-top: var(--space-6); }
.home-practical__panel { display: grid; grid-template-columns: 10rem minmax(0, 1fr); min-width: 0; border: var(--border); background: var(--color-crisp-white); box-shadow: var(--shadow-hard); }
.home-practical__bar { display: flex; align-items: flex-start; min-width: 0; min-height: 2.75rem; padding: var(--space-3); border-right: var(--border); font-family: var(--font-heading); font-weight: 700; }
.home-practical__bar--green { background: var(--color-acid-green); }
.home-practical__bar--blue { background: var(--color-electric-blue); color: var(--color-crisp-white); }
.home-practical__bar--yellow { background: var(--color-sharp-yellow); }
.home-practical__panel > div:last-child { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); min-width: 0; padding: var(--space-4); }
.home-practical__panel h3, .home-practical__panel p { margin: 0; }
.home-practical__panel p { max-width: 62ch; }
.home-final-venue__composition { position: relative; margin-top: var(--space-6); }
.home-final-venue__image { position: relative; margin: 0; }
.home-final-venue__image > span { position: absolute; z-index: 1; top: var(--space-4); right: var(--space-5); color: var(--color-crisp-white); font-family: var(--font-heading); font-size: clamp(4rem, 10vw, 9rem); font-weight: 700; line-height: 1; text-shadow: 3px 3px 0 var(--color-raw-black); }
.home-final-venue__image img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.home-final-venue__panel { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); width: min(100%, 27rem); margin: calc(var(--space-6) * -1) 0 0 var(--space-6); padding: var(--space-5); border: var(--border); background: var(--color-crisp-white); box-shadow: var(--shadow-hard); position: relative; z-index: 2; }
.home-final-venue__panel p { max-width: 50ch; margin: 0; }
.home-final-venue__panel > div { width: 100%; padding: var(--space-3); border: 2px solid var(--color-line-black); background: var(--color-acid-green); font-family: var(--font-heading); font-size: var(--text-14); font-weight: 700; overflow-wrap: anywhere; }
.home-closing { background: var(--color-ink-paper); color: var(--color-crisp-white); }
.home-closing__stamp { display: inline-block; padding: var(--space-2) var(--space-3); border: 2px solid var(--color-line-black); background: var(--color-sharp-yellow); color: var(--color-raw-black); font-family: var(--font-heading); font-size: var(--text-12); font-weight: 700; }
.home-closing h2 { max-width: 22ch; margin-top: var(--space-4); }
.home-closing__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-5); align-items: start; }
.home-closing__card { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); min-width: 0; min-height: 20rem; padding: var(--space-6); border: var(--border); box-shadow: var(--shadow-hard); }
.home-closing__card h3, .home-closing__card p { margin: 0; }
.home-closing__card p { max-width: 45ch; }
.home-closing__card a { margin-top: auto; }
.home-closing__card--events { background: var(--color-acid-green); color: var(--color-raw-black); }
.home-closing__card--contact { margin-top: var(--space-5); background: var(--color-electric-blue); color: var(--color-crisp-white); }
.home-closing__card--contact .button--outline { border-color: var(--color-crisp-white); color: var(--color-crisp-white); }
@media (max-width: 56.24rem) { .home-hero__layout { grid-template-columns: minmax(0, 5fr) minmax(0, 3fr); gap: var(--space-4); } .home-hero__ticket { transform: rotate(-2deg); } .home-hero__photos { margin-top: var(--space-6); } .home-hero__photos img { height: 9rem; } .home-venue-proof__grid { grid-template-columns: 1fr; } .home-venue-proof__image { grid-row: 1; } .home-venue-proof__copy { grid-row: 2; } .home-programme__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-programme__card:nth-child(3) { grid-column: 1 / -1; transform: none; } .home-paths__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-paths__panel:nth-child(3) { grid-column: 1 / -1; } .home-experience__grid { grid-template-columns: 1fr; } .home-atmosphere { padding-bottom: var(--space-9); } .home-atmosphere__container { grid-template-columns: repeat(8, minmax(0, 1fr)); gap: var(--space-5); } .home-atmosphere__intro { grid-column: 1 / span 6; } .home-atmosphere__image { grid-column: 1 / -1; } .home-atmosphere__proofs { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 0; } .home-atmosphere__proof:nth-child(3) { grid-column: 1 / -1; } .home-manifesto__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-closing__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-closing__card { padding: var(--space-5); } }
@media (max-width: 49.99rem) { .home-experience__modules { grid-template-columns: 1fr; } .home-final-venue__panel { width: min(100%, 34rem); margin: var(--space-5) 0 0; } }
@media (max-width: 42.49rem) { .home-hero { padding: var(--space-8) 0; } .home-hero__index { top: -1rem; font-size: 9rem; } .home-hero__layout { grid-template-columns: 1fr; gap: var(--space-5); } .home-hero__ticket { padding: var(--space-4); transform: rotate(-1.5deg); } .home-hero__ticket h1 { font-size: clamp(2.625rem, 11vw, 3rem); line-height: 1.02; } .home-hero__lead { font-size: 1.125rem; } .home-hero__photos { margin-top: 0; gap: var(--space-2); } .home-hero__photos img { height: 8.25rem; } .home-hero__actions { width: 100%; } .home-hero__actions .button { width: 100%; } .home-venue-proof__copy h2, .home-experience__content h2 { max-width: none; } .home-programme__cards, .home-paths__grid, .home-manifesto__grid, .home-closing__grid { grid-template-columns: 1fr; } .home-programme__card, .home-paths__panel, .home-closing__card { min-height: 16rem; transform: none !important; } .home-programme__card:nth-child(3), .home-paths__panel:nth-child(3) { grid-column: auto; } .home-programme__card a, .home-closing__card a { width: 100%; } .home-paths__panel { min-height: 15rem; } .home-paths__panel:nth-child(2) { transform: none; } .home-atmosphere__container { grid-template-columns: 1fr; } .home-atmosphere__intro, .home-atmosphere__image, .home-atmosphere__proofs { grid-column: auto; } .home-atmosphere__intro { width: 100%; } .home-atmosphere__proofs { grid-template-columns: 1fr; } .home-atmosphere__proof:nth-child(3) { grid-column: auto; } .home-atmosphere__proof { min-height: auto; } .home-practical__panel { grid-template-columns: 1fr; } .home-practical__bar { min-height: 2.75rem; border-right: 0; border-bottom: var(--border); align-items: center; } .home-final-venue__image img { aspect-ratio: 4 / 3; } .home-final-venue__panel { padding: var(--space-4); } .home-closing__card--contact { margin-top: 0; } }
@media (prefers-reduced-motion: reduce) { .home-hero__ticket, .home-programme__card, .home-paths__panel, .home-closing__card--contact { transform: none; } .home-paths__panel:hover { transform: none; } }
