:root{color-scheme:light;--navy:#253951;--deep:#16283b;--coral:#de6b58;--coral-dark:#a73e2f;--cream:#f7f3ed;--ink:#172334;--muted:#596674;--line:#ded8d0;--white:#fff;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--cream)}
*,*::before,*::after{box-sizing:border-box}body{margin:0;min-width:320px}button,input{font:inherit}button,a,input{touch-action:manipulation}a{color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button,a,input{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,legend:focus-visible{outline:3px solid var(--coral-dark)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:10;top:1rem;left:1rem;padding:1rem;background:white;color:var(--deep);transform:translateY(-200%)}.skip-link:focus{transform:none}.shell{width:min(calc(100% - 3rem),72rem);margin-inline:auto}.site-header{background:var(--deep);color:white}.header-inner{min-height:5.8rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{display:inline-flex;align-items:center;gap:.65rem;text-decoration:none}.brand-mark{width:2.7rem;height:2.7rem;display:grid;place-items:center;border:1px solid #82909d;border-radius:50%;color:#efa28f;font-size:1.5rem}.brand>span:last-child{display:grid;gap:.18rem}.brand strong{font-family:Georgia,serif;font-size:1.2rem;font-weight:400}.brand small{color:#efa28f;font-size:.58rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase}.back-link{display:inline-flex;min-height:2.8rem;align-items:center;gap:.5rem;color:#e2e8ef;font-size:.77rem;text-decoration:none}.back-link:hover{text-decoration:underline}.booking-main,.confirmation-main{padding-top:1.4rem}.demo-banner{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;border:1px solid #d3c4b0;border-radius:.65rem;background:#eee6da;font-size:.74rem;line-height:1.6;color:#4e463d}.demo-banner p{margin:0}.demo-banner strong{display:block;color:#322f2b}.demo-dot{width:.5rem;height:.5rem;flex:0 0 .5rem;margin-top:.4rem;border-radius:50%;background:var(--coral-dark)}.intro{padding:2.8rem 0 2.3rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.eyebrow{margin:0 0 .9rem;color:var(--coral-dark);font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em}.intro h1{margin:0;font-family:Georgia,serif;font-size:clamp(2.8rem,5vw,4.5rem);font-weight:400;letter-spacing:-.04em;line-height:1.03}.intro h1 em{color:var(--coral-dark);font-weight:400}.intro>div>p:last-child{max-width:35rem;margin:1.2rem 0 0;color:var(--muted);font-size:.88rem;line-height:1.65}.intro-note{display:flex;align-items:center;gap:1.2rem}.intro-note>span{font-size:3rem;color:var(--coral)}.intro-note p{color:var(--muted);font-size:.8rem;line-height:1.6}.intro-note strong{color:var(--navy);font-weight:400}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 20rem;align-items:start;gap:1.3rem}.flow-card{min-width:0;padding:1.7rem 2rem 2rem;border:1px solid var(--line);border-radius:1rem;background:white;box-shadow:0 .8rem 2.5rem #17233405}.steps{margin:0 0 2rem;padding:0 0 1.5rem;display:grid;grid-template-columns:repeat(4,1fr);gap:.3rem;border-bottom:1px solid var(--line);list-style:none}.step-button{width:100%;min-height:3.3rem;padding:0;display:flex;align-items:center;gap:.5rem;border:0;background:transparent;color:var(--muted);text-align:left;font-size:.69rem}.step-button span{width:1.8rem;height:1.8rem;flex:0 0 1.8rem;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-size:.72rem}.step-button[aria-current=step]{color:var(--deep)}.step-button[aria-current=step] span{border-color:var(--coral);background:var(--coral);color:white}.step-button.is-complete span{border-color:var(--navy);background:var(--navy);color:white}.step-button:disabled{opacity:.6}fieldset{min-width:0;margin:0;padding:0;border:0}legend{float:left;width:100%;margin-bottom:.8rem;font-family:Georgia,serif;font-size:1.65rem;letter-spacing:-.025em}legend+.field-intro{clear:both}.field-intro{margin:0 0 1.5rem;color:var(--muted);font-size:.82rem;line-height:1.65}.field-intro strong{font-weight:700;color:var(--navy)}.service-list{display:grid;gap:.7rem}.service-option{position:relative;display:flex;align-items:center;gap:.85rem;min-height:6rem;padding:1.15rem;border:1px solid var(--line);border-radius:.65rem;cursor:pointer;transition:background .15s,border-color .15s}.service-option:has(input:checked){border-color:var(--coral);background:#fcf2ec}.service-option input{flex:0 0 1.1rem;width:1.1rem;height:1.1rem;accent-color:var(--coral-dark)}.service-info{min-width:0;flex:1}.service-info strong{display:block;font-family:Georgia,serif;font-size:1.1rem;font-weight:400}.service-info small{display:block;margin-top:.5rem;color:var(--muted);font-size:.7rem}.service-price{flex:0 0 auto;font-size:.9rem;font-weight:700;white-space:nowrap}.flow-actions{margin-top:2rem;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.65rem}.button{min-height:3.15rem;padding:.85rem 1.2rem;display:inline-flex;align-items:center;justify-content:center;gap:.75rem;border:1px solid var(--coral-dark);border-radius:.5rem;background:var(--coral-dark);color:#fff;font-size:.78rem;font-weight:700;line-height:1.4;text-decoration:none}.button:hover:not(:disabled){background:#913324;border-color:#913324}.button-secondary{border-color:#d1c8bd;background:transparent;color:var(--navy)}.button-secondary:hover:not(:disabled){background:#eee8df;border-color:#b5a89a}.field-label{display:block;margin-bottom:.55rem;color:var(--navy);font-size:.75rem;font-weight:700}input:not([type=radio],[type=checkbox]){width:100%;min-height:3rem;padding:.75rem .8rem;border:1px solid #c9c0b5;border-radius:.45rem;background:#fff;color:var(--ink);font-size:.88rem}input:read-only{background:#f7f3ed;color:#4d5a68}input[type=date]{max-width:20rem}input[type=checkbox]{accent-color:var(--coral-dark);width:1.1rem;height:1.1rem;flex:0 0 1.1rem}.input-help{margin:.65rem 0 1rem;color:var(--muted);font-size:.73rem;line-height:1.6}.date-strip{margin:1.3rem 0 1.6rem;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem}.date-button{min-width:0;min-height:4rem;padding:.5rem .1rem;display:grid;gap:.25rem;place-content:center;border:1px solid var(--line);border-radius:.5rem;background:white;color:var(--muted);font-size:.62rem}.date-button strong{font-size:1rem;font-weight:400;color:var(--navy)}.date-button[aria-pressed=true]{border-color:var(--navy);background:var(--navy);color:white}.date-button[aria-pressed=true] strong{color:white}.slot-heading{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.slot-heading h3{margin:0;font-size:.83rem}.text-button{min-height:2.75rem;padding:.5rem 0;border:0;background:transparent;color:var(--coral-dark);font-size:.75rem;font-weight:700}.slot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.slot-option{position:relative;display:grid;place-items:center;min-height:2.9rem;padding:.65rem;border:1px solid var(--line);border-radius:.45rem;color:var(--navy);font-size:.78rem;cursor:pointer}.slot-option input{position:absolute;opacity:0;width:1px;height:1px}.slot-option:has(input:checked){background:var(--navy);border-color:var(--navy);color:white}.slot-option:has(input:focus-visible){outline:3px solid var(--coral-dark);outline-offset:3px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}.full-width{grid-column:1/-1}.review-details,.summary-details{margin:0}.review-details>div,.summary-details>div{display:grid;gap:.4rem;padding:.85rem 0;border-bottom:1px solid var(--line)}.review-details>div{grid-template-columns:7rem minmax(0,1fr);gap:.8rem;font-size:.81rem;line-height:1.5}.review-details dt,.summary-details dt{color:var(--muted);font-size:.7rem}.review-details dd,.summary-details dd{min-width:0;margin:0;overflow-wrap:anywhere}.review-details dt{align-self:start;padding-top:.15rem}.summary-details>div{padding:1rem 0}.summary-details dd{font-size:.83rem;line-height:1.55}.summary-card{position:sticky;top:1.5rem;min-width:0;overflow:hidden;padding:1.6rem;border-radius:1rem;background:#ede6dc}.summary-header{position:relative;padding-bottom:.5rem}.summary-mark{position:absolute;right:0;top:0;color:var(--coral);font-size:1.6rem}.summary-header .eyebrow{max-width:14rem;font-size:.55rem}.summary-header h2{margin:1rem 0 .5rem;font-family:Georgia,serif;font-size:2rem;font-weight:400;letter-spacing:-.035em;line-height:1.05}.total-row{padding:1.4rem 0 0;display:grid;gap:.6rem}.total-row span{color:var(--muted);font-size:.7rem}.total-row strong{color:var(--navy);font-family:Georgia,serif;font-size:1.9rem;font-weight:400}.summary-fineprint{margin:1.1rem 0 1.5rem;color:var(--muted);font-size:.7rem;line-height:1.7}.text-link{display:inline-block;min-height:2.75rem;padding:.6rem 0;color:var(--coral-dark);font-size:.73rem;font-weight:700;line-height:1.5}.policy-box{margin-top:1.4rem;padding:1.15rem;background:#f7f3ed;border-radius:.5rem}.policy-box h3{margin:0 0 .5rem;font-size:.78rem}.policy-box p{margin:0;color:var(--muted);font-size:.75rem;line-height:1.6}.check-label{display:flex;gap:.7rem;align-items:flex-start;margin:1.4rem 0;font-size:.76rem;line-height:1.6}.check-label input{margin:.2rem 0 0}.secure-note{display:flex;gap:.6rem;align-items:flex-start;color:var(--muted);margin:1.2rem 0 0;font-size:.69rem;line-height:1.6}.secure-note>span{color:var(--navy)}.notice{padding:1rem 1.15rem;border:1px solid #c7d8d1;border-radius:.6rem;background:#edf4f0;color:#324d43;font-size:.8rem;line-height:1.6;margin:0 0 1.2rem}.notice p{margin:0}.notice-error{border-color:#daa494;background:#fff1eb;color:#882d1f}.state-card{margin:0 0 2rem;padding:2rem;display:flex;align-items:flex-start;gap:1.25rem;border:1px solid var(--line);border-radius:1rem;background:white}.state-card h2{margin:0 0 .7rem;font-family:Georgia,serif;font-size:1.8rem;font-weight:400}.state-card p{max-width:40rem;margin:0 0 1rem;color:var(--muted);font-size:.88rem;line-height:1.7}.state-card .button{margin-right:1rem}.state-symbol{color:var(--coral-dark);font-size:2.3rem}.spinner{width:1.5rem;height:1.5rem;flex:0 0 1.5rem;border:2px solid var(--line);border-top-color:var(--coral-dark);border-radius:50%;animation:spin .9s linear infinite}.page-footer{margin-top:3rem;padding:1.5rem 0 2rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;border-top:1px solid var(--line);font-size:.65rem;color:var(--muted);line-height:1.6}.page-footer a{display:inline-flex;align-items:center;min-height:2.75rem;color:var(--navy);font-weight:700;text-decoration:none}.confirmation-main{max-width:62rem}.confirmation-card{max-width:43rem;margin:2rem auto 0;padding:2.5rem;border:1px solid var(--line);border-radius:1rem;background:white;text-align:center}.confirmation-symbol{width:4.2rem;height:4.2rem;margin:0 auto 1.5rem;display:grid;place-items:center;border-radius:50%;background:#eef4ef;color:#315746;font-size:2rem}.confirmation-symbol.is-loading{background:#f5ece2;color:var(--coral-dark)}.confirmation-card h1{margin:0;font-family:Georgia,serif;font-size:clamp(2rem,5vw,3rem);font-weight:400;letter-spacing:-.04em;line-height:1.08}.confirmation-copy{margin:1.25rem 0 1.6rem;color:var(--muted);font-size:.87rem;line-height:1.7}.confirmation-card .review-details{text-align:left;margin:0 0 1.5rem}.confirmation-card .notice{text-align:left}.confirmation-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.65rem}.confirmation-card>.input-help{margin:1.5rem 0 0}.confirmation-card>.text-link{margin-top:.5rem}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:64rem){.booking-layout{grid-template-columns:minmax(0,1fr) 17rem}.flow-card{padding:1.4rem}.summary-card{padding:1.2rem}.step-button{font-size:.62rem;gap:.35rem}.intro-note{display:none}.slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:48rem){.shell{width:min(calc(100% - 2rem),72rem)}.header-inner{min-height:5rem}.back-link{font-size:.7rem}.booking-main{padding-top:1rem}.demo-banner{padding:.9rem;font-size:.68rem;gap:.6rem}.intro{padding:2rem 0}.intro h1{font-size:3rem}.intro>div>p:last-child{font-size:.81rem}.booking-layout{grid-template-columns:1fr}.summary-card{position:static}.summary-header h2{font-size:1.6rem}.summary-details{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.summary-details>div:nth-child(3){grid-column:1/-1}.summary-fineprint{margin-bottom:.65rem}.total-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.total-row strong{font-size:1.5rem}.flow-card{padding:1.1rem}.steps{gap:.2rem;margin-bottom:1.5rem;padding-bottom:1rem}.step-button{display:grid;justify-items:center;justify-content:center;text-align:center;gap:.5rem;font-size:.6rem}.step-button span{width:1.7rem;height:1.7rem}.service-option{padding:.85rem;gap:.6rem}.service-info strong{font-size:1rem}.service-price{font-size:.76rem}.service-info small{font-size:.65rem}.field-grid{grid-template-columns:1fr}.full-width{grid-column:auto}.flow-actions{margin-top:1.5rem}.flow-actions .button{flex:1}.flow-actions .button[data-back]{flex:0 0 auto}.slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}legend{font-size:1.5rem}.review-details>div{grid-template-columns:5.5rem minmax(0,1fr);font-size:.75rem;gap:.7rem}.date-strip{gap:.25rem}.date-button{font-size:.57rem}.page-footer{display:grid;gap:.3rem;margin-top:2rem}.confirmation-card{padding:1.5rem 1.1rem}.confirmation-actions{display:grid}.confirmation-actions .button{width:100%}.state-card{padding:1.3rem;gap:.8rem}.state-card h2{font-size:1.5rem}.state-card p{font-size:.8rem}.state-card .button{margin-right:0}.state-card .text-link{display:block}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
