/* ── Palette completa ── */
:root {
  --orange:  #e8a020;
  --magenta: #8c1a4e;
  --black:   #1c1a14;
  --cream:   #f5ead4;
  --green:   #8c1a4e;
  --brown:   #4a3a2a;
  --blue:    #e8a020;
  --b: 3px solid #1c1a14;
  --grey: #7a7060;
}

:root {
  --cream: #f5ead4;
  --cream-dark: #dfd0b0;
  --black: #1c1a14;
  --orange: #e8a020;
  --magenta: #8c1a4e;
  --text: #1c1a14;
  --grey: #7a7060;
  --b: 2px solid #1c1a14;
}
* { margin:0; padding:0; box-sizing:border-box; }
body { background: var(--cream); color: var(--text); font-family: 'Libre Baskerville', serif; }

/* TOP BAR */
.topbar {
  background: var(--black); color: var(--cream);
  padding: 8px 0; display: flex; justify-content: center; gap: 56px;
  font-family: 'Barlow Condensed', sans-serif; font-size: 13px;
  letter-spacing: 0.25em; text-transform: uppercase;
}
.topbar a { color: var(--cream); text-decoration: none; }
.topbar a:hover { color: var(--orange); }

/* MOSAIC NAV */
.nav-mosaic {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr 1fr 1fr 1fr;
  border-bottom: var(--b);
  position: sticky; top: 0; z-index: 100; background: var(--cream);
}
.nav-brand {
  background: var(--black); color: var(--cream);
  font-family: 'Barlow Condensed', sans-serif; font-weight: 900;
  font-size: 20px; letter-spacing: 0.15em; text-transform: uppercase;
  text-decoration: none; display: flex; align-items: center;
  padding: 0 28px; border-right: var(--b); height: 56px;
  transition: background 0.15s;
}
.nav-brand:hover { background: var(--orange); }
.nav-cell {
  display: flex; align-items: center; justify-content: center;
  border-right: var(--b); height: 56px;
  font-family: 'Barlow Condensed', sans-serif; font-weight: 700;
  font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--black); text-decoration: none;
  transition: background 0.12s, color 0.12s; cursor: pointer; position: relative;
}
.nav-cell:last-child { border-right: none; }
.nav-cell:hover { background: var(--black); color: var(--cream); }
.nav-cell.active { background: var(--orange); color: var(--cream); }
.nav-cell.has-dd::after { content: ' ▾'; font-size: 9px; }
.dd-menu {
  display: none; position: absolute; top: 100%; left: 0;
  background: var(--black); min-width: 260px; z-index: 300;
  border: var(--b); border-top: none;
}
.nav-cell.has-dd:hover .dd-menu { display: block; }
.dd-menu a {
  display: block; padding: 14px 20px;
  font-family: 'Barlow Condensed', sans-serif; font-weight: 600;
  font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--cream); text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.dd-menu a:hover { background: var(--orange); }

/* IMG PLACEHOLDER */
.img-ph {
  width: 100%; height: 100%; min-height: 300px;
  display: flex; align-items: center; justify-content: center;
  background: #1e1a10; color: rgba(242,234,216,0.12);
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 11px; letter-spacing: 0.3em; text-transform: uppercase;
  text-align: center; padding: 20px;
}

/* HERO */
.hero { display: grid; grid-template-columns: 3fr 2fr; border-bottom: var(--b); min-height: 88vh; }
.hero-img-col { border-right: var(--b); overflow: hidden; }
.hero-img-col .img-ph { height: 100%; min-height: 500px; }
.hero-text-col { display: flex; flex-direction: column; justify-content: space-between; padding: 56px 48px; }
.hero-label { font-family: 'Barlow Condensed', sans-serif; font-size: 12px; letter-spacing: 0.4em; text-transform: uppercase; color: var(--grey); margin-bottom: 24px; }
.hero-title { font-family: 'Barlow Condensed', sans-serif; font-weight: 900; font-size: clamp(48px, 6vw, 88px); line-height: 0.93; text-transform: uppercase; color: var(--black); letter-spacing: -0.01em; margin-bottom: 36px; }
.hero-title .o { color: var(--orange); }
.hero-title .m { color: var(--magenta); }
.hero-body { font-family: 'Libre Baskerville', serif; font-size: 16px; line-height: 1.9; color: rgba(26,22,8,0.72); margin-bottom: 32px; }
.hero-credits { font-family: 'Barlow Condensed', sans-serif; font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--grey); line-height: 2; border-top: 1px solid rgba(15,14,8,0.15); padding-top: 20px; }

/* MOSAIC */
.mosaic { display: grid; grid-template-columns: repeat(6, 1fr); border-bottom: var(--b); }
.mc { border-right: var(--b); border-bottom: var(--b); min-height: 120px; overflow: hidden; }
.mc:nth-child(6n) { border-right: none; }
.mc:nth-last-child(-n+6) { border-bottom: none; }
.mc-o { background: var(--orange); }
.mc-m { background: var(--magenta); }
.mc-k { background: var(--black); }
.mc-wide { grid-column: span 2; }
.mc-txt { background: var(--cream); display: flex; align-items: center; justify-content: center; padding: 20px; text-align: center; }
.mc-txt span { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 14px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--black); line-height: 1.7; }
.mc-img { position: relative; }
.mc-img .img-ph { min-height: 120px; filter: grayscale(1) contrast(1.1); }

/* SECTIONS SPLIT */
.section-split { display: grid; grid-template-columns: 1fr 1fr; border-bottom: var(--b); }
.section-split.reverse { }
.split-img { overflow: hidden; }
.split-img .img-ph { height: 100%; min-height: 500px; }
.split-content { padding: 72px 60px; display: flex; flex-direction: column; justify-content: center; border-left: var(--b); }
.section-split.reverse .split-content { border-left: none; border-right: var(--b); }
.bg-dark { background: var(--cream-dark); }

.tag { display: inline-block; font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 10px; letter-spacing: 0.3em; text-transform: uppercase; padding: 5px 14px; margin-bottom: 28px; color: white; }
.tag-o { background: var(--orange); }
.tag-m { background: var(--magenta); }

.split-title { font-family: 'Barlow Condensed', sans-serif; font-weight: 900; font-size: clamp(32px, 4vw, 56px); line-height: 0.95; text-transform: uppercase; color: var(--black); margin-bottom: 24px; }
.split-title .o { color: var(--orange); }
.split-title .m { color: var(--magenta); }
.split-body { font-family: 'Libre Baskerville', serif; font-size: 15px; line-height: 1.9; color: rgba(26,22,8,0.72); margin-bottom: 28px; }
.split-list { list-style: none; margin-bottom: 36px; }
.split-list li { font-family: 'Barlow Condensed', sans-serif; font-weight: 600; font-size: 13px; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(26,22,8,0.65); padding: 10px 0; border-bottom: 1px solid rgba(15,14,8,0.1); display: flex; align-items: center; gap: 12px; }
.split-list li::before { content: '—'; color: var(--orange); font-weight: 900; }
.split-list-m li::before { color: var(--magenta); }

/* BUTTONS */
.btn { display: inline-flex; align-items: center; gap: 10px; padding: 13px 28px; border: var(--b); background: transparent; color: var(--black); font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 12px; letter-spacing: 0.22em; text-transform: uppercase; text-decoration: none; transition: all 0.15s; cursor: pointer; width: fit-content; }
.btn:hover { background: var(--black); color: var(--cream); }
.btn-o { background: var(--orange); border-color: var(--orange); color: white; }
.btn-o:hover { background: transparent; color: var(--orange); }
.btn-m { background: var(--magenta); border-color: var(--magenta); color: white; }
.btn-m:hover { background: transparent; color: var(--magenta); }

/* TEAM */
.section-team { border-bottom: var(--b); }
.section-header { display: flex; align-items: baseline; justify-content: space-between; padding: 36px 48px; border-bottom: var(--b); }
.section-header h2 { font-family: 'Barlow Condensed', sans-serif; font-weight: 900; font-size: clamp(36px, 5vw, 60px); text-transform: uppercase; color: var(--black); line-height: 1; }
.section-header p { font-family: 'Libre Baskerville', serif; font-style: italic; font-size: 15px; color: var(--grey); }
.team-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; }
.team-card { border-right: var(--b); overflow: hidden; }
.team-card.no-border { border-right: none; }
.team-photo { border-bottom: var(--b); aspect-ratio: 1/1; overflow: hidden; }
.team-photo .img-ph {  height: 100%; min-height: 0; aspect-ratio: 1/1; }
.team-info { padding: 28px 32px; }
.team-name { font-family: 'Barlow Condensed', sans-serif; font-weight: 900; font-size: 22px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--black); margin-bottom: 6px; }
.team-role { font-family: 'Libre Baskerville', serif; font-style: italic; font-size: 13px; color: var(--orange); margin-bottom: 10px; line-height: 1.6; }
.team-bio { font-family: 'Barlow Condensed', sans-serif; font-size: 12px; letter-spacing: 0.1em; color: var(--grey); text-transform: uppercase; }
.team-facts { padding: 40px 36px; background: var(--black); color: var(--cream); height: 100%; }
.fact { padding: 20px 0; border-bottom: 1px solid rgba(242,234,216,0.1); }
.fact:last-child { border-bottom: none; }
.fact-title { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 17px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--cream); margin-bottom: 4px; }
.fact-title span { color: var(--orange); }
.fact-text { font-family: 'Libre Baskerville', serif; font-size: 13px; color: rgba(242,234,216,0.45); font-style: italic; }

/* ARBEITEN SCROLL */
.section-arbeiten { border-bottom: var(--b); }
.arbeiten-scroll {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  border-top: var(--b);
  cursor: grab;
}
.arbeiten-scroll:active { cursor: grabbing; }
.arbeiten-scroll::-webkit-scrollbar { height: 4px; }
.arbeiten-scroll::-webkit-scrollbar-track { background: var(--cream-dark); }
.arbeiten-scroll::-webkit-scrollbar-thumb { background: var(--black); }
.arbeit-item {
  flex: 0 0 280px;
  border-right: var(--b);
  scroll-snap-align: start;
  overflow: hidden;
}
.arbeit-item:last-child { border-right: none; }
.arbeit-item a { text-decoration: none; color: inherit; display: block; }
.arbeit-item:hover .arbeit-img .img-ph { filter: grayscale(0); }
.arbeit-img { border-bottom: var(--b); aspect-ratio: 3/4; overflow: hidden; }
.arbeit-img .img-ph {  transition: filter 0.3s; aspect-ratio: 3/4; min-height: 0; height: 100%; }
.arbeit-info { padding: 18px 22px; }
.arbeit-title { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 15px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--black); margin-bottom: 3px; }
.arbeit-type { font-family: 'Libre Baskerville', serif; font-style: italic; font-size: 12px; color: var(--orange); }

/* KONTAKT */
.section-kontakt { display: grid; grid-template-columns: 1fr 1fr; border-bottom: var(--b); }
.kontakt-main { border-right: var(--b); padding: 72px 60px; }
.kontakt-title { font-family: 'Barlow Condensed', sans-serif; font-weight: 900; font-size: clamp(44px, 6vw, 80px); line-height: 0.93; text-transform: uppercase; color: var(--black); margin-bottom: 28px; }
.kontakt-title span { color: var(--magenta); }
.kontakt-text { font-family: 'Libre Baskerville', serif; font-size: 16px; line-height: 1.9; color: rgba(26,22,8,0.72); max-width: 480px; margin-bottom: 36px; }
.kontakt-btns { display: flex; gap: 14px; flex-wrap: wrap; }
.kontakt-info { background: var(--black); color: var(--cream); padding: 72px 56px; display: flex; flex-direction: column; gap: 36px; justify-content: center; }
.ki-label { font-family: 'Barlow Condensed', sans-serif; font-size: 10px; letter-spacing: 0.35em; text-transform: uppercase; color: var(--orange); margin-bottom: 6px; }
.ki-value { font-family: 'Libre Baskerville', serif; font-size: 16px; color: var(--cream); line-height: 1.7; }

/* PAGE HERO (inner pages) */
.page-hero { padding: 80px 60px 60px; border-bottom: var(--b); background: var(--black); color: var(--cream); }
.page-hero-label { font-family: 'Barlow Condensed', sans-serif; font-size: 11px; letter-spacing: 0.35em; text-transform: uppercase; color: var(--orange); margin-bottom: 16px; }
.page-hero-title { font-family: 'Barlow Condensed', sans-serif; font-weight: 900; font-size: clamp(48px, 7vw, 100px); line-height: 0.9; text-transform: uppercase; color: var(--cream); margin-bottom: 24px; }
.page-hero-title span { color: var(--orange); }
.page-hero-sub { font-family: 'Libre Baskerville', serif; font-style: italic; font-size: 18px; color: rgba(242,234,216,0.6); max-width: 600px; line-height: 1.7; }

/* PAGE BODY */
.page-body { max-width: 860px; padding: 72px 60px; }
.page-section { margin-bottom: 64px; }
.page-section-title { font-family: 'Barlow Condensed', sans-serif; font-weight: 900; font-size: 28px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--black); margin-bottom: 20px; padding-bottom: 12px; border-bottom: var(--b); }
.page-text { font-family: 'Libre Baskerville', serif; font-size: 16px; line-height: 1.95; color: rgba(26,22,8,0.78); margin-bottom: 20px; }

/* IMPRESSUM / LEGAL */
.legal-grid { display: grid; grid-template-columns: 1fr 2fr; border-bottom: var(--b); }
.legal-sidebar {
  border-right: 3px solid #1c1a14;
  padding: 56px 32px;
  background: #dfd0b0;
  overflow-wrap: break-word;
  word-break: break-word;
  min-width: 0;
}
.legal-content { padding: 60px 56px; }
.legal-title { font-family: 'Barlow Condensed', sans-serif; font-weight: 900; font-size: 13px; letter-spacing: 0.3em; text-transform: uppercase; color: var(--orange); margin-bottom: 16px; }
.legal-text { font-family: 'Libre Baskerville', serif; font-size: 15px; line-height: 1.9; color: rgba(26,22,8,0.72); margin-bottom: 32px; }
.legal-text h3 { font-family: 'Barlow Condensed', sans-serif; font-size: 16px; letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 8px; margin-top: 24px; }

/* PARTNER */
.partner-content { padding: 80px 60px; max-width: 860px; }
.partner-title { font-family: 'Barlow Condensed', sans-serif; font-weight: 900; font-size: clamp(36px, 5vw, 64px); text-transform: uppercase; color: var(--black); line-height: 0.95; margin-bottom: 36px; }
.partner-title span { color: var(--orange); }
.partner-text { font-family: 'Libre Baskerville', serif; font-size: 16px; line-height: 1.95; color: rgba(26,22,8,0.75); margin-bottom: 24px; max-width: 700px; }
.partner-email { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 18px; letter-spacing: 0.1em; color: var(--orange); text-decoration: none; border-bottom: 2px solid var(--orange); padding-bottom: 2px; }
.partner-email:hover { color: var(--black); border-color: var(--black); }

/* ARBEITEN PAGE */
.arbeiten-page-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: var(--b); }
.arbeit-page-item { border-right: var(--b); border-bottom: var(--b); overflow: hidden; cursor: pointer; }
.arbeit-page-item:nth-child(3n) { border-right: none; }
.arbeit-page-item a { text-decoration: none; color: inherit; display: block; }
.arbeit-page-item:hover .img-ph { filter: grayscale(0); }
.arbeit-page-img { border-bottom: var(--b); aspect-ratio: 4/3; overflow: hidden; }
.arbeit-page-img .img-ph {  transition: filter 0.3s; aspect-ratio: 4/3; min-height: 0; height: 100%; }
.arbeit-page-info { padding: 24px 28px; }

/* FOOTER */
footer { background: var(--black); color: var(--cream); border-top: 4px solid var(--orange); padding: 56px 48px 40px; display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 56px; }
.footer-brand { font-family: 'Barlow Condensed', sans-serif; font-weight: 900; font-size: 28px; letter-spacing: 0.12em; color: var(--cream); margin-bottom: 16px; display: block; }
.footer-desc { font-family: 'Libre Baskerville', serif; font-size: 13px; line-height: 1.9; color: rgba(242,234,216,0.38); }
.footer-heading { font-family: 'Barlow Condensed', sans-serif; font-size: 10px; letter-spacing: 0.35em; text-transform: uppercase; color: var(--orange); margin-bottom: 20px; }
.footer-links { list-style: none; }
.footer-links li { margin-bottom: 10px; }
.footer-links a { font-family: 'Barlow Condensed', sans-serif; font-size: 13px; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(242,234,216,0.45); text-decoration: none; transition: color 0.15s; }
.footer-links a:hover { color: var(--orange); }
.footer-bottom { grid-column: 1/-1; border-top: 1px solid rgba(242,234,216,0.08); padding-top: 24px; display: flex; justify-content: space-between; align-items: center; }
.footer-copy { font-family: 'Barlow Condensed', sans-serif; font-size: 11px; letter-spacing: 0.15em; text-transform: uppercase; color: rgba(242,234,216,0.2); }
.footer-legal { display: flex; gap: 24px; }
.footer-legal a { font-family: 'Barlow Condensed', sans-serif; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(242,234,216,0.2); text-decoration: none; }
.footer-legal a:hover { color: var(--orange); }

/* WA */






/* Natural photos — no filter */
body { background: #f5ead4; }



/* NAV */
.nav{position:sticky;top:0;z-index:300;display:grid;grid-template-columns:auto repeat(6,1fr);border-bottom:3px solid #1c1a14;background:#f5ead4}
.nav-brand{background:#f5ead4;color:#1c1a14;font-weight:900;font-size:17px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;display:flex;align-items:center;padding:0 28px;height:56px;white-space:nowrap;border-right:3px solid #1c1a14;transition:background .15s,color .15s}
.nav-brand:hover{background:#1c1a14;color:#f5ead4}
.nav-cell{height:56px;display:flex;align-items:center;justify-content:center;border-right:3px solid #1c1a14;font-weight:900;font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:#1c1a14;text-decoration:none;transition:background .15s,color .15s;position:relative;background:#f5ead4}
.nav-cell:last-child{border-right:none}
.nav-cell:hover{background:#1c1a14;color:#f5ead4}
.nav-cell.on{outline:3px solid #1c1a14;outline-offset:-6px}
.nav-cell.has-dd::after{content:' ▾';font-size:9px;opacity:.7}
.nav-dd{display:none;position:absolute;top:100%;left:0;background:#1c1a14;border:3px solid #1c1a14;border-top:none;min-width:260px;z-index:400}
.nav-cell.has-dd:hover .nav-dd{display:block}
.nav-dd a{display:block;padding:13px 20px;font-weight:600;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#f5ead4;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.07);transition:background .12s}
.nav-dd a:hover{background:#e8a020}

*{box-sizing:border-box;margin:0;padding:0}
body{background:#f5ead4;color:#1c1a14;font-family:'Barlow Condensed',sans-serif}

/* CURSOR */
.cur{position:fixed;pointer-events:none;z-index:999999;top:0;left:0}
.cur svg{width:34px;height:42px;filter:drop-shadow(0 0 7px var(--cc,#e8a020));transition:filter .3s}
.cur svg path{fill:var(--cc,#e8a020);transition:fill .3s}
.cur.big svg{transform:scale(1.45) rotate(-12deg);transition:transform .15s}

/* TOPBAR */
.topbar{background:#1c1a14;color:#f5ead4;padding:10px 60px;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.22em;text-transform:uppercase}
.topbar a{color:#f5ead4;text-decoration:none;transition:color .2s}
.topbar a:hover{color:#e8a020}



















.nav-dd a:hover{background:#e8a020}




.hb a:hover{opacity:.7}


.hb, .ig {
  transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}
/* Menu blocks — bigger scale */
.hb:hover {
  transform: scale(1.35);
  z-index: 10;
  box-shadow: 0 6px 24px rgba(15,14,8,0.35);
}
/* Info grid blocks — scale + color change */
.ig:hover {
  transform: scale(1.1);
  z-index: 10;
  box-shadow: 0 6px 24px rgba(15,14,8,0.35);
}
.ig-cr:hover { background: #e8a020 !important; }
.ig-g:hover  { background: #e8a020 !important; }
.ig-b:hover  { background: #8c1a4e !important; }
.ig-bl:hover { background: #8c1a4e !important; }
.ig-cr:hover span { color: #f5ead4 !important; }
.ig-o:hover  { background: #8c1a4e !important; }
.ig-m:hover  { background: #e8a020 !important; }
.ig-k:hover  { background: #8c1a4e !important; }
.hb-cr:hover { background: #e8a020 !important; }
.hb-cr:hover a { color: #f5ead4 !important; }













/* ── HERO ── */
.hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-bottom: 3px solid #1c1a14;
  min-height: 50vh;
}
.hero-left {
  aspect-ratio: 16/9;
  overflow: hidden;
  border-right: 3px solid #1c1a14;
}
.hero-photo {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
}
.hero-right {
  background: #f5ead4;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 52px 60px;
  gap: 20px;
}
.hero-h1 {
  font-weight: 900;
  font-size: clamp(36px, 4.5vw, 72px);
  line-height: .9; text-transform: uppercase;
  letter-spacing: -.01em; color: #1c1a14;
}
.hero-h1 .o { color: #e8a020; }
.hero-h1 .m { color: #8c1a4e; }
.hero-sub {
  font-family: 'Libre Baskerville', serif;
  font-style: italic; font-size: 15px;
  color: rgba(28,26,20,.5);
  line-height: 1.75;
}

/* ── CIRCUS ── */
.circus{display:grid;grid-template-columns:140px 1fr auto;background:#1c1a14;border-bottom:3px solid #1c1a14}
.circus-img{overflow:hidden;border-right:1px solid rgba(255,255,255,.08)}
.circus-img img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(30%)}
.circus-cnt{padding:20px 36px;display:flex;flex-direction:column;justify-content:center}
.circus-lbl{font-size:10px;letter-spacing:.35em;text-transform:uppercase;color:#e8a020;margin-bottom:5px}
.circus-ttl{font-weight:900;font-size:clamp(16px,2.2vw,28px);text-transform:uppercase;color:#f5ead4;line-height:1}
.circus-cta{padding:0 32px;display:flex;align-items:center;border-left:1px solid rgba(255,255,255,.08)}
.circus-cta a{font-weight:700;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#e8a020;text-decoration:none;padding:10px 18px;border:1px solid #e8a020;white-space:nowrap;transition:all .2s}
.circus-cta a:hover{background:#e8a020;color:#1c1a14}

/* ── INFO GRID 3x3 ── */
.info-section{padding:36px 48px;background:#f5ead4;border-bottom:3px solid #1c1a14;overflow:visible}
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;overflow:visible}
.ig{height:160px;min-height:160px;max-height:160px;display:flex;align-items:center;justify-content:center;padding:28px;text-align:center;border:2px solid #1c1a14 !important;outline:1px solid transparent;overflow:hidden;box-sizing:border-box;}
.ig-k{background:#1c1a14}
.ig-g{background:#8c1a4e}
.ig-m{background:#8c1a4e}
.ig-b{background:#1c1a14}
.ig-bl{background:#e8a020}
.ig-o{background:#e8a020}
.ig-cr{background:#f5ead4;color:#1c1a14}
.ig span{font-weight:900;font-size:clamp(14px,1.7vw,22px);letter-spacing:.06em;text-transform:uppercase;line-height:1.4;color:#1c1a14;}
.ig-o span,.ig-m span,.ig-k span,.ig-g span,.ig-b span,.ig-bl span{color:#f5ead4}
.ig{-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;}
.ig:nth-child(1){transform:rotate(-1.1deg) translateZ(0)}.ig:nth-child(2){transform:rotate(.9deg) translateZ(0)}
.ig:nth-child(3){transform:rotate(-.7deg) translateZ(0)}.ig:nth-child(4){transform:rotate(1.2deg) translateZ(0)}
.ig:nth-child(5){transform:rotate(-.8deg) translateZ(0)}.ig:nth-child(6){transform:rotate(.6deg) translateZ(0)}
.ig:nth-child(7){transform:rotate(-1deg) translateZ(0)}.ig:nth-child(8){transform:rotate(.7deg) translateZ(0)}
.ig:nth-child(9){transform:rotate(-1.3deg) translateZ(0)}
.info-grid .ig{opacity:0;transition:opacity .5s ease}
.info-grid.vis .ig{opacity:1}
.info-grid.vis .ig:nth-child(1){transition-delay:.00s}.info-grid.vis .ig:nth-child(2){transition-delay:.06s}
.info-grid.vis .ig:nth-child(3){transition-delay:.12s}.info-grid.vis .ig:nth-child(4){transition-delay:.05s}
.info-grid.vis .ig:nth-child(5){transition-delay:.11s}.info-grid.vis .ig:nth-child(6){transition-delay:.17s}
.info-grid.vis .ig:nth-child(7){transition-delay:.08s}.info-grid.vis .ig:nth-child(8){transition-delay:.14s}
.info-grid.vis .ig:nth-child(9){transition-delay:.20s}

/* ── SERVICE ── */
.svc{display:grid;grid-template-columns:1fr 1fr;border-bottom:3px solid #1c1a14}
.svc-img{overflow:hidden}
.svc-img img,.svc-ph{width:100%;height:100%;min-height:420px;object-fit:cover;display:block}
.svc-ph{background:#1c1a14;display:flex;align-items:center;justify-content:center;color:rgba(237,224,196,.1);font-size:11px;letter-spacing:.3em;text-transform:uppercase}
.svc-cnt{padding:64px 56px;display:flex;flex-direction:column;justify-content:center;border-left:3px solid #1c1a14}
.svc-cnt.dark{background:#1c1a14;border-left:none;border-right:3px solid #1c1a14}
.svc.rev .svc-img{order:2}
.tag{display:inline-block;font-weight:700;font-size:10px;letter-spacing:.3em;text-transform:uppercase;padding:5px 13px;margin-bottom:18px;color:white}
.tag-o{background:#e8a020}.tag-m{background:#8c1a4e}
.svc-h2{font-weight:900;font-size:clamp(24px,3vw,44px);line-height:.95;text-transform:uppercase;color:#1c1a14;margin-bottom:14px}
.svc-cnt.dark .svc-h2{color:#f5ead4}
.svc-h2 .o{color:#e8a020}.svc-h2 .m{color:#8c1a4e}
.svc-p{font-family:'Libre Baskerville',serif;font-size:14px;line-height:1.85;color:rgba(28,26,20,.65);margin-bottom:16px}
.svc-cnt.dark .svc-p{color:rgba(237,224,196,.5)}
.svc-ul{list-style:none;margin-bottom:22px}
.svc-ul li{font-weight:600;font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:rgba(28,26,20,.55);padding:6px 0;border-bottom:1px solid rgba(28,26,20,.08);display:flex;gap:10px}
.svc-ul li::before{content:'—';color:#e8a020;flex-shrink:0}
.svc-cnt.dark .svc-ul li{color:rgba(237,224,196,.5);border-bottom-color:rgba(255,255,255,.06)}
.svc-ul.m li::before{color:#8c1a4e}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border:2px solid #1c1a14;background:transparent;color:#1c1a14;font-weight:700;font-size:11px;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;transition:all .15s;width:fit-content}
.btn:hover{background:#1c1a14;color:#f5ead4}
.btn-o{background:#e8a020;border-color:#e8a020;color:white}.btn-o:hover{background:transparent;color:#e8a020}
.btn-m{background:#8c1a4e;border-color:#8c1a4e;color:white}.btn-m:hover{background:transparent;color:#8c1a4e}

/* ── TEAM ── */
.team-section{border-bottom:3px solid #1c1a14}
.team-head{padding:36px 56px;border-bottom:3px solid #1c1a14;display:flex;align-items:baseline;justify-content:space-between}
.team-head h2{font-weight:900;font-size:clamp(32px,4.5vw,56px);text-transform:uppercase;color:#1c1a14;line-height:1}
.team-head p{font-family:'Libre Baskerville',serif;font-style:italic;font-size:14px;color:rgba(28,26,20,.45)}
.team-banner{height:300px;overflow:hidden;border-bottom:3px solid #1c1a14;background:#1c1a14}
.team-banner img{width:100%;height:100%;object-fit:cover;display:block}
.team-banner .ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:rgba(237,224,196,.1);font-size:11px;letter-spacing:.3em;text-transform:uppercase}
.team-portraits{display:grid;grid-template-columns:1fr 1fr;border-top:3px solid #1c1a14}
.portrait{border-right:3px solid #1c1a14;display:flex;flex-direction:column;min-height:0}
.portrait:last-child{border-right:none}
.portrait-photo{border-bottom:3px solid #1c1a14;overflow:hidden;background:#1c1a14;height:440px}
.portrait-photo img{width:100%;height:100%;object-fit:cover;display:block; contrast(1.05);transition:filter .4s}
.portrait:hover .portrait-photo img{filter:grayscale(0)}
.portrait-photo .ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:rgba(237,224,196,.15);font-size:10px;letter-spacing:.25em;text-transform:uppercase}
.portrait-info{padding:36px 44px;display:flex;flex-direction:column;justify-content:center}
.p-accent{width:28px;height:3px;background:#e8a020;margin-bottom:12px}
.portrait:nth-child(2) .p-accent{background:#8c1a4e}
.p-name{font-weight:900;font-size:20px;letter-spacing:.04em;text-transform:uppercase;color:#1c1a14;line-height:1;margin-bottom:5px}
.p-role{font-family:'Libre Baskerville',serif;font-style:italic;font-size:13px;color:#e8a020;margin-bottom:7px;line-height:1.5}
.portrait:nth-child(2) .p-role{color:#8c1a4e}
.p-bio{font-size:11px;letter-spacing:.1em;color:#7a7060;text-transform:uppercase}
.p-tag{font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:rgba(28,26,20,.4);margin-bottom:4px}

/* ── ARBEITEN ── */
.arb-section{border-bottom:3px solid #1c1a14}
.arb-head{padding:32px 56px;border-bottom:3px solid #1c1a14;display:flex;align-items:baseline;justify-content:space-between}
.arb-head h2{font-weight:900;font-size:clamp(28px,4vw,50px);text-transform:uppercase;color:#1c1a14}
.arb-scroll{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;background:#1c1a14;gap:3px}
.arb-scroll::-webkit-scrollbar{height:2px}
.arb-scroll::-webkit-scrollbar-thumb{background:#e8a020}
.arb-item{flex:0 0 190px;scroll-snap-align:start;overflow:hidden;background:#f5ead4}
.arb-item a{text-decoration:none;color:inherit;display:block}
.arb-img{height:240px;border-bottom:3px solid #1c1a14;overflow:hidden}
.arb-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.arb-item:hover .arb-img img{transform:scale(1.05)}
.arb-info{padding:13px 16px}
.arb-ttl{font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#1c1a14;margin-bottom:2px}
.arb-typ{font-family:'Libre Baskerville',serif;font-style:italic;font-size:11px;color:#e8a020}
.arb-nav{display:flex}
.arb-btn{flex:1;height:44px;background:#f5ead4;border:none;border-top:3px solid #1c1a14;border-right:3px solid #1c1a14;font-weight:900;font-size:18px;color:#1c1a14;display:flex;align-items:center;justify-content:center;transition:background .15s}
.arb-btn:last-child{border-right:none}
.arb-btn:hover{background:#e8a020;color:#f5ead4}

/* ── KONTAKT ── */
.k-section{display:grid;grid-template-columns:1fr 1fr;border-bottom:3px solid #1c1a14;background:#f5ead4;position:relative;z-index:2}
.k-main{padding:72px 60px;border-right:3px solid #1c1a14;background:#f5ead4}
.k-h2{font-weight:900;font-size:clamp(32px,4.5vw,64px);line-height:.93;text-transform:uppercase;color:#1c1a14;margin-bottom:16px}
.k-h2 span{color:#8c1a4e}
.k-p{font-family:'Libre Baskerville',serif;font-size:15px;line-height:1.85;color:rgba(28,26,20,.65);max-width:400px;margin-bottom:22px}
.k-btns{display:flex;gap:12px;flex-wrap:wrap}
.k-side{background:#1c1a14;color:#f5ead4;padding:72px 56px;display:flex;flex-direction:column;gap:26px;justify-content:center;position:relative;overflow:hidden}
.k-side::before{content:'';position:absolute;bottom:-40px;right:-40px;width:220px;height:220px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Ccircle cx='100' cy='100' r='90' fill='none' stroke='%23b84a1a' stroke-width='2.5'/%3E%3Ccircle cx='100' cy='100' r='75' fill='none' stroke='%23b84a1a' stroke-width='2.5'/%3E%3Ccircle cx='100' cy='100' r='60' fill='none' stroke='%23b84a1a' stroke-width='2.5'/%3E%3Ccircle cx='100' cy='100' r='45' fill='none' stroke='%23b84a1a' stroke-width='2.5'/%3E%3Ccircle cx='100' cy='100' r='30' fill='none' stroke='%23b84a1a' stroke-width='2.5'/%3E%3Ccircle cx='100' cy='100' r='15' fill='none' stroke='%23b84a1a' stroke-width='2.5'/%3E%3C/svg%3E") center/contain no-repeat;opacity:.15;pointer-events:none}
.ki-l{font-size:10px;letter-spacing:.35em;text-transform:uppercase;color:#e8a020;margin-bottom:4px}
.ki-v{font-family:'Libre Baskerville',serif;font-size:14px;color:#f5ead4;line-height:1.6}

/* ── FOOTER ── */
footer{background:#1c1a14;color:#f5ead4;border-top:4px solid #e8a020;padding:72px 60px 48px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px}
.f-brand{font-weight:900;font-size:16px;letter-spacing:.08em;color:#f5ead4;margin-bottom:12px;display:block;line-height:1.3}
.f-desc{font-family:'Libre Baskerville',serif;font-size:12px;line-height:1.9;color:rgba(237,224,196,.35)}
.f-head{font-size:10px;letter-spacing:.35em;text-transform:uppercase;color:#e8a020;margin-bottom:16px}
.f-links{list-style:none}
.f-links li{margin-bottom:9px}
.f-links a{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:rgba(237,224,196,.4);text-decoration:none;transition:color .15s}
.f-links a:hover{color:#e8a020}
.f-bot{grid-column:1/-1;border-top:1px solid rgba(237,224,196,.07);padding-top:20px;display:flex;justify-content:space-between}
.f-copy{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(237,224,196,.18)}
.f-leg{display:flex;gap:20px}
.f-leg a{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(237,224,196,.18);text-decoration:none}
.f-leg a:hover{color:#e8a020}


/* FOTO STRIP */
/* photo-strip parallax */


/* REVEAL */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}
.reveal.on{opacity:1;transform:translateY(0)}






/* ═══════════════════════════════════════
   INNER PAGES
═══════════════════════════════════════ */

/* ── Page header — dark bar like .circus ── */
.ph-bar {
  background: #1c1a14;
  border-bottom: 3px solid #1c1a14;
  padding: 56px 56px 48px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  min-height: 200px;
}
.ph-lbl {
  font-size: 10px;
  letter-spacing: .35em;
  text-transform: uppercase;
  color: #e8a020;
  margin-bottom: 14px;
}
.ph-ttl {
  font-weight: 900;
  font-size: clamp(28px, 4vw, 50px);
  text-transform: uppercase;
  color: #f5ead4;
  line-height: 1;
}
.ph-sub {
  font-family: 'Libre Baskerville', serif;
  font-style: italic;
  font-size: 14px;
  color: rgba(245,234,212,.4);
  margin-top: 12px;
}

/* ── svc variants ── */
.svc-ul-m li::before { color: #8c1a4e; }
.tag-k { background: #1c1a14; }

/* ── Legal grid ── */
.legal-grid {
  display: grid;
  grid-template-columns: 320px 1fr;
  border-bottom: 3px solid #1c1a14;
}
.legal-sidebar {
  border-right: 3px solid #1c1a14;
  padding: 56px 32px;
  background: #dfd0b0;
  overflow-wrap: break-word;
  word-break: break-word;
  min-width: 0;
}
.legal-content { padding: 56px 56px; }
.legal-label {
  font-size: 10px;
  letter-spacing: .35em;
  text-transform: uppercase;
  color: #e8a020;
  margin-bottom: 20px;
}
.legal-text {
  font-family: 'Libre Baskerville', serif;
  font-size: 14px;
  line-height: 1.95;
  color: rgba(28,26,20,.72);
}
.legal-text h3 {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 900;
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #1c1a14;
  margin-top: 32px;
  margin-bottom: 8px;
  padding-bottom: 7px;
  border-bottom: 1px solid rgba(28,26,20,.1);
}


/* packages */
.packages { display: grid; grid-template-columns: repeat(3,1fr); gap: 3px; margin-bottom: 3px; }
.pkg {
  background: #dfd0b0;
  padding: 26px 22px;
  cursor: pointer;
  border: 2px solid transparent;
  transition: border-color .15s;
  position: relative;
}
.pkg:hover { border-color: rgba(232,160,32,.3); }
.pkg.active { border-color: #e8a020; background: rgba(232,160,32,.05); }
.pkg.active::after {
  content: '✓'; position: absolute; top: 12px; right: 12px;
  width: 18px; height: 18px; background: #e8a020; color: white;
  font-size: 9px; font-weight: 700; line-height: 18px; text-align: center; display: block;
}




.stepper { display: flex; align-items: center; }



.custom-dt-wrapper { display: flex; gap: 4px; }






input[type="range"] { accent-color: #e8a020; }
::-webkit-scrollbar { width: 3px; height: 3px; }
::-webkit-scrollbar-thumb { background: #e8a020; }

/* ── Responsive ── */
@media(max-width:768px){
  .legal-content { padding: 30px 24px; }
  .packages { grid-template-columns: 1fr; }
  .form-grid { grid-template-columns: 1fr; }
  .wrapper { padding: 32px 20px 52px; }
}


/* ═══════════════════════════════════════
   PROJECT PAGES
═══════════════════════════════════════ */

.proj-hero {
  background: #1c1a14 !important;
  border-bottom: 3px solid #1c1a14 !important;
  padding: 56px 56px 48px !important;
  min-height: 200px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  position: relative !important;
}
.proj-label {
  font-size: 10px;
  letter-spacing: .35em;
  text-transform: uppercase;
  color: #e8a020 !important;
  margin-bottom: 12px;
}
.proj-h1 {
  font-weight: 900;
  font-size: clamp(26px, 4vw, 50px);
  line-height: .95;
  text-transform: uppercase;
  color: #f5ead4 !important;
}
.proj-sub {
  font-family: 'Libre Baskerville', serif;
  font-style: italic;
  font-size: 14px;
  color: rgba(245,234,212,.4);
  margin-top: 10px;
}
.proj-back {
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(245,234,212,.3);
  text-decoration: none;
  white-space: nowrap;
  transition: color .15s;
}
.proj-back:hover { color: #e8a020; }

/* main — cover piccola come nell'anteprima, affiancata al testo */
.proj-main {
  display: grid;
  grid-template-columns: 1fr 2fr;
  border-bottom: 3px solid #1c1a14;
}

.proj-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}
.proj-info {
  padding: 48px 52px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: #f5ead4;
}
.proj-desc {
  font-family: 'Libre Baskerville', serif;
  font-size: 15px;
  line-height: 2;
  color: rgba(28,26,20,.68);
}
.proj-ctas {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid rgba(28,26,20,.08);
}

.proj-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}
.proj-info {
  padding: 48px 52px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.proj-desc {
  font-family: 'Libre Baskerville', serif;
  font-size: 14px;
  line-height: 2;
  color: rgba(28,26,20,.68);
}
.proj-ctas {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid rgba(28,26,20,.08);
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: flex-start;
}

/* gallery — caricata dinamicamente dal JS */
.proj-gallery-wrap {
  border-bottom: 3px solid #1c1a14;
}
.proj-gallery {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: rgba(28,26,20,.08);
}
.proj-gal-item {
  aspect-ratio: 1/1;
  overflow: hidden;
}
.proj-gal-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .4s;
}
.proj-gal-item:hover img { transform: scale(1.05); }

/* prev/next nav */
.proj-nav {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-bottom: 3px solid #1c1a14;
}
.proj-nav-item {
  padding: 24px 40px;
  border-right: 3px solid #1c1a14;
  text-decoration: none;
  display: block;
  transition: background .15s;
}
.proj-nav-item:hover { background: rgba(28,26,20,.04); }
.proj-nav-right {
  border-right: none;
  text-align: right;
}
.proj-nav-dir {
  font-size: 10px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: #7a7060;
  margin-bottom: 6px;
}
.proj-nav-ttl {
  font-weight: 700;
  font-size: 14px;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: #1c1a14;
}



/* ═══════════════════════════════════════
   LIGHTBOX (solo gallery progetti)
═══════════════════════════════════════ */
.lb {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(28,26,20,.97);
  z-index: 9999;
  align-items: center;
  justify-content: center;
}
.lb.open { display: flex; }
.lb-img {
  max-width: 88vw;
  max-height: 88vh;
  object-fit: contain;
  display: block;
  user-select: none;
}
.lb-close {
  position: fixed; top: 22px; right: 28px;
  background: none; border: none;
  color: rgba(245,234,212,.45);
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 12px; letter-spacing: .22em; text-transform: uppercase;
  cursor: pointer; transition: color .15s;
}
.lb-close:hover { color: #e8a020; }
.lb-arrow {
  position: fixed; top: 50%; transform: translateY(-50%);
  background: none; border: none;
  color: rgba(245,234,212,.35);
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 900; font-size: 28px;
  cursor: pointer; transition: color .15s;
  padding: 20px; user-select: none;
}
.lb-arrow:hover { color: #e8a020; }
.lb-prev { left: 12px; }
.lb-next { right: 12px; }
.lb-counter {
  position: fixed; bottom: 22px; left: 50%; transform: translateX(-50%);
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 11px; letter-spacing: .25em; text-transform: uppercase;
  color: rgba(245,234,212,.3);
}


/* ── KONTAKT redesign ── */
.k-hero {
  background: #1c1a14;
  padding: 80px 56px 72px;
  border-bottom: 3px solid #1c1a14;
  min-height: 70vh;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.k-hero-label {
  font-size: 10px;
  letter-spacing: .35em;
  text-transform: uppercase;
  color: #e8a020;
  margin-bottom: 20px;
}
.k-hero-h1 {
  font-weight: 900;
  font-size: clamp(40px, 7vw, 96px);
  line-height: .88;
  text-transform: uppercase;
  color: #f5ead4;
  margin-bottom: 28px;
  letter-spacing: -.01em;
}
.k-hero-h1 span { color: #e8a020; }
.k-hero-sub {
  font-family: 'Libre Baskerville', serif;
  font-style: italic;
  font-size: 16px;
  color: rgba(245,234,212,.45);
  line-height: 1.7;
  margin-bottom: 36px;
}
.k-hero-btns { display: flex; gap: 12px; flex-wrap: wrap; }

.k-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-bottom: 3px solid #1c1a14;
}
.k-strip-item {
  padding: 40px 36px;
  border-right: 3px solid #1c1a14;
}
.k-strip-item:last-child { border-right: none; }
.k-strip-label {
  font-size: 10px;
  letter-spacing: .35em;
  text-transform: uppercase;
  color: #e8a020;
  margin-bottom: 10px;
}
.k-strip-val {
  font-family: 'Libre Baskerville', serif;
  font-size: 15px;
  color: #1c1a14;
  line-height: 1.7;
}
.k-strip-val a {
  color: #1c1a14;
  text-decoration: none;
  border-bottom: 1px solid rgba(28,26,20,.2);
  transition: border-color .15s, color .15s;
}
.k-strip-val a:hover { color: #e8a020; border-color: #e8a020; }

.k-langs {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  border-bottom: 3px solid #1c1a14;
}
.k-lang-item {
  padding: 22px 28px;
  border-right: 3px solid #1c1a14;
  display: flex;
  align-items: center;
  gap: 10px;
  background: #dfd0b0;
}
.k-lang-item:last-child { border-right: none; }
.k-lang-dark { background: #1c1a14; }
.k-lang-dark .k-lang-name { color: #f5ead4; }
.k-lang-orange { background: #e8a020; }
.k-lang-orange .k-lang-name { color: white; }
.k-lang-flag { font-size: 20px; }
.k-lang-name {
  font-weight: 700;
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #1c1a14;
}


@media(max-width:768px){
  .k-strip-item:nth-child(2n) { border-right: none; }
  .k-strip-item:nth-child(n+3) { border-top: 3px solid #1c1a14; }
  .k-langs { grid-template-columns: repeat(3,1fr); }
  .k-lang-item:nth-child(3n) { border-right: none; }
  .k-lang-item:nth-child(n+4) { border-top: 3px solid #1c1a14; }
}


/* ── Eventdokumentation hero ── */
.ev-hero {
  background: #1c1a14;
  border-bottom: 3px solid #1c1a14;
  padding: 56px 56px 48px;
  min-height: 260px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.ev-hero-label {
  font-size: 10px;
  letter-spacing: .35em;
  text-transform: uppercase;
  color: #e8a020;
  margin-bottom: 14px;
}
.ev-hero-ttl {
  font-weight: 900;
  font-size: clamp(28px, 4vw, 50px);
  text-transform: uppercase;
  color: #f5ead4;
  line-height: 1;
}
.ev-hero-ttl span { color: #e8a020; }
.ev-hero-sub {
  font-family: 'Libre Baskerville', serif;
  font-style: italic;
  font-size: 14px;
  color: rgba(245,234,212,.4);
  margin-top: 12px;
}


/* ── Nuovi colori — usi strategici ── */

/* Hover nav cell verde */
.nav-cell:hover { background: #8c1a4e; color: #f5ead4; }

/* Hover nav dropdown verde */
.nav-dd a:hover { background: #8c1a4e; color: #f5ead4; }

/* Topbar link hover marrone */
.topbar a:hover { background: #4a3a2a; color: #f5ead4; }

/* Btn hover blu */
.btn:hover { background: #e8a020; border-color: #e8a020; color: #f5ead4; }

/* Btn-o hover verde */
.btn-o:hover { background: #8c1a4e; border-color: #8c1a4e; color: #f5ead4; }

/* Scrollbar arb */
.arb-scroll::-webkit-scrollbar-thumb { background: #8c1a4e; }

/* Arb-item hover marrone */
.arb-item:hover { background: #4a3a2a; }
.arb-item:hover .arb-ttl { color: #f5ead4; }

/* Proj-nav hover verde */
.proj-nav-item:hover { background: rgba(140,26,78,.08); }
.proj-nav-dir { color: #8c1a4e; }

/* Lightbox arrow hover blu */
.lb-close:hover { color: #8c1a4e; }
.lb-arrow:hover { color: #8c1a4e; }

/* Footer border top — alterna verde */
footer { border-top-color: #8c1a4e; }

/* Legal label verde */
.legal-label { color: #8c1a4e; }

/* Team role — marrone */
.team-role { color: #4a3a2a; }

/* Fact title blu */
.fact-title { color: #e8a020; }

/* Svc-ul li arrow — verde su reverse sections */
.svc.reverse .svc-ul li::before { color: #8c1a4e; }

/* ph-lbl — alternare per pagina viene fatto nell'HTML */

/* Partner email hover blu */
.partner-email:hover { color: #e8a020; border-color: #e8a020; }

/* Arbeiten page heading accent */
.arb-head h2::after {
  content: '.';
  color: #8c1a4e;
}

/* ── Hero h1 neon effect ── */
.hero-h1 {
  animation: neon-flicker 3s infinite alternate;
}
.hero-h1 {
  -webkit-text-stroke: 4px #6a6a6a;
  paint-order: stroke fill;
  filter: drop-shadow(0 1px 0 #888) drop-shadow(0 2px 0 #555);
}

@keyframes neon-flicker {
  0%   { text-shadow: 0 0 8px rgba(232,160,32,.6), 0 0 20px rgba(232,160,32,.3); }
  50%  { text-shadow: 0 0 12px rgba(232,160,32,.8), 0 0 30px rgba(232,160,32,.4), 0 0 50px rgba(140,26,78,.2); }
  100% { text-shadow: 0 0 6px rgba(232,160,32,.5), 0 0 16px rgba(140,26,78,.4), 0 0 40px rgba(140,26,78,.2); }
}

@media (max-width: 768px) {
  .hero-h1 {
    animation: none;
    text-shadow: none;
    -webkit-text-stroke: 2px #6a6a6a;
    filter: none;
  }
}

/* ── Info grid neon cells ── */
.ig {
  transition: background .35s, box-shadow .35s;
  cursor: pointer;
}
.ig span {
  transition: color .35s, text-shadow .35s;
}
.ig:hover {
  filter: brightness(1.15);
}

/* photo-strip */
.photo-strip {
  height: 100vh;
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  background-repeat: no-repeat;
  border-bottom: 3px solid #1c1a14;
}
@supports (-webkit-touch-callout: none) {
  /* iOS Safari: background-attachment:fixed is broken, use scroll */
  .photo-strip { background-attachment: scroll; }
}

/* Inner pages header — match live event spacing */
.circus.ph-bar {
  min-height: 200px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  padding: 48px 56px 40px !important;
}
.circus.ph-bar .ph-cnt {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* Performance */
img { content-visibility: auto; }
.svc-img img, .arb-img img, .proj-gal-item img { will-change: transform; }

/* ══════════════════════════════════════
   RESPONSIVE — tablet (max 1024px)
══════════════════════════════════════ */
@media(max-width:1024px){
  .hero { grid-template-columns: 1fr; min-height: 0; }
  .hero-right { min-height: 50vw; }
  .hero-left { padding: 48px 32px; }
  .team-section { grid-template-columns: 1fr; }
}

/* ══════════════════════════════════════
   RESPONSIVE — mobile (max 768px)
══════════════════════════════════════ */
@media(max-width:768px){

  /* HERO */
  .hero { grid-template-columns: 1fr; min-height: 0; }
  .hero-left { padding: 40px 20px 32px; gap: 16px; }
  .hero-right { min-height: 60vw; border-right: none; border-top: 3px solid #1c1a14; }
  .hero-h1 { font-size: clamp(36px,10vw,64px); }

  /* CIRCUS / PAGE HEADER */
  .circus { grid-template-columns: 100px 1fr; grid-template-rows: auto auto; }
  .circus-img { display: block; grid-row: 1 / 3; height: 100%; min-height: 90px; border-right: 2px solid rgba(255,255,255,.12); }
  .circus-cnt { padding: 14px 16px 10px; }
  .circus-lbl { font-size: 9px; letter-spacing: .3em; margin-bottom: 4px; }
  .circus-ttl { font-size: clamp(13px,4vw,18px); line-height: 1.15; }
  .circus-cta { grid-column: 2; border-left: none; border-top: 1px solid rgba(255,255,255,.08); padding: 10px 16px; justify-content: flex-start; }
  .circus-cta a { font-size: 10px; padding: 8px 14px; }
  .circus.ph-bar { padding: 36px 20px 28px !important; min-height: 140px !important; }
  .ph-bar { padding: 36px 20px 28px; min-height: 140px; }
  .ph-ttl { font-size: clamp(28px,8vw,48px); }

  /* SVC */
  .svc { grid-template-columns: 1fr; direction: ltr; }
  .svc.reverse { direction: ltr; }
  .svc-img { min-height: 260px; border-right: none; border-bottom: 3px solid #1c1a14; }
  .svc-cnt { padding: 36px 20px; }
  .svc-h2 { font-size: clamp(24px,7vw,40px); }

  /* INFO GRID */
  .info-section { padding: 24px 10px; }
  .info-grid { grid-template-columns: repeat(3,1fr); gap: 10px; }
  .ig { padding: 14px 8px; height: 180px; min-height: 180px; max-height: 180px; overflow: hidden; box-sizing: border-box; }
  .ig span { font-size: clamp(13px,3.8vw,17px); }

  /* MOSAIC */
  .mosaic { grid-template-columns: repeat(2,1fr); }
  .mc-wide { grid-column: span 1; }

  /* ARBEITEN SCROLL */
  .arb-head { padding: 24px 20px; flex-direction: column; gap: 12px; }
  .arb-item { flex: 0 0 220px; }
  .arb-img { height: 260px; }

  /* TEAM */
  .team-portraits { grid-template-columns: 1fr; }
  .team-card { border-right: none; border-bottom: 3px solid #1c1a14; }
  .team-photo { min-height: 300px; }
  .team-bio { padding: 28px 20px; }
  .team-facts { padding: 0 20px 28px; }

  /* KONTAKT */
  .k-section { grid-template-columns: 1fr; }
  .k-main { padding: 40px 20px; border-right: none; border-bottom: 3px solid #1c1a14; }
  .k-side { padding: 36px 20px; }
  .k-strip { grid-template-columns: 1fr 1fr; }
  .k-strip-item:nth-child(2n) { border-right: none; }
  .k-strip-item:nth-child(n+3) { border-top: 3px solid #1c1a14; }
  .k-langs { grid-template-columns: repeat(3,1fr); }
  .k-lang-item:nth-child(3n) { border-right: none; }
  .k-lang-item:nth-child(n+4) { border-top: 3px solid #1c1a14; }
  .k-btns { flex-direction: column; }
  .k-h2 { font-size: clamp(24px,7vw,40px); }

  /* PARTNER */
  .partner-content { grid-template-columns: 1fr; }
  .partner-text { padding: 40px 20px; border-right: none; border-bottom: 3px solid #1c1a14; }

  /* LEGAL */
  .legal-grid { grid-template-columns: 1fr; }
  .legal-sidebar { border-right: none; border-bottom: 3px solid #1c1a14; padding: 32px 20px; }
  .legal-content { padding: 32px 20px; }

  /* FOOTER */
  footer { grid-template-columns: 1fr; padding: 36px 20px 24px; gap: 24px; }

  /* PROJECT PAGES */
  .proj-hero { padding: 36px 20px 28px; min-height: 140px; }
  .proj-back { display: none; }
  .proj-main { grid-template-columns: 1fr; }
  
  .proj-info { padding: 28px 20px; }
  .proj-gallery { grid-template-columns: repeat(2,1fr); }
  .proj-nav { grid-template-columns: 1fr; }
  .proj-nav-item { border-right: none; border-bottom: 3px solid #1c1a14; }
  .proj-nav-right { border-bottom: none; text-align: left; }

  /* PHOTO STRIP */
  .photo-strip { height: 60vh; background-attachment: scroll; }

  /* LIGHTBOX */
  .lb-img { max-width: 95vw; max-height: 80vh; }
  .lb-arrow { padding: 12px; font-size: 20px; }

  /* BUTTONS */
  .btn { padding: 12px 18px; font-size: 11px; }

  /* EVENT PAGE */
  .packages { grid-template-columns: 1fr; }
  .format-grid { grid-template-columns: repeat(2,1fr); }
  .form-grid { grid-template-columns: 1fr; }
  .total-section { padding: 32px 20px; flex-direction: column; }
  .total-amount { font-size: 56px; }
  .cta-row { padding: 0 20px 32px; }
  .header { padding: 36px 20px 28px; }
  .section-body { padding: 24px 20px; }
  .section-title { padding: 12px 20px; }
  .section-header { padding: 14px 20px; }
  .disclaimer { padding: 24px 20px; }
}

/* ══════════════════════════════════════
   RESPONSIVE — small mobile (max 480px)
══════════════════════════════════════ */
@media(max-width:480px){
  .info-grid { grid-template-columns: repeat(3,1fr); gap: 8px; }
  .ig { height: 160px; padding: 12px 6px; }
  .ig span { font-size: clamp(12px,3.5vw,15px); }
  .mosaic { grid-template-columns: 1fr; }
  .proj-gallery { grid-template-columns: 1fr; }
  .k-strip { grid-template-columns: 1fr; }
  .k-langs { grid-template-columns: repeat(2,1fr); }
  .k-lang-item:nth-child(2n) { border-right: none; }
  .hero-h1 { font-size: clamp(32px,12vw,56px); }
  .format-grid { grid-template-columns: 1fr; }
  .nav-dd { min-width: 180px; }
}

/* ═══════════════════════════════════════
   MOBILE NAV — completamente riscritto
═══════════════════════════════════════ */

/* Hamburger button — nascosto su desktop */
.nav-hamburger {
  display: none;
}

/* Menu overlay fullscreen */
.nav-mobile {
  display: none;
  position: fixed;
  top: 0; left: 0;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  background: #1c1a14;
  z-index: 10001;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 100px 40px 60px;
  overflow: hidden;
  box-sizing: border-box;
}
.nav-mobile.open {
  display: flex;
}
.nav-mobile a {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 900;
  font-size: clamp(32px, 8vw, 52px);
  text-transform: uppercase;
  letter-spacing: .03em;
  color: #f5ead4;
  text-decoration: none;
  padding: 14px 0;
  border-bottom: 1px solid rgba(245,234,212,.1);
  width: 100%;
  -webkit-tap-highlight-color: transparent;
}
.nav-mobile a:active { color: #e8a020; }
.nav-mobile-close {
  position: absolute;
  top: 28px; right: 28px;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(245,234,212,.5);
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

/* ── Attivazione mobile ── */
@media (max-width: 768px) {

  /* Barra fissa in cima */
  .nav {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100%;
    height: 80px;
    background: #1c1a14;
    border-bottom: 3px solid #e8a020;
    z-index: 10000;
    box-sizing: border-box;
    padding: 0 20px;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }

  /* Logo */
  .nav-brand {
    display: flex;
    align-items: center;
    height: 80px;
    color: #f5ead4;
    background: transparent;
    border: none;
    font-size: 16px;
    letter-spacing: .14em;
    padding: 0;
    text-decoration: none;
    font-weight: 900;
    text-transform: uppercase;
  }

  /* Nasconde tutte le voci desktop */
  .nav-cell,
  .nav-dd {
    display: none !important;
  }

  .topbar { display: none; }

  /* Hamburger button */
  .nav-hamburger {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 6px;
    width: 52px;
    height: 52px;
    background: none;
    border: none;
    padding: 10px;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
    flex-shrink: 0;
  }
  .nav-hamburger span {
    display: block;
    width: 26px;
    height: 2px;
    background: #f5ead4;
    border-radius: 1px;
  }

  body { padding-top: 80px; }
}

/* Cursor hidden by default — JS enables it only on real mouse devices */
.cur { display: none !important; }
* { cursor: auto !important; }

@media (hover: hover) and (pointer: fine) {
  .cur { display: block !important; }
  * { cursor: none !important; }
}

@media(max-width:768px){
  .ig { aspect-ratio: auto; height: 180px; padding: 14px 8px; }
  .ig span { font-size: clamp(13px,3.8vw,17px); letter-spacing:.04em; }
  .info-grid { gap: 10px; }
}

/* Prevent horizontal overflow */
html { overflow-x: clip; }
body { overflow-x: clip; width: 100%; }
.nav, .nav-mobile, .info-grid, .mosaic, .photo-strip, footer { max-width: 100%; }
.arb-scroll { max-width: 100vw; }
section, div { max-width: 100%; }

@media(max-width:768px){
  .svc.rev .svc-img { order: -1; }
  .svc.rev .svc-cnt { order: 1; }
}

.proj-hero-inner {
  background: transparent;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* Masonry gallery */
.proj-gallery-wrap {
  border-bottom: 3px solid #1c1a14;
  padding: 40px 48px;
  background: #1c1a14;
}
.proj-gallery-label {
  font-size: 10px;
  letter-spacing: .35em;
  text-transform: uppercase;
  color: rgba(245,234,212,.3);
  margin-bottom: 20px;
}
.proj-masonry {
  columns: 3;
  column-gap: 4px;
}
.proj-masonry.cols-1 { columns: 1; }
.proj-masonry.cols-2 { columns: 2; }
.proj-masonry.cols-3 { columns: 3; }
.proj-masonry.cols-4 { columns: 4; }
.proj-masonry-item {
  break-inside: avoid;
  margin-bottom: 4px;
  overflow: hidden;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
/* button wrapper injected by JS for iOS tap compatibility */
.proj-masonry-item button {
  display: block;
  width: 100%;
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
.proj-masonry-item img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform .4s, filter .4s;
  filter: grayscale(.2);
  pointer-events: none; /* let parent button handle all taps */
}
.proj-masonry-item:hover img {
  transform: scale(1.03);
  filter: grayscale(0);
}

@media(max-width:768px){
  .proj-main { grid-template-columns: 1fr; }
  
  .proj-info { padding: 28px 20px; }
  .proj-gallery-wrap { padding: 28px 20px; }
  .proj-masonry.cols-3, .proj-masonry.cols-4 { columns: 2; }
  .proj-masonry.cols-2 { columns: 2; }
}
@media(max-width:480px){
  .proj-masonry { columns: 1 !important; }
}


@media(max-width:768px){
  .hero { grid-template-columns: 1fr; }
  .hero-left {
    padding: 0 !important;
    border: none !important;
    aspect-ratio: 16/9;
  }
  .hero-right {
    border-top: 3px solid #1c1a14;
    min-height: auto;
  }
  .hero-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
}

@media(max-width:768px){
  .arb-item { flex: 0 0 160px; }
  .arb-img { height: 220px; }
}
@media(max-width:480px){
  .arb-item { flex: 0 0 140px; }
  .arb-img { height: 200px; }
}

@media(max-width:768px){
  
  .proj-cover img {
    object-position: center top;
  }
}

/* proj-cover */
.proj-cover {
  border-right: 3px solid #1c1a14;
  overflow: hidden;
  min-height: 520px;
}
.proj-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}
@media(max-width:768px){
  .proj-cover {
    aspect-ratio: 3/4;
    max-height: none;
    border-right: none;
    border-bottom: 3px solid #1c1a14;
  }
}

@media(max-width:768px){
  #footerCrash { display: none !important; }
}

@media(max-width:768px){
  footer {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
    padding: 40px 24px 32px !important;
  }
  footer > div:first-child {
    grid-column: 1 / -1;
  }
  .footer-bottom, .f-bot {
    grid-column: 1 / -1;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
  .footer-legal {
    flex-wrap: wrap;
    gap: 16px;
  }
}
