:root{--paper:#fff9eb;--ink:#283f32;--accent:#ff6844;--line:#283f3230}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.6 system-ui,sans-serif}a{color:inherit}header,main,footer{max-width:1160px;margin:auto;padding:26px 36px}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand,.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:13px;font-weight:750}.brand{font-size:15px}nav{display:flex;gap:24px}nav a{text-decoration:none;font-size:14px}.hero{padding:70px 0 60px;display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:64px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,serif;font-weight:400;line-height:1.02;letter-spacing:-.05em}h1{font-size:clamp(64px,8vw,110px);margin:22px 0 28px}h1 em{color:var(--accent);font-weight:400}h2{font-size:clamp(40px,5vw,62px)}h3{font-size:21px}.intro{max-width:470px}.ticket{background:var(--accent);padding:40px;transform:rotate(3deg);border-radius:140px 140px 12px 12px;color:#253d30;position:relative;text-align:center;box-shadow:12px 14px 0 #283f3212}.ticket .star{font-size:100px;line-height:1.2}.ticket strong{display:block;font:52px/1.1 Georgia,serif;margin:20px 0}.ticket .rule{border-top:1px dashed #283f3280;margin:30px 0 20px}.button,button{display:inline-block;border:0;border-radius:40px;padding:15px 26px;background:var(--ink);color:white;font:600 16px system-ui;cursor:pointer;text-decoration:none}.button{margin-top:14px}section{padding:65px 0;border-top:1px solid var(--line);scroll-margin-top:20px}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:28px}.schedule{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.schedule article{padding:24px 0;border-top:2px solid var(--ink)}.time{color:#a83b21;font-weight:700}.location{display:grid;grid-template-columns:1fr 1fr;gap:60px}.place{background:#e9eddd;padding:34px;border-radius:12px}.rsvp{display:grid;grid-template-columns:1fr 1.2fr;gap:70px}.form-card{background:white;border:1px solid var(--line);border-radius:18px;padding:30px}label{display:block;font-weight:600;margin-bottom:8px}input[type=text],input[type=password]{width:100%;padding:14px 16px;border:1px solid #7c897d;border-radius:8px;font:inherit;background:#fffefa;color:var(--ink)}fieldset{border:0;padding:0;margin:26px 0}legend{font-weight:600;margin-bottom:10px}.choices{display:flex;gap:12px;flex-wrap:wrap}.choice{flex:1;min-width:130px;border:1px solid var(--line);border-radius:8px;padding:14px;cursor:pointer;font-weight:400;margin:0}.choice:has(input:checked){background:#e9eddd;border-color:var(--ink)}input[type=radio]{accent-color:var(--ink);margin-right:8px}.small{font-size:14px;color:#516353}.notice{padding:16px 20px;border:1px solid #739578;border-radius:8px;background:#edf4e8;margin-bottom:22px}.error{background:#fff0e8;border-color:#bd4f2c;color:#96331c}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:14px;padding-bottom:40px}.gate{max-width:530px;margin:7vh auto;padding:24px}.gate h1{font-size:70px}.gate .form-card{margin-top:30px}.gate button{width:100%;margin-top:18px}:focus-visible{outline:3px solid #c95130;outline-offset:4px}[hidden]{display:none!important}.logout{border:0;background:none;padding:0;color:var(--ink);font-size:14px;text-decoration:underline}table{width:100%;border-collapse:collapse;font-size:15px}td,th{text-align:left;padding:14px;border-bottom:1px solid var(--line)}.table-wrap{overflow:auto}.admin-title{font-size:58px}.admin-stats{display:flex;gap:20px;flex-wrap:wrap;margin:25px 0}.admin-stats div{background:#e9eddd;padding:18px 24px;border-radius:10px}.admin-stats strong{display:block;font-size:30px}@media(max-width:700px){header,main,footer{padding-left:22px;padding-right:22px}nav{gap:14px}.hero{grid-template-columns:1fr;gap:40px;padding:40px 0 55px}h1{font-size:72px}.ticket{max-width:360px;width:90%;margin:auto;padding:30px}.ticket strong{font-size:42px}.ticket .star{font-size:70px}.section-head,.location,.rsvp{grid-template-columns:1fr;gap:20px}.schedule{grid-template-columns:1fr;gap:8px}section{padding:44px 0}.form-card{padding:22px}footer{gap:20px}.gate{margin:3vh auto}.gate h1{font-size:62px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Kölscher Karneval meets the indomitable birthday village. */
:root{--paper:#fff6d7;--ink:#242223;--accent:#cf2537;--line:#24222340}body{background-color:var(--paper);background-image:radial-gradient(#cf25371a 1px,transparent 1px);background-size:12px 12px}header{border-bottom:3px solid var(--ink);gap:20px}.brand{font-size:17px;letter-spacing:.03em;color:var(--accent)}h1,h2,h3,.shout{font-family:'Arial Black','Trebuchet MS',system-ui,sans-serif;font-weight:950;letter-spacing:-.055em}h1{font-size:clamp(60px,6.5vw,91px);line-height:.98;text-transform:uppercase;transform:rotate(-3deg);margin:24px 0 34px}h1 em{font-style:normal;color:var(--accent);font-weight:950}h2{font-size:clamp(35px,4vw,53px);line-height:1.04}h3{letter-spacing:-.025em}.shout{font-size:25px;line-height:1.2;max-width:420px}.eyebrow{color:var(--accent);letter-spacing:.09em}.opening{border-top:0;padding:35px 0 50px;gap:45px;grid-template-columns:1.1fr 1fr;align-items:center}.headline>p:not(.eyebrow):not(.shout){max-width:450px}.event-line{font-weight:750;border-top:2px solid var(--ink);padding-top:15px;font-size:15px}.form-card{border:3px solid var(--ink);border-radius:4px;background:#fffdf5;box-shadow:8px 8px 0 var(--ink);padding:25px}.form-title{font-size:36px;margin-bottom:20px}.form-card .eyebrow{margin-bottom:7px}.choice{border:2px solid var(--ink);border-radius:4px;font-weight:700;padding:12px}.choice:has(input:checked){background:#ffe044;border-color:var(--ink);box-shadow:3px 3px 0 var(--ink)}input[type=text],input[type=password]{border:2px solid var(--ink);border-radius:4px}input[type=radio]{accent-color:var(--accent)}fieldset{margin:19px 0}.button,button{border:2px solid var(--ink);border-radius:4px;background:var(--accent);box-shadow:4px 4px 0 var(--ink);font-weight:800}.form-card button{width:100%}.small{color:#59514b;font-size:14px}.form-card .small{margin:18px 0 0;line-height:1.5}.ribbon{background:#ffe044;border:3px solid var(--ink);padding:16px 12px;font-size:clamp(16px,2.5vw,27px);font-weight:950;text-align:center;letter-spacing:.015em;transform:rotate(-1.5deg);margin:8px 0 25px}section{border-top:2px solid var(--ink)}.schedule article{border-top:4px solid var(--accent)}.time{color:var(--accent);font-size:16px}.place{border:3px solid var(--ink);border-radius:4px;background:#ffe044;box-shadow:7px 7px 0 var(--ink);transform:rotate(1.5deg)}.place h3{font-size:32px;margin:15px 0}.place .eyebrow{color:var(--ink)}.gate{max-width:620px}.gate h1{font-size:clamp(57px,7vw,83px)}.logout{box-shadow:none;border:0}.admin-stats div{background:#ffe044;border:2px solid var(--ink);border-radius:3px}@media(max-width:700px){header{flex-wrap:wrap;gap:10px}.brand{font-size:16px}nav{gap:18px}.opening{display:flex;flex-direction:column;align-items:stretch;gap:30px;padding-top:26px}.opening .form-card{order:-1}.form-card{padding:21px;box-shadow:5px 5px 0 var(--ink)}.form-title{font-size:34px}h1{font-size:64px}.headline{padding-top:16px}.ribbon{line-height:1.7}.place{margin:0 5px}.gate h1{font-size:58px}}
