@import "https://fonts.googleapis.com/css2?family=DM+Mono&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,600;0,700;1,600;1,700&display=swap";:root{color:#eaf9ff;font-synthesis:none;background:#001d3d;font-family:Manrope,Arial,sans-serif}*{box-sizing:border-box}body{background:#001d3d;min-width:320px;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}.booking-shell{--marine:#001d3d;--cobalt:#202d85;--aqua:#06b8ed;--foam:#eaf9ff;--mist:#aed6e8;--ink:#082144;background:radial-gradient(circle at 94% 3%,#06b8ed59,#0000 25rem),linear-gradient(150deg,#061542 0%,#002952 58%,#003a63 100%);max-width:720px;min-height:100dvh;margin:auto;padding:18px 22px 38px;overflow:hidden}.site-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.brand img{width:142px;height:auto;display:block}.open-pill{color:var(--foam);letter-spacing:.02em;border:1px solid #eaf9ff40;border-radius:999px;align-items:center;gap:7px;padding:8px 10px;font:11px DM Mono,monospace;display:inline-flex}.open-pill i{background:#51e7b0;border-radius:50%;width:7px;height:7px;display:block;box-shadow:0 0 10px #51e7b0}.booking-hero{padding:62px 4px 38px;position:relative}.eyebrow{color:var(--aqua);letter-spacing:.11em;text-transform:uppercase;margin:0 0 10px;font:11px DM Mono,monospace}h1,h2{color:var(--foam);letter-spacing:-.055em;margin:0}h1,.hero-title{max-width:550px;font-size:clamp(44px,11vw,76px);font-weight:800;line-height:.94}h1 em,.hero-title em{letter-spacing:-.065em;font-family:Playfair Display,Georgia,serif;font-weight:600}h2{font-size:23px;font-weight:800;line-height:1}.booking-hero>p:not(.eyebrow){max-width:330px;color:var(--mist);margin:22px 0 0;font-size:15px;line-height:1.6;position:relative}.hero-current{opacity:.75;width:230px;height:95px;position:absolute;bottom:3px;right:-42px;transform:rotate(-12deg)}.hero-current span{border:2px solid #13c8f5;border-left-color:#0000;border-radius:50%;display:block;position:absolute;transform:rotate(16deg)}.hero-current span:first-child{width:210px;height:58px;top:5px}.hero-current span:nth-child(2){width:160px;height:42px;top:25px;left:38px}.hero-current span:nth-child(3){width:110px;height:28px;top:48px;left:80px}.booking-form{color:var(--ink);background:#eaf9fff7;border-radius:28px 28px 10px 10px;overflow:hidden;box-shadow:0 22px 55px #0003}.date-section,.time-section,.details-section,.payment-section{border-bottom:1px solid #d5e8ef;padding:28px 20px}.section-heading{align-items:flex-start;gap:13px;margin-bottom:21px;display:flex}.section-heading>span{width:26px;height:26px;color:var(--cobalt);background:#c9f1ff;border-radius:50%;place-items:center;font:10px DM Mono,monospace;display:grid}.section-heading .eyebrow{color:#37718a;margin-bottom:5px;font-size:9px}.section-heading h2{color:var(--ink)}.date-control,.form-field,.feedback-form label{color:#31546c;gap:8px;font-size:12px;font-weight:700;display:grid}.date-control input,.form-field input,.form-field select,.feedback-form input,.feedback-form textarea{appearance:none;width:100%;color:var(--ink);outline-color:var(--aqua);background:#fff;border:1px solid #bcd8e3;border-radius:10px;padding:14px}.tide-ribbon{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-height:80px;display:grid}.time-slot{min-height:70px;color:var(--cobalt);background:#fff;border:1px solid #bcd8e3;border-radius:10px;padding:10px 6px;transition:border-color .2s,background .2s,color .2s}.time-slot span{white-space:nowrap;font-family:DM Mono,monospace;font-size:15px;font-weight:700;display:block}.time-slot small{color:#567b8d;margin-top:4px;font-size:9px;display:block}.time-slot:hover,.time-slot:focus-visible{border-color:var(--cobalt);outline:2px solid #0000}.time-slot.is-selected{color:#fff;border-color:var(--cobalt);background:var(--cobalt)}.time-slot.is-selected small{color:#fff}.tide-message{color:#567b8d;grid-column:1/-1;padding:12px 4px;font-size:14px}.availability-error{color:#b82955;grid-column:1/-1;padding:8px 4px;font-size:13px}.availability-error p{margin:0 0 9px}.availability-error button{color:var(--cobalt);background:0 0;border:0;border-bottom:1px solid;padding:0;font-weight:800}.selection-note,.booking-note,.manage-note{color:#527486;margin:14px 0 0;font-size:12px;line-height:1.5}.field-grid{grid-template-columns:1fr 1fr;gap:16px 13px;display:grid}.form-field--wide{grid-column:span 2}.field-error{color:#b82955;margin:8px 20px 0;font-size:12px;font-weight:700}.form-field .field-error{margin:0}.payment-section{border:0;gap:10px;margin:0;display:grid}.payment-section legend{color:#214b64;margin-bottom:12px;font-weight:800}.payment-choice{border:1px solid #c7dfe8;border-radius:12px;align-items:flex-start;gap:11px;padding:13px;display:flex}.payment-choice.is-active{border-color:var(--aqua);background:#effcff}.payment-choice input{accent-color:var(--cobalt);margin-top:3px}.payment-choice b,.payment-choice small{display:block}.payment-choice small{color:#638092;margin-top:2px;font-size:11px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.booking-total{color:#084a79;background:#e2f6ff;border:1px solid #8bd4ef;border-radius:12px;justify-content:space-between;align-items:baseline;margin:16px 20px 18px;padding:14px 16px;display:flex}.booking-total span{font-size:13px;font-weight:800}.booking-total strong{color:#006db3;font-family:DM Mono,monospace;font-size:25px;line-height:1}.primary-action{color:#fff;background:linear-gradient(100deg,#1d2a81,#006db3);border:0;border-radius:12px;justify-content:space-between;align-items:center;width:calc(100% - 40px);margin:0 20px;padding:17px 18px;font-weight:800;text-decoration:none;display:flex;box-shadow:0 10px 20px #0a2b6938}.primary-action:disabled{opacity:.7}.primary-action span{font-size:22px;line-height:.6}.booking-note{text-align:center;margin:14px 20px 26px}.business-links{color:#b6e5f5;flex-wrap:wrap;justify-content:center;gap:13px 20px;padding:25px 0 0;font-size:12px;display:flex}.business-links a{text-underline-offset:4px;align-items:center;gap:5px;display:inline-flex}.business-links--featured{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:22px 0 0;display:grid}.business-links--featured a{min-width:0;color:var(--foam);text-align:center;background:#eaf9ff14;border:1px solid #eaf9ff2e;border-radius:12px;justify-items:center;gap:6px;padding:10px 5px;font-size:10px;font-weight:800;line-height:1.15;text-decoration:none;display:grid}.business-links--featured a span{font-size:21px;line-height:1}.confirmation,.manage-page,.feedback-page{padding-top:25px}.confirmation>.eyebrow,.manage-page>.eyebrow,.feedback-page>.eyebrow{margin-top:65px}.confirmation>p:not(.eyebrow),.manage-page>p:not(.eyebrow),.feedback-page>p:not(.eyebrow){color:var(--mist);line-height:1.6}.confirmation{text-align:center}.confirmation>.eyebrow{margin-top:34px}.confirmation h1{letter-spacing:-.07em;white-space:nowrap;max-width:none;font-size:clamp(36px,10vw,64px)}.confirmation>p:not(.eyebrow){max-width:540px;margin-left:auto;margin-right:auto}.confirmation-mark{color:#fff;background:var(--aqua);border-radius:50% 50% 50% 12%;place-items:center;width:63px;height:63px;margin:50px auto 26px;font-size:32px;display:grid;box-shadow:0 0 0 9px #06b8ed21}.confirmation .primary-action{width:100%;margin:30px 0 0}.appointment-summary,.feedback-form,.reschedule-panel{color:var(--ink);background:var(--foam);border-radius:18px;margin-top:30px;padding:20px}.appointment-summary p{color:var(--ink)!important}.appointment-summary dl{gap:12px;display:grid}.appointment-summary dl div{border-bottom:1px solid #d6e8ef;justify-content:space-between;padding-bottom:10px;display:flex}.appointment-summary dt{color:#5a7888;font-size:12px}.appointment-summary dd{text-transform:capitalize;margin:0;font-weight:800}.manage-actions{gap:8px;display:grid}.secondary-action{color:#ab2c4c;background:#fff;border:1px solid #f0bfc9;border-radius:10px;width:100%;margin-top:8px;padding:13px;font-weight:700}.manage-actions .secondary-action:first-child{color:var(--cobalt);border-color:#b6d5e5}.reschedule-panel .time-section{border:0;padding:28px 0}.reschedule-panel .primary-action{width:100%;margin:8px 0 0}.manage-note{margin-top:22px!important}.feedback-form{gap:17px;display:grid}.feedback-form .primary-action{width:100%;margin:4px 0 0}.success-message{background:#c6f4ff;border-radius:12px;margin-top:30px;padding:18px;color:#00395a!important}.dashboard-page{max-width:1080px}.dashboard-page h1{margin:12px 0 28px}.dashboard-brand{color:var(--foam);letter-spacing:-.06em;font-weight:800}.dashboard-card{color:var(--ink);background:var(--foam);border-radius:22px;padding:22px}.dashboard-date,.dashboard-form label{color:#31546c;gap:7px;font-size:12px;font-weight:800;display:grid}.dashboard-date{max-width:220px;margin-bottom:20px}.dashboard-date input,.dashboard-form input{color:var(--ink);background:#fff;border:1px solid #bcd8e3;border-radius:10px;padding:11px}.dashboard-nav{color:var(--cobalt);gap:14px;margin-bottom:22px;font-size:13px;font-weight:800;display:flex}.metric-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.metric{background:#e5f8ff;border-radius:12px;padding:15px}.metric small,.metric strong,.dashboard-appointment span,.dashboard-appointment small,.feedback-list small{display:block}.metric small,.dashboard-appointment span,.dashboard-appointment small,.feedback-list small{color:#567b8d;font-size:11px}.metric strong{color:var(--cobalt);margin-top:4px;font-size:21px}.dashboard-heading{color:var(--ink);margin:28px 0 12px}.appointment-list,.feedback-list{gap:10px;display:grid}.dashboard-appointment,.feedback-list article{border:1px solid #d5e8ef;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;padding:14px;display:flex}.dashboard-appointment strong{color:var(--ink);display:block}.dashboard-appointment span{margin:3px 0}.status-pill{color:#37718a;text-transform:capitalize;font-size:12px;font-weight:800}.status-action{width:auto;color:var(--cobalt);white-space:nowrap;border-color:#b6d5e5;margin:0}.dashboard-empty{color:#567b8d}.dashboard-form{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.dashboard-form .primary-action{grid-column:1/-1;width:100%;margin:8px 0 0}.feedback-list article{display:block}.feedback-list p{margin:8px 0;line-height:1.5}.feedback-list .secondary-action{color:var(--cobalt);border-color:#b6d5e5;margin-top:4px}@media (width>=700px){.booking-shell{border-radius:30px;margin-top:24px}.booking-hero{padding:72px 24px 48px}.date-section,.time-section,.details-section,.payment-section{padding-left:32px;padding-right:32px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}.month-calendar{grid-template-columns:repeat(7,1fr);gap:7px;margin:16px 0;display:grid}.month-calendar button{min-height:42px;color:var(--ink);background:#fff;border:1px solid #bcd8e3;border-radius:8px;font-weight:800;position:relative}.month-calendar button.is-selected{color:#fff;border-color:var(--cobalt);background:var(--cobalt)}.month-calendar small{color:#fff;background:#e05b37;border-radius:50%;place-items:center;width:16px;height:16px;font-size:9px;display:grid;position:absolute;top:3px;right:3px}.login-page{text-align:center;flex-direction:column;justify-content:center;display:flex}.login-page .site-header{justify-content:center}.login-page>.eyebrow{margin-top:34px}.login-page h1{max-width:none}.login-page .feedback-form{text-align:left;width:min(100%,440px);margin:30px auto 0}.dashboard-disclosures{gap:12px;margin:24px 0 30px;display:grid}.dashboard-disclosure{background:#f8fdff;border:1px solid #d5e8ef;border-radius:14px;overflow:hidden}.dashboard-disclosure summary{color:var(--cobalt);cursor:pointer;justify-content:space-between;align-items:center;padding:16px 18px;font-size:13px;font-weight:800;list-style:none;display:flex}.dashboard-disclosure summary::-webkit-details-marker{display:none}.dashboard-disclosure summary:after{content:"+";color:#37718a;font:22px/1 DM Mono,monospace}.dashboard-disclosure[open] summary{border-bottom:1px solid #d5e8ef}.dashboard-disclosure[open] summary:after{content:"−"}.dashboard-disclosure .dashboard-form{padding:18px}.dashboard-disclosure .secondary-action{grid-column:1/-1}.appointment-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.appointment-actions .secondary-action{width:auto;margin:0}.cancel-action{color:#ab2c4c;border-color:#f0bfc9}
