/* ============================================================
   Monteriva — RAW / Anti-Design
   Намеренное нарушение: overlap, странные масштабы, кривое выравнивание
   ============================================================ */

:root{
  --bg:            #F2F0EA;
  --bg-ink:        #0B0B0B;
  --panel:         #FFFFFF;
  --ink:           #0B0B0B;
  --ink-soft:      #3A3A3A;
  --acid:          #D6FF00;
  --signal:        #FF2A00;
  --cyan:          #00D4FF;
  --mud:           #8B7355;
  --line:          #0B0B0B;
  --maxw:          1240px;
  --display: "Anton", "Impact", "Arial Black", sans-serif;
  --sans:    "Syne", "Helvetica Neue", Arial, sans-serif;
  --mono:    "IBM Plex Mono", "Courier New", monospace;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  background:
    repeating-linear-gradient(0deg, transparent, transparent 3px, rgba(0,0,0,0.02) 3px, rgba(0,0,0,0.02) 4px),
    var(--bg);
  color:var(--ink);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.45;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg{ max-width:100%; display:block; }
a{ color:inherit; }
h1,h2,h3,h4{
  font-family:var(--display);
  font-weight:400;
  line-height:0.88;
  letter-spacing:-0.02em;
  margin:0 0 0.35em;
  text-transform:uppercase;
  color:var(--ink);
}
h1{ font-size:clamp(3.2rem, 11vw, 7.5rem); max-width:14ch; }
h2{ font-size:clamp(2.2rem, 6vw, 4.2rem); max-width:18ch; }
h3{ font-size:clamp(1.4rem, 3vw, 2rem); }
p{ margin:0 0 1em; max-width:48ch; color:var(--ink-soft); font-size:0.98rem; }
.lead{ font-size:1.05rem; font-family:var(--mono); max-width:42ch; }
.container{ max-width:var(--maxw); margin:0 auto; padding:0 22px; position:relative; }
section{ padding:72px 0; position:relative; }
.section-alt{
  background:var(--bg-ink);
  color:#F2F0EA;
}
.section-alt h1,.section-alt h2,.section-alt h3,.section-alt h4{ color:#F2F0EA; }
.section-alt p,.section-alt .lead,.section-alt .kicker{ color:#C8C4BA; }
.section-alt .kicker{ background:var(--acid); color:var(--bg-ink); }

.kicker{
  display:inline-block;
  font-family:var(--mono);
  font-size:0.72rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  background:var(--signal);
  color:#fff;
  padding:4px 10px;
  margin-bottom:1em;
  transform:rotate(-2deg);
  border:2px solid var(--ink);
}
.rule{ display:none; }

/* Buttons — raw stamped */
.btn{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--mono);
  font-size:0.78rem;
  letter-spacing:0.06em;
  text-transform:uppercase;
  padding:14px 22px;
  border:3px solid var(--ink);
  cursor:pointer;
  text-decoration:none;
  background:var(--panel);
  color:var(--ink);
  box-shadow:6px 6px 0 var(--ink);
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  position:relative;
}
.btn:hover{
  transform:translate(3px,3px) rotate(-1deg);
  box-shadow:3px 3px 0 var(--ink);
}
.btn-primary{ background:var(--acid); }
.btn-outline{ background:transparent; }
.btn-gold{ background:var(--cyan); }
.btn:focus-visible, a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{
  outline:3px solid var(--signal); outline-offset:3px;
}

/* Header — crooked sticky strip */
header.site{
  position:sticky; top:0; z-index:40;
  background:var(--acid);
  border-bottom:4px solid var(--ink);
  transform:none;
}
.nav-row{
  display:flex; align-items:center; justify-content:space-between;
  padding:10px 0;
  gap:16px;
}
.logo-link{ display:flex; align-items:center; transform:rotate(-3deg); }
.logo-link img{ height:36px; width:auto; mix-blend-mode:multiply; }
nav.primary ul{
  list-style:none; display:flex; gap:4px 18px; margin:0; padding:0;
  font-family:var(--mono); font-size:0.78rem; text-transform:uppercase; letter-spacing:0.04em;
  flex-wrap:wrap; justify-content:flex-end;
}
nav.primary a{
  text-decoration:none; color:var(--ink);
  padding:4px 2px;
  border-bottom:3px solid transparent;
}
nav.primary a:hover, nav.primary a[aria-current="page"]{
  border-color:var(--signal); background:var(--panel);
  transform:skewX(-8deg);
  display:inline-block;
}
.nav-toggle{
  display:none; background:var(--panel); border:3px solid var(--ink);
  width:46px; height:46px; cursor:pointer; position:relative;
  box-shadow:3px 3px 0 var(--ink);
}
.nav-toggle span, .nav-toggle span::before, .nav-toggle span::after{
  content:""; position:absolute; left:10px; right:10px; height:3px; background:var(--ink);
}
.nav-toggle span{ top:21px; }
.nav-toggle span::before{ top:-8px; }
.nav-toggle span::after{ top:8px; }

/* ========== HERO: full-bleed + stacked mess ========== */
.hero{
  padding:0;
  display:block;
  position:relative;
  min-height:min(92vh, 820px);
  overflow:hidden;
  background:var(--bg-ink);
  color:#F2F0EA;
}
.hero > .container.hero{
  display:block;
  position:relative;
  min-height:min(92vh, 820px);
  padding:0 !important;
  max-width:none;
}
.hero-art{
  position:absolute;
  inset:0;
  border:none;
  border-radius:0;
  box-shadow:none;
  z-index:0;
  overflow:hidden;
}
.hero-art picture,
.hero-art img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.08) translateX(4%);
  filter:contrast(1.2) saturate(0.9) brightness(0.95);
}
.hero-art::after{
  content:"";
  position:absolute; inset:0;
  background:
    linear-gradient(105deg, rgba(11,11,11,0.72) 0%, rgba(11,11,11,0.28) 42%, rgba(11,11,11,0.08) 70%, transparent 85%),
    repeating-linear-gradient(-12deg, transparent, transparent 8px, rgba(214,255,0,0.04) 8px, rgba(214,255,0,0.04) 9px);
  pointer-events:none;
}
.hero-copy{
  position:relative;
  z-index:2;
  padding:100px 22px 80px;
  max-width:var(--maxw);
  margin:0 auto;
  color:#F2F0EA;
}
.hero-copy h1{ color:#F2F0EA; mix-blend-mode:normal; }
.hero-copy .lead{ color:#D4D0C6; }
.hero-copy .meta-line{
  font-family:var(--mono);
  font-size:0.7rem;
  letter-spacing:0.18em;
  color:var(--bg-ink);
  background:var(--cyan);
  display:inline-block;
  padding:6px 12px;
  margin-bottom:22px;
  transform:rotate(2deg) translateX(-8px);
  border:2px solid var(--acid);
  animation:stamp-in .6s ease both;
}
.hero-actions{ display:flex; gap:14px; flex-wrap:wrap; margin-top:28px; }
.hero .btn-outline{ color:#F2F0EA; border-color:#F2F0EA; box-shadow:6px 6px 0 var(--signal); }
.hero .btn-outline:hover{ background:var(--signal); color:#fff; }

/* Floating stamp overlays on hero */
.hero-stamp{
  position:absolute;
  z-index:3;
  font-family:var(--display);
  text-transform:uppercase;
  border:4px solid var(--signal);
  color:var(--signal);
  padding:8px 16px;
  font-size:clamp(1.4rem, 4vw, 2.6rem);
  letter-spacing:0.06em;
  transform:rotate(-14deg);
  pointer-events:none;
  mix-blend-mode:screen;
  animation:float-stamp 5s ease-in-out infinite;
}
.hero-stamp--18{
  right:8%;
  top:18%;
  font-size:clamp(2.5rem, 8vw, 5rem);
  border-width:6px;
  border-radius:50%;
  width:clamp(90px, 16vw, 160px);
  height:clamp(90px, 16vw, 160px);
  display:flex; align-items:center; justify-content:center;
  padding:0;
  transform:rotate(12deg);
}
.hero-stamp--raw{
  left:42%;
  bottom:14%;
  background:var(--acid);
  color:var(--bg-ink);
  border-color:var(--bg-ink);
  mix-blend-mode:normal;
  font-size:clamp(1rem, 2.5vw, 1.6rem);
}

.stat-row{
  display:flex;
  gap:0;
  margin-top:48px;
  flex-wrap:wrap;
  position:relative;
}
.stat-row .stat{
  border:3px solid #F2F0EA;
  background:rgba(11,11,11,0.55);
  padding:16px 22px;
  margin-left:-12px;
  transform:rotate(var(--r, -2deg));
  backdrop-filter:blur(4px);
}
.stat-row .stat:nth-child(1){ --r:-3deg; z-index:3; }
.stat-row .stat:nth-child(2){ --r:2deg; z-index:2; margin-top:18px; }
.stat-row .stat:nth-child(3){ --r:-1deg; z-index:1; margin-top:-8px; }
.stat-row .stat b{
  display:block;
  font-family:var(--display);
  font-size:clamp(2.4rem, 5vw, 3.6rem);
  color:var(--acid);
  line-height:0.9;
}
.stat-row .stat span{
  font-family:var(--mono);
  font-size:0.68rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#C8C4BA;
}

/* Gallery / halls — overlapping cards */
.hall-grid{
  display:grid;
  grid-template-columns:1.1fr 0.9fr 1fr;
  gap:0;
  margin-top:56px;
  align-items:start;
}
.hall-card{
  background:var(--panel);
  border:3px solid var(--ink);
  border-radius:0;
  overflow:visible;
  box-shadow:none;
  position:relative;
  transition:transform .25s ease;
}
.hall-card:nth-child(1){
  transform:rotate(-2.5deg) translateY(12px);
  z-index:3;
  margin-right:-28px;
}
.hall-card:nth-child(2){
  transform:rotate(1.8deg) scale(1.08);
  z-index:4;
  margin-top:-24px;
}
.hall-card:nth-child(3){
  transform:rotate(-1deg) translateY(36px);
  z-index:2;
  margin-left:-20px;
}
.hall-card:hover{
  transform:rotate(0deg) scale(1.04) translateY(-6px);
  z-index:10;
  box-shadow:12px 12px 0 var(--acid);
}
.section-alt .hall-card{ background:#1A1A1A; border-color:#F2F0EA; }
.section-alt .hall-card h3{ color:#F2F0EA; }
.section-alt .hall-card p{ color:#B8B4AA; }
.section-alt .hall-card:hover{ box-shadow:12px 12px 0 var(--cyan); }

.hall-card figure{
  margin:0;
  aspect-ratio:5/4;
  overflow:hidden;
  border-bottom:3px solid var(--ink);
  position:relative;
}
.section-alt .hall-card figure{ border-color:#F2F0EA; }
.hall-card figure img{
  width:100%; height:100%; object-fit:cover;
  transform:scale(1.12) translate(-4%, 2%);
  filter:grayscale(0.15) contrast(1.1);
  transition:transform .4s ease, filter .4s ease;
}
.hall-card:hover figure img{
  transform:scale(1.2) translate(2%, -2%) rotate(-2deg);
  filter:grayscale(0) contrast(1.2);
}
.hall-card .hall-body{
  padding:18px 16px 22px;
  position:relative;
}
.hall-card h3{
  margin-bottom:6px;
  font-size:clamp(1.6rem, 3vw, 2.2rem);
  transform:translateX(-6px);
}
.hall-card p{ margin:0; font-size:0.88rem; font-family:var(--mono); max-width:none; }
.hall-card .hall-index{
  position:absolute;
  top:-18px; right:10px;
  font-family:var(--display);
  font-size:3.5rem;
  line-height:1;
  color:var(--signal);
  opacity:0.9;
  pointer-events:none;
  transform:rotate(8deg);
}

/* Principles / text-only hall cards */
.hall-card:not(:has(figure)) .hall-body{ padding-top:28px; }
.hall-grid:has(> :nth-child(4)){
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.hall-grid:has(> :nth-child(4)) .hall-card:nth-child(1),
.hall-grid:has(> :nth-child(4)) .hall-card:nth-child(2),
.hall-grid:has(> :nth-child(4)) .hall-card:nth-child(3),
.hall-grid:has(> :nth-child(4)) .hall-card:nth-child(4){
  margin:0;
  transform:rotate(var(--r, -1deg));
}
.hall-grid:has(> :nth-child(4)) .hall-card:nth-child(1){ --r:-1.5deg; }
.hall-grid:has(> :nth-child(4)) .hall-card:nth-child(2){ --r:1.2deg; margin-top:16px; }
.hall-grid:has(> :nth-child(4)) .hall-card:nth-child(3){ --r:0.8deg; margin-top:-8px; }
.hall-grid:has(> :nth-child(4)) .hall-card:nth-child(4){ --r:-1deg; margin-top:20px; }
.feature{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  align-items:center;
  position:relative;
}
.feature > div:first-child,
.feature > div:last-child{ position:relative; }
.feature.reverse .feature-art{ order:2; }
.feature-art{
  border-radius:0;
  overflow:hidden;
  border:4px solid var(--ink);
  box-shadow:none;
  transform:rotate(-1.5deg) scale(1.06);
  margin:20px -10px;
  z-index:1;
}
.feature.reverse .feature-art{ transform:rotate(2deg) scale(1.1) translateX(-24px); }
.feature-art img{ width:100%; height:100%; object-fit:cover; min-height:280px; }
.feature > div:not(.feature-art){
  z-index:2;
  background:var(--panel);
  border:3px solid var(--ink);
  padding:32px 28px;
  margin:40px -20px 0;
  transform:rotate(1deg);
  box-shadow:10px 10px 0 var(--signal);
}
.section-alt .feature > div:not(.feature-art){
  background:#161616;
  border-color:#F2F0EA;
  box-shadow:10px 10px 0 var(--acid);
  color:#F2F0EA;
}
.section-alt .feature > div:not(.feature-art) p,
.section-alt .feature > div:not(.feature-art) li{ color:#C8C4BA; }
.feature-list{ list-style:none; margin:18px 0 0; padding:0; }
.feature-list li{
  padding:10px 0 10px 22px;
  border-top:2px dashed var(--ink);
  position:relative;
  color:var(--ink-soft);
  font-family:var(--mono);
  font-size:0.86rem;
}
.section-alt .feature-list li{ border-color:#555; }
.feature-list li:first-child{ border-top:none; }
.feature-list li::before{
  content:"×";
  position:absolute; left:0; top:8px;
  font-size:1.1rem; color:var(--signal); font-weight:700;
}

/* Info / contact strip */
.info-grid{
  display:grid;
  grid-template-columns:1.2fr 0.8fr 1fr 1.1fr;
  gap:12px;
  border:none;
  background:transparent;
  margin-top:36px;
}
.info-cell{
  padding:24px 20px;
  border:3px solid var(--ink);
  background:var(--panel);
  transform:rotate(var(--r, 0deg));
}
.section-alt .info-cell{
  background:#141414;
  border-color:#F2F0EA;
}
.info-cell:nth-child(1){ --r:-1.5deg; margin-top:20px; }
.info-cell:nth-child(2){ --r:2deg; margin-top:-10px; }
.info-cell:nth-child(3){ --r:-0.5deg; margin-top:28px; }
.info-cell:nth-child(4){ --r:1.5deg; margin-top:4px; }
.info-cell h4{
  font-family:var(--mono);
  text-transform:uppercase;
  letter-spacing:0.1em;
  font-size:0.68rem;
  color:var(--signal);
  margin-bottom:10px;
  line-height:1.2;
}
.section-alt .info-cell h4{ color:var(--acid); }
.info-cell p{ margin:0; font-size:0.92rem; color:var(--ink); max-width:none; }
.section-alt .info-cell p{ color:#E8E4DA; }
.info-cell a{ color:inherit; text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:2px; }

/* Address cards */
.address-grid{
  display:grid;
  grid-template-columns:0.9fr 1.15fr 0.95fr;
  gap:0;
  margin-top:48px;
}
.address-card{
  background:var(--panel);
  border:3px solid var(--ink);
  padding:28px 22px;
  border-radius:0;
  position:relative;
}
.address-card:nth-child(1){ transform:rotate(-2deg); z-index:2; margin-right:-16px; }
.address-card:nth-child(2){ transform:rotate(1.5deg) scale(1.05); z-index:3; margin-top:-20px; background:var(--acid); }
.address-card:nth-child(3){ transform:rotate(-1deg); z-index:1; margin-left:-12px; margin-top:24px; }
.address-card h4{
  font-family:var(--display);
  font-size:1.6rem;
  margin-bottom:10px;
  text-transform:uppercase;
}
.address-card p{ margin:0 0 4px; font-size:0.86rem; font-family:var(--mono); max-width:none; }

/* Accordion */
.accordion{ border-top:4px solid var(--ink); margin-top:10px; }
.section-alt .accordion{ border-color:#F2F0EA; }
.accordion-item{ border-bottom:3px solid var(--ink); }
.section-alt .accordion-item{ border-color:#555; }
.accordion-trigger{
  width:100%; text-align:left; background:none; border:none; cursor:pointer;
  display:flex; justify-content:space-between; align-items:center; gap:20px;
  padding:20px 4px;
  font-family:var(--display);
  font-size:clamp(1.3rem, 3vw, 1.9rem);
  text-transform:uppercase;
  color:inherit;
  letter-spacing:-0.01em;
}
.accordion-trigger .plus{
  flex:none; width:28px; height:28px; position:relative;
  border:2px solid var(--signal);
  background:var(--acid);
}
.accordion-trigger .plus::before, .accordion-trigger .plus::after{
  content:""; position:absolute; background:var(--ink);
}
.accordion-trigger .plus::before{ left:5px; top:11px; width:14px; height:3px; }
.accordion-trigger .plus::after{ left:11px; top:5px; width:3px; height:14px; transition:transform .2s ease; }
.accordion-item.open .accordion-trigger .plus::after{ transform:rotate(90deg); }
.accordion-panel{ max-height:0; overflow:hidden; transition:max-height .28s ease; }
.accordion-panel-inner{ padding:0 4px 22px; }
.accordion-panel-inner p, .accordion-panel-inner ul{
  font-size:0.9rem; font-family:var(--mono); max-width:60ch;
}

/* Job cards */
.job-card{
  border:3px solid var(--ink);
  background:var(--panel);
  border-radius:0;
  padding:24px 22px;
  margin-bottom:14px;
  transform:rotate(var(--r, 0deg));
}
.job-card:nth-child(odd){ --r:-0.8deg; }
.job-card:nth-child(even){ --r:0.8deg; margin-left:18px; }
.job-card .job-head{
  display:flex; justify-content:space-between; align-items:baseline; gap:16px; flex-wrap:wrap;
}
.job-tag{
  font-family:var(--mono);
  font-size:0.68rem; letter-spacing:0.08em; text-transform:uppercase;
  color:var(--bg-ink); background:var(--cyan); border:2px solid var(--ink);
  padding:4px 10px; border-radius:0;
}

/* Forms */
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:28px; }
.form-grid .full{ grid-column:1 / -1; }
label{
  display:block; font-size:0.72rem; font-family:var(--mono);
  text-transform:uppercase; letter-spacing:0.08em;
  color:var(--ink-soft); margin-bottom:6px;
}
input, select, textarea{
  width:100%; font-family:var(--mono); font-size:0.92rem; padding:12px 14px;
  border:3px solid var(--ink); border-radius:0; background:var(--panel); color:var(--ink);
}
textarea{ min-height:130px; resize:vertical; }
.form-note{ font-size:0.8rem; color:var(--ink-soft); margin-top:14px; font-family:var(--mono); }

/* Footer */
footer.site{
  background:var(--bg-ink);
  color:#E8E4DA;
  padding:72px 0 28px;
  border-top:6px solid var(--acid);
  position:relative;
}
footer.site::before{
  content:"RAW";
  position:absolute;
  right:4%;
  top:-28px;
  font-family:var(--display);
  font-size:clamp(4rem, 12vw, 9rem);
  color:var(--acid);
  opacity:0.25;
  line-height:1;
  pointer-events:none;
  transform:rotate(-6deg);
}
footer.site a{ color:#E8E4DA; text-decoration:none; }
footer.site a:hover{ color:var(--acid); text-decoration:underline; }
.footer-grid{
  display:grid;
  grid-template-columns:1.5fr 0.9fr 1fr 1.1fr;
  gap:28px 36px;
}
.footer-grid h4{
  font-family:var(--mono);
  font-size:0.68rem;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--acid);
  margin-bottom:14px;
  line-height:1.2;
}
.footer-grid ul{ list-style:none; margin:0; padding:0; }
.footer-grid li{ margin-bottom:8px; font-size:0.88rem; font-family:var(--mono); }
.footer-bottom{
  border-top:2px solid #333; margin-top:48px; padding-top:22px;
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px;
  font-size:0.72rem; color:#888; font-family:var(--mono); text-transform:uppercase; letter-spacing:0.04em;
}

/* Legal pages */
.legal-content h2{ margin-top:2em; }
.legal-content h2:first-child{ margin-top:0; }
.legal-content ul{ color:var(--ink-soft); }
.legal-content{ max-width:74ch; }
.updated{ font-size:0.8rem; color:var(--ink-soft); margin-bottom:40px; font-family:var(--mono); }

/* Age-gate modal */
.modal-overlay{
  position:fixed; inset:0; background:rgba(11,11,11,0.92);
  display:flex; align-items:center; justify-content:center;
  z-index:100; padding:20px;
}
.modal-overlay[hidden]{ display:none; }
.modal-box{
  background:var(--panel); max-width:440px; width:100%; padding:40px 32px;
  border-radius:0; text-align:left;
  border:4px solid var(--ink);
  box-shadow:16px 16px 0 var(--acid);
  transform:rotate(-1deg);
}
.modal-box .age-badge{
  font-family:var(--display); font-size:2.8rem; color:var(--signal);
  border:4px solid var(--signal);
  width:88px; height:88px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  margin:0 0 18px;
  transform:rotate(8deg);
}
.modal-actions{ display:flex; gap:12px; justify-content:flex-start; margin-top:24px; flex-wrap:wrap; }
.modal-decline{ font-size:0.78rem; color:var(--ink-soft); margin-top:14px; font-family:var(--mono); }

/* Cookie banner */
.cookie-banner{
  position:fixed; left:16px; right:auto; bottom:16px; z-index:90;
  background:var(--acid); color:var(--ink);
  border:4px solid var(--ink);
  border-radius:0;
  padding:18px 20px;
  display:flex; gap:16px; align-items:flex-start; flex-wrap:wrap;
  box-shadow:8px 8px 0 var(--signal);
  max-width:420px;
  transform:rotate(-1.5deg);
}
.cookie-banner[hidden]{ display:none; }
.cookie-banner p{ margin:0; color:var(--ink); font-size:0.82rem; max-width:36ch; font-family:var(--mono); }
.cookie-banner a{ text-decoration:underline; color:var(--signal); font-weight:700; }
.cookie-actions{ display:flex; gap:8px; flex-wrap:wrap; }

/* Tags / pills — raw stamps */
.tag-row{ display:flex; gap:8px; flex-wrap:wrap; margin-top:28px; }
.tag-pill{
  font-family:var(--mono);
  font-size:0.68rem; letter-spacing:0.06em; text-transform:uppercase;
  padding:8px 12px;
  border:2px solid var(--ink);
  border-radius:0;
  color:var(--ink);
  background:var(--panel);
  transform:rotate(var(--r, -1deg));
}
.tag-pill:nth-child(1){ --r:-2deg; background:var(--acid); }
.tag-pill:nth-child(2){ --r:1.5deg; margin-top:10px; }
.tag-pill:nth-child(3){ --r:-1deg; background:var(--cyan); margin-left:-6px; }
.tag-pill:nth-child(4){ --r:2deg; margin-top:-4px; }

/* Decorative clash layers */
.clash-label{
  position:absolute;
  font-family:var(--display);
  font-size:clamp(3rem, 10vw, 8rem);
  line-height:0.8;
  text-transform:uppercase;
  color:transparent;
  -webkit-text-stroke:2px var(--ink);
  opacity:0.18;
  pointer-events:none;
  z-index:0;
  white-space:nowrap;
}
.section-alt .clash-label{ -webkit-text-stroke-color:#F2F0EA; opacity:0.12; }

/* Picture / image helpers */
.media-frame{
  position:relative;
  overflow:hidden;
}
.media-frame picture,
.media-frame img{ display:block; width:100%; height:100%; object-fit:cover; }

/* Skip link */
.skip-link{
  position:absolute; left:-999px; top:auto;
  background:var(--signal); color:#fff; padding:10px 16px; z-index:200;
  font-family:var(--mono);
}
.skip-link:focus{ left:16px; top:16px; }

@keyframes stamp-in{
  from{ opacity:0; transform:rotate(8deg) scale(1.4) translateX(-8px); }
  to{ opacity:1; transform:rotate(2deg) scale(1) translateX(-8px); }
}
@keyframes float-stamp{
  0%,100%{ transform:rotate(-14deg) translateY(0); }
  50%{ transform:rotate(-11deg) translateY(-10px); }
}
.hero-stamp--18{ animation:float-stamp 4.2s ease-in-out infinite reverse; }

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:0.001ms !important;
    transition-duration:0.001ms !important;
  }
}

/* Responsive — still messy but usable */
@media (max-width: 980px){
  .hero{ min-height:auto; }
  .hero > .container.hero{ min-height:auto; }
  .hero-copy{ padding:72px 22px 64px; }
  .hero-stamp--raw{ left:auto; right:6%; bottom:8%; }
  .hall-grid{ grid-template-columns:1fr 1fr; gap:24px; }
  .hall-card:nth-child(1),
  .hall-card:nth-child(2),
  .hall-card:nth-child(3){
    transform:none; margin:0; scale:1;
  }
  .hall-card:nth-child(2){ transform:rotate(1deg); }
  .feature{ grid-template-columns:1fr; gap:24px; }
  .feature.reverse .feature-art{ order:0; transform:rotate(-1deg) scale(1); margin:0; }
  .feature-art{ transform:none; margin:0; }
  .feature > div:not(.feature-art){ margin:0; transform:none; }
  .info-grid{ grid-template-columns:1fr 1fr; }
  .info-cell{ --r:0deg !important; margin-top:0 !important; }
  .address-grid{ grid-template-columns:1fr 1fr; gap:16px; }
  .address-card:nth-child(1),
  .address-card:nth-child(2),
  .address-card:nth-child(3){
    transform:none; margin:0; scale:1;
  }
  .footer-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width: 720px){
  section{ padding:56px 0; }
  h1{ font-size:clamp(2.6rem, 14vw, 3.8rem); }
  nav.primary{
    position:fixed; inset:60px 0 0 0; background:var(--acid);
    transform:translateX(100%); transition:transform .25s ease;
    padding:28px 22px; overflow-y:auto;
    border-top:4px solid var(--ink);
  }
  nav.primary.open{ transform:translateX(0); }
  nav.primary ul{ flex-direction:column; gap:4px; font-size:1rem; }
  nav.primary a{ display:block; padding:14px 4px; }
  .nav-toggle{ display:block; }
  .hall-grid{ grid-template-columns:1fr; }
  .info-grid{ grid-template-columns:1fr; }
  .address-grid{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr 1fr; gap:24px; }
  .form-grid{ grid-template-columns:1fr; }
  .cookie-banner{ left:12px; right:12px; max-width:none; transform:none; }
  .cookie-actions{ margin-left:0; }
  .stat-row .stat{ margin-left:0; margin-top:0 !important; }
  .job-card:nth-child(even){ margin-left:0; }
  .hero-stamp--18{ right:4%; top:12%; }
}
