/*
Theme Name: Visionärs Events
Description: Individuelles WordPress-Theme für Visionärs Events.
Version: 1.0.0
Requires PHP: 8.0
Text Domain: visionaers-events
*/
:root {
    --ink: #171313;
    --cream: #f7efe1;
    --gold: #e8bf78;
    --wine: #531b29;
    --muted: #d2c2b1;
    --line: #d4b98655;
    --serif: 'Iowan Old Style', 'Palatino Linotype', Palatino, Georgia, serif;
    --sans: system-ui, sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--cream); background: var(--ink); font: 400 1rem/1.65 var(--sans); }
img { display: block; width: 100%; height: auto; }
figure, dl, dd { margin: 0; }
a { color: inherit; }
a:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
h1, h2, h3 { margin: 0 0 .42em; font-family: var(--serif); font-weight: 600; line-height: 1.01; letter-spacing: -.035em; }
h1 { font-size: clamp(2.55rem, 5vw, 5.85rem); }
h2 { font-size: clamp(2.6rem, 6vw, 5.3rem); }
h3 { font-size: clamp(1.65rem, 3vw, 2.7rem); }
p { margin: 0 0 1.2em; }
em { font-weight: inherit; }
.wrap { width: min(100% - 3rem, 79rem); margin-inline: auto; }
.skip { position: absolute; left: 1rem; top: -10rem; z-index: 5; padding: 1rem; color: var(--ink); background: var(--cream); }
.skip:focus { top: 1rem; }
.site-header { border-bottom: 1px solid var(--line); }
.header-inner, .footer-inner { display: flex; justify-content: space-between; align-items: center; gap: 1rem; min-height: 5rem; }
.brand { font: 600 clamp(1.25rem, 3vw, 1.8rem)/1 var(--serif); letter-spacing: -.035em; text-decoration: none; }
.brand span { color: var(--gold); font-style: italic; }
.site-header nav a, .site-footer nav a { font-size: .88rem; text-decoration: none; }
.site-header nav a:hover, .site-footer nav a:hover { text-decoration: underline; }
.site-header nav span { color: var(--gold); margin-left: .35em; }
.eyebrow { color: var(--gold); font-size: .76rem; font-weight: 750; letter-spacing: .16em; text-transform: uppercase; }
.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 1.25rem; min-height: 3.25rem; padding: .7rem 1.12rem; background: var(--gold); color: var(--ink); font-weight: 750; text-decoration: none; }
.button:hover { background: #f6d89d; }
.button:focus-visible { outline-color: var(--cream); }
.text-link { display: inline-flex; align-items: center; gap: .75rem; padding-block: .32rem; font-weight: 750; text-underline-offset: .35em; }
.home-hero { padding: clamp(3rem, 7vw, 7rem) 0; }
.hero-grid { display: grid; grid-template-columns: 1.05fr 1fr; align-items: center; gap: clamp(2rem, 5vw, 6rem); }
.home-intro h1 em { display: block; color: var(--gold); }
.home-intro > p:not(.eyebrow) { max-width: 33rem; color: var(--muted); font-size: clamp(1rem, 1.4vw, 1.2rem); }
.hero-photo { padding: .55rem; border: 1px solid var(--line); }
.hero-photo img { aspect-ratio: 5 / 6; object-fit: cover; object-position: 56% center; }
.events-band, .pitch-format { background: var(--cream); color: var(--ink); padding: clamp(3.5rem, 8vw, 7rem) 0; }
.events-band .eyebrow, .pitch-format .eyebrow { color: #793b32; }
.event-list { display: grid; gap: 1.5rem; }
.event-card { display: grid; grid-template-columns: 1fr 1fr; background: var(--wine); color: var(--cream); }
.event-card .eyebrow { color: var(--gold); }
.card-photo img { height: 100%; min-height: 16rem; max-height: 26rem; object-fit: cover; }
.card-copy { align-self: center; padding: clamp(1.5rem, 5vw, 4.5rem); }
.card-copy h3 { font-size: clamp(2.15rem, 4vw, 4rem); }
.card-copy .text-link { color: var(--gold); }
.manifesto { padding: clamp(4rem, 9vw, 9rem) 0; }
.manifesto-grid { display: grid; grid-template-columns: 1fr 3fr; gap: 1.5rem; }
.manifesto p:last-child { max-width: 37rem; color: var(--muted); font-size: 1.14rem; }
.site-footer { border-top: 1px solid var(--line); }
.site-footer nav { display: flex; flex-wrap: wrap; gap: 1rem; }
.site-footer nav:empty { display: none; }
.pitch-hero { position: relative; isolation: isolate; min-height: min(75vh, 48rem); display: grid; align-items: center; background: var(--wine); }
.pitch-hero > img { position: absolute; inset: 0; z-index: -2; height: 100%; object-fit: cover; object-position: 62% center; }
.pitch-hero::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #170c0ef7, #170c0eeb 24%, #170c0e53 63%, transparent); }
.pitch-intro { padding-block: clamp(4rem, 9vw, 8rem); }
.pitch-intro h1 { font-size: clamp(4rem, 10.5vw, 10rem); line-height: .88; }
.pitch-intro h1 em { color: var(--gold); }
.pitch-claim { font-size: clamp(1.12rem, 2.35vw, 1.8rem); font-weight: 600; }
.facts { background: var(--wine); }
.facts-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.facts-grid > div { padding: 1.6rem 1rem; border-left: 1px solid var(--line); }
.facts-grid > div:last-child { border-right: 1px solid var(--line); }
dt { font-size: .75rem; text-transform: uppercase; letter-spacing: .14em; color: var(--gold); }
dd { font: 600 clamp(1.15rem, 2.05vw, 1.75rem)/1.25 var(--serif); }
dd small { display: block; margin-top: .35em; font: 400 .83rem/1.4 var(--sans); }
.lede { max-width: 43rem; font-size: 1.14rem; }
.steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1rem, 4vw, 3rem); margin-top: 2.7rem; }
.steps > div { padding-top: 1rem; border-top: 1px solid #a98664; }
.steps span { display: block; color: #793b32; margin-bottom: .75rem; font-weight: 750; }
.venue { padding: clamp(3rem, 8vw, 7rem) 0; }
.venue-grid { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: clamp(2rem, 8vw, 8rem); }
.venue figure { padding: .55rem; border: 1px solid var(--line); }
.venue img { aspect-ratio: 4 / 4.4; object-fit: cover; }
address { margin-bottom: 1.1rem; font-style: normal; }
.venue .text-link { color: var(--gold); }
.invitation { padding: clamp(3.5rem, 8vw, 7rem) 0; text-align: center; background: var(--wine); }
.invitation p:not(.eyebrow) { max-width: 36rem; margin-inline: auto; }
.editorial { padding-block: 5rem; min-height: 60vh; }
.editorial article { max-width: 52rem; }
.editorial img { margin-block: 1.5rem; }
@media (max-width: 54rem) {
    .hero-grid { grid-template-columns: 1fr; }
    .home-intro { max-width: 37rem; }
    .hero-photo img { aspect-ratio: 16 / 10; }
    .pitch-hero { min-height: 0; }
}
@media (max-width: 40rem) {
    .wrap { width: calc(100% - 2rem); }
    .header-inner, .footer-inner { min-height: 4.25rem; }
    .site-header nav a { font-size: .78rem; }
    .event-card, .venue-grid, .manifesto-grid, .steps { grid-template-columns: 1fr; }
    .card-photo img { aspect-ratio: 16 / 9; min-height: 0; }
    .facts-grid { grid-template-columns: repeat(2, 1fr); }
    .facts-grid > div:nth-child(even) { border-right: 1px solid var(--line); }
    .facts-grid > div:nth-child(n+3) { border-top: 1px solid var(--line); }
    .pitch-hero::after { background: linear-gradient(90deg, #170c0eed, #170c0e8a 72%, #170c0e28); }
    .pitch-intro h1 { font-size: clamp(3.7rem, 12vw, 6rem); }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
}
