@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Inter:wght@400;500;600;700&display=swap');
/* Global MARS luxury system. Page-specific styles may extend these foundations. */
:root{--mars-ink:#111318;--mars-plum:#2b1931;--mars-gold:#b89855;--mars-gold-light:#dec37f;--mars-ivory:#f6f3ee;--mars-paper:#fffdf9;--mars-copy:#5f5962;--mars-rule:#ded8d0;--mars-ease:cubic-bezier(.22,1,.36,1)}
.site-theme{padding-top:148px;overflow-x:hidden;overflow-x:clip;background:var(--mars-ivory);color:#211d23;font-family:'Inter',Arial,sans-serif;scroll-padding-top:158px}
.site-theme:before{position:fixed;z-index:1027;top:0;right:0;left:0;height:148px;content:"";background:#111318;pointer-events:none;transition:height .55s var(--mars-ease)}.site-theme:has(.mars_nav.is-compact):before{height:81px}
.site-theme .mars_nav{--lux-utility-height:56px;top:0!important;padding-top:var(--lux-utility-height);border-bottom:1px solid rgba(184,152,85,.28);background:transparent!important;box-shadow:none!important;box-sizing:border-box}
.site-theme .mars_nav,.site-theme .mars_nav .luxury-logo,.site-theme .the_top_bar,.site-theme .nav-brand-row,.site-theme .navbar-brand{transition-duration:.55s;transition-property:padding,height,opacity,transform,width,box-shadow;transition-timing-function:var(--mars-ease)}
.site-theme .mars_nav.is-compact{--lux-utility-height:0px;padding-top:0}.site-theme .mars_nav.is-compact .the_top_bar{height:0;overflow:hidden;opacity:0;pointer-events:none;transform:translateY(-100%)}
.site-theme .mars_nav.is-compact .luxury-logo{width:11rem}.site-theme .mars_nav.is-compact .nav-brand-row{padding:.25rem 0}.site-theme .mars_nav.is-compact .navbar-brand{padding:.25rem 1.25rem .25rem 0}
.site-theme .mars_nav>.container{max-width:1290px}.site-theme .the_top_bar{position:absolute;inset:0 0 auto;height:var(--lux-utility-height);padding:0;overflow:hidden;isolation:isolate;border-bottom:1px solid rgba(255,255,255,.09);background:transparent!important;color:#c8c3cb;box-sizing:border-box}.site-theme .row_in_top{height:100%}
.site-theme .the_top_bar a{color:#d4ced7!important;font-size:.66rem;letter-spacing:.08em}.site-theme .the_top_buttons{box-sizing:border-box;min-height:40px;margin:8px .25rem!important;padding:.48rem .9rem!important;border:1px solid rgba(184,152,85,.46)!important;border-radius:0!important;background:rgba(17,19,24,.28)!important;color:#eee4cf!important;letter-spacing:.06em;text-transform:uppercase}.site-theme .the_top_buttons:hover,.site-theme .the_top_buttons:focus{border-color:var(--mars-gold-light)!important;background:var(--mars-gold)!important;color:var(--mars-ink)!important}
.site-theme .nav-brand-row{padding:.75rem 0}.site-theme img.main_logo{display:none}.site-theme .luxury-logo{position:relative;display:inline-block;width:15rem;aspect-ratio:1980/526}.site-theme .luxury-logo>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain}.site-theme .luxury-logo-white{clip-path:inset(0 0 0 28.3%);filter:brightness(0) invert(1)}.site-theme .navbar-brand{display:flex;align-items:center;margin:0 1.5rem 0 0;padding:.45rem 1.65rem .45rem 0;border:0;background:transparent;box-shadow:none}
.site-theme .navbar-nav .nav-link{padding:.8rem .72rem!important;color:#ddd8df!important;font-size:.72rem;font-weight:500!important;letter-spacing:.045em;text-transform:uppercase}.site-theme .navbar-nav .nav-link:hover,.site-theme .navbar-nav .nav-link:focus{color:var(--mars-gold-light)!important}.site-theme .navbar-nav .nav-link>i{display:none}.site-theme .mars_mobile_menu .line{stroke:#d7c8a7}
.site-theme .mars_nav .dropdown-menu{margin-top:0;padding:.55rem;border:1px solid rgba(184,152,85,.34);border-top:2px solid var(--mars-gold);border-radius:0;background:#17191e;color:#eee9df;box-shadow:0 24px 60px rgba(0,0,0,.3)}.site-theme .mars_nav .dropdown-item{display:flex;align-items:center;min-height:42px;padding:.65rem .8rem;color:#fff!important;font-size:.7rem;font-weight:500;letter-spacing:.035em}.site-theme .mars_nav .dropdown-item i{width:1.2rem;margin-right:.4rem;color:var(--mars-gold)!important}.site-theme .mars_nav .dropdown-item:hover,.site-theme .mars_nav .dropdown-item:focus{background:#222027;color:#f0d9a7!important}
.site-theme .mega-menu{border-top-color:var(--mars-gold)}.site-theme .mega-menu-inner{max-width:1200px;padding:1.5rem 1.75rem 0;background:#17191e}.site-theme .mega-col{padding:0 2rem 1.4rem;border-right:1px solid rgba(255,255,255,.09)}.site-theme .mega-col:last-child{border-right:0}.site-theme .mega-col-header{padding-bottom:.75rem;border-bottom:1px solid rgba(184,152,85,.42)}.site-theme .mega-col-header>a{display:flex;align-items:center;gap:.55rem;padding-bottom:0;border:0;white-space:nowrap;color:#f4efe7!important;font-family:'Instrument Serif',Georgia,serif;font-size:1.08rem;font-weight:400}.site-theme .mega-col-header>a i{color:var(--mars-gold)!important}.site-theme .mega-links{padding-top:.45rem}.site-theme .mega-links a{display:flex;align-items:center;min-height:42px;padding:.55rem .35rem;color:#fff!important;font-size:.72rem}.site-theme .mega-links a i{color:#9a7c45}.site-theme .mega-links a:hover,.site-theme .mega-links a:focus{background:#222027;color:#f0d9a7!important}.site-theme .mega-links a:hover i,.site-theme .mega-links a:focus i{color:var(--mars-gold-light)!important}
.site-theme .mega-footer{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:.75rem;border:0;border-top:1px solid rgba(184,152,85,.48);border-radius:0;background:linear-gradient(100deg,#151318,#211725 55%,#171319)}.site-theme .mega-footer a{display:flex;align-items:center;gap:.7rem;min-height:54px;padding:.75rem 1.15rem;border-right:1px solid rgba(255,255,255,.09);color:#fff!important;font-size:.68rem;font-weight:600;letter-spacing:.055em;text-transform:uppercase}.site-theme .mega-footer a:last-child{border-right:0}.site-theme .mega-footer a i{display:grid;place-items:center;flex:0 0 1.8rem;width:1.8rem;height:1.8rem;border:1px solid rgba(184,152,85,.48);border-radius:50%;color:#d0b77f!important}.site-theme .mega-footer a:hover,.site-theme .mega-footer a:focus{background:rgba(255,255,255,.045);color:#ead39f!important}.site-theme .mega-footer-consultation{background:rgba(184,152,85,.09)}
.site-theme footer{border-top:1px solid rgba(184,152,85,.35);background:#15171d!important;color:#fff}.site-theme .footer-top-accent{height:1px;background:var(--mars-gold)!important;opacity:.7}.site-theme .footer-brand-row{margin:0;padding:1.35rem 0 1.1rem;background:#e8e7e5}.site-theme footer>.container{max-width:none;padding:0}.site-theme .footer-brand-row>div{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-bottom:0}.site-theme .luxury-logo-footer{display:none!important}.site-theme .footer-logo{display:block!important;width:168px;max-width:42vw;height:auto!important;margin:0;filter:none;opacity:1}.site-theme .footer-tagline{margin:.55rem 0 0;color:#3d3941;font-size:.63rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.site-theme .footer-divider{height:1px;margin:0;border:0;background:var(--mars-gold);opacity:.72}
.site-theme .the_footer{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:min(1280px,calc(100% - 3rem));margin:0 auto;padding-top:1.45rem}.site-theme .the_footer>div{width:auto;max-width:none;margin-bottom:.75rem!important;padding:0 1.5rem}.site-theme .the_footer h3{width:100%;margin-bottom:.55rem;padding-bottom:.4rem;color:#f2edf3;font-family:'Instrument Serif',Georgia,serif;font-size:1.15rem;font-weight:400;text-transform:none}.site-theme .the_footer h3:after{width:1.8rem;height:1px;background:var(--mars-gold)}.site-theme .footer-links li,.site-theme .footer-links a{color:#fff;font-size:.73rem;line-height:1.5}.site-theme .footer-links a:hover{color:#d2bb87}.site-theme .footer-links i{color:#9c8350}.site-theme .footer-address{display:flex;align-items:flex-start;gap:.42rem}.site-theme .footer-address i{flex:0 0 1.25rem;margin-top:.25rem;text-align:center}.site-theme .footer-address span{display:block}.site-theme .the_footer>div:first-child .footer-links li{display:grid;grid-template-columns:1.25rem minmax(0,1fr);column-gap:.55rem;align-items:start}.site-theme .the_footer>div:first-child .footer-links li:nth-child(n+3)>a{grid-column:1/-1;display:grid;grid-template-columns:1.25rem minmax(0,1fr);column-gap:.55rem}.site-theme .footer-email-input{min-height:40px;border:0!important;border-bottom:1px solid #6d6870!important;border-radius:0!important;background:transparent!important;color:#fff!important;font-size:16px}.site-theme .footer-subscribe-btn{width:100%;min-height:40px;margin-top:.3rem;border:1px solid #806d45!important;border-radius:0!important;background:transparent!important;color:#e5d8ba!important;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase}.site-theme .footer-subscribe-btn:hover{border-color:var(--mars-gold)!important;background:var(--mars-gold)!important;color:var(--mars-ink)!important}.site-theme .footer-privacy-note,.site-theme .footer-legal-links a{color:#fff;font-size:.65rem}.site-theme .footer-social a{width:36px;height:36px;border:1px solid #58535b;border-radius:50%;background:transparent!important;color:#fff}.site-theme .footer-social a:hover{border-color:var(--mars-gold);color:#d2bb87;transform:translateY(-1px)}.site-theme .footer-bottom{margin-top:.4rem;padding:.55rem 0;border-top:1px solid rgba(255,255,255,.08);background:#0d0f13!important}.site-theme .footer-bottom p{color:#fff;font-size:.62rem;letter-spacing:.04em}
.site-theme :where(h1,h2,h3){text-wrap:balance}.site-theme :where(.section-heading,.section-heading-light){font-family:'Instrument Serif',Georgia,serif;font-weight:400;line-height:1.2;letter-spacing:.006em}.site-theme :where(input,textarea,select):focus{border-color:var(--mars-gold)!important;box-shadow:0 0 0 3px rgba(184,152,85,.16)!important;outline:0}.site-theme :where(.btn,button,input[type=submit]){transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}.site-theme :where(.blockbutton1,.yellowbtn1){letter-spacing:.065em;text-transform:uppercase}.site-theme :where(.breadcrumbs){color:#706972}.site-theme :where(.breadcrumbs a){color:#57335f}.site-theme :where(.breadcrumbs a:hover){color:#8b6d33}.site-theme :where(.card,.service-boxes1,.CTA-Box1){border-color:var(--mars-rule)}
.site-theme .main-callout:not(.home-mission){border-top:1px solid rgba(184,152,85,.48);border-bottom:1px solid rgba(184,152,85,.34);background:linear-gradient(112deg,#111318,#29182f 68%,#38203e)!important}.site-theme .main-callout .section-heading-light{color:#fff;font-family:'Instrument Serif',Georgia,serif;font-weight:400}.site-theme .main-callout p{color:#ddd7df}.site-theme .main-callout p a{color:#efd9a7}.site-theme .main-callout p b{color:#f1dfb8}
.site-theme .service-boxes1{overflow:hidden;border:1px solid var(--mars-rule)!important;border-radius:0!important;background:var(--mars-paper)!important;box-shadow:none!important;transition:transform .22s var(--mars-ease),border-color .22s ease,box-shadow .22s ease}.site-theme .service-boxes1:hover{border-color:rgba(184,152,85,.72)!important;box-shadow:0 18px 42px rgba(29,22,31,.08)!important;transform:translateY(-3px)}.site-theme .CTA-Box1{border-radius:0!important}.site-theme .CTA-Box1 h3{padding:1rem!important;background:var(--mars-plum)!important;color:#fff!important;font-family:'Instrument Serif',Georgia,serif;font-weight:400}.site-theme .service-boxes1>p{color:#6f6972!important;font-size:.72rem!important;letter-spacing:.04em;text-transform:uppercase}
.site-theme .blockbutton1,.site-theme .outlinebutton1{display:inline-flex!important;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.72rem 1.35rem!important;border:1px solid var(--mars-plum)!important;border-radius:0!important;background:var(--mars-plum)!important;color:#fff!important;font-size:.7rem!important;font-weight:600!important;letter-spacing:.07em;text-transform:uppercase}.site-theme .outlinebutton1{background:transparent!important;color:#3c2443!important}.site-theme .blockbutton1:hover,.site-theme .blockbutton1:focus,.site-theme .outlinebutton1:hover,.site-theme .outlinebutton1:focus{border-color:var(--mars-ink)!important;background:var(--mars-ink)!important;color:#fff!important;transform:translateY(-1px)}
.site-theme .accordion-item{border-color:var(--mars-rule);border-radius:0;background:var(--mars-paper)}.site-theme .accordion-button{color:#2c2730;background:var(--mars-paper);box-shadow:none;font-weight:600}.site-theme .accordion-button:not(.collapsed){color:#402349;background:#f1ece4}.site-theme .accordion-button:focus{border-color:var(--mars-gold);box-shadow:0 0 0 3px rgba(184,152,85,.14)}.site-theme .accordion-button:after{filter:sepia(.5)}
.site-theme a:focus-visible,.site-theme button:focus-visible,.site-theme input:focus-visible,.site-theme textarea:focus-visible,.site-theme select:focus-visible{outline:2px solid var(--mars-gold-light);outline-offset:3px}
@media(min-width:992px){.site-theme .mars_nav .nav-item.dropdown:not(.mega-dropdown)>.dropdown-menu{margin-top:39px!important}.site-theme .mars_nav.is-compact .nav-item.dropdown:not(.mega-dropdown)>.dropdown-menu{margin-top:14px!important}}
@media(max-width:991.98px){.site-theme{padding-top:168px;scroll-padding-top:178px}.site-theme .mars_nav{--lux-utility-height:52px}.site-theme .navbar-brand{margin:0;padding:.4rem 0}.site-theme .nav-brand-row{width:100%}.site-theme .navbar-collapse{border-top:1px solid rgba(255,255,255,.1);background:#111318}.site-theme .navbar-nav .nav-link{min-height:46px;padding:.85rem 1rem!important}.site-theme .mars_nav .dropdown-menu{padding:.35rem 0;border-color:rgba(184,152,85,.25);background:#17161a;box-shadow:none}.site-theme .mega-col{padding:.7rem 1rem;border-right:0;border-bottom:1px solid rgba(255,255,255,.08)}.site-theme .mega-col-header{border-bottom:0}.site-theme .mega-footer{display:grid!important;grid-template-columns:1fr;padding:.45rem 1rem 1rem}.site-theme .mega-footer a{width:100%;min-height:52px;padding:.65rem 0;border:0;border-bottom:1px solid rgba(255,255,255,.08)}.site-theme .the_footer{display:block}.site-theme .footer-logo{margin:0 auto}}
@media(max-width:575px){.site-theme .navbar-brand .luxury-logo{width:min(15rem,calc(100vw - 90px))}.site-theme .top-left{display:none}.site-theme .row_in_top{justify-content:flex-end}.site-theme .the_top_buttons{min-height:32px;padding:.35rem .7rem!important}.site-theme .footer-brand-row{min-height:118px;padding:1.25rem 0 1rem;overflow:hidden}.site-theme .footer-logo{width:154px;max-width:60vw}.site-theme .the_footer{text-align:left}.site-theme .the_footer h3:after{left:0;transform:none}.site-theme .footer-social{justify-content:flex-start}.site-theme .footer-links a,.site-theme .footer-legal-links a{display:inline-flex;align-items:center;min-height:40px}}
@media(max-width:991.98px){.site-theme:before{height:168px}.site-theme:has(.mars_nav.is-compact):before{height:72px}}
@media(max-width:360px){.site-theme{padding-top:148px;scroll-padding-top:158px}}

/* Quick Links is the tallest footer column and sets the whole footer height, so on desktop it runs as two sub-columns and every list gets tighter row spacing.
   `columns: 2 7.5rem` caps it at two columns and drops back to one whenever the track is too narrow to hold a link on a single line (rem is 20px here).
   The body.site-theme prefix is deliberate: it has to outrank the body:has(.ip) footer grid in luxury-shell.css. */
@media(min-width:992px){body.site-theme .the_footer{padding-top:1.15rem}.site-theme .footer-links li{margin-bottom:.2rem}body.site-theme #footerQuickLinks{columns:2 7.5rem;column-gap:1.25rem}body.site-theme #footerQuickLinks li{break-inside:avoid}}
/* Column widths are tuned so the privacy note and the legal links each hold a single line.
   nowrap is scoped to the same breakpoint: below it the tracks are equal quarters and too narrow, so the text would spill into the next column instead of wrapping. */
@media(min-width:1300px){body.site-theme .footer-privacy-note{white-space:nowrap}}
/* From 1340 up the row is wide enough to hand each column exactly what its longest line needs:
   Contact 215px (street address), Quick Links 325px (two 150px sub-columns), Newsletter 250px (privacy note), Connect 240px (social row and legal links). */
@media(min-width:1340px){body.site-theme .the_footer{grid-template-columns:.91fr 1.23fr .94fr .92fr}}
/* Legal links sit under Connect. */
body.site-theme .footer-legal-links{margin-top:1.1rem;white-space:nowrap}

/* Client testimonial rotator (templates/includes/testimonial-rotator.html), shared by the home page and the service pages.
   Everything is scoped under .home-proof and carries its own custom properties, so it does not depend on home-luxury.css being loaded.
   Two classes deep throughout, because the pages that use it style bare `p` one class deep. */
.home-proof{--proof-gold:#b89855;--proof-paper:#fffdf9;--proof-rule:#e4ded6;padding:clamp(3.5rem,6vw,5.5rem) 1.5rem clamp(1.75rem,2.5vw,2.4rem);border-top:1px solid rgba(184,152,85,.55);border-bottom:1px solid rgba(184,152,85,.4);background:var(--proof-paper);font-family:'Inter',Arial,sans-serif;text-align:left}
.home-proof .home-proof-inner{display:grid;grid-template-columns:minmax(14rem,.58fr) minmax(0,1.42fr);align-items:start;gap:clamp(2rem,5vw,4.5rem);width:min(1240px,100%);margin:0 auto}
.home-proof .home-proof-kicker{margin:0 0 .6rem!important;color:#8c6a42;font-size:.64rem!important;font-weight:700;letter-spacing:.14em;line-height:1.5!important;text-transform:uppercase}
.home-proof .section-heading{display:block;margin:0 0 .9rem;padding-bottom:.75rem;color:#201c22;font-family:'Instrument Serif',Georgia,serif;font-size:clamp(1.9rem,2.7vw,2.6rem);font-weight:400;line-height:1.18;letter-spacing:.006em;text-align:left}
.home-proof .section-heading:after{left:0;width:2.4rem;height:1px;border-radius:0;background:var(--proof-gold);transform:none}
.home-proof .home-proof-stars{display:flex;gap:.32rem;margin:0!important;color:var(--proof-gold);font-size:.7rem}
.home-proof .home-proof-note{max-width:23rem;margin:1.1rem 0 1.6rem!important;color:#5e5961;font-size:.82rem!important;line-height:1.75!important}
.home-proof .home-proof-link{display:inline-flex;align-items:center;gap:.55rem;padding:.6rem 0;border-bottom:1px solid var(--proof-gold);color:#45234e;font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;transition:color .18s ease,border-color .18s ease}
.home-proof .home-proof-link:hover,.home-proof .home-proof-link:focus{border-color:#17151a;color:#17151a}
.home-proof .home-proof-stage{position:relative;padding-left:clamp(2rem,4vw,4rem);border-left:1px solid var(--proof-rule)}
.home-proof .home-proof-mark{position:absolute;top:-2.35rem;left:clamp(.9rem,2vw,2.1rem);color:rgba(184,152,85,.3);font-family:'Instrument Serif',Georgia,serif;font-size:7.5rem;line-height:1;pointer-events:none;user-select:none}
.home-proof .home-proof-slides{display:grid}
.home-proof .home-proof-slide{grid-area:1/1;margin:0;padding:0;visibility:hidden;opacity:0;transform:translateY(10px);transition:opacity .5s ease,transform .5s cubic-bezier(.22,1,.36,1),visibility 0s linear .5s}
.home-proof .home-proof-slide.is-active{visibility:visible;opacity:1;transform:none;transition-delay:0s}
.home-proof blockquote{margin:0;padding:0;border:0;color:#241f27;font-family:'Instrument Serif',Georgia,serif;font-size:clamp(1.3rem,1.95vw,1.8rem);font-weight:400;line-height:1.5;letter-spacing:.006em;text-wrap:pretty}
.home-proof .home-proof-slide figcaption{display:flex;align-items:center;gap:.85rem;margin-top:1.8rem}
.home-proof .home-proof-slide figcaption:before{width:2.2rem;height:1px;content:"";background:var(--proof-gold)}
.home-proof .home-proof-name{color:#5c5661;font-size:.67rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.home-proof .home-proof-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;margin-top:2.35rem}
.home-proof .home-proof-arrow{display:grid;place-items:center;width:2.6rem;height:2.6rem;padding:0;border:1px solid #ded8d0;border-radius:0;background:transparent;color:#4a2f52;font-size:.68rem;transition:border-color .18s ease,background .18s ease,color .18s ease}
.home-proof .home-proof-arrow:hover,.home-proof .home-proof-arrow:focus{border-color:var(--proof-gold);background:#f4efe7;color:#17151a}
.home-proof .home-proof-dots{display:flex;flex-wrap:wrap;gap:.4rem;margin-left:.6rem}
.home-proof .home-proof-dot{width:1.4rem;height:2px;padding:0;border:0;border-radius:0;background:#ded8d0;transition:background .18s ease,transform .18s ease}
.home-proof .home-proof-dot:hover{background:#c3b189}
.home-proof .home-proof-dot[aria-selected="true"]{background:var(--proof-gold);transform:scaleY(2)}
.home-proof .home-proof-count{margin:0 0 0 auto!important;color:#8d8792;font-size:.66rem!important;letter-spacing:.14em}
.home-proof .home-proof-progress{position:relative;height:1px;margin-top:1.4rem;overflow:hidden;background:#e8e2da}
.home-proof .home-proof-progress>span{position:absolute;inset:0 auto 0 0;width:0;background:var(--proof-gold)}
.home-proof .home-proof-progress>span.is-running{animation:homeProofProgress 8s linear}
.home-proof.is-paused .home-proof-progress>span{animation-play-state:paused}
@keyframes homeProofProgress{from{width:0}to{width:100%}}
.home-proof .home-industry-ticker{position:relative;width:min(1240px,100%);margin:clamp(2.5rem,4vw,3.5rem) auto 0;overflow:hidden;border-top:1px solid var(--proof-rule);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.home-proof .home-industry-ticker .logo-ticker-track{display:flex;width:max-content;animation:homeIndustryTicker 52s linear infinite;will-change:transform}
.home-proof .home-industry-ticker:hover .logo-ticker-track,.home-proof .home-industry-ticker:focus-within .logo-ticker-track{animation-play-state:paused}
.home-proof .home-industry-ticker .logo-ticker-group{display:flex;flex:none;gap:0;padding:0}
.home-proof .home-industry-item{display:inline-flex;align-items:center;flex:none;padding:1.15rem 1.6rem;color:#7a737f;font-size:.66rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap}
.home-proof .home-industry-item:after{margin-left:1.6rem;color:var(--proof-gold);content:"\2022"}
@keyframes homeIndustryTicker{to{transform:translateX(-50%)}}
@media(max-width:991.98px){.home-proof{padding:3.25rem 1.25rem}.home-proof .home-proof-inner{grid-template-columns:minmax(0,1fr);gap:2.25rem}.home-proof .home-proof-stage{padding-left:0;padding-top:2.5rem;border-left:0;border-top:1px solid var(--proof-rule)}.home-proof .home-proof-mark{top:.35rem;left:0;font-size:5.5rem}.home-proof blockquote{padding-top:1.75rem}}
@media(max-width:575px){.home-proof{padding:2.75rem 1rem}.home-proof blockquote{font-size:1.18rem;line-height:1.55}.home-proof .home-proof-count{display:none}.home-proof .home-proof-dots{margin-left:auto}}
@media(prefers-reduced-motion:reduce){.home-proof .home-proof-slide{transition:none}.home-proof .home-proof-progress{display:none}.home-proof .home-industry-ticker{overflow-x:auto;mask-image:none;-webkit-mask-image:none}.home-proof .home-industry-ticker .logo-ticker-track{animation:none}.home-proof .home-industry-ticker .logo-ticker-group[aria-hidden="true"]{display:none}}

/* Static dark band behind the top of every page, exactly as tall as the body's padding-top.
   The animated nav backdrop shrinks below that height mid-transition and uncovers whatever is
   underneath; on the home page that happens to be a black hero, everywhere else it was the ivory
   page background, which flashed. This paints the same black there instead. z-index:-1 keeps it
   behind all content, so once the page is scrolled the content covers it and it never shows. */
/* Dark band filling the body's padding-top, painted behind all content (z-index:-1).
   The nav backdrop eases between 81px and 188px, so mid-expansion it is shorter than that
   padding and uncovers a strip; this band is what shows there, matching the black hero that
   happens to sit behind it on the home page.
   position:absolute, not fixed, is the whole trick: the band belongs to the top of the document,
   so it scrolls away exactly as the content scrolls up over it. Pinned to the viewport it would
   instead sit under the compact nav forever and show through any page that is transparent there,
   and hiding it on .is-compact traded that for a one-frame jump from page background to black. */
.site-theme:after{position:absolute;z-index:-1;top:0;right:0;left:0;height:148px;content:"";background:#111318;pointer-events:none}
@media(max-width:991.98px){.site-theme:after{height:168px}}

/* --- Shared scroll reveals (MARS/js/lux-reveal.js) -----------------------
   Restrained on purpose: a short rise, a long ease, and a small cascade, so blocks settle into
   place rather than fly in. Gated behind .lux-reveal-ready, which the script only adds once it
   can actually run the reveal, so no-JS and reduced-motion visitors never get hidden content. */
:root{--lux-ease:cubic-bezier(.22,1,.36,1);--lux-step:90ms}
.lux-reveal-ready [data-lux]{opacity:0;transform:translateY(var(--lux-rise,18px));transition:opacity .95s var(--lux-ease),transform .95s var(--lux-ease),filter .95s var(--lux-ease);transition-delay:calc(var(--lux-i,0) * var(--lux-step))}
.lux-reveal-ready [data-lux="media"]{transform:translateY(var(--lux-rise,18px)) scale(1.03);filter:saturate(.8)}
.lux-reveal-ready [data-lux].is-in{opacity:1;transform:none;filter:none}
/* The gold rule under a heading draws itself outward as the block settles. scaleX rather than a
   width, so it works with whatever width each page gives the rule and keeps its centring transform. */
.lux-reveal-ready [data-lux] :where(.section-heading,.section-heading-light):after{transform:translateX(-50%) scaleX(0);transition:transform .85s var(--lux-ease);transition-delay:calc(var(--lux-i,0) * var(--lux-step) + 300ms)}
.lux-reveal-ready [data-lux].is-in :where(.section-heading,.section-heading-light):after{transform:translateX(-50%) scaleX(1)}
@media(prefers-reduced-motion:reduce){.lux-reveal-ready [data-lux]{opacity:1;transform:none;filter:none;transition:none}.lux-reveal-ready [data-lux] :where(.section-heading,.section-heading-light):after{transform:translateX(-50%);transition:none}}

/* Service cards (.service-boxes1 > a > .CTA-Box1 > img + h3): the illustration sat flush on the
   dark heading bar, so the circular artwork looked like it was resting on it. */
/* Any artwork element at any depth: some cards are .CTA-Box1 > img + h3, others wrap
   both in an <a>, and the "More Services" set uses <lottie-player> rather than <img>. */
/* Match the two card families optically. The lottie boxes are 300px with the circle drawn
   inside them; the PNGs are 286px with the circle sitting high and about 68px of transparent
   whitespace beneath it. Measured on the page: lottie sits 61px below the card top and 58px
   above the heading bar, while the images were at 64px and 94px. The negative bottom margin
   absorbs the PNG's own trailing whitespace so both land on the same spacing. */
.site-theme .CTA-Box1 :is(img,lottie-player,svg){display:block;margin:0 auto}
/* The lottie box is 300px with its circle filling it; the PNG is 286px with a slightly
   smaller circle and more trailing whitespace beneath it. A small width bump matches the
   circle sizes and the margins below are tuned so both families sit 61px under the card top
   and 58px above the heading bar (measured on the page). */
.site-theme .CTA-Box1 img{width:76%;height:auto;margin:4px auto 0}
/* A lottie canvas is a fixed 15rem box with the artwork drawn inside it, so it already
   carries whitespace below the illustration; it needs far less added margin than a
   tightly cropped <img> to end up with the same visual gap above the heading bar. */
.site-theme .CTA-Box1 lottie-player{margin-bottom:.25rem}

/* Regular dropdowns are offset from the nav by a fixed margin, so while the nav animates
   between its tall and compact heights the offset cannot track it and a sliver of the page
   shows through between the two. The mega menu never does this because it overlaps the nav.
   A few pixels of overlap here gives them the same seamless join in every state. */
/* body.site-theme, not .site-theme: luxury-shell.css sets these too under body:has(.ip), which
   outranks a single class. Matching its weight and landing later makes this the only place the
   offset is defined, so the two cannot drift apart again. Retuned for the 148px nav. */
@media(min-width:992px){
  body.site-theme .mars_nav .nav-item.dropdown:not(.mega-dropdown)>.dropdown-menu{margin-top:22px!important}
  body.site-theme .mars_nav.is-compact .nav-item.dropdown:not(.mega-dropdown)>.dropdown-menu{margin-top:10px!important}
}
@media(min-width:992px) and (max-width:1199.98px){
  body.site-theme .mars_nav .nav-item.dropdown:not(.mega-dropdown)>.dropdown-menu{margin-top:18px!important}
  body.site-theme .mars_nav.is-compact .nav-item.dropdown:not(.mega-dropdown)>.dropdown-menu{margin-top:7px!important}
}

/* The luxury nav hides the decorative icon inside each nav link, but the notification bell IS
   its icon - hiding it left an empty 29px link where the bell should be. */
.site-theme .navbar-nav #navbarBellDropdown>i{display:inline-block;color:#ddd8df}
.site-theme .navbar-nav #navbarBellDropdown:hover>i{color:var(--mars-gold-light)}

/* The mobile footer's "Quick Links" accordion toggle was only styled under body:has(.ip), so on
   every other page it fell back to a raw browser button - grey box, black text, outset border.
   Same treatment as the footer headings it sits among. */
@media(max-width:991.98px){
  .site-theme .footer-accordion-toggle{width:100%;min-height:48px;padding:.65rem 0;border:0;border-bottom:1px solid rgba(184,152,85,.38);border-radius:0;background:transparent;color:#fff;font-family:'Instrument Serif',Georgia,serif;font-size:1.15rem;font-weight:400;text-align:left}
  .site-theme .footer-accordion-toggle i{float:right;margin-top:.35rem;color:var(--mars-gold);font-size:.7rem;transition:transform .2s ease}
  .site-theme .footer-accordion-toggle[aria-expanded="true"] i{transform:rotate(180deg)}
  .site-theme #footerQuickLinks{padding-top:.65rem}
}

/* Legacy nav clearance that predates body padding-top, so it now doubles up and leaves a band
   of page background between the nav and the hero. The image ones only fire in the mobile
   media queries (master.css:1299-1330), which is why this was a mobile-only symptom. */
.site-theme img.main_image_home2,
.site-theme img.main_image_home{margin-top:0}
.site-theme .blog-content-offset{margin-top:0}

/* Tighter nav in its at-top state: slimmer utility bar, smaller wordmark, less brand-row
   padding. Desktop only, so the mobile nav and its own set of coupled heights are untouched.
   The .is-compact rules keep winning on specificity, so the scrolled state is unchanged. */
@media(min-width:992px){
  body.site-theme .mars_nav{--lux-utility-height:44px}
  body.site-theme .mars_nav .luxury-logo{width:12.25rem}
  body.site-theme .mars_nav .nav-brand-row{padding:.45rem 0}
}

/* The utility buttons were sized for the old 56px bar: 40px tall plus 8px margins needs 56px,
   so in the 44px bar they were clipped to 1-2px of breathing room. Shrink the button instead of
   growing the bar, so 7px sits above and below. body.site-theme to outrank luxury-shell's
   body:has(.ip) copy of this rule. */
@media(min-width:992px){
  body.site-theme .the_top_buttons{min-height:30px!important;margin:7px .25rem!important;padding:.25rem .85rem!important;font-size:.62rem}
}
