/* Integration rules only; approved section artwork and typography are unchanged. */
html{scroll-padding-top:calc(var(--xi-header-height,56px) + 16px)}
.mobile-landing{width:100%;max-width:600px;margin:0 auto;background:#fff}
.mobile-part{width:100%;min-width:0;position:relative}
.mobile-part>main{margin:0!important;max-width:none!important}
.mobile-part section{scroll-margin-top:calc(var(--xi-header-height,56px) + 14px)}
.mobile-part img{max-width:100%}
body:has(dialog[open]),body.mo-modal-open,body.cx-modal-open,body.ut-lock{overflow:hidden}
.integration-reveal{transition:opacity .75s ease,translate .75s cubic-bezier(.2,.65,.25,1)}
.integration-pending{opacity:0;translate:0 22px;transition:none!important}
.integration-shown{opacity:1;translate:none}
.integration-pending *,.integration-offscreen *,.integration-hidden .mobile-part *{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.integration-reveal{opacity:1;translate:none;transition:none}}
@media(max-width:990px){.xi-footer{padding-bottom:28px}.mobile-landing~.xi-footer{max-width:600px;margin:0 auto}.mobile-part #mo-benefits,.mobile-part #mo-flyer,.mobile-part #mo-units{max-width:600px}}
/* Let authenticated DBcart resize messages shrink the inherited 850/950px subpage frame. */
.xi-subpage-scope .xi-form-shell iframe{height:460px;min-height:0}

/* Revision 2: approved expandable mobile dock, shared across main and detail pages. */
.xi-reservation-dock{display:none}
@media(max-width:990px){
 .xi-site{padding-bottom:calc(60px + env(safe-area-inset-bottom))}
 .xi-reservation-dock:not([hidden]){display:flex;position:fixed;left:0;right:0;bottom:0;z-index:42;flex-direction:column;padding-bottom:env(safe-area-inset-bottom);background:#003e52;box-shadow:0 -5px 24px #081a3b28;font-family:var(--xi-font)}
 .xi-dock-bar{display:flex;min-height:60px;flex:none}
 .xi-site #mobile-reservation-toggle{display:flex;align-items:center;justify-content:center;gap:12px;box-sizing:border-box;width:100%;min-height:60px;margin:0;padding:14px 12px;border:0;border-radius:0;background:#003e52;color:#fff;cursor:pointer;font:800 clamp(16px,4.6vw,20px)/1.4 var(--xi-font);letter-spacing:-.025em;white-space:nowrap}
 .xi-dock-chevron{width:24px;height:24px;flex:none;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;transition:transform .24s ease}
 .xi-reservation-dock.is-open .xi-dock-chevron{transform:rotate(180deg)}
 .xi-reservation-dock:not(.is-open) #mobile-reservation-toggle-label{animation:xi-reservation-text-flash 2s steps(1,end) infinite}
 .xi-dock-panel{height:var(--xi-dock-panel-height,0px);min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#fff;visibility:hidden}
 .xi-reservation-dock.is-open .xi-dock-panel{visibility:visible}
 .xi-dock-form{max-width:600px;margin:0 auto;padding:10px 12px 16px}
 .xi-site.menu-open .xi-reservation-dock{visibility:hidden;pointer-events:none}
 .xi-dock-panel{transition:height .24s ease,visibility 0s linear .24s}
 .xi-reservation-dock.is-open .xi-dock-panel{transition:height .24s ease,visibility 0s}
 body:has(dialog[open]) .xi-reservation-dock{visibility:hidden;pointer-events:none}
 .xi-dock-form iframe{display:block;width:100%;border:0;background:#fff;min-height:0}
}
@keyframes xi-reservation-text-flash{0%,100%{color:#fff}50%{color:#ffe484}}
@media(prefers-reduced-motion:reduce){#mobile-reservation-toggle-label{animation:none!important}.xi-dock-panel,.xi-dock-chevron{transition:none!important}}
/* Phone band sits directly between the approved hero and benefits section. */
.xi-hero-phone-strip{width:100%;background:#003e52;container-type:inline-size;font-family:var(--xi-font)}
.xi-hero-phone-cta{display:flex;align-items:center;justify-content:center;gap:2cqw;min-height:13cqw;padding:1.7cqw 4cqw;color:#fff!important;white-space:nowrap}
.xi-hero-phone-icon{width:8.8cqw;height:8.8cqw;flex:none;color:#ffe484}
.xi-hero-phone-label{font-size:4.7cqw;font-weight:850;letter-spacing:-.06em;line-height:1.2}
.xi-hero-phone-divider{flex:none;width:1px;height:7.1cqw;background:#ffffff80;margin:0 .2cqw}
.xi-hero-phone-number{font-size:10cqw;font-weight:900;letter-spacing:-.035em;line-height:1.05;font-variant-numeric:lining-nums tabular-nums;color:#fff;animation:xi-hero-phone-flash .9s steps(1,end) infinite}
.xi-hero-phone-cta:focus-visible{outline:3px solid #ffe484;outline-offset:-4px}

/* Doosan approved phone number flash: same position, white/yellow, 0.9s. */
@keyframes xi-hero-phone-flash{0%,100%{color:#fff}50%{color:#ffe873}}
@media(prefers-reduced-motion:reduce){.xi-hero-phone-number{animation:none;color:#ffe873}}

.mobile-part{line-height:normal;letter-spacing:normal}.mobile-part .part-main{width:100%}.mobile-part .mo-pending,.mobile-part .ut-pending{opacity:1;transform:none}.mobile-part section.integration-pending{opacity:0;translate:0 22px}.mobile-part a{text-decoration:none}

.mobile-part{line-height:normal;letter-spacing:normal}.mobile-part .part-main{width:100%}.mobile-part .mo-pending,.mobile-part .ut-pending{opacity:1;transform:none}.mobile-part section.integration-pending{opacity:0;translate:0 22px}.mobile-part a{text-decoration:none}

/* Content-sized CTA dialogs with a reachable, fixed close header. */
html body dialog:is(#mo-viewer,#cx-viewer,#cx-soldoc-dialog,.ut-modal,.xi-lightbox){
 position:fixed!important;inset:0!important;transform:none!important;
 width:min(94vw,1000px)!important;max-width:94vw!important;height:fit-content!important;max-height:calc(100dvh - 144px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important;
 margin:auto!important;padding:0!important;border:0!important;border-radius:8px!important;overflow:hidden!important;box-sizing:border-box
}
html body dialog:is(#mo-viewer,#cx-viewer,#cx-soldoc-dialog,.ut-modal,.xi-lightbox)[open]{display:flex!important;flex-direction:column!important}
html body dialog :is(.mo-viewer-head,.cx-viewer-head,.cx-soldoc-dialog-head,.ut-modal-head,.xi-lightbox-bar){position:relative!important;flex:0 0 auto!important;min-height:56px;box-sizing:border-box;background:#003e52!important;color:#fff!important;padding:6px 12px!important;z-index:2}
html body dialog :is(#mo-viewer-close,#cx-viewer-close,.cx-soldoc-close,#ut-close,.xi-lightbox-close){min-width:70px!important;min-height:44px!important;font-size:16px!important;font-weight:700;color:#fff!important;background:transparent!important;border:1px solid #ffffff66!important;border-radius:4px!important;white-space:nowrap;flex:none}
html body dialog :is(.mo-viewer-scroll,.cx-viewer-scroll,.cx-soldoc-scroll,.ut-scroll,.ut-viewer-scroll,.ut-view-scroll,.xi-lightbox-scroll){flex:0 1 auto!important;min-height:0!important;overflow:auto}
html body dialog :is(.mo-viewer-toolbar,.cx-toolbar,.ut-toolbar,.xi-lightbox-controls){flex:0 0 auto!important}
