/* Contact in the accepted editorial motion direction. The existing form handler is preserved. */
.rb-contact-page .osteo-title em{font-size:clamp(44px,7.2vw,107px);line-height:1.12}
.rb-contact-page .osteo-title .title-line+.title-line{margin-top:0}
.rb-contact-page .osteo-opening{padding-bottom:48px}
.rb-contact-page .osteo-opening-bottom>p{width:40%;max-width:530px;background:var(--ivory);box-shadow:0 0 0 6px var(--ivory)}
.rb-contact-page .osteo-opening-bottom>.text-link{background:var(--ivory);box-shadow:0 0 0 6px var(--ivory)}
.rb-contact-page .text-link svg{width:20px;height:20px;flex:0 0 20px;transition:transform .3s}
.rb-contact-page .text-link:hover svg{transform:translate(3px,-3px)}
.contact-exchange{position:relative;background:var(--plum);color:var(--ivory);padding:56px 0 130px}
.contact-exchange-grid{display:grid;grid-template-columns:.93fr 1.07fr;gap:7%;align-items:start}
.contact-exchange .rb-contact-details{padding-top:13px}
.rb-contact-page .contact-exchange .rb-contact-details h2{font:400 clamp(42px,4.6vw,68px)/1.03 var(--serif);letter-spacing:-.04em;color:var(--ivory);margin:0 0 27px}
.contact-exchange .rb-contact-details h2 em{color:var(--osteo-soft)}
.contact-exchange .rb-contact-details>.eyebrow{font-size:10px;color:var(--osteo-soft);margin-bottom:25px}
.contact-exchange .rb-contact-details>p:not(.eyebrow){font-size:17px;line-height:1.7;max-width:460px;color:var(--ivory)}
.contact-exchange .rb-contact-details dl{display:block;margin:32px 0}
.contact-exchange .rb-contact-details dl>div{padding:19px 0 23px;border-top:1px solid #a17e9d}
.contact-exchange .rb-contact-details dt{font-size:10px;line-height:1.5;letter-spacing:.1em;color:var(--osteo-soft);margin:0 0 12px}
.contact-exchange .rb-contact-details dd{font:400 clamp(21px,2.2vw,32px)/1.4 var(--serif);letter-spacing:-.02em;color:var(--ivory);margin:0;overflow-wrap:anywhere}
.contact-exchange .rb-contact-details dd a[href^="tel:"]{white-space:nowrap}
.contact-exchange .rb-contact-details dd a[href^="mailto:"]{font:400 clamp(16px,1.6vw,23px)/1.5 'Segoe UI',Arial,sans-serif;letter-spacing:0}
.contact-exchange .rb-contact-details dd a:hover{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.contact-exchange .rb-contact-details .actions{gap:22px;flex-wrap:wrap;margin-top:8px}
.contact-exchange .rb-contact-details .button{background:var(--ivory);border-color:var(--ivory);color:var(--plum);font-size:14px;gap:22px}
.contact-exchange .rb-contact-details .button:hover{background:var(--osteo-soft);border-color:var(--osteo-soft)}
.contact-exchange .rb-contact-details .text-link{color:var(--ivory);border-color:#d77aa9;font-size:14px;gap:16px}
.contact-exchange .rb-contact-details a:focus-visible{outline-color:var(--osteo-soft)}
.rb-contact-page .rb-contact-form{background:var(--ivory);color:var(--ink);padding:39px 44px 43px;border-radius:0 65px 0 0;margin:0;min-width:0;scroll-margin-top:20px}
.rb-contact-page .rb-contact-form h2{font:400 clamp(34px,3.4vw,50px)/1.08 var(--serif);letter-spacing:-.04em;color:var(--plum);margin:0 0 19px}
.rb-contact-page .rb-contact-form>p{font-size:15px;line-height:1.7;color:var(--muted);margin:0 0 25px}
.rb-contact-page .rb-contact-form label{display:block;font-size:13px;line-height:1.5;color:var(--plum);margin:24px 0 5px}
.rb-contact-form label>span{color:var(--rose)}
.rb-contact-page .rb-contact-form input:not([type="hidden"]),.rb-contact-page .rb-contact-form textarea{font:400 18px/1.5 'Segoe UI',Arial,sans-serif;display:block;width:100%;max-width:100%;padding:12px 0;border:0;border-bottom:1px solid #9d819a;background:transparent;color:var(--ink);border-radius:0;transition:border-color .25s}
.rb-contact-page .rb-contact-form textarea{min-height:135px;resize:vertical}
.rb-contact-page .rb-contact-form input:focus,.rb-contact-page .rb-contact-form textarea:focus{outline:2px solid var(--rose);outline-offset:5px;border-bottom-color:var(--rose)}
.rb-contact-page .rb-contact-form .form-help{font-size:12px;line-height:1.7;margin:24px 0 26px}
.rb-contact-page .rb-contact-form .contact-message-count{font-size:11px;line-height:1.5;text-align:right;margin:9px 0 0;color:var(--muted)}
.rb-contact-page .rb-contact-form .button{width:100%;font-size:15px;padding:16px 21px;min-height:55px;cursor:pointer}
.rb-contact-form .button:disabled{cursor:wait;opacity:.75;transform:none}
.rb-contact-page .rb-contact-form .form-feedback{font-size:15px;line-height:1.65;padding:17px 19px;background:#eee2e9;border-left:3px solid var(--rose);color:var(--plum);margin:0 0 22px}
.contact-exchange .journey-wave{height:85px}
.contact-before{padding:28px 0 80px}
.contact-before>.o-wrap{display:grid;grid-template-columns:1fr 1.15fr;gap:8%;align-items:start}
.rb-contact-page .contact-before h2{font:400 clamp(38px,4.4vw,65px)/1.06 var(--serif);letter-spacing:-.04em;color:var(--plum);margin:0 0 25px}
.contact-before h2 em{color:var(--rose)}
.contact-before-intro>p{font-size:17px;line-height:1.7;color:var(--muted);max-width:460px;margin:0 0 25px}
.contact-before-intro .text-link{font-size:15px}
.rb-contact-page .contact-before .osteo-topic summary{font-size:clamp(26px,2.55vw,38px);line-height:1.2;gap:25px;text-wrap:balance}
.rb-contact-page .contact-before .osteo-topic .topic-body p{font-size:17px;line-height:1.75;margin:0 0 23px;color:var(--muted)}
.contact-before .topic-body .text-link{font-size:14px}
@media(max-width:1100px){
 .contact-exchange-grid{gap:5%;grid-template-columns:.95fr 1.05fr}
 .rb-contact-page .rb-contact-form{padding:32px 30px 36px;border-top-right-radius:55px}
 .contact-exchange .rb-contact-details .actions{gap:20px}.contact-before>.o-wrap{gap:5%}
 .contact-exchange .rb-contact-details dd{font-size:25px}
}
@media(max-width:850px){
 .contact-exchange-grid{grid-template-columns:1fr;gap:45px}
 .contact-exchange .rb-contact-details>p:not(.eyebrow){max-width:610px}
 .contact-exchange .rb-contact-details dl{display:grid;grid-template-columns:1fr 1fr;gap:0 35px}
 .contact-exchange .rb-contact-details dl>div:last-child{grid-column:1/-1}
 .rb-contact-page .rb-contact-form{padding:38px 40px 42px}
 .contact-before>.o-wrap{grid-template-columns:1fr;gap:32px}
}
@media(max-width:700px){
 .rb-contact-page .osteo-title{font-size:clamp(51px,12.5vw,85px)}
 .rb-contact-page .osteo-title em{font-size:clamp(41px,10vw,66px);white-space:normal;padding-top:9px}
 .rb-contact-page .osteo-opening{padding-bottom:32px}.rb-contact-page .osteo-opening-bottom>p{width:100%;font-size:16px}
 .contact-exchange{padding:36px 0 90px}.contact-exchange-grid{gap:35px}
 .contact-exchange .rb-contact-details{padding-top:0}
 .rb-contact-page .contact-exchange .rb-contact-details h2{font-size:43px;line-height:1.08}
 .contact-exchange .rb-contact-details>.eyebrow{font-size:9px;margin-bottom:22px}
 .contact-exchange .rb-contact-details>p:not(.eyebrow){font-size:16px;line-height:1.7}
 .contact-exchange .rb-contact-details dl{display:block;margin-block:25px}
 .contact-exchange .rb-contact-details dl>div{padding:18px 0 21px}.contact-exchange .rb-contact-details dd{font-size:27px;line-height:1.45}
 .contact-exchange .rb-contact-details dd a[href^="mailto:"]{font-size:17px}
 .contact-exchange .rb-contact-details .actions{gap:22px}.contact-exchange .rb-contact-details .button{font-size:13px}
 .contact-exchange .rb-contact-details .text-link{font-size:14px}
 .rb-contact-page .rb-contact-form{padding:30px 24px 34px;border-top-right-radius:45px}
 .rb-contact-page .rb-contact-form h2{font-size:34px;line-height:1.12}.rb-contact-page .rb-contact-form>p{font-size:14px}
 .rb-contact-page .rb-contact-form input:not([type="hidden"]),.rb-contact-page .rb-contact-form textarea{font-size:17px;padding:11px 0}
 .rb-contact-page .rb-contact-form label{font-size:13px;margin-top:22px}.rb-contact-page .rb-contact-form .form-help{font-size:12px}
 .rb-contact-page .rb-contact-form .button{font-size:14px;padding-inline:18px}
 .contact-exchange .journey-wave{height:55px}.contact-before{padding:24px 0 55px}
 .rb-contact-page .contact-before h2{font-size:39px}.contact-before-intro>p{font-size:16px}
 .contact-before-intro .text-link{font-size:14px}.rb-contact-page .contact-before .osteo-topic summary{font-size:28px}
 .rb-contact-page .contact-before .osteo-topic .topic-body p{font-size:16px}
}
@media(max-width:360px){.rb-contact-page .rb-contact-form{padding-inline:20px}.rb-contact-page .rb-contact-form h2{font-size:30px}.contact-exchange .rb-contact-details dd a[href^="mailto:"]{font-size:15px}}

/* Appointment requests and general messages are separate native forms. */
.contact-path-links{display:flex;gap:26px;flex-wrap:wrap;max-width:57%}
.rb-contact-page .contact-path-links .text-link{font-size:16px;background:var(--ivory);box-shadow:0 0 0 6px var(--ivory);gap:13px}
.contact-appointment,.contact-general{scroll-margin-top:20px}
.rb-contact-page .appointment-intro h2{font:400 clamp(40px,4.15vw,62px)/1.08 var(--serif);letter-spacing:-.04em;color:var(--ivory);margin:0 0 28px}
.appointment-intro h2 em{color:var(--osteo-soft)}
.appointment-intro>.eyebrow{color:var(--osteo-soft);font-size:10px;margin-top:10px}
.appointment-intro>p:not(.eyebrow){font-size:18px;line-height:1.7;max-width:520px}
.appointment-steps{margin:30px 0;padding:0;list-style:none}
.appointment-steps li{display:flex;gap:22px;border-top:1px solid #a17e9d;padding:21px 0}
.appointment-steps li>span{font:italic 29px/1.2 var(--serif);color:var(--osteo-soft);flex:0 0 32px}
.appointment-steps li>p{font-size:18px;line-height:1.6;margin:0}
.appointment-intro .appointment-caption{font:italic 25px/1.4 var(--serif);color:var(--osteo-soft);margin:0 0 30px}
.appointment-intro>.button{background:var(--ivory);color:var(--plum);border-color:var(--ivory);font-size:14px}
.rb-contact-page .rb-contact-form h3{font:400 clamp(32px,3.05vw,45px)/1.1 var(--serif);letter-spacing:-.035em;color:var(--plum);margin:0 0 19px}
.rb-contact-page .rb-contact-form select{width:100%;max-width:100%;padding:12px 0;border:0;border-bottom:1px solid #9d819a;background:transparent;color:var(--ink);font:400 17px/1.5 'Segoe UI',Arial,sans-serif;border-radius:0}
.rb-contact-page .rb-contact-form select:focus{outline:2px solid var(--rose);outline-offset:5px}
.rb-contact-page .rb-contact-form label small{font-size:11px;color:var(--muted)}
.contact-general{padding:35px 0 70px}
.contact-general .rb-contact-details>.eyebrow{color:var(--rose);font-size:10px}
.rb-contact-page .contact-general .rb-contact-details h2{font:400 clamp(43px,4.6vw,68px)/1.03 var(--serif);letter-spacing:-.04em;color:var(--plum);margin:0 0 28px}
.contact-general .rb-contact-details h2 em{color:var(--rose)}
.contact-general .rb-contact-details>p{font-size:17px;line-height:1.7;color:var(--muted);max-width:490px}
.contact-general .rb-contact-details dl{display:block;margin:28px 0}
.contact-general .rb-contact-details dl>div{padding:20px 0;border-top:1px solid var(--line)}
.contact-general .rb-contact-details dt{font-size:10px;letter-spacing:.1em;color:var(--rose);margin-bottom:12px}
.contact-general .rb-contact-details dd{font:400 clamp(23px,2.2vw,32px)/1.4 var(--serif);color:var(--plum);margin:0;overflow-wrap:anywhere}
.contact-general .rb-contact-details dd a[href^="mailto:"]{font:400 clamp(16px,1.6vw,23px)/1.5 'Segoe UI',Arial,sans-serif}
.contact-general .rb-contact-details .actions{flex-wrap:wrap;gap:22px}
.contact-general .rb-contact-details .text-link{font-size:14px}
.contact-general .rb-contact-form{border:1px solid var(--line);background:transparent}
@media(max-width:700px){
 .contact-path-links{max-width:100%;gap:20px}.rb-contact-page .contact-path-links .text-link{font-size:14px}
 .rb-contact-page .appointment-intro h2{font-size:40px}.appointment-intro>p:not(.eyebrow){font-size:16px}
 .appointment-steps li{gap:17px;padding:19px 0}.appointment-steps li>p{font-size:16px}.appointment-steps li>span{font-size:25px}
 .appointment-intro .appointment-caption{font-size:23px}.rb-contact-page .rb-contact-form h3{font-size:32px}
 .rb-contact-page .rb-appointment-form .button{font-size:14px;gap:15px;text-align:left}
 .contact-general{padding:24px 0 45px}.rb-contact-page .contact-general .rb-contact-details h2{font-size:43px}
 .contact-general .rb-contact-details>p{font-size:16px}.contact-general .rb-contact-details dd{font-size:26px}
 .contact-general .rb-contact-details dd a[href^="mailto:"]{font-size:17px}
}
@media(max-width:360px){.rb-contact-page .rb-contact-form h3{font-size:29px}.contact-general .rb-contact-details dd a[href^="mailto:"]{font-size:15px}}

.rb-contact-page #rendezvous{scroll-margin-top:20px}

/* Two visible, intentionally inactive launch forms. */
.rb-contact-page .rb-preview-form .rb-form-kicker{font-size:10px;letter-spacing:.14em;color:var(--rose);margin:0 0 17px}
.rb-preview-form fieldset{min-width:0;padding:0;margin:0;border:0}
.rb-form-row{display:grid;grid-template-columns:1fr 1fr;gap:23px}
.rb-form-row>div{min-width:0}
.rb-contact-page .rb-preview-form .rb-form-notice{display:flex;align-items:flex-start;gap:12px;margin:25px 0 8px;padding:15px 16px;background:#eee3ea;border-left:2px solid var(--rose);font-size:13px;line-height:1.65;color:var(--plum)}
.rb-form-notice strong{display:block;font-weight:600}
.rb-form-status-dot{flex:0 0 7px;width:7px;height:7px;margin-top:8px;border-radius:50%;background:var(--rose)}
.rb-contact-page .rb-preview-form input:disabled,.rb-contact-page .rb-preview-form select:disabled,.rb-contact-page .rb-preview-form textarea:disabled{opacity:1;color:#817381;-webkit-text-fill-color:#817381;cursor:not-allowed;border-bottom-color:#c5b4c2}
.rb-contact-page .rb-preview-form ::placeholder{color:#968994;opacity:1}
.rb-contact-page .rb-preview-form .button:disabled{opacity:1;background:#ded1dc;border-color:#ded1dc;color:var(--plum);cursor:not-allowed;transform:none}
.rb-contact-page .rb-preview-form .rb-form-alternative{margin:22px 0 0}
.rb-preview-form .rb-form-alternative .text-link{font-size:13px;gap:18px}
@media(max-width:450px){.rb-form-row{grid-template-columns:1fr;gap:0}.rb-contact-page .rb-preview-form .rb-form-notice{padding:13px;font-size:12px}}
