:root {
	--base: #111216;
	--surface: #1b1d22;
	--surface-light: #292c33;
	--text: #e7e7e8;
	--muted: #a9abb0;
	--line: #454950;
	--primary: #226ebf;
	--secondary: ;
	--tertiary: ;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--base); color: var(--text); font-family: Arial, Helvetica, sans-serif; line-height: 1.6; }
a { color: inherit; }
.container { width: min(1120px, calc(100% - 3rem)); margin: auto; }
.accent-strip { height: 5px; background: linear-gradient(90deg, #e33b35 0 16%, #f3b72f 16% 32%, #f3dc45 32% 48%, #5ebc63 48% 64%, #4d8fd5 64% 80%, #9e5aa7 80%); }
.site-header { position: sticky; top: 0; z-index: 10; background: rgba(17, 18, 22, .97); border-bottom: 1px solid var(--line); }
.nav-wrap { display: flex; align-items: center; justify-content: space-between; min-height: 76px; gap: 2rem; }
.brand { display: flex; align-items: center; gap: .7rem; color: var(--text); text-decoration: none; font-weight: 900; letter-spacing: .02em; }
.brand img { width: 42px; height: 42px; object-fit: contain; border-radius: 50%; }
.nav-wrap nav { display: flex; flex-wrap: wrap; gap: 1.3rem; }
.nav-wrap nav a { color: var(--muted); text-decoration: none; font-size: .82rem; font-weight: 700; }
.nav-wrap nav a:hover, .button-outline:hover { color: var(--text); }
.eyebrow { display: block; margin-bottom: .85rem; color: var(--secondary); font-size: .74rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.hero { display: grid; grid-template-columns: 1fr; align-items: center; min-height: 520px; padding-top: 5rem; padding-bottom: 5rem; }
.hero h1 { max-width: 720px; margin: 0 0 1.5rem; font-size: clamp(3rem, 7vw, 6.5rem); line-height: .9; letter-spacing: -.07em; }
.lead, .section-intro p { max-width: 590px; color: var(--muted); font-size: 1.15rem; }
.actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }
.button { display: inline-block; padding: .82rem 1.25rem; border-radius: 4px; text-decoration: none; font-size: .82rem; font-weight: 900; }
.button-primary { background: var(--primary); color: var(--base); }
.button-primary:hover { filter: brightness(1.15); }
.button-outline { border: 1px solid var(--secondary); color: var(--secondary); }
.button-dark { background: var(--text); color: var(--base); }
.hero-symbol { position: relative; display: grid; place-items: center; height: 500px; overflow: hidden; border: 1px solid #73777f; border-radius: 50%; background: radial-gradient(circle at 50% 42%, #41454d, #202228 53%, #0e0f12); box-shadow: inset 0 0 0 12px #08090b, inset 0 0 0 14px #888b91, 0 20px 70px #000; }
.hero-symbol:after { content: ''; position: absolute; left: 8%; right: 8%; bottom: 24%; height: 4px; background: linear-gradient(90deg, #e33b35, #f3b72f, #f3dc45, #5ebc63, #4d8fd5, #9e5aa7); transform: rotate(-7deg); box-shadow: 0 12px 0 #4d8fd5, 0 24px 0 #9e5aa7; }
.circle-logo { position: relative; z-index: 1; display: grid; place-items: center; width: 70%; height: 70%; border: 2px solid #c8c9ca; border-radius: 50%; box-shadow: 0 0 0 8px #17191d, 0 0 0 10px #71747a; }
.circle-logo span { display: block; color: #e7e7e8; font-size: clamp(3rem, 8vw, 6rem); font-weight: 900; line-height: .8; letter-spacing: -.08em; }
.circle-logo small { display: block; margin-top: .8rem; color: #c8c9ca; font-size: .7rem; font-weight: 900; letter-spacing: .35em; }
.star { position: absolute; width: 9px; height: 9px; background: var(--tertiary); transform: rotate(45deg); }
.star-one { top: 20%; left: 23%; box-shadow: 150px 85px 0 var(--primary), -80px 160px 0 var(--secondary); }
.star-two { top: 30%; right: 18%; background: var(--primary); }
.star-three { bottom: 18%; left: 38%; background: var(--secondary); }
.section { padding: 7rem 0; }
.section h2, .safe-section h2, .nights-section h2, .contact-section h2, .impressum-section h2 { margin: 0 0 1.2rem; font-size: clamp(2.4rem, 5vw, 5rem); line-height: .95; letter-spacing: -.06em; }
.point-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 3.5rem; }
.point-card { padding: 1.5rem; background: var(--surface); border: 1px solid var(--line); border-top: 3px solid var(--primary); border-radius: 4px; }
.point-card:nth-child(2) { border-top-color: var(--secondary); }
.point-card:nth-child(3) { border-top-color: var(--tertiary); }
.point-number { color: var(--secondary); font-size: 1.6rem; font-weight: 900; }
.point-card h3 { margin: .8rem 0 .35rem; }
.point-card p, .safe-list p, .night-card p { color: var(--muted); }
.safe-section { padding: 6rem 0; background: var(--surface); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.safe-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: start; }
.safe-list { padding-left: 1.5rem; border-left: 3px solid var(--secondary); }
.safe-list strong { color: var(--text); }
.nights-section { padding-top: 6rem; }
.section-heading-row { display: flex; align-items: end; justify-content: space-between; gap: 2rem; }
.night-card { display: grid; grid-template-columns: 130px 1fr; gap: 2rem; align-items: center; margin-top: 2.5rem; padding: 2rem; background: var(--surface-light); border: 1px solid var(--line); border-radius: 4px; }
.night-date { display: grid; place-items: center; aspect-ratio: 1; background: var(--primary); color: var(--base); border-radius: 50%; transform: rotate(-4deg); }
.night-date strong { font-size: 2.3rem; line-height: 1; }
.night-date span { font-size: .7rem; font-weight: 900; letter-spacing: .15em; }
.night-card h3 { margin: .2rem 0; font-size: 1.6rem; }
.contact-section { padding: 5rem 0; background: var(--primary); color: var(--base); }
.contact-inner { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.contact-section .eyebrow { color: var(--base); }
.impressum-section { padding: 6rem 0; background: #0b0c0f; }
.impressum-box { max-width: 850px; padding: 2rem; color: var(--muted); background: var(--surface); border: 1px solid var(--line); border-left: 4px solid var(--tertiary); border-radius: 4px; }
.impressum-box h3, .impressum-box strong { color: var(--text); }
.impressum-box h3 { margin-top: 0; }
.impressum-box a { color: var(--secondary); }
.impressum-note { padding-top: 1rem; border-top: 1px solid var(--line); color: var(--tertiary); font-size: .85rem; }
.site-footer { padding: 1.3rem 0; color: var(--muted); font-size: .8rem; background: var(--base); border-top: 1px solid var(--line); }
.footer-row { display: flex; justify-content: space-between; gap: 1rem; }
.footer-row a { color: var(--secondary); text-decoration: none; }
@media (max-width: 760px) { .nav-wrap, .footer-row { align-items: flex-start; flex-direction: column; gap: .8rem; } .nav-wrap { padding: 1rem 0; } .hero, .safe-grid { grid-template-columns: 1fr; gap: 3rem; } .hero { min-height: auto; } .hero-symbol { height: 300px; } .point-grid { grid-template-columns: 1fr; } .section-heading-row, .contact-inner { align-items: flex-start; flex-direction: column; } .night-card { grid-template-columns: 90px 1fr; gap: 1rem; padding: 1rem; } }
