:root{--ink:#123f43;--teal:#008b8b;--mist:#eef6f4;--muted:#536d6b;--line:#cdded9;--font:"Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", sans-serif;--latin:"DM Sans", var(--font)}*{box-sizing:border-box}html{scroll-padding-top:24px}body{color:var(--ink);font:400 14px/1.65 var(--font);-webkit-font-smoothing:antialiased;background:#fff;margin:0}h1,h2,h3,p{margin:0}a{color:inherit;text-underline-offset:5px}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select{touch-action:manipulation}button,summary{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:4px;outline:3px solid #e7a63c}[hidden]{display:none!important}.skip-link{z-index:5;background:#fff;padding:12px 20px;position:absolute;top:-80px;left:20px}.skip-link:focus{top:12px}.booking-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:12px max(24px,50% - 500px);display:flex}.brand{align-items:center;gap:12px;text-decoration:none;display:flex}.brand-mark{flex-shrink:0;width:32px;height:32px}.brand strong{font:600 19px/1.2 var(--latin);letter-spacing:.03em;display:block}.brand small{letter-spacing:.06em;margin-top:3px;font-size:10px;display:block}.booking-back{white-space:nowrap;align-items:center;min-height:44px;font-size:13px;display:inline-flex}.booking-shell{width:min(800px,100% - 48px);margin:0 auto;padding:28px 0 40px}.eyebrow{color:var(--teal);font:600 10px/1.5 var(--latin);letter-spacing:.16em}.booking-page-heading h1{letter-spacing:.025em;margin-top:6px;font-size:clamp(23px,2.5vw,28px);font-weight:700;line-height:1.5}.booking-intro{color:var(--muted);margin-top:6px;font-size:13px}.booking-steps{grid-template-columns:1fr 1fr;gap:16px;margin:18px 0 24px;padding:0;list-style:none;display:grid}.booking-steps li{border-bottom:2px solid var(--line);color:var(--muted);align-items:center;gap:8px;padding:0 0 10px;font-size:13px;display:flex}.booking-steps li>span{border:1px solid var(--line);width:26px;height:26px;font:500 13px var(--latin);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.booking-steps li[aria-current]{color:var(--ink);border-color:var(--teal);font-weight:700}.booking-steps li[aria-current]>span{background:var(--ink);border-color:var(--ink);color:#fff}.booking-form-heading{margin-bottom:12px;font-size:19px;line-height:1.6}.booking-section-divider{border-top:1px solid var(--line);margin-top:24px;padding-top:22px}.booking-section-intro{color:var(--muted);margin:-4px 0 12px;font-size:13px}.booking-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;display:grid}.booking-field{min-width:0;font-size:14px;font-weight:700;display:block}.booking-field-wide{grid-column:1/-1}.booking-field small{color:var(--muted);margin-left:6px;font-size:11px;font-weight:400;display:inline-block}.booking-field input,.booking-field select,.booking-field textarea,.booking-message{width:100%;min-width:0;max-width:100%;font:400 16px/1.5 var(--font);background:#fff;border:1px solid #92ada6;border-radius:8px;margin-top:5px;padding:9px 11px;display:block}.booking-field input,.booking-field select{min-height:44px}.booking-field input[type=date]{appearance:none}.booking-field input:disabled{background:var(--mist);color:var(--muted)}.booking-field textarea,.booking-message{resize:vertical}.booking-field-help{color:var(--muted);margin-top:4px;font-size:12px;font-weight:400;line-height:1.6;display:block}.booking-checkbox{cursor:pointer;align-items:center;gap:8px;min-height:44px;margin-top:0;font-size:13px;font-weight:400;display:flex}.booking-checkbox input{width:18px;height:18px;min-height:18px;accent-color:var(--ink);flex-shrink:0;margin:0}.booking-access{border:1px solid var(--line);border-radius:8px;margin-top:12px;font-size:13px}.booking-access summary{min-height:44px;padding:10px 12px;font-weight:700}.booking-access>div{padding:0 12px 12px}.booking-access p+p{margin-top:8px}.booking-people-field{margin-bottom:14px}.booking-participant-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.booking-participant-heading h3{font-size:14px}.booking-participant-heading>span{color:var(--muted);font-size:12px}.booking-help,.booking-privacy{color:var(--muted);font-size:12px;line-height:1.7}.booking-help{margin-top:6px}.booking-participants{gap:16px;margin-top:12px;display:grid}.booking-participant{border:1px solid var(--line);background:var(--mist);border-radius:12px;min-width:0;margin:0;padding:14px 16px}.booking-participant legend{padding:0 6px;font-size:16px;font-weight:700}.booking-representative-summary{border-bottom:1px solid var(--line);overflow-wrap:anywhere;margin-bottom:12px;padding-bottom:10px}.booking-auto-label{color:#006a68;font-size:12px;font-weight:700}.booking-representative-summary dl{gap:3px;margin:0;display:grid}.booking-representative-summary dl>div{grid-template-columns:64px minmax(0,1fr);align-items:baseline;gap:8px;display:grid}.booking-representative-summary dt{color:var(--muted);font-size:12px}.booking-representative-summary dd{margin:0;font-size:14px;font-weight:500}.booking-representative-summary a{align-items:center;min-height:44px;font-size:12px;display:inline-flex}.booking-notes{margin-top:20px}.booking-privacy{margin:14px 0 10px}.button{border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:16px;min-height:48px;padding:11px 18px;font-size:15px;font-weight:700;line-height:1.6;text-decoration:none;display:inline-flex}.booking-primary{background:var(--ink);color:#fff;width:100%}.booking-primary:hover{background:#1a565b}.booking-primary:disabled{opacity:.65;cursor:wait}.booking-line-button{color:#fff;background:#067b3b;width:100%;margin-top:12px}.booking-line-button:hover{background:#05632f}#booking-submit{margin-top:0}.button-outline{border-color:var(--ink);background:0 0}.booking-handoff-title{font-size:23px;line-height:1.6}.booking-handoff-title:focus{outline:none}.booking-confirmation{border-top:1px solid var(--line);margin-top:24px;padding-top:22px}.booking-status{margin-top:12px;font-size:14px;font-weight:700}.booking-status:empty{display:none}.booking-fallback,.booking-message-details{border:1px solid var(--line);border-radius:10px;margin-top:16px;padding:14px}.booking-fallback summary,.booking-message-details summary{min-height:32px;font-size:14px;font-weight:700}.booking-fallback .booking-primary{margin-top:18px}.booking-manual-copy,.booking-line-step{background:var(--mist);border-radius:8px;margin-top:14px;padding:14px}.booking-manual-copy .button,.booking-manual-copy .booking-edit{width:100%;margin-top:16px}.booking-message-label{margin-top:20px;font-weight:700;display:block}.booking-message{background:var(--mist);min-height:280px;font-size:16px;line-height:1.9}.booking-edit{text-underline-offset:5px;background:0 0;border:0;min-height:44px;padding:10px 8px;font-size:14px;text-decoration:underline}#booking-edit{width:100%;margin-top:22px;display:block}.booking-footer{border-top:1px solid var(--line);text-align:center;gap:8px;padding:20px;font-size:13px;display:grid}.booking-footer p{font:12px var(--latin);color:var(--muted)}.booking-representative-bar{justify-content:space-between;align-items:center;gap:8px;display:flex}.booking-participant .booking-fields{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.booking-participant .booking-field{grid-column:span 3}.booking-participant .booking-equipment{grid-column:span 2}.booking-participant .booking-field-wide{grid-column:1/-1}.booking-field-date,#booking-snorkel-time,#booking-other-time{grid-column:auto}@media (width<=640px){.booking-header{gap:10px;padding:8px 16px}.brand{gap:6px}.brand-mark{width:26px;height:26px}.brand strong{font-size:16px}.brand small{letter-spacing:.025em;font-size:9px}.booking-back{font-size:12px}.booking-shell{width:calc(100% - 32px);padding:20px 0 28px}.booking-page-heading h1{font-size:23px}.eyebrow{letter-spacing:.1em;font-size:9px}.booking-steps{gap:12px;margin:14px 0 20px}.booking-steps li{gap:6px;font-size:12px}.booking-form-heading{font-size:18px}.booking-fields{gap:12px}.booking-section-divider{margin-top:20px;padding-top:18px}.booking-participant{padding:12px}.booking-participant .booking-fields{gap:12px 10px}.booking-participant .booking-field{font-size:13px}.booking-participant .booking-field input{padding-inline:9px}.booking-field-date,#booking-snorkel-time,#booking-other-time{grid-column:1/-1}}@media (width<=360px){.brand-mark{display:none}.booking-participant .booking-equipment{grid-column:span 3}.booking-field small{margin-left:4px}}
