:root{--ink:#171717;--ink-2:#262626;--text-2:#3A3A3A;--slate:#626262;--muted:#8A8784;--steel:#171717;--on-steel:#E6E4DF;--line:#E6E3DC;--line-2:#D6D3CC;--line-3:#B9B6B0;--paper:#F5F3EE;--white:#FFFFFF;--surface:#FFFFFF;--hdr:rgba(245,243,238,.95);--ph:#E8E5DE;--night:#171717;--night-2:#101010;--night-line:#2E2E2E;--night-line-2:#171717;--on-dark:#F5F3EE;--on-dark-1:#CFCCC6;--on-dark-2:#A3A09A;--on-dark-3:#85827D;--red:#9C0010;--red-dark:#7A000C;--red-light:#E86A74;--fs-h2:50px;--fs-lead:20px;--fs-body:17px;--fs-small:15px;--ease:cubic-bezier(.2,.7,.2,1);--t-fast:200ms;--t-reveal:500ms;--t-draw:1200ms}
@keyframes lgRise{from{transform:scaleY(0)}to{transform:none}}
@keyframes lgDrop{from{transform:translateY(-70%);opacity:0}to{transform:none;opacity:1}}
@keyframes lgSlide{from{transform:translateX(45%);opacity:0}to{transform:none;opacity:1}}
@keyframes growY{from{transform:scaleY(0)}to{transform:none}}
@keyframes floorUp{from{transform:scaleY(0);opacity:0}to{transform:none;opacity:1}}
.logo-build .lg-alif{transform-box:fill-box;transform-origin:50% 100%;animation:lgRise .7s cubic-bezier(.2,.8,.2,1.12) both .15s}
.logo-build .lg-dal{transform-box:fill-box;animation:lgDrop .75s cubic-bezier(.2,.8,.2,1.1) both .6s}
.logo-build .lg-ra{transform-box:fill-box;animation:lgSlide .75s cubic-bezier(.2,.8,.2,1.1) both .95s}
.logo-build .lg-word{animation:fade .6s ease both 1.35s}
.logo-build .lg-en{animation:fade .7s ease both 1.45s}
.logo-build .lg-en0{animation:fade .6s ease both 0s}
.logo-build .lg-div{transform-box:fill-box;transform-origin:50% 0;animation:lgRise .6s var(--ease) both 1.2s}
.ax-b{width:26px;height:26px;border-radius:50%;border:1px solid var(--line-3);display:inline-flex;align-items:center;justify-content:center;font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--ink);background:var(--surface);flex-shrink:0}
.ax-b.dark{border-color:var(--night-line-2);background:var(--night);color:var(--on-dark)}
.ax-t{font-family:'IBM Plex Mono','IBM Plex Sans Arabic',monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase}
[dir=rtl] .ax-t{letter-spacing:0;font-family:'IBM Plex Sans Arabic',sans-serif;font-size:13px}
.dim{display:flex;align-items:center;gap:10px;width:100%}
.dim-tick{width:1px;height:14px;background:currentColor;transform:rotate(45deg);flex-shrink:0}
.dim-line{flex:1;height:1px;background:currentColor;transform-origin:center;min-width:12px}
.dim-lab{font-family:'IBM Plex Mono','IBM Plex Sans Arabic',monospace;font-size:11px;letter-spacing:.08em;white-space:nowrap}
[dir=rtl] .dim-lab{letter-spacing:0;font-family:'IBM Plex Sans Arabic',sans-serif;font-size:12px}
.rail-b{width:24px;height:24px;border-radius:50%;border:1px solid var(--line-3);background:var(--surface);color:var(--slate);display:flex;align-items:center;justify-content:center;font-family:'IBM Plex Mono',monospace;font-size:10px;text-decoration:none;transition:background var(--t-fast) ease,color var(--t-fast) ease,border-color var(--t-fast) ease,transform var(--t-fast) ease}
.rail-b:hover{border-color:var(--red);color:var(--red);transform:scale(1.1)}
.rail-b.on{background:var(--red);border-color:var(--red);color:#fff}
.tower{display:inline-flex;flex-direction:column-reverse;gap:2px;margin-inline-start:18px;align-self:flex-end;margin-bottom:2px}
.tower span{display:block;width:30px;height:5px;background:var(--surface);transform-origin:50% 100%;animation:floorUp .45s var(--ease) both}
.tower span:last-child{background:var(--red-light)}
.bay{position:relative}
.bay-col{position:absolute;top:0;bottom:0;inset-inline-start:0;width:1px;background:var(--ink);transform-origin:50% 100%}
.bay-beam{position:absolute;top:0;inset-inline-start:0;inset-inline-end:0;height:2px;transform-origin:left center}
[dir=rtl] .bay-beam{transform-origin:right center}

a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--red);outline-offset:3px}
input:focus,select:focus,textarea:focus{border-color:var(--slate)!important}
body{margin:0;background:var(--paper);color:var(--ink)}
a{color:var(--red);text-decoration:none}a:hover{color:var(--red-dark)}
input,textarea,select{font:inherit}
@property --num{syntax:'<integer>';initial-value:0;inherits:false}
@keyframes rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes wordup{from{transform:translateY(110%)}to{transform:none}}
@keyframes draw{from{stroke-dashoffset:2000}to{stroke-dashoffset:0}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes count{from{--num:0}}
@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes clipup{from{clip-path:inset(0 0 100% 0);transform:translateY(24px)}to{clip-path:inset(0 0 0 0);transform:none}}
@keyframes wipe{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes wipe-rtl{from{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0 0 0 0)}}
@keyframes settle{from{transform:scale(1.18)}to{transform:scale(1)}}
@keyframes drift{to{transform:translateY(-70px)}}
@keyframes shade{to{box-shadow:0 12px 32px rgba(23,23,23,.08)}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes marquee-rtl{from{transform:translateX(0)}to{transform:translateX(50%)}}
.in{animation:rise 1s cubic-bezier(.2,.7,.2,1) both}
.wmask{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em}
.word{display:inline-block;animation:wordup 1.1s cubic-bezier(.16,.84,.24,1) both}
.bp line,.bp rect,.bp polyline,.bp circle{fill:none;stroke:var(--on-dark-3);stroke-width:1.2;stroke-dasharray:2000;animation:draw 2.4s cubic-bezier(.4,0,.2,1) both}
.bp .main{stroke:var(--on-dark);stroke-width:1.8}
.bp .thin{stroke:var(--night-line-2);stroke-width:1}
.bp .dash{stroke:var(--night-line-2);stroke-width:1;stroke-dasharray:6 6;animation:fade 1.2s ease both}
.bp .red{stroke:var(--red-light);stroke-width:1.6}
.bp text{fill:var(--on-dark-3);font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.08em;animation:fade 1s ease both}
.bp .mid{text-anchor:middle}
.ico{fill:none;stroke:currentColor;stroke-width:1.6}
.count{counter-reset:num var(--num);animation:count 2.2s cubic-bezier(.2,.7,.2,1) both .4s}
.count::after{content:counter(num)}
.count.ar::after{content:counter(num,arabic-indic)}
.n35{--num:35}.n800{--num:800}.n6{--num:6}
.navlink{color:var(--ink-2);position:relative;padding:6px 0;font-weight:600}
.navlink::after{content:'';position:absolute;inset-inline-start:0;bottom:0;height:1px;width:0;background:var(--red);transition:width .35s ease}
.navlink:hover{color:var(--ink)}.navlink:hover::after{width:100%}
.btn-red{background:var(--red);color:#fff;transition:background .3s ease,transform .3s ease}
.btn-red:hover{background:var(--red-dark);color:#fff;transform:translateY(-2px)}
.btn-red .arr{display:inline-block;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.btn-red:hover .arr{transform:translateX(5px)}[dir=rtl] .btn-red:hover .arr{transform:translateX(-5px)}
.btn-ghost{border:1px solid rgba(255,255,255,.35);color:#fff;transition:border-color .3s ease,background .3s ease}
.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.06);color:#fff}
.sit{background:var(--surface);transition:background .5s cubic-bezier(.2,.7,.2,1);position:relative;overflow:hidden}
.sit::before{content:'';position:absolute;top:0;inset-inline-start:0;height:3px;width:0;background:var(--red);transition:width .6s cubic-bezier(.2,.7,.2,1)}
.sit:hover{background:var(--night)}.sit:hover::before{width:100%}
.sit .t{color:var(--ink);transition:color .4s ease}.sit:hover .t{color:var(--white)}
.sit .d{color:var(--slate);transition:color .4s ease}.sit:hover .d{color:var(--on-dark-1)}
.sit .k{color:var(--red);transition:color .4s ease}.sit:hover .k{color:var(--red-light)}
.sit .arrow{display:inline-block;transition:transform .4s cubic-bezier(.2,.7,.2,1)}.sit:hover .arrow{transform:translateX(8px)}
[dir=rtl] .sit:hover .arrow{transform:translateX(-8px)}
.row{transition:background .4s ease,padding .4s ease}
.row:hover{background:var(--paper);padding-inline-start:20px}
.row .rt{color:var(--ink);transition:color .3s ease}.row:hover .rt{color:var(--red)}
.tile .img{transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}.tile:hover .img{transform:scale(1.04)}
.tile .cap{transition:color .3s ease}.tile:hover .cap{color:var(--red)}
.tab{background:transparent;border:0;border-bottom:1px solid var(--line-2);color:var(--slate);cursor:pointer;transition:color .3s ease,border-color .3s ease}
.tab:hover{color:var(--ink)}
.tab.on{color:var(--ink);border-bottom:2px solid var(--red)}
.tr{transition:background .3s ease}.tr:hover{background:var(--surface)}
.tl-line{transform-origin:left center}[dir=rtl] .tl-line{transform-origin:right center}
.progress{transform-origin:left center;transform:scaleX(0)}[dir=rtl] .progress{transform-origin:right center}
.mq{display:flex;gap:64px;width:max-content;animation:marquee 70s linear infinite}
[dir=rtl] .mq{animation-name:marquee-rtl}
.mqwrap:hover .mq{animation-play-state:paused}
.gridbg{background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:32px 32px}
.plan line,.plan rect,.plan path,.plan circle,.plan polyline{fill:none;stroke:var(--ink);stroke-width:1.2;stroke-dasharray:2000;animation:draw 2.2s cubic-bezier(.4,0,.2,1) both}
.plan .wall{stroke-width:4}
.plan .red{stroke:var(--red);stroke-width:4}
.plan .gone{stroke:var(--red);stroke-width:1.4;stroke-dasharray:6 5;animation:fade 1s ease both}
.plan .cloud{stroke:var(--red);stroke-width:1.2;stroke-dasharray:3 4;animation:fade 1s ease both}
.plan text{fill:var(--slate);font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:.08em;text-anchor:middle;animation:fade 1s ease both}
.plan .rt{fill:var(--red)}
.plan .chk{stroke:var(--red);stroke-width:2}
.plan .redthin{stroke:var(--red);stroke-width:1.6}
.plan .dim{stroke:var(--slate);stroke-width:1}
.plan .ta{text-anchor:start}
.faq{border-bottom:1px solid var(--line)}
.faq button{width:100%;background:transparent;border:0;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0;text-align:start;font:inherit;color:var(--ink)}
.faq button:hover .q{color:var(--red)}
.faq .q{transition:color .3s ease}
.faq .pm{width:34px;height:34px;border-radius:50%;flex-shrink:0;border:1px solid var(--line-2);display:flex;align-items:center;justify-content:center;color:var(--red);transition:transform .4s var(--ease)}
.faq.open .pm{transform:rotate(45deg)}
.faq .a{animation:rise .5s var(--ease) both}
.ph{background:var(--ph);color:var(--muted);display:flex;align-items:center;justify-content:center;font-size:13px;letter-spacing:.04em}
@supports (animation-timeline: view()){
.rv{animation:rise linear both;animation-timeline:view();animation-range:entry 5% cover 28%}
.hrv{animation:clipup linear both;animation-timeline:view();animation-range:entry 10% cover 32%}
.wipe{animation:wipe linear both;animation-timeline:view();animation-range:entry 5% cover 40%}
[dir=rtl] .wipe{animation-name:wipe-rtl}
.wipe .img{animation:settle linear both;animation-timeline:view();animation-range:entry 0% exit 0%}
.tl-line{animation:grow linear both;animation-timeline:view();animation-range:entry 20% cover 45%}
.parallax{animation:drift linear both;animation-timeline:scroll();animation-range:0 700px}
.progress{animation:grow linear both;animation-timeline:scroll()}
.hdr{animation:shade linear both;animation-timeline:scroll();animation-range:0 240px}
.dim-line{animation:grow linear both;animation-timeline:view();animation-range:entry 15% cover 35%}
.bay-col{animation:growY linear both;animation-timeline:view()}
.bay-beam{animation:grow linear both;animation-timeline:view()}
.plan line,.plan rect,.plan path,.plan circle,.plan polyline{animation-timeline:view();animation-range:entry 10% cover 45%;animation-delay:0s!important}
.plan .gone,.plan .cloud,.plan .plot,.plan text{animation-timeline:view();animation-range:cover 30% cover 45%;animation-delay:0s!important}
}
.plan{direction:ltr}
.plan .plot{stroke:var(--slate);stroke-width:1;stroke-dasharray:5 4;animation:fade 1s ease both}
.sit .n{color:var(--red);transition:color .4s ease}.sit:hover .n{color:var(--red-light)}
.sit .fl{color:var(--steel);transition:color .4s ease}.sit:hover .fl{color:var(--on-dark-2)}
.sit .fv{color:var(--ink);transition:color .4s ease}.sit:hover .fv{color:var(--white)}
.sit .first{transition:border-color .4s ease}.sit:hover .first{border-color:var(--night-line)!important}
.chip{font-size:12px;line-height:1.4;padding:4px 9px;border:1px solid var(--line-2);color:var(--text-2);transition:color .4s ease,border-color .4s ease}
.sit:hover .chip{border-color:var(--night-line-2);color:var(--on-dark-1)}
.sit-fig{transition:background .5s ease}
.pf-step{font-size:13px;font-weight:600;color:var(--on-steel);letter-spacing:.06em;text-transform:uppercase}
[dir=rtl] .pf-step{letter-spacing:0;text-transform:none;font-size:14px}
.pf-l{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--white)}
.pf-i{height:48px;border:1px solid var(--white);padding:0 14px;background:var(--surface);color:var(--ink);font:inherit;font-size:16px;font-weight:400;min-width:0}
.pf-i:focus{outline:2px solid var(--ink);outline-offset:0}
.pf-chip{min-height:42px;padding:8px 16px;border:1px solid rgba(255,255,255,.5);background:transparent;color:var(--white);font:inherit;font-size:14px;cursor:pointer;transition:background .25s ease,color .25s ease,border-color .25s ease}
.pf-chip:hover{border-color:var(--white)}
.pf-chip.on{background:var(--surface);color:var(--ink);border-color:var(--white)}
.pf-chip.on::before{content:"\2713";margin-inline-end:8px;color:var(--red)}
.pf-done{animation:rise .5s var(--ease) both}
.skip{position:absolute;inset-inline-start:16px;top:-60px;z-index:50;background:var(--red);color:#fff;padding:12px 18px;font-weight:600}
.skip:focus{top:12px;color:#fff}

.btn-ghost{border-color:rgba(255,255,255,.28)!important}
.btn-ghost:hover{background:var(--white)!important;color:var(--ink)!important;border-color:var(--white)!important}
.btn-ghost .ico{fill:none;stroke:currentColor;stroke-width:1.5}
.btn-red{letter-spacing:.01em}
.btn-red .arr,.btn-red span:last-child{transition:transform .3s var(--ease)}
.btn-red:hover .arr{transform:translateX(4px)}[dir=rtl] .btn-red:hover .arr{transform:translateX(-4px)}
.faq button:hover .pm{background:var(--ink);color:var(--white);border-color:var(--ink)}
.faq.open .pm{background:var(--red);border-color:var(--red);color:var(--white)}
.hlang{position:relative}
.hlang::after{content:'';position:absolute;left:14px;right:14px;bottom:8px;height:1px;background:currentColor;transform:scaleX(0);transition:transform .3s var(--ease)}
.hlang:hover::after{transform:scaleX(1)}
.menu-btn{border:0!important;position:relative}
.menu-btn .ic-m{display:none}
.menu-btn[aria-expanded="false"]::before,.menu-btn[aria-expanded="false"]::after{content:'';position:absolute;height:1.5px;background:var(--ink);inset-inline-end:10px;transition:width .3s var(--ease)}
.menu-btn[aria-expanded="false"]::before{width:24px;top:17px}
.menu-btn[aria-expanded="false"]::after{width:16px;top:25px}
.menu-btn[aria-expanded="false"]:hover::after{width:24px}
.rail-b{transition:background .3s ease,color .3s ease,border-color .3s ease,transform .3s var(--ease)}
@keyframes barIn{from{opacity:0;transform:translateY(24px);visibility:hidden}to{opacity:1;transform:none;visibility:visible}}
.mbar{display:none}
.menu-btn,.mnav{display:none}
.lang-short{display:none}
label input,label select,label textarea{font-weight:400}
@media (max-width:1100px){
.root{min-width:0!important}
.rail,.hnav,.hcta,.vline{display:none!important}
.hlang{margin-inline-start:auto}
.menu-btn,.mnav{display:flex}
.hdr-in{padding:0 32px!important;gap:10px!important}
.wrap,.hero-in,.contact-in{padding-inline:32px!important}
.mq-title{padding:0 32px!important}
.mnav{position:absolute!important;top:100%!important;bottom:auto!important;height:calc(100vh - var(--hdr-h,100px));height:calc(100dvh - var(--hdr-h,100px));inset-inline-start:0!important;inset-inline-end:0!important;background:var(--night)!important;box-shadow:none!important;border:0!important;padding:28px 24px 40px!important;overflow-y:auto;counter-reset:mn;z-index:30}
.mnav>a:not(.btn-red){counter-increment:mn;color:var(--on-dark)!important;font-size:28px!important;font-weight:500!important;padding:18px 0!important;border-bottom:1px solid var(--night-line)!important;display:flex;align-items:baseline;gap:16px}
.mnav>a:not(.btn-red)::before{content:"0" counter(mn);font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--red-light)}
.mnav .btn-red{margin-top:32px!important;height:58px!important;font-size:17px!important}
.bay{border:0!important}
.bay-beam{display:none!important}
.bay::before{content:'';position:absolute;inset-inline-start:-5px;top:30px;width:10px;height:10px;border-radius:50%;background:var(--paper);border:1.5px solid var(--ink);z-index:1}
.bays>.bay:last-child::before,.bays>.bay:nth-child(3)::before{background:var(--red);border-color:var(--red)}
.hero-h1{font-size:44px!important}
.bays{grid-template-columns:minmax(0,1fr)!important;border-inline-end:0!important;border-bottom:0!important}
.bay{height:auto!important;padding:20px 0 22px!important;padding-inline-start:24px!important}
.fbars{grid-template-columns:minmax(0,1fr)!important;margin-top:28px!important}
.fbars>*{grid-column:auto!important}
}
@media (max-width:900px){
.g3{grid-template-columns:minmax(0,1fr)!important}
.g4{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.sit-fig svg{max-width:440px;margin-inline:auto}
}
@media (max-width:760px){
:root{--fs-h2:31px}
.hdr-in{height:74px!important;padding:0 16px!important}
.hdr-logo{width:min(236px,calc(100vw - 150px))!important}
.hdr-logo.ar{width:min(196px,calc(100vw - 150px))!important}
.hlang{padding:0 6px!important;font-size:15px!important}
.lang-long{display:none}
.lang-short{display:inline}
.wrap{padding-block:72px!important;padding-inline:20px!important;gap:40px!important}
.wrap.facts{padding-block:44px!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:32px 16px!important}
.fact-n{font-size:40px!important}
.hero-in{padding:44px 20px 72px!important;gap:44px!important}
.contact-in{padding:72px 20px!important;gap:40px!important}
.g12{grid-template-columns:minmax(0,1fr)!important;gap:28px!important}
.g12>*{grid-column:auto!important}
.g2{grid-template-columns:minmax(0,1fr)!important}
.cinfo>*{grid-column:auto!important}
.g8{grid-template-columns:minmax(0,1fr)!important;gap:6px!important}
.g8>*{grid-column:auto!important}
.hero-h1{font-size:33px!important;line-height:1.22!important}
[dir=rtl] .hero-h1{font-size:34px!important;line-height:1.5!important}
.tblock{width:236px!important}
.sit-fig{padding:18px 20px!important}
.sit-body{padding:24px 22px 26px!important}
.sit .t{font-size:21px!important}
.unstick{position:static!important}
.bays{grid-template-columns:minmax(0,1fr)!important;border-inline-end:0!important;border-bottom:0!important}
.bay{height:auto!important;padding:20px 0 22px!important;padding-inline-start:22px!important}
.fbars{grid-template-columns:minmax(0,1fr)!important;margin-top:28px!important}
.fbars>*{grid-column:auto!important}
.intl{grid-template-columns:minmax(0,1fr)!important}
.steps{grid-template-columns:minmax(0,1fr)!important;gap:36px!important}
.steps>.tl-line{display:none}
.tabs{flex-wrap:nowrap!important;overflow-x:auto;margin-inline:-20px;padding-inline:20px;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tabs .tab{flex-shrink:0;padding:0 16px!important}
.tr{flex-wrap:wrap;padding:18px 0!important}
.faq .a{padding-inline-end:0!important}
.faq .q{font-size:17px!important}
.cform{padding:24px 20px!important}
.mbar{display:flex}
:root{--hdr-h:74px}
.menu-btn{width:48px!important;height:48px!important}
.menu-btn[aria-expanded="false"]::before{top:19px}
.menu-btn[aria-expanded="false"]::after{top:27px}
.hlang{width:40px;height:40px;padding:0!important;border:1px solid var(--line-2)!important;border-radius:50%;display:flex!important;align-items:center;justify-content:center;font-size:14px!important}
.hlang::after{display:none}
.mbar{left:12px!important;right:12px!important;bottom:calc(12px + env(safe-area-inset-bottom, 0px))!important;padding:8px!important;background:rgba(23,23,23,.94)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:0!important;box-shadow:0 18px 40px rgba(23,23,23,.28)!important;gap:8px!important}
.mbar a[href^="tel"]{width:50px;padding:0!important;border-color:rgba(255,255,255,.28)!important;color:var(--white)!important;font-size:0!important;gap:0!important}
.mbar a[href^="tel"] svg{width:20px;height:20px}
@supports (animation-timeline: scroll()){.mbar{animation:barIn linear both;animation-timeline:scroll();animation-range:420px 620px}}
.in.eyebrow-m,.hero-in>div>.in:first-child{font-size:11px!important;letter-spacing:.14em!important;line-height:1.6}
[dir=rtl] .hero-in>div>.in:first-child{letter-spacing:0!important;font-size:13px!important}
.call-btn{flex-grow:1}
.hero-in .btn-red{flex-grow:1;justify-content:center}
.tr{padding:20px 0!important}
.fact-n{font-size:44px!important}
.parallax{animation:none!important;transform:none!important}
.mq{animation-duration:110s!important}
.root{padding-bottom:0}
.hero-line{font-size:18px!important;margin-top:-18px!important}
.g12>figure,figure.g12{padding:28px 22px!important;gap:12px!important}
blockquote{font-size:18px!important}
.pf{padding:28px 20px!important;gap:28px!important;margin-inline:-20px}
.pf h3{font-size:27px!important}
.pf-done{padding:24px 20px!important}
.f-top,.f-bot{flex-direction:column;align-items:flex-start!important}
.f-bot>span:last-child{flex-wrap:wrap;gap:12px 24px!important}
.mqwrap{padding:22px 0!important}
.mq-title{padding:0 20px!important}
.comm{gap:12px 22px!important}
.comm>span{font-size:19px!important;gap:22px!important}
.lead{font-size:18px!important}
.hero-sub{font-size:17px!important;line-height:1.75!important}
}
@media (prefers-reduced-motion: reduce){
.logo-build *,.dim-line,.tower span,.bay-col,.bay-beam,.plan circle,.plan polyline,.plan line,.plan rect,.plan path,.plan text,.faq .a,.in,.word,.rv,.hrv,.wipe,.wipe .img,.count,.tl-line,.mq,.parallax,.progress,.hdr,.bp line,.bp rect,.bp polyline,.bp circle,.bp text,.bp .dash{animation:none!important}
.progress{transform:scaleX(0)}
}

[hidden]{display:none!important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
.menu-btn[aria-expanded="false"] .ic-x,.menu-btn[aria-expanded="true"] .ic-m{display:none}
.row .rt a{color:inherit;text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .3s ease}
[dir=rtl] .row .rt a{background-position:100% 100%}
.row:hover .rt a,.row .rt a:focus-visible{background-size:100% 1px}
.svc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.svc-list li{padding:16px 0;border-bottom:1px solid var(--line);font-size:17px;line-height:1.6;color:var(--text-2);display:flex;gap:14px}
.svc-list li::before{content:"";flex:0 0 14px;height:1px;background:var(--red);margin-top:.8em}
.svc-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--ink)}
.svc-steps>div{padding:24px 24px 24px 0;padding-inline-end:24px;padding-inline-start:0;display:flex;flex-direction:column;gap:8px}
.svc-faq details{border-bottom:1px solid var(--line)}
.svc-faq summary{cursor:pointer;list-style:none;padding:22px 0;font-size:19px;font-weight:500;color:var(--ink);display:flex;justify-content:space-between;gap:20px}
.svc-faq summary::-webkit-details-marker{display:none}
.svc-faq summary::after{content:"+";color:var(--red);font-size:22px;line-height:1;transition:transform .3s ease}
.svc-faq details[open] summary::after{transform:rotate(45deg)}
.svc-faq p{margin:0 0 22px;font-size:16px;line-height:1.8;color:var(--text-2)}
.crumbs{font-size:13px;color:var(--on-dark-2);display:flex;gap:8px;flex-wrap:wrap}
.crumbs a{color:var(--on-dark-1)}
.others{display:flex;flex-wrap:wrap;gap:10px}
.others a{border:1px solid var(--night-line-2);color:var(--on-dark);padding:10px 14px;font-size:14px}
.others a:hover{border-color:var(--white);color:var(--white)}
.navlink.on{color:var(--red)!important}
.mnav a[aria-current="page"]{color:var(--red-light)!important}
.tzs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;background:var(--line);border:1px solid var(--line)}
.tz{background:var(--surface);display:flex;flex-direction:column;min-width:0}
.tz-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;min-height:64px}
.tz-img{width:64px;height:64px;object-fit:cover;object-position:50% 20%;display:block;border:1px solid var(--line)}
.tz-b{padding:30px 32px 32px;display:flex;flex-direction:column;gap:14px;flex-grow:1}
.tz-n{font-family:'IBM Plex Mono',monospace;font-size:13px;color:var(--red)}
.tz h3{margin:0;font-size:23px;font-weight:500;line-height:1.3;color:var(--ink)}
.tz p{margin:0;font-size:15px;line-height:1.75;color:var(--slate)}
.tz-ls{margin-top:auto;display:flex;flex-direction:column;gap:10px;padding-top:8px;border-top:1px solid var(--line)}
.tz-l{color:var(--red);font-size:15px;font-weight:600;text-decoration:none;padding-top:8px}
.tz-l .arrow{display:inline-block;transition:transform .3s ease}
.tz-l:hover .arrow{transform:translateX(6px)}[dir=rtl] .tz-l:hover .arrow{transform:translateX(-6px)}
.f-nav{display:flex;flex-wrap:wrap;gap:10px 28px;font-size:14px}
.f-nav a{color:var(--on-dark-1);text-decoration:none}
.f-nav a:hover,.f-nav a[aria-current="page"]{color:var(--white)}
@media (max-width:900px){.tzs{grid-template-columns:minmax(0,1fr)}}
@media (max-width:760px){
#situations .g3{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px!important;background:none!important;border:0!important;margin-inline:-20px;padding:0 20px 8px;scrollbar-width:none;overscroll-behavior-x:contain}
#situations .g3::-webkit-scrollbar{display:none}
#situations .sit{flex:0 0 84%;scroll-snap-align:start;border:1px solid var(--line)}
#situations .sit .chip{display:none}
#situations .sit-fig svg{max-height:150px}
.swipe-hint{display:flex!important}
.tz-b{padding:22px 20px 24px}.tz h3{font-size:20px}
.cta-band .wrap{padding-block:64px!important}.cta-band h2{font-size:28px!important}
.cta-row>a{flex:1 1 100%}
}
.swipe-hint{display:none;align-items:center;gap:10px;font-size:13px;color:var(--steel)}


/* header collapses to the menu button below 1240px so the top bar never overflows */
.navlink,.hcta{white-space:nowrap}
@media (max-width:1366px){.hnav{gap:24px!important}}
@media (max-width:1240px){
.root{min-width:0!important}
.rail,.hnav,.hcta,.vline{display:none!important}
.hlang{margin-inline-start:auto}
.menu-btn,.mnav{display:flex}
.hdr-in{padding:0 32px!important;gap:10px!important}
.mnav{position:absolute!important;top:100%!important;bottom:auto!important;height:calc(100vh - var(--hdr-h,100px));height:calc(100dvh - var(--hdr-h,100px));inset-inline-start:0!important;inset-inline-end:0!important;background:var(--night)!important;box-shadow:none!important;border:0!important;padding:28px 24px 40px!important;overflow-y:auto;counter-reset:mn;z-index:30}
.mnav>a:not(.btn-red){counter-increment:mn;color:var(--on-dark)!important;font-size:28px!important;font-weight:500!important;padding:18px 0!important;border-bottom:1px solid var(--night-line)!important;display:flex;align-items:baseline;gap:16px}
.mnav>a:not(.btn-red)::before{content:"0" counter(mn);font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--red-light)}
.mnav .btn-red{margin-top:32px!important;height:58px!important;font-size:17px!important}
}
footer img{max-width:100%}
.wrap.facts{border-top:1px solid var(--night-line)}
.btn-ghost .bt{white-space:nowrap}
@media (max-width:760px){.cta-row>.btn-ghost{flex:1 1 auto!important}}
/* anchors land below the sticky header */
:root{--hdr-h:101px}
[id]{scroll-margin-top:calc(var(--hdr-h) + 16px)}
#request{scroll-margin-top:calc(var(--hdr-h) + 12px)}
[id].rv{animation:none!important;opacity:1!important;transform:none!important}
/* icons */
.ico{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:square;stroke-linejoin:miter;flex-shrink:0;display:block}
[dir=rtl] .ico-dir{transform:scaleX(-1)}
/* primary button: label + arrow cell */
.btn-red.has-i{justify-content:space-between!important;gap:18px!important;padding-inline-start:26px!important;padding-inline-end:0!important;text-decoration:none;transition:background .3s ease,transform .15s ease!important;-webkit-tap-highlight-color:transparent}
.btn-red.has-i:hover{transform:none!important}
.btn-red .bt{display:inline-flex;align-items:center;gap:10px;white-space:nowrap}
.btn-red .bi{align-self:stretch;min-width:54px;display:grid;place-items:center;border-inline-start:1px solid rgba(255,255,255,.22);background:rgba(0,0,0,.08);transition:background .3s ease}
.btn-red:hover .bi{background:rgba(0,0,0,.2)}
.btn-red .bi .ico{transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.btn-red:hover .bi .ico{transform:translateX(4px)}
[dir=rtl] .btn-red:hover .bi .ico{transform:scaleX(-1) translateX(4px)}
.btn-red:active,.btn-ghost:active{transform:scale(.985)!important}
.btn-red:focus-visible,.btn-ghost:focus-visible,.tz-l:focus-visible,.sit:focus-visible,.hlang:focus-visible,.menu-btn:focus-visible,.faq button:focus-visible{outline:2px solid var(--red-light);outline-offset:3px}
.cform button.btn-red.has-i{width:100%}
button.btn-red[disabled]{opacity:.6;cursor:progress}
/* call button: phone cell + label */
.btn-ghost.has-i{justify-content:flex-start!important;gap:0!important;padding-inline-start:0!important;padding-inline-end:22px!important;text-decoration:none}
.btn-ghost .bi{align-self:stretch;width:54px;display:grid;place-items:center;border-inline-end:1px solid rgba(255,255,255,.24);margin-inline-end:18px;transition:border-color .3s ease}
.btn-ghost:hover .bi{border-color:rgba(23,23,23,.18)}
.btn-ghost .bt{direction:ltr;unicode-bidi:isolate}
.call-btn .bt{direction:inherit}
/* text links: boxed arrow */
.ia{display:inline-grid!important;place-items:center;width:28px;height:28px;border:1px solid currentColor;margin-inline-start:10px;vertical-align:middle;transition:background .3s ease,border-color .3s ease,transform .35s cubic-bezier(.2,.7,.2,1)!important}
.ia .ico{width:14px;height:14px}
.tz-l{display:inline-flex;align-items:center;justify-content:space-between;gap:10px}
.tz-l .ia{margin-inline-start:0}
.tz-l:hover .ia{background:var(--red);border-color:var(--red);color:#fff;transform:none!important}
.sit .k{display:flex;align-items:center;justify-content:space-between}
.sit:hover .ia{background:var(--red);border-color:var(--red);color:#fff}
/* FAQ toggle */
.faq .pm{border-radius:0!important;width:36px!important;height:36px!important}
.faq .pm .ico{width:16px;height:16px}
/* contact details */
.ci-l{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--on-dark-1)}
.ci-l .ico{width:16px;height:16px;color:var(--red-light)}
.map-l{display:inline-flex;align-items:center;gap:8px;color:var(--white);font-size:14px;margin-top:6px;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:3px;align-self:flex-start;transition:border-color .3s ease}
.map-l:hover{border-color:var(--white)}
.map-l .ico{width:14px;height:14px}
/* upload field */
.up{position:relative;display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px;border:1px dashed var(--line-3);background:var(--surface);cursor:pointer;transition:border-color .3s ease,background .3s ease}
.up:hover,.up:focus-within{border-color:var(--ink);background:var(--paper)}
.up-in{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.up-b{display:inline-flex;align-items:center;gap:10px;height:42px;padding:0 16px;border:1px solid var(--ink);color:var(--ink);font-size:14px;font-weight:600;pointer-events:none}
.up-b .ico{width:17px;height:17px}
.up-n{font-size:14px;font-weight:400;color:var(--slate);min-width:0;overflow-wrap:anywhere;pointer-events:none}
/* after a consultation request is sent */
.sent{scroll-margin-top:calc(var(--hdr-h) + 16px);background:var(--surface);color:var(--ink);padding:40px;display:flex;flex-direction:column;gap:26px;border-top:3px solid var(--red);outline:none;animation:rise .5s cubic-bezier(.2,.7,.2,1) both}
.sent-h{display:flex;align-items:center;gap:14px}
.sent-h .ico{width:40px;height:40px;padding:9px;background:var(--red);color:#fff;stroke-width:2}
.sent-h h3{margin:0;font-size:26px;font-weight:500;line-height:1.3}
.sent ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border-top:1px solid var(--line)}
.sent li{display:flex;gap:18px;padding:16px 0;border-bottom:1px solid var(--line)}
.sent li span{font-family:'IBM Plex Mono',monospace;font-size:13px;color:var(--red);padding-top:3px}
.sent li p{margin:0;font-size:16px;line-height:1.7;color:var(--text-2)}
.sent-f{display:flex;flex-direction:column;gap:12px;font-size:14px;color:var(--slate)}
.sent-f>div{display:flex;flex-wrap:wrap;gap:10px}
.sent-f a,.sent-f button{height:46px;padding:0 18px;display:inline-flex;align-items:center;border:1px solid var(--ink);color:var(--ink);background:transparent;font:inherit;font-size:15px;font-weight:600;cursor:pointer;text-decoration:none;transition:background .25s ease,color .25s ease}
.sent-f a:hover,.sent-f button:hover{background:var(--ink);color:#fff}
.sent-f button{border-color:var(--line-3);color:var(--slate)}
@media (max-width:760px){.sent{padding:28px 20px}.sent-h h3{font-size:22px}}
/* WhatsApp */
.mb-wa{display:none}
.privacy{margin:0;font-size:13px;line-height:1.6;color:var(--slate);display:flex;gap:8px}
.privacy.on-dark{color:var(--on-dark-1);flex-basis:100%;font-weight:400}
/* language switch */
@media (min-width:761px){.hlang .lang-long{display:inline-flex;align-items:center;gap:8px}}
.hlang .lang-long .ico{width:16px;height:16px}
@media (max-width:760px){
:root{--hdr-h:74px}
.hero-sub,.hero-note{display:none!important}
.hero-in .parallax svg{max-height:230px}
.hero-in .btn-red.has-i{flex:1 1 100%}
.hero-in .btn-ghost.has-i{flex:1 1 40%}
.cta-row>.btn-ghost{flex:1 1 40%!important}
.btn-ghost.has-i{padding-inline-end:14px!important}
.btn-ghost .bi{margin-inline-end:12px;width:48px}
.mb-wa{display:flex;width:50px;height:50px;flex-shrink:0;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.28);color:var(--white)}
.mb-wa .ico{width:20px;height:20px}
.hlang{border-radius:0!important}
.btn-red.has-i{padding-inline-start:22px!important}
.mbar .btn-red .bi{min-width:48px}
.mbar a[href^="tel"] svg{width:20px;height:20px}
}
@media (max-width:900px){.svc-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.svc-steps{grid-template-columns:minmax(0,1fr)}.svc-h1{font-size:34px!important}}
