/* Approved corporate cleanup. Scoped to nine experience marketing pages only. */
body.xp-cleanup{--xp-header-height:84px;--xp-header-mobile:72px}
body.xp-cleanup #lhd{position:relative;top:auto;background:#0b0619;border-bottom:1px solid #ffffff18;backdrop-filter:none}
body.xp-cleanup #lhd .lhd-in{height:84px;min-height:84px;max-width:1320px;padding:8px 32px!important;gap:24px}
body.xp-cleanup #lhd .lhd-logo img{width:180px!important;height:auto!important;max-height:68px;object-fit:contain}
body.xp-cleanup #lhd .lhd-links{margin-inline:20px!important}
body.xp-cleanup #lhd .nav-ghost{min-height:44px;background:#ffffff;color:#291443;border:1px solid #ddd0ec;border-radius:10px;box-shadow:none}
body.xp-cleanup #lhd .lhd-burger{width:44px;height:44px;min-width:44px;border-radius:10px;box-shadow:none}
body.xp-cleanup .xp-wrap{width:min(1240px,calc(100% - 80px))}
body.xp-cleanup .xp-hero{padding:42px 0 24px}
body.xp-cleanup .xp-hero-grid{grid-template-columns:minmax(0,.98fr) minmax(0,1.08fr);gap:32px;min-height:560px}
body.xp-cleanup .xp-product{margin:0 0 24px!important;gap:12px}
body.xp-cleanup .xp-brand-logo{display:block;width:270px;max-width:100%;height:auto;object-fit:contain;object-position:left center;border-radius:0;filter:none}
body.xp-cleanup .xp-product>.xp-brand-logo{height:72px;width:300px;object-fit:contain;object-position:left center}
body.xp-cleanup .xp-product>span{font:14px/1.5 Lato,Arial,sans-serif;color:#e2d7ee}
body.xp-cleanup .xp h1{font-size:clamp(40px,4.3vw,62px);line-height:1.13;text-wrap:balance;letter-spacing:-.015em}
body.xp-cleanup .xp-lead{font-size:17px;line-height:1.7;margin-top:24px!important;max-width:58ch}
body.xp-cleanup .xp-hero-scene{margin:0;align-self:center}
body.xp-cleanup .xp-hero-scene:before{display:none!important;box-shadow:none!important}
body.xp-cleanup .xp-crisp-devices{padding:0 0 12px;isolation:isolate}
body.xp-cleanup .xp-device-clips{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
body.xp-cleanup .xp-crisp-devices .xp-real-laptop{width:116%;margin-left:-8%;filter:none;transform:none}
body.xp-cleanup .xp-crisp-devices .xp-hardware-plate{display:block;width:100%;height:auto;mask:none!important;-webkit-mask:none!important;clip-path:url(#xp-laptop-cut);filter:none!important;border-radius:0}
body.xp-cleanup .xp-crisp-devices .xp-real-display{left:17.32%;top:9.96%;width:65.38%;height:57.32%;object-fit:contain;background:#08090b;border-radius:0;filter:none;box-shadow:none}
body.xp-cleanup .xp-crisp-devices .xp-real-phone{top:25%;right:-1%;width:36%;filter:none!important}
body.xp-cleanup .xp-crisp-devices .xp-phone-plate{mask:none!important;-webkit-mask:none!important;clip-path:url(#xp-phone-cut);filter:none;border-radius:0}
body.xp-cleanup .xp-crisp-devices .xp-phone-display{left:19.92%;top:10.1%;width:60.25%;height:81.7%;object-fit:contain;background:#fff;border-radius:0 0 9% 9%;filter:none}
body.xp-cleanup .xp-crisp-devices .xp-real-phone:after{top:6.5%;left:41.3%;width:17.3%;height:3.5%;box-shadow:none}
body.xp-cleanup .xp-crisp-devices figcaption{font-size:12px;line-height:1.6;padding:8px 10% 0;color:#e8dcf5;margin-top:-2%}
body.xp-cleanup .xp-sample{margin-top:24px!important;font-size:12px!important}
/* One button system: consistent edges, labels, focus, hover and hit areas. */
body.xp-cleanup .xp-button{min-height:52px;padding:14px 22px;gap:12px;border-radius:10px;font:700 15px/1.35 Lato,Arial,sans-serif;letter-spacing:0;box-shadow:none;transition:background-color .16s,border-color .16s,transform .16s}
body.xp-cleanup .xp-primary{background:#7c32d5;color:#fff!important;border:1px solid #a96ce8;box-shadow:inset 0 1px 0 #ffffff26}
body.xp-cleanup .xp-primary:hover{background:#6924be;filter:none;transform:translateY(-1px)}
body.xp-cleanup .xp-secondary{background:#fff;color:#28133f!important;border:1px solid #b9a4ce;box-shadow:none}
body.xp-cleanup .xp-secondary:hover{background:#f4ebff;border-color:#8e65b8;filter:none;transform:translateY(-1px)}
body.xp-cleanup .xp-actions{gap:12px;margin-top:26px}
body.xp-cleanup .xp-story-link{min-height:44px;margin-top:12px;font-size:14px;text-decoration:underline;text-underline-offset:5px}
body.xp-cleanup .xp-subnav{background:#120a23;padding:16px 0;border-block:1px solid #a577d13d}
body.xp-cleanup .xp-subnav .xp-wrap{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;padding:0}
body.xp-cleanup .xp-subnav .xp-nav-button{display:flex;justify-content:center;text-align:center;min-height:48px;padding:10px 12px;border:1px solid #79618d;border-radius:9px;background:#251737;color:#f5efff;font:700 13px/1.4 Lato,Arial,sans-serif;text-decoration:none}
body.xp-cleanup .xp-subnav .xp-nav-button:hover,body.xp-cleanup .xp-subnav .xp-nav-button[aria-current=location]{background:#7031be;border-color:#bd8eeb;color:#fff}
body.xp-cleanup .xp [id]{scroll-margin-top:24px!important}
body.xp-cleanup .xp :is(a,button,input,summary):focus-visible{outline:3px solid #d8acff;outline-offset:4px}
body.xp-cleanup .xp .xp-white :is(a,button,input,summary):focus-visible{outline-color:#6e2cbc}
/* Shorter chapters with readable whitespace; retain exact cosmic/white alternation. */
body.xp-cleanup .xp-section{padding:80px 0}
body.xp-cleanup .xp-section-heading{gap:36px;margin-bottom:36px;align-items:start}
body.xp-cleanup .xp-section-heading>p{font-size:16px;line-height:1.7}
body.xp-cleanup .xp .xp-space .xp-section-heading>p{background:none;padding:0;border-radius:0}
body.xp-cleanup .xp>section.xp-space{background-image:linear-gradient(90deg,rgba(3,5,17,.90),rgba(3,5,17,.65)),url('/img/showcase/shared/cosmic-supernova.webp')!important}
body.xp-cleanup .xp>section.xp-space.xp-galaxy{background-image:linear-gradient(90deg,rgba(3,5,17,.89),rgba(3,5,17,.68)),url('/img/showcase/shared/cosmic-galaxy.webp')!important}
body.xp-cleanup .xp>section.xp-hero{background-image:linear-gradient(90deg,rgba(3,5,17,.87),rgba(3,5,17,.28)),url('/img/showcase/shared/cosmic-supernova.webp')!important}
body.xp-cleanup .xp .xp-space.xp-inside{background-attachment:scroll!important}
body.xp-cleanup .xp-offer-grid{gap:24px}
body.xp-cleanup .xp-offer-grid article{padding:24px;border:1px solid #e2d8ec;border-radius:12px;background:#faf8fd}
body.xp-cleanup .xp-offer-grid strong{font-size:36px;margin-bottom:14px}
body.xp-cleanup .xp-offer-fineprint{max-width:100%;font-size:13px!important}
/* Gallery controls look and behave like controls, not loose paragraphs. */
body.xp-cleanup .xp-screen-choice{border:1px solid #cfc2dd;border-radius:10px;background:#f8f5fc;min-height:88px;padding:16px;box-shadow:none}
body.xp-cleanup .xp-screen-choice:hover{background:#eee4f9;border-color:#9464bd}
body.xp-cleanup .xp .xp-white .xp-screen-choice[aria-pressed=true]{background:#eee2fa!important;border:2px solid #7430b9!important;padding:15px;box-shadow:none}
body.xp-cleanup .xp-screen-choice strong{font-size:21px}
body.xp-cleanup .xp-image-open{filter:none;box-shadow:0 8px 20px #16092714;border:1px solid #c8b8d9;border-radius:12px;overflow:hidden}
body.xp-cleanup .xp-image-open img{filter:none;transform:none;image-rendering:auto}
body.xp-cleanup .xp-screen-figure .xp-image-open{padding:7px;border-radius:12px;background:#171421;border:1px solid #4b405b}
body.xp-cleanup .xp-enlarge{position:static;display:flex;justify-content:center;align-items:center;gap:10px;min-height:44px;padding:10px 14px;background:#211331;color:#fff!important;border:0;border-radius:0;font:700 13px/1.4 Lato,Arial,sans-serif}
body.xp-cleanup .xp-section-brand{width:240px;height:70px;object-fit:contain;object-position:left center;margin-bottom:24px}
body.xp-cleanup .xp-inside-card{min-width:0}
body.xp-cleanup .xp-inside-card .xp-enlarge{display:none}
body.xp-cleanup .xp-inside-card .xp-inspect{position:static;display:block;min-height:44px;padding:12px;background:#211331;color:white;font:700 13px/1.4 Lato,Arial,sans-serif}
body.xp-cleanup .xp-inside-card button{border:1px solid #826998;border-radius:12px 12px 0 0;box-shadow:none}
body.xp-cleanup .xp-inside-card figcaption{min-height:120px}
body.xp-cleanup .xp .xp-space .xp-inside-card figcaption{background:#0d091c;padding:22px;border-radius:0 0 12px 12px}
body.xp-cleanup .xp-details summary{padding:22px 0;min-height:56px;font-size:23px}
body.xp-cleanup .xp-calculator{border:1px solid #baa3d0;box-shadow:none}
body.xp-cleanup .xp-calc-fields input{min-height:48px;font-size:17px}
body.xp-cleanup .xp-brand-watermark{position:absolute;right:3%;top:12%;width:320px;height:320px;opacity:.065;pointer-events:none;z-index:0}
body.xp-cleanup .xp-final .xp-section-brand{margin:0 auto 24px;object-position:center}
/* Related apps: logo-led full clickable cards. */
body.xp-cleanup .xp-related{padding:64px 0}
body.xp-cleanup .xp-related .xp-wrap>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:28px}
body.xp-cleanup .xp-related a{display:flex;flex-direction:column;gap:14px;padding:20px;border:1px solid #dbcee7;border-radius:12px;background:#fff;text-decoration:none;min-width:0;transition:border-color .15s,background .15s}
body.xp-cleanup .xp-related a:hover{border-color:#8150af;background:#faf7ff}
body.xp-cleanup .xp-related .xp-brand-logo{height:60px;width:100%;object-fit:contain;object-position:left center}
body.xp-cleanup .xp-related a>span{font:14px/1.55 Lato,Arial,sans-serif;margin:0;color:#5d4e6d}
body.xp-cleanup .xp-related .xp-card-action{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px;border-top:1px solid #e7dfee;font-weight:700;color:#64289a}
body.xp-cleanup .xp-hub-card h3{margin-bottom:14px}
body.xp-cleanup .xp-hub-card .xp-brand-logo{height:68px;width:260px;object-position:left center}
body.xp-cleanup .xp-hub-menu .xp-brand-logo{height:48px;width:210px;object-position:left center}
body.xp-cleanup .xp-hub-menu summary{min-height:52px;border:1px solid #9773b4;border-radius:10px;box-shadow:none}
body.xp-cleanup .xp-hub-card{border-radius:14px;border:1px solid #d9cbe5;box-shadow:none;padding:26px}
/* Fix the footer's negative logo margins only on these pages. */



@media(max-width:1100px){body.xp-cleanup .xp-hero-grid{grid-template-columns:1fr;gap:30px}body.xp-cleanup .xp-hero-copy{max-width:780px}body.xp-cleanup .xp-hero-scene{width:min(780px,100%);margin:0 auto}body.xp-cleanup .xp h1{font-size:56px}body.xp-cleanup .xp-related .xp-wrap>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){body.xp-cleanup #lhd .lhd-in{height:72px;min-height:72px;padding:6px 20px!important;gap:10px}body.xp-cleanup #lhd .lhd-logo img{width:150px!important;max-height:60px}body.xp-cleanup #lhd .hdr-contact{gap:6px}body.xp-cleanup .xp-wrap{width:calc(100% - 40px)}body.xp-cleanup .xp-hero{padding-top:30px}body.xp-cleanup .xp-product>.xp-brand-logo{height:64px;width:270px}body.xp-cleanup .xp h1{font-size:42px;line-height:1.15}body.xp-cleanup .xp-lead{font-size:16px}body.xp-cleanup .xp-subnav .xp-wrap{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}body.xp-cleanup .xp-section{padding:56px 0}body.xp-cleanup .xp-section-heading{gap:20px}body.xp-cleanup .xp-screen-choice{min-height:56px}body.xp-cleanup .xp-offer-grid article{padding:20px}body.xp-cleanup .xp-brand-watermark{width:190px;height:190px;right:0;top:10%}body.xp-cleanup .xp-related a{padding:16px}body.xp-cleanup .xp-related .xp-brand-logo{height:48px}body.xp-cleanup .xp-crisp-devices .xp-real-phone{width:39%;right:-1%;top:23%}body.xp-cleanup .xp-crisp-devices figcaption{font-size:11px;margin-top:3%;padding-inline:0}body.xp-cleanup .xp-screen-choice span{display:block;font-size:13px}body.xp-cleanup .xp-inside-card figcaption{min-height:0}body.xp-cleanup .xp-button{font-size:14px;padding:13px 17px}body.xp-cleanup .xp-actions{gap:10px}}
@media(max-width:420px){body.xp-cleanup .xp-related .xp-wrap>div{grid-template-columns:1fr}body.xp-cleanup .xp-related .xp-brand-logo{width:240px;height:58px}body.xp-cleanup .xp-actions>.xp-button{flex:1 1 auto}body.xp-cleanup .xp h1{font-size:39px}}
@media(prefers-reduced-motion:reduce-motion-off){body.xp-cleanup :is(.xp-button,.xp-related a){transition:none!important;transform:none!important}}

body.xp-cleanup .xp-hub-card>img{width:100%;height:auto;aspect-ratio:1200/830;object-fit:contain;filter:none;border-radius:10px;background:#0b0717}
body.xp-cleanup .xp-hub-menu .xp-hub-links a{display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid #e4d7ed;border-radius:9px;background:white}
body.xp-cleanup .xp-hub-menu .xp-hub-links a:hover{background:#f7f0fc;border-color:#9b75b8}
body.xp-cleanup .xp-hub-card .xp-hub-links a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid #9d7cbc;border-radius:8px;text-decoration:none;font:700 14px/1.4 Lato,Arial,sans-serif;background:#f8f3fd;color:#54257d}
body.xp-cleanup .xp-hub-card .xp-hub-links a:first-child{background:#7330c3;color:white;border-color:#7330c3}

body.xp-cleanup-hub .hero{margin-top:0!important;padding-top:64px!important}
@media(max-width:760px){body.xp-cleanup-hub .hero{padding-top:42px!important}}

/* Launch integration fixes (2026-09-26), found in the browser pass. Still scoped to body.xp-cleanup. */
/* The hub's inline header CSS forces a transparent bar (it used to float over the hero). Now that the
   header is in normal flow, keep it solid dark on all nine pages so the white nav links stay readable. */
body.xp-cleanup #lhd,body.xp-cleanup #lhd.stuck{background:#0b0619!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none!important}
/* The Launch artwork carries transparent padding (ink sits at 19-94% across, 1-68% down), so a 180px
   box showed only a ~100px wordmark. Size the canvas so the visible logo is ~160px (desktop) and let the
   empty lower band hang below the row instead of stretching the 84px/72px header. */
body.xp-cleanup #lhd .lhd-logo img{width:216px!important;max-width:none!important;height:auto!important;max-height:none!important;margin-bottom:-31px;position:relative;top:-10px}
@media(max-width:760px){body.xp-cleanup #lhd .lhd-logo img{width:176px!important;max-height:none!important;margin-bottom:-25px;top:-9px}}
@media(max-width:380px){body.xp-cleanup #lhd .lhd-logo img{width:150px!important;margin-bottom:-21px}}
/* Hub dropdown: descriptors are dark text on the white tiles, not underlined; toggle row has breathing room. */
body.xp-cleanup .xp-hub-menu summary{padding:0 18px;justify-content:space-between}
body.xp-cleanup .xp-hub-menu .xp-hub-links a{align-items:flex-start;text-decoration:none}
body.xp-cleanup .xp-hub-menu .xp-hub-links a small{color:#5d4e6d;text-decoration:none}
/* GatherCart and ParkFlow keep their existing centred hero composition (desktop only). The package's
   two-column grid collided with those product rules and pushed the devices off the right edge. */
@media(min-width:1100px){
body.xp-cleanup :is(.xp-gathercart,.xp-parkflow) .xp-hero-grid{grid-template-columns:minmax(0,1fr);gap:8px;min-height:0}
body.xp-cleanup :is(.xp-gathercart,.xp-parkflow) .xp-product{display:flex;flex-direction:column;align-items:center}
body.xp-cleanup :is(.xp-gathercart,.xp-parkflow) .xp-product>.xp-brand-logo{object-position:center;margin-inline:auto}
body.xp-cleanup :is(.xp-gathercart,.xp-parkflow) .xp-hero-scene{width:min(920px,100%);margin:0 auto}
body.xp-cleanup :is(.xp-gathercart,.xp-parkflow) .xp-hero-scene img{margin-top:0}
}
/* FAQ/feature rows: keep the 44px lane for the +/− so long questions never run under the icon. */
body.xp-cleanup .xp-details summary{padding:22px 44px 22px 0}
/* Tablet: six section buttons in one row squeezed labels onto three lines; use 3 x 2. */
@media(min-width:761px) and (max-width:980px){body.xp-cleanup .xp-subnav .xp-wrap{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* Hub "See the full case study" pills measured 4.41:1 at their light end (#a855f7). End the same gradient
   on #9333ea so white text clears 4.5:1 across the whole pill; start colour, shape and glow unchanged. */
body.xp-cleanup-hub .app-open::after{background:linear-gradient(135deg,#7c3aed,#9333ea)}
/* Product names stay real text beside the logo images (screen readers, the .md mirrors, search). */
body.xp-cleanup .xp-vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
