/* Shared functional refinements; the two visual options live outside the public tree. */
.ux-skip { position:fixed; left:16px; top:-100px; z-index:200; padding:12px 18px; background:white; color:#071b36; }
.ux-skip:focus { top:10px; }
:is(.corporate-page,.booking-page,.pricing-site) main :is(h1,h2,h3) { text-wrap:balance; }
:is(.corporate-page,.booking-page,.pricing-site) main p { text-wrap:pretty; }
:is(.corporate-page,.booking-page,.pricing-site) :is(button,input,select,textarea,a):focus-visible { outline:3px solid #116b9d; outline-offset:4px; }
:is(.corporate-page,.booking-page,.pricing-site) main :is(a,button)>span[aria-hidden=true] { display:inline-block; margin-left:.35em; flex-shrink:0; }
:is(.corporate-button-primary,.corporate-button-secondary,.marketing-primary,.price-button,.booking-submit) { min-height:46px; gap:10px; align-items:center; justify-content:center; }
.booking-sales { padding:48px 0 64px; }
.booking-sales-grid { grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr); gap:60px; align-items:start; }
.booking-sales-copy h1 { font-size:clamp(30px,3vw,44px); line-height:1.15; letter-spacing:-.035em; }
.booking-intro { font-size:17px; line-height:1.65; margin-top:24px; }
.booking-benefit-list { font-size:15px; margin-top:28px; }
.booking-form-card { padding:28px; min-width:0; scroll-margin-top:100px; }
.booking-form-heading h2 { font-size:24px; }
.booking-info-card h2 { font-size:20px; }
.booking-form-heading p { font-size:15px; }
.booking-panel-intro h3 { font-size:19px; }
.booking-panel-intro p { font-size:15px; }
.booking-form-grid { align-items:start; }
.ux-form-section { grid-column:1/-1; margin:14px 0 0; padding:18px 0 8px; border-bottom:1px solid #dce2e8; font-size:16px; font-weight:750; }
.booking-embed-shell { position:relative; }
.booking-connect-panel:has([data-booking-loading]:not([hidden])) .booking-embed { height:0; min-height:0; overflow:hidden; }
.booking-intake-success { border-left:3px solid #29714e; }
.booking-intake-success h3 { font-size:26px; }
.ux-support-filters { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 24px; }
.ux-support-filters button { font:inherit; min-height:44px; padding:10px 16px; border:1px solid #ccd5de; border-radius:5px; background:white; color:#142039; cursor:pointer; }
.ux-support-filters [aria-pressed=true] { background:#142f43; color:white; border-color:#142f43; }
.support-route[hidden] { display:none!important; }
.ux-example { margin:32px 0 0; padding:24px; background:#f4f6f8; border:1px solid #dce2e8; border-radius:6px; }
.ux-example h2 { font-size:20px; margin:0 0 12px; }
.ux-example p { font-size:15px; line-height:1.65; }
.ux-example a { display:inline-flex; min-height:44px; align-items:center; color:#116b9d; font-weight:700; }
.ux-example-media { width:100%; aspect-ratio:1.8; object-fit:cover; object-position:top; display:block; margin-bottom:20px; }
.ux-demonstration { display:grid; grid-template-columns:.8fr 1.2fr; gap:48px; padding-top:48px; padding-bottom:48px; align-items:center; }
.ux-demonstration h2 { font-size:28px; line-height:1.25; letter-spacing:-.03em; }
.ux-demonstration p { color:#506171; font-size:16px; line-height:1.7; }
.ux-demonstration-copy>a { display:flex; align-items:center; gap:8px; min-height:44px; color:#116b9d; font-weight:650; font-size:14px; }
.ux-demonstration-image img { display:block; width:100%; height:auto; border:1px solid #d5dfe6; border-radius:5px; }
.ux-process-detail { margin-top:24px; padding:16px 0; border-block:1px solid #9eb2bf; }
.ux-process-detail summary { min-height:44px; cursor:pointer; font-size:15px; font-weight:650; }
.ux-process-detail p { font-size:15px; line-height:1.65; }
.ux-action-strip { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 24px; background:#eef3f8; border-bottom:1px solid #dce3ef; }
.ux-action-strip p { margin:0; font-size:15px; }
.ux-action-strip button { min-height:44px; padding:10px 16px; background:#2456ed; color:white; border:0; border-radius:6px; cursor:pointer; }
@media(max-width:820px) {
 .booking-sales-grid { grid-template-columns:1fr; gap:24px; }
 .ux-demonstration { grid-template-columns:1fr; gap:24px; padding-block:32px; }
 .booking-sales { padding-top:28px; }
 .booking-sales-copy h1 { max-width:none; font-size:30px; }
 .booking-benefit-list,.booking-info-card { display:none; }
 .booking-form-card { padding:20px; }
 .booking-form-heading { margin-bottom:20px; }
 .booking-method { min-height:48px; padding:12px 8px; font-size:14px; }
 .booking-intake-notice { font-size:13px; }
 .booking-form-grid { grid-template-columns:1fr; }
 .booking-page :is(input,select,textarea) { font-size:16px; }
 .price-compare-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
 .price-compare-table,.price-compare-table tbody,.price-compare-table tr { display:block; width:100%; min-width:0; }
 .price-compare-table tr { padding:16px 0; border-bottom:1px solid #dce2e8; }
 .price-compare-table th,.price-compare-table td { display:block; width:100%; padding:8px 12px; border:0; }
 .price-compare-table td::before { content:attr(data-label); display:block; font-size:12px; font-weight:750; color:#536275; margin-bottom:4px; }
 .price-table-scroll { overflow:visible; }
 .ux-action-strip { align-items:start; flex-direction:column; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
