.riam-book-page{max-width:var(--width,1440px);margin:auto;padding:clamp(36px,6vw,90px) var(--space,24px);display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,6vw,100px);align-items:start}.riam-book-intro{position:sticky;top:100px}.riam-book-intro h1{font:clamp(54px,6vw,94px)/.95 var(--serif,Georgia);font-weight:400;letter-spacing:-.035em;margin:24px 0}.riam-book-intro h1 em{color:var(--burgundy,#612c3c);font-weight:400}.riam-book-intro>p:last-child{max-width:280px}.riam-book-panel{border:1px solid var(--line,#d4cec0);background:#fffcf5;padding:clamp(20px,3vw,42px);border-radius:3px}.riam-book-panel .eyebrow{margin:28px 0 14px}.riam-book-panel .eyebrow:first-child{margin-top:0}.riam-book-panel h2{font:42px/1.1 var(--serif,Georgia);font-weight:400;margin:20px 0}.riam-book-panel h3{font:30px/1.2 var(--serif,Georgia);margin:20px 0 12px}.riam-book-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.riam-book-fields label{display:flex;flex-direction:column;gap:8px;font-size:12px}.riam-book-fields input,.riam-book-fields select{width:100%;min-width:0;min-height:48px;padding:12px;background:#f8f5ee;border:1px solid var(--line,#d4cec0);border-radius:0;font:14px var(--sans,Arial);color:var(--ink,#24231f)}.riam-book-fields .button{grid-column:1/-1;justify-self:start;margin-top:4px}.riam-book-slots{display:flex;gap:10px;flex-wrap:wrap}.riam-book-slots label{position:relative;cursor:pointer}.riam-book-slots input{position:absolute;opacity:0;width:1px;height:1px}.riam-book-slots span{display:flex;align-items:center;min-height:44px;padding:10px 15px;border:1px solid var(--line,#d4cec0);font-size:13px;transition:background .15s}.riam-book-slots input:checked+span{background:var(--burgundy,#612c3c);color:#fff;border-color:var(--burgundy,#612c3c)}.riam-book-slots input:focus-visible+span{outline:3px solid #866f37;outline-offset:3px}.riam-book-consent{display:flex;gap:12px;align-items:flex-start;margin-top:24px;font-size:13px}.riam-book-consent input{width:20px;height:20px;flex:none;accent-color:var(--burgundy,#612c3c);margin-top:3px}.riam-book-panel p{font-size:13px;line-height:1.7}.riam-book-panel .button{margin-top:8px;cursor:pointer}.riam-book-error{padding:14px;border-left:3px solid var(--burgundy,#612c3c);background:#f7e7e7}.riam-book-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.riam-bank-details{border-block:1px solid var(--line,#d4cec0);margin:26px 0;padding:8px 0}.riam-bank-details>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0}.riam-bank-details dt{font-size:12px;color:var(--taupe,#67635b)}.riam-bank-details dd{margin:0;font-weight:600;text-align:right;overflow-wrap:anywhere}.riam-book-deposit strong{font-size:24px}.riam-book-page a:not(.button){text-decoration:underline;text-underline-offset:4px}.riam-book-page input:focus-visible,.riam-book-page select:focus-visible{outline:2px solid #866f37;outline-offset:2px}.riam-book-page .button-outline{background:transparent;color:var(--burgundy,#612c3c);border:1px solid currentColor}.riam-book-page~.mobile-book{display:none}@media(max-width:800px){.riam-book-page{grid-template-columns:1fr;gap:28px;padding-top:36px}.riam-book-intro{position:static}.riam-book-intro h1{font-size:56px}.riam-book-intro h1 br{display:none}.riam-book-intro>p:last-child{max-width:100%}.riam-book-fields{grid-template-columns:1fr}.riam-book-panel h2{font-size:34px}.riam-bank-details>div{flex-direction:column;gap:3px}.riam-bank-details dd{text-align:left}.riam-book-slots span{padding-inline:14px}}@media(prefers-reduced-motion:reduce){.riam-book-slots span{transition:none}}

.riam-visit-instructions{margin:26px 0;padding:18px 0;border-block:1px solid var(--line,#d4cec0)}.riam-book-panel .riam-visit-instructions h3{font:600 14px/1.5 var(--sans,Arial);margin:0 0 12px}.riam-visit-instructions ul{padding-left:18px;margin:0;font-size:13px;line-height:1.8}.riam-visit-instructions li+li{margin-top:6px}
.riam-payment-report{margin:28px 0;padding-top:24px;border-top:1px solid var(--line,#dcd1c0)}
.riam-payment-report label{display:grid;gap:8px;margin:16px 0;font-size:14px}
.riam-payment-report input[type=text]{width:100%;padding:14px;border:1px solid #bcb0a0;background:#fffdf8;color:#25211f;font:inherit;min-height:48px}
