.appointment-page{--appointment-muted:var(--color-text-secondary)}.appointment-intro{padding-block:50px var(--space-12)}.appointment-intro h1{font-size:clamp(56px,6.5vw,88px)}.appointment-intro>p:not(.eyebrow){max-width:640px;font-size:var(--text-body)}.appointment-intro .eyebrow{font-size:var(--text-micro);color:var(--color-text-accent)}.appointment-layout{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:54px;padding-bottom:100px;display:grid}.appointment-panel{border:1px solid var(--color-line);background:var(--color-surface);padding:var(--space-8) 36px 36px;min-width:0}.appointment-panel-heading{border-bottom:1px solid var(--line);font-size:var(--text-micro);letter-spacing:1.5px;color:var(--color-text-accent);justify-content:space-between;align-items:center;gap:15px;padding-bottom:25px;display:flex}.appointment-panel-heading>span:last-child{font-size:var(--text-micro);letter-spacing:0}.appointment-form-fields{border:0;min-width:0;margin:0;padding:0}.appointment-block{padding-top:var(--space-8)}.appointment-block+.appointment-block{border-top:1px solid var(--line);margin-top:30px}.appointment-block-heading{align-items:flex-start;gap:18px;margin-bottom:26px;display:flex}.appointment-block-heading>span{font-family:var(--serif);font-size:var(--text-title-sm);color:var(--color-text-accent);padding-top:3px;line-height:1.2}.appointment-block-heading h2{font-size:var(--text-title-md);letter-spacing:-.6px;line-height:1.1}.appointment-block-heading p{font-size:var(--text-caption);color:var(--appointment-muted);margin-top:7px}.appointment-categories,.appointment-services{border:0;min-width:0;margin:0;padding:0}.appointment-categories legend,.appointment-services legend{font-size:var(--text-caption);margin-bottom:var(--space-3);padding:0;font-weight:500}.category-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.category-choice{border:1px solid var(--color-surface-selected);background:var(--color-background);cursor:pointer;min-height:83px;transition:border-color var(--duration-control) var(--ease-control), background var(--duration-control) var(--ease-control);align-items:center;gap:13px;padding:18px 14px;display:flex;position:relative}.category-choice>svg:not(.category-check){color:var(--color-text-accent);flex-shrink:0}.category-choice>span{font-family:var(--serif);font-size:var(--text-title-xs);padding-right:13px;line-height:1.12}.category-choice input{opacity:0;width:1px;height:1px;position:absolute}.category-choice:has(input:focus-visible){outline:2px solid var(--color-text-accent);outline-offset:3px}.category-choice:has(input:checked){border-color:var(--color-border-control);background:var(--color-surface-soft)}.category-choice:hover{border-color:var(--color-border-control)}.category-check{opacity:0;color:var(--color-hover);position:absolute;top:11px;right:10px}.category-choice:has(input:checked) .category-check{opacity:1}.appointment-services{margin-top:23px}.service-chips{flex-wrap:wrap;gap:9px;display:flex}.service-chip{padding:var(--space-3) 14px;border:1px solid var(--color-surface-selected);cursor:pointer;min-height:46px;transition:background var(--duration-control) var(--ease-control), border-color var(--duration-control) var(--ease-control);font-size:var(--text-caption);align-items:center;gap:9px;display:flex}.service-chip:has(input:checked){background:var(--color-surface-soft);border-color:var(--color-border-control)}.service-chip:focus-within{outline:2px solid var(--color-text-accent);outline-offset:3px}.selection-hint{padding:17px var(--space-5);background:var(--color-error-surface);color:var(--appointment-muted);font-size:var(--text-caption);line-height:1.8}.selected-service-note{font-size:var(--text-micro);color:var(--appointment-muted);margin-top:17px}.selected-service-note strong{color:var(--ink);font-weight:500}.appointment-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 18px;display:grid}.appointment-field{flex-direction:column;gap:9px;min-width:0;display:flex}.appointment-field.wide{grid-column:1/-1}.appointment-field label{font-size:var(--text-caption);font-weight:500}.appointment-field label span{color:var(--color-text-secondary);font-weight:400}.appointment-field input,.appointment-field textarea{border:1px solid var(--color-surface-selected);border-radius:var(--radius-control);background:var(--color-surface-input);width:100%;min-width:0;min-height:51px;color:var(--ink);font-size:var(--text-body);transition:border-color var(--duration-control) var(--ease-control), box-shadow var(--duration-control) var(--ease-control);padding:14px}.appointment-field textarea{resize:vertical;line-height:1.8}.appointment-field input:focus-visible,.appointment-field textarea:focus-visible{border-color:var(--color-text-accent);outline-offset:2px;outline:2px solid #ac927166;box-shadow:0 0 0 4px #d9c6ab33}.appointment-field [aria-invalid=true]{border-color:var(--color-text-accent)}.appointment-field .field-hint,.notes-hint{color:var(--appointment-muted);font-size:var(--text-micro);line-height:1.8}.notes-hint{gap:var(--space-3);justify-content:space-between;display:flex}.notes-hint small{font-size:var(--text-micro)}.notes-hint small:last-child{font-variant-numeric:tabular-nums;flex-shrink:0}.appointment-error{color:var(--color-error);font-size:var(--text-micro);margin-top:3px;line-height:1.7}.appointment-error-summary{color:var(--color-error);font-size:var(--text-caption);border-left:2px solid var(--color-text-accent);background:var(--color-error-surface);margin-top:22px;padding:15px 18px;line-height:1.8}.appointment-consent{margin-top:var(--space-7);font-size:var(--text-micro);line-height:1.9}.appointment-consent label{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.appointment-consent input{margin-top:3px}.appointment-consent>a{padding-block:var(--space-2);color:var(--color-text-accent);text-underline-offset:3px;margin-left:26px;text-decoration:underline;display:inline-block}.appointment-submit{border-top:1px solid var(--line);flex-direction:column;align-items:stretch;gap:22px;margin-top:22px;padding-top:25px;display:flex}.appointment-submit>p{font-size:var(--text-micro);color:var(--appointment-muted);gap:10px;line-height:1.8;display:flex}.appointment-submit>p svg{flex-shrink:0;margin-top:2px}.appointment-submit .button{min-height:55px;font-size:var(--text-caption)}.pending-spinner{animation:1s linear infinite pending-spin}@keyframes pending-spin{to{transform:rotate(360deg)}}.appointment-aside{background:var(--color-surface-soft);border:1px solid var(--color-line);position:sticky;top:24px}.appointment-aside-image{border-radius:var(--radius-arch);height:200px;margin:25px 25px 0;position:relative;overflow:hidden}.appointment-aside-image img{object-fit:cover;object-position:50% 31%}.appointment-aside-copy{padding:27px}.appointment-aside-copy>svg{color:var(--color-text-accent);margin-bottom:17px}.appointment-aside h2{font-size:var(--text-title-md);letter-spacing:-.6px;line-height:1.12}.appointment-aside em{color:var(--color-text-accent)}.booking-process{margin:var(--space-7) 0;gap:21px;padding:0;list-style:none;display:grid}.booking-process li{align-items:flex-start;gap:15px;display:flex}.booking-process li>span{border:1px solid var(--color-champagne);border-radius:var(--radius-round);width:27px;height:27px;color:var(--color-text-accent);font-size:var(--text-micro);flex-shrink:0;place-items:center;margin-top:2px;display:grid}.booking-process h3{font-family:var(--font-sans);font-size:var(--text-caption);font-weight:600;line-height:1.5}.booking-process p{font-size:var(--text-micro);color:var(--color-text-secondary);margin-top:5px;line-height:1.8}.booking-reassurance{border-top:1px solid var(--color-border);color:var(--color-hover);gap:11px;padding-top:22px;display:flex}.booking-reassurance svg{flex-shrink:0;margin-top:3px}.booking-reassurance p{font-size:var(--text-micro);line-height:1.8}.booking-contact-link{align-items:center;gap:var(--space-3);font-size:var(--text-micro);color:var(--color-text-secondary);min-height:44px;margin-top:23px;display:flex}.booking-contact-link strong{font-size:var(--text-caption);color:var(--ink);margin-top:var(--space-1);text-underline-offset:4px;font-weight:500;text-decoration:underline;display:block}.appointment-success{padding:15px 0 0}.success-flower{border-radius:var(--radius-round);background:var(--color-surface-soft);width:77px;height:77px;color:var(--color-text-accent);place-items:center;margin-bottom:26px;display:grid;position:relative}.success-flower svg:last-child{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-round);width:25px;height:25px;padding:var(--space-1);position:absolute;bottom:0;right:0}.success-eyebrow{font-size:var(--text-micro);letter-spacing:1.7px;color:var(--color-text-accent)}.appointment-success h2{margin-top:var(--space-5);font-size:clamp(38px,4vw,51px);line-height:1.1}.success-intro{font-size:var(--text-small);color:var(--appointment-muted);margin-top:var(--space-6);overflow-wrap:anywhere}.appointment-summary{margin-block:30px}.appointment-summary>div{border-bottom:1px solid var(--line);grid-template-columns:120px minmax(0,1fr);gap:15px;padding-block:17px;display:grid}.appointment-summary dt{color:var(--appointment-muted);font-size:var(--text-micro);padding-top:3px}.appointment-summary dd{font-size:var(--text-small);overflow-wrap:anywhere;margin:0;line-height:1.8}.appointment-summary small{font-size:var(--text-micro);color:var(--appointment-muted);display:block}.preview-notice{gap:var(--space-3);background:var(--color-surface-soft);border:1px solid var(--color-surface-selected);padding:19px;display:flex}.preview-notice svg{color:var(--color-text-accent);flex-shrink:0;margin-top:3px}.preview-notice p{font-size:var(--text-micro);color:var(--color-hover);line-height:1.9}.preview-notice strong{color:var(--ink);margin-bottom:5px;font-weight:600;display:block}.success-actions{align-items:center;gap:var(--space-3) 22px;margin-top:var(--space-7);flex-wrap:wrap;display:flex}.success-copy{margin-top:var(--space-5);font-size:var(--text-micro);color:var(--appointment-muted)}.success-copy>a{overflow-wrap:anywhere;padding-block:9px;display:inline-block}.success-copy>p:not(:empty){padding-block:var(--space-2)}.success-home{font-size:var(--text-micro);border-bottom:1px solid var(--color-champagne);margin-top:19px;padding-block:13px;display:inline-flex}@media (max-width:1100px){.appointment-layout{gap:var(--space-7);grid-template-columns:minmax(0,1fr) 285px}.appointment-panel{padding-inline:25px}.category-choice{padding:15px var(--space-3);gap:9px}.category-choice>span{font-size:var(--text-lead)}.category-choice>svg:not(.category-check){width:23px}.appointment-aside-copy{padding:23px}}@media (max-width:800px){.appointment-layout{grid-template-columns:1fr;gap:35px}.appointment-aside{grid-template-columns:.8fr 1.2fr;align-items:start;display:grid;position:static}.appointment-aside-image{height:290px;margin-right:0}.appointment-aside-copy{padding:30px}.appointment-intro>p br{display:none}}@media (max-width:580px){.appointment-intro{padding-block:var(--space-8)}.appointment-intro h1{font-size:clamp(48px,11vw,63px)}.appointment-intro>p:not(.eyebrow){font-size:var(--text-small)}.appointment-layout{padding-bottom:60px}.appointment-panel{padding:23px 18px}.appointment-panel-heading{font-size:var(--text-micro);letter-spacing:.8px;padding-bottom:var(--space-5);gap:10px}.appointment-panel-heading>span:last-child{font-size:var(--text-micro)}.appointment-block-heading{gap:var(--space-3)}.appointment-block-heading h2{font-size:var(--text-title-sm)}.appointment-block-heading p{font-size:var(--text-micro)}.category-options{gap:9px}.category-choice{align-items:flex-start;gap:var(--space-3);min-height:116px;padding:var(--space-4) var(--space-3);flex-direction:column}.category-choice>span{font-size:var(--text-title-xs);padding-right:0}.service-chip{font-size:var(--text-micro);padding:var(--space-3)}.appointment-field-grid{grid-template-columns:1fr}.appointment-field input,.appointment-field textarea{font-size:var(--text-input)}.appointment-aside{display:block}.appointment-aside-image{margin:var(--space-6) var(--space-6) 0;height:220px}.appointment-aside-copy{padding:26px}.appointment-aside h2{font-size:var(--text-title-md)}.booking-process h3{font-size:var(--text-small)}.booking-process p,.booking-reassurance p{font-size:var(--text-caption)}.appointment-summary>div{grid-template-columns:1fr;gap:5px}.appointment-success h2{font-size:var(--text-title-md)}.success-actions{flex-direction:column;align-items:stretch}.success-actions .text-button{justify-content:center}}.appointment-success{animation:.45s ease-out both appointment-appear}@keyframes appointment-appear{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.appointment-success{animation:none}}
