:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#f5f1ea;--surface:#fffdf9;--ink:#26352f;--muted:#66736d;--accent:#446b5d;--accent-dark:#315247;--accent-soft:#e8f0eb;--border:#dedbd3;--danger:#9c3d36}*{box-sizing:border-box}html{background:var(--background)}body{color:var(--ink);background:radial-gradient(circle at top right, #e5eee7 0, transparent 34rem), var(--background);-webkit-font-smoothing:antialiased;margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.site-shell{width:min(100%,72rem);min-height:100svh;margin:0 auto;padding:0 1.25rem}html[data-synergy-embedded=true] .site-shell{min-height:0}.site-header{border-bottom:1px solid var(--border);align-items:center;min-height:5rem;display:flex}.brand{letter-spacing:.01em;align-items:center;gap:.7rem;font-size:1rem;font-weight:700;display:inline-flex}.brand-mark{color:#fff;background:var(--accent);border-radius:50%;place-items:center;width:2rem;height:2rem;font-family:Georgia,serif;display:grid}.hero{gap:2.5rem;padding:4.5rem 0 5rem;display:grid}.hero-copy{max-width:42rem}.eyebrow,.card-label{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .8rem;font-size:.75rem;font-weight:700}h1,h2,p{margin-top:0}h1,h2{letter-spacing:-.025em;font-family:Georgia,Times New Roman,serif;font-weight:500}h1{max-width:12ch;margin-bottom:1.25rem;font-size:clamp(2.65rem,9vw,5rem);line-height:.98}.intro{max-width:36rem;color:var(--muted);margin-bottom:0;font-size:clamp(1rem,3vw,1.2rem);line-height:1.65}.booking-card{border:1px solid var(--border);background:var(--surface);border-radius:1.25rem;gap:1.75rem;padding:1.5rem;display:grid;box-shadow:0 1.25rem 3rem #26352f14}.booking-card p:last-child{color:var(--muted);margin-bottom:0;line-height:1.55}button{color:#eaf1ed;background:var(--accent);min-height:3.25rem;font:inherit;border:0;border-radius:.75rem;padding:.85rem 1.15rem;font-weight:700}button:hover:not(:disabled){background:var(--accent-dark)}button:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #446b5d47}button:disabled{cursor:not-allowed;opacity:.72}.booking-page{padding:2.5rem 0 5rem}.booking-page .hero-copy{margin-bottom:2rem}.booking-page h1{max-width:none;font-size:clamp(2.5rem,10vw,4.25rem)}.booking-flow{max-width:48rem}.step-list{grid-template-columns:repeat(5,1fr);gap:.25rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.step-list li{color:var(--muted);text-align:center;justify-items:center;gap:.35rem;display:grid}.step-list li:before{content:"";background:var(--border);grid-area:1/1;width:calc(100% - 2rem);height:1px;position:relative;top:1rem;left:calc(50% + 1rem)}.step-list li:last-child:before{display:none}.step-list li>span{z-index:1;border:1px solid var(--border);background:var(--surface);border-radius:50%;grid-area:1/1;place-items:center;width:2rem;height:2rem;font-size:.8rem;font-weight:700;display:grid}.step-list .current,.step-list .complete{color:var(--accent-dark)}.step-list .current>span,.step-list .complete>span{border-color:var(--accent);color:#fff;background:var(--accent)}.step-list small{font-size:.72rem;display:none}.booking-card{min-height:25rem}.booking-card section{min-width:0}.booking-card h2{margin-bottom:.5rem;font-size:clamp(1.8rem,7vw,2.35rem)}.section-intro{color:var(--muted);margin-bottom:1.5rem;line-height:1.55}.choice-list,.time-grid{border:0;margin:0;padding:0}.choice-list{gap:.75rem;display:grid}.choice-card{border:1px solid var(--border);cursor:pointer;border-radius:.9rem;gap:.85rem;padding:1rem;transition:border-color .12s,background .12s;display:flex;position:relative}.choice-card:hover{border-color:var(--accent)}.choice-card:has(input:checked){border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.choice-card:has(input:focus-visible){outline-offset:2px;outline:3px solid #446b5d47}.choice-card input{width:1.1rem;height:1.1rem;accent-color:var(--accent);flex:none;margin:.2rem 0 0}.choice-copy{gap:.35rem;min-width:0;display:grid}.choice-copy strong{font-size:1rem}.choice-copy small{color:var(--muted);font-size:.9rem;line-height:1.45}.choice-meta{color:var(--accent-dark);font-size:.86rem;font-weight:700}.flow-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:.75rem;margin-top:1.75rem;padding-top:1.25rem;display:flex}.flow-actions button{flex:1}.secondary-button,.text-button{color:var(--accent-dark);background:0 0}.secondary-button{border:1px solid var(--border)}.secondary-button:hover:not(:disabled),.text-button:hover:not(:disabled){background:var(--accent-soft)}.text-button{min-height:auto;padding:0;text-decoration:underline}.field{gap:.4rem;display:grid}.field label,.time-grid legend{color:var(--ink);font-size:.9rem;font-weight:700}.field input{border:1px solid var(--border);width:100%;min-height:3.1rem;color:var(--ink);font:inherit;background:#fff;border-radius:.7rem;padding:.75rem .85rem}.field input[aria-invalid=true]{border-color:var(--danger)}.date-field{max-width:20rem;margin-bottom:1.5rem}.form-grid{gap:1rem;display:grid}.field-error{color:var(--danger);font-size:.82rem}.time-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.time-grid legend{margin-bottom:.75rem}.time-grid label{cursor:pointer;position:relative}.time-grid input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.time-grid span{border:1px solid var(--border);border-radius:.7rem;place-items:center;min-height:3rem;font-weight:700;display:grid}.time-grid input:checked+span{border-color:var(--accent);color:#fff;background:var(--accent)}.time-grid input:focus-visible+span{outline-offset:2px;outline:3px solid #446b5d47}.status-message,.error-message,.notice{border-radius:.75rem;padding:1rem;line-height:1.5}.status-message,.notice{color:var(--muted);background:#f3f2ed}.error-message{color:var(--danger);background:#fbefed}.error-message p{margin-bottom:.5rem}.review-list{gap:0;margin:1.25rem 0;display:grid}.review-list>div{border-bottom:1px solid var(--border);gap:.3rem;padding:.9rem 0;display:grid}.review-list dt{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;font-weight:700}.review-list dd{margin:0;line-height:1.5}.payment-section{border:1px solid var(--border);background:#f8f7f3;border-radius:.9rem;margin-top:1.25rem;padding:1rem}.payment-section h3{margin:0 0 .4rem;font-family:Georgia,Times New Roman,serif;font-size:1.25rem;font-weight:500}.payment-section p,.payment-section small{color:var(--muted);line-height:1.5}.square-card-container{min-height:5.5rem;margin:1rem 0 .5rem}.confirmation-card{min-height:auto}.confirmation-mark{color:#fff;background:var(--accent);border-radius:50%;place-items:center;width:3.25rem;height:3.25rem;margin-bottom:1.25rem;font-size:1.5rem;font-weight:700;display:grid}.confirmation-number{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.9rem}.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}@media (min-width:48rem){.site-shell{padding:0 2rem}.booking-page{grid-template-columns:minmax(14rem,.55fr) minmax(28rem,1fr);align-items:start;gap:3.5rem;padding-top:4.5rem;display:grid}.booking-card{padding:2rem}.step-list small{display:block}.flow-actions button{flex:0 auto;min-width:8.5rem}.form-grid,.review-list>div{grid-template-columns:repeat(2,minmax(0,1fr))}.time-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
