*{box-sizing:border-box}body{margin:0;background:#f5f5f5;color:#171717;font:16px/1.7 system-ui,sans-serif}header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px max(24px,6vw);background:#fff;border-bottom:1px solid #ddd}a{color:inherit;text-underline-offset:4px}.brand{font-size:26px;font-weight:800;text-decoration:none}.brand small{display:block;font-size:12px;font-weight:500;letter-spacing:.05em}nav{display:flex;gap:24px;flex-wrap:wrap}main{max-width:1050px;margin:auto;padding:36px 24px}.intro{background:#151515;color:white;border-radius:14px;padding:32px}.intro span{color:#ccc;font-size:14px}h1{font-size:clamp(26px,4vw,38px);line-height:1.3}h2{font-size:24px}h3{font-size:21px}.panel{padding:28px;background:white;border:1px solid #d6d6d6;border-radius:12px;margin:24px 0}.notice{padding:18px 22px;border-inline-start:5px solid #555;background:#e5e5e5;margin:24px 0;border-radius:6px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block}input,select,textarea{display:block;font:inherit;width:100%;border:1px solid #999;background:white;color:#171717;border-radius:6px;padding:10px;margin-top:7px}input[type=file]{font-size:13px;padding:10px 8px}fieldset{border:0;border-top:1px solid #ddd;padding:24px 0;margin:24px 0}legend{font-size:19px;font-weight:700;padding-inline-end:15px}button,.button{display:inline-block;font:inherit;cursor:pointer;border:1px solid #777;border-radius:6px;padding:10px 18px;background:white;color:#171717;text-decoration:none}.primary,.button{background:#171717;color:white}.primary:disabled{background:#777;cursor:not-allowed}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #555;outline-offset:3px}.check{display:flex;gap:12px;align-items:flex-start;margin:20px 0}.check input{width:20px;height:20px;flex-shrink:0;margin-top:5px}.privacy-text{white-space:pre-wrap}.badge{font-size:13px;border:1px solid #999;border-radius:20px;padding:3px 12px;display:inline-block}.occupant-row{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:16px;padding:18px;background:#f5f5f5;margin:16px 0;border-radius:8px}summary{cursor:pointer;font-weight:600;padding:8px 0}.trap{position:absolute;left:0;top:0;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;pointer-events:none}.form-error{font-weight:700}footer{text-align:center;padding:24px;color:#666;font-size:13px}[hidden]{display:none!important}@media(max-width:650px){header{padding:16px 20px}.brand{font-size:22px}nav{font-size:14px;gap:14px}main{padding:24px 16px}.panel,.intro{padding:22px}.fields,.occupant-row{grid-template-columns:1fr}.occupant-row button{justify-self:start}}

.brand{display:flex;align-items:center;gap:16px}.brand img{width:70px;height:auto;display:block}
.booking-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.day-heading{text-align:center;font-size:13px}.calendar-day{display:flex;flex-direction:column;min-height:72px;padding:10px 6px;text-align:center;background:#fff;border:1px solid #888;border-radius:6px;text-decoration:none}.calendar-day span{font-size:12px}.calendar-day.unavailable{color:#777;background:#eee;border-color:#ddd}.calendar-day.chosen{background:#171717;color:white}.calendar-day:not(.unavailable):hover{outline:2px solid #333}.calendar-day strong{font-size:18px}@media(max-width:550px){.booking-calendar{gap:3px}.calendar-day{min-height:55px;padding:6px 2px}.calendar-day span{font-size:9px}.day-heading{font-size:9px}}

.dq-registration [aria-invalid="true"]{border:2px solid #a11;outline:1px solid #a11}.dq-registration .form-error:not(:empty){background:#fff4e5;border-inline-start:4px solid #8b4b00;padding:14px;border-radius:5px}
