:root{font-family:Arial,"Segoe UI",sans-serif;color:#163d3d;background:#c4e5e7;font-synthesis:none;--ink:#163d3d;--reveal:0}*{box-sizing:border-box}html,body{margin:0}body{overscroll-behavior-y:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid #087580;outline-offset:8px;border-radius:3px}button{border:0;background:none}img{display:block;max-width:100%;height:auto}.header{position:fixed;inset:0 0 auto;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:26px 4.2%;background:linear-gradient(#effbfaad,transparent);pointer-events:none}.header>*{pointer-events:auto}.brand{width:144px}.brand img{width:100%}.preferences{display:flex;align-items:center;gap:22px}.preferences button{min-height:44px;display:flex;align-items:center;justify-content:center;gap:12px;font-size:14px}.preferences #theme{width:44px;border:1px solid #244f4f35;border-radius:50%;background:#ffffff40;backdrop-filter:blur(12px)}.divider{height:15px;width:1px;background:currentColor;opacity:.3}.preferences [lang=en]{letter-spacing:.08em}html[lang=en] .preferences [lang=ar],html[lang=ar] .preferences [lang=en]{opacity:.55}#journey{height:650svh}.stage{position:sticky;top:0;height:100svh;width:100%;overflow:hidden;isolation:isolate}.scenery,.scenery>*{position:absolute;inset:0;width:100%;height:100%}.scenery>*{object-fit:cover;object-position:center}.scenery video{opacity:0}.scenery .destination{opacity:0}.shade{position:absolute;inset:0;background:#031419;opacity:0;transition:opacity .35s;pointer-events:none}.readability{position:absolute;inset:0;background:linear-gradient(transparent 12%,#f2f9eeaa 36%,#f0f6ebc4 58%,transparent 90%);opacity:var(--reveal);pointer-events:none}.opening{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;padding:22px}.opening h1{margin:0;width:clamp(300px,43vw,720px)}.opening img{width:100%;filter:drop-shadow(0 2px 24px #ffffff80)}.scroll-cue{position:absolute;bottom:8%;left:50%;transform:translateX(-50%);text-align:center;white-space:nowrap;font-size:14px;letter-spacing:.025em}.scroll-cue p{margin:18px 0 12px}.cue-line{display:block;height:32px;width:1px;background:currentColor;opacity:.5;margin:auto}.cue-arrow{font-size:22px}.solutions{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:center;gap:5vw;padding:125px 7vw 65px;direction:ltr}.division{display:block;opacity:0;visibility:hidden;pointer-events:none;text-align:center;align-self:center}.division img{width:100%;transition:transform .3s;filter:drop-shadow(0 2px 15px #ffffff90)}.division:hover img,.division:focus-visible img{transform:scale(1.045)}.division-details{opacity:0;transition:opacity .25s;padding-top:16px;min-height:85px;font-size:14px;line-height:1.6}.division-details p{margin:0 0 8px}.division-details>span:first-of-type{border-bottom:1px solid currentColor;padding-bottom:4px}.division:hover .division-details,.division:focus-visible .division-details{opacity:1}#loading{position:absolute;bottom:5%;left:50%;transform:translateX(-50%);font-size:13px;min-width:210px;text-align:center}.loading-track{height:1px;background:#163d3d25;margin-top:12px}.loading-track i{display:block;width:0;height:100%;background:var(--ink);transition:width .25s}#loading-value{margin-inline-start:10px}.progress{position:absolute;bottom:0;inset-inline:0;height:2px;background:#ffffff20}.progress i{display:block;height:100%;background:#116369;width:0}.skip-link{position:fixed;top:-100px;left:20px;z-index:20;padding:14px;background:white;color:#163d3d}.skip-link:focus{top:15px}html[data-theme=dark]{--ink:#edf7f6;color:var(--ink)}html[data-theme=dark] .shade{opacity:.3}html[data-theme=dark] .header{background:linear-gradient(#071819a6,transparent)}html[data-theme=dark] .brand img{filter:drop-shadow(0 0 8px #ffffffbf)}html[data-theme=dark] .readability{background:linear-gradient(transparent 10%,#e3ede499 38%,#e0e9e1a6 62%,transparent 94%)}html[data-theme=dark] .division-details{color:#123a3a}html[lang=ar] .division-details{direction:rtl}html[lang=ar] .scroll-cue{letter-spacing:0}.ready #loading{display:none}body:not(.ready) .scroll-cue{opacity:0}.simple #journey{height:200svh}.service-page{min-height:100svh;display:grid;place-items:center;text-align:center;padding:150px 24px 60px;background:linear-gradient(#eaf6f3e8,#eaf6f3ed),url('/assets/park.webp') center/cover}.service-content{max-width:520px}.service-content>img{width:380px;margin:0 auto 32px}.service-content h1{font-size:clamp(25px,4vw,38px);font-weight:400;line-height:1.3}.service-content p{line-height:1.8;color:#526b68}.back-link{display:inline-block;border-bottom:1px solid;padding:12px 0;margin-top:20px}html[data-theme=dark] .service-page{background:linear-gradient(#102a2af2,#102a2aef),url('/assets/park.webp') center/cover}html[data-theme=dark] .service-content p{color:#b8ceca}
@media(hover:none){.division-details{opacity:1}}
@media(max-width:700px){.header{padding:18px 6%}.brand{width:112px}.preferences{gap:12px}.preferences button{font-size:13px;gap:8px}.preferences #theme{width:40px}.opening h1{width:min(84vw,470px)}.solutions{grid-template-columns:1fr;gap:16px;padding:120px 14vw 50px;align-content:center}.division{width:min(100%,280px);justify-self:center}.division img{max-height:15svh;object-fit:contain}.division-details{padding-top:4px;min-height:30px;font-size:13px;opacity:1}.division-details p{display:none}.scroll-cue{bottom:9%;font-size:13px}.readability{background:linear-gradient(transparent,#f2f9eec7 23%,#f0f6ebc7 78%,transparent)}html[data-theme=dark] .readability{background:linear-gradient(transparent,#e3ede4b3 23%,#e0e9e1b3 78%,transparent)}}
@media(max-height:520px) and (min-width:701px){.header{padding-block:10px}.brand{width:110px}.solutions{padding-top:90px}.opening h1{width:35vw}.scroll-cue{bottom:3%}.cue-line{height:14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}

html[data-theme=dark] .preferences #theme{border-color:#efffff60;background:#07181950}

.opening .opening-title{width:min(92vw,1100px);text-align:center;color:#fff;text-shadow:0 2px 24px #052f3780,0 1px 4px #052f3760;line-height:1.12}
.opening-title span{display:block}
.journey-line{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-style:italic;font-size:clamp(36px,6.5vw,96px);letter-spacing:-.025em}
.company-line{font-family:Arial,"Segoe UI",sans-serif;font-weight:700;font-size:clamp(30px,5.8vw,84px);letter-spacing:.025em;margin-top:12px}
html[lang=ar] .journey-line{font-family:"Traditional Arabic","Times New Roman",serif;letter-spacing:0;font-style:normal}
html[lang=ar] .company-line{font-family:Tahoma,Arial,sans-serif;letter-spacing:0}
@media(max-width:700px){.opening .opening-title{width:92vw}.journey-line{font-size:clamp(32px,9.2vw,62px)}.company-line{font-size:clamp(28px,8.2vw,55px);margin-top:10px}}

@font-face{font-family:'Brittany Signature';src:url('/assets/fonts/brittany-signature.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'A Area Stencil';src:url('/assets/fonts/a-area-stencil.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
.opening .journey-line{font-family:'Brittany Signature',cursive;font-style:normal;font-weight:400;letter-spacing:0;font-size:clamp(50px,7vw,104px);line-height:1.7}
.opening .company-line{font-family:'A Area Stencil',sans-serif;font-weight:400;font-size:clamp(25px,4vw,60px);line-height:1.3;letter-spacing:0;margin-top:8px;text-wrap:balance}
html[lang=ar] .opening .journey-line{font-family:'Traditional Arabic','Times New Roman',serif}
html[lang=ar] .opening .company-line{font-family:Tahoma,Arial,sans-serif}
@media(max-width:700px){.opening .journey-line{font-size:clamp(46px,12vw,76px)}.opening .company-line{font-size:clamp(24px,6.5vw,42px);max-width:90vw;margin:14px auto 0}}

.scroll-cue{color:#fff;text-shadow:0 1px 8px #052f3780}
.division img{width:55%;margin-inline:auto}

.division:nth-child(1){--division-color:#0c5051}
.division:nth-child(2){--division-color:#245ea7}
.division:nth-child(3){--division-color:#d90d32}
.solutions .division .division-details{color:var(--division-color)}

@font-face{font-family:'Shekari';src:url('/assets/fonts/shekari.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Air Strip Arabic';src:url('/assets/fonts/air-strip-arabic.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
html[lang=ar] .opening .journey-line{font-family:'Shekari',serif;font-weight:400;font-style:normal;letter-spacing:0}
html[lang=ar] .opening .company-line{font-family:'Air Strip Arabic',sans-serif;font-weight:400;font-style:normal;letter-spacing:0}

html[lang=ar] .opening .journey-line{font-size:clamp(75px,10.5vw,156px)}
@media(max-width:700px){html[lang=ar] .opening .journey-line{font-size:clamp(69px,18vw,114px)}}

.opening-title{transform:translate3d(var(--title-x,0px),var(--title-y,0px),0);transition:transform .25s ease-out}
.opening-title .journey-line{transform:translate3d(0,var(--journey-drift,0px),0)}
.opening-title .company-line{transform:translate3d(0,var(--company-drift,0px),0)}
@media(prefers-reduced-motion:reduce){.opening-title,.opening-title .journey-line,.opening-title .company-line{transform:none!important}}

html[lang=ar] .opening .journey-line{line-height:1.25}
html[lang=ar] .opening .company-line{margin-top:0}

/* Fully transparent Group header in both themes. */
.header,html[data-theme=dark] .header{background:transparent;backdrop-filter:none;border:0;box-shadow:none}

html[data-theme=dark] .brand img{filter:none}

/* While scrolling down, retain only the header logo on every page. */
header.is-logo-only>:not(.lp-logo):not(.brand){opacity:0!important;visibility:hidden!important;pointer-events:none!important}
html body header.is-logo-only{background:transparent!important;backdrop-filter:none!important;border-color:transparent!important;box-shadow:none!important}

/* Circular brand-colored action arrows. */
body{--action-gradient:linear-gradient(180deg,#dedede,#858585)}
body.lp{--action-gradient:linear-gradient(180deg,#a8fa78,#26734f)}
body.ap{--action-gradient:linear-gradient(180deg,#60b9bc,#219acb,#285da2)}
.brand-arrow{display:inline-flex;vertical-align:middle;align-items:center;justify-content:center;width:1.7em;height:1.7em;min-width:24px;min-height:24px;max-width:48px;max-height:48px;border-radius:50%;background:var(--action-gradient);line-height:1;flex-shrink:0}
.brand-arrow svg{display:block;width:65%;height:65%;stroke:#fff;fill:none}

/* Match each Explore arrow to its division logo. */
.division[href='/landscaping/']{--action-gradient:linear-gradient(180deg,#a8fa78,#26734f)}
.division[href='/automation-iot/']{--action-gradient:linear-gradient(180deg,#60b9bc,#219acb,#285da2)}
.division[href='/interiors/']{--action-gradient:linear-gradient(180deg,#88d9ed,#a58fa7,#df0034)}

/* Division header logos stay subdued until returning to the top. */
body.lp .lp-header .lp-logo{opacity:1;transition:opacity .25s ease}
body.lp .lp-header.is-logo-only .lp-logo{opacity:.3}
@media(prefers-reduced-motion:reduce){body.lp .lp-header .lp-logo{transition:none}}

.floating-back-top{position:fixed;inset:auto 24px 20px auto;z-index:35;padding:10px 15px;border-radius:24px;background:var(--lp-bg,#fff);color:var(--lp-ink,#163d3d);box-shadow:0 2px 14px #0002;text-decoration:none} .floating-back-top[hidden]{display:none} html[lang=ar] .floating-back-top{right:auto;left:24px}

/* Frosted-glass return-to-top control. */
.floating-back-top{background:rgba(255,255,255,.52);backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);border:1px solid rgba(255,255,255,.65);box-shadow:0 5px 22px #00000012,inset 0 1px 0 #ffffff80}
html[data-theme=dark] .floating-back-top{background:rgba(18,39,47,.5);border-color:rgba(255,255,255,.22);color:#edf7fa;box-shadow:0 5px 22px #0003,inset 0 1px 0 #ffffff15}

/* Arabic accordion symbols use the same glyphs as English. */
html[lang=ar] .lp-service summary::after{font-family:Arial,sans-serif;font-weight:300}

/* Original English navigation font in regular weight. */
html[lang=en] .lp .lp-header .lp-nav,html[lang=en] .lp .lp-header .lp-nav a{font-family:'Ara Etab AlMonie ee',Arial,sans-serif;font-weight:400;font-synthesis:none}

/* Scale the complete return-to-top control down by 20%. */
html[lang=en] .floating-back-top{transform:scale(.8);transform-origin:bottom right}
html[lang=ar] .floating-back-top{transform:scale(.8);transform-origin:bottom left}

/* Consistent English header navigation sizing and roomier link spacing. */
html[lang=en] body .lp-header .lp-nav,
html[lang=en] body .lp-header .lp-nav a{font-size:10.8px}
html[lang=en] body .lp-header .lp-nav{gap:32px}
html[lang=en] body .lp-header .lp-controls{gap:20px}
html[lang=en] body .header .preferences{gap:30px}

/* Shared compact glass header in both languages and every division. */
html[lang] body header.header,html[lang] body.lp header.lp-header{
 inset:16px 16px auto;height:80px;padding:8px 2%;gap:24px;
 display:flex;align-items:center;justify-content:space-between;
 border:1px solid #ffffff55;border-radius:16px;
 background:rgba(255,255,255,.25);
 backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);
 box-shadow:0 8px 30px #00000012,inset 0 1px 0 #ffffff35;
}
html[lang][data-theme=dark] body header.header,html[lang][data-theme=dark] body.lp header.lp-header{background:rgba(255,255,255,.25)}
html[lang] body header :is(.lp-logo,.brand){display:flex;align-items:center;justify-content:center;width:124px;flex-shrink:0}
html[lang] body header :is(.lp-logo,.brand) img{max-height:62px;width:auto;max-width:100%;object-fit:contain}
html[lang] body header :is(.lp-controls,.preferences){align-items:center;justify-content:center;flex-shrink:0}
html[lang] body header .lp-nav{align-items:center;justify-content:center;text-align:center}
@media(min-width:1251px){html[lang] body header .lp-nav{flex:1}}
@media(max-width:1250px){html[lang] body header .lp-nav{top:calc(100% + 8px);border-radius:24px}}
@media(max-width:800px){
 html[lang] body header.header,html[lang] body.lp header.lp-header{height:72px;padding:8px 4%;gap:12px}
 html[lang] body header :is(.lp-logo,.brand){width:100px}
 html[lang] body header :is(.lp-logo,.brand) img{max-height:54px}
 html[lang] body header :is(.lp-controls,.preferences){gap:10px}
}

/* Center theme artwork without the inline SVG baseline offset. */
html body header :is(#lp-theme,#theme){display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;line-height:1}
html body header :is(#lp-theme,#theme) svg{display:block;flex-shrink:0}

/* One continuous branded pill for the Group label and arrow. */
html[lang] body header .lp-group{
 display:inline-flex;align-items:center;justify-content:center;gap:4px;
 padding:6px 14px;border-radius:999px;
 background:var(--action-gradient);color:#fff;white-space:nowrap;text-shadow:none;
}
html[lang=ar] body header .lp-group{padding-inline:14px}
html[lang] body header .lp-group .brand-arrow{background:transparent}
html[lang] body header :is(.lp-controls,.preferences),
html[lang] body header :is(#lp-language,#language,#lp-theme,#theme){color:#fff}

/* Balance the Group label and arrow as one centered unit. */
html[lang] body header .lp-group{gap:8px;line-height:1}
html[lang] body header .lp-group .brand-arrow{width:20px;height:20px;min-width:20px;min-height:20px}

/* Scene progress panels share the header's frosted white glass. */
html[lang] body .lp-scene-dots{
 background:rgba(255,255,255,.25);border:1px solid #ffffff55;border-radius:16px;
 backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);
 box-shadow:0 8px 30px #00000012,inset 0 1px 0 #ffffff35;
}

/* The Group landing page keeps its header without a glass pane. */
html[lang] body:has(#journey) header.header{
 background:transparent;border-color:transparent;box-shadow:none;
 backdrop-filter:none;-webkit-backdrop-filter:none;
}

/* Group header Arabic language label. */
body:has(#journey) .header #language [lang=ar]{font-family:'Air Strip Arabic',Tahoma,sans-serif;font-weight:400}

/* Division links retain only their gradient action arrow in both languages. */
html[lang] .division-details [data-copy="explore"]{display:none}

/* Keep the Group header completely frameless in every scroll/theme state. */
html[lang] body:has(#journey) header.header,
html[lang] body:has(#journey) header.header::before,
html[lang] body:has(#journey) header.header::after{
 background:none!important;border:0!important;box-shadow:none!important;
 backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}

/* Certificate originals and full-page image previews. */
.cert-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;min-width:0}
.cert-card{min-width:0}.cert-card>a{display:block}.cert-card img{width:100%;height:auto;border:1px solid var(--lp-line);box-shadow:0 8px 24px #0001}
.cert-card h3{margin:20px 0 6px;font-weight:400}.cert-card p{margin:0 0 16px;color:var(--lp-muted)}
.cert-actions{display:flex;flex-wrap:wrap;gap:12px 20px}.cert-actions a{border-bottom:1px solid currentColor;padding-block:5px}
html[lang=en] .cert-ar,html[lang=ar] .cert-en{display:none}
html[lang=en] .cert-card h3{font-size:28px;line-height:1.3}html[lang=en] .cert-card p{font-size:16px;line-height:1.7}html[lang=en] .cert-actions{font-size:14px}
html[lang=ar] .cert-card h3{font-size:28px;line-height:1.3}html[lang=ar] .cert-card p{font-size:20px;line-height:1.7}html[lang=ar] .cert-actions{font-size:18px}
@media(max-width:950px){.cert-grid{grid-template-columns:1fr;max-width:600px;width:100%}}

/* Certificates reuse Projects viewer chrome, fitted to an uncropped portrait. */
html[lang] body .lp-image-viewer.cert-viewer{width:min(94vw,62.22dvh);max-height:88dvh;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;direction:ltr}
html[lang] body .cert-viewer::backdrop{background:rgb(0 0 0 / .85);backdrop-filter:none}
html[lang] body .cert-viewer .lp-viewer-stage{aspect-ratio:auto}
html[lang] body .cert-viewer .lp-viewer-stage img{width:100%;height:auto;max-height:88dvh;aspect-ratio:auto;object-fit:contain}

/* Click or focus any journey dot to navigate to its film scene. */
html[lang] body .lp-scene-dots{pointer-events:auto}
.lp-scene-dots li{position:relative}
.lp-scene-jump{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:24px;height:20px;padding:0;border:0;background:transparent;border-radius:8px;cursor:pointer}
.lp-scene-jump:focus-visible{outline:2px solid white;outline-offset:1px}
.lp-scene-dots li:has(.lp-scene-jump:hover){box-shadow:0 0 0 4px #ffffff60}

/* Western numeral shapes, independent of Arabic display fonts. */
html[lang=ar] body .western-digits{font-family:Arial,sans-serif!important;font-size:inherit;font-weight:inherit;letter-spacing:0}

/* Keep every header control inside the glass on narrow screens. */
@media(max-width:600px){
 html[lang] body.lp header.lp-header{padding-inline:12px;gap:8px}
 html[lang] body.lp header.lp-header .lp-logo{width:80px}
 html[lang] body.lp header.lp-header .lp-controls{gap:6px}
 html[lang] body.lp header.lp-header .lp-controls button{min-width:28px;padding-inline:2px}
 html[lang] body.lp header.lp-header .lp-group{padding-inline:8px;gap:4px}
}

/* Give section content more room while preserving both language type scales. */
@media(min-width:1001px){
 html[lang] body.lp .lp-section{grid-template-columns:clamp(224px,16.8vw,256px) minmax(0,1fr);column-gap:32px}
 html[lang] body.lp .lp-section-label{flex-wrap:wrap;align-content:flex-start;column-gap:14px;row-gap:0;min-width:0}
 html[lang] body.lp .lp-section-label p{max-width:100%}
 html[lang] body.lp .lp-section>div:last-child{min-width:0}
}

/* Stack section numbers above their headings in both reading directions. */
html[lang] body.lp .lp-section-label{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:0;min-width:0}
html[lang] body.lp .lp-section-label p{max-width:100%;white-space:normal;overflow-wrap:normal;word-break:normal;hyphens:none;margin-block:0}

/* Use the outer margin for complete heading words without moving the content. */
@media(min-width:1001px){
 html[lang] body.lp .lp-section-label{margin-inline-start:calc(17px - 4vw);width:calc(100% + 4vw - 17px);min-width:min-content}
}

/* Open service panels: direct feature lists without accordion controls. */
.lp .lp-service-list{display:grid;gap:22px}
.ap-service-panel{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1.13fr);gap:30px;align-items:center;padding:30px;border:1px solid var(--lp-line);border-radius:22px;background:linear-gradient(125deg,hsl(var(--service-hue) 70% 95% / .65),var(--lp-bg) 65%);scroll-margin-top:110px}
.ap-service-panel-heading{min-width:0;display:grid;grid-template-columns:1fr;gap:12px}
html[lang] body.ap .ap-service-panel .ap-service-glass{position:relative;display:grid;place-items:center;width:64px;height:64px;isolation:isolate}
.ap-service-panel-heading h3{margin:0;font-weight:400;color:var(--lp-ink);text-wrap:balance}
.ap-service-offerings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-self:stretch;gap:0 24px;margin:0;padding:0;list-style:none}
.ap-service-offerings li{display:flex;align-items:center;padding:20px 0;border-bottom:1px solid var(--lp-line);color:var(--lp-ink);min-width:0}
.ap-service-offerings li:nth-last-child(-n+2){border-bottom:0}
.ap-service-offerings li::before,.ap-service-offerings li::after{content:none}
.ap-service-availability{margin:0;color:var(--lp-muted)}
html[lang=en] .ap-service-panel-heading h3{font-size:27px;line-height:1.3}
html[lang=en] .ap-service-offerings{font-size:16px;line-height:1.6}
html[lang=en] .ap-service-availability{font-size:12px;line-height:1.5}
html[lang=ar] .ap-service-panel-heading h3{font-size:29px;line-height:1.5}
html[lang=ar] .ap-service-offerings{font-size:19px;line-height:1.7}
html[lang=ar] .ap-service-availability{font-size:15px;line-height:1.6}
html[data-theme=dark] .ap-service-panel{background:linear-gradient(125deg,hsl(var(--service-hue) 35% 22% / .3),var(--lp-bg) 65%)}
@media(max-width:1200px){.ap-service-panel{grid-template-columns:1fr;gap:16px}.ap-service-panel-heading{grid-template-columns:64px minmax(0,1fr);align-items:center;gap:16px}.ap-service-availability{grid-column:2}}
@media(max-width:600px){.ap-service-panel{padding:22px;gap:12px;border-radius:18px}.ap-service-offerings{grid-template-columns:1fr}.ap-service-offerings li{padding:14px 0}.ap-service-offerings li:nth-last-child(2){border-bottom:1px solid var(--lp-line)}html[lang=en] .ap-service-panel-heading h3{font-size:23px}html[lang=ar] .ap-service-panel-heading h3{font-size:25px}}

/* Compact service panels while retaining readable type and full feature lists. */
.ap-service-panel{padding-block:18px}
.ap-service-panel-heading{gap:6px}
.ap-service-offerings li{padding-block:12px}
@media(max-width:1200px){.ap-service-panel-heading{gap:12px}}
@media(max-width:600px){.ap-service-panel{padding-block:16px;gap:8px}.ap-service-offerings li{padding-block:10px}}

/* Shared compact service cards on every page. */
.ap-service-panel{padding-block:12px}
.ap-service-offerings li{padding-block:7px}
@media(min-width:1201px){
 body.lp .ap-service-panel{min-height:160px;padding-block:12px}
 html[lang=ar] body.lp .ap-service-panel{min-height:172px}
 body.lp .ap-service-panel-heading{grid-template-columns:56px minmax(0,1fr);align-items:center;gap:12px}
 html[lang] body.lp .ap-service-panel :is(.ap-service-glass,.lp-glass-icon){width:56px;height:56px}
 body.lp .ap-service-availability{grid-column:2}
 body.lp .ap-service-offerings li{padding-block:4px}
}
@media(max-width:600px){.ap-service-panel{padding-block:12px}.ap-service-offerings li{padding-block:7px}}

/* Continuous movement restricted to the service symbols. */
.ap-service-panel :is(.ap-service-glass,.lp-glass-icon){animation:service-icon-float 4s ease-in-out infinite;will-change:transform}
.ap-service-panel:nth-child(3n+2) :is(.ap-service-glass,.lp-glass-icon){animation-delay:-1.3s}
.ap-service-panel:nth-child(3n) :is(.ap-service-glass,.lp-glass-icon){animation-delay:-2.6s}
.ap-service-panel :is(.ap-service-glass,.lp-glass-icon)::before{animation:service-icon-glow 4s ease-in-out infinite}
@keyframes service-icon-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes service-icon-glow{0%,100%{opacity:.5}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.ap-service-panel :is(.ap-service-glass,.lp-glass-icon),.ap-service-panel :is(.ap-service-glass,.lp-glass-icon)::before{animation:none;will-change:auto}}

/* Internal service animations replace the whole-icon bounce. */
.ap-service-panel :is(.ap-service-glass,.lp-glass-icon){animation:none;will-change:auto}
.service-data-flow{stroke-dasharray:6 94;animation:service-flow-travel 4s linear infinite;filter:brightness(1.2)}
.service-water-flow{animation:service-water-ripple 3s ease-in-out infinite;transform-origin:12px 16px}
.service-leaf-sway{transform-origin:12px 20px;animation:service-leaf-breathe 4s ease-in-out infinite}
.service-pump-spin{transform-box:fill-box;transform-origin:center;animation:service-pump-turn 3s linear infinite}
.service-radio-pulse{animation:service-radio-send 2.6s ease-in-out infinite}
.service-radio-outer{animation-delay:.6s}
.service-cloud-data{animation:service-cloud-transfer 3s ease-in-out infinite}
@keyframes service-flow-travel{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@keyframes service-water-ripple{0%,100%{opacity:.25;transform:scaleX(.7)}50%{opacity:1;transform:scaleX(1)}}
@keyframes service-leaf-breathe{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}
@keyframes service-pump-turn{to{transform:rotate(360deg)}}
@keyframes service-radio-send{0%,100%{opacity:.15}45%{opacity:1;filter:brightness(1.3)}}
@keyframes service-cloud-transfer{0%{opacity:0;transform:translateY(2px)}30%,70%{opacity:1}100%{opacity:0;transform:translateY(-2px)}}
@media(prefers-reduced-motion:reduce){.service-inner-motion *,.service-data-flow{animation:none!important}}

.service-cloud-data{animation:none}
.service-cloud-upload{animation:service-cloud-transfer 3s ease-in-out infinite}
.service-cloud-download{animation:service-cloud-receive 3s ease-in-out infinite}
@keyframes service-cloud-receive{0%{opacity:0;transform:translateY(-2px)}30%,70%{opacity:1}100%{opacity:0;transform:translateY(2px)}}

/* Radio waves radiate outward from the field sensor. */
.service-radio-pulse{transform-origin:12px 12px;animation:service-radio-radiate 3s ease-out infinite}
.service-radio-outer{animation-delay:1.1s}
@keyframes service-radio-radiate{0%{transform:scale(.65);opacity:0}18%{opacity:1}100%{transform:scale(1.12);opacity:0}}

/* A seedling grows from its base, opens its leaves, then restarts softly. */
.service-plant-growth{animation:plant-cycle 5.5s ease-in-out infinite}
.service-growing-stem{stroke-dasharray:1;animation:plant-stem-grow 5.5s ease-out infinite}
.service-growing-leaf-left{transform-origin:12px 14px;animation:plant-leaf-left 5.5s ease-out infinite}
.service-growing-leaf-right{transform-origin:12px 10px;animation:plant-leaf-right 5.5s ease-out infinite}
@keyframes plant-cycle{0%{opacity:0}8%,84%{opacity:1}96%,100%{opacity:0}}
@keyframes plant-stem-grow{0%,5%{stroke-dashoffset:1}46%,100%{stroke-dashoffset:0}}
@keyframes plant-leaf-left{0%,20%{transform:scale(.05) rotate(28deg);opacity:0}48%,100%{transform:scale(1) rotate(0);opacity:1}}
@keyframes plant-leaf-right{0%,33%{transform:scale(.05) rotate(-28deg);opacity:0}62%,100%{transform:scale(1) rotate(0);opacity:1}}

/* Consistent gold and screen-space stroke weight throughout the radio symbol. */
.ap-radio-service svg path{stroke:#e6ad48;stroke-width:3.125px;filter:none}

/* Keep the trunk rooted; unfurl the two leaves sequentially. */
.service-plant-growth{animation:none}
.service-growing-leaf-left{animation:plant-first-leaf 3s ease-in-out infinite}
.service-growing-leaf-right{animation:plant-second-leaf 3s ease-in-out infinite}
@keyframes plant-first-leaf{0%,5%{transform:scale(.03) rotate(25deg);opacity:0}30%,82%{transform:scale(1) rotate(0);opacity:1}96%,100%{transform:scale(.03) rotate(25deg);opacity:0}}
@keyframes plant-second-leaf{0%,32%{transform:scale(.03) rotate(-25deg);opacity:0}60%,82%{transform:scale(1) rotate(0);opacity:1}96%,100%{transform:scale(.03) rotate(-25deg);opacity:0}}

/* Shared section headings stay within their section on every division page. */
body.lp .lp-section>.lp-section-label{position:sticky;top:112px;align-self:start;height:fit-content;z-index:5}
@media(max-width:900px){body.lp .lp-section>.lp-section-label{top:100px;background:transparent;padding-block:6px}}

/* Local flag artwork for bilingual navigation, with accessible button labels. */
html body :is(#language,#lp-language){display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;direction:ltr}
html body :is(#language,#lp-language) .language-flag{display:inline-flex;align-items:center;line-height:1}
html body :is(#language,#lp-language) .language-flag img{width:28px;height:20px;object-fit:cover;border-radius:3px;box-shadow:0 0 0 1px #163d3d26}
html body :is(#language,#lp-language) .divider{display:block;width:1px;height:16px;background:currentColor;opacity:.25}
html[lang=en] body :is(#language,#lp-language) [lang=en],html[lang=ar] body :is(#language,#lp-language) [lang=ar]{opacity:1}
html[lang=en] body :is(#language,#lp-language) [lang=ar],html[lang=ar] body :is(#language,#lp-language) [lang=en]{opacity:.55}

/* Moon-to-sun transition follows the existing persisted theme state. */
.theme-morph{overflow:visible;transform:rotate(-12deg);transition:transform .55s ease}
.theme-cutout{transform:translate(0,0);transition:transform .5s ease}
.theme-disc{transform-origin:12px 12px;transition:transform .5s ease}
.theme-rays{transform-origin:12px 12px;transform:rotate(-45deg) scale(.6);opacity:0;transition:transform .55s ease,opacity .3s ease}
html[data-theme=dark] .theme-morph{transform:rotate(0)}
html[data-theme=dark] .theme-cutout{transform:translate(12px,-12px)}
html[data-theme=dark] .theme-disc{transform:scale(.65)}
html[data-theme=dark] .theme-rays{transform:rotate(0) scale(1);opacity:1;transition-delay:.1s}
@media(prefers-reduced-motion:reduce){.theme-morph,.theme-cutout,.theme-disc,.theme-rays{transition:none!important}}

/* Arabic section numbers retain the brand script after digit normalization. */
html[lang=ar] body .lp-section-label>span,
html[lang=ar] body .lp-section-label>span .western-digits{font-family:'Brittany Signature',cursive!important;font-weight:400;font-style:normal;letter-spacing:0}

/* Double Arabic main-section titles independently of numbering and English. */
html[lang=ar] body.lp .lp-section-label p{font-size:120px;line-height:1.2;overflow-wrap:anywhere}

/* Transparent icon interiors; preserve original gradient strokes, glow and motion. */
html[lang] body :is(.ap-feature-icon,.ap-service-glass,.lp-glass-icon){background:transparent!important}
html[lang] body :is(.ap-feature-icon,.ap-service-glass,.lp-glass-icon) svg :is(path,circle,ellipse,rect,polygon,polyline){fill:none!important}

/* One consistent Arabic typeface for card titles across all pages. */
html[lang=ar] body :is(.ap-feature-title,.lp-service summary h3,.ap-service-panel-heading h3,.lp-capability h3,.lp-project h3,.cert-card h3){font-family:'Air Strip Arabic',Tahoma,sans-serif!important;font-weight:400;letter-spacing:0}

/* Consistent Arabic technology heading typeface across pages. */
html[lang=ar] body .ap-feature-group>h3{font-family:'Air Strip Arabic',Tahoma,sans-serif!important;font-weight:400;letter-spacing:0}

/* English terms within Arabic card titles use the same Air Strip typeface. */
html[lang=ar] body :is(.ap-feature-title,.ap-service-panel-heading) :is(.ap-latin-card-word,.ap-protocol-word,.ap-metrix-wordmark),
html[lang=ar] body :is(.ap-feature-title,.ap-service-panel-heading) :is(.ap-latin-card-word,.ap-protocol-word,.ap-metrix-wordmark) *{font-family:'Air Strip Arabic',Tahoma,sans-serif!important}

/* A visible range separator where the display font lacks the dash glyph. */
html[lang=ar] body .ap-feature-title .ap-latin-card-word .ap-range-hyphen{font-family:Arial,sans-serif!important;display:inline;letter-spacing:0}

/* Mobile and tablet section headings scroll naturally with their content. */
@media(max-width:1024px), (hover:none) and (pointer:coarse){
 body.lp .lp-section>.lp-section-label,body .lp-section-heading{position:static;top:auto;z-index:auto}
}

/* Mobile section titles blend into the page background. */
@media(max-width:600px){body.lp .lp-section>.lp-section-label{background:transparent}}

/* Arabic header navigation reduced by 20%, independently of English. */
html[lang=ar] body .lp-header .lp-nav,
html[lang=ar] body .lp-header .lp-nav a{font-size:17.6px}

/* Pointer clicks do not leave focus frames; keyboard focus remains visible. */
html[data-input-mode=pointer] body :is(a,button,summary):focus{outline:none!important}

/* Slightly more breathing room between Arabic header tabs. */
html[lang=ar] body .lp-header .lp-nav{gap:20px}

/* Center the shared certificate actions beneath the full certificate grid. */
.cert-actions-shared{grid-column:1/-1;display:flex;justify-content:center;gap:12px 32px;flex-wrap:wrap;margin-top:12px;width:100%}

/* Keep every header control inside the glass frame on narrow phones. */
@media(max-width:480px){
 html[lang] body.lp header.lp-header{height:auto;min-height:72px;display:grid;grid-template-columns:80px minmax(0,1fr);padding:8px 12px;gap:8px}
 html[lang] body.lp header.lp-header .lp-logo{width:80px}
 html[lang] body.lp header.lp-header .lp-controls{min-width:0;flex-shrink:1;flex-wrap:wrap;justify-content:flex-end;gap:4px 6px}
 html[lang] body.lp header.lp-header .lp-controls button{flex-shrink:0}
}

/* Readable Arabic hero tagline, sized independently of English. */
html[lang=ar] body .lp-hero-bottom{font-family:'Air Strip Arabic',Tahoma,sans-serif;font-size:18px;line-height:1.6;letter-spacing:0}
@media(max-width:800px){html[lang=ar] body .lp-hero-bottom{font-size:16px}}
/* Keep taglines clear of the circular scroll indicator. */
html[lang] body .lp-hero-bottom>span:first-child{max-width:calc(100% - 130px)}
@media(max-width:800px){html[lang] body .lp-hero-bottom>span:first-child{max-width:calc(100% - 100px)}}

/* Keep bilingual counters in numerical reading order. */
#lp-scene-number,.lp-viewer-count{display:inline-block;direction:ltr;unicode-bidi:isolate}
.enquiry-honeypot{position:absolute!important;inset-inline-start:0!important;top:0!important;width:1px!important;height:1px!important;clip-path:inset(50%)!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.lp-submit:disabled{opacity:.65;cursor:wait}
.lp-nav{max-height:calc(100dvh - 140px);overflow-y:auto}






/* English words within Arabic pages retain the requested Air Strip typeface. */
html[lang=ar] body :is([lang=en],.ap-latin-card-word,.ap-protocol-word,.ap-metrix-wordmark,.ap-ip-rating),
html[lang=ar] body :is([lang=en],.ap-latin-card-word,.ap-protocol-word,.ap-metrix-wordmark,.ap-ip-rating) *{font-family:'Air Strip Arabic',Tahoma,sans-serif!important}
html[lang=ar] body :is(.ap-rcbo,.ap-ip-rating){text-transform:uppercase}

html[lang=ar] body.lp.ap :is(.ap-metrix,.ap-metrix-wordmark),html[lang=ar] body.lp.ap :is(.ap-metrix,.ap-metrix-wordmark) *{font-family:'Air Strip Arabic',Tahoma,sans-serif!important}

html[lang=ar] body #demo .ap-metrix-wordmark,html[lang=ar] body #demo .ap-metrix-wordmark .western-digits{font-family:'Air Strip Arabic',Tahoma,sans-serif!important}

/* Lighter glass lets the scene remain visible through division headers. */
html[lang] body header.header,html[lang] body.lp header.lp-header,html[lang][data-theme=dark] body header.header,html[lang][data-theme=dark] body.lp header.lp-header{background:rgba(255,255,255,.12);backdrop-filter:blur(6px) saturate(120%);-webkit-backdrop-filter:blur(6px) saturate(120%)}
