:root{--paper:#f5f4ef;--ink:#1d302a;--muted:#6a7771;--line:#e3e7e0;--green:#245943;--soft:#edf3ec;--error:#9e3131}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}a{color:var(--green)}.header{max-width:1240px;margin:auto;padding:30px 40px;display:flex;align-items:center;justify-content:space-between}.brand{text-decoration:none;font-size:26px;font-weight:750;letter-spacing:-1px;display:flex;align-items:center;gap:10px}.brand-icon{display:inline-flex;background:var(--green);color:white;width:35px;height:35px;border-radius:10px;align-items:center;justify-content:center;font-size:24px}.brand-dot{margin-left:-9px;color:#79977f}.header-note{color:var(--muted);font-size:12px}main{max-width:1240px;margin:35px auto 75px;padding:0 40px;min-height:65vh}.event-layout{display:grid;grid-template-columns:minmax(0,0.83fr) minmax(0,1.17fr);gap:65px;align-items:start}.event-info{position:sticky;top:35px;padding:25px 0}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;color:var(--green);font-weight:700;margin-bottom:20px}h1{font-size:46px;line-height:1.13;font-weight:650;letter-spacing:-1.9px;margin:0 0 24px;overflow-wrap:anywhere}h2{font-size:21px;line-height:1.4;letter-spacing:-.5px;margin:0;font-weight:650}.description,.lead{color:var(--muted);font-size:16px;line-height:1.75;overflow-wrap:anywhere}.metadata{border-top:1px solid #dadfd7;margin:30px 0;padding-top:25px;display:grid;gap:20px}.metadata>div{display:flex;gap:15px;align-items:start}.meta-icon{font-size:24px;line-height:1.3;color:var(--green);width:25px}.metadata strong{display:block;font-size:14px;font-weight:600;overflow-wrap:anywhere}.metadata span:not(.meta-icon){display:block;font-size:12px;color:var(--muted);margin-top:2px}.info-note{background:#e9ede4;padding:20px 22px;border-radius:12px;font-size:13px;color:#506051;overflow-wrap:anywhere}.info-note strong{color:var(--ink);font-size:13px}.info-note p{margin:5px 0 8px}.booking-card{background:white;border:1px solid #e4e7df;border-radius:20px;padding:32px;box-shadow:0 12px 40px #20352a04}.section-title{display:flex;align-items:center;gap:16px;margin-bottom:24px}.section-title p{color:var(--muted);font-size:12px;margin:3px 0 0}.step{border:1px solid #d5dfd2;color:var(--green);font-size:12px;letter-spacing:1px;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;border-radius:50%;font-weight:600}.day-list{display:grid;gap:10px}.day{border:1px solid var(--line);border-radius:12px;overflow:hidden}.day summary{display:flex;justify-content:space-between;align-items:center;padding:15px 18px;cursor:pointer;list-style:none}.day summary::-webkit-details-marker{display:none}.day summary span:first-child{color:var(--muted);font-size:11px}.day summary strong{display:block;color:var(--ink);font-size:14px;font-weight:600}.day-toggle{font-size:24px;color:var(--muted);font-weight:300}.day[open] .day-toggle{transform:rotate(45deg)}.slot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 14px 15px}.slot{position:relative;cursor:pointer}.slot input{position:absolute;opacity:0;width:1px;height:1px}.slot-body{display:flex;flex-direction:column;text-align:center;padding:11px 5px;border:1px solid #dee6db;border-radius:9px;background:#fafcf8}.slot-body strong{font-size:13px;font-weight:600;white-space:nowrap}.slot-end{font-size:11px;font-weight:400}.slot-body small{color:#76906e;font-size:10px;margin-top:3px}.slot input:checked+.slot-body{background:var(--green);border-color:var(--green);color:white}.slot input:checked+.slot-body small{color:#c6dfcd}.slot input:focus-visible+.slot-body{outline:3px solid #89ac8b;outline-offset:2px}.slot.full{cursor:not-allowed}.slot.full .slot-body{background:#f7f7f7;border-color:#eee;color:#a3aaa5}.slot.full small{color:#a3aaa5}.form-section{border-top:1px solid var(--line);margin-top:30px;padding-top:27px}.fields{display:grid;gap:18px}.fields label{display:block;font-size:12px;font-weight:600}.fields input,.fields textarea{display:block;width:100%;border:1px solid #dae1d6;border-radius:8px;background:#fff;padding:12px 13px;font:inherit;font-size:14px;line-height:1.5;color:var(--ink);margin-top:7px;resize:vertical}.fields input:focus,.fields textarea:focus{outline:2px solid #c5d7c4;border-color:#749472}.fields input::placeholder,.fields textarea::placeholder{color:#9aa69d;font-weight:400}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.optional{font-size:10px;color:#879187;font-weight:400;margin-left:4px}.required{color:#70906d}.privacy{margin:20px 0 15px;color:var(--muted);font-size:11px}.privacy summary{cursor:pointer}.privacy>div{padding:12px;background:#f5f7f2;border-radius:8px;white-space:normal;overflow-wrap:anywhere}.consent{display:flex;align-items:start;gap:10px;font-size:11px;color:var(--muted)}.consent input{accent-color:var(--green);width:16px;height:16px;margin:1px 0 0;flex-shrink:0}.selection-summary{padding:14px 0 9px;color:var(--green);font-size:12px}.button{display:flex;align-items:center;justify-content:space-between;gap:25px;background:var(--green);color:white;text-decoration:none;border:0;border-radius:9px;font:600 14px/1.5 system-ui,sans-serif;padding:15px 20px;cursor:pointer}.button:hover{background:#1b4935}.button:focus-visible{outline:3px solid #89ac8b;outline-offset:3px}.submit{width:100%}.button span{font-size:20px;font-weight:400}.submit-note{color:#7c897f;font-size:10px;text-align:center;margin:11px 0 0}.error-banner{background:#fff0eb;border:1px solid #e7c4ba;border-radius:9px;padding:14px 16px;color:var(--error);font-size:12px;margin-bottom:23px}.errorlist{padding:0;list-style:none;color:var(--error);font-size:12px;margin:6px 0}.empty-state{padding:30px 0;color:var(--muted)}.empty-state h2{color:var(--ink);margin:14px 0}.pill{background:var(--soft);border-radius:20px;padding:6px 12px;font-size:11px;color:var(--green)}.footer{max-width:1240px;margin:auto;display:flex;justify-content:space-between;gap:25px;padding:24px 40px;border-top:1px solid #dfe3d9;font-size:10px;color:#7c8a7d}.home-card{max-width:670px;padding:60px 0}.home-card h1{font-size:60px}.home-card .lead{max-width:530px}.home-card .button{display:inline-flex;margin-top:25px}.confirmation-card{max-width:620px;margin:0 auto;background:white;border:1px solid var(--line);border-radius:20px;padding:40px}.success-mark{width:52px;height:52px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--soft);color:var(--green);font-size:26px;margin-bottom:25px}.confirmation-card h1{font-size:42px}.receipt{display:flex;flex-direction:column;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 0;margin:25px 0}.receipt strong{font-size:20px}.receipt span{font-size:24px;color:var(--green);font-weight:600}.receipt small,.receipt p{color:var(--muted)}.receipt-id{font-size:10px;color:var(--muted)}.receipt-id span{font-family:monospace;font-size:11px;overflow-wrap:anywhere}.confirmation-card .info-note{margin:22px 0}.text-link{font-size:13px;text-decoration:none}@media(max-width:950px){.event-layout{gap:35px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}h1{font-size:36px}.booking-card{padding:23px}.slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field-row{grid-template-columns:1fr}}@media(max-width:700px){.header{padding:20px}.header-note{font-size:10px;max-width:120px;text-align:right}main{margin:15px auto 45px;padding:0 20px}.event-layout{grid-template-columns:1fr;gap:25px}.event-info{position:static;padding:15px 0 0}h1{font-size:37px}.metadata{margin:24px 0 18px;padding-top:20px;gap:15px}.booking-card{padding:22px 17px;border-radius:16px}.slot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:0 10px 13px}.slot-body strong{font-size:12px}.slot-end{font-size:10px}.footer{padding:20px;flex-direction:column;gap:5px}.home-card{padding:30px 0}.home-card h1{font-size:43px}.confirmation-card{padding:27px 22px}.confirmation-card h1{font-size:35px}.field-row{grid-template-columns:1fr}.description,.lead{font-size:15px}}@media(max-width:370px){.slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.header-note{display:none}}
