.om-time-drum{position:relative;width:230px;max-width:100%;margin:20px auto;border-radius:24px;background:linear-gradient(135deg,#fffdf7,#e6ddcd);box-shadow:0 12px 0 #29251f,0 28px 38px #27201526;overflow:hidden;isolation:isolate}
.om-time-wheel{position:relative;height:220px;padding:88px 0;box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain;scroll-snap-type:y mandatory;scrollbar-width:none;mask-image:linear-gradient(transparent,#000 30%,#000 70%,transparent);z-index:2}.om-time-wheel::-webkit-scrollbar{display:none}
.om-time-option{display:block;width:100%;height:44px;min-height:44px;border:0;background:none;font:22px Georgia,serif;color:#756b5c;scroll-snap-align:center;cursor:pointer;transform:scale(.88);transition:transform .2s,color .2s}
.om-time-option.is-selected{color:#2c2417;transform:scale(1);font-weight:bold}.om-time-option:focus-visible{outline:2px solid #9b773c;outline-offset:-4px}
.om-time-window{position:absolute;left:18px;right:18px;top:88px;height:44px;border-block:1px solid #ac8d554d;background:#c9aa7320;border-radius:8px;pointer-events:none;z-index:1}
.om-appointment-stage{perspective:1300px;padding:28px 16px 45px;outline:none}.om-appointment-paper{position:relative;max-width:510px;margin:auto;padding:32px;background:linear-gradient(125deg,#fffefb,#f8f2e6);color:#30271c;box-shadow:0 25px 40px #22170c26,0 1px 3px #22170c16;transform-origin:center bottom;animation:om-paper-settle 950ms cubic-bezier(.2,.75,.2,1) both}
.om-appointment-mast{display:flex;gap:14px;align-items:center;border-bottom:1px solid #b8a78a60;padding-bottom:18px}.om-appointment-monogram{font:54px/.9 Georgia;letter-spacing:-6px;padding-right:5px}.om-appointment-mast>span:last-child{font:10px/1.5 Georgia;letter-spacing:1px;white-space:pre-line}
.om-appointment-eyebrow{font:10px/1.5 Georgia;letter-spacing:1px;color:#796547;margin:24px 0 12px}.om-appointment-title{font:normal 34px/1.1 Georgia;margin:0 0 25px}
.om-appointment-details{margin:0}.om-appointment-details>div{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid #b8a78a40;font:14px/1.5 Georgia}.om-appointment-details dt{color:#80715d}.om-appointment-details dd{margin:0;text-align:right;max-width:70%}
.om-appointment-stamp{width:max-content;max-width:95%;margin:38px auto 30px;padding:12px 20px;border:3px double #886631;border-radius:6px;text-align:center;color:#886631;transform:rotate(-8deg);animation:om-stamp-land 620ms cubic-bezier(.2,.7,.15,1) 850ms both;box-shadow:inset 0 0 0 2px #88663118}.om-appointment-stamp span{display:block;font:9px/1.6 Georgia;letter-spacing:1.5px}.om-appointment-stamp strong{display:block;font:bold 26px/1.2 Georgia;letter-spacing:2px}.om-appointment-note{font:12px/1.7 Georgia;color:#756752;margin:0}
@keyframes om-paper-settle{from{opacity:0;transform:translateY(35px) rotateX(19deg) scale(.94)}to{opacity:1;transform:none}}
@keyframes om-stamp-land{0%{opacity:0;transform:translateY(-65px) rotate(-15deg) scale(1.5)}55%{opacity:1;transform:translateY(2px) rotate(-8deg) scale(.97)}75%{transform:translateY(-3px) rotate(-8deg) scale(1.025)}100%{opacity:1;transform:rotate(-8deg)}}
@media(max-width:550px){.om-appointment-stage{padding:16px 2px 30px}.om-appointment-paper{padding:24px 20px}.om-appointment-title{font-size:28px}.om-appointment-details>div{font-size:13px}.om-appointment-stamp{padding:10px 12px}.om-appointment-stamp strong{font-size:23px}}
@media(prefers-reduced-motion:reduce){.om-appointment-paper,.om-appointment-stamp{animation:none}.om-time-option{transition:none}}
html[data-motion=off] .om-appointment-paper,html[data-motion=off] .om-appointment-stamp{animation:none}
/* Paper lands first; a dimensional brass seal presses, lifts, then reveals ink. */
.om-appointment-paper{animation:om-paper-settle 900ms cubic-bezier(.16,.8,.25,1) both;isolation:isolate}
.om-appointment-stamp{animation:om-ink-reveal 700ms cubic-bezier(.2,.7,.15,1) 1250ms both}
.om-stamp-press{position:absolute;z-index:3;left:50%;bottom:95px;width:220px;height:120px;pointer-events:none;transform-origin:center bottom;animation:om-seal-press 1550ms cubic-bezier(.2,.7,.25,1) 600ms both}
.om-stamp-base{position:absolute;bottom:0;left:0;width:220px;height:62px;background:linear-gradient(110deg,#85602f,#e2c894 28%,#987442 55%,#ddc695 78%,#6e502b);border:1px solid #f8e4b7;border-radius:8px;box-shadow:0 8px 0 #382b1d,0 21px 22px #21190f66,inset 0 2px 2px #fff6dbaa}
.om-stamp-handle{position:absolute;z-index:1;left:77px;bottom:48px;width:66px;height:75px;border-radius:25px 25px 12px 12px;background:linear-gradient(90deg,#231a12,#60482e 35%,#2c2015 76%,#100d09);box-shadow:inset 3px 1px 3px #c9a77666,3px 4px 8px #21170d44}
@keyframes om-seal-press{0%{opacity:0;transform:translate(-50%,-120px) rotate(-15deg) scale(1.18)}20%{opacity:1}44%{opacity:1;transform:translate(-50%,0) rotate(-8deg) scale(1)}52%{opacity:1;transform:translate(-50%,4px) rotate(-8deg) scale(.99)}64%{opacity:1;transform:translate(-50%,-8px) rotate(-8deg)}100%{opacity:0;transform:translate(-50%,-160px) rotate(3deg) scale(1.08)}}
@keyframes om-ink-reveal{0%{opacity:0;transform:rotate(-8deg) scale(.98)}30%{opacity:.9;transform:rotate(-8deg) scale(1)}100%{opacity:1;transform:rotate(-8deg)}}
@media(prefers-reduced-motion:reduce){.om-stamp-press{display:none}.om-appointment-stamp{animation:none}}
html[data-motion=off] .om-stamp-press{display:none}
/* Formal, legible calendar typography, scoped to appointment controls only. */
.visit-date-field .visit-calendar,.visit-date-field .visit-calendar *,.visit-date-field input[type=date]{font-family:Arial,Helvetica,sans-serif!important;font-variant-numeric:tabular-nums}
.visit-date-field .calendar-title{font-size:19px!important;font-weight:600;letter-spacing:-.025em}
.visit-date-field .calendar-weekdays{font-size:11px;font-weight:600;letter-spacing:.04em}
.visit-date-field .calendar-day{font-size:14px;font-weight:500}
.visit-date-field .calendar-day[aria-pressed=true]{font-weight:700}
.visit-date-field .visit-calendar{border-radius:12px;padding:22px;background:#faf7f0;border:1px solid #d8cbb5;box-shadow:0 8px 22px #21170f0c}
/* A composed stationery layout with a quiet gold rule and clear information hierarchy. */
.om-appointment-paper{max-width:540px;padding:36px 38px 28px;border:1px solid #e7dece;border-radius:3px;background:linear-gradient(115deg,#fffefa,#fbf7ee);box-shadow:0 34px 65px #08060345,0 4px 9px #100a0426}
.om-appointment-paper::before{content:'';position:absolute;left:38px;right:38px;top:0;height:3px;background:linear-gradient(90deg,#8d6935,#e2c58f,#8d6935)}
.om-appointment-mast{padding-bottom:22px;border-color:#b8a78a45}.om-appointment-monogram{font-size:48px}.om-appointment-mast>span:last-child{font-family:Arial,Helvetica,sans-serif;font-size:9px;letter-spacing:1.3px}
.om-appointment-eyebrow{font-family:Arial,Helvetica,sans-serif;font-size:9px;letter-spacing:1.4px;margin:27px 0 13px;color:#806c4b}
.om-appointment-title{font-size:38px;letter-spacing:-1.1px;line-height:1.08;max-width:360px;margin-bottom:28px}
.om-appointment-details{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;border-top:1px solid #c5b18b65}
.om-appointment-details>div{display:block;padding:17px 0;border-bottom:1px solid #b8a78a45;font-family:Arial,Helvetica,sans-serif}
.om-appointment-details>div:first-child,.om-appointment-details>div:last-child{grid-column:1/-1}
.om-appointment-details dt{font-size:10px;text-transform:uppercase;letter-spacing:1.4px;color:#80715d;margin-bottom:6px}
.om-appointment-details dd{text-align:left;max-width:100%;font-size:14px;line-height:1.6;font-weight:500;color:#30271c}
.om-appointment-details>div:last-child{display:flex;align-items:baseline;justify-content:space-between}.om-appointment-details>div:last-child dd{font-size:11px;letter-spacing:.06em}
.om-appointment-stamp{margin:30px auto 28px;border-color:#9a773e;color:#896630;background:linear-gradient(110deg,#c2a56c08,#fff0);box-shadow:inset 0 0 0 2px #88663112;text-shadow:0 1px #fff9}
.om-appointment-note{font-family:Arial,Helvetica,sans-serif;font-size:11px;line-height:1.7;text-align:center;padding-top:18px;border-top:1px solid #b8a78a40;color:#786b59}
@media(max-width:550px){.om-appointment-paper{padding:29px 23px 24px}.om-appointment-paper::before{left:23px;right:23px}.om-appointment-title{font-size:32px}.om-appointment-details{gap:0 16px}.om-appointment-details dd{font-size:13px}.om-appointment-details>div:last-child{display:block}.visit-date-field .visit-calendar{padding:16px 12px}}
.om-time-pair{display:flex;align-items:center;justify-content:center;gap:12px;margin:24px auto;width:min(350px,100%)}.om-time-column{min-width:0;flex:1}.om-time-column-label{text-align:center;font:600 10px Arial,Helvetica,sans-serif;letter-spacing:1.5px;color:#ddc8a6;margin:0 0 12px}.om-time-pair .om-time-drum{width:100%;margin:0}.om-time-pair .om-time-option{font:500 23px Arial,Helvetica,sans-serif;font-variant-numeric:tabular-nums}.om-time-pair .om-time-option.is-selected{font-weight:700}.om-time-colon{font:25px Arial;color:#e2c894;padding-top:24px}

.om-inquiry-form .form-message.is-receipt.om-appointment-stage{display:block;background:transparent;border:0;padding:12px 0 24px;margin:0}
.om-request-summary{font-size:15px;line-height:1.7;color:#514637}
.om-appointment-paper .quote-restart{display:block;margin:22px auto 0}
html[data-motion=off] .om-appointment-paper,html[data-motion=off] .om-appointment-stamp{animation:none}
html[data-motion=off] .om-stamp-press{display:none}
