
:root{--bg:#061a33;--ink:#041426;--paper:#eef1f4;--acid:#4f78c8;--ice:#dce8f4;--blue:#1f5ea8;--navy:#061a33;--navy-deep:#03101f;--navy-mid:#0b2b52;--line:rgba(255,255,255,.13);--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background:var(--bg)}body{font-family:Outfit,sans-serif;background:var(--bg);color:#fff;overflow-x:hidden}body.loading{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}img{width:100%;height:100%;display:block;object-fit:cover}.container{width:min(1600px,calc(100% - 64px));margin:auto}.mono{font:500 10px/1.2 Outfit;letter-spacing:.18em;text-transform:uppercase}.display{font-family:"Space Grotesk",sans-serif;letter-spacing:-.075em;line-height:.83;font-weight:500}.noise{position:fixed;inset:0;z-index:999;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='3' stitchTiles='stitchTiles'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}.loader{position:fixed;inset:0;z-index:3000;background:var(--navy-deep);display:grid;place-items:center}.loader-core{width:min(760px,calc(100% - 42px))}.loader-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:45px}.loader-top img{width:105px;height:auto}.loader-top span{color:rgba(255,255,255,.42)}.loader-word{font:500 clamp(48px,8vw,120px)/.8 "Space Grotesk";letter-spacing:-.08em}.loader-word i{font-style:normal;color:var(--acid)}.loader-bottom{display:flex;justify-content:space-between;margin-top:45px;padding-top:15px;border-top:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.44)}
.header{position:absolute;z-index:80;top:0;left:0;right:0}.header-in{height:92px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid rgba(255,255,255,.16)}.brand img{width:108px;height:auto}.nav{display:flex;gap:34px;font-size:12px}.nav a{opacity:.7;transition:.3s}.nav a:hover{opacity:1}.header-cta{justify-self:end;display:flex;align-items:center;gap:13px;font-size:12px}.header-cta b{width:38px;height:38px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-weight:500;transition:.45s var(--ease)}.header-cta:hover b{transform:rotate(45deg) scale(1.06)}.menu-btn{display:none;background:none;border:1px solid rgba(255,255,255,.3);color:#fff;width:45px;height:45px;border-radius:50%;position:relative}.menu-btn:before,.menu-btn:after{content:"";position:absolute;left:13px;right:13px;height:1px;background:currentColor}.menu-btn:before{top:18px}.menu-btn:after{top:25px}.float-menu-btn{display:none;background:none;border:1px solid rgba(6,26,51,.18);color:var(--navy);width:40px;height:40px;border-radius:50%;position:relative;flex:0 0 40px}.float-menu-btn:before,.float-menu-btn:after{content:"";position:absolute;left:11px;right:11px;height:1px;background:currentColor}.float-menu-btn:before{top:16px}.float-menu-btn:after{top:23px}.float-head{position:fixed;z-index:200;left:18px;right:18px;top:14px;transform:translateY(-110px);opacity:0;transition:.65s var(--ease);pointer-events:none}.float-head.show{transform:none;opacity:1;pointer-events:auto}.float-in{height:62px;padding:0 16px 0 18px;border-radius:16px;background:rgba(248,250,252,.985);color:#070b11;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;box-shadow:0 18px 70px rgba(0,0,0,.22);backdrop-filter:none;-webkit-backdrop-filter:none}.float-in .brand img{width:56px;filter:none!important}.float-in .nav{font-size:11px}.float-in .header-cta{font-size:11px}.float-in .header-cta b{width:32px;height:32px}.mobile-menu{position:fixed;z-index:170;inset:0;background:#05090f;padding:115px 22px 30px;clip-path:inset(0 0 100% 0);transition:.7s var(--ease)}.mobile-menu.open{clip-path:inset(0)}.mobile-menu a{display:block;font:500 clamp(52px,15vw,80px)/1 "Space Grotesk";letter-spacing:-.07em;padding:10px 0;border-bottom:1px solid var(--line)}
.hero{height:100svh;min-height:820px;position:relative;overflow:hidden;background:#05090f}.hero-media{position:absolute;inset:0;overflow:hidden}.hero-media img{filter:saturate(.72) contrast(1.08) brightness(.68);transform:scale(1.035);object-position:center center}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,17,43,.94) 0%,rgba(2,17,43,.76) 28%,rgba(2,17,43,.28) 58%,rgba(2,17,43,.18) 100%),linear-gradient(180deg,rgba(2,17,43,.12),rgba(2,17,43,.58) 72%,rgba(2,17,43,.88))}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.075) 1px,transparent 1px);background-size:12.5vw 12.5vw;mask-image:linear-gradient(90deg,#000,transparent 88%);opacity:.38}.hero-in{height:100%;position:relative;z-index:3;padding-top:140px;padding-bottom:34px;display:grid;grid-template-columns:1.05fr .95fr;grid-template-rows:auto 1fr auto}.hero-tag{grid-column:1;align-self:start;display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.66)}.hero-tag i{width:9px;height:9px;border-radius:50%;background:var(--acid);box-shadow:0 0 0 8px rgba(79,120,200,.12)}.hero-title{grid-column:1/-1;align-self:center;font-size:clamp(82px,10vw,164px);max-width:1500px}.hero-title .ghost{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.43)}.hero-title .accent{color:var(--acid)}.hero-title span{display:block;overflow:hidden}.hero-title span b{display:block;font-weight:500}.hero-foot{grid-column:1/-1;display:grid;grid-template-columns:1.1fr .62fr .62fr 260px;gap:28px;align-items:end;border-top:1px solid rgba(255,255,255,.22);padding-top:20px}.hero-copy{max-width:560px;font-size:14px;line-height:1.68;color:rgba(255,255,255,.76)}.metric strong{font:500 32px "Space Grotesk";letter-spacing:-.05em;display:block}.metric small{color:rgba(255,255,255,.4)}.signal{border:1px solid rgba(255,255,255,.2);padding:14px 15px;display:flex;justify-content:space-between;align-items:center}.signal-bars{display:flex;gap:4px;align-items:end;height:30px}.signal-bars i{display:block;width:3px;background:var(--ice);animation:pulse 1.2s ease-in-out infinite}.signal-bars i:nth-child(1){height:9px}.signal-bars i:nth-child(2){height:20px;animation-delay:.15s}.signal-bars i:nth-child(3){height:14px;animation-delay:.3s}.signal-bars i:nth-child(4){height:27px;animation-delay:.45s}@keyframes pulse{50%{opacity:.25;transform:scaleY(.55)}}
.index-strip{background:var(--navy-mid);color:#fff;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);overflow:hidden}.index-track{display:flex;width:max-content;animation:marquee 24s linear infinite}.index-track span{padding:19px 34px;white-space:nowrap;font:600 11px Outfit;letter-spacing:.17em;text-transform:uppercase}.index-track span:after{content:"•";margin-left:68px;color:var(--ice)}@keyframes marquee{to{transform:translateX(-50%)}}
.manifesto{background:var(--paper);color:var(--ink);padding:180px 0}.manifesto-grid{display:grid;grid-template-columns:.34fr 1.66fr;gap:70px}.manifesto-side{padding-top:13px}.manifesto-side p{margin-top:30px;max-width:235px;font-size:12px;line-height:1.65;color:#697078}.manifesto h2{font:500 clamp(58px,6.5vw,104px)/.94 "Space Grotesk";letter-spacing:-.075em}.manifesto h2 span{color:#aaa9a2}.manifesto-bottom{grid-column:2;margin-top:90px;display:grid;grid-template-columns:1.25fr .75fr;gap:100px}.manifesto-bottom p{font-size:17px;line-height:1.72;color:#5f666d}.manifesto-link{width:150px;height:150px;border:1px solid rgba(6,10,16,.18);border-radius:50%;display:grid;place-items:center;text-align:center;font-size:10px;letter-spacing:.14em;text-transform:uppercase;transition:.55s var(--ease)}.manifesto-link:hover{background:#05090f;color:#fff;transform:rotate(-8deg)}
.system{background:#05090f;padding:160px 0 190px}.system-head{display:grid;grid-template-columns:.36fr 1.64fr;gap:70px;margin-bottom:95px}.system-head h2{font-size:clamp(58px,6.3vw,102px)}.system-head p{max-width:560px;font-size:15px;line-height:1.7;color:rgba(255,255,255,.66);margin-top:34px}.system-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:180px;gap:12px}.sys-card{position:relative;overflow:hidden;border:1px solid var(--line);background:#0a1018;padding:25px;display:flex;flex-direction:column;justify-content:space-between;transition:.6s var(--ease)}.sys-card:hover{transform:translateY(-8px);border-color:rgba(79,120,200,.62)}.sys-card h3{font:500 clamp(27px,2.6vw,44px)/1 "Space Grotesk";letter-spacing:-.055em}.sys-card p{font-size:12px;line-height:1.55;color:rgba(255,255,255,.62);max-width:340px}.sys-card .num{color:var(--acid)}.sys-card.one{grid-column:1/7;grid-row:span 3;background:var(--ice);color:#07111a}.sys-card.one p{color:rgba(7,17,26,.58)}.sys-card.two{grid-column:7/13;grid-row:span 2}.sys-card.three{grid-column:7/10;grid-row:span 2;background:var(--blue)}.sys-card.four{grid-column:10/13;grid-row:span 2;background:#111a24}.sys-card.one:after{content:"";position:absolute;width:280px;height:280px;border:1px solid rgba(7,17,26,.25);border-radius:50%;right:-65px;bottom:-85px;box-shadow:0 0 0 34px rgba(7,17,26,.04),0 0 0 68px rgba(7,17,26,.035)}.data-line{height:55px;display:flex;align-items:flex-end;gap:5px}.data-line i{flex:1;background:rgba(255,255,255,.13);min-height:10px}.data-line i:nth-child(2n){height:70%}.data-line i:nth-child(3n){height:95%;background:var(--acid)}
.feature{min-height:105vh;background:#dfe6ed;color:#070b11;display:grid;grid-template-columns:1fr 1fr}.feature-media{position:relative;overflow:hidden}.feature-media img{position:absolute;inset:0;filter:saturate(.4) contrast(1.12)}.feature-copy{padding:88px 7vw;display:flex;flex-direction:column;justify-content:space-between}.feature-copy h2{font:500 clamp(74px,7.5vw,128px)/.83 "Space Grotesk";letter-spacing:-.08em}.feature-copy h2 span{display:block;color:rgba(7,11,17,.24)}.feature-bottom{display:grid;grid-template-columns:1fr 1fr;gap:35px;border-top:1px solid rgba(7,11,17,.22);padding-top:22px}.feature-bottom p{font-size:14px;line-height:1.65;color:#556069}.chips{display:flex;gap:7px;flex-wrap:wrap;align-content:start}.chips span{border:1px solid rgba(7,11,17,.22);border-radius:100px;padding:8px 11px;font-size:9px;text-transform:uppercase;letter-spacing:.11em}
.sectors{background:var(--paper);color:var(--ink);padding:170px 0}.sector-head{display:grid;grid-template-columns:1.45fr .55fr;gap:80px;align-items:end;margin-bottom:85px}.sector-head h2{font-size:clamp(70px,7.9vw,128px)}.sector-head p{font-size:14px;line-height:1.685;color:#616970;padding-bottom:10px}.sector-list{border-top:1px solid rgba(6,10,16,.17)}.sector-row{position:relative;display:grid;grid-template-columns:70px 1fr .75fr 40px;gap:32px;align-items:center;padding:32px 0;border-bottom:1px solid rgba(6,10,16,.17);overflow:hidden}.sector-row h3{font:500 clamp(35px,4vw,64px)/1 "Space Grotesk";letter-spacing:-.06em}.sector-row p{font-size:13px;line-height:1.55;color:#697078}.sector-row:before{content:"";position:absolute;inset:0;background:#05090f;transform:translateY(101%);transition:.6s var(--ease)}.sector-row>*{position:relative;z-index:2}.sector-row:hover{color:#fff}.sector-row:hover:before{transform:none}.sector-row:hover p{color:rgba(255,255,255,.56)}.sector-row b{font-size:24px;font-weight:400;transition:.45s}.sector-row:hover b{transform:rotate(45deg)}
.blue{background:var(--blue);padding:170px 0}.blue-grid{display:grid;grid-template-columns:.34fr 1.66fr;gap:70px}.blue h2{font:500 clamp(68px,7.6vw,121px)/.9 "Space Grotesk";letter-spacing:-.075em}.blue h2 span{color:rgba(255,255,255,.35)}.blue-cards{grid-column:2;margin-top:90px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.3)}.blue-card{padding:28px 28px 10px 0;min-height:260px;border-right:1px solid rgba(255,255,255,.3)}.blue-card+ .blue-card{padding-left:28px}.blue-card:last-child{border-right:0}.blue-card strong{font:500 48px "Space Grotesk"}.blue-card h3{margin:54px 0 10px;font:500 18px "Space Grotesk"}.blue-card p{font-size:12px;line-height:1.55;color:rgba(255,255,255,.62)}
.process{background:#05090f;padding:170px 0}.process-head{display:grid;grid-template-columns:.35fr 1.65fr;gap:70px;margin-bottom:90px}.process-head h2{font-size:clamp(70px,7.5vw,121px)}.steps{counter-reset:s}.step{counter-increment:s;display:grid;grid-template-columns:80px .7fr 1fr .45fr;gap:30px;padding:38px 0;border-top:1px solid var(--line);align-items:start;transition:.5s var(--ease)}.step:last-child{border-bottom:1px solid var(--line)}.step:before{content:"0" counter(s);color:var(--acid);font-size:10px;letter-spacing:.16em}.step h3{font:500 34px "Space Grotesk";letter-spacing:-.05em}.step p{font-size:14px;line-height:1.65;color:rgba(255,255,255,.66);max-width:520px}.step span{font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:rgba(255,255,255,.38)}.step:hover{padding-left:18px;background:rgba(255,255,255,.025)}
.vision{height:110vh;min-height:820px;position:relative;overflow:hidden}.vision-media{position:absolute;inset:-10% 0}.vision-media img,.vision-media video{filter:saturate(.5) contrast(1.12) brightness(.62)}.vision-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,9,15,.08),rgba(5,9,15,.86))}.vision-in{position:relative;z-index:2;height:100%;padding-bottom:6vh;display:flex;flex-direction:column;justify-content:flex-end}.vision h2{font:500 clamp(76px,8.8vw,148px)/.82 "Space Grotesk";letter-spacing:-.08em}.vision h2 span{color:var(--ice)}.vision-foot{display:grid;grid-template-columns:1.25fr .5fr .5fr;gap:45px;border-top:1px solid rgba(255,255,255,.25);padding-top:20px;margin-top:38px}.vision-foot p{font-size:14px;line-height:1.6;color:rgba(255,255,255,.6);max-width:560px}.vision-foot strong{font:500 30px "Space Grotesk";display:block}.vision-foot small{color:rgba(255,255,255,.38)}
.contact{background:#e7edf3;color:var(--ink);padding:145px 0 34px}.contact-grid{display:grid;grid-template-columns:.32fr 1.68fr;gap:70px}.contact h2{font:500 clamp(74px,8.3vw,134px)/.84 "Space Grotesk";letter-spacing:-.08em}.contact h2 span{color:rgba(6,26,51,.38)}.contact-actions{grid-column:2;margin-top:75px;display:flex;justify-content:space-between;align-items:end}.mail{font:500 clamp(25px,3vw,46px) "Space Grotesk";letter-spacing:-.05em;border-bottom:2px solid;padding-bottom:7px}.disc{width:145px;height:145px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;text-align:center;font-size:10px;letter-spacing:.14em;text-transform:uppercase;transition:.5s var(--ease)}.disc:hover{transform:scale(1.08) rotate(-8deg)}footer{margin-top:130px;border-top:1px solid rgba(6,26,51,.22);padding-top:22px;display:grid;grid-template-columns:1fr auto auto;gap:40px;font-size:10px;letter-spacing:.13em;text-transform:uppercase}.footer-links{display:flex;gap:24px}
.reveal{opacity:0;transform:translateY(55px)}
@media(max-width:950px){.container{width:calc(100% - 38px)}.nav,.header-cta{display:none}.header-in{display:flex;justify-content:space-between;height:78px}.brand img{width:98px}.menu-btn{display:block}.float-head{display:block;left:10px;right:10px;top:8px;transform:translateY(-92px)}.float-head.show{transform:translateY(0)}.float-in{height:56px;padding:0 8px 0 14px;border-radius:14px;display:flex;justify-content:space-between}.float-in .brand img{width:76px}.float-in .nav,.float-in .header-cta{display:none}.float-menu-btn{display:block}.hero{min-height:740px}.hero-media{inset:0}.hero-media:after{background:linear-gradient(180deg,rgba(5,9,15,.28),rgba(5,9,15,.45) 45%,rgba(5,9,15,.91))}.hero-in{padding-top:108px;padding-bottom:22px;display:flex;flex-direction:column}.hero-title{margin:auto 0 40px;font-size:clamp(56px,14vw,88px)}.hero-foot{grid-template-columns:1fr 1fr;gap:18px}.hero-copy{grid-column:1/-1;font-size:13px}.signal{display:none}.manifesto,.system,.sectors,.blue,.process,.contact{padding:105px 0}.manifesto-grid,.system-head,.blue-grid,.process-head,.contact-grid{grid-template-columns:1fr;gap:30px}.manifesto-bottom,.blue-cards,.contact-actions{grid-column:1}.manifesto-bottom,.manifesto-bottom-resp{grid-template-columns:1fr!important;gap:35px;margin-top:50px}.manifesto h2,.system-head h2,.sector-head h2,.blue h2,.process-head h2,.contact h2{font-size:clamp(44px,11.8vw,70px)}.system-grid{display:block}.sys-card{min-height:280px;margin-bottom:10px}.feature{grid-template-columns:1fr;min-height:auto}.feature-media{height:72vh;min-height:580px}.feature-copy{padding:75px 20px}.feature-copy h2{font-size:clamp(54px,13vw,82px);margin:90px 0}.feature-bottom{grid-template-columns:1fr}.sector-head{grid-template-columns:1fr;gap:28px}.sector-row{grid-template-columns:38px 1fr 25px;gap:14px;padding:26px 0}.sector-row p{grid-column:2/-1}.blue-cards{grid-template-columns:1fr;margin-top:50px}.blue-card,.blue-card+.blue-card{padding:25px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.3);min-height:auto}.step{grid-template-columns:38px 1fr;gap:15px}.step p,.step span{grid-column:2}.vision{height:92vh;min-height:690px}.vision h2{font-size:clamp(51px,13vw,80px)}.vision-foot{grid-template-columns:1fr 1fr}.vision-foot p{grid-column:1/-1}.contact-actions{flex-direction:column;align-items:flex-start;gap:45px}.disc{width:122px;height:122px}footer{grid-template-columns:1fr;gap:18px;margin-top:90px}.footer-links{flex-wrap:wrap}}
@media(max-width:420px){.container{width:calc(100% - 28px)}.hero-title{font-size:clamp(49px,14vw,64px)}.hero-foot{gap:14px}.metric strong{font-size:26px}.manifesto h2,.system-head h2,.sector-head h2,.blue h2,.process-head h2,.contact h2{font-size:43px}.feature-copy h2{font-size:51px}.vision h2{font-size:50px}.sector-row h3{font-size:31px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Reliable local motion system. Content remains visible if JavaScript is
   unavailable; the classes below are applied only after the local script runs. */
.scroll-reveal{
  opacity:0;
  transform:translate3d(0,58px,0);
  transition:
    opacity .72s ease var(--reveal-delay,0ms),
    transform 1s var(--ease) var(--reveal-delay,0ms);
  will-change:transform,opacity;
}
.scroll-reveal.is-visible{
  opacity:1;
  transform:translate3d(0,0,0);
}
.hero-title b,
.hero-foot,
.hero-tag,
.header-in,
.hero-search-copy > p,
.hero-search-copy .mobility-search,
.hero-search-foot,
.page-hero-in > *{
  opacity:0;
  transform:translate3d(0,var(--intro-from,34px),0);
  will-change:transform,opacity;
}
.hero-title b.intro-visible,
.hero-foot.intro-visible,
.hero-tag.intro-visible,
.header-in.intro-visible,
.hero-search-copy > p.intro-visible,
.hero-search-copy .mobility-search.intro-visible,
.hero-search-foot.intro-visible,
.page-hero-in > *.intro-visible{
  opacity:1;
  transform:translate3d(0,0,0);
  transition:
    opacity calc(var(--intro-duration,700ms) * .72) ease var(--intro-delay,0ms),
    transform var(--intro-duration,1050ms) var(--ease) var(--intro-delay,0ms);
}
/* The entrance has played out: no residual transition, so nothing can replay it. */
.hero-title b.intro-done,
.hero-foot.intro-done,
.hero-tag.intro-done,
.header-in.intro-done,
.hero-search-copy > p.intro-done,
.hero-search-copy .mobility-search.intro-done,
.hero-search-foot.intro-done,
.page-hero-in > *.intro-done{
  opacity:1;
  transform:none;
  transition:none;
  will-change:auto;
}
.loader{
  transition:transform .95s var(--ease),opacity .5s ease;
}
.loader.loader-exit{
  transform:translate3d(0,-102%,0);
  opacity:.98;
  pointer-events:none;
}
.hero-media img,
.feature-media img,
.page-hero-media img,
.future-city .vision-media video{
  translate:0 var(--parallax-y,0);
}
@media(prefers-reduced-motion:reduce){
  .scroll-reveal,
  .hero-title b,
  .hero-foot,
  .hero-tag,
  .header-in,
  .hero-search-copy > p,
  .hero-search-copy .mobility-search,
  .hero-search-foot,
  .page-hero-in > *{
    opacity:1!important;
    transform:none!important;
  }
}

/* Requested navy palette, visible loader and mobile side drawer */
.loader-progress{position:relative;width:100%;height:3px;margin-top:42px;background:rgba(255,255,255,.12);overflow:visible}
.loader-progress:before{content:"";position:absolute;inset:-10px 0;pointer-events:none}
.loader-progress-fill{position:relative;width:0;height:100%;background:linear-gradient(90deg,var(--navy-mid),var(--blue),var(--ice));box-shadow:0 0 24px rgba(201,236,255,.35)}
.loader-progress-fill i{position:absolute;right:-5px;top:50%;width:11px;height:11px;border-radius:50%;background:#fff;transform:translateY(-50%);box-shadow:0 0 0 5px rgba(201,236,255,.12),0 0 26px rgba(201,236,255,.95)}
.loader-bottom{margin-top:18px!important}.loader-bottom b{font-weight:500;color:#fff}
.loader-word i{color:var(--ice)}
.hero,.system,.process{background:var(--navy)}
.header{background:linear-gradient(180deg,rgba(3,16,31,.48),transparent)}
.mobile-menu-backdrop{display:none}
.mobile-menu-top,.mobile-menu-foot{display:none}
@media(max-width:950px){
 .mobile-menu-backdrop{display:block;position:fixed;z-index:268;inset:0;background:rgba(2,8,16,.62);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:opacity .45s ease,visibility .45s ease}
 .mobile-menu-backdrop.open{opacity:1;visibility:visible}
 .mobile-menu{z-index:270;display:flex;flex-direction:column;justify-content:space-between;inset:0 auto 0 0;width:min(72vw,430px);padding:calc(28px + env(safe-area-inset-top)) 22px calc(25px + env(safe-area-inset-bottom));background:linear-gradient(145deg,var(--navy-mid),var(--navy-deep) 72%);clip-path:none;transform:translate3d(-104%,0,0);transition:transform .7s var(--ease);box-shadow:30px 0 80px rgba(0,0,0,.38);overflow-y:auto}
 .mobile-menu.open{transform:translate3d(0,0,0)}
 .mobile-menu-top,.mobile-menu-foot{display:flex;align-items:center;justify-content:space-between}
 .mobile-menu-top{padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.55)}
 .mobile-menu-close{width:42px;height:42px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(255,255,255,.04);color:#fff;font-size:27px;line-height:1}
 .mobile-menu-links{margin:auto 0}
 .mobile-menu a{font-size:clamp(38px,10.5vw,58px);padding:13px 0}
 .mobile-menu-foot{padding-top:22px;border-top:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.44);font-size:8px;gap:20px}
 .mobile-menu-foot span:last-child{text-align:right}
 .menu-btn{z-index:180;transition:transform .4s var(--ease),background .3s ease}
 .menu-btn.active{transform:rotate(90deg);background:rgba(255,255,255,.12)}
}
@media(max-width:520px){.mobile-menu{width:76vw}.loader-core{width:calc(100% - 34px)}.loader-progress{margin-top:34px}}



/* Corporate palette refinement — no neon accents */
:root{--accent:#4f78c8;--accent-dark:#234e88;--steel:#8ca2ba;--mist:#e7edf3}
.loader-word i,.hero-title .accent,.sys-card .num,.step:before{color:var(--accent)!important}
.hero-tag i{background:var(--accent)!important;box-shadow:0 0 0 8px rgba(79,120,200,.12)!important}
.signal-bars i{background:var(--ice)!important}
.header-cta b{background:var(--blue)!important;color:#fff!important}
.sys-card:hover{border-color:rgba(79,120,200,.62)!important}
.data-line i:nth-child(3n){background:var(--accent)!important}
.index-strip{background:var(--navy-mid)!important;color:#fff!important}
.contact{background:var(--mist)!important;color:var(--ink)!important}
.contact h2 span{color:rgba(6,26,51,.38)!important}
.disc{background:var(--navy)!important;color:#fff!important}



/* v9 — coherent information architecture and rebuilt showcase sections */
.expertise-showcase{background:#eef1f4!important;color:var(--ink)!important;padding:150px 0 160px!important;border-radius:0!important;overflow:hidden}
.expertise-showcase .container{width:min(1600px,calc(100% - 64px))}
.expertise-intro{display:grid;grid-template-columns:.34fr 1.66fr;gap:70px;align-items:start;margin-bottom:80px}
.expertise-intro-copy h2{font:500 clamp(58px,6.3vw,100px)/.91 "Space Grotesk";letter-spacing:-.075em;max-width:1200px}
.expertise-intro-copy h2 span{color:rgba(6,26,51,.34)}
.expertise-intro-copy p{max-width:650px;margin-top:32px;font-size:15px;line-height:1.72;color:#5f6b78}
.expertise-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:stretch}
.expertise-card{position:relative;min-width:0;min-height:430px;border-radius:22px;border:1px solid rgba(6,26,51,.15);padding:32px 30px 28px;display:flex;flex-direction:column;overflow:hidden;transition:transform .65s var(--ease),box-shadow .65s var(--ease),border-color .45s ease}
.expertise-card:hover{transform:translateY(-6px);box-shadow:0 24px 70px rgba(6,26,51,.1);border-color:rgba(31,94,168,.34)}
.expertise-card--navy{background:radial-gradient(circle at 82% 8%,rgba(31,94,168,.2),transparent 37%),linear-gradient(145deg,#061a33,#092848);color:#fff;border-color:transparent}
.expertise-card--white{background:linear-gradient(145deg,#fff,#f5f7f9)}
.expertise-card--blue{background:linear-gradient(135deg,#dce8f4,#cbdced)}
.expertise-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;color:#697584}
.expertise-card--navy .expertise-card-top{color:rgba(255,255,255,.57)}
.expertise-arrow{width:44px;height:44px;border-radius:50%;border:1px solid currentColor;display:grid;place-items:center;font-size:22px;line-height:1;flex:0 0 44px;transition:transform .5s var(--ease),background .4s ease,color .4s ease}
.expertise-card:hover .expertise-arrow{transform:rotate(45deg)}
.expertise-card:hover .expertise-arrow--side{transform:translateX(4px)}
.expertise-card h3{font:500 clamp(34px,3.7vw,62px)/.98 "Space Grotesk";letter-spacing:-.063em;max-width:900px;margin:54px 0 38px}
.expertise-card p{font-size:14px;line-height:1.62;color:#657181;max-width:720px;margin-top:auto}
.expertise-card--navy p{color:rgba(255,255,255,.64)}
.feature{border-radius:0!important}
.future-city{height:100vh;min-height:780px;border-radius:0!important;margin-top:0}
.future-city .vision-media{inset:0}
.future-city .vision-media img,.future-city .vision-media video{filter:saturate(.65) contrast(1.06) brightness(.72);object-position:center 48%}
.future-city .vision-media:after{background:linear-gradient(180deg,rgba(4,20,38,.04),rgba(4,20,38,.08) 38%,rgba(4,20,38,.75) 100%),linear-gradient(90deg,rgba(4,20,38,.38),transparent 68%)}
.future-city .vision-in{padding-top:110px;padding-bottom:6vh;justify-content:flex-end}
.future-city h2{font:500 clamp(76px,7.9vw,132px)/.84 "Space Grotesk";letter-spacing:-.085em;max-width:1180px;text-transform:none}
.future-city h2 span{color:rgba(255,255,255,.43)}
.future-city .vision-foot{grid-template-columns:1.2fr .45fr .45fr;align-items:start}
.future-city .vision-foot strong{font-size:34px}
@media(max-width:950px){
 .float-head{left:0!important;right:0!important;top:0!important;transform:translateY(-100%)!important}
 .float-head.show{transform:translateY(0)!important}
 .float-head .container{width:100%!important}
 .float-in{height:72px!important;border-radius:0!important;padding:0 19px!important;box-shadow:0 10px 32px rgba(6,26,51,.12)!important;background:rgba(248,250,252,.99)!important}
 .float-in .brand img{width:70px!important}
 .float-menu-btn{width:44px!important;height:44px!important;flex-basis:44px!important}
 .mobile-menu{inset:0 0 0 auto!important;transform:translate3d(104%,0,0)!important;box-shadow:-30px 0 80px rgba(0,0,0,.38)!important}
 .mobile-menu.open{transform:translate3d(0,0,0)!important}
 .expertise-showcase{padding:100px 0 108px!important}
 .expertise-showcase .container{width:calc(100% - 38px)!important}
 .expertise-intro{grid-template-columns:1fr;gap:28px;margin-bottom:48px}
 .expertise-intro-copy h2{font-size:clamp(44px,11.8vw,70px)}
 .expertise-intro-copy p{font-size:14px;margin-top:24px}
 .expertise-grid{grid-template-columns:1fr;gap:12px}
 .expertise-card{min-height:350px;border-radius:18px;padding:25px 22px}
 .expertise-card h3{font-size:clamp(35px,10vw,52px);margin:42px 0 28px}
 .expertise-card p{font-size:13px}
 .future-city{height:92svh;min-height:700px}
 .future-city .vision-in{padding-top:90px;padding-bottom:28px}
 .future-city h2{font-size:clamp(50px,13vw,78px)}
 .future-city .vision-foot{grid-template-columns:1fr 1fr;gap:22px}
 .future-city .vision-foot p{grid-column:1/-1}
}
@media(max-width:520px){.mobile-menu{width:76vw!important}.future-city .vision-media img,.future-city .vision-media video{object-position:56% center}.expertise-showcase .container{width:calc(100% - 28px)!important}}

/* v10 — cold corporate palette, unified lifecycle bento and refined interactions */
:root{--paper:#eef1f4;--cold-white:#eef1f4;--card-white:#f8fafc}
.manifesto,.sectors{background:var(--cold-white)!important}
.contact{background:var(--cold-white)!important}
.icon-arrow{width:20px;height:20px;display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.icon-arrow.icon-sm{width:15px;height:15px}.icon-arrow.icon-lg{width:22px;height:22px}
.header-cta b,.expertise-arrow,.sector-icon{font-size:0}
.lifecycle{background:var(--cold-white);color:var(--ink);padding:170px 0 185px;overflow:hidden}
.lifecycle-head{display:grid;grid-template-columns:.34fr 1.66fr;gap:70px;align-items:start;margin-bottom:86px}
.lifecycle-side{padding-top:12px}.lifecycle-side p{margin-top:28px;max-width:250px;font-size:12px;line-height:1.67;color:#687482}
.lifecycle-copy h2{font:500 clamp(58px,6.3vw,102px)/.94 "Space Grotesk";letter-spacing:-.075em;max-width:1280px}
.lifecycle-copy h2 span{color:#8996a4}.lifecycle-copy>p{font-size:16px;line-height:1.72;color:#586572;max-width:760px;margin-top:38px}
.lifecycle-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;align-items:stretch}
.lifecycle-card{position:relative;min-width:0;border:1px solid rgba(6,26,51,.14);border-radius:22px;padding:30px 30px 27px;display:flex;flex-direction:column;overflow:hidden;transition:border-color .4s ease,box-shadow .55s var(--ease),background-color .4s ease}
.lifecycle-card:hover{border-color:rgba(31,94,168,.32);box-shadow:0 24px 70px rgba(6,26,51,.09)}
.lifecycle-card:nth-child(1){grid-column:1/8;min-height:455px;background:radial-gradient(circle at 85% 10%,rgba(31,94,168,.2),transparent 38%),linear-gradient(145deg,#061a33,#0a2b4f);color:#fff;border-color:transparent}
.lifecycle-card:nth-child(2){grid-column:8/13;min-height:455px;background:var(--card-white)}
.lifecycle-card:nth-child(3){grid-column:1/6;min-height:390px;background:var(--card-white)}
.lifecycle-card:nth-child(4){grid-column:6/13;min-height:390px;background:linear-gradient(135deg,#dde8f2,#cbdbea)}
.lifecycle-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;color:#687482}
.lifecycle-card:nth-child(1) .lifecycle-card-top{color:rgba(255,255,255,.6)}
.lifecycle-card h3{font:500 clamp(32px,3.4vw,58px)/.99 "Space Grotesk";letter-spacing:-.062em;max-width:900px;margin:58px 0 35px}
.lifecycle-card p{font-size:14px;line-height:1.62;color:#62707f;max-width:730px;margin-top:auto}
.lifecycle-card:nth-child(1) p{color:rgba(255,255,255,.67)}
.expertise-arrow{width:44px;height:44px;border-radius:50%;border:1px solid currentColor;display:grid;place-items:center;flex:0 0 44px;transition:transform .48s var(--ease),background .35s ease}
.lifecycle-card:hover .expertise-arrow{transform:translate(3px,-3px)}
.sector-row:before{background:#fff!important}
.sector-row:hover{color:var(--ink)!important}
.sector-row:hover p{color:#596674!important}
.sector-icon{width:40px;height:40px;border:1px solid rgba(6,26,51,.2);border-radius:50%;display:grid;place-items:center;transition:transform .45s var(--ease),background .35s ease}
.sector-row:hover .sector-icon{transform:translate(3px,-3px);background:#eef1f4}
.mobile-menu{background:#071d36!important;background-image:radial-gradient(circle at 100% 0,rgba(79,120,200,.18),transparent 34%)!important;border-left:1px solid rgba(255,255,255,.1)}
.future-city{background:#061a33!important;isolation:isolate}
.future-city .vision-media{inset:-7% 0!important;will-change:transform}
.future-city .vision-media img,.future-city .vision-media video{width:100%;height:100%;transform:scale(1.02);object-fit:cover;display:block}
@media(max-width:950px){
 .lifecycle{padding:104px 0 112px}.lifecycle-head{grid-template-columns:1fr;gap:28px;margin-bottom:50px}.lifecycle-copy h2{font-size:clamp(44px,11.8vw,70px)}.lifecycle-copy>p{font-size:14px;margin-top:25px}
 .lifecycle-grid{grid-template-columns:1fr;gap:12px}.lifecycle-card,.lifecycle-card:nth-child(n){grid-column:1;min-height:350px;border-radius:18px;padding:25px 22px}.lifecycle-card h3{font-size:clamp(35px,9.8vw,51px);margin:42px 0 28px}
 .mobile-menu{background:#071d36!important;background-image:radial-gradient(circle at 100% 0,rgba(79,120,200,.2),transparent 42%)!important}
 .future-city .vision-media{inset:-5% 0!important}
}

.mail{display:inline-flex;align-items:center;gap:10px}.mail .icon-arrow{flex:0 0 20px}.disc .icon-arrow{margin-top:8px}.header-cta .sector-icon{width:38px;height:38px;border-color:currentColor}.float-in .header-cta .sector-icon{width:32px;height:32px}.header-cta:hover .sector-icon{transform:translate(3px,-3px)}



/* TEMPORARY LIGHTER HERO TEST */
.hero{background:#9fb7ca}
.hero-media img{filter:saturate(.82) contrast(1.02) brightness(.92)!important}
.hero-media:after{background:
  linear-gradient(90deg,rgba(3,24,48,.62) 0%,rgba(3,24,48,.38) 30%,rgba(3,24,48,.12) 62%,rgba(3,24,48,.04) 100%),
  linear-gradient(180deg,rgba(4,28,54,.03) 0%,rgba(4,28,54,.10) 58%,rgba(4,28,54,.44) 100%)!important
}
.hero-grid{opacity:.22!important}
.hero-title .ghost{-webkit-text-stroke:1px rgba(255,255,255,.66)!important}
.hero-tag{color:rgba(255,255,255,.86)!important}
.hero-copy{color:rgba(255,255,255,.92)!important}
.metric small{color:rgba(255,255,255,.68)!important}
.hero-foot{border-top-color:rgba(255,255,255,.38)!important}
.signal{background:rgba(5,28,54,.14);border-color:rgba(255,255,255,.34)!important;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.header{background:linear-gradient(180deg,rgba(3,21,41,.28),transparent)!important}
@media(max-width:950px){
 .hero-media img{filter:saturate(.82) contrast(1.01) brightness(.88)!important}
 .hero-media:after{background:linear-gradient(180deg,rgba(3,24,48,.12),rgba(3,24,48,.20) 46%,rgba(3,24,48,.62) 100%)!important}
}



/* v13 — light hero with protected text contrast */
.hero-media img{filter:saturate(.84) contrast(1.04) brightness(.96)!important}
.hero-media:after{background:
  linear-gradient(90deg,rgba(3,22,43,.78) 0%,rgba(3,22,43,.68) 27%,rgba(3,22,43,.34) 52%,rgba(3,22,43,.10) 78%,rgba(3,22,43,.03) 100%),
  linear-gradient(180deg,rgba(3,22,43,.12) 0%,rgba(3,22,43,.08) 42%,rgba(3,22,43,.46) 76%,rgba(3,22,43,.72) 100%)!important
}
.hero-title{position:relative;text-shadow:0 4px 34px rgba(2,15,31,.32)}
.hero-title .ghost{color:rgba(255,255,255,.16)!important;-webkit-text-stroke:1.35px rgba(255,255,255,.92)!important;text-shadow:0 3px 30px rgba(2,15,31,.36)}
.hero-tag,.hero-copy,.metric strong,.metric small,.signal{position:relative;z-index:2}
.hero-tag{color:#fff!important;text-shadow:0 2px 16px rgba(1,13,27,.55)}
.hero-copy{color:rgba(255,255,255,.97)!important;text-shadow:0 2px 18px rgba(1,13,27,.55)}
.metric strong{color:#fff;text-shadow:0 2px 18px rgba(1,13,27,.45)}
.metric small{color:rgba(255,255,255,.82)!important;text-shadow:0 2px 14px rgba(1,13,27,.42)}
.hero-foot{border-top-color:rgba(255,255,255,.48)!important}
.signal{background:rgba(3,22,43,.30)!important;border-color:rgba(255,255,255,.50)!important;box-shadow:0 12px 34px rgba(2,15,31,.12)}
.header{background:linear-gradient(180deg,rgba(3,18,36,.46),rgba(3,18,36,.10) 70%,transparent)!important}
.header-in{border-bottom-color:rgba(255,255,255,.32)!important}
.nav a,.header-cta{color:#fff;text-shadow:0 2px 14px rgba(1,13,27,.45)}
@media(max-width:950px){
 .hero-media img{filter:saturate(.84) contrast(1.03) brightness(.93)!important}
 .hero-media:after{background:
   linear-gradient(180deg,rgba(3,22,43,.34) 0%,rgba(3,22,43,.22) 34%,rgba(3,22,43,.46) 67%,rgba(3,22,43,.83) 100%),
   linear-gradient(90deg,rgba(3,22,43,.42),rgba(3,22,43,.10) 78%)!important
 }
 .hero-title .ghost{color:rgba(255,255,255,.13)!important;-webkit-text-stroke:1.15px rgba(255,255,255,.94)!important}
 .hero-copy{background:rgba(3,22,43,.18);border-radius:12px;padding:12px 14px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
}



/* Refined body typography — headings remain Space Grotesk */
body{font-family:"Outfit",sans-serif;font-weight:400;letter-spacing:-.008em}
p{letter-spacing:-.006em}
.nav,.header-cta,.hero-copy,.manifesto-side p,.manifesto-bottom p,.system-head p,.sys-card p,.feature-bottom p,.sector-head p,.sector-row p,.blue-card p,.step p,.vision-foot p,.mail,footer{font-family:"Outfit",sans-serif}
.nav,.header-cta{font-weight:500}
.hero-copy,.manifesto-bottom p,.system-head p,.feature-bottom p,.sector-head p,.step p,.vision-foot p{line-height:1.72}
.mono{font-family:"Outfit",sans-serif;font-weight:600;letter-spacing:.17em}



/* Outfit load + sticky header color cleanup */
body,button,input,textarea,select,.nav,.header-cta,.hero-copy,.manifesto-side p,.manifesto-bottom p,.system-head p,.sys-card p,.feature-bottom p,.sector-head p,.sector-row p,.blue-card p,.step p,.vision-foot p,.mail,footer,.mono{font-family:"Outfit",sans-serif!important}
.float-in,.float-in .nav,.float-in .nav a,.float-in .header-cta,.float-in .header-cta span,.float-in .sector-icon{color:#061a33!important;text-shadow:none!important}
.float-in .nav a{opacity:.82}
.float-in .nav a:hover{opacity:1}
.float-in .header-cta .sector-icon{border-color:rgba(6,26,51,.24)!important}
body.anchor-scrolling .index-track,
body.anchor-scrolling .signal-bars i{
  animation-play-state:paused!important;
}
.hero-media img{
  will-change:transform;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  transform:translate3d(0,0,0) scale(1.035);
}



/* Mobile drawer shadow: hidden off-canvas, visible only while open */
@media(max-width:950px){
  .mobile-menu{
    box-shadow:none!important;
    transition:transform .7s var(--ease),box-shadow .25s ease!important;
  }
  .mobile-menu.open{
    box-shadow:-30px 0 80px rgba(0,0,0,.38)!important;
  }
}



/* Restored centered navigation underline */
.header .nav a,
.float-head .nav a{
  position:relative;
  padding-bottom:8px;
}
.header .nav a::after,
.float-head .nav a::after{
  content:"";
  position:absolute;
  left:50%;
  right:50%;
  bottom:1px;
  height:1px;
  background:currentColor;
  opacity:.9;
  transition:left .42s var(--ease),right .42s var(--ease),opacity .3s ease;
  pointer-events:none;
}
.header .nav a:hover::after,
.header .nav a:focus-visible::after,
.float-head .nav a:hover::after,
.float-head .nav a:focus-visible::after{
  left:0;
  right:0;
}
.float-head .nav a::after{opacity:.65}
@media(max-width:950px){
  .header .nav a,
  .float-head .nav a{padding-bottom:0}
}



/* Serbia locations slider */
.serbia-locations{background:#eef1f4;color:var(--ink);padding:150px 0 165px;overflow:hidden}
.locations-head{display:grid;grid-template-columns:1.25fr .75fr;gap:80px;align-items:end;margin-bottom:64px}
.locations-head h2{font:500 clamp(58px,6.2vw,98px)/.92 "Space Grotesk",sans-serif;letter-spacing:-.072em;max-width:1040px}
.locations-head h2 span{color:rgba(6,26,51,.38)}
.locations-head p{font-size:15px;line-height:1.72;color:#5d6976;max-width:560px;padding-bottom:8px}
.locations-shell{position:relative}
.locations-viewport{
  overflow:hidden;
  padding-block:28px 48px;
  margin-block:-28px -48px;
}
.locations-track{display:flex;gap:16px;transition:transform .75s var(--ease);will-change:transform}
.location-card{flex:0 0 calc((100% - 32px)/3);min-width:0;background:#fff;border:1px solid rgba(6,26,51,.12);border-radius:22px;overflow:hidden;display:flex;flex-direction:column;min-height:560px;transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .4s ease}
.location-card:hover{transform:translateY(-7px);box-shadow:0 24px 60px rgba(6,26,51,.10);border-color:rgba(6,26,51,.2)}
.location-image{height:265px;overflow:hidden;position:relative;background:#dce4ec}
.location-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(4,20,38,.25))}
.location-image img{transition:transform .9s var(--ease);filter:saturate(.76) contrast(1.03)}
.location-card:hover .location-image img{transform:scale(1.055)}
.location-body{padding:25px 26px 24px;display:flex;flex-direction:column;flex:1}
.location-meta{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:23px}
.location-badge{border:1px solid rgba(31,94,168,.28);border-radius:999px;padding:7px 10px;font:600 9px/1 Outfit,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);background:#f7f9fb}
.location-index{font:600 10px/1 Outfit,sans-serif;letter-spacing:.14em;color:#8793a0}
.location-card h3{font:500 clamp(30px,2.5vw,43px)/1 "Space Grotesk",sans-serif;letter-spacing:-.055em;margin-bottom:17px}
.location-card p{font-size:13px;line-height:1.67;color:#617080;margin-bottom:28px}
.location-link{margin-top:auto;display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(6,26,51,.12);padding-top:17px;font-size:11px;font-weight:600;color:var(--navy)}
.location-link svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;transition:transform .4s var(--ease)}
.location-card:hover .location-link svg{transform:translateX(4px)}
.locations-controls{display:flex;align-items:center;justify-content:space-between;margin-top:34px}
.locations-dots{display:flex;gap:8px}
.locations-dot{width:7px;height:7px;border:0;border-radius:50%;background:rgba(6,26,51,.22);padding:0;transition:.35s ease;cursor:pointer}
.locations-dot.active{width:28px;border-radius:999px;background:var(--blue)}
.locations-arrows{display:flex;gap:9px}
.locations-arrow{width:48px;height:48px;border-radius:50%;border:1px solid rgba(6,26,51,.2);background:transparent;color:var(--navy);display:grid;place-items:center;cursor:pointer;transition:.4s var(--ease)}
.locations-arrow,
.locations-dot{
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
  -webkit-user-select:none;
  user-select:none;
}
.locations-arrow:hover:not(:disabled){background:var(--navy);color:#fff;transform:translateY(-2px)}
.locations-arrow:disabled{opacity:.28;cursor:default}
.locations-arrow svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7}
@media(max-width:950px){
 .serbia-locations{padding:102px 0 112px}
 .locations-head{grid-template-columns:1fr;gap:26px;margin-bottom:42px}
 .locations-head h2{font-size:clamp(45px,11.8vw,70px)}
 .locations-head p{font-size:14px}
 .location-card{flex-basis:78vw;min-height:520px;border-radius:18px}
 .location-image{height:240px}
 .locations-viewport{overflow:visible}
 .locations-track{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;transition:none;padding-right:20px}
 .locations-track::-webkit-scrollbar{display:none}
 .location-card{scroll-snap-align:start}
 .locations-arrows{display:none}
 .locations-controls{margin-top:25px}
}
@media(max-width:520px){
 .location-card{flex-basis:86vw;min-height:500px}
 .location-image{height:218px}
 .location-body{padding:22px 21px}
 .locations-dot{display:none}
 .locations-dot.active{display:block;width:38px;height:4px}
}



/* Compact editorial Serbia slider — refined placement and true looping controls */
.serbia-locations{
  background:#eef1f4;
  padding:96px 0 104px;
  border-top:1px solid rgba(6,26,51,.1);
  border-bottom:1px solid rgba(6,26,51,.1);
}
.locations-head{
  grid-template-columns:minmax(0,1.15fr) minmax(280px,.65fr);
  gap:56px;
  margin-bottom:38px;
}
.locations-head h2{
  font-size:clamp(42px,5.2vw,78px);
  line-height:.94;
  max-width:850px;
}
.locations-head p{font-size:14px;line-height:1.62;max-width:470px;padding-bottom:3px}
.locations-track{gap:12px;transition:transform .68s var(--ease)}
.location-card{
  flex-basis:calc((100% - 24px)/3);
  min-height:410px;
  border-radius:18px;
  box-shadow:none;
}
.location-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(6,26,51,.08)}
.location-image{height:178px}
.location-body{padding:18px 19px 18px}
.location-meta{margin-bottom:14px}
.location-badge{padding:6px 9px;font-size:8px}
.location-card h3{font-size:clamp(25px,2vw,34px);margin-bottom:10px}
.location-card p{
  font-size:12px;
  line-height:1.54;
  margin-bottom:17px;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.location-link{padding-top:13px;font-size:10px}
.locations-controls{margin-top:22px}
.locations-dots{gap:9px;align-items:center}
.locations-dot,
.locations-dot.active{
  display:block;
  width:8px;
  height:8px;
  min-width:8px;
  border-radius:50%;
  background:rgba(6,26,51,.2);
  transform:none;
}
.locations-dot.active{background:var(--blue);box-shadow:0 0 0 5px rgba(31,94,168,.1)}
.locations-arrow{width:42px;height:42px}
.locations-arrow:disabled{opacity:1;cursor:pointer}
@media(max-width:950px){
  .serbia-locations{padding:76px 0 82px}
  .locations-head{grid-template-columns:1fr;gap:18px;margin-bottom:28px}
  .locations-head h2{font-size:clamp(38px,10vw,57px);max-width:680px}
  .locations-head p{font-size:13px;max-width:540px}
  .locations-viewport{overflow:hidden;margin-right:calc((100vw - 100%)/-2)}
  .locations-track{
    gap:12px;
    overflow-x:auto;
    overflow-y:hidden;
    padding-right:18px;
    scroll-padding-left:0;
    overscroll-behavior-x:contain;
    overscroll-behavior-y:none;
    touch-action:pan-x;
  }
  .location-card{flex-basis:min(78vw,340px);min-height:390px;border-radius:16px}
  .location-image{height:165px}
  .location-body{padding:17px 17px 16px}
  .locations-controls{margin-top:20px}
  .locations-arrows{display:flex}
  .locations-arrow{width:40px;height:40px}
}
@media(max-width:520px){
  .serbia-locations{padding:68px 0 74px}
  .location-card{flex-basis:82vw;min-height:375px}
  .location-image{height:154px}
  .locations-dots{gap:8px}
  .locations-dot,.locations-dot.active{display:block;width:7px;height:7px;min-width:7px}
}



/* Navigation cleanup — concise, ordered, consistent */
@media(max-width:950px){
  .mobile-menu-links{margin:auto 0;display:flex;flex-direction:column}
  .mobile-menu a{font-size:clamp(32px,8.8vw,48px)!important;line-height:1.02!important;padding:14px 0!important;letter-spacing:-.055em!important}
}



/* v14 — responsive two-level off-canvas navigation */
.header-in{grid-template-columns:1fr auto!important}.header-menu-actions{justify-self:end;display:flex;align-items:center;gap:16px}.header-contact{font-size:12px;font-weight:500;opacity:.82;transition:opacity .25s ease}.header-contact:hover{opacity:1}
.menu-btn,.float-menu-btn{display:grid!important;place-items:center;border-radius:50%;cursor:pointer}.menu-btn{width:48px;height:48px;border:1px solid rgba(255,255,255,.34);background:rgba(255,255,255,.07);color:#fff}.float-menu-btn{width:42px;height:42px;border:1px solid rgba(6,26,51,.18);background:rgba(6,26,51,.04);color:var(--navy)}
.menu-btn::before,.menu-btn::after,.float-menu-btn::before,.float-menu-btn::after{content:none!important;display:none!important}.menu-btn span,.float-menu-btn span{position:absolute;left:50%;height:1.6px;background:currentColor;border-radius:999px;transform-origin:center;transition:transform .34s var(--ease),width .34s var(--ease),opacity .22s ease}.menu-btn span:nth-child(1),.float-menu-btn span:nth-child(1){width:22px;transform:translate(-50%,-6px)}.menu-btn span:nth-child(2),.float-menu-btn span:nth-child(2){width:15px;transform:translate(calc(-50% + 3.5px),0)}.menu-btn span:nth-child(3),.float-menu-btn span:nth-child(3){width:22px;transform:translate(-50%,6px)}.global-menu-btn:hover span:nth-child(1){transform:translate(calc(-50% + 2px),-7px)}.global-menu-btn:hover span:nth-child(2){width:22px;transform:translate(-50%,0)}.global-menu-btn:hover span:nth-child(3){transform:translate(calc(-50% - 2px),7px)}
.float-in{grid-template-columns:1fr auto!important}.float-in .header-menu-actions{display:flex!important}.float-in .brand img{width:70px!important}
.nav-overlay{position:fixed;inset:0;z-index:398;background:rgba(2,10,20,.46);backdrop-filter:blur(5px);opacity:0;visibility:hidden;transition:opacity .34s ease,visibility .34s ease}.nav-overlay.open{opacity:1;visibility:visible}
.mega-menu{position:fixed;z-index:400;inset:0 0 0 auto;width:min(470px,92vw);background:#fff;color:var(--navy);transform:translate3d(102%,0,0);transition:transform .58s var(--ease),width .5s var(--ease);box-shadow:none;overflow:hidden}.mega-menu.open{transform:none;box-shadow:-30px 0 90px rgba(2,12,26,.22)}.mega-menu.sub-open{width:min(850px,92vw)}.mega-shell{height:100%;display:grid;grid-template-columns:minmax(390px,470px) minmax(340px,380px)}
.mega-primary{padding:28px 30px 24px;display:flex;flex-direction:column;min-width:0;background:#fff}.mega-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:25px;border-bottom:1px solid rgba(6,26,51,.12)}.mega-brand img{width:104px;height:auto}.mega-close{width:50px;height:50px;border:0;border-radius:50%;background:#f0f3f7;position:relative;color:var(--navy);cursor:pointer;transition:transform .45s var(--ease),background .25s}.mega-close:hover{transform:rotate(90deg);background:#e7ebf1}.mega-close span{position:absolute;left:15px;right:15px;top:24px;height:1.6px;background:currentColor}.mega-close span:first-child{transform:rotate(45deg)}.mega-close span:last-child{transform:rotate(-45deg)}
.mega-links{padding:23px 0 18px;display:flex;flex-direction:column}.mega-link{width:100%;border:0;background:none;color:inherit;display:grid;grid-template-columns:34px 1fr 22px;align-items:center;gap:14px;text-align:left;padding:15px 2px;font-size:18px;line-height:1.2;cursor:pointer;transition:color .22s ease,transform .3s var(--ease)}.mega-link:hover,.mega-link.active{color:var(--blue);transform:translateX(4px)}.mega-link svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}.mega-icon{width:28px;height:28px;border:1px solid rgba(6,26,51,.22);border-radius:7px;display:grid;place-items:center;font-size:10px;font-weight:600}.mega-link.active .mega-icon,.mega-link:hover .mega-icon{border-color:currentColor}.has-children svg{transition:transform .38s var(--ease)}.has-children.active svg{transform:rotate(180deg)}
.mega-cta-row{margin-top:auto}.mega-cta{height:62px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 20px;font-weight:600;clip-path:polygon(0 0,88% 0,100% 50%,88% 100%,0 100%)}.mega-cta svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}.mega-foot{display:flex;justify-content:space-between;gap:18px;margin-top:20px;padding-top:16px;border-top:1px solid rgba(6,26,51,.12);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#7b8794}
.mega-secondary{position:relative;background:#eef2f7;padding:30px 34px;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;transform:translateX(24px);transition:opacity .22s ease,transform .42s var(--ease),visibility .22s ease}.mega-menu.sub-open .mega-secondary{opacity:1;visibility:visible;pointer-events:auto;transform:none}.secondary-top{display:flex;align-items:center;justify-content:space-between;min-height:50px}.secondary-back{display:none;border:0;background:none;color:var(--navy);align-items:center;gap:10px;font-weight:600}.secondary-back svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}.secondary-kicker{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#7c8996}.secondary-panel{position:absolute;inset:104px 34px 30px;opacity:0;transform:translateX(28px);pointer-events:none;transition:opacity .28s ease,transform .42s var(--ease)}.secondary-panel.active{opacity:1;transform:none;pointer-events:auto}.secondary-panel h3{font:500 31px/1.05 "Space Grotesk";letter-spacing:-.045em;margin-bottom:30px}.secondary-panel a{display:block;padding:13px 0;border-bottom:1px solid rgba(6,26,51,.11);font-size:16px;transition:color .2s ease,padding-left .32s var(--ease)}.secondary-panel a:hover{color:var(--blue);padding-left:7px}
body.menu-open{overflow:hidden}
@media(max-width:950px){
 .header-contact{display:none}.header-in{height:78px!important}.menu-btn{width:44px;height:44px}.float-in{height:64px!important}.mega-menu,.mega-menu.sub-open{width:100vw}.mega-shell{display:block;position:relative}.mega-primary,.mega-secondary{position:absolute;inset:0;transition:transform .5s var(--ease)}.mega-primary{padding:18px 22px 22px;transform:none}.mega-secondary{padding:18px 22px 24px;transform:translateX(100%);z-index:2;background:#eef2f7;opacity:1;visibility:visible;pointer-events:auto}.mega-menu.sub-open .mega-primary{transform:translateX(-28%)}.mega-menu.sub-open .mega-secondary{transform:none}.mega-top{padding-bottom:18px}.mega-brand img{width:92px}.mega-close{width:46px;height:46px}.mega-links{padding:23px 0 12px;overflow-y:auto}.mega-link{font-size:clamp(20px,5.7vw,28px);padding:14px 0;grid-template-columns:34px 1fr 20px}.mega-cta{height:60px}.mega-foot{margin-top:14px}.secondary-top{border-bottom:1px solid rgba(6,26,51,.12);padding-bottom:18px}.secondary-back{display:flex}.secondary-kicker{display:none}.secondary-panel{inset:100px 22px 24px;overflow-y:auto}.secondary-panel h3{font-size:30px;margin-bottom:24px}.secondary-panel a{font-size:18px;padding:16px 0}.nav-overlay{background:rgba(2,10,20,.56)}
}
@media(max-width:420px){.mega-primary{padding-left:16px;padding-right:16px}.mega-secondary{padding-left:16px;padding-right:16px}.secondary-panel{left:16px;right:16px}.mega-link{font-size:22px}}



/* Sticky header: immediate opaque background, no blur */
.float-in{
  background:rgba(248,250,252,.985)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
@media(max-width:950px){
  .float-in{background:rgba(248,250,252,.99)!important;}
}



/* Stable interaction hit areas across Safari and Chromium.
   Decorative children cannot become a separate cursor target. */
a[href],
button:not(:disabled){
  cursor:pointer!important;
}
a[href] > *,
button:not(:disabled) > *,
a[href]::before,
a[href]::after,
button:not(:disabled)::before,
button:not(:disabled)::after{
  cursor:pointer!important;
  pointer-events:none!important;
}

/* The transformed drawer must not remain in the browser hit-test tree while
   visually off-canvas. This also removes the cursor flicker at the right edge. */
.mega-menu{
  visibility:hidden;
  pointer-events:none;
  transition:
    transform .58s var(--ease),
    width .5s var(--ease),
    visibility 0s linear .58s;
}
.mega-menu.open{
  visibility:visible;
  pointer-events:auto;
  transition:
    transform .58s var(--ease),
    width .5s var(--ease),
    visibility 0s linear 0s;
}

/* ═══════════════════════════════════════════
   SUBPAGE PAGE HERO
   ═══════════════════════════════════════════ */
.page-hero{
  background:var(--navy);
  min-height:480px;
  padding:168px 0 90px;
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
}
.page-hero-media{
  position:absolute;
  inset:0;
}
.page-hero-media img{
  object-fit:cover;
  width:100%;
  height:100%;
  filter:saturate(.5) contrast(1.08) brightness(.55);
}
.page-hero-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(3,22,43,.88) 0%,rgba(3,22,43,.6) 42%,rgba(3,22,43,.28) 100%),
    linear-gradient(180deg,rgba(3,22,43,.24),rgba(3,22,43,.58));
}
.page-hero-in{
  position:relative;
  z-index:2;
  padding-top:0;
}
.page-eyebrow{
  color:rgba(255,255,255,.52);
  margin-bottom:22px;
  display:block;
}
.page-hero h1{
  font:500 clamp(62px,8.2vw,132px)/.88 "Space Grotesk",sans-serif;
  letter-spacing:-.075em;
  color:#fff;
  max-width:1300px;
}
.page-hero h1 span{
  color:rgba(255,255,255,.35);
}
@media(max-width:950px){
  .page-hero{min-height:390px;padding:140px 0 70px}
  .page-hero h1{font-size:clamp(50px,13vw,78px)}
}
@media(max-width:520px){
  .page-hero{min-height:340px;padding:128px 0 58px}
  .page-hero h1{font-size:clamp(44px,14vw,62px)}
}

/* ═══════════════════════════════════════════
   HEADER CONTACT COLOUR FIX
   ═══════════════════════════════════════════ */
/* Main header (dark background) – always white */
.header .header-contact{
  color:#fff!important;
  text-shadow:0 2px 14px rgba(1,13,27,.45)!important;
}
/* Float header (light background) – navy */
.float-in .header-contact{
  color:var(--navy)!important;
  text-shadow:none!important;
}

/* ═══════════════════════════════════════════
   PANEL OVERVIEW LINK (mega-menu top item)
   ═══════════════════════════════════════════ */
.panel-overview-link{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  background:var(--navy)!important;
  color:#fff!important;
  border-radius:10px!important;
  padding:13px 16px!important;
  margin-bottom:10px!important;
  font-size:14px!important;
  font-weight:600!important;
  letter-spacing:-.01em!important;
  transition:background .3s ease,padding-left .25s ease!important;
}
.panel-overview-link:hover{
  background:var(--blue)!important;
  padding-left:20px!important;
}
.panel-overview-link svg{
  width:18px;height:18px;flex:0 0 18px;
  fill:none;stroke:currentColor;stroke-width:1.8;
  transition:transform .35s var(--ease);
}
.panel-overview-link:hover svg{transform:translateX(3px)}

/* ═══════════════════════════════════════════
   NAVIGATE / LEARN MORE SECTION (company.html)
   ═══════════════════════════════════════════ */
.navigate-section{
  background:var(--paper);
  color:var(--ink);
  padding:150px 0 165px;
}
.navigate-head{margin-bottom:60px}
.navigate-head .mono{
  color:#8090a0;
  margin-bottom:22px;
  display:block;
}
.navigate-head h2{
  font:500 clamp(52px,6.5vw,104px)/.92 "Space Grotesk",sans-serif;
  letter-spacing:-.073em;
  max-width:980px;
}
.navigate-head h2 span{color:rgba(6,26,51,.36)}
.navigate-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.navigate-grid--four{grid-template-columns:repeat(4,1fr)}
.navigate-card{
  border:1px solid rgba(6,26,51,.13);
  border-radius:20px;
  padding:30px 28px 26px;
  background:#f8fafc;
  display:flex;
  flex-direction:column;
  min-height:230px;
  text-decoration:none;
  color:var(--ink);
  transition:border-color .4s ease,box-shadow .55s var(--ease),transform .5s var(--ease),background .35s ease;
}
.navigate-card:hover{
  border-color:rgba(31,94,168,.3);
  box-shadow:0 22px 60px rgba(6,26,51,.1);
  transform:translateY(-6px);
  background:#fff;
}
.navigate-card-num{
  font:600 9px/1 Outfit,sans-serif;
  letter-spacing:.17em;
  text-transform:uppercase;
  color:#8793a0;
}
.navigate-card h3{
  font:500 clamp(19px,1.7vw,26px)/1.08 "Space Grotesk",sans-serif;
  letter-spacing:-.042em;
  margin:28px 0 10px;
}
.navigate-card p{
  font-size:13px;
  line-height:1.62;
  color:#657181;
  flex:1;
  margin-bottom:22px;
}
.navigate-card-link{
  display:flex;
  align-items:center;
  gap:8px;
  font:600 9px/1 Outfit,sans-serif;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--blue);
  transition:gap .3s var(--ease);
  margin-top:auto;
}
.navigate-card:hover .navigate-card-link{gap:13px}
.navigate-card-link svg{
  width:15px;height:15px;
  fill:none;stroke:currentColor;stroke-width:1.9;
  transition:transform .3s var(--ease);
}
.navigate-card:hover .navigate-card-link svg{transform:translateX(3px)}
@media(max-width:950px){
  .navigate-section{padding:104px 0 112px}
  .navigate-head h2{font-size:clamp(42px,10.5vw,65px)}
  .navigate-grid{grid-template-columns:repeat(2,1fr);gap:11px}
  .navigate-card{min-height:200px;padding:26px 22px 22px;border-radius:16px}
}
@media(max-width:520px){
  .navigate-grid{grid-template-columns:1fr;gap:10px}
  .navigate-section{padding:80px 0 88px}
}

/* ═══════════════════════════════════════════
   SUBPAGE HOVER ANIMATION ENHANCEMENTS
   ═══════════════════════════════════════════ */
/* Lifecycle cards already have :hover, ensure transition */
.lifecycle-card{transition:border-color .4s ease,box-shadow .6s var(--ease),transform .55s var(--ease)}
.lifecycle-card:hover{transform:translateY(-7px);box-shadow:0 26px 70px rgba(6,26,51,.12);border-color:rgba(31,94,168,.34)}

/* Steps */
.step{transition:padding-left .45s var(--ease),background .35s ease}
.step:hover{padding-left:20px!important;background:rgba(255,255,255,.03)!important}

/* Blue cards */
.blue-card{
  transition:background .35s ease,transform .45s var(--ease);
  border-bottom:1px solid rgba(255,255,255,.3);
}
.blue-card:hover{transform:translateY(-4px);background:rgba(255,255,255,.06)}

/* Navigate cards */
.navigate-card{cursor:pointer}

/* Page hero subtle bottom gradient */
.page-hero::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:160px;
  background:linear-gradient(180deg,transparent,rgba(4,22,43,.5));
  pointer-events:none;
}

/* ═══════════════════════════════════════════
   SYSTEM SECTION ON EXPERIENCE.HTML
   ═══════════════════════════════════════════ */
.system{background:var(--navy)!important}
.sys-card{transition:transform .6s var(--ease),border-color .4s ease,box-shadow .55s var(--ease)}
.sys-card:hover{transform:translateY(-9px)!important;box-shadow:0 28px 70px rgba(0,0,0,.22)!important}

/* ═══════════════════════════════════════════
   NEWS PAGE GRID
   ═══════════════════════════════════════════ */
.news-section{background:var(--paper);color:var(--ink);padding:140px 0 160px}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:64px}
.news-card{background:#fff;border:1px solid rgba(6,26,51,.12);border-radius:18px;overflow:hidden;transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .35s ease}
.news-card:hover{transform:translateY(-6px);box-shadow:0 22px 55px rgba(6,26,51,.1);border-color:rgba(6,26,51,.2)}
.news-card-img{height:200px;overflow:hidden;background:#d8e2eb;position:relative}
.news-card-img img{transition:transform .9s var(--ease);filter:saturate(.75) contrast(1.04)}
.news-card:hover .news-card-img img{transform:scale(1.06)}
.news-card-body{padding:24px 24px 22px}
.news-card-meta{display:flex;gap:10px;align-items:center;margin-bottom:16px}
.news-card-tag{border:1px solid rgba(31,94,168,.28);border-radius:999px;padding:6px 10px;font:600 8px/1 Outfit;letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}
.news-card-date{font:600 9px/1 Outfit;letter-spacing:.12em;color:#8793a0}
.news-card h3{font:500 clamp(18px,1.5vw,22px)/1.18 "Space Grotesk";letter-spacing:-.038em;margin-bottom:10px}
.news-card p{font-size:13px;line-height:1.62;color:#657181}
@media(max-width:950px){.news-grid{grid-template-columns:1fr 1fr}}
@media(max-width:580px){.news-grid{grid-template-columns:1fr}}

/* Scroll-linked image zooms restored from the original motion direction. */
.hero-media img{
  transform:translate3d(0,var(--parallax-y,0),0) scale(var(--parallax-scale,1.035))!important;
  transform-origin:center center;
  will-change:transform;
}
.feature-media img{
  transform:translate3d(0,var(--parallax-y,0),0) scale(var(--parallax-scale,1))!important;
  transform-origin:center center;
  will-change:transform;
}
.page-hero-media img,
.future-city .vision-media video{
  transform:translate3d(0,var(--parallax-y,0),0) scale(var(--parallax-scale,1))!important;
  transform-origin:center center;
  will-change:transform;
}
@media(prefers-reduced-motion:reduce){
  .hero-media img,
  .feature-media img,
  .page-hero-media img,
  .future-city .vision-media video{
    transform:none!important;
  }
}


/* Partnership models: four detailed models */
.partnership-model-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
.partnership-model-cards .blue-card{min-height:340px}
.partnership-model-cards .blue-card:nth-child(2){border-right:0}
.partnership-model-cards .blue-card:nth-child(n+3){border-top:1px solid rgba(255,255,255,.3)}
.partnership-model-cards .blue-card:nth-child(3){padding-left:0}
.partnership-model-cards .blue-card:nth-child(4){border-right:0}
@media(max-width:950px){
  .partnership-model-cards{grid-template-columns:1fr}
  .partnership-model-cards .blue-card,.partnership-model-cards .blue-card:nth-child(n){padding:25px 0;border-right:0;border-top:0;border-bottom:1px solid rgba(255,255,255,.3);min-height:auto}
}

/* Parking product page */
.parking-intro{background:var(--paper);color:var(--ink);padding:150px 0}
.parking-intro-grid{display:grid;grid-template-columns:.35fr 1.65fr;gap:70px}
.parking-intro-copy h2{font:500 clamp(55px,6.5vw,104px)/.92 "Space Grotesk",sans-serif;letter-spacing:-.073em;max-width:1050px}
.parking-intro-copy h2 span{color:rgba(6,26,51,.34)}
.parking-intro-copy p{max-width:760px;margin-top:38px;font-size:16px;line-height:1.75;color:#5f6b77}
.parking-cta{display:inline-flex;align-items:center;gap:12px;margin-top:34px;padding:14px 20px;border-radius:100px;background:var(--navy);color:#fff;text-decoration:none;font:600 10px/1 Outfit,sans-serif;letter-spacing:.13em;text-transform:uppercase;transition:transform .35s var(--ease),background .3s ease}
.parking-cta:hover{transform:translateY(-2px);background:var(--blue)}
.parking-tech{background:#eef1f4;color:var(--ink);padding:150px 0}
.parking-tech-head{display:grid;grid-template-columns:.35fr 1.65fr;gap:70px;margin-bottom:65px}
.parking-tech-head h2{font:500 clamp(54px,6.5vw,102px)/.92 "Space Grotesk",sans-serif;letter-spacing:-.073em}
.parking-tech-head p{max-width:680px;margin-top:28px;font-size:15px;line-height:1.72;color:#66727e}
.tech-accordion{grid-column:2;border-top:1px solid rgba(6,26,51,.2)}
.tech-item{border-bottom:1px solid rgba(6,26,51,.2)}
.tech-trigger{width:100%;display:grid;grid-template-columns:1fr 42px;gap:24px;align-items:center;padding:30px 0;background:none;border:0;color:var(--ink);text-align:left;cursor:pointer}
.tech-trigger span:first-child{font:500 clamp(24px,2.4vw,38px)/1.1 "Space Grotesk",sans-serif;letter-spacing:-.045em}
.tech-plus{width:36px;height:36px;border:1px solid rgba(6,26,51,.2);border-radius:50%;position:relative;transition:transform .4s var(--ease),background .3s ease}
.tech-plus:before,.tech-plus:after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1px;background:currentColor;transform:translate(-50%,-50%)}
.tech-plus:after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .35s var(--ease)}
.tech-trigger[aria-expanded="true"] .tech-plus{transform:rotate(180deg);background:#fff}
.tech-trigger[aria-expanded="true"] .tech-plus:after{transform:translate(-50%,-50%) rotate(0deg)}
.tech-panel{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .48s var(--ease),opacity .35s ease}
.tech-panel.open{grid-template-rows:1fr;opacity:1}
.tech-panel-inner{overflow:hidden}
.tech-panel-copy{padding:0 70px 34px 0;max-width:850px}
.tech-panel-copy p{font-size:14px;line-height:1.72;color:#5e6975}
.tech-panel-copy .available{margin-top:16px;color:var(--ink);font-weight:500}
.parking-support{background:var(--navy);padding:145px 0;color:#fff}
.parking-support-grid{display:grid;grid-template-columns:.35fr 1.65fr;gap:70px}
.parking-support h2{font:500 clamp(54px,6.5vw,100px)/.92 "Space Grotesk",sans-serif;letter-spacing:-.073em}
.parking-support h2 span{color:rgba(255,255,255,.34)}
.parking-support p{max-width:800px;margin-top:34px;font-size:16px;line-height:1.72;color:rgba(255,255,255,.66)}
.parking-benefits{margin-top:58px;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid rgba(255,255,255,.2)}
.parking-benefit{padding:25px 20px 10px 0;border-right:1px solid rgba(255,255,255,.2)}
.parking-benefit+.parking-benefit{padding-left:20px}.parking-benefit:last-child{border-right:0}
.parking-benefit strong{display:block;font:500 18px/1.2 "Space Grotesk",sans-serif;margin-bottom:11px}.parking-benefit span{font-size:12px;line-height:1.6;color:rgba(255,255,255,.56)}
@media(max-width:950px){
 .parking-intro,.parking-tech,.parking-support{padding:105px 0}
 .parking-intro-grid,.parking-tech-head,.parking-support-grid{grid-template-columns:1fr;gap:28px}
 .tech-accordion{grid-column:1}
 .parking-benefits{grid-template-columns:1fr 1fr}
 .parking-benefit,.parking-benefit+.parking-benefit{padding:24px 18px 24px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.2)}
}
@media(max-width:520px){
 .parking-intro,.parking-tech,.parking-support{padding:82px 0}
 .tech-trigger{grid-template-columns:1fr 36px;padding:24px 0;gap:14px}
 .tech-panel-copy{padding-right:0}
 .parking-benefits{grid-template-columns:1fr}
}

/* Parking product page grid placement */
.parking-benefits{grid-column:2}
.parking-location-cta{grid-column:2}
@media(max-width:950px){
  .parking-benefits,.parking-location-cta{grid-column:1}
}

/* ═══════════════════════════════════════════════════════════════
   BCS MOBILITY / CHARGING ECOSYSTEM — 2026-08-04
   The temporary wordmark is CSS/text-based until final BCS Mobility
   logo assets are supplied. The transition system is already wired.
   ═══════════════════════════════════════════════════════════════ */
:root{
  --mobility:#2fa879;
  --mobility-bright:#55c992;
  --mobility-mid:#16775a;
  --mobility-deep:#0b4032;
  --mobility-ink:#0b3026;
  --mobility-soft:#dff5e9;
  --mobility-mist:#f3faf6;
  --mobility-line:rgba(11,64,50,.14);
}

/* Logo crossfade: BCS Parking -> BCS Mobility asset, with text fallback until the PNG exists */
.brand-switch{position:relative;display:inline-flex;align-items:center;min-width:116px;min-height:32px;overflow:visible}
.brand-switch .parking-wordmark{transition:opacity .48s ease,transform .62s var(--ease);transform-origin:left center}
.mobility-logo,.mobility-wordmark{position:absolute;left:0;top:50%;opacity:0;pointer-events:none;transform:translate3d(0,8px,0);transition:opacity .46s ease,transform .62s var(--ease)}
.mobility-logo{width:116px!important;height:auto!important;object-fit:contain!important;object-position:left center}
.mobility-wordmark{display:flex;align-items:baseline;gap:7px;white-space:nowrap;font-style:normal}
.mobility-wordmark b{font:600 17px/1 "Space Grotesk",sans-serif;letter-spacing:-.045em}
.mobility-wordmark em{font:500 14px/1 "Space Grotesk",sans-serif;letter-spacing:-.035em;font-style:normal;opacity:.82}
.header .mobility-wordmark{color:#fff}
.float-head .mobility-wordmark,.mega-menu .mobility-wordmark{color:var(--mobility-deep)}
body.mobility-mode .brand-switch .parking-wordmark{opacity:0;transform:translate3d(0,-8px,0) scale(.98)}
body.mobility-mode .brand-switch .mobility-logo,body.mobility-mode .brand-switch .mobility-wordmark{opacity:1;transform:translate3d(0,-50%,0)}
body.mobility-mode .brand-switch.has-mobility-logo .mobility-wordmark{opacity:0}
.float-in .brand-switch .mobility-logo{width:108px!important}
.mega-brand.brand-switch .mobility-logo{width:116px!important}
.float-in{transition:background .55s ease,color .55s ease,box-shadow .55s ease}
body.mobility-mode .float-in{background:rgba(245,252,248,.985);box-shadow:0 18px 70px rgba(6,55,41,.18)}
body.mobility-mode .float-menu-btn{color:var(--mobility-deep);border-color:rgba(11,64,50,.22)}
body.mobility-mode .float-in .header-contact{color:var(--mobility-deep)!important}
body.mobility-mode .mega-link:hover,body.mobility-mode .mega-link.active,body.mobility-mode .secondary-panel a:hover{color:var(--mobility-mid)}
body.mobility-mode .panel-overview-link{background:var(--mobility-deep)!important}
body.mobility-mode .panel-overview-link:hover{background:var(--mobility-mid)!important}
body.mobility-mode .mega-cta{background:var(--mobility-deep)}


/* Charging page uses BCS Mobility branding directly — no Parking-logo base.
   PNG assets take over automatically when uploaded; text remains the fallback. */
.charging-mobility-brand{position:relative;display:inline-flex;align-items:center;min-width:116px;min-height:32px}
.brand.charging-mobility-brand .charging-mobility-logo{display:block;width:116px!important;height:auto!important;object-fit:contain!important;object-position:left center}
.charging-mobility-wordmark{display:flex;align-items:baseline;gap:7px;white-space:nowrap;font-style:normal}
.charging-mobility-wordmark b{font:600 17px/1 "Space Grotesk",sans-serif;letter-spacing:-.045em}
.charging-mobility-wordmark em{font:500 14px/1 "Space Grotesk",sans-serif;letter-spacing:-.035em;font-style:normal;opacity:.82}
.charging-mobility-brand.has-mobility-logo .charging-mobility-wordmark{display:none}
.charging-mobility-brand--white .charging-mobility-wordmark{color:#fff}
.charging-mobility-brand--green .charging-mobility-wordmark{color:var(--mobility-deep)}
.float-in .brand.charging-mobility-brand .charging-mobility-logo{width:108px!important}
.mega-brand.charging-mobility-brand .charging-mobility-logo{width:116px!important}
@media(max-width:950px){
  .charging-mobility-brand{min-width:104px}
  .brand.charging-mobility-brand .charging-mobility-logo{width:104px!important}
  .float-in .brand.charging-mobility-brand .charging-mobility-logo{width:102px!important}
  .charging-mobility-wordmark b{font-size:16px}
  .charging-mobility-wordmark em{font-size:13px}
}
@media(max-width:560px){
  .charging-mobility-brand{min-width:102px}
  .brand.charging-mobility-brand .charging-mobility-logo{width:102px!important}
  .charging-mobility-wordmark{gap:5px}
  .charging-mobility-wordmark b{font-size:15px}
  .charging-mobility-wordmark em{font-size:12px}
}

/* Our Products: charging section transforms while it is active in viewport */
.mobility-teaser{position:relative;isolation:isolate;overflow:hidden;background:var(--navy-mid);padding:170px 0 150px;color:#fff;transition:background-color .8s ease}
.mobility-teaser-green{position:absolute;z-index:-2;inset:0;background:linear-gradient(135deg,#0b4938 0%,#117657 48%,#2fa879 100%);opacity:0;transition:opacity .95s var(--ease)}
body.mobility-mode .mobility-teaser-green{opacity:1}
.mobility-teaser:after{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at 78% 22%,rgba(208,255,227,.2),transparent 28%),linear-gradient(180deg,transparent 55%,rgba(3,39,29,.28));pointer-events:none}
.mobility-orbit{position:absolute;border:1px solid rgba(255,255,255,.15);border-radius:50%;pointer-events:none;transition:transform 1.1s var(--ease),border-color .8s ease}
.mobility-orbit-a{width:520px;height:520px;right:-145px;top:-150px}
.mobility-orbit-b{width:730px;height:730px;right:-260px;top:-255px}
body.mobility-mode .mobility-orbit{transform:scale(1.055);border-color:rgba(216,255,233,.28)}
.mobility-teaser-grid{display:grid;grid-template-columns:.34fr 1.25fr .41fr;gap:70px;align-items:start}
.mobility-teaser-grid>.mono{color:rgba(255,255,255,.58);padding-top:9px}
.mobility-badge{display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.22);border-radius:100px;padding:9px 13px;margin-bottom:34px;font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:rgba(255,255,255,.72);background:rgba(255,255,255,.035);backdrop-filter:blur(10px)}
.mobility-badge i{width:8px;height:8px;border-radius:50%;background:#8ef0b9;box-shadow:0 0 0 7px rgba(142,240,185,.1)}
.mobility-teaser-copy h2{font:500 clamp(68px,7.3vw,118px)/.88 "Space Grotesk",sans-serif;letter-spacing:-.078em}
.mobility-teaser-copy h2 span{color:rgba(255,255,255,.4);transition:color .8s ease}
body.mobility-mode .mobility-teaser-copy h2 span{color:#b7f2cf}
.mobility-teaser-copy p{max-width:710px;margin-top:36px;font-size:16px;line-height:1.72;color:rgba(255,255,255,.67)}
.mobility-teaser-link{display:inline-flex;align-items:center;gap:12px;margin-top:40px;padding:15px 19px;border-radius:100px;background:#fff;color:var(--mobility-deep);font-size:12px;font-weight:600;transition:transform .35s var(--ease),gap .35s var(--ease)}
.mobility-teaser-link:hover{transform:translateY(-2px);gap:17px}
.mobility-teaser-link svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
.mobility-teaser-stats{align-self:end;display:grid;border-top:1px solid rgba(255,255,255,.25)}
.mobility-teaser-stats div{padding:22px 0;border-bottom:1px solid rgba(255,255,255,.18)}
.mobility-teaser-stats strong{display:block;font:500 34px/1 "Space Grotesk",sans-serif;letter-spacing:-.05em}
.mobility-teaser-stats span{display:block;margin-top:6px;font-size:10px;line-height:1.35;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.5)}

/* Charging page: distinct light/green BCS Mobility identity.
   Keep the browser canvas green too, so iOS/Safari overscroll never exposes the global navy. */
html.charging-root{background:var(--mobility-deep)}
html.charging-root body.charging-page{background:var(--mobility-mist);color:var(--mobility-ink)}
body.charging-page .noise{opacity:.022}
.charging-hero{min-height:760px;height:100svh;padding:170px 0 70px;background:var(--mobility-deep)}
.charging-hero .page-hero-media img{filter:saturate(.86) contrast(1.02) brightness(.78);object-position:center 52%}
.charging-hero .page-hero-media::after{background:linear-gradient(90deg,rgba(5,49,36,.83) 0%,rgba(5,49,36,.56) 38%,rgba(5,49,36,.18) 72%,rgba(5,49,36,.22) 100%),linear-gradient(180deg,rgba(3,33,25,.16),rgba(4,46,34,.67))}
.charging-hero-glow{position:absolute;z-index:1;width:min(62vw,900px);aspect-ratio:1;right:-22vw;bottom:-42vw;border-radius:50%;border:1px solid rgba(189,255,216,.24);box-shadow:0 0 0 70px rgba(190,255,217,.035),0 0 0 145px rgba(190,255,217,.025);pointer-events:none}
.charging-hero-in{height:100%;display:flex;flex-direction:column;justify-content:flex-end}
.charging-hero .page-eyebrow{color:rgba(225,255,237,.68);margin-bottom:auto;padding-top:18px}
.charging-hero h1{max-width:none;font-size:clamp(30px,9vw,160px);line-height:.82;color:#fff;white-space:nowrap;text-wrap:nowrap;letter-spacing:-.075em}
.charging-hero-foot{display:flex;gap:32px;margin-top:34px;padding-top:18px;border-top:1px solid rgba(255,255,255,.28);font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.64)}
.charging-hero-foot span:last-child{color:#baf4d2}

.charging-intro{background:#fff;padding:155px 0;color:var(--mobility-ink)}
.charging-intro-grid,.charging-tariffs-grid,.charging-closing-grid{display:grid;grid-template-columns:.34fr 1.66fr;gap:70px}
.charging-intro-grid>.mono,.charging-tariffs-grid>.mono,.charging-closing-grid>.mono{color:rgba(11,48,38,.52);padding-top:12px}
.charging-intro-copy h2,.charging-tariffs h2,.charging-closing h2{font:500 clamp(62px,7vw,112px)/.9 "Space Grotesk",sans-serif;letter-spacing:-.075em}
.charging-intro-copy h2 span,.charging-tariffs h2 span{color:#8db6a6}
.charging-intro-copy p{max-width:850px;margin-top:34px;font-size:16px;line-height:1.78;color:#537066}
.charging-intro-copy p+p{margin-top:16px}

.charging-value{position:relative;overflow:hidden;background:linear-gradient(135deg,#eefaf3 0%,#dff5e9 55%,#f7fbf8 100%);padding:155px 0;color:var(--mobility-ink)}
.charging-value:after{content:"";position:absolute;width:680px;height:680px;border-radius:50%;right:-330px;top:-330px;border:1px solid rgba(20,115,84,.12);box-shadow:0 0 0 65px rgba(20,115,84,.025),0 0 0 135px rgba(20,115,84,.018)}
.charging-section-head{position:relative;z-index:1;display:grid;grid-template-columns:.34fr 1.66fr;gap:70px;margin-bottom:80px}
.charging-section-head>.mono{color:rgba(11,48,38,.5);padding-top:10px}
.charging-section-head h2{font:500 clamp(58px,6.6vw,105px)/.91 "Space Grotesk",sans-serif;letter-spacing:-.074em}
.charging-section-head h2 span{color:#81ad9c}
.charging-section-head p{max-width:690px;margin-top:26px;font-size:15px;line-height:1.7;color:#587268}
.charging-value-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.charging-value-card{min-height:330px;padding:25px;background:rgba(255,255,255,.68);border:1px solid rgba(11,64,50,.09);border-radius:18px;display:flex;flex-direction:column;transition:transform .5s var(--ease),background .3s ease,box-shadow .4s ease}
.charging-value-card:hover{transform:translateY(-6px);background:#fff;box-shadow:0 24px 65px rgba(22,90,68,.09)}
.charging-value-card>span{font-size:10px;letter-spacing:.15em;color:var(--mobility-mid)}
.charging-value-card h3{margin-top:auto;font:500 28px/1.05 "Space Grotesk",sans-serif;letter-spacing:-.05em}
.charging-value-card p{margin-top:15px;font-size:12px;line-height:1.64;color:#617a70}
.charging-value-card--wide{grid-column:span 2;background:rgba(19,120,87,.08)}

.charging-arguments{background:var(--mobility-deep);color:#fff;padding:160px 0}
.charging-arguments-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}
.charging-arguments-head .mono{color:rgba(219,255,233,.55);margin-bottom:35px}
.charging-arguments-head h2{font:500 clamp(55px,5.7vw,92px)/.91 "Space Grotesk",sans-serif;letter-spacing:-.07em;position:sticky;top:110px}
.charging-arguments-head h2 span{color:#84d8aa}
.charging-argument-list{border-top:1px solid rgba(255,255,255,.2)}
.charging-argument{display:grid;grid-template-columns:.42fr 1fr;gap:34px;align-items:center;padding:29px 0;border-bottom:1px solid rgba(255,255,255,.16)}
.charging-argument b{font:500 clamp(25px,2.8vw,43px)/1 "Space Grotesk",sans-serif;letter-spacing:-.045em;color:#baf2d0}
.charging-argument span{font-size:14px;line-height:1.55;color:rgba(255,255,255,.68)}

.charging-how{background:#fff;padding:155px 0;color:var(--mobility-ink)}
.charging-section-head--compact{margin-bottom:65px}
.charging-steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--mobility-line);border-bottom:1px solid var(--mobility-line)}
.charging-step{min-height:330px;padding:27px 27px 30px 0;border-right:1px solid var(--mobility-line);display:flex;flex-direction:column}
.charging-step+.charging-step{padding-left:27px}
.charging-step:last-child{border-right:0}
.charging-step>span{font-size:10px;letter-spacing:.14em;color:var(--mobility-mid)}
.charging-step h3{margin-top:auto;font:500 29px/1.04 "Space Grotesk",sans-serif;letter-spacing:-.05em}
.charging-step p{margin-top:15px;font-size:13px;line-height:1.65;color:#61786f}
.charging-location-link{display:inline-flex;align-items:center;gap:12px;margin-top:45px;border-bottom:1px solid rgba(11,48,38,.35);padding-bottom:7px;font-size:14px;font-weight:600;color:var(--mobility-deep)}
.charging-location-link svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform .3s var(--ease)}
.charging-location-link:hover svg{transform:translateX(5px)}

.charging-tariffs{background:#dff4e8;padding:135px 0;color:var(--mobility-ink)}
.charging-tariffs p{max-width:780px;margin-top:32px;font-size:16px;line-height:1.75;color:#4f6e62}
.charging-closing{position:relative;overflow:hidden;background:linear-gradient(120deg,#f7fbf8 0%,#e6f7ed 55%,#cceedd 100%);padding:155px 0;color:var(--mobility-ink)}
.charging-closing:after{content:"";position:absolute;width:560px;height:560px;right:-140px;bottom:-280px;border-radius:50%;background:radial-gradient(circle,#66c797 0%,rgba(102,199,151,.08) 56%,transparent 70%);opacity:.38}
.charging-closing-grid{position:relative;z-index:1}
.charging-closing h2 span{color:var(--mobility-mid)}
.charging-closing p{max-width:770px;margin-top:35px;font-size:17px;line-height:1.75;color:#4f6f62}
.charging-contact{background:#f3faf6!important;color:var(--mobility-ink)!important}
.charging-contact h2 span{color:#7ba695!important}
.charging-contact .disc{background:var(--mobility-deep)}
.charging-contact footer{border-top-color:rgba(11,64,50,.18)}

@media(max-width:1100px){
  .mobility-teaser-grid{grid-template-columns:.3fr 1.25fr .45fr;gap:38px}
  .charging-value-grid{grid-template-columns:repeat(2,1fr)}
  .charging-value-card--wide{grid-column:span 2}
}
@media(max-width:950px){
  .brand-switch{min-width:104px}.mobility-wordmark b{font-size:16px}.mobility-wordmark em{font-size:13px}
  .mobility-teaser{padding:110px 0 95px}
  .mobility-teaser-grid{grid-template-columns:1fr;gap:26px}.mobility-teaser-copy h2{font-size:clamp(53px,13vw,78px)}.mobility-teaser-stats{grid-template-columns:repeat(3,1fr);margin-top:30px}.mobility-teaser-stats div{padding:18px 14px 18px 0;border-bottom:0;border-right:1px solid rgba(255,255,255,.18)}.mobility-teaser-stats div:last-child{border-right:0;padding-left:14px}.mobility-teaser-stats div:nth-child(2){padding-left:14px}.mobility-orbit-a{right:-310px}.mobility-orbit-b{right:-390px}
  .charging-hero{min-height:680px;padding:130px 0 45px}.charging-hero h1{font-size:clamp(30px,9vw,78px)}.charging-hero .page-eyebrow{padding-top:5px}.charging-hero-foot{margin-top:28px}
  .charging-intro,.charging-value,.charging-arguments,.charging-how,.charging-closing{padding:105px 0}.charging-tariffs{padding:95px 0}
  .charging-intro-grid,.charging-section-head,.charging-tariffs-grid,.charging-closing-grid,.charging-arguments-grid{grid-template-columns:1fr;gap:28px}
  .charging-intro-copy h2,.charging-tariffs h2,.charging-closing h2,.charging-section-head h2{font-size:clamp(48px,12vw,74px)}
  .charging-section-head{margin-bottom:50px}.charging-value-grid{grid-template-columns:1fr}.charging-value-card,.charging-value-card--wide{grid-column:auto;min-height:280px}.charging-arguments-head h2{position:static}.charging-arguments-grid{gap:65px}.charging-steps{grid-template-columns:1fr 1fr}.charging-step,.charging-step+.charging-step{padding:25px;min-height:290px;border-bottom:1px solid var(--mobility-line)}.charging-step:nth-child(2){border-right:0}.charging-step:nth-child(3),.charging-step:nth-child(4){border-bottom:0}.charging-argument{grid-template-columns:.38fr 1fr}
}
@media(max-width:560px){
  .mobility-wordmark{gap:5px}.mobility-wordmark b{font-size:15px}.mobility-wordmark em{font-size:12px}.float-in .brand-switch{min-width:102px}
  .mobility-teaser{padding:92px 0 82px}.mobility-teaser-copy p{font-size:14px}.mobility-teaser-stats{grid-template-columns:1fr}.mobility-teaser-stats div,.mobility-teaser-stats div:nth-child(2),.mobility-teaser-stats div:last-child{padding:15px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}
  .charging-hero{height:88svh;min-height:620px}.charging-hero .page-hero-media img{object-position:58% center}.charging-hero h1{font-size:clamp(30px,9vw,46px);max-width:none;white-space:nowrap}.charging-hero-foot{gap:14px;justify-content:space-between;font-size:9px}
  .charging-intro-copy p,.charging-tariffs p,.charging-closing p{font-size:14px}.charging-value-card{border-radius:14px}.charging-steps{grid-template-columns:1fr}.charging-step,.charging-step+.charging-step{min-height:230px;padding:24px 0;border-right:0;border-bottom:1px solid var(--mobility-line)!important}.charging-step:last-child{border-bottom:0!important}.charging-argument{grid-template-columns:1fr;gap:8px;padding:23px 0}.charging-argument span{font-size:13px}
}


/* Mobility logo normalization — 2026-08-05
   Mobility assets occupy exactly the same logo slots as BCS Parking. */
/* Our Products: match the in-flow Parking logo in every header context. */
.brand-switch .mobility-logo{width:108px!important;height:auto!important;object-fit:contain!important;object-position:left center!important}
.float-in .brand-switch .mobility-logo{width:70px!important}
.mega-brand.brand-switch .mobility-logo{width:104px!important}
@media(max-width:950px){
  .brand-switch .mobility-logo{width:98px!important}
  .float-in .brand-switch .mobility-logo{width:70px!important}
  .mega-brand.brand-switch .mobility-logo{width:92px!important}
}


/* === 2026-08-10 CLIENT CONTENT UPDATE: ADVERTISING + CONSULTING === */
.garage-advertising{background:#eef1f4;color:var(--ink);padding:150px 0 165px;overflow:hidden}
.advertising-intro-grid,.consulting-hero-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:65px}
.advertising-kicker,.consulting-side{padding-top:8px}.section-rule{display:block;width:72px;height:1px;background:rgba(6,26,51,.22);margin-top:28px}.section-rule--light{background:rgba(255,255,255,.24)}
.advertising-intro-copy h2,.consulting-hero-copy h2{font:500 clamp(54px,6.4vw,104px)/.91 "Space Grotesk",sans-serif;letter-spacing:-.075em}.advertising-intro-copy h2 span{color:rgba(6,26,51,.34)}
.advertising-lead-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:64px;max-width:980px}.advertising-lead-grid p{font-size:15px;line-height:1.78;color:#596675}.advertising-lead-grid p+p{margin-top:18px}
.text-arrow-link{display:inline-flex;align-items:center;gap:9px;margin-top:28px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}.text-arrow-link svg,.consulting-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform .3s var(--ease)}.text-arrow-link:hover svg,.consulting-button:hover svg{transform:translateX(4px)}
.advertising-reference-wrap{margin-top:120px}.reference-head{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:36px}.reference-head h3,.formats-head h3,.consulting-support-head h3,.consulting-fields-copy h3,.consulting-closing-copy h3{font:500 clamp(37px,4.3vw,68px)/.98 "Space Grotesk",sans-serif;letter-spacing:-.06em;margin-top:16px}.reference-head h3 span,.formats-head h3 span,.consulting-support-head h3 span,.consulting-fields-copy h3 span,.consulting-closing-copy h3 span{color:rgba(6,26,51,.36)}.reference-head p{max-width:340px;font-size:12px;line-height:1.65;color:#74808c;text-align:right}
.advertising-reference-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:14px}.advertising-reference{position:relative;margin:0;min-height:520px;background:#dfe4e8;overflow:hidden}.advertising-reference img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;filter:none}.advertising-reference:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(2,12,26,.44),rgba(2,12,26,.04) 46%,transparent 66%);pointer-events:none}.advertising-reference figcaption{position:absolute;z-index:3;left:24px;right:24px;bottom:22px;color:#fff;display:flex;justify-content:space-between;gap:18px;align-items:end}.advertising-reference figcaption strong{font:500 22px/1.08 "Space Grotesk";letter-spacing:-.035em}.advertising-reference figcaption span{max-width:190px;font-size:11px;line-height:1.45;color:rgba(255,255,255,.74);text-align:right}
.mock-ad{position:absolute;z-index:2;background:#f9fbff;color:#061a33;box-shadow:0 18px 45px rgba(0,0,0,.24);display:flex;flex-direction:column;justify-content:flex-end;padding:15px 16px;border:5px solid rgba(255,255,255,.72)}.mock-ad span{font:600 clamp(15px,1.5vw,24px)/1 "Space Grotesk";letter-spacing:-.04em}.mock-ad small{font:600 8px/1.2 Outfit;letter-spacing:.16em;text-transform:uppercase;margin-top:6px;color:#657181}.mock-ad--landscape{width:44%;aspect-ratio:16/6;right:8%;top:16%}.mock-ad--portrait{width:36%;aspect-ratio:3/4;right:12%;top:19%}.mock-ad--billboard{width:58%;aspect-ratio:16/7;left:18%;top:16%}
.advertising-formats{margin-top:125px}.formats-head{max-width:900px;margin-bottom:48px}.format-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid rgba(6,26,51,.16);border-left:1px solid rgba(6,26,51,.16)}.format-card{padding:34px 34px 38px;min-height:315px;border-right:1px solid rgba(6,26,51,.16);border-bottom:1px solid rgba(6,26,51,.16);background:rgba(255,255,255,.25);transition:background .3s ease}.format-card:hover{background:rgba(255,255,255,.72)}.format-card>span,.consulting-card-num{font:600 9px/1 Outfit;letter-spacing:.17em;color:#7f8b97}.format-card h4,.consulting-card h4{font:500 clamp(25px,2.1vw,34px)/1.08 "Space Grotesk";letter-spacing:-.045em;margin:42px 0 18px}.format-card p{font-size:13px;line-height:1.72;color:#626f7c;max-width:590px}
.consulting-expertise{background:var(--navy);color:#fff;padding:155px 0 170px;overflow:hidden}.consulting-hero-copy h2 span{color:rgba(255,255,255,.34)}.consulting-intro-text{display:grid;grid-template-columns:1fr 1fr;gap:65px;max-width:1000px;margin-top:64px}.consulting-intro-text p{font-size:15px;line-height:1.8;color:rgba(255,255,255,.7)}
.consulting-support{margin-top:135px;padding-top:110px;border-top:1px solid rgba(255,255,255,.14)}.consulting-support-head{display:grid;grid-template-columns:220px minmax(0,1fr) 360px;gap:50px;align-items:end}.consulting-support-head h3{margin:0;color:#fff}.consulting-support-head h3 span{color:rgba(255,255,255,.34)}.consulting-support-head p{font-size:13px;line-height:1.72;color:rgba(255,255,255,.6)}
.consulting-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:55px}.consulting-card{min-height:520px;padding:30px 28px 34px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.035);display:flex;flex-direction:column;transition:background .35s ease,transform .45s var(--ease)}.consulting-card:hover{background:rgba(255,255,255,.07);transform:translateY(-5px)}.consulting-card h4{margin-top:95px;color:#fff}.consulting-card p{font-size:13px;line-height:1.73;color:rgba(255,255,255,.66)}.consulting-card-small{margin-top:18px;color:rgba(255,255,255,.46)!important;font-size:12px!important}.consulting-card-num{color:rgba(255,255,255,.45)}
.consulting-fields{margin-top:130px;display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start}.consulting-fields-copy h3{color:#fff}.consulting-fields-copy h3 span{color:rgba(255,255,255,.34)}.consulting-fields-copy p{max-width:620px;margin-top:34px;font-size:14px;line-height:1.78;color:rgba(255,255,255,.63)}.consulting-field-list{display:flex;flex-wrap:wrap;gap:10px;padding-top:44px}.consulting-field-list span{border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:12px 15px;font-size:11px;letter-spacing:.04em;color:rgba(255,255,255,.8)}
.consulting-closing{margin-top:130px;padding:85px 0 0;border-top:1px solid rgba(255,255,255,.14);display:grid;grid-template-columns:1.25fr .75fr;gap:95px;align-items:end}.consulting-closing-copy h3{color:#fff}.consulting-closing-copy h3 span{color:rgba(255,255,255,.34)}.consulting-closing-copy>p{margin-top:32px;max-width:720px;font-size:14px;line-height:1.76;color:rgba(255,255,255,.63)}.consulting-closing-cta{border-left:1px solid rgba(255,255,255,.18);padding-left:35px}.consulting-closing-cta p{font:500 24px/1.22 "Space Grotesk";letter-spacing:-.035em;color:#fff}.consulting-button{display:flex;align-items:center;justify-content:space-between;gap:22px;background:#fff;color:var(--navy);margin-top:30px;padding:19px 20px;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
@media(max-width:1050px){.advertising-intro-grid,.consulting-hero-grid{grid-template-columns:180px minmax(0,1fr);gap:40px}.advertising-reference-grid{grid-template-columns:1fr 1fr}.advertising-reference--wide{grid-column:1/-1;min-height:540px}.consulting-support-head{grid-template-columns:160px 1fr}.consulting-support-head p{grid-column:2}.consulting-card-grid{grid-template-columns:1fr}.consulting-card{min-height:auto}.consulting-card h4{margin-top:55px}.consulting-fields{gap:55px}}
@media(max-width:760px){.garage-advertising{padding:92px 0 105px}.consulting-expertise{padding:95px 0 110px}.advertising-intro-grid,.consulting-hero-grid{grid-template-columns:1fr;gap:38px}.advertising-kicker,.consulting-side{display:flex;align-items:center;gap:18px}.section-rule{margin:0;flex:1}.advertising-lead-grid,.consulting-intro-text{grid-template-columns:1fr;gap:18px;margin-top:42px}.advertising-reference-wrap{margin-top:78px}.reference-head{display:block}.reference-head p{text-align:left;margin-top:18px}.advertising-reference-grid{grid-template-columns:1fr}.advertising-reference--wide{grid-column:auto}.advertising-reference{min-height:430px}.advertising-reference figcaption{display:block}.advertising-reference figcaption span{display:block;text-align:left;margin-top:7px}.mock-ad--landscape{width:55%}.mock-ad--portrait{width:31%}.advertising-formats{margin-top:82px}.format-grid{grid-template-columns:1fr}.format-card{min-height:auto;padding:28px 24px 32px}.format-card h4{margin-top:34px}.consulting-support{margin-top:82px;padding-top:70px}.consulting-support-head{grid-template-columns:1fr;gap:20px}.consulting-support-head p{grid-column:auto}.consulting-card-grid{margin-top:38px}.consulting-fields,.consulting-closing{grid-template-columns:1fr;gap:45px;margin-top:82px}.consulting-field-list{padding-top:0}.consulting-closing{padding-top:65px}.consulting-closing-cta{border-left:0;border-top:1px solid rgba(255,255,255,.16);padding:35px 0 0}}
@media(max-width:480px){.advertising-intro-copy h2,.consulting-hero-copy h2{font-size:48px}.advertising-reference{min-height:380px}.mock-ad{padding:10px;border-width:3px}.mock-ad small{font-size:7px}.format-card h4,.consulting-card h4{font-size:28px}.consulting-closing-cta p{font-size:22px}}


/* === FUTURE SECTIONS TOGGLE: NEWS + CAREERS ===
   Pages remain fully present in the project.
   TO ACTIVATE LATER: remove/comment ONLY the .future-section rule below. */
.future-section{display:none!important}


/* PRODUCT OVERVIEW TEASERS — dedicated detail pages */
.product-teaser{padding:145px 0;background:var(--paper);color:var(--ink);overflow:hidden}
.product-teaser-grid{display:grid;grid-template-columns:1.04fr .96fr;min-height:620px;align-items:stretch}
.product-teaser-media{position:relative;overflow:hidden;background:#dfe4e8}
.product-teaser-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(1.03)}
.product-teaser-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(3,17,34,.38))}
.product-teaser-index{position:absolute;z-index:2;left:28px;bottom:24px;color:#fff;font:500 54px/1 "Space Grotesk",sans-serif;letter-spacing:-.065em}
.product-teaser-copy{display:flex;flex-direction:column;justify-content:center;padding:80px clamp(42px,6vw,92px)}
.product-teaser-copy .mono{color:#7d8995;margin-bottom:30px}
.product-teaser-copy h2{font:500 clamp(54px,6vw,96px)/.9 "Space Grotesk",sans-serif;letter-spacing:-.075em}
.product-teaser-copy h2 span{display:block;color:rgba(6,26,51,.35)}
.product-teaser-copy p{max-width:650px;margin-top:34px;font-size:15px;line-height:1.78;color:#5d6976}
.product-teaser-link{display:inline-flex;align-items:center;gap:11px;align-self:flex-start;margin-top:38px;padding:14px 18px;border:1px solid rgba(6,26,51,.18);border-radius:999px;color:var(--blue);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;transition:gap .3s var(--ease),background .3s ease,color .3s ease}
.product-teaser-link:hover{gap:16px;background:var(--blue);color:#fff}
.product-teaser-link svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8}
.product-teaser--consulting{background:var(--navy);color:#fff;padding:150px 0}
.product-teaser--consulting .product-teaser-grid{min-height:auto;grid-template-columns:1.2fr .8fr;gap:80px;align-items:end}
.product-teaser--consulting .product-teaser-copy{padding:0}
.product-teaser--consulting .product-teaser-copy .mono{color:rgba(255,255,255,.48)}
.product-teaser--consulting .product-teaser-copy h2 span{color:rgba(255,255,255,.34)}
.product-teaser--consulting .product-teaser-copy p{color:rgba(255,255,255,.64)}
.product-teaser-link--light{border-color:rgba(255,255,255,.24);color:#fff}
.product-teaser-link--light:hover{background:#fff;color:var(--navy)}
.product-teaser-points{border-top:1px solid rgba(255,255,255,.18)}
.product-teaser-points div{display:grid;grid-template-columns:45px 1fr;gap:18px;align-items:center;padding:24px 0;border-bottom:1px solid rgba(255,255,255,.18)}
.product-teaser-points span{font:600 9px/1 Outfit,sans-serif;letter-spacing:.16em;color:rgba(255,255,255,.42)}
.product-teaser-points strong{font:500 clamp(20px,2vw,29px)/1.05 "Space Grotesk",sans-serif;letter-spacing:-.04em}
@media(max-width:900px){.product-teaser{padding:100px 0}.product-teaser-grid,.product-teaser--consulting .product-teaser-grid{grid-template-columns:1fr;gap:0}.product-teaser-grid{min-height:auto}.product-teaser-media{height:62vw;min-height:430px}.product-teaser-copy{padding:65px 0 0}.product-teaser--advertising .product-teaser-copy{padding:60px 0 0}.product-teaser--consulting .product-teaser-grid{gap:55px}.product-teaser-points{margin-top:8px}}
@media(max-width:520px){.product-teaser{padding:82px 0}.product-teaser-media{height:78vw;min-height:360px}.product-teaser-copy h2{font-size:48px}.product-teaser-copy p{font-size:14px}.product-teaser--consulting{padding:92px 0}.product-teaser-points div{padding:20px 0}}

/* Dedicated consulting page: hero carries the supplied headline, detail section starts with the supporting copy. */
.consulting-page-hero .page-hero-media img{filter:saturate(.55) contrast(1.08) brightness(.68)}
.consulting-expertise .consulting-hero-copy>.consulting-intro-text:first-child{margin-top:0}

/* ═══════════════════════════════════════════════════════════════
   OUR PRODUCTS — client overview rebuild / 2026-08-25
   Uses the visual language of the four dedicated product pages.
   ═══════════════════════════════════════════════════════════════ */
.products-page .products-hero{min-height:520px;padding-bottom:78px}
.products-page .products-hero .page-hero-media img{object-position:center 51%;filter:saturate(.62) contrast(1.08) brightness(.58)}
.products-page .products-hero .page-hero-media::after{background:linear-gradient(90deg,rgba(3,22,43,.9) 0%,rgba(3,22,43,.58) 48%,rgba(3,22,43,.28) 100%),linear-gradient(180deg,rgba(3,22,43,.18),rgba(3,22,43,.64))}
.products-page .products-hero h1{font-size:clamp(72px,9vw,145px)}

.products-nav{background:var(--paper);color:var(--ink);padding:62px 0 112px}
.products-nav-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px;color:#81909f}
.products-nav-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.products-nav-card{position:relative;min-height:192px;padding:26px 26px 24px;border:1px solid rgba(6,26,51,.14);border-radius:18px;background:#f8fafc;color:var(--ink);display:flex;flex-direction:column;transition:transform .5s var(--ease),border-color .35s ease,box-shadow .5s var(--ease),background .35s ease}
.products-nav-card:hover{transform:translateY(-5px);border-color:rgba(31,94,168,.3);box-shadow:0 22px 54px rgba(6,26,51,.085);background:#fff}
.products-nav-num{font:600 9px/1 Outfit,sans-serif;letter-spacing:.17em;color:#8996a2}
.products-nav-card h2{font:500 clamp(24px,2.05vw,34px)/1.02 "Space Grotesk",sans-serif;letter-spacing:-.05em;margin:auto 58px 0 0;max-width:260px}
.products-nav-arrow{position:absolute;right:23px;bottom:21px;width:38px;height:38px;border:1px solid rgba(6,26,51,.16);border-radius:50%;display:grid;place-items:center;color:var(--blue);transition:background .3s ease,color .3s ease,border-color .3s ease,transform .4s var(--ease)}
.products-nav-arrow svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.products-nav-card:hover .products-nav-arrow{background:var(--blue);border-color:var(--blue);color:#fff;transform:translateY(3px)}

.product-overview{position:relative;overflow:hidden}
.product-overview--parking{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);background:#dfe6ed;color:var(--ink)}
.product-overview-media{position:relative;min-height:100vh;overflow:hidden;background:#cfd8df}
.product-overview-media img,.mobility-overview-media img,.garage-overview-frame img{position:absolute;inset:-7% 0;width:100%;height:114%;object-fit:cover;transform:translate3d(0,var(--parallax-y,0),0) scale(var(--parallax-scale,1.035));will-change:transform}
.product-overview-media img{filter:saturate(.55) contrast(1.08)}
.product-overview-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(2,17,34,.3))}
.product-media-index{position:absolute;z-index:2;left:30px;bottom:26px;color:#fff;font:500 56px/1 "Space Grotesk",sans-serif;letter-spacing:-.07em}
.product-overview-copy{padding:94px clamp(46px,6vw,94px);display:flex;flex-direction:column;justify-content:center}
.product-overview-copy>.mono{color:#788794;margin-bottom:34px}
.product-overview-copy h2,.mobility-overview-copy h2,.garage-overview-copy h2,.consulting-overview-copy h2{font:500 clamp(54px,5.8vw,94px)/.9 "Space Grotesk",sans-serif;letter-spacing:-.073em}
.product-overview-copy h3,.mobility-overview-copy h3,.garage-overview-copy h3,.consulting-overview-copy h3{font:500 clamp(30px,3vw,50px)/1.02 "Space Grotesk",sans-serif;letter-spacing:-.055em;margin-top:24px}
.product-overview-copy h3 span,.garage-overview-copy h3 span{color:rgba(6,26,51,.35)}
.product-overview-copy>p{max-width:690px;margin-top:34px;font-size:15px;line-height:1.78;color:#5b6875}
.parking-mini-flow{display:flex;align-items:center;gap:12px;margin-top:34px;padding-top:20px;border-top:1px solid rgba(6,26,51,.16);font:600 9px/1 Outfit,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:#657380}
.parking-mini-flow i{height:1px;flex:1;max-width:42px;background:rgba(6,26,51,.2)}
.overview-link{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;margin-top:36px;padding:14px 18px;border:1px solid rgba(6,26,51,.2);border-radius:999px;color:var(--blue);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;transition:gap .3s var(--ease),background .3s ease,color .3s ease,border-color .3s ease}
.overview-link svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform .3s var(--ease)}
.overview-link:hover{gap:15px;background:var(--blue);border-color:var(--blue);color:#fff}
.overview-link:hover svg{transform:translateX(2px)}

.product-overview--charging{position:relative;background:var(--mobility-deep);color:#fff;padding:148px 0 152px;overflow:hidden}
.mobility-overview-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:76px;align-items:center}
.mobility-overview-brand{width:132px;height:auto;margin-bottom:52px}
.mobility-overview-brand img{width:100%;height:auto;object-fit:contain}
.mobility-overview-copy>.mono{color:rgba(225,255,237,.58);margin-bottom:25px}
.mobility-overview-copy h2{color:#fff}
.mobility-overview-copy h3{color:#fff}
.mobility-overview-copy h3 span{color:#9fd8bd}
.mobility-overview-copy p{max-width:680px;margin-top:24px;font-size:15px;line-height:1.78;color:rgba(235,255,243,.68)}
.mobility-overview-copy .mobility-overview-lead{font:500 19px/1.4 "Space Grotesk",sans-serif;color:#d4f4e1;margin-top:32px}
.overview-link--mobility{border-color:rgba(217,255,232,.3);color:#d9ffe8}
.overview-link--mobility:hover{background:#d9ffe8;border-color:#d9ffe8;color:var(--mobility-deep)}
.mobility-overview-media{position:relative;min-height:640px;overflow:hidden;background:#0b4938}
.mobility-overview-media img{filter:saturate(.9) contrast(1.02) brightness(.82)}
.mobility-overview-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,43,32,.06),rgba(4,43,32,.36))}
.mobility-energy-tag{position:absolute;z-index:3;left:24px;bottom:22px;display:flex;align-items:center;gap:10px;padding:11px 14px;border:1px solid rgba(255,255,255,.25);background:rgba(7,55,41,.54);backdrop-filter:blur(8px);font:600 9px/1 Outfit,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#e3fff0}
.mobility-energy-tag i{width:7px;height:7px;border-radius:50%;background:#baf4d2;box-shadow:0 0 0 6px rgba(186,244,210,.1)}
.mobility-overview-orbit{position:absolute;border:1px solid rgba(190,255,217,.12);border-radius:50%;pointer-events:none}
.mobility-overview-orbit--one{width:760px;height:760px;right:-330px;top:-310px;box-shadow:0 0 0 80px rgba(190,255,217,.018),0 0 0 160px rgba(190,255,217,.012)}
.mobility-overview-orbit--two{width:420px;height:420px;left:-250px;bottom:-180px}

.garage-overview{background:#eef1f4;color:var(--ink);padding:154px 0 166px;overflow:hidden}
.garage-overview-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:88px;align-items:center}
.garage-overview-copy>.mono{color:#7c8995;margin-bottom:31px}
.garage-overview-copy h3 span{color:rgba(6,26,51,.35)}
.garage-overview-copy>p{max-width:680px;margin-top:28px;font-size:15px;line-height:1.78;color:#5b6876}
.garage-overview-copy>p+p{margin-top:15px}
.garage-format-line{display:flex;flex-wrap:wrap;gap:8px;margin-top:31px}
.garage-format-line span{padding:9px 12px;border:1px solid rgba(6,26,51,.16);border-radius:999px;font:600 9px/1 Outfit,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#6b7884}
.garage-overview-visual{min-width:0}
.garage-overview-frame{position:relative;margin:0;aspect-ratio:4/3;overflow:hidden;background:#d9dfe4}
.garage-overview-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:none;will-change:auto;filter:none}
.garage-overview-frame::after{content:"";position:absolute;inset:0;border:1px solid rgba(6,26,51,.08);pointer-events:none}
.garage-overview-meta{display:flex;justify-content:space-between;gap:24px;padding-top:14px;border-top:1px solid rgba(6,26,51,.15);margin-top:14px;font:600 9px/1.2 Outfit,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:#7d8995}
.garage-overview-meta span:last-child{text-align:right;color:#9aa4ad}

.consulting-overview{background:var(--navy);color:#fff;padding:155px 0 165px;overflow:hidden}
.consulting-overview-grid{display:grid;grid-template-columns:minmax(0,1.14fr) minmax(320px,.86fr);gap:100px;align-items:end}
.consulting-overview-copy>.mono{color:rgba(255,255,255,.46);margin-bottom:31px}
.consulting-overview-copy h3 span{color:rgba(255,255,255,.34)}
.consulting-overview-copy>p{max-width:760px;margin-top:27px;font-size:15px;line-height:1.78;color:rgba(255,255,255,.66)}
.consulting-overview-copy>p+p{margin-top:14px}
.overview-link--light{border-color:rgba(255,255,255,.24);color:#fff}
.overview-link--light:hover{background:#fff;border-color:#fff;color:var(--navy)}
.consulting-overview-list{border-top:1px solid rgba(255,255,255,.18)}
.consulting-overview-list div{display:grid;grid-template-columns:48px 1fr;gap:18px;align-items:center;padding:27px 0;border-bottom:1px solid rgba(255,255,255,.18)}
.consulting-overview-list span{font:600 9px/1 Outfit,sans-serif;letter-spacing:.16em;color:rgba(255,255,255,.4)}
.consulting-overview-list strong{font:500 clamp(21px,2vw,30px)/1.08 "Space Grotesk",sans-serif;letter-spacing:-.04em}

@media(max-width:1100px){
  .products-nav-grid{grid-template-columns:repeat(2,1fr)}
  .product-overview--parking{grid-template-columns:1fr 1fr}
  .product-overview-copy{padding:78px 44px}
  .mobility-overview-grid,.garage-overview-grid{gap:50px}
  .consulting-overview-grid{gap:60px}
}
@media(max-width:820px){
  .product-overview--parking{min-height:0}
  .product-overview-media{min-height:62vw}
  .products-page .products-hero{min-height:430px;padding-bottom:68px}
  .products-page .products-hero h1{font-size:clamp(62px,14vw,104px)}
  .products-nav{padding:50px 0 92px}
  .product-overview--parking{display:flex;flex-direction:column}
  .product-overview-media{min-height:58vw;height:58vw}
  .product-overview-copy{padding:72px 32px 82px}
  .mobility-overview-grid,.garage-overview-grid,.consulting-overview-grid{grid-template-columns:1fr}
  .product-overview--charging{padding:105px 0 110px}
  .mobility-overview-media{min-height:62vw;height:62vw;order:-1}
  .mobility-overview-brand{margin-bottom:40px}
  .garage-overview{padding:108px 0 116px}
  .garage-overview-visual{order:-1}
  .consulting-overview{padding:110px 0 118px}
  .consulting-overview-grid{gap:60px}
}
@media(max-width:560px){
  .products-page .products-hero{min-height:355px;padding:126px 0 52px}
  .products-page .products-hero .page-hero-media img{object-position:center center}
  .products-page .products-hero h1{font-size:clamp(52px,16vw,74px)}
  .products-nav{padding:38px 0 74px}
  .products-nav-head{margin-bottom:18px}
  .products-nav-grid{grid-template-columns:1fr;gap:9px}
  .products-nav-card{min-height:116px;padding:20px 20px;border-radius:14px}
  .products-nav-card h2{font-size:26px;margin:auto 52px 0 0}
  .products-nav-arrow{width:34px;height:34px;right:18px;bottom:17px}
  .product-overview-media{min-height:78vw;height:78vw}
  .product-media-index{font-size:42px;left:20px;bottom:18px}
  .product-overview-copy{padding:62px 22px 72px}
  .product-overview-copy>.mono,.garage-overview-copy>.mono,.consulting-overview-copy>.mono{margin-bottom:24px}
  .product-overview-copy h2,.mobility-overview-copy h2,.garage-overview-copy h2,.consulting-overview-copy h2{font-size:48px}
  .product-overview-copy h3,.mobility-overview-copy h3,.garage-overview-copy h3,.consulting-overview-copy h3{font-size:30px;margin-top:18px}
  .product-overview-copy>p,.mobility-overview-copy p,.garage-overview-copy>p,.consulting-overview-copy>p{font-size:14px;line-height:1.72}
  .parking-mini-flow{gap:9px;font-size:8px}
  .overview-link{margin-top:30px;padding:13px 16px}
  .product-overview--charging{padding:84px 0 90px}
  .mobility-overview-grid{gap:48px}
  .mobility-overview-media{min-height:82vw;height:82vw}
  .mobility-overview-brand{width:112px;margin-bottom:32px}
  .garage-overview{padding:88px 0 94px}
  .garage-overview-grid{gap:48px}
  .garage-overview-frame{aspect-ratio:4/3}
  .garage-overview-meta{font-size:8px;gap:14px}
  .garage-format-line{gap:6px;margin-top:25px}
  .garage-format-line span{font-size:8px;padding:8px 10px}
  .consulting-overview{padding:90px 0 98px}
  .consulting-overview-grid{gap:48px}
  .consulting-overview-list div{padding:21px 0;grid-template-columns:40px 1fr}
  .consulting-overview-list strong{font-size:23px}
}
/* Anchors on this overview intentionally land on the true section boundary. */
.products-page #parking,.products-page #charging,.products-page #advertising,.products-page #consulting{scroll-margin-top:0}

/* ============================================================
   2026-09 — Homepage interactive parking / mobility hero
   Parking Locations and other future pages stay in the build and
   are simply hidden through the existing .future-section switch.
   ============================================================ */

.hero-search-hero{height:100svh;min-height:780px;background:#061a33}
.hero-search-hero .hero-media img{filter:saturate(.74) contrast(1.05) brightness(.76)!important;object-position:center 58%;transform:translate3d(0,var(--parallax-y,0),0) scale(var(--parallax-scale,1.035))!important}
.hero-search-hero .hero-media:after{background:linear-gradient(180deg,rgba(3,18,36,.50) 0%,rgba(3,18,36,.16) 30%,rgba(3,18,36,.24) 58%,rgba(3,18,36,.80) 100%),linear-gradient(90deg,rgba(3,18,36,.28),rgba(3,18,36,.04) 48%,rgba(3,18,36,.24))!important}
.hero-search-hero .hero-grid{opacity:.16!important;mask-image:linear-gradient(180deg,#000,rgba(0,0,0,.28) 65%,transparent)}
.hero-search-in{padding-top:124px;padding-bottom:30px;display:flex;flex-direction:column;justify-content:space-between;align-items:stretch}
.hero-search-in .hero-tag{align-self:flex-start;grid-column:auto;text-shadow:0 2px 16px rgba(1,13,27,.48)}
.hero-search-copy{width:min(1120px,100%);margin:auto;text-align:center;display:flex;flex-direction:column;align-items:center;padding:34px 0 28px}
.hero-search-copy .hero-title{font-size:clamp(62px,7.15vw,118px);line-height:.88;max-width:1120px;margin:0 auto;text-shadow:0 6px 40px rgba(2,15,31,.36)}
.hero-search-copy .hero-title span{display:block}
.hero-search-copy .hero-title b{font-weight:500}
.hero-search-copy>p{max-width:660px;margin-top:26px;font-size:15px;line-height:1.65;color:rgba(255,255,255,.78);text-shadow:0 2px 18px rgba(1,13,27,.5)}
.mobility-search{width:min(920px,100%);margin-top:38px;padding:8px;border:1px solid rgba(255,255,255,.24);border-radius:22px;background:rgba(5,24,47,.54);box-shadow:0 28px 90px rgba(1,11,24,.28);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);text-align:left;transition:background .45s var(--ease),border-color .45s var(--ease),box-shadow .45s var(--ease)}
.mobility-search.charging-mode{background:rgba(7,58,44,.70);border-color:rgba(189,255,216,.28);box-shadow:0 28px 90px rgba(3,38,29,.31)}
.mobility-search-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:0 0 7px}
.mobility-search-tab{height:47px;border:0;border-radius:15px;background:transparent;color:rgba(255,255,255,.62);font:600 11px/1 Outfit,sans-serif;letter-spacing:.13em;text-transform:uppercase;cursor:pointer;transition:background .3s ease,color .3s ease,transform .35s var(--ease)}
.mobility-search-tab:hover{color:#fff}
.mobility-search-tab.active{background:rgba(255,255,255,.13);color:#fff}
.mobility-search.charging-mode .mobility-search-tab.active{background:rgba(190,255,216,.13);color:#c9f9dc}
.mobility-search-pane{border-radius:15px;background:rgba(249,251,253,.98);color:var(--ink);overflow:hidden;min-height:92px}
.parking-search-form{display:grid;grid-template-columns:1fr auto;gap:8px;padding:8px}
.parking-search-field{min-width:0;height:68px;display:grid;grid-template-columns:28px 1fr 44px;gap:10px;align-items:center;padding:0 12px 0 18px;border:1px solid rgba(6,26,51,.11);border-radius:12px;background:#fff}
.parking-search-field>svg{width:22px;height:22px;fill:none;stroke:#1f5ea8;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.parking-search-field input{min-width:0;width:100%;height:100%;border:0;outline:0;background:transparent;color:#061a33;font-size:16px;letter-spacing:-.01em}
.parking-search-field input::placeholder{color:#7a8793;opacity:1}
.parking-locate{width:42px;height:42px;border:1px solid rgba(6,26,51,.12);border-radius:10px;background:#f1f4f7;color:#173e69;display:grid;place-items:center;cursor:pointer;transition:background .25s ease,transform .3s var(--ease)}
.parking-locate:hover{background:#e6ecf2;transform:scale(1.04)}
.parking-locate.loading{animation:locationPulse 1s ease-in-out infinite}
.parking-locate svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
@keyframes locationPulse{50%{opacity:.45}}
.parking-search-submit{height:68px;padding:0 28px;border:0;border-radius:12px;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;gap:25px;font:600 11px/1 Outfit,sans-serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:transform .35s var(--ease),background .3s ease}
.parking-search-submit:hover{transform:translateY(-2px);background:#174d90}
.parking-search-submit svg,.charging-search-cta svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.mobility-search-meta{display:flex;justify-content:space-between;gap:20px;padding:2px 13px 11px;color:#87929d;font-size:10px;letter-spacing:.055em}
.mobility-search-pane--charging{background:linear-gradient(135deg,#0c664c,#073d2f);color:#fff}
.charging-search-content{min-height:156px;padding:26px 27px;display:grid;grid-template-columns:170px 1fr auto;gap:30px;align-items:center}
.charging-search-brand img{width:145px;height:auto;object-fit:contain}
.charging-search-content p{max-width:510px;font-size:13px;line-height:1.65;color:rgba(255,255,255,.72)}
.charging-search-cta{min-height:52px;padding:0 18px 0 20px;border:1px solid rgba(213,255,229,.30);border-radius:12px;display:flex;align-items:center;gap:22px;color:#d7ffe7;font-size:11px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;white-space:nowrap;transition:background .3s ease,transform .35s var(--ease)}
.charging-search-cta:hover{background:rgba(211,255,228,.10);transform:translateY(-2px)}
.hero-search-foot{width:100%;display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;color:rgba(255,255,255,.63)}
.hero-search-foot-line{height:1px;background:rgba(255,255,255,.26)}
.hero-search-foot a{display:flex;align-items:center;gap:11px;font-size:11px;letter-spacing:.055em;color:rgba(255,255,255,.86)}
.hero-search-foot a svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6}

.group-intro{background:#f2f4f6;color:var(--ink);padding:150px 0 165px}
.group-intro-grid{display:grid;grid-template-columns:minmax(200px,.34fr) minmax(0,1.66fr);gap:clamp(55px,7vw,120px)}
.group-intro-side{padding-top:12px;display:flex;flex-direction:column;align-items:flex-start}
.group-intro-side .mono{color:#6d7a87}
.group-intro-rule{display:block;width:100%;height:1px;background:rgba(6,26,51,.16);margin:28px 0}
.group-intro-side p{max-width:260px;color:#66727e;font-size:13px;line-height:1.72}
.group-intro-main h2{font:500 clamp(58px,6.1vw,102px)/.93 "Space Grotesk",sans-serif;letter-spacing:-.073em;max-width:1260px}
.group-intro-main h2 span{color:#97a0a9}
.group-intro-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:60px;align-items:end;margin-top:62px;padding-top:27px;border-top:1px solid rgba(6,26,51,.14)}
.group-intro-bottom p{max-width:720px;color:#5f6b77;font-size:16px;line-height:1.78}
.group-intro-link,.home-products-all{display:inline-flex;align-items:center;gap:18px;padding:14px 18px;border:1px solid rgba(6,26,51,.16);border-radius:999px;color:var(--navy);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;transition:background .3s ease,color .3s ease,gap .35s var(--ease)}
.group-intro-link:hover,.home-products-all:hover{background:var(--navy);color:#fff;gap:24px}
.group-intro-link svg,.home-products-all svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.home-products{background:#fff;color:var(--ink);padding:145px 0 155px}
.home-products-head{display:grid;grid-template-columns:1.1fr .52fr;gap:70px;align-items:end;margin-bottom:58px}
.home-products-head .mono{color:#7a8793;margin-bottom:24px}
.home-products-head h2{font:500 clamp(58px,6.2vw,104px)/.90 "Space Grotesk",sans-serif;letter-spacing:-.075em}
.home-products-head h2 span{color:#a4abb2}
.home-products-head>p{max-width:520px;justify-self:end;font-size:15px;line-height:1.75;color:#66727d;padding-bottom:7px}
.home-products-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(6,26,51,.16);border-bottom:1px solid rgba(6,26,51,.16)}
.home-product-card{position:relative;min-height:480px;padding:28px 25px 26px;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid rgba(6,26,51,.14);overflow:hidden;isolation:isolate;transition:background .42s ease,color .42s ease}
.home-product-card:first-child{border-left:1px solid rgba(6,26,51,.14)}
.home-product-card:before{content:"";position:absolute;inset:auto -35% -45% auto;width:280px;aspect-ratio:1;border:1px solid rgba(31,94,168,.12);border-radius:50%;box-shadow:0 0 0 42px rgba(31,94,168,.025),0 0 0 84px rgba(31,94,168,.018);z-index:-1;transition:transform .65s var(--ease),border-color .4s ease}
.home-product-card:hover{background:#061a33;color:#fff}
.home-product-card:hover:before{transform:translate(-32px,-35px) scale(1.12);border-color:rgba(255,255,255,.18)}
.home-product-card--mobility:hover{background:#0b5c46}
.home-product-num{font:600 9px/1 Outfit,sans-serif;letter-spacing:.18em;color:#87939e}
.home-product-card>div small{display:block;margin-bottom:12px;color:#3c8e6c;font:600 9px/1 Outfit,sans-serif;letter-spacing:.15em;text-transform:uppercase}
.home-product-card h3{font:500 clamp(32px,2.7vw,48px)/.96 "Space Grotesk",sans-serif;letter-spacing:-.058em;max-width:270px}
.home-product-card p{max-width:270px;margin-top:18px;color:#697581;font-size:13px;line-height:1.68;transition:color .4s ease}
.home-product-card:hover p,.home-product-card:hover .home-product-num{color:rgba(255,255,255,.62)}
.home-product-card--mobility:hover>div small{color:#c4f6d8}
.home-product-arrow{width:44px;height:44px;border:1px solid rgba(6,26,51,.16);border-radius:50%;display:grid;place-items:center;color:#1f5ea8;transition:transform .45s var(--ease),background .3s ease,color .3s ease,border-color .3s ease}
.home-product-arrow svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.home-product-card:hover .home-product-arrow{transform:rotate(45deg);background:#fff;color:#061a33;border-color:#fff}
.home-products-all{margin-top:36px}

@media(max-width:1100px){
  .hero-search-copy .hero-title{font-size:clamp(58px,8.2vw,88px)}
  .charging-search-content{grid-template-columns:145px 1fr}.charging-search-cta{grid-column:2;justify-self:start}
  .home-products-grid{grid-template-columns:repeat(2,1fr)}
  .home-product-card:nth-child(2){border-right:1px solid rgba(6,26,51,.14)}
  .home-product-card:nth-child(n+3){border-top:1px solid rgba(6,26,51,.14)}
  .home-product-card{min-height:390px}
}

@media(max-width:760px){
  .hero-search-hero{min-height:720px;height:100svh}
  .hero-search-hero .hero-media img{object-position:58% center!important;filter:saturate(.72) contrast(1.06) brightness(.68)!important}
  .hero-search-hero .hero-media:after{background:linear-gradient(180deg,rgba(3,18,36,.62) 0%,rgba(3,18,36,.26) 31%,rgba(3,18,36,.34) 64%,rgba(3,18,36,.88) 100%)!important}
  .hero-search-in{padding-top:105px;padding-bottom:20px}
  .hero-search-in .hero-tag{font-size:8px}
  .hero-search-copy{padding:18px 0 14px}
  .hero-search-copy .hero-title{font-size:clamp(47px,13.5vw,70px);line-height:.91}
  .hero-search-copy>p{font-size:13px;line-height:1.55;max-width:460px;margin-top:18px}
  .mobility-search{margin-top:25px;padding:6px;border-radius:17px}
  .mobility-search-tabs{padding-bottom:5px}.mobility-search-tab{height:42px;border-radius:12px;font-size:10px}
  .mobility-search-pane{border-radius:12px}
  .parking-search-form{grid-template-columns:1fr;padding:6px;gap:6px}
  .parking-search-field{height:58px;grid-template-columns:24px 1fr 40px;padding-left:14px}.parking-search-field input{font-size:14px}.parking-locate{width:38px;height:38px}
  .parking-search-submit{height:54px;padding:0 18px;justify-content:space-between;border-radius:10px}
  .mobility-search-meta{padding:4px 9px 9px;font-size:8px;gap:10px}.mobility-search-meta span:last-child{display:none}
  .charging-search-content{min-height:0;padding:22px 19px;grid-template-columns:1fr;gap:16px}.charging-search-brand img{width:122px}.charging-search-content p{font-size:12px}.charging-search-cta{grid-column:auto;min-height:48px;justify-self:stretch;justify-content:space-between}
  .hero-search-foot{grid-template-columns:auto 1fr;gap:14px}.hero-search-foot a{display:none}
  .group-intro{padding:92px 0 100px}.group-intro-grid{grid-template-columns:1fr;gap:46px}.group-intro-side p{max-width:420px}.group-intro-main h2{font-size:clamp(45px,12vw,68px)}.group-intro-bottom{grid-template-columns:1fr;gap:30px;margin-top:42px}.group-intro-bottom p{font-size:14px}.group-intro-link{justify-self:start}
  .home-products{padding:92px 0 100px}.home-products-head{grid-template-columns:1fr;gap:28px;margin-bottom:40px}.home-products-head h2{font-size:clamp(48px,12.5vw,70px)}.home-products-head>p{justify-self:start;font-size:14px}.home-products-grid{grid-template-columns:1fr}.home-product-card,.home-product-card:first-child,.home-product-card:nth-child(2){min-height:285px;border-left:1px solid rgba(6,26,51,.14);border-right:1px solid rgba(6,26,51,.14);border-top:1px solid rgba(6,26,51,.14)}.home-product-card:first-child{border-top:0}.home-product-card h3{font-size:38px}.home-products-all{margin-top:28px}
}

@media(max-width:430px){
  .hero-search-hero{min-height:680px}
  .hero-search-in{padding-top:94px}
  .hero-search-copy .hero-title{font-size:clamp(42px,12.8vw,57px)}
  .hero-search-copy>p{font-size:12px;margin-top:14px}
  .mobility-search{margin-top:20px}
  .parking-search-field{grid-template-columns:20px 1fr 38px;gap:6px}
  .parking-search-field input{font-size:13px}
  .group-intro,.home-products{padding-left:0;padding-right:0}
}

/* ============================================================
   2026-09-03 — Homepage hero polish / stable intro / marquee loop
   ============================================================ */

/* Keep every hero foreground element hidden until the post-loader intro begins.
   This prevents the search UI from appearing for one frame and then animating in. */
.hero-search-copy > p,
.mobility-search,
.hero-search-foot{
  opacity:0;
  transform:translate3d(0,25px,0);
}
.hero-search-copy > p.intro-visible,
.mobility-search.intro-visible,
.hero-search-foot.intro-visible{
  opacity:1;
  transform:translate3d(0,0,0);
  transition:opacity .7s ease var(--intro-delay,0ms),transform 1.05s var(--ease) var(--intro-delay,0ms);
}

/* The old title shadow was being clipped by the per-line overflow mask and could
   read as a rectangular haze behind each line. Keep the reveal mask, remove haze. */
.hero-search-copy .hero-title,
.hero-search-copy .hero-title b{
  text-shadow:none!important;
}

/* More compact, calmer desktop composition. */
.hero-search-in{
  padding-top:118px;
  padding-bottom:28px;
}
.hero-search-copy{
  width:min(1020px,100%);
  padding:24px 0 20px;
}
.hero-search-copy .hero-title{
  max-width:980px;
  font-size:clamp(58px,5.9vw,96px);
  line-height:.91;
  letter-spacing:-.07em;
}
.hero-search-copy > p{
  max-width:620px;
  margin-top:18px;
  font-size:14px;
}
.mobility-search{
  width:min(820px,100%);
  margin-top:27px;
  padding:6px;
  border-radius:18px;
  box-shadow:0 22px 70px rgba(1,11,24,.25);
}
.mobility-search-tabs{
  gap:4px;
  padding-bottom:5px;
}
.mobility-search-tab{
  height:42px;
  border-radius:12px;
  font-size:10px;
}
.mobility-search-pane{
  height:90px;
  min-height:90px;
  border-radius:12px;
}
.parking-search-form{
  gap:6px;
  padding:6px;
}
.parking-search-field{
  height:56px;
  grid-template-columns:24px 1fr 40px;
  gap:8px;
  padding:0 9px 0 15px;
  border-radius:10px;
}
.parking-search-field > svg{
  width:19px;
  height:19px;
}
.parking-search-field input{
  font-size:14px;
}
.parking-locate{
  width:38px;
  height:38px;
  border-radius:9px;
}
.parking-search-submit{
  height:56px;
  padding:0 22px;
  border-radius:10px;
  gap:20px;
  font-size:10px;
}
.mobility-search-meta{
  padding:0 10px 8px;
  font-size:9px;
  line-height:14px;
}
.charging-search-content{
  height:100%;
  min-height:0;
  padding:10px 16px;
  grid-template-columns:130px 1fr auto;
  gap:20px;
}
.charging-search-brand img{
  width:112px;
}
.charging-search-content p{
  font-size:11.5px;
  line-height:1.5;
}
.charging-search-cta{
  min-height:46px;
  padding:0 15px 0 17px;
  gap:16px;
  border-radius:10px;
  font-size:10px;
}
.hero-search-foot{
  gap:20px;
}

/* New supplied mobility visual. */
.hero-search-hero .hero-media img{
  object-position:center center!important;
  filter:saturate(.78) contrast(1.04) brightness(.72)!important;
}
.hero-search-hero .hero-media:after{
  background:
    linear-gradient(180deg,rgba(3,18,36,.48) 0%,rgba(3,18,36,.10) 31%,rgba(3,18,36,.18) 59%,rgba(3,18,36,.82) 100%),
    linear-gradient(90deg,rgba(3,18,36,.18),rgba(3,18,36,.02) 48%,rgba(3,18,36,.18))!important;
}

/* Explicit two-copy marquee. Each half is identical, so the animation returns
   to an indistinguishable frame instead of visibly flashing back to the start. */
.index-track{
  display:flex;
  width:max-content;
  animation:indexMarquee 26s linear infinite!important;
  will-change:transform;
  transform:translate3d(0,0,0);
}
.index-group{
  display:flex;
  flex:0 0 auto;
}
@keyframes indexMarquee{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}

@media(max-width:1100px) and (min-width:761px){
  .hero-search-copy .hero-title{font-size:clamp(58px,7.2vw,82px)}
  .mobility-search{width:min(760px,100%)}
  .charging-search-content{grid-template-columns:120px 1fr auto;gap:14px}
  .charging-search-brand img{width:104px}
  .charging-search-content p{font-size:11px}
}

@media(max-width:760px){
  .hero-search-in{padding-top:102px;padding-bottom:20px}
  .hero-search-copy{padding:15px 0 12px}
  .hero-search-copy .hero-title{font-size:clamp(44px,12.2vw,64px);line-height:.92}
  .hero-search-copy > p{font-size:12.5px;line-height:1.52;margin-top:14px}
  .mobility-search{margin-top:20px;padding:5px;border-radius:15px}
  .mobility-search-tabs{padding-bottom:4px}
  .mobility-search-tab{height:39px;border-radius:10px;font-size:9px}
  .mobility-search-pane{height:174px;min-height:174px;border-radius:10px}
  .parking-search-form{grid-template-columns:1fr;padding:5px;gap:5px}
  .parking-search-field{height:54px;grid-template-columns:22px 1fr 38px;padding-left:13px}
  .parking-search-field input{font-size:13px}
  .parking-locate{width:36px;height:36px}
  .parking-search-submit{height:50px;padding:0 16px}
  .mobility-search-meta{padding:3px 8px 7px;font-size:8px}
  .charging-search-content{
    height:100%;
    padding:14px;
    grid-template-columns:1fr;
    grid-template-rows:auto 1fr auto;
    gap:8px;
    align-items:center;
  }
  .charging-search-brand img{width:94px}
  .charging-search-content p{font-size:10.5px;line-height:1.42}
  .charging-search-cta{min-height:42px;justify-self:stretch;justify-content:space-between}
  .hero-search-hero .hero-media img{object-position:70% center!important}
}

@media(max-width:430px){
  .hero-search-in{padding-top:92px}
  .hero-search-copy .hero-title{font-size:clamp(40px,11.9vw,53px)}
  .mobility-search-pane{height:168px;min-height:168px}
  .charging-search-content{padding:12px;gap:7px}
}

@media(prefers-reduced-motion:reduce){
  .hero-search-copy > p,
  .mobility-search,
  .hero-search-foot{
    opacity:1!important;
    transform:none!important;
  }
  .index-track{animation:none!important}
}

/* Compact equal-height mobile tab panels without stacking the charging copy too tall. */
@media(max-width:760px){
  .mobility-search-pane{height:154px;min-height:154px}
  .charging-search-content{
    padding:12px;
    grid-template-columns:86px 1fr;
    grid-template-rows:1fr auto;
    gap:8px 10px;
    align-items:center;
  }
  .charging-search-brand{grid-column:1;grid-row:1}
  .charging-search-brand img{width:82px}
  .charging-search-content p{grid-column:2;grid-row:1;font-size:10px;line-height:1.38}
  .charging-search-cta{grid-column:1/-1;grid-row:2;min-height:40px}
}
@media(max-width:430px){
  .mobility-search-pane{height:154px;min-height:154px}
}
.hero-search-copy .hero-title span,
.hero-search-copy .hero-title b{background:transparent!important}

/* 2026-09-03 — Hero title descender clipping fix.
   Preserve the exact tight typography/reveal layout while giving glyph
   descenders (y/g/p/j/q) a little extra room inside the overflow mask. */
.hero-search-copy .hero-title > span{
  padding-bottom:.12em;
  margin-bottom:-.12em;
}


/* ============================================================
   2026-09-05 — Focused homepage: integrated hero + compact flow
   ============================================================ */

/* Charging mode is a tint/state transition over the same cinematic image,
   not a second visual. This keeps the hero premium and makes the BCS Parking
   -> BCS Mobility relationship feel intentional. */
.hero-search-hero{isolation:isolate;transition:background-color .7s ease}
.hero-search-hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(4,56,43,.56) 0%,rgba(8,92,68,.30) 34%,rgba(7,73,56,.37) 65%,rgba(3,43,34,.79) 100%),linear-gradient(90deg,rgba(6,72,54,.28),rgba(5,71,53,.02) 50%,rgba(4,58,45,.28));opacity:0;transition:opacity .72s var(--ease)}
.hero-search-hero.hero-charging-mode::after{opacity:1}
.hero-search-hero .hero-grid{z-index:2;transition:opacity .6s ease}
.hero-search-hero.hero-charging-mode .hero-grid{opacity:.10!important}
.hero-search-in{z-index:3;padding-top:118px;padding-bottom:32px;justify-content:flex-start}
.hero-search-copy{width:min(1040px,100%);margin:auto;text-align:center;padding:20px 0 22px}
.hero-search-copy .hero-title{max-width:1020px;font-size:clamp(58px,6vw,98px);line-height:.91;letter-spacing:-.07em}
.hero-search-copy .hero-title > span{padding-bottom:.12em;margin-bottom:-.12em}
.hero-search-copy > p,.hero-search-foot{display:none!important}
.hero-search-hero .hero-media:after{transition:opacity .7s ease,background .7s ease}

/* Integrated mode selector: intentionally no card around it. */
.mobility-search{width:min(720px,100%);margin-top:31px;padding:0;border:0;border-radius:0;background:transparent!important;box-shadow:none!important;backdrop-filter:none;-webkit-backdrop-filter:none;text-align:left}
.mobility-search-tabs{display:flex;align-items:center;justify-content:center;gap:42px;width:100%;padding:0 10px 16px}
.mobility-search-tab{position:relative;display:inline-flex;align-items:center;gap:10px;width:auto;height:auto;padding:3px 0 10px;border:0;border-radius:0;background:transparent!important;color:rgba(255,255,255,.62);font:500 13px/1 Outfit,sans-serif;letter-spacing:.015em;text-transform:none;transition:color .3s ease,transform .35s var(--ease)}
.mobility-search-tab::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:center;opacity:.85;transition:transform .42s var(--ease)}
.mobility-search-tab:hover{color:#fff;transform:translateY(-1px)}
.mobility-search-tab.active{color:#fff}
.mobility-search-tab.active::after{transform:scaleX(1)}
.mobility-tab-icon{width:28px;height:28px;border:1px solid rgba(255,255,255,.52);border-radius:8px;display:grid;place-items:center;font:600 13px/1 "Space Grotesk",sans-serif;transition:border-color .4s ease,background .4s ease,color .4s ease,box-shadow .4s ease}
.mobility-tab-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.hero-charging-mode .mobility-search-tab.active{color:#d8ffe8}
.hero-charging-mode .mobility-search-tab.active .mobility-tab-icon{border-color:rgba(207,255,226,.72);background:rgba(57,178,132,.16);box-shadow:0 0 0 7px rgba(54,179,132,.07)}

/* Single clean search field for both modes. */
.hero-location-search{position:relative;width:100%;height:68px;display:grid;grid-template-columns:42px 1fr 58px;align-items:center;padding:5px 6px 5px 18px;border:1px solid rgba(255,255,255,.45);border-radius:999px;background:rgba(250,252,253,.97);box-shadow:0 19px 58px rgba(1,11,24,.24);transition:border-color .5s ease,box-shadow .5s ease,background .5s ease}
.hero-location-search:focus-within{border-color:rgba(255,255,255,.8);box-shadow:0 22px 68px rgba(1,11,24,.30)}
.hero-search-pin{display:grid;place-items:center;color:#235f9f}
.hero-search-pin svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.hero-location-search input{width:100%;min-width:0;height:100%;border:0;outline:0;background:transparent;color:#061a33;font:400 17px/1 Outfit,sans-serif;letter-spacing:-.012em;padding:0 9px}
.hero-location-search input::placeholder{color:#7f8993;opacity:1}
.hero-search-action{width:54px;height:54px;border:0;border-radius:50%;display:grid;place-items:center;background:#1f5ea8;color:#fff;cursor:pointer;transition:transform .35s var(--ease),background .5s ease,box-shadow .5s ease}
.hero-search-action:hover{transform:scale(1.045)}
.hero-search-action svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.hero-charging-mode .hero-search-pin{color:#137657}
.hero-charging-mode .hero-search-action{background:#16815f;box-shadow:0 8px 25px rgba(17,111,82,.23)}
.hero-charging-mode .hero-location-search{border-color:rgba(211,255,229,.52)}

/* Compact group bridge instead of a second large editorial section. */
.group-prompt{background:#edf1f4;color:var(--ink);padding:76px 0 80px;border-bottom:1px solid rgba(6,26,51,.10)}
.group-prompt-in{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:54px;align-items:center}
.group-prompt h2{font:500 clamp(35px,3.8vw,61px)/1.02 "Space Grotesk",sans-serif;letter-spacing:-.058em;max-width:1010px}
.group-prompt h2 span{color:#8c98a3}
.group-prompt-link{display:inline-flex;align-items:center;gap:17px;padding:15px 19px;border:1px solid rgba(6,26,51,.18);border-radius:999px;color:var(--navy);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;transition:background .3s ease,color .3s ease,gap .35s var(--ease)}
.group-prompt-link:hover{background:var(--navy);color:#fff;gap:23px}
.group-prompt-link svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Products stay visually strong, but the introductory copy is stripped back. */
.home-products--focused{padding:104px 0 112px}
.home-products-head--focused{grid-template-columns:1fr auto;gap:50px;align-items:end;margin-bottom:48px}
.home-products-head--focused .mono{margin-bottom:18px}
.home-products-head--focused h2{font-size:clamp(58px,6.1vw,98px);line-height:.91}
.home-products-head--focused .home-products-all{margin:0 0 6px}
.home-products--focused .home-product-card{min-height:410px}

/* Compact, site-native navigation footer. */
.home-simple-footer{background:var(--navy-deep);color:#fff;padding:64px 0 28px;border-top:1px solid rgba(255,255,255,.11)}
.home-footer-top{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.14)}
.home-footer-brand img{width:116px;height:auto;object-fit:contain}
.home-footer-top .mono{color:rgba(255,255,255,.43)}
.home-footer-nav{display:grid;grid-template-columns:1.35fr .7fr .8fr;gap:70px;padding:46px 0 58px}
.home-footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.home-footer-column h3{margin-bottom:8px;font:500 15px/1.2 "Space Grotesk",sans-serif;letter-spacing:-.025em;color:#fff}
.home-footer-column a{position:relative;color:rgba(255,255,255,.58);font-size:13px;line-height:1.45;transition:color .25s ease,transform .35s var(--ease)}
.home-footer-column a::after{content:"";position:absolute;left:0;right:100%;bottom:-3px;height:1px;background:#fff;transition:right .38s var(--ease)}
.home-footer-column a:hover{color:#fff;transform:translateX(3px)}
.home-footer-column a:hover::after{right:0}
.home-footer-bottom{display:flex;justify-content:space-between;gap:30px;padding-top:21px;border-top:1px solid rgba(255,255,255,.12);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.37)}

@media(max-width:950px){
  .hero-search-hero{min-height:700px}
  .hero-search-in{padding-top:106px;padding-bottom:22px}
  .hero-search-copy{padding:16px 0}
  .hero-search-copy .hero-title{font-size:clamp(48px,9.3vw,78px);line-height:.92}
  .mobility-search{width:min(650px,100%);margin-top:27px}
  .hero-location-search{height:64px;grid-template-columns:38px 1fr 54px;padding-left:16px}
  .hero-search-action{width:50px;height:50px}
  .group-prompt{padding:66px 0 70px}
  .group-prompt-in{grid-template-columns:1fr;gap:30px}
  .group-prompt-link{justify-self:start}
  .home-products-head--focused{grid-template-columns:1fr;gap:24px}
  .home-products-head--focused .home-products-all{justify-self:start}
  .home-footer-nav{grid-template-columns:1.2fr .7fr .8fr;gap:38px}
}

@media(max-width:760px){
  .hero-search-hero{min-height:640px;height:100svh}
  .hero-search-in{padding-top:96px;padding-bottom:20px}
  .hero-search-copy{padding:12px 0 16px}
  .hero-search-copy .hero-title{font-size:clamp(42px,12.6vw,62px);line-height:.93;letter-spacing:-.065em}
  .mobility-search{margin-top:25px}
  .mobility-search-tabs{gap:34px;padding-bottom:14px}
  .mobility-search-tab{font-size:12px;gap:8px}
  .mobility-tab-icon{width:26px;height:26px;border-radius:7px}
  .hero-location-search{height:60px;grid-template-columns:32px 1fr 50px;padding:4px 5px 4px 14px}
  .hero-location-search input{font-size:14px;padding:0 7px}
  .hero-search-pin svg{width:19px;height:19px}
  .hero-search-action{width:46px;height:46px}
  .hero-search-action svg{width:21px;height:21px}
  .hero-search-hero .hero-media img{object-position:70% center!important}
  .group-prompt{padding:58px 0 62px}
  .group-prompt h2{font-size:clamp(36px,10vw,50px)}
  .home-products--focused{padding:78px 0 84px}
  .home-products-head--focused{margin-bottom:34px}
  .home-products-head--focused h2{font-size:clamp(50px,13vw,70px)}
  .home-products--focused .home-product-card{min-height:275px}
  .home-simple-footer{padding:48px 0 24px}
  .home-footer-top{align-items:flex-start;padding-bottom:28px}
  .home-footer-top .mono{max-width:180px;text-align:right;line-height:1.5}
  .home-footer-nav{grid-template-columns:1.35fr .75fr;gap:38px 30px;padding:36px 0 44px}
  .home-footer-column:last-child{grid-column:2}
}

@media(max-width:480px){
  .hero-search-hero{min-height:610px}
  .hero-search-in{padding-top:90px}
  .hero-search-copy .hero-title{font-size:clamp(39px,12vw,52px)}
  .mobility-search{margin-top:21px}
  .mobility-search-tabs{gap:28px}
  .hero-location-search{height:57px;grid-template-columns:29px 1fr 47px;padding-left:12px}
  .hero-location-search input{font-size:13.5px}
  .hero-search-action{width:43px;height:43px}
  .group-prompt h2{font-size:clamp(34px,10.5vw,46px)}
  .home-footer-top{display:block}
  .home-footer-top .mono{display:block;max-width:none;text-align:left;margin-top:19px}
  .home-footer-nav{grid-template-columns:1fr 1fr;gap:34px 22px}
  .home-footer-column:first-child{grid-column:1/-1}
  .home-footer-column:last-child{grid-column:auto}
  .home-footer-bottom{font-size:9px}
}

@media(prefers-reduced-motion:reduce){
  .hero-search-hero::after,.hero-search-action,.mobility-search-tab,.mobility-tab-icon{transition:none!important}
}

/* ============================================================
   2026-09-05 — Homepage refinement pass 2
   - Charging uses the same overlay density as Parking, hue-shifted only.
   - Homepage footer returns to the site's light, restrained design language.
   - Explicitly removes the inherited generic footer top margin.
   ============================================================ */

/* True blue -> green crossfade. The green layer deliberately mirrors the
   exact alpha stops of the regular blue overlay instead of stacking on top. */
.hero-search-hero::after{content:none!important;display:none!important}
.hero-search-hero .hero-media::after{
  z-index:1;
  opacity:1;
  transition:opacity .72s var(--ease)!important;
}
.hero-search-hero .hero-media::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(5,49,36,.48) 0%,rgba(5,49,36,.10) 31%,rgba(5,49,36,.18) 59%,rgba(5,49,36,.82) 100%),
    linear-gradient(90deg,rgba(5,49,36,.18),rgba(5,49,36,.02) 48%,rgba(5,49,36,.18));
  opacity:0;
  transition:opacity .72s var(--ease);
}
.hero-search-hero.hero-charging-mode .hero-media::after{opacity:0}
.hero-search-hero.hero-charging-mode .hero-media::before{opacity:1}
.hero-search-hero.hero-charging-mode .hero-grid{opacity:.16!important}

/* Site-native homepage footer: light, compact and editorial rather than a
   dark portal-style mega footer. */
.home-native-footer{
  margin-top:0!important;
  display:block!important;
  padding:0!important;
  background:#edf1f4;
  color:var(--ink);
  border-top:1px solid rgba(6,26,51,.12)!important;
  font-size:inherit!important;
  letter-spacing:normal!important;
  text-transform:none!important;
}
.home-native-footer>.container{padding-top:54px;padding-bottom:28px}
.home-native-footer-grid{
  display:grid;
  grid-template-columns:1.25fr 1.2fr .62fr .8fr;
  gap:56px;
  align-items:start;
}
.home-native-footer-brand{display:flex;flex-direction:column;align-items:flex-start;gap:22px}
.home-native-footer-brand img{display:block;width:118px;height:auto}
.home-native-footer-brand .mono{color:#71808d}
.home-native-footer-group{display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.home-native-footer-group .mono{margin-bottom:12px;color:#71808d}
.home-native-footer-group a{
  position:relative;
  color:#273a4d;
  font:400 13px/1.45 Outfit,sans-serif;
  transition:color .25s ease,transform .35s var(--ease);
}
.home-native-footer-group a::after{
  content:"";
  position:absolute;
  left:0;right:100%;bottom:-2px;
  height:1px;background:var(--navy);
  transition:right .38s var(--ease);
}
.home-native-footer-group a:hover{color:var(--navy);transform:translateX(3px)}
.home-native-footer-group a:hover::after{right:0}
.home-native-footer-bottom{
  display:flex;
  justify-content:space-between;
  gap:28px;
  margin-top:44px;
  padding-top:20px;
  border-top:1px solid rgba(6,26,51,.14);
  color:#7b8791;
  font-size:9px;
  letter-spacing:.13em;
  text-transform:uppercase;
}

@media(max-width:950px){
  .home-native-footer{margin-top:0!important}
  .home-native-footer-grid{grid-template-columns:1.15fr 1.15fr .7fr;gap:42px 30px}
  .home-native-footer-brand{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;padding-bottom:28px;border-bottom:1px solid rgba(6,26,51,.11)}
  .home-native-footer-brand .mono{margin:0}
}
@media(max-width:620px){
  .home-native-footer>.container{padding-top:42px;padding-bottom:23px}
  .home-native-footer-grid{grid-template-columns:1fr 1fr;gap:34px 24px}
  .home-native-footer-brand{grid-column:1/-1;padding-bottom:24px}
  .home-native-footer-group:first-of-type{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:9px 20px}
  .home-native-footer-group:first-of-type .mono{grid-column:1/-1}
  .home-native-footer-group a{font-size:12.5px}
  .home-native-footer-bottom{margin-top:34px;font-size:8px}
}
@media(prefers-reduced-motion:reduce){
  .hero-search-hero .hero-media::before,.hero-search-hero .hero-media::after{transition:none!important}
}

/* ============================================================
   2026-09-05 — Shared editorial footer + polished charging icon
   ============================================================ */

/* Material Symbols icon-pack glyph used only for the hero charging selector. */
.mobility-tab-icon--charging .material-symbols-rounded{
  font-family:"Material Symbols Rounded"!important;
  font-size:19px;
  font-weight:400;
  line-height:1;
  letter-spacing:normal;
  text-transform:none;
  white-space:nowrap;
  word-wrap:normal;
  direction:ltr;
  -webkit-font-feature-settings:"liga";
  -webkit-font-smoothing:antialiased;
  font-feature-settings:"liga";
  font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;
}

/* A single site-wide footer language. The CTA is integrated on the homepage;
   inner pages already arrive here from their existing page-specific contact CTA. */
.site-footer{
  margin-top:0!important;
  display:block!important;
  padding:0!important;
  background:#e7edf3;
  color:var(--ink);
  border-top:1px solid rgba(6,26,51,.12)!important;
  font-family:"Outfit",sans-serif!important;
  font-size:inherit!important;
  letter-spacing:normal!important;
  text-transform:none!important;
}
.site-footer>.container{padding-top:58px;padding-bottom:27px}

.site-footer-cta{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);
  gap:70px;
  align-items:end;
  padding:8px 0 62px;
  margin-bottom:52px;
  border-bottom:1px solid rgba(6,26,51,.16);
}
.site-footer-cta-copy>.mono{display:block;margin-bottom:23px;color:#6f7e8b}
.site-footer-cta h2{
  margin:0;
  max-width:900px;
  font:500 clamp(42px,4.7vw,74px)/.98 "Space Grotesk",sans-serif;
  letter-spacing:-.065em;
  color:var(--ink);
}
.site-footer-cta h2 span{color:rgba(6,26,51,.42)}
.site-footer-cta-actions{display:flex;align-items:flex-end;justify-content:flex-end;gap:28px}
.site-footer-mail{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding-bottom:7px;
  border-bottom:1.5px solid rgba(6,26,51,.66);
  color:var(--ink);
  font:500 16px/1.15 "Space Grotesk",sans-serif;
  letter-spacing:-.025em;
  white-space:nowrap;
}
.site-footer-mail svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s var(--ease)}
.site-footer-mail:hover svg{transform:translate(3px,-3px)}
.site-footer-disc{
  width:112px;height:112px;flex:0 0 112px;border-radius:50%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;
  background:var(--navy);color:#fff;text-align:center;
  font-size:9px;font-weight:600;line-height:1.25;letter-spacing:.12em;text-transform:uppercase;
  transition:transform .45s var(--ease),background .3s ease;
}
.site-footer-disc svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.site-footer-disc:hover{transform:rotate(-5deg) scale(1.055);background:#0d3767}

.site-footer-main{
  display:grid;
  grid-template-columns:minmax(250px,1.25fr) minmax(220px,1.05fr) minmax(120px,.55fr) minmax(150px,.7fr);
  gap:52px;
  align-items:start;
}
.site-footer-brand{padding-right:34px}
.site-footer-brand img{display:block;width:122px;height:auto;margin-bottom:25px}
.site-footer-brand p{
  margin:0;max-width:340px;color:#536574;
  font:400 15px/1.5 "Outfit",sans-serif;
  letter-spacing:-.012em;
}
.site-footer-group{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.site-footer-group .mono{margin-bottom:12px;color:#72818e}
.site-footer-group a{
  position:relative;color:#263b4f;
  font:400 13px/1.45 "Outfit",sans-serif;
  transition:color .25s ease,transform .35s var(--ease);
}
.site-footer-group a::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:1px;background:var(--navy);transition:right .38s var(--ease)}
.site-footer-group a:hover{color:var(--navy);transform:translateX(3px)}
.site-footer-group a:hover::after{right:0}
.site-footer-bottom{
  display:flex;justify-content:space-between;gap:30px;
  margin-top:52px;padding-top:20px;
  border-top:1px solid rgba(6,26,51,.14);
  color:#71808c;font-size:9px;letter-spacing:.13em;text-transform:uppercase;
}

/* Inner pages used to carry a tiny legacy footer inside .contact. The shared
   footer now follows the contact section directly, so keep the transition tight. */
.contact + .site-footer{border-top-color:rgba(6,26,51,.10)!important}

@media(max-width:1100px){
  .site-footer-cta{grid-template-columns:1fr;gap:34px;align-items:start}
  .site-footer-cta-actions{justify-content:flex-start}
  .site-footer-main{grid-template-columns:1.15fr 1fr .65fr;gap:42px 30px}
  .site-footer-brand{grid-column:1/-1;display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding:0 0 28px;border-bottom:1px solid rgba(6,26,51,.11)}
  .site-footer-brand img{margin:0}
  .site-footer-brand p{text-align:right}
}
@media(max-width:760px){
  .site-footer>.container{padding-top:45px;padding-bottom:23px}
  .site-footer-cta{padding:2px 0 46px;margin-bottom:40px;gap:30px}
  .site-footer-cta-copy>.mono{margin-bottom:17px}
  .site-footer-cta h2{font-size:clamp(38px,10.6vw,54px);line-height:1}
  .site-footer-cta-actions{align-items:center;justify-content:space-between;gap:18px}
  .site-footer-mail{font-size:14px;white-space:normal}
  .site-footer-disc{width:96px;height:96px;flex-basis:96px;font-size:8px}
  .site-footer-main{grid-template-columns:1fr 1fr;gap:34px 23px}
  .site-footer-brand{grid-column:1/-1;display:block;padding-bottom:26px}
  .site-footer-brand img{width:108px;margin-bottom:18px}
  .site-footer-brand p{text-align:left;font-size:13.5px;max-width:310px}
  .site-footer-group:nth-of-type(1){grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:9px 20px}
  .site-footer-group:nth-of-type(1) .mono{grid-column:1/-1}
  .site-footer-group a{font-size:12.5px}
  .site-footer-bottom{margin-top:38px;font-size:8px;line-height:1.45}
}
@media(max-width:430px){
  .site-footer-cta-actions{align-items:flex-end}
  .site-footer-mail{max-width:195px}
  .site-footer-main{gap:31px 18px}
  .site-footer-bottom{display:grid;grid-template-columns:1fr;gap:7px}
}



/* ============================================================
   2026-09-07 — Client feedback: fixed two-line hero headline
   ============================================================ */
/* The copy is intentionally split into exactly two lines in the markup.
   Keep each line intact and scale the mobile size so the second line never
   wraps into a third line on narrow phones. */
.hero-search-copy .hero-title > span > b{white-space:nowrap}

@media(max-width:760px){
  .hero-search-copy .hero-title{font-size:clamp(40px,11.3vw,62px)}
}
@media(max-width:480px){
  .hero-search-copy .hero-title{font-size:clamp(30px,11.3vw,52px)}
}

/* Partnerships & Cooperation — tailored page refinements */
.partnerships-intro .manifesto-bottom{
  grid-template-columns:minmax(0,780px) 1fr;
  gap:0;
  align-items:start;
}
.partnerships-intro .manifesto-bottom p{
  max-width:780px;
  font-size:17px;
}
.partnership-areas-head{
  margin-bottom:58px;
}
.partner-area-grid .lifecycle-card:nth-child(1),
.partner-area-grid .lifecycle-card:nth-child(2){
  grid-column:auto;
  min-height:500px;
}
.partner-area-grid .lifecycle-card:nth-child(1){
  grid-column:1/7;
}
.partner-area-grid .lifecycle-card:nth-child(2){
  grid-column:7/13;
  background:var(--card-white);
}
.partner-area-grid .lifecycle-card:nth-child(3){
  grid-column:1/13;
  min-height:380px;
  background:linear-gradient(135deg,#edf3f8 0%,#dbe7f1 100%);
}
.partner-area-grid .lifecycle-card:nth-child(2) .lifecycle-card-top,
.partner-area-grid .lifecycle-card:nth-child(3) .lifecycle-card-top{
  color:#687482;
}
.partner-area-grid .lifecycle-card:nth-child(2) p,
.partner-area-grid .lifecycle-card:nth-child(3) p{
  color:#62707f;
}
.partner-area-grid .lifecycle-card:nth-child(3) h3{
  max-width:850px;
}
.partner-area-grid .lifecycle-card:nth-child(3) p{
  max-width:890px;
}
.partnership-tailored{
  position:relative;
  overflow:hidden;
  background:#fff;
  color:var(--ink);
  padding:150px 0 160px;
  border-top:1px solid rgba(6,26,51,.08);
}
.partnership-tailored:after{
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  right:-230px;
  top:-260px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(31,94,168,.09),rgba(31,94,168,0) 68%);
  pointer-events:none;
}
.partnership-tailored-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:.34fr 1.66fr;
  gap:70px;
  align-items:start;
}
.partnership-tailored-side{
  padding-top:13px;
}
.partnership-tailored-line{
  display:block;
  width:46px;
  height:1px;
  margin-top:24px;
  background:rgba(6,26,51,.26);
}
.partnership-tailored-copy h2{
  font:500 clamp(56px,6.1vw,98px)/.94 "Space Grotesk",sans-serif;
  letter-spacing:-.073em;
  max-width:1160px;
}
.partnership-tailored-copy h2 span{
  color:#9aa4ad;
}
.partnership-tailored-copy p{
  max-width:800px;
  margin-top:42px;
  font-size:16px;
  line-height:1.74;
  color:#5f6b77;
}
@media(max-width:950px){
  .partnerships-intro .manifesto-bottom{grid-template-columns:1fr}
  .partner-area-grid .lifecycle-card:nth-child(n){grid-column:1;min-height:350px}
  .partnership-tailored{padding:104px 0 112px}
  .partnership-tailored-grid{grid-template-columns:1fr;gap:30px}
  .partnership-tailored-copy h2{font-size:clamp(44px,11.8vw,70px)}
  .partnership-tailored-copy p{font-size:14px;margin-top:28px}
}


/* ═══════════════════════════════════════════
   URBAN SOLUTIONS / BCS URBAN HUBS
   ═══════════════════════════════════════════ */
:root{
  --uh-mobility:#3aa876;
  --uh-electric:#0b2b52;
  --uh-logistics:#e08a2b;
  --uh-local:#1f8fd0;
  --uh-local-soft:#67b3e6;
}
.urban-hero .page-hero-media img{filter:saturate(.5) contrast(1.08) brightness(.52);object-position:center 54%}
.urban-hero .page-hero-media::after{background:linear-gradient(90deg,rgba(3,22,43,.9) 0%,rgba(3,22,43,.6) 46%,rgba(3,22,43,.26) 100%),linear-gradient(180deg,rgba(3,22,43,.2),rgba(3,22,43,.62))}

/* ─── Intro + diagram shell ─── */
.urban-intro{background:var(--paper);color:var(--ink);padding:126px 0 150px;overflow:hidden}
.urban-intro-grid{display:grid;grid-template-columns:.34fr 1.66fr;gap:70px;align-items:start}
.urban-intro-side{padding-top:10px}
.urban-intro-side .section-rule{background:rgba(6,26,51,.22)}
.urban-intro-copy h2{font:500 clamp(46px,5.4vw,92px)/.94 "Space Grotesk",sans-serif;letter-spacing:-.073em;max-width:1180px}
.urban-intro-copy h2 span{color:#98a3ad}
.urban-intro-copy p{max-width:900px;margin-top:38px;font-size:16px;line-height:1.76;color:#5c6875}

/* ═══ The ecosystem diagram ═══ */
.urban-hub-figure{margin:104px 0 0}
.urban-hub-diagram{
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:minmax(0,1fr) clamp(150px,17.5%,258px) minmax(0,1fr);
  grid-template-rows:1fr 1fr;
  column-gap:clamp(14px,1.8vw,30px);
  row-gap:clamp(78px,10vw,168px);
}
/* soft halo behind the whole diagram */
.urban-hub-diagram::before{
  content:"";
  position:absolute;
  z-index:0;
  left:50%;top:50%;
  width:min(74%,900px);
  aspect-ratio:1;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:radial-gradient(closest-side,rgba(31,94,168,.06),rgba(31,94,168,0) 74%);
  pointer-events:none;
}

/* ─── The cycle: one true circle, drawn behind the cards ─── */
.uhd-ring{
  position:absolute;
  z-index:1;
  left:50%;top:50%;
  transform:translate(-50%,-50%);
  height:90%;
  aspect-ratio:1;
  max-width:92%;
  overflow:visible;
  pointer-events:none;
}
.uhd-ring-path{
  fill:none;
  stroke:#51749f;
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-dasharray:1.7 7.3;
  opacity:.68;
  animation:uhdFlow 3.2s linear infinite;
}
.uhd-ring-tip{
  fill:none;
  stroke:#37618f;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.68;
  animation:uhdTip 3.6s ease-in-out infinite;
}
@keyframes uhdFlow{to{stroke-dashoffset:-9}}
@keyframes uhdTip{0%,100%{opacity:.52}50%{opacity:.88}}

/* ─── Quadrant cards ─── */
.uhd-card{
  position:relative;
  z-index:2;
  overflow:hidden;
  border-radius:20px;
  background:#fff;
  border:1px solid rgba(6,26,51,.07);
  box-shadow:0 14px 40px rgba(6,26,51,.062);
  padding:clamp(22px,2.1vw,32px) clamp(22px,2.2vw,34px) clamp(24px,2.3vw,36px);
  transition:transform .55s var(--ease),box-shadow .55s var(--ease);
}
.uhd-card::before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;
  height:5px;
  background:var(--uhd,var(--blue));
}
.uhd-card:hover{transform:translateY(-6px);box-shadow:0 26px 62px rgba(6,26,51,.11)}
.uhd-card-in{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(16px,1.6vw,26px);align-items:start;padding-top:10px}
.uhd-pin{display:block;width:clamp(50px,4.5vw,67px);flex:none}
.uhd-pin svg{
  width:100%;height:auto;display:block;object-fit:contain;
  overflow:visible;
  filter:drop-shadow(0 7px 13px rgba(6,26,51,.17));
  transition:transform .55s var(--ease);
}
.uhd-pin-body{fill:var(--uhd,var(--blue))}
.uhd-ink{fill:#fff}
.uhd-cut{fill:var(--uhd,var(--blue))}
.uhd-card:hover .uhd-pin svg{transform:translateY(-3px)}
.uhd-card h3{
  font:500 clamp(23px,2.25vw,34px)/1.04 "Space Grotesk",sans-serif;
  letter-spacing:-.045em;
  color:var(--uhd,var(--blue));
}
.uhd-card p{
  margin-top:12px;
  font-size:clamp(14px,1.05vw,17px);
  line-height:1.5;
  color:#22354c;
  max-width:32ch;
}
.uhd-card--a{grid-column:1;grid-row:1}
.uhd-card--b{grid-column:3;grid-row:1}
.uhd-card--c{grid-column:1;grid-row:2}
.uhd-card--d{grid-column:3;grid-row:2}

/* ─── Centre hub ─── */
.uhd-aura,
.uhd-core{
  position:absolute;
  z-index:4;
  left:50%;top:50%;
  transform:translate(-50%,-50%);
  width:clamp(136px,15.5%,228px);
  aspect-ratio:1;
  display:grid;
  place-items:center;
  pointer-events:none;
}
/* glow layers sit behind the cards, the disc sits in front */
.uhd-aura{z-index:1}
.uhd-core{z-index:4}
.uhd-core-disc{
  position:relative;
  z-index:3;
  width:100%;
  height:100%;
  border-radius:50%;
  background:radial-gradient(120% 120% at 32% 22%,#123a68,#061a33 62%,#03101f);
  box-shadow:0 22px 56px rgba(6,26,51,.38),inset 0 1px 0 rgba(255,255,255,.14);
  display:grid;
  place-items:center;
}
.uhd-core-disc img{
  width:62%;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 4px 18px rgba(0,0,0,.35));
}
/* radiating rings */
.uhd-core-wave{
  position:absolute;
  left:50%;top:50%;
  width:100%;aspect-ratio:1;
  transform:translate(-50%,-50%);
  border-radius:50%;
  border:1px solid rgba(31,94,168,.16);
  opacity:0;
  animation:uhdWave 5.4s var(--ease) infinite;
}
.uhd-core-wave--2{animation-delay:1.8s}
.uhd-core-wave--3{animation-delay:3.6s}
@keyframes uhdWave{
  0%{transform:translate(-50%,-50%) scale(1);opacity:0}
  14%{opacity:.42}
  100%{transform:translate(-50%,-50%) scale(1.86);opacity:0}
}
/* static halo ring */
.uhd-core-halo{
  position:absolute;
  left:50%;top:50%;
  width:122%;aspect-ratio:1;
  transform:translate(-50%,-50%);
  border-radius:50%;
  border:1px solid rgba(31,94,168,.1);
  box-shadow:0 0 0 clamp(12px,1.4vw,24px) rgba(31,94,168,.022),0 0 0 clamp(26px,3vw,50px) rgba(31,94,168,.015);
}
/* travelling orbit arc, tight around the disc */
.uhd-orbit{
  position:absolute;
  left:50%;top:50%;
  width:134%;height:134%;
  transform:translate(-50%,-50%);
  overflow:visible;
  animation:uhdSpin 14s linear infinite;
}
.uhd-orbit circle{fill:none;stroke-linecap:round}
.uhd-orbit-track{stroke:rgba(31,94,168,.11);stroke-width:1}
.uhd-orbit-dash{stroke:var(--blue);stroke-width:1.8;stroke-dasharray:36 566;opacity:.62}
.uhd-orbit-head{fill:var(--blue);opacity:.72}
@keyframes uhdSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}

/* diagram caption */
.urban-hub-caption{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  justify-content:space-between;
  margin-top:20px;
  padding-top:16px;
  border-top:1px solid rgba(6,26,51,.14);
  font:600 9px/1.4 Outfit,sans-serif;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#7d8995;
}
.urban-hub-caption span:last-child{color:#9aa4ad}

/* ─── Diagram: laptop / tablet ─── */
@media(max-width:1180px){
  .urban-hub-diagram{
    grid-template-columns:minmax(0,1fr) clamp(128px,15%,190px) minmax(0,1fr);
    row-gap:clamp(66px,9vw,124px);
  }
  .uhd-card p{max-width:none}
  .uhd-card-in{gap:clamp(13px,1.4vw,20px)}
  .uhd-pin{width:clamp(46px,4.5vw,58px)}
}
@media(max-width:900px){
  .urban-hub-diagram{column-gap:12px;row-gap:clamp(58px,8vw,96px)}
  .uhd-aura,.uhd-core{width:clamp(112px,15%,150px)}
  .uhd-card{padding:20px 20px 24px}
  .uhd-card h3{font-size:clamp(20px,2.4vw,25px)}
  .uhd-card p{font-size:clamp(13px,1.5vw,15px)}
}

/* ─── Diagram: phone — same layout, tighter ─── */
@media(max-width:700px){
  .urban-hub-figure{margin-top:62px}
  .urban-hub-diagram{
    grid-template-columns:minmax(0,1fr) 0 minmax(0,1fr);
    column-gap:34px;
    row-gap:70px;
  }
  .urban-hub-diagram::before{width:min(96%,440px)}
  .uhd-ring{height:auto;width:84%;max-width:none}
  .uhd-ring-path{stroke-width:2.6;stroke-dasharray:2.6 9.4;opacity:.68}
  .uhd-ring-tip{stroke-width:3.2;opacity:.62}
  .uhd-pin svg{filter:drop-shadow(0 4px 8px rgba(6,26,51,.16))}
  .uhd-aura,.uhd-core{width:min(29%,112px)}
  .uhd-core-disc img{width:70%}
  .uhd-core-disc{box-shadow:0 14px 34px rgba(6,26,51,.34),inset 0 1px 0 rgba(255,255,255,.14)}
  .uhd-orbit{width:128%;height:128%}
  .uhd-orbit-dash{stroke-width:2.2}
  .uhd-card{padding:13px 13px 15px;border-radius:15px;box-shadow:0 10px 26px rgba(6,26,51,.08)}
  .uhd-card::before{height:4px}
  .uhd-card-in{grid-template-columns:1fr;gap:9px;padding-top:6px}
  .uhd-pin{width:31px}
  .uhd-card h3{font-size:16px;letter-spacing:-.03em;line-height:1.08}
  .uhd-card p{font-size:11.5px;line-height:1.45;margin-top:6px}
  /* keep the hub clear of the text in the inner corners */
  .uhd-card--a,.uhd-card--b{padding-bottom:30px}
  .uhd-card--c,.uhd-card--d{padding-top:26px}
  .urban-hub-caption{font-size:8px;gap:8px;margin-top:16px;padding-top:13px}
  .urban-hub-caption span:last-child{text-align:right}
}
@media(max-width:400px){
  .urban-hub-diagram{column-gap:28px;row-gap:64px}
  .uhd-card{padding:11px 11px 13px}
  .uhd-card--a,.uhd-card--b{padding-bottom:27px}
  .uhd-card--c,.uhd-card--d{padding-top:24px}
  .uhd-card h3{font-size:15px}
  .uhd-card p{font-size:11px}
  .uhd-pin{width:28px}
  .uhd-aura,.uhd-core{width:min(30%,102px)}
}
@media(max-width:1180px){.uhd-ring-path{stroke-width:1.8;stroke-dasharray:2 8.6}.uhd-ring-tip{stroke-width:2.4}}
@keyframes uhdFlowNone{to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){
  .uhd-ring-path,.uhd-ring-tip,.uhd-orbit,.uhd-core-wave{animation:none!important}
  .uhd-core-wave{opacity:.3}
}

/* ─── Jump menu (our-products grid style + colour accent) ─── */
.urban-nav{background:#e7edf3;padding:74px 0 104px}
.urban-nav .products-nav-head{align-items:baseline}
.urban-nav .products-nav-head .mono:last-child{color:#9aa6b3}
.products-nav-card--accent{overflow:hidden}
.products-nav-card--accent::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--uhd,var(--blue));transition:height .35s var(--ease)}
.products-nav-card--accent:hover::before{height:6px}
.products-nav-card--accent h2{color:var(--uhd,var(--ink))}
.products-nav-card--accent .products-nav-arrow{color:var(--uhd,var(--blue))}
.products-nav-card--accent:hover{border-color:color-mix(in srgb,var(--uhd,var(--blue)) 34%,transparent)}
.products-nav-card--accent:hover .products-nav-arrow{background:var(--uhd,var(--blue));border-color:var(--uhd,var(--blue));color:#fff}

/* ─── Product detail blocks ─── */
.urban-block{position:relative;overflow:hidden;padding:150px 0 160px;scroll-margin-top:90px}
.urban-block-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(190px,.26fr) minmax(0,1.12fr) minmax(250px,.58fr);gap:clamp(44px,4.6vw,86px);align-items:start}

.urban-block-side{padding-top:6px}
.urban-block-icon{display:block;width:clamp(54px,4.4vw,68px);margin-bottom:34px}
.urban-block-icon svg{width:100%;height:auto;display:block;overflow:visible;filter:drop-shadow(0 8px 16px rgba(6,26,51,.2))}
.urban-block-meta{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.urban-block-index{font:500 clamp(40px,3.6vw,62px)/.86 "Space Grotesk",sans-serif;letter-spacing:-.075em}
.urban-block-meta .mono{letter-spacing:.17em}

.urban-block h2{font:500 clamp(44px,5.2vw,86px)/.92 "Space Grotesk",sans-serif;letter-spacing:-.072em}
.urban-block-rule{display:block;width:74px;height:3px;border-radius:2px;margin:38px 0 0;background:var(--uhd,var(--blue))}
.urban-block-text{margin-top:40px}
.urban-block-text p{font-size:17px;line-height:1.8}
.urban-block-text p+p{margin-top:20px}
.urban-block-aside{padding-top:8px}
.urban-block-aside .mono{display:block;margin-bottom:22px}
.urban-block-tags{display:flex;flex-direction:column}
.urban-block-tags span{padding:17px 0;font:600 10px/1.4 Outfit,sans-serif;letter-spacing:.13em;text-transform:uppercase}

/* light variants */
.urban-block--light,.urban-block--mist{background:var(--paper);color:var(--ink)}
.urban-block--mist{background:#e7edf3}
.urban-block--light .mono,.urban-block--mist .mono{color:#7f8d9c}
.urban-block--light .urban-block-index,.urban-block--mist .urban-block-index{color:var(--uhd,var(--ink))}
.urban-block--light .urban-block-text p,.urban-block--mist .urban-block-text p{color:#54616f}
.urban-block--light .urban-block-tags,.urban-block--mist .urban-block-tags{border-top:1px solid rgba(6,26,51,.16)}
.urban-block--light .urban-block-tags span,.urban-block--mist .urban-block-tags span{border-bottom:1px solid rgba(6,26,51,.16);color:#66737f}

/* dark navy variant */
.urban-block--dark{background:var(--navy);color:#fff}
.urban-block--dark .mono{color:rgba(255,255,255,.46)}
.urban-block--dark .urban-block-index{color:var(--uhd,#fff)}
.urban-block--dark .urban-block-text p{color:rgba(255,255,255,.7)}
.urban-block--dark .urban-block-tags{border-top:1px solid rgba(255,255,255,.2)}
.urban-block--dark .urban-block-tags span{border-bottom:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.7)}

/* green (electrification) variant */
.urban-block--green{background:var(--mobility-deep);color:#fff}
.urban-block--green .mono{color:rgba(225,255,237,.58)}
.urban-block--green .urban-block-index{color:var(--mobility-bright)}
.urban-block--green .urban-block-text p{color:rgba(235,255,243,.74)}
.urban-block--green .urban-block-tags{border-top:1px solid rgba(217,255,232,.22)}
.urban-block--green .urban-block-tags span{border-bottom:1px solid rgba(217,255,232,.22);color:rgba(217,255,232,.82)}
.urban-block--green .urban-block-rule{background:var(--mobility-bright)}
.urban-block-orbit{position:absolute;border-radius:50%;pointer-events:none;border:1px solid rgba(190,255,217,.12)}
.urban-block-orbit--one{width:720px;height:720px;right:-320px;top:-300px;box-shadow:0 0 0 80px rgba(190,255,217,.018),0 0 0 160px rgba(190,255,217,.012)}
.urban-block-orbit--two{width:400px;height:400px;left:-240px;bottom:-170px}

/* ─── Closing visual: centred on white so the artwork blends in ─── */
.urban-visual{
  background:#fff;
  color:var(--ink);
  padding:clamp(60px,6vw,108px) 0 clamp(64px,7vw,116px);
}
.urban-visual-figure{
  margin:0 auto;
  width:min(1120px,calc(100% - 64px));
}
.urban-visual-figure picture{display:block}
.urban-visual-figure img{
  display:block;
  width:100%;
  height:auto;
  margin:0 auto;
  object-fit:contain;
}
.urban-visual-hint{display:none}
@media(max-width:1100px){
  .urban-visual-figure{width:min(880px,calc(100% - 52px))}
}
@media(max-width:760px){
  .urban-visual{padding:64px 0 70px}
  .urban-visual-figure{width:calc(100% - 38px)}
}
@media(max-width:480px){
  .urban-visual{padding:54px 0 58px}
  .urban-visual-figure{width:calc(100% - 28px)}
}

/* ─── Urban Solutions responsive ─── */
@media(max-width:1250px){
  .urban-block-grid{grid-template-columns:minmax(170px,.3fr) minmax(0,1.7fr);gap:clamp(40px,4.4vw,64px)}
  .urban-block-copy{grid-column:2}
  .urban-block-aside{grid-column:2;padding-top:0;margin-top:52px;max-width:860px}
  .urban-block-aside .mono{margin-bottom:18px}
  .urban-block-tags{flex-direction:row;flex-wrap:wrap;gap:8px;padding-top:26px}
  .urban-block-tags span{padding:10px 14px;border-radius:999px;font-size:9px;letter-spacing:.12em}
  .urban-block--light .urban-block-tags span,.urban-block--mist .urban-block-tags span{border:1px solid rgba(6,26,51,.15)}
  .urban-block--dark .urban-block-tags span{border:1px solid rgba(255,255,255,.22)}
  .urban-block--green .urban-block-tags span{border:1px solid rgba(217,255,232,.26)}
  .urban-block-text{max-width:860px}
}
@media(max-width:950px){
  .urban-intro{padding:96px 0 104px}
  .urban-intro-copy h2{font-size:clamp(38px,10.5vw,62px)}
  .urban-intro-copy p{font-size:15px;margin-top:26px}
  .urban-intro-side{display:flex;align-items:center;gap:18px}
  .urban-intro-side .section-rule{margin:0;flex:1}
  .urban-intro-grid{grid-template-columns:1fr;gap:30px}
  .urban-nav{padding:56px 0 84px}
  .urban-block{padding:100px 0 108px}
  .urban-block-text{margin-top:30px}
  .urban-block-text p{font-size:15px}
  .urban-block-rule{margin-top:28px}
  .urban-block-tags{margin-top:40px;padding-top:28px}
}
@media(max-width:760px){
  .urban-block-grid{grid-template-columns:1fr;gap:30px}
  .urban-block-copy,.urban-block-aside{grid-column:1}
  .urban-block-aside{margin-top:40px}
  .urban-block-side{display:flex;align-items:center;gap:18px;padding-top:0}
  .urban-block-icon{width:50px;margin-bottom:0;flex:none}
  .urban-block-index{font-size:40px}
  .urban-block h2{font-size:clamp(36px,10vw,54px)}
  .urban-block-rule{width:58px;margin-top:24px}
  .urban-block-text{margin-top:26px}
}
@media(max-width:480px){
  .urban-block-meta{gap:10px}
  .urban-intro-copy h2{font-size:36px}
}


/* ─── Our Products: Urban Solutions section ─── */
.urban-mini{background:#e7edf3;color:var(--ink);padding:150px 0 165px;overflow:hidden}
.urban-mini-head{display:grid;grid-template-columns:.34fr 1.66fr;gap:70px;align-items:start}
.urban-mini-side{padding-top:8px}
.urban-mini-side .section-rule{background:rgba(6,26,51,.22)}
.urban-mini-side .mono{color:#7c8995}
.urban-mini-copy h2{font:500 clamp(54px,5.8vw,94px)/.9 "Space Grotesk",sans-serif;letter-spacing:-.073em}
.urban-mini-copy h3{font:500 clamp(28px,2.9vw,48px)/1.04 "Space Grotesk",sans-serif;letter-spacing:-.055em;margin-top:26px}
.urban-mini-copy h3 span{color:rgba(6,26,51,.35)}
.urban-mini-copy>p{max-width:820px;margin-top:32px;font-size:16px;line-height:1.78;color:#57646f}
.urban-mini-copy>p+p{margin-top:15px}

.urban-tile-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:82px}
.urban-tile{
  position:relative;display:flex;flex-direction:column;overflow:hidden;
  min-height:296px;padding:26px 26px 74px;border-radius:18px;
  background:#f8fafc;border:1px solid rgba(6,26,51,.12);color:var(--ink);
  transition:transform .5s var(--ease),border-color .35s ease,box-shadow .5s var(--ease),background .35s ease;
}
.urban-tile::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--uhd,var(--blue));transition:height .35s var(--ease)}
.urban-tile:hover{transform:translateY(-5px);background:#fff;border-color:color-mix(in srgb,var(--uhd,var(--blue)) 32%,transparent);box-shadow:0 22px 54px rgba(6,26,51,.09)}
.urban-tile:hover::before{height:6px}
.urban-tile-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:26px}
.urban-tile-pin{display:block;width:46px;flex:none}
.urban-tile-pin svg{width:100%;height:auto;display:block;overflow:visible;filter:drop-shadow(0 6px 12px rgba(6,26,51,.16));transition:transform .5s var(--ease)}
.urban-tile:hover .urban-tile-pin svg{transform:translateY(-3px)}
.urban-tile-num{font:600 9px/1 Outfit,sans-serif;letter-spacing:.17em;color:#8996a2;padding-top:4px}
.urban-tile strong{font:500 clamp(21px,1.75vw,27px)/1.06 "Space Grotesk",sans-serif;letter-spacing:-.045em;color:var(--uhd,var(--ink))}
.urban-tile p{margin-top:11px;font-size:13px;line-height:1.62;color:#5d6a77}
.urban-tile-arrow{position:absolute;left:26px;bottom:24px;width:36px;height:36px;border:1px solid rgba(6,26,51,.16);border-radius:50%;display:grid;place-items:center;color:var(--uhd,var(--blue));transition:background .3s ease,color .3s ease,border-color .3s ease,transform .4s var(--ease)}
.urban-tile-arrow svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.urban-tile:hover .urban-tile-arrow{background:var(--uhd,var(--blue));border-color:var(--uhd,var(--blue));color:#fff;transform:translateX(3px)}

/* five products: every row always fills */
.products-nav-grid--five{grid-template-columns:repeat(5,minmax(0,1fr))}
.products-nav-grid--five>*{grid-column:span 1}
@media(max-width:1300px){
  .products-nav-grid--five{grid-template-columns:repeat(6,minmax(0,1fr))}
  .products-nav-grid--five>*{grid-column:span 2}
  .products-nav-grid--five>:nth-child(4),.products-nav-grid--five>:nth-child(5){grid-column:span 3}
}

@media(max-width:1250px){
  .urban-tile{min-height:276px;padding:22px 22px 70px}
  .urban-tile-arrow{left:22px}
}
@media(max-width:1100px){
  .products-nav-grid--five{grid-template-columns:repeat(2,minmax(0,1fr))}
  .products-nav-grid--five>*,.products-nav-grid--five>:nth-child(4){grid-column:span 1}
  .products-nav-grid--five>:nth-child(5){grid-column:span 2}
  .urban-tile-grid{grid-template-columns:repeat(2,1fr);margin-top:64px}
}
@media(max-width:950px){
  .urban-mini{padding:100px 0 110px}
  .urban-mini-head{grid-template-columns:1fr;gap:28px}
  .urban-mini-side{display:flex;align-items:center;gap:18px;padding-top:0}
  .urban-mini-side .section-rule{margin:0;flex:1}
  .urban-mini-copy h2{font-size:clamp(42px,11.5vw,68px)}
  .urban-mini-copy h3{font-size:clamp(25px,7vw,34px);margin-top:20px}
  .urban-mini-copy>p{font-size:15px;margin-top:24px}
}
@media(max-width:760px){
  .products-nav-grid--five{grid-template-columns:1fr}
  .products-nav-grid--five>*,.products-nav-grid--five>:nth-child(4),.products-nav-grid--five>:nth-child(5){grid-column:span 1}
  .urban-tile-grid{grid-template-columns:1fr;gap:10px;margin-top:48px}
  .urban-tile{min-height:auto;padding:20px 20px 66px}
  .urban-tile-top{margin-bottom:18px}
  .urban-tile-arrow{left:20px;bottom:20px}
}

/* ─── Five-product grids: every row always fills ─── */
.home-products-grid--five{grid-template-columns:repeat(5,minmax(0,1fr))}
.home-products-grid--five>*{grid-column:span 1}
.navigate-grid--five{grid-template-columns:repeat(5,minmax(0,1fr))}
.navigate-grid--five>*{grid-column:span 1}
@media(max-width:1400px){
  .home-products-grid--five{grid-template-columns:repeat(6,minmax(0,1fr))}
  .home-products-grid--five>*{grid-column:span 2}
  .home-products-grid--five>:nth-child(4),.home-products-grid--five>:nth-child(5){grid-column:span 3}
  .home-products-grid--five>:nth-child(n+4){border-top:1px solid rgba(6,26,51,.14)}
  .home-products-grid--five>:nth-child(4){border-left:1px solid rgba(6,26,51,.14)}
}
@media(max-width:1300px){
  .navigate-grid--five{grid-template-columns:repeat(6,minmax(0,1fr))}
  .navigate-grid--five>*{grid-column:span 2}
  .navigate-grid--five>:nth-child(4),.navigate-grid--five>:nth-child(5){grid-column:span 3}
}
@media(max-width:1100px){
  .home-products-grid--five{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-products-grid--five>*,.home-products-grid--five>:nth-child(4){grid-column:span 1}
  .home-products-grid--five>:nth-child(5){grid-column:span 2}
  .home-products-grid--five>:nth-child(4){border-left:0}
  .navigate-grid--five{grid-template-columns:repeat(2,minmax(0,1fr))}
  .navigate-grid--five>*,.navigate-grid--five>:nth-child(4){grid-column:span 1}
  .navigate-grid--five>:nth-child(5){grid-column:span 2}
}
@media(max-width:760px){
  .home-products-grid--five{grid-template-columns:1fr}
  .home-products-grid--five>*,.home-products-grid--five>:nth-child(4),.home-products-grid--five>:nth-child(5){grid-column:span 1}
  .navigate-grid--five{grid-template-columns:1fr}
  .navigate-grid--five>*,.navigate-grid--five>:nth-child(4),.navigate-grid--five>:nth-child(5){grid-column:span 1}
}

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE HEADLINE WRAPPING  —  2026-09-28
   The hard <br> breaks in headings are authored for desktop.
   Below 900px they are dropped (br.hb) and the browser balances
   the remaining lines, so headlines no longer leave half-empty
   lines or a single orphan word. Display sizes are also capped
   per breakpoint so every line fills the column.
   ═══════════════════════════════════════════════════════════ */
h1,h2,h3{text-wrap:pretty;overflow-wrap:break-word}

@media (max-width:900px){
  /* 1 — drop the desktop-only hard breaks */
  br.hb{display:none}

  /* 2 — even out the resulting lines */
  h1,h2,h3{text-wrap:balance;hyphens:none}

  /* 3 — cap the big display sizes so lines fill the column */
.advertising-intro-copy h2,.apply-banner h2,.benefits-head-copy h2,.blue h2,
.charging-arguments-head h2,.charging-closing h2,.charging-intro-copy h2,
.charging-section-head h2,.charging-tariffs h2,.consulting-hero-copy h2,
.consulting-overview-copy h2,.contact h2,.contact-page-intro h2,.culture-head-copy h2,
.dept-head h2,.expertise-intro-copy h2,.feature-copy h2,.future-city h2,
.garage-overview-copy h2,.glance-head-copy h2,.group-intro-main h2,.home-products-head h2,
.home-products-head--focused h2,.lifecycle-copy h2,.locations-head h2,.manifesto h2,
.mobility-overview-copy h2,.mobility-teaser-copy h2,.navigate-head h2,.offices-head-copy h2,
.parking-intro-copy h2,.parking-support h2,.parking-tech-head h2,
.partnership-tailored-copy h2,.positions-head-copy h2,.process-head h2,
.product-overview-copy h2,.product-teaser-copy h2,.programs-head-copy h2,.sector-head h2,
.site-footer-cta h2,.system-head h2,.team-head-copy h2,.urban-block h2,.urban-intro-copy h2,
.urban-mini-copy h2,.values-head-copy h2,.vision h2,
h1[style*="Space Grotesk"],h2[style*="Space Grotesk"],h3[style*="Space Grotesk"]{
    font-size:clamp(34px,10.9vw,58px)!important;
    line-height:.96!important;
    letter-spacing:-.05em!important;
  }
  .page-hero h1{font-size:clamp(36px,11vw,60px)!important;line-height:.94!important}
  .hero-title{font-size:clamp(38px,11.6vw,62px);line-height:.94}

  /* heroes that were locked to one line */
  .charging-hero h1{white-space:normal!important}
}

@media (max-width:560px){
.advertising-intro-copy h2,.apply-banner h2,.benefits-head-copy h2,.blue h2,
.charging-arguments-head h2,.charging-closing h2,.charging-intro-copy h2,
.charging-section-head h2,.charging-tariffs h2,.consulting-hero-copy h2,
.consulting-overview-copy h2,.contact h2,.contact-page-intro h2,.culture-head-copy h2,
.dept-head h2,.expertise-intro-copy h2,.feature-copy h2,.future-city h2,
.garage-overview-copy h2,.glance-head-copy h2,.group-intro-main h2,.home-products-head h2,
.home-products-head--focused h2,.lifecycle-copy h2,.locations-head h2,.manifesto h2,
.mobility-overview-copy h2,.mobility-teaser-copy h2,.navigate-head h2,.offices-head-copy h2,
.parking-intro-copy h2,.parking-support h2,.parking-tech-head h2,
.partnership-tailored-copy h2,.positions-head-copy h2,.process-head h2,
.product-overview-copy h2,.product-teaser-copy h2,.programs-head-copy h2,.sector-head h2,
.site-footer-cta h2,.system-head h2,.team-head-copy h2,.urban-block h2,.urban-intro-copy h2,
.urban-mini-copy h2,.values-head-copy h2,.vision h2,
h1[style*="Space Grotesk"],h2[style*="Space Grotesk"],h3[style*="Space Grotesk"]{
    font-size:clamp(29px,9.5vw,47px)!important;
  }
  .page-hero h1{font-size:clamp(31px,10.2vw,50px)!important}
  .hero-title{font-size:clamp(33px,10.8vw,54px)}
}

@media (max-width:380px){
  .page-hero h1{font-size:clamp(28px,9.6vw,44px)!important}
}

/* ── FOOTER LEGAL LINE ────────────────────────────────────── */
.site-footer-bottom{display:block}
