/* Jan Handels GmbH - DE only (new design) */
:root{--bg:#fffdfa;--bg2:#f7f1e8;--bg3:#efe3d3;--ink:#1f2430;--muted:#5a6472;--line:rgba(31,36,48,.12);--accent:#9fc6d7;--accent2:#7fb3c9;--radius:18px;--shadow:0 14px 40px rgba(17,22,31,.08);--max:90vw;--gutter:clamp(18px,3vw,44px);--h1:clamp(38px,5vw,74px);--h2:clamp(26px,3.2vw,44px);--lead:clamp(16px,1.25vw,20px)}
*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,"Noto Sans",sans-serif;color:var(--ink);background:linear-gradient(180deg,var(--bg) 0%,var(--bg2) 40%,var(--bg) 100%)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}
header{position:sticky;top:0;z-index:50;backdrop-filter:blur(10px);background:rgba(255,253,250,.78);border-bottom:1px solid var(--line)}
.navbar{width:var(--max);margin:0 auto;padding:14px var(--gutter);display:flex;align-items:center;gap:18px}
.brand{display:flex;align-items:center;gap:12px;min-width:220px}.brand img{width:46px;height:46px;object-fit:contain}
.brand .t{display:flex;flex-direction:column;line-height:1.15}.brand .t b{font-size:16px}.brand .t span{font-size:13px;color:var(--muted)}
.navlinks{display:flex;align-items:center;gap:10px;flex:1;justify-content:center;flex-wrap:wrap}
.navlinks a{padding:10px 12px;border-radius:999px;color:var(--muted);transition:.2s ease}
.navlinks a[aria-current="page"],.navlinks a:hover{color:var(--ink);background:rgba(159,198,215,.18)}
.actions{display:flex;align-items:center;gap:10px}
.lang{position:relative}
.lang button{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);box-shadow:0 10px 26px rgba(17,22,31,.06);cursor:pointer}
.langmenu{position:absolute;right:0;top:calc(100% + 10px);min-width:220px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:10px;display:none}
.langmenu[aria-hidden="false"]{display:block}
.langitem{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;border:0;background:transparent;cursor:pointer}
.langitem:hover{background:rgba(159,198,215,.14)}
.langitem[disabled]{opacity:.45;cursor:not-allowed}
.badge{font-size:12px;color:var(--muted);border:1px solid var(--line);padding:4px 8px;border-radius:999px;background:rgba(255,253,250,.7)}
.burger{display:none}
@media(max-width:860px){.brand{min-width:auto}.navlinks{display:none}.burger{display:inline-flex}}
.mobilemenu{display:none;border-top:1px solid var(--line);background:rgba(255,253,250,.92)}
.mobilemenu.open{display:block}
.mobilemenu .inner{width:var(--max);margin:0 auto;padding:10px var(--gutter) 18px;display:flex;flex-direction:column;gap:10px}
.mobilemenu a{padding:12px 14px;border-radius:14px;background:rgba(159,198,215,.12)}
.section{padding:clamp(46px,6vw,96px) 0}
.hero{min-height:720px;position:relative;display:flex;align-items:center;justify-content:center;padding:90px 0;overflow:hidden}
.hero .bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.02);filter:saturate(1.02) contrast(1.03)}
.hero .veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,253,250,.78) 0%,rgba(255,253,250,.62) 46%,rgba(255,253,250,.42) 72%,rgba(255,253,250,.14) 100%)}
.hero .content{position:relative;width:var(--max);margin:0 auto;padding:0 var(--gutter);display:flex}
.kicker{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;border:1px solid var(--line);background:rgba(255,253,250,.78);color:var(--muted);box-shadow:0 10px 26px rgba(17,22,31,.05)}
.kicker i{width:10px;height:10px;border-radius:99px;background:var(--accent2);display:inline-block}
h1{margin:18px 0 12px;font-size:var(--h1);letter-spacing:-.02em;line-height:1.02}
.lead{font-size:var(--lead);color:var(--muted);max-width:62ch;line-height:1.6}
.ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 18px;border-radius:999px;border:1px solid var(--line);background:#fff;box-shadow:0 14px 34px rgba(17,22,31,.07);transition:.2s ease}
.btn.primary{background:linear-gradient(180deg,rgba(159,198,215,.95),rgba(127,179,201,.95));border-color:rgba(127,179,201,.55)}
.btn:hover{transform:translateY(-1px)}
.split{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(18px,3vw,36px);align-items:start}
@media(max-width:980px){.split{grid-template-columns:1fr}}
.block{padding:clamp(18px,2.6vw,30px);border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,253,250,.74);box-shadow:0 16px 48px rgba(17,22,31,.06)}
h2{font-size:var(--h2);margin:0 0 12px;letter-spacing:-.01em}
p{margin:0 0 14px;color:var(--muted);line-height:1.7}
hr.sep{border:0;height:1px;background:var(--line);margin:18px 0}
.fullimg{min-height:720px;position:relative;background-size:cover;background-position:center}
.fullimg::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(255,253,250,.06) 0%,rgba(255,253,250,.22) 55%,rgba(255,253,250,.46) 100%)}
.fullimg .inner{position:relative;z-index:2}
.fullimg .inner{position:relative;width:var(--max);margin:0 auto;padding:110px var(--gutter)}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(16px,2.4vw,34px)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.4vw,34px)}
@media(max-width:980px){.grid3{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.grid2,.grid3{grid-template-columns:1fr}}
.form{display:grid;gap:12px}
.field{display:grid;gap:8px}
label{font-size:14px}
input,select,textarea{width:100%;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:#fff;font-size:15px;color:var(--ink);outline:none}
textarea{min-height:140px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:rgba(127,179,201,.9);box-shadow:0 0 0 4px rgba(159,198,215,.28)}
.small{font-size:13px;color:var(--muted)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:640px){.row2{grid-template-columns:1fr}}
.notice{padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:rgba(159,198,215,.14)}
.footer{border-top:1px solid var(--line);background:rgba(255,253,250,.92)}
.footer .inner{width:var(--max);margin:0 auto;padding:24px var(--gutter);display:grid;grid-template-columns:1.2fr .8fr;gap:18px}
@media(max-width:820px){.footer .inner{grid-template-columns:1fr}}
.reveal{opacity:0;transform:translateY(14px);transition:.65s ease}
.reveal.in{opacity:1;transform:translateY(0)}
/* Cookie banner */
.cookie{position:fixed;left:0;right:0;bottom:0;z-index:9999;padding:14px 16px;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.1) blur(10px);border-top:1px solid rgba(0,0,0,.06)}
.cookie__inner{width:var(--max);margin:0 auto;display:flex;gap:14px;align-items:flex-end;justify-content:space-between}
.cookie__copy{max-width:720px;display:grid;gap:8px}
.cookie__text{color:var(--muted);font-size:13px;line-height:1.5}
.cookie__links a{font-size:13px;color:var(--ink);text-decoration:underline;opacity:.85}
.cookie__actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:820px){.cookie__inner{flex-direction:column;align-items:stretch}.cookie__actions{justify-content:flex-start}}

/* Cookie toggle button */
.cookiefab{position:fixed;right:18px;bottom:18px;z-index:10000;width:46px;height:46px;border-radius:999px;border:1px solid var(--line);background:rgba(255,253,250,.92);backdrop-filter:blur(10px);box-shadow:0 16px 40px rgba(17,22,31,.10);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s ease}
.cookiefab:hover{transform:translateY(-1px)}
.cookiefab span{font-size:20px;line-height:1}

/* Allow banner to collapse via the FAB */
.cookie.cookie--hidden{display:none}

/* Homepage ticket CTA (full width) */
.ticketwide{padding:clamp(54px,6vw,96px) 0;background:linear-gradient(180deg,var(--bg2) 0%,rgba(239,227,211,.72) 45%,var(--bg) 100%);border-top:1px solid var(--line)}
.ticketwide .inner{width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.ticketwide h2{margin-top:16px}
