:root{
  --ink:#121212!important;
  --paper:#e7e7e7!important;
  --soft:#e7e7e7!important;
  --lime:#de4040!important;
  --green:#de4040!important;
  --red:#de4040!important;
  --brand-red:#de4040!important;
  --gold:#c6a15b;
  --muted:#a7a7a7!important;
  --line:rgba(255,255,255,.14)!important;
}

body{background:#121212;color:#f0f0f0}
html{scrollbar-color:#de4040 #121212;scrollbar-width:thin}
*::-webkit-scrollbar{width:6px;height:6px}
*::-webkit-scrollbar-track{background:#121212}
*::-webkit-scrollbar-thumb{background:#de4040;border:2px solid #121212;border-radius:999px}
.ticker{
  background:linear-gradient(90deg,#090c0b 0%,#171a18 48%,#090c0b 100%)!important;
  color:#d5b66f!important;
  border-top:1px solid rgba(198,161,91,.42);
  border-bottom:1px solid rgba(198,161,91,.42);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 -12px 34px rgba(0,0,0,.2);
}
.ticker i{color:#de4040!important;text-shadow:none!important}
.ticker .ticker-set{font-weight:700;letter-spacing:.16em}
header.nav>.menu,header.site-nav>.menu,.menu-overlay>.menu{
  border-color:rgba(240,240,240,.72)!important;
  box-shadow:0 8px 22px rgba(0,0,0,.18)!important;
}
body:has(.hero) header.nav,
body:has(.hero) header.nav.scrolled{
  border-bottom-color:rgba(240,240,240,.18)!important;
}
::selection{background:#de4040;color:#fff}
em,.accent{color:#de4040!important}
.light em{color:#b83232!important}
.light,section.light{background-color:#e7e7e7!important;color:#121212}
.darksection,.section.dark{background:#121212!important}
body footer.site-footer{background:#121212!important;border-top-color:rgba(222,64,64,.45)!important;box-shadow:none!important}
.darksection,.section.dark,.contact,.legal-hero{background-image:none!important}

.inventory,.inventory small,.inventory>b,.inventory span,.inventory i{color:#fff!important}
.inventory span{border-top-color:rgba(255,255,255,.42)!important}

/* Premium editorial type scale from the brand guide. */
.hero h1{font-size:clamp(64px,6vw,80px)!important;line-height:1.02!important;letter-spacing:-.055em!important}
.sectionhead h2,.section-head h2,.split h2,.iplex h2,.contact h2,.device-intro h2{font-size:clamp(36px,3.6vw,48px)!important;line-height:1.08!important}
.lead,.sectionhead>p:last-child,.bodycopy>p,.copy p,.iplex>div>p,.founder p{font-size:clamp(16px,1.2vw,18px)!important;line-height:1.65!important}
.eyebrow,.kicker{color:#c6a15b!important;letter-spacing:.16em!important}
.eyebrow:before,.kicker:before{background:#de4040!important}
.hero-signal{position:relative;z-index:2;margin:18px 0 0;color:#c6a15b;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.hero .scroll{color:#f0f0f0!important;font-weight:600!important;text-shadow:0 1px 8px rgba(0,0,0,.75)}
.hero .scroll span{background:#de4040!important;box-shadow:0 0 0 1px rgba(18,18,18,.22)}
.hero .scroll:hover{color:#c6a15b!important}

/* Navigation hierarchy: Work | iPLEX | About | Connect. */
header.nav>.nav-right>a:not(.navcta):not(.nav-cta),header.site-nav>.nav-right>a:not(.navcta):not(.nav-cta){display:inline-flex!important}
header.nav .navcta,header.site-nav .nav-cta{border-color:#de4040!important;background:#de4040!important;color:#fff!important;box-shadow:none!important}
header.nav .navcta:hover,header.site-nav .nav-cta:hover{background:#f0f0f0!important;color:#121212!important}
header.nav>.menu:hover,header.site-nav>.menu:hover,.menu-overlay>.menu:hover{border-color:#c6a15b!important;background:rgba(198,161,91,.1)!important}
header.nav>.nav-side.open a:hover,header.site-nav>.nav-side.open a:hover,
body.menu-3d-open .menu-overlay>.nav-side a:hover,body.menu-3d-open .menu-overlay>.nav-side a.active{color:#de4040!important}
body.menu-3d-open .site-canvas{box-shadow:0 0 0 3px #de4040,0 0 0 6px rgba(240,240,240,.42),35px 45px 100px rgba(0,0,0,.8)!important}
body.menu-3d-open .menu-overlay>.nav-left{top:50%!important;transform:translateY(-50%)!important}
body.menu-3d-open .menu-overlay>.nav-right:empty{display:none!important}
body.menu-3d-open .menu-overlay>.nav-left a{align-items:center!important;margin:0!important}
body.menu-3d-open .menu-overlay>.nav-left .home-menu-link{display:flex!important;align-items:center!important;gap:12px!important}
body.menu-3d-open .menu-overlay>.nav-left .home-menu-link svg,
header.nav>.nav-side.open .home-menu-link svg,header.site-nav>.nav-side.open .home-menu-link svg{
  display:block!important;
  flex:0 0 23px!important;
  width:23px!important;
  height:23px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.6!important;
  stroke-linejoin:round!important;
}

/* Clear primary/secondary CTA treatment. */
.hero .actions .btn{border-color:rgba(240,240,240,.72)!important;background:rgba(18,18,18,.55)!important;color:#fff!important;box-shadow:none!important}
.hero .actions .btn:first-child{border-color:#de4040!important;background:#de4040!important;color:#fff!important}
.hero .actions .btn:first-child:hover{background:#f0f0f0!important;border-color:#f0f0f0!important;color:#121212!important}
.hero .actions .btn:nth-child(2):hover{background:#f0f0f0!important;color:#121212!important}
.button,.btn,.footer-cta,.navcta,.nav-cta{transition:background .3s ease,color .3s ease,border-color .3s ease,transform .3s ease!important}

/* Strong legibility for controls placed on light backgrounds. */
.light .button,.light .btn,.light .iplex-view,.light .iplex-cta,
.light .plex-scene button,.contact form .btn{
  border-color:#de4040!important;
  background:#de4040!important;
  color:#fff!important;
  text-shadow:none!important;
  box-shadow:none!important;
  font-weight:700!important;
}
.light .iplex-view:after,.light .iplex-cta:after{background:#fff!important;color:#de4040!important}
.light .button:hover,.light .btn:hover,.light .iplex-view:hover,.light .iplex-cta:hover,
.light .plex-scene button:hover,.contact form .btn:hover{
  border-color:#121212!important;
  background:#121212!important;
  color:#fff!important;
}

/* Accessible label hierarchy on warm-white and light-grey surfaces. */
.light .eyebrow,.light .kicker,.light .section-label,
section.light .eyebrow,section.light .kicker{
  color:#f0f0f0!important;
  background:#de4040!important;
  border-color:#c6a15b!important;
  text-shadow:none!important;
}
.light .eyebrow:before,.light .kicker:before{background:#c6a15b!important}
.light small,.light .article-meta,.light .card-label,
.light .cards article>span,.light .feature-card>span,
.light .process-row>span,.light .vision-card>span,.light .leader-copy>small{
  color:#555!important;
  text-shadow:none!important;
}
.light .vision-card>span,.light .process-row>span,.light .cards article>span,
.light .feature-card>span,.light .leader-copy>small{
  display:inline-flex!important;
  width:max-content!important;
  max-width:100%!important;
  padding:7px 10px!important;
  color:#f0f0f0!important;
  background:#de4040!important;
  border:1px solid #c6a15b!important;
  font-weight:700!important;
  line-height:1.35!important;
}
.light .chips span,.light .tags span{color:#333!important;border-color:rgba(18,18,18,.28)!important}

/* Gold is a material detail, never a dominant fill. */
.hero-stats b,.metrics b,.stats b{color:#c6a15b!important}
.cards article>span,.feature-card>span,.process-row>span,.leader-copy>small{color:#9a7637!important}
.cards article:before,.leader-copy h2:after{background:#de4040!important}

/* Restrained cards and imagery. */
.cards article,.feature-card,.vision-card,.project-card,.casegrid article,.leader{border-color:rgba(18,18,18,.16)!important;border-radius:2px!important;box-shadow:none!important}
.hero-aside,.engine-slider,.product-visual,.product-feature,.device-visual,.benefit,.product-cta,.operating-loop,.loop-core,.orbit{border-color:rgba(198,161,91,.34)!important;box-shadow:none!important}
.eyebrow,.kicker{border-color:rgba(198,161,91,.48)!important;background:rgba(18,18,18,.42)!important;box-shadow:none!important}
.darksection .cards article,.section.dark .feature-card{border-color:rgba(240,240,240,.14)!important;background:#1e1e1e!important}
.cards article:hover,.feature-card:hover,.project-card:hover,.casegrid article:hover{transform:translateY(-4px)!important;box-shadow:0 18px 42px rgba(0,0,0,.12)!important}
.casegrid article:hover .casepic,.project-card:hover img{transform:scale(1.015)!important}

/* Softer, more deliberate motion. */
.reveal{transition:opacity .5s ease,transform .5s ease!important}
.ticker .ticker-track{animation-duration:34s!important}

/* Olson Kundig-style stacked panels: each next component swipes over the pinned one. */
body.swipe-panel-stack main{position:relative;isolation:isolate;overflow:visible!important}
/* Let the browser retain ordinary scroll momentum.  The previous mandatory
   stop points made long, sticky sections feel as if they trapped upward
   scrolling. */
.swipe-panel-stack-root{scroll-snap-type:none}
body.swipe-panel-stack:not(.menu-3d-open) .site-canvas{
  transform:none!important;
  will-change:auto!important;
  perspective:none!important;
  overflow:visible!important;
}
body.swipe-panel-stack .hero{scroll-snap-align:start}
body.swipe-panel-stack .swipe-up-section{
  position:sticky;
  top:0;
  z-index:calc(10 + var(--swipe-index));
  height:auto;
  min-height:100svh;
  max-height:none;
  isolation:isolate;
  overflow:visible;
  scroll-snap-align:none;
  scroll-snap-stop:normal;
  box-shadow:0 -18px 46px rgba(0,0,0,.18);
}
body.swipe-panel-stack .swipe-up-section.light{background:#e7e7e7!important}
body.swipe-panel-stack .swipe-up-section.darksection,
body.swipe-panel-stack .swipe-up-section.contact{background:#121212!important}
.swipe-up-section:after{
  content:"";
  position:absolute;
  z-index:8;
  top:0;
  left:0;
  width:100%;
  height:2px;
  pointer-events:none;
  background:linear-gradient(90deg,#de4040 0 78%,#c6a15b 78% 100%);
  transform:scaleX(1);
  transform-origin:left;
}
@media(prefers-reduced-motion:reduce){
  body.swipe-panel-stack .swipe-up-section{position:relative!important;top:auto!important;height:auto!important;min-height:auto!important;max-height:none!important;overflow:visible!important;box-shadow:none!important}
}
@media(max-width:900px){
  .swipe-panel-stack-root{scroll-snap-type:none}
  body.swipe-panel-stack .swipe-up-section{
    position:relative!important;
    top:auto!important;
    height:auto!important;
    min-height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    scroll-snap-align:none!important;
    scroll-snap-stop:normal!important;
    box-shadow:0 -12px 30px rgba(0,0,0,.16);
  }
}
@media(max-width:900px) and (prefers-reduced-motion:reduce){
  body.swipe-panel-stack .swipe-up-section{position:relative!important;top:auto!important;height:auto!important;min-height:auto!important;max-height:none!important;overflow:visible!important;box-shadow:none!important}
}

/* Footer and form alignment with the neutral/red system. */
body footer.site-footer .footer-intro p{color:#c6a15b!important}
body footer.site-footer .footer-cta{border-color:#de4040!important;background:#de4040!important}
body footer.site-footer .footer-cta span{background:#f0f0f0!important;color:#121212!important}
body footer.site-footer .footer-primary-nav a:hover,body footer.site-footer .footer-legal a:hover{color:#de4040!important}
body footer.site-footer .footer-middle{display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;grid-template-areas:"services menu social";gap:26px!important;align-items:center!important}
body footer.site-footer .footer-middle>p{grid-area:services;margin:0!important;min-width:0}
body footer.site-footer .footer-primary-nav{grid-area:menu;justify-self:center!important;justify-content:center!important;display:flex!important;gap:clamp(16px,2vw,30px)!important;white-space:nowrap!important}
body footer.site-footer .footer-social-group{grid-area:social;justify-self:end;display:flex;align-items:center;justify-content:flex-end;gap:9px;padding-left:20px;border-left:1px solid rgba(240,240,240,.2)}
body footer.site-footer .footer-social-icon{width:31px;height:31px;display:inline-grid;place-items:center;border-radius:50%;font-family:Arial,sans-serif;font-size:15px;font-weight:700;line-height:1;color:#fff;opacity:.95;cursor:default}
body footer.site-footer .footer-social-icon.facebook{background:#1877f2;font-family:Arial,sans-serif;font-size:20px}
body footer.site-footer .footer-social-icon.linkedin{background:#0a66c2;font-size:13px}
body footer.site-footer .footer-social-icon.instagram{background:linear-gradient(135deg,#f9ce34,#ee2a7b 55%,#6228d7);font-size:20px}
body footer.site-footer .footer-social-icon.instagram svg{display:block;width:17px;height:17px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body footer.site-footer .footer-social-icon.x{background:#000;font-size:14px}
body footer.site-footer .footer-social-icon.youtube{background:#ff0000;font-size:13px}
body footer.site-footer .footer-social-icon[href=""]{pointer-events:none;cursor:default;filter:grayscale(.12);opacity:.7}
body footer.site-footer .footer-social-icon{flex:0 0 31px!important;min-width:31px!important;min-height:31px!important;aspect-ratio:1/1!important;padding:0!important;overflow:hidden}
body footer.site-footer .footer-bottom{
  width:100%!important;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
  grid-template-areas:"copyright legal rera";
  gap:24px!important;
  align-items:center!important;
}
body footer.site-footer .footer-bottom>small:first-child{grid-area:copyright;justify-self:start!important;text-align:left!important}
body footer.site-footer .footer-bottom>small:last-child{grid-area:rera;justify-self:end!important;text-align:right!important}
body footer.site-footer .footer-legal{grid-area:legal;justify-self:center!important}
.contact-form,form{background:#f0f0f0!important;color:#121212!important}
/* Inner-page forms share the homepage contact form's spacing, surface and CTA treatment. */
body .contact-form{padding:35px!important;gap:16px!important;border:1px solid rgba(82,218,134,.2)!important;box-shadow:0 34px 90px rgba(0,0,0,.22)!important}
body .contact-form .button{min-height:50px!important;padding:17px 24px!important;border:1px solid #de4040!important;background:linear-gradient(105deg,#de4040 0 88%,#c6a15b 88% 100%)!important;color:#fff!important;box-shadow:4px 4px 0 rgba(18,18,18,.28),0 12px 30px rgba(222,64,64,.18)!important}
body .contact-form .button:hover{transform:translateY(-3px)!important;background:linear-gradient(105deg,#f04f4f 0 88%,#d4b36f 88% 100%)!important;box-shadow:6px 6px 0 rgba(18,18,18,.3),0 18px 40px rgba(222,64,64,.24)!important}
body .contact-form .button{color:#fff!important;text-shadow:none!important}
body .formnote{display:none!important}
input:focus,select:focus,textarea:focus{border-color:#de4040!important}

/* WhatsApp remains the only service-color exception. */
.whatsapp-float{background:#25d366!important;border-color:rgba(255,255,255,.34)!important}

@media(max-width:900px){
  .hero h1{font-size:clamp(42px,8vw,64px)!important}
}
@media(max-width:560px){
  .hero h1{font-size:clamp(36px,11vw,44px)!important;line-height:1.04!important}
  .sectionhead h2,.section-head h2,.split h2,.iplex h2,.contact h2,.device-intro h2{font-size:clamp(24px,8vw,32px)!important}
  .hero-signal{font-size:10px;line-height:1.5;letter-spacing:.1em}
}

/* Modern numbered navigation for the full-screen main menu. */
body.menu-3d-open .menu-overlay>.nav-left{
  counter-reset:main-menu-item;
  top:14vh!important;
  left:60vw!important;
  right:6vw!important;
  transform:none!important;
  padding:14px 0!important;
  border:1px solid rgba(222,64,64,.72)!important;
  box-shadow:0 18px 52px rgba(0,0,0,.28)!important;
}
body.menu-3d-open .menu-overlay>.nav-left:before{
  content:none;
  display:none;
}
body.menu-3d-open .menu-overlay>.nav-left>a{
  counter-increment:main-menu-item;
  position:relative;
  height:58px!important;
  min-height:58px!important;
  padding:0 16px!important;
  border-top:1px solid rgba(222,64,64,.24)!important;
  font-size:clamp(21px,2vw,28px)!important;
  font-weight:600!important;
  letter-spacing:-.02em!important;
}
body.menu-3d-open .menu-overlay>.nav-left>a:before{
  content:none;
  display:none;
}
body.menu-3d-open .menu-overlay>.nav-left>a:after{
  content:"↗";
  margin-left:auto;
  color:#de4040;
  font:500 16px/1 Manrope,sans-serif;
  opacity:.45;
  transform:translate(-5px,5px);
  transition:opacity .25s ease,transform .25s ease;
}
body.menu-3d-open .menu-overlay>.nav-left>a:hover,
body.menu-3d-open .menu-overlay>.nav-left>a.active{
  padding:0 16px!important;
  background:linear-gradient(90deg,rgba(222,64,64,.13),transparent 78%)!important;
  color:#fff!important;
}
body.menu-3d-open .menu-overlay>.nav-left>a:hover:after,
body.menu-3d-open .menu-overlay>.nav-left>a.active:after{
  opacity:1;
  transform:none;
}

@media(max-width:900px){
  body.menu-3d-open .menu-overlay>.nav-left{
    top:10vh!important;
    left:40vw!important;
    right:18px!important;
    padding-top:10px!important;
  }
  body.menu-3d-open .menu-overlay>.nav-left:before{padding:0 12px 9px}
  body.menu-3d-open .menu-overlay>.nav-left>a{
    height:48px!important;
    min-height:48px!important;
    padding:0 12px!important;
    font-size:clamp(17px,4.8vw,21px)!important;
  }
  body.menu-3d-open .menu-overlay>.nav-left>a:before{flex-basis:28px;font-size:8px}
  body.menu-3d-open .menu-overlay>.nav-left>a:hover,
  body.menu-3d-open .menu-overlay>.nav-left>a.active{padding:0 12px!important}
}

/* Cross-device stability: compact phones through large desktops. */
html,body{width:100%;max-width:100%;overflow-x:clip}
img,video,svg,canvas,iframe{max-width:100%;height:auto}
.hero-video{height:100%!important;object-fit:cover!important}
h1,h2,h3,p,a,button,label,small{overflow-wrap:break-word}
table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
input,select,textarea,button{max-width:100%;font:inherit}

@media(max-width:1200px){
  .shell,.hero,section.light,.darksection,.contact,.section{max-width:100%!important}
  .grid-3{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .footer-top,.footer-middle,.footer-bottom{column-gap:28px!important}
  body footer.site-footer .footer-middle{grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"services" "menu" "social";justify-items:center!important;text-align:center!important}
  body footer.site-footer .footer-social-group{justify-self:center;border-left:0;padding-left:0}
}

@media(max-width:900px){
  header.nav>.logo img,header.site-nav>.brand img{
    width:min(220px,calc(100vw - 92px))!important;
    max-height:54px!important;
  }
  .page-hero,.split,.iplex,.contact,.engine-intro,.device-content,.legal-layout{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .page-hero{min-height:auto!important;padding-top:126px!important}
  .hero-copy,.hero-aside,.copy,.bodycopy,.contact>*,.iplex>*{min-width:0!important;max-width:100%!important}
  .footer-top,.footer-middle,.footer-bottom{grid-template-columns:minmax(0,1fr)!important;text-align:center!important}
  body footer.site-footer .footer-bottom{grid-template-areas:"copyright" "legal" "rera";gap:18px!important}
  body footer.site-footer .footer-bottom>small:first-child,body footer.site-footer .footer-bottom>small:last-child{justify-self:center!important;text-align:center!important}
  body footer.site-footer .footer-cta{justify-self:center!important;white-space:normal!important}
  .footer-primary-nav,.footer-legal{justify-content:center!important;flex-wrap:wrap!important}
  body footer.site-footer .footer-primary-nav{white-space:normal!important;flex-wrap:wrap!important}
  a,button,input,select,textarea{min-height:44px}
  p a,.article-body a,.legal-copy a,.footer-legal a,.footer-primary-nav a{min-height:0}
  body footer.site-footer .footer-middle{grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"services social" "menu menu"!important;gap:18px 14px!important;align-items:center!important;text-align:initial!important}
  body footer.site-footer .footer-middle>p{justify-self:start!important;text-align:left!important;font-size:10px!important;line-height:1.5!important}
  body footer.site-footer .footer-primary-nav{justify-self:center!important;width:100%!important;gap:12px 18px!important;text-align:center!important}
  body footer.site-footer .footer-social-group{justify-self:end!important;gap:8px!important;padding:0!important;border:0!important}
  body footer.site-footer .footer-bottom{grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"copyright rera" "legal legal"!important;gap:16px 12px!important;align-items:center!important;text-align:initial!important}
  body footer.site-footer .footer-bottom>small:first-child{justify-self:start!important;text-align:left!important;font-size:10px!important}
  body footer.site-footer .footer-bottom>small:last-child{justify-self:end!important;text-align:right!important;font-size:10px!important}
  body footer.site-footer .footer-legal{justify-self:center!important;width:100%!important;gap:10px 16px!important;text-align:center!important}
}

@media(max-width:700px){
  .grid-3,.cards,.casegrid,.leaders,.vision-grid,.insight-grid,.why-grid,.benefits-grid,.feature-showcase{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .insight-card,.insight-card:first-child{grid-column:1/-1!important}
  .formrow,.form-row,.cookie-row{grid-template-columns:minmax(0,1fr)!important}
  .process-row{grid-template-columns:minmax(0,1fr)!important}
  .process-row p,.process-row:after{grid-column:auto!important}
  .metrics{grid-template-columns:minmax(0,1fr)!important}
}

@media(max-width:560px){
  /* The footer mark centers only on phone layouts; tablet and desktop retain the left edge. */
  body footer.site-footer .footer-mark{display:block!important;justify-self:center!important;width:max-content!important;margin:0 auto!important}
  body footer.site-footer .footer-mark img{margin:0 auto!important}
  header.nav,header.site-nav{padding-left:16px!important;padding-right:16px!important}
  header.nav>.logo img,header.site-nav>.brand img{width:min(174px,calc(100vw - 82px))!important}
  header.nav>.menu,header.site-nav>.menu,.menu-overlay>.menu{right:16px!important}
  .hero{min-height:100svh!important;padding-top:108px!important;padding-bottom:72px!important}
  .hero .actions{flex-direction:column!important;align-items:stretch!important}
  .hero .actions .btn{width:100%!important;min-height:50px!important}
  .hero .hero-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
  .hero .hero-stats div{display:block!important}
  .hero .hero-stats b{display:block!important;font-size:20px!important}
  .hero .hero-stats span{display:block!important;font-size:8px!important;line-height:1.35!important}
  .kicker,.eyebrow{width:100%!important;max-width:100%!important;white-space:normal!important}
  .contact-form,form{padding:20px!important}
  .whatsapp-float{right:14px!important;bottom:14px!important}
  .whatsapp-chat{right:12px!important;bottom:82px!important;width:calc(100vw - 24px)!important;max-height:calc(100dvh - 106px)!important;overflow-y:auto!important}
  body footer.site-footer .footer-social-icon{flex-basis:29px!important;width:29px!important;height:29px!important;min-width:29px!important;min-height:29px!important;font-size:13px!important}
  body footer.site-footer .footer-social-icon.facebook{font-size:18px!important}
  body footer.site-footer .footer-social-icon.instagram svg{width:16px!important;height:16px!important}
}

@media(max-width:360px){
  :root{--gutter:16px!important;--site-gutter:16px!important}
  .shell,.hero,section.light,.darksection,.contact,.section{padding-left:16px!important;padding-right:16px!important}
  .hero h1{font-size:36px!important}
  .hero-signal{font-size:9px!important}
  .hero .hero-stats b{font-size:18px!important}
  .hero .hero-stats span{font-size:7px!important}
  body footer.site-footer{padding-left:16px!important;padding-right:16px!important}
}

/* Homepage viewport composition: keep the exploration ticker in the initial frame. */
@media(min-width:901px){
  body.swipe-panel-stack .hero{
    height:calc(100svh - 51px)!important;
    min-height:700px!important;
    align-items:flex-end!important;
    padding-bottom:clamp(46px,6svh,62px)!important;
  }
  body.swipe-panel-stack .hero .hero-copy{
    padding-bottom:clamp(8px,1.5svh,18px);
  }
  body.swipe-panel-stack .hero .hero-bottom-row{
    width:100%!important;
    gap:clamp(32px,4vw,64px)!important;
    margin-top:clamp(26px,3.5svh,38px)!important;
  }
  body.swipe-panel-stack .hero .actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(190px,1fr));
    gap:14px!important;
  }
  body.swipe-panel-stack .hero .hero-stats{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(130px,1fr));
    gap:clamp(24px,3vw,48px)!important;
  }
  body.swipe-panel-stack .hero .hero-stats div{
    justify-content:flex-start;
    min-width:0;
  }
  body.swipe-panel-stack .hero .scroll{
    bottom:18px!important;
  }

  /* Keep the engine navigation inside the visible part of its sticky layer. */
  body.swipe-panel-stack #engine{
    padding-top:clamp(72px,9svh,104px)!important;
    padding-bottom:clamp(32px,5svh,56px)!important;
  }
  body.swipe-panel-stack #engine .engine-intro{
    margin-bottom:clamp(20px,3svh,32px)!important;
  }
  body.swipe-panel-stack #engine .engine-slider{
    height:min(430px,40svh)!important;
    min-height:320px!important;
  }
  body.swipe-panel-stack #engine .stages{
    position:relative;
    z-index:10;
    margin-top:0!important;
  }
  body.swipe-panel-stack #engine .stages button{
    min-height:72px;
    padding:14px 20px!important;
  }
  body.swipe-panel-stack #engine .stages button span{
    margin-bottom:10px!important;
  }
  body.swipe-panel-stack #engine .stage-detail{
    gap:clamp(28px,5vw,72px)!important;
    padding:22px 28px!important;
  }
  body.swipe-panel-stack #engine .stage-detail h3{
    margin:8px 0!important;
    font-size:clamp(24px,2.2vw,32px)!important;
    line-height:1.15!important;
  }
  body.swipe-panel-stack #engine .stage-detail p,
  body.swipe-panel-stack #engine .stage-detail li{
    font-size:14px!important;
    line-height:1.45!important;
  }
  body.swipe-panel-stack #engine .stage-detail p{margin-bottom:0!important}
  body.swipe-panel-stack #engine .stage-detail ul{margin:0!important;padding-left:18px!important}
  body.swipe-panel-stack #engine .stage-detail li{padding:7px!important}

  /* Keep the complete proof component inside its desktop sticky viewport. */
  body.swipe-panel-stack #cases{
    padding-top:clamp(52px,6svh,72px)!important;
    padding-bottom:clamp(30px,4svh,46px)!important;
  }
  body.swipe-panel-stack #cases .sectionhead{
    max-width:1120px!important;
  }
  body.swipe-panel-stack #cases .sectionhead .eyebrow{
    margin-bottom:12px!important;
    padding:8px 12px!important;
    font-size:10px!important;
  }
  body.swipe-panel-stack #cases .sectionhead h2{
    max-width:1080px;
    margin-bottom:12px!important;
    font-size:clamp(32px,3.25vw,46px)!important;
    line-height:1.06!important;
  }
  body.swipe-panel-stack #cases .sectionhead>p:last-child{
    max-width:820px;
    margin-bottom:0!important;
    font-size:14px!important;
    line-height:1.45!important;
  }
  body.swipe-panel-stack #cases .casegrid{
    gap:18px!important;
    margin-top:clamp(18px,2.5svh,26px)!important;
  }
  body.swipe-panel-stack #cases .casegrid article{
    padding:10px!important;
  }
  body.swipe-panel-stack #cases .casepic{
    height:clamp(155px,23svh,230px)!important;
    padding:14px!important;
  }
  body.swipe-panel-stack #cases .casegrid article>small{
    margin:12px 8px 6px!important;
    font-size:9px!important;
  }
  body.swipe-panel-stack #cases .casegrid h3{
    margin:0 8px 6px!important;
    font-size:21px!important;
    line-height:1.18!important;
  }
  body.swipe-panel-stack #cases .casegrid p{
    margin:0 8px 10px!important;
    font-size:13px!important;
    line-height:1.4!important;
  }
  body.swipe-panel-stack #cases .metrics b{
    padding:10px 8px!important;
    font-size:16px!important;
  }
  body.swipe-panel-stack #cases .metrics small{
    margin-top:3px!important;
    font-size:8px!important;
  }
  body.swipe-panel-stack #cases .note{
    margin:10px 0 0!important;
    font-size:9px!important;
    line-height:1.4!important;
  }
}

@media(min-width:901px) and (max-height:748px){
  body.swipe-panel-stack .hero{
    height:calc(100svh - 51px)!important;
    min-height:0!important;
    padding-top:112px!important;
    padding-bottom:30px!important;
  }
  body.swipe-panel-stack #engine .engine-slider{
    height:36svh!important;
    min-height:260px!important;
  }
}

/* Compact, touch-friendly engine navigation without hiding its detail content. */
@media(max-width:900px){
  .ticker{
    padding-block:13px!important;
    font-size:10px!important;
  }
  .ticker i{margin-inline:22px!important}
  #engine .stages{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(116px,1fr))!important;
    margin-top:32px!important;
    overflow-x:auto!important;
    overscroll-behavior-inline:contain;
    scrollbar-width:thin;
  }
  #engine .stages button{
    min-height:76px;
    padding:14px 16px!important;
    white-space:nowrap;
  }
  #engine .stages button span{
    display:block!important;
    margin:0 0 9px!important;
  }
  #engine .stage-detail{
    grid-template-columns:minmax(0,1fr)!important;
    gap:18px!important;
    padding:24px 20px!important;
  }
  #engine .stage-detail h3{
    margin:10px 0!important;
    font-size:clamp(24px,7vw,32px)!important;
    line-height:1.18!important;
  }
  #engine .stage-detail p,
  #engine .stage-detail li{
    overflow-wrap:anywhere;
  }
  #engine .stage-detail ul{margin:0!important;padding-left:18px!important}
}

@media(max-width:560px){
  .ticker{
    padding-block:12px!important;
    font-size:9px!important;
  }
  .ticker .ticker-set{letter-spacing:.13em}
  .ticker i{margin-inline:18px!important}
}

/* Final inventory label contrast override. */
.light .plex-card .inventory small{color:#fff!important}

/* Prevent the footer statement and CTA from colliding at intermediate widths. */
body footer.site-footer .footer-intro{min-width:0!important}
body footer.site-footer .footer-intro h2{max-width:680px!important;margin-inline:auto!important;white-space:normal!important;text-wrap:balance!important}
body footer.site-footer .footer-cta{max-width:100%!important}
@media(max-width:1380px){
  body footer.site-footer .footer-top{grid-template-columns:minmax(200px,280px) minmax(0,1fr)!important}
  body footer.site-footer .footer-cta{grid-column:1/-1!important;justify-self:center!important}
}

/* Dark WhatsApp enquiry form with a clearly defined dropdown. */
body .whatsapp-chat form{background:#121212!important;color:#fff!important}
body .whatsapp-chat label{color:#fff!important}
body .whatsapp-chat select{border:1.5px solid #c6a15b!important;background:#181818!important;color:#fff!important;border-radius:14px!important;padding-inline:18px 46px!important}
body .whatsapp-chat select:focus{border-color:#de4040!important;box-shadow:0 0 0 3px rgba(222,64,64,.2)!important}

/* Accessible, fully interactive project enquiry forms. */
main form#lead-form,main form.contact-form{position:relative;z-index:6;pointer-events:auto;background:#f3f3f1!important;color:#111!important}
main form#lead-form label,main form.contact-form label{display:block;color:#171717!important;font-weight:700;line-height:1.4}
main form#lead-form input,main form#lead-form select,main form#lead-form textarea,
main form.contact-form input,main form.contact-form select,main form.contact-form textarea{
  position:relative;z-index:7;display:block;width:100%;min-height:52px;padding:13px 14px!important;border:0!important;border-radius:3px;background:#fff!important;color:#111!important;-webkit-text-fill-color:#111!important;caret-color:#de4040!important;opacity:1!important;pointer-events:auto!important;user-select:text!important;font-size:16px!important;font-weight:500!important;line-height:1.45!important
}
main form#lead-form textarea,main form.contact-form textarea{min-height:130px;resize:vertical}
main form#lead-form select,main form.contact-form select{cursor:pointer;color-scheme:light}
main form#lead-form option,main form.contact-form option{background:#fff!important;color:#111!important;font-size:16px}
main form#lead-form input::placeholder,main form#lead-form textarea::placeholder,
main form.contact-form input::placeholder,main form.contact-form textarea::placeholder{color:#696b68!important;-webkit-text-fill-color:#696b68!important;opacity:1!important}
main form#lead-form input:focus,main form#lead-form select:focus,main form#lead-form textarea:focus,
main form.contact-form input:focus,main form.contact-form select:focus,main form.contact-form textarea:focus{border:0!important;outline:3px solid rgba(222,64,64,.28)!important;outline-offset:1px;box-shadow:none!important;background:#fff!important}
main form#lead-form input:-webkit-autofill,main form#lead-form input:-webkit-autofill:hover,main form#lead-form input:-webkit-autofill:focus,
main form.contact-form input:-webkit-autofill,main form.contact-form input:-webkit-autofill:hover,main form.contact-form input:-webkit-autofill:focus{-webkit-text-fill-color:#111!important;-webkit-box-shadow:0 0 0 1000px #fff inset!important;box-shadow:0 0 0 1000px #fff inset!important;transition:background-color 99999s ease-out 0s}
main form#lead-form .formnote,main form.contact-form .formnote{color:#4f504d!important;font-size:12px!important;line-height:1.55}
main form#lead-form .success,main form.contact-form .success{color:#185f36!important;font-size:14px!important;font-weight:700}
main form .captcha-field{padding:15px 16px;background:#e5e6e2;color:#111!important}
main form .captcha-field input{margin-top:9px;background:#fff!important}
main form .captcha-field small{display:block;margin-top:8px;color:#555!important;font-size:11px;letter-spacing:0;text-transform:none;font-weight:500}

/* Final white text treatment for every interactive button and CTA. */
button,.button,.btn,.footer-cta,.navcta,.nav-cta,.iplex-view,.iplex-cta,.mobile-cta,.wa-send,.plex-scene button{color:#fff!important}
button:hover,.button:hover,.btn:hover,.footer-cta:hover,.navcta:hover,.nav-cta:hover,.iplex-view:hover,.iplex-cta:hover,.mobile-cta:hover,.wa-send:hover,.plex-scene button:hover{color:#fff!important}
.hero .actions .btn:hover,header.nav .navcta:hover,header.site-nav .nav-cta:hover{background:#b83232!important;border-color:#b83232!important;color:#fff!important}
.product-visual:after{color:#fff!important}

/* Keep dynamic Work-card copy on one consistent content edge. */
.project-card>a{display:block;width:100%;height:100%;color:inherit;text-decoration:none}
.project-card>a>span,.project-card>a>h3,.project-card>a>p{display:block;margin-left:16px!important;margin-right:16px!important;text-align:left}
.project-card>a>span{margin-top:0!important;color:#c6a15b!important;font-size:9px;letter-spacing:.14em}
.project-card>a>h3{margin-top:22px!important;margin-bottom:14px!important}
.project-card>a>p{margin-top:0!important;margin-bottom:20px!important}
@media(max-width:560px){.project-card>a>span,.project-card>a>h3,.project-card>a>p{margin-left:2px!important;margin-right:2px!important}.project-card>a>h3{margin-top:18px!important}}

/* Final shared footer safeguards for compact tablets and phones. */
body footer.site-footer *{min-width:0}
body footer.site-footer img{max-width:100%;height:auto}
@media(max-width:650px){
  body footer.site-footer{padding-inline:clamp(18px,5vw,28px)!important}
  body footer.site-footer .footer-top{justify-items:center!important;text-align:center!important}
  body footer.site-footer .footer-mark{width:min(240px,100%)!important}
  body footer.site-footer .footer-cta{justify-self:stretch!important;width:100%!important;white-space:normal!important;text-align:left!important}
  body footer.site-footer .footer-middle{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"services" "menu" "social"!important;justify-items:center!important;text-align:center!important}
  body footer.site-footer .footer-middle>p{justify-self:center!important;text-align:center!important;overflow-wrap:anywhere}
  body footer.site-footer .footer-primary-nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important;gap:14px 18px!important}
  body footer.site-footer .footer-primary-nav a{display:flex!important;align-items:center!important;justify-content:center!important;min-height:44px!important}
  body footer.site-footer .footer-social-group{justify-self:center!important}
  body footer.site-footer .footer-bottom{grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"copyright" "legal" "rera"!important;gap:16px!important;padding-bottom:104px!important;text-align:center!important}
  body footer.site-footer .footer-bottom>small:first-child,body footer.site-footer .footer-bottom>small:last-child{justify-self:center!important;text-align:center!important}
  body footer.site-footer .footer-legal{justify-self:center!important;flex-wrap:wrap!important}
}

/* Definitive footer layout: identical stacking and spacing on every route. */
@media(max-width:900px){
  body footer.site-footer .footer-top{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:28px!important;
    width:100%!important;
    padding:48px 0 40px!important;
    text-align:center!important;
  }
  body footer.site-footer .footer-mark{
    display:block!important;
    width:min(240px,78vw)!important;
    max-width:100%!important;
    margin:0 auto!important;
  }
  body footer.site-footer .footer-mark img{display:block!important;width:100%!important;margin:0 auto!important}
  body footer.site-footer .footer-intro{display:block!important;width:100%!important;max-width:680px!important;margin:0 auto!important}
  body footer.site-footer .footer-intro p{
    width:auto!important;
    margin:0 0 12px!important;
    writing-mode:horizontal-tb!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    white-space:normal!important;
  }
  body footer.site-footer .footer-intro h2{
    width:100%!important;
    margin:0!important;
    font-size:clamp(22px,6vw,30px)!important;
    line-height:1.2!important;
    writing-mode:horizontal-tb!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    white-space:normal!important;
  }
  body footer.site-footer .footer-cta{
    display:flex!important;
    width:min(100%,430px)!important;
    min-height:56px!important;
    margin:0 auto!important;
    white-space:normal!important;
  }
}

@media(max-width:420px){
  body footer.site-footer .footer-primary-nav{grid-template-columns:minmax(0,1fr)!important}
  body footer.site-footer .footer-middle>p{font-size:9px!important;line-height:1.8!important}
  body footer.site-footer .footer-legal{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important}
}

/* Polished compact footer. */
@media(max-width:650px){
  body footer.site-footer{padding-inline:20px!important;background:#101010!important}
  body footer.site-footer .footer-top{gap:22px!important;padding:42px 0 34px!important}
  body footer.site-footer .footer-intro p{font-size:9px!important;letter-spacing:.14em!important}
  body footer.site-footer .footer-intro h2{max-width:340px!important;font-size:24px!important;line-height:1.22!important}
  body footer.site-footer .footer-cta{min-height:54px!important;padding-left:20px!important;border-radius:8px!important;background:#de4040!important;border-color:#de4040!important;box-shadow:5px 5px 0 rgba(255,255,255,.1)!important}
  body footer.site-footer .footer-middle{gap:22px!important;padding:28px 0 30px!important}
  body footer.site-footer .footer-middle>p{max-width:320px!important;font-size:9px!important;line-height:1.8!important;letter-spacing:.08em!important;color:#9c9c98!important}
  body footer.site-footer .footer-primary-nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;width:100%!important}
  body footer.site-footer .footer-primary-nav a{min-height:48px!important;padding:10px 12px!important;border:1px solid #303030!important;border-radius:6px!important;background:#171717!important;font-size:12px!important;text-align:center!important}
  body footer.site-footer .footer-primary-nav a:last-child{grid-column:1/-1!important;background:#24201a!important;border-color:#6f592f!important;color:#d8b96f!important}
  body footer.site-footer .footer-bottom{gap:18px!important;padding:22px 0 92px!important;border-top:0!important}
  body footer.site-footer .footer-bottom>small{font-size:9px!important;line-height:1.5!important}
  body footer.site-footer .footer-legal{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;width:100%!important}
  body footer.site-footer .footer-legal a{display:flex!important;align-items:center!important;justify-content:center!important;min-height:38px!important;padding:8px 10px!important;border:1px solid #303030!important;border-radius:5px!important;background:#151515!important;font-size:10px!important}
}

@media(max-width:360px){
  body footer.site-footer{padding-inline:16px!important}
  body footer.site-footer .footer-legal{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* Footer legal navigation uses quiet text links, not button-style boxes. */
@media(max-width:650px){
  body footer.site-footer .footer-legal{
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:center!important;
    gap:0!important;
  }
  body footer.site-footer .footer-legal a{
    position:relative!important;
    display:inline-flex!important;
    width:auto!important;
    min-height:0!important;
    padding:4px 12px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:#d2d2ce!important;
    font-size:10px!important;
    text-decoration:none!important;
  }
  body footer.site-footer .footer-legal a:not(:last-child):after{
    content:"·";
    position:absolute;
    right:-2px;
    color:#de4040;
  }
  body footer.site-footer .footer-legal a:hover{color:#de4040!important}
}
