:root {
  --black: #090807;
  --black-soft: #17120f;
  --brown: #3a2418;
  --orange: #ef5a29;
  --orange-hot: #ff6b32;
  --latte: #eadbc7;
  --latte-deep: #ceb99f;
  --cream: #fff6e9;
  --muted: #a79584;
  --line-light: rgba(255,246,233,.24);
  --line-dark: rgba(9,8,7,.27);
  --display: "Rye", Georgia, serif;
  --script: "Yellowtail", cursive;
  --body: "DM Sans", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { background: var(--black); }
body { margin: 0; overflow-x: hidden; color: var(--cream); background: var(--black); font-family: var(--body); }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
::selection { color: var(--black); background: var(--orange); }

.skip-link { position: fixed; z-index: 100; top: 12px; left: 12px; padding: 12px 16px; color: var(--black); background: var(--orange); transform: translateY(-180%); }
.skip-link:focus { transform: none; }
.page-shell { width: min(1400px, calc(100% - clamp(40px, 8vw, 132px))); margin-inline: auto; }

.site-header {
  position: absolute;
  z-index: 40;
  top: 0;
  left: 0;
  width: 100%;
  min-height: 84px;
  padding: 12px clamp(20px, 4vw, 64px);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 28px;
  align-items: center;
  background: rgba(9,8,7,.72);
  border-bottom: 1px solid rgba(239,90,41,.55);
  backdrop-filter: blur(12px);
}

.brand { display: flex; align-items: center; gap: 14px; width: max-content; }
.brand img { width: 38px; height: 58px; object-fit: contain; filter: invert(1) contrast(1.7); mix-blend-mode: screen; }
.brand span { font-size: 9px; font-weight: 700; line-height: 1.4; letter-spacing: .1em; text-transform: uppercase; }
.site-header nav { display: flex; gap: clamp(17px, 2.3vw, 36px); }
.site-header nav a { font-size: 10px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.site-header nav a:hover, .site-header nav a:focus-visible { color: var(--orange); }
.header-cta { justify-self: end; padding: 13px 18px; color: var(--black); background: var(--orange); border: 1px solid var(--orange); font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.header-cta:hover, .header-cta:focus-visible { background: var(--latte); border-color: var(--latte); }

.hero { position: relative; min-height: 960px; display: grid; align-items: center; overflow: clip; background: var(--black); }
.hero-image, .hero-shade { position: absolute; inset: -5%; width: 110%; height: 110%; }
.hero-image { object-fit: cover; object-position: center; filter: saturate(.65) contrast(1.12); transform: scale(1.04); will-change: transform; }
.hero-shade { background: linear-gradient(90deg, rgba(9,8,7,.96) 0%, rgba(9,8,7,.78) 42%, rgba(9,8,7,.4) 76%, rgba(239,90,41,.2) 100%), linear-gradient(0deg, rgba(9,8,7,.9), transparent 54%); }
.hero-content { position: relative; z-index: 3; display: grid; grid-template-columns: 1fr minmax(390px, .72fr); gap: clamp(38px, 7vw, 110px); align-items: center; padding-top: 120px; }
.hero-copy { will-change: transform, opacity; }
.hero-kicker { max-width: 400px; margin: 0 0 42px; padding-left: 16px; border-left: 4px solid var(--orange); font-size: 10px; font-weight: 700; line-height: 1.55; letter-spacing: .1em; text-transform: uppercase; }
.hero h1 { margin: 0; font-family: var(--display); font-size: clamp(74px, 8vw, 132px); font-weight: 400; line-height: .82; letter-spacing: -.045em; text-transform: uppercase; }
.hero h1 em { display: inline-block; margin-left: clamp(28px, 5vw, 78px); color: var(--orange); font-family: var(--script); font-size: 1.08em; font-weight: 400; line-height: .7; text-transform: none; }
.hero-tagline { max-width: 430px; margin: 44px 0 0; color: var(--latte); font-size: clamp(18px, 1.8vw, 26px); font-weight: 500; line-height: 1.4; }

.hero-ticket { position: relative; color: var(--black); background: var(--latte); border: 2px solid var(--black); box-shadow: 18px 18px 0 rgba(239,90,41,.92); transform: rotate(1.25deg); will-change: transform, opacity; }
.hero-ticket::before, .hero-ticket::after { content: ""; position: absolute; z-index: 2; left: -14px; width: 26px; aspect-ratio: 1; border-radius: 50%; background: var(--black); border: 2px solid var(--black); }
.hero-ticket::before { top: 29%; }
.hero-ticket::after { bottom: 23%; }
.ticket-cap { min-height: 46px; padding: 0 18px; display: flex; justify-content: space-between; align-items: center; color: var(--black); background: var(--orange); border-bottom: 2px solid var(--black); font-size: 8px; font-weight: 700; letter-spacing: .09em; }
.ticket-main { display: grid; grid-template-columns: 128px 1fr; gap: 20px; align-items: center; padding: 24px 24px 20px; }
.ticket-main img { width: 110px; height: 150px; object-fit: contain; filter: contrast(1.5); mix-blend-mode: multiply; }
.ticket-destination span, .ticket-destination small { display: block; font-size: 8px; font-weight: 700; letter-spacing: .12em; }
.ticket-destination strong { display: block; margin: 10px 0 5px; font-family: var(--display); font-size: clamp(42px, 5vw, 72px); line-height: .85; }
.ticket-route { margin: 0 24px; display: grid; grid-template-columns: 1.2fr 1.6fr .7fr; border-block: 1px dashed var(--black); }
.ticket-route div { padding: 15px 13px 15px 0; border-right: 1px dashed var(--black); }
.ticket-route div:not(:first-child) { padding-left: 13px; }
.ticket-route div:last-child { border-right: 0; }
.ticket-route dt { margin-bottom: 7px; color: #725c48; font-size: 7px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.ticket-route dd { margin: 0; font-size: 10px; font-weight: 700; text-transform: uppercase; }
.ticket-footer { min-height: 74px; padding: 14px 24px; display: grid; grid-template-columns: 1fr auto auto; gap: 18px; align-items: center; }
.ticket-footer > span { font-size: 8px; font-weight: 700; letter-spacing: .12em; }
.ticket-footer > strong { font-family: var(--display); font-size: 16px; }
.barcode { height: 40px; background: repeating-linear-gradient(90deg, var(--black) 0 2px, transparent 2px 5px, var(--black) 5px 9px, transparent 9px 13px); }
.hero-actions { grid-column: 1 / -1; display: flex; gap: 12px; margin-top: -12px; will-change: transform, opacity; }
.button { display: inline-flex; min-height: 52px; padding: 0 22px; align-items: center; justify-content: center; border: 1px solid currentColor; font-size: 9px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.button-orange { color: var(--black); background: var(--orange); border-color: var(--orange); }
.button-orange:hover, .button-orange:focus-visible { background: var(--latte); border-color: var(--latte); }
.button-line { color: var(--cream); background: rgba(9,8,7,.4); }
.button-line:hover, .button-line:focus-visible { color: var(--black); background: var(--latte); }
.button-yellow { color: var(--black); background: var(--orange); border-color: var(--orange); }
.button-yellow:hover, .button-yellow:focus-visible { background: var(--cream); border-color: var(--cream); }
.hero-organizer { position: absolute; z-index: 3; right: clamp(24px, 5vw, 74px); bottom: 26px; margin: 0; color: var(--latte); font-size: 8px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }

.fact-strip { display: grid; grid-template-columns: repeat(4, 1fr); color: var(--cream); background: var(--black); border-block: 2px solid var(--orange); }
.fact-strip div { min-height: 152px; padding: 28px clamp(20px, 4vw, 54px); display: flex; flex-direction: column; justify-content: center; border-right: 1px dashed rgba(239,90,41,.6); }
.fact-strip div:last-child { border-right: 0; }
.fact-strip strong { color: var(--orange); font-family: var(--display); font-size: clamp(38px, 4.6vw, 66px); font-weight: 400; line-height: .88; }
.fact-strip span { margin-top: 13px; color: var(--latte); font-size: 9px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }

.section-label { width: max-content; padding: 9px 12px; color: var(--black); background: var(--orange); font-size: 8px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.intro { padding-block: clamp(100px, 12vw, 180px); color: var(--black); background: var(--latte); box-shadow: 0 0 0 100vmax var(--latte); clip-path: inset(0 -100vmax); }
.intro-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(50px, 8vw, 120px); margin-top: 52px; align-items: start; }
.intro-title { position: sticky; top: 28px; }
.intro h2, .section-heading h2, .memory h2, .venue h2, .signup h2, .adana-content h2 { margin: 0; font-family: var(--display); font-size: clamp(54px, 6.5vw, 98px); font-weight: 400; line-height: .95; letter-spacing: -.035em; }
h2 em { color: var(--orange); font-family: var(--script); font-size: 1.08em; font-weight: 400; line-height: .72; }
.yellow-rule { display: block; width: 72%; height: 8px; margin-top: 34px; background: var(--orange); }
.intro-copy { padding-top: 9px; }
.intro-copy p { margin: 0 0 22px; color: #5e4a3c; font-size: 15px; line-height: 1.72; }
.intro-copy .lead { color: var(--black); font-size: clamp(20px, 2vw, 27px); font-weight: 600; line-height: 1.42; }
.intro-photo { grid-column: 1 / -1; position: relative; margin: 34px 0 0; border: 8px solid var(--black); box-shadow: 16px 16px 0 var(--orange); }
.intro-photo img { width: 100%; height: min(58vw, 640px); object-fit: cover; object-position: center 62%; }
.intro-photo figcaption { position: absolute; right: 0; bottom: 0; padding: 12px 16px; color: var(--black); background: var(--orange); font-size: 9px; font-weight: 700; text-transform: uppercase; }

.purpose-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 88px; border: 2px solid var(--black); background: var(--black); gap: 2px; }
.purpose-grid article { position: relative; min-height: 250px; padding: 22px; background: var(--cream); }
.purpose-grid article:nth-child(even) { background: var(--orange); }
.purpose-grid article::after { content: ""; position: absolute; right: -9px; top: 50%; width: 16px; aspect-ratio: 1; border-radius: 50%; background: var(--black); transform: translateY(-50%); }
.purpose-grid article:last-child::after { display: none; }
.purpose-grid span { font-size: 9px; font-weight: 700; }
.purpose-grid h3 { margin: 48px 0 13px; font-family: var(--display); font-size: 29px; font-weight: 400; line-height: 1; }
.purpose-grid p { margin: 0; color: #604d3e; font-size: 12px; line-height: 1.58; }

.adana-story { min-height: 830px; display: grid; grid-template-columns: 1.15fr .85fr; background: var(--black); }
.adana-photo { min-height: 720px; padding: clamp(20px, 3vw, 46px); }
.adana-photo img { width: 100%; height: 100%; object-fit: cover; border: 1px solid var(--orange); filter: saturate(.8) contrast(1.06); }
.adana-content { padding: clamp(70px, 8vw, 125px) clamp(36px, 7vw, 104px); color: var(--black); background: var(--orange); }
.adana-content .section-label { color: var(--cream); background: var(--black); }
.adana-content .quote { margin: 58px 0 16px; font-family: var(--script); font-size: 30px; }
.adana-content h2 { font-size: clamp(48px, 5.5vw, 82px); }
.adana-content h2 em { color: var(--cream); }
.adana-content > p:not(.quote) { max-width: 56ch; margin: 28px 0 0; color: #4e2d1e; font-size: 14px; line-height: 1.7; }
.adana-content blockquote { margin: 44px 0 0; padding: 22px 0; border-block: 2px dashed var(--black); font-family: var(--display); font-size: clamp(20px, 2vw, 29px); line-height: 1.25; }

.coffee-culture { padding-block: clamp(100px, 12vw, 170px); }
.section-heading { display: grid; grid-template-columns: 1.2fr .8fr; gap: 8vw; align-items: end; }
.section-heading .section-label { margin-bottom: 38px; }
.section-heading > p { margin: 0 0 6px; color: var(--muted); font-size: 14px; line-height: 1.7; }
.coffee-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin-top: 78px; }
.coffee-grid article { position: relative; min-height: 330px; display: grid; grid-template-columns: .76fr 1.24fr; color: var(--black); background: var(--latte); border: 2px solid var(--orange); }
.coffee-grid article:nth-child(2), .coffee-grid article:nth-child(3) { background: var(--orange); border-color: var(--latte); }
.coffee-grid article::before, .coffee-grid article::after { content: ""; position: absolute; z-index: 2; right: 38%; width: 22px; aspect-ratio: 1; border-radius: 50%; background: var(--black); transform: translateX(50%); }
.coffee-grid article::before { top: -12px; }
.coffee-grid article::after { bottom: -12px; }
.coffee-grid img { width: 100%; height: 100%; object-fit: cover; border-right: 2px dashed var(--black); }
.coffee-grid article > div { padding: 28px; }
.coffee-grid span { font-size: 9px; font-weight: 700; }
.coffee-grid h3 { margin: 52px 0 13px; font-family: var(--display); font-size: clamp(25px, 2.7vw, 40px); font-weight: 400; line-height: 1.03; }
.coffee-grid p { margin: 0; color: #5d493b; font-size: 12px; line-height: 1.58; }

.experiences { padding-block: clamp(100px, 12vw, 170px); color: var(--black); background: var(--latte); }
.section-heading-light .section-label { color: var(--black); }
.section-heading-light > p { color: #604d3f; }
.experience-mosaic { display: grid; grid-template-columns: repeat(12, 1fr); grid-auto-rows: 300px; gap: 14px; margin-top: 78px; }
.experience-mosaic article { position: relative; overflow: hidden; padding: 28px; border: 2px solid var(--black); }
.experience-mosaic article > span, .experience-mosaic article div > span { font-size: 9px; font-weight: 700; letter-spacing: .1em; }
.experience-mosaic h3 { margin: 44px 0 12px; font-family: var(--display); font-size: clamp(25px, 3vw, 44px); font-weight: 400; line-height: .98; }
.experience-mosaic p { margin: 0; max-width: 35ch; font-size: 12px; line-height: 1.55; }
.experience-photo { grid-column: span 4; color: var(--cream); }
.experience-photo.experience-large { grid-column: span 8; grid-row: span 2; }
.experience-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.experience-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(9,8,7,.94), rgba(9,8,7,.03) 70%); }
.experience-photo > div { position: absolute; z-index: 1; left: 28px; right: 28px; bottom: 26px; }
.experience-photo h3 { margin-top: 16px; }
.experience-yellow { grid-column: span 4; background: var(--orange); }
.experience-paper { grid-column: span 4; background: var(--cream); }
.experience-dark { grid-column: span 4; color: var(--cream); background: var(--black); }
.experience-dark span { color: var(--orange); }

.memory { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(50px, 8vw, 110px); padding-block: clamp(110px, 13vw, 185px); align-items: center; }
.memory-copy .section-label { margin-bottom: 44px; }
.memory-copy > p { margin: 34px 0 0; color: var(--muted); font-size: 14px; line-height: 1.72; }
.memory-stats { display: grid; grid-template-columns: 1fr 1fr; margin-top: 46px; border-top: 2px dashed var(--orange); }
.memory-stats div { padding-top: 18px; }
.memory-stats strong, .memory-stats span { display: block; }
.memory-stats strong { color: var(--orange); font-family: var(--display); font-size: 48px; font-weight: 400; line-height: 1; }
.memory-stats span { margin-top: 7px; font-size: 8px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.memory-collage { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 12px; min-height: 640px; padding: 14px; background: var(--latte); box-shadow: 16px 16px 0 var(--orange); }
.memory-collage img { width: 100%; height: 100%; object-fit: cover; border: 2px solid var(--black); }
.memory-collage .memory-main { grid-row: 1 / -1; }

.venue { min-height: 800px; display: grid; grid-template-columns: 1.05fr .95fr; color: var(--black); background: var(--orange); }
.venue-map { margin: clamp(22px, 4vw, 56px); padding: clamp(16px, 2vw, 28px); background: var(--latte); border: 2px solid var(--black); box-shadow: 13px 13px 0 var(--black); }
.venue-map img { width: 100%; height: 100%; object-fit: contain; }
.venue-copy { padding: clamp(70px, 8vw, 125px) clamp(36px, 7vw, 104px); display: flex; flex-direction: column; justify-content: center; }
.venue-copy .section-label { margin-bottom: 48px; color: var(--cream); background: var(--black); }
.venue h2 em { color: var(--cream); }
.venue dl { margin: 44px 0 40px; border-top: 2px dashed var(--black); }
.venue dl div { display: grid; grid-template-columns: 90px 1fr; gap: 22px; padding: 17px 0; border-bottom: 2px dashed var(--black); }
.venue dt { color: #6d3924; font-size: 8px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.venue dd { margin: 0; font-size: 13px; font-weight: 700; }
.venue .button { align-self: flex-start; color: var(--cream); background: var(--black); border-color: var(--black); }

.signup { position: relative; min-height: 720px; display: grid; align-items: center; overflow: hidden; }
.signup > img, .signup-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.signup > img { object-fit: cover; }
.signup-shade { background: linear-gradient(90deg, rgba(9,8,7,.97), rgba(9,8,7,.55)); }
.signup-content { position: relative; display: grid; grid-template-columns: 1fr .9fr; gap: 8vw; align-items: center; }
.signup .section-label { margin-bottom: 38px; }
.signup-form { position: relative; padding: clamp(30px, 4vw, 52px); color: var(--black); background: var(--latte); border: 2px solid var(--black); box-shadow: 16px 16px 0 var(--orange); }
.signup-form::before, .signup-form::after { content: ""; position: absolute; left: -14px; width: 26px; aspect-ratio: 1; border-radius: 50%; background: var(--black); }
.signup-form::before { top: 29%; }
.signup-form::after { bottom: 23%; }
.signup-form > label:first-child { display: block; margin-bottom: 24px; padding-bottom: 18px; border-bottom: 2px dashed var(--black); font-family: var(--display); font-size: 24px; font-weight: 400; line-height: 1.25; }
.input-row { display: grid; grid-template-columns: 1fr auto; border: 2px solid var(--black); }
.input-row input { min-width: 0; height: 58px; padding: 0 15px; border: 0; color: var(--black); background: var(--cream); outline: 0; }
.input-row input:focus { box-shadow: inset 0 0 0 3px var(--orange); }
.input-row button { border: 0; padding: 0 18px; color: var(--cream); background: var(--black); cursor: pointer; font-size: 9px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.input-row button:hover, .input-row button:focus-visible { color: var(--black); background: var(--orange); }
.consent { display: flex; gap: 9px; margin-top: 15px; align-items: flex-start; color: #6d5a4b; font-size: 9px; line-height: 1.5; }
.consent input { accent-color: var(--orange); }
.form-status { min-height: 20px; margin: 15px 0 0; font-size: 10px; font-weight: 700; }
.form-status.is-success { color: #22662c; }

.site-footer { min-height: 310px; display: grid; grid-template-columns: .6fr .8fr 1fr auto; gap: 48px; align-items: center; border-top: 1px solid var(--line-light); }
.site-footer > img { width: 148px; filter: invert(1) contrast(1.7); mix-blend-mode: screen; }
.site-footer div { display: flex; flex-direction: column; gap: 8px; }
.site-footer div > span { color: var(--muted); font-size: 8px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.site-footer div > strong { max-width: 30ch; font-family: var(--display); font-size: 18px; font-weight: 400; }
.site-footer > a { padding-bottom: 7px; border-bottom: 2px solid var(--orange); color: var(--orange); font-size: 9px; font-weight: 700; text-transform: uppercase; }

:focus-visible { outline: 3px solid var(--orange); outline-offset: 4px; }

@media (max-width: 1100px) {
  .site-header { grid-template-columns: 1fr auto; }
  .site-header nav { grid-column: 1 / -1; grid-row: 2; padding-top: 9px; border-top: 1px solid rgba(239,90,41,.35); justify-content: space-between; }
  .hero { min-height: 1080px; }
  .hero-content { grid-template-columns: 1fr .9fr; padding-top: 155px; }
  .hero h1 { font-size: clamp(68px, 8.7vw, 110px); }
  .ticket-main { grid-template-columns: 92px 1fr; }
  .ticket-main img { width: 84px; height: 125px; }
  .purpose-grid { grid-template-columns: repeat(2, 1fr); }
  .purpose-grid article:nth-child(2)::after { display: none; }
  .coffee-grid article { grid-template-columns: 1fr; }
  .coffee-grid article::before, .coffee-grid article::after { right: 50%; }
  .coffee-grid img { height: 240px; border-right: 0; border-bottom: 2px dashed var(--black); }
  .experience-photo.experience-large { grid-column: span 12; grid-row: span 1; }
  .experience-photo, .experience-yellow, .experience-paper, .experience-dark { grid-column: span 6; }
  .memory { grid-template-columns: 1fr; }
  .memory-collage { min-height: 590px; }
}

@media (max-width: 760px) {
  .page-shell { width: calc(100% - 36px); }
  .site-header { min-height: 70px; padding: 8px 18px; gap: 9px; }
  .brand img { width: 30px; height: 52px; }
  .brand span { display: none; }
  .header-cta { padding: 10px 12px; }
  .site-header nav { gap: 17px; overflow-x: auto; justify-content: flex-start; scrollbar-width: none; }
  .site-header nav a { flex: 0 0 auto; font-size: 8px; }
  .hero { min-height: 1200px; align-items: start; }
  .hero-content { grid-template-columns: 1fr; gap: 48px; padding-top: 142px; }
  .hero-kicker { max-width: 280px; margin-bottom: 48px; font-size: 8px; }
  .hero h1 { font-size: clamp(58px, 18.5vw, 82px); line-height: .86; }
  .hero h1 em { margin-left: 8vw; }
  .hero-tagline { margin-top: 34px; font-size: 18px; }
  .hero-ticket { width: calc(100% - 10px); margin-left: 0; box-shadow: 10px 10px 0 var(--orange); }
  .ticket-main { grid-template-columns: 78px 1fr; gap: 12px; padding: 18px; }
  .ticket-main img { width: 70px; height: 104px; }
  .ticket-destination strong { font-size: 39px; }
  .ticket-route { margin-inline: 18px; grid-template-columns: 1fr 1fr; }
  .ticket-route div { padding: 13px 8px 13px 0; }
  .ticket-route div:nth-child(2) { border-right: 0; }
  .ticket-route div:last-child { grid-column: 1 / -1; padding-left: 0; border-top: 1px dashed var(--black); }
  .ticket-footer { grid-template-columns: 1fr auto; padding-inline: 18px; }
  .ticket-footer > span { display: none; }
  .hero-actions { flex-direction: column; margin-top: -6px; }
  .hero-organizer { right: 18px; bottom: 18px; max-width: 280px; text-align: right; line-height: 1.5; }
  .fact-strip { grid-template-columns: repeat(2, 1fr); }
  .fact-strip div { min-height: 116px; border-bottom: 1px dashed rgba(239,90,41,.6); }
  .fact-strip div:nth-child(2) { border-right: 0; }
  .fact-strip div:nth-child(n+3) { border-bottom: 0; }
  .intro-grid, .section-heading, .signup-content { grid-template-columns: 1fr; }
  .intro-title { position: static; }
  .intro h2, .section-heading h2, .memory h2, .venue h2, .signup h2, .adana-content h2 { font-size: clamp(44px, 12.7vw, 66px); }
  .intro-photo { border-width: 4px; box-shadow: 9px 9px 0 var(--orange); }
  .intro-photo img { height: 420px; }
  .purpose-grid { grid-template-columns: 1fr; }
  .purpose-grid article { min-height: 200px; }
  .purpose-grid article::after { right: 50%; top: auto; bottom: -9px; transform: translateX(50%); }
  .purpose-grid article:nth-child(2)::after { display: block; }
  .adana-story, .venue { grid-template-columns: 1fr; }
  .adana-photo { min-height: 430px; padding: 18px; }
  .adana-content { padding: 72px 18px 86px; }
  .adana-content .quote { margin-top: 44px; }
  .section-heading { gap: 34px; }
  .coffee-grid { grid-template-columns: 1fr; }
  .coffee-grid article { min-height: auto; }
  .coffee-grid img { height: 270px; }
  .coffee-grid h3 { margin-top: 40px; }
  .experience-mosaic { grid-template-columns: 1fr; grid-auto-rows: auto; }
  .experience-photo.experience-large, .experience-photo, .experience-yellow, .experience-paper, .experience-dark { grid-column: 1; min-height: 330px; }
  .experience-yellow, .experience-paper, .experience-dark { min-height: 270px; }
  .memory-collage { min-height: 700px; grid-template-columns: 1fr; grid-template-rows: repeat(3, 1fr); box-shadow: 9px 9px 0 var(--orange); }
  .memory-collage .memory-main { grid-row: auto; }
  .venue-map { min-height: 580px; margin: 18px; box-shadow: 8px 8px 0 var(--black); }
  .venue-copy { padding: 72px 18px 86px; }
  .signup { min-height: 940px; }
  .signup-content { gap: 54px; }
  .signup-form { box-shadow: 10px 10px 0 var(--orange); }
  .input-row { grid-template-columns: 1fr; }
  .input-row button { min-height: 52px; }
  .site-footer { grid-template-columns: 1fr; gap: 26px; padding-block: 68px; }
  .site-footer > img { width: 118px; }
  .site-footer > a { width: max-content; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-image, .hero-copy, .hero-ticket, .hero-actions { transform: none !important; opacity: 1 !important; }
}
