.lp{--lp-ink:#245e9d;--lp-muted:#506b83;--lp-bg:#fff;--lp-soft:#eef5fb;--lp-line:#d4e2ef;background:var(--lp-bg);color:var(--lp-ink);line-height:1.65}.lp h1,.lp h2,.lp h3,.lp p{margin-top:0}.lp h2{font-size:clamp(30px,3.8vw,55px);line-height:1.16;font-weight:400;letter-spacing:-.035em}.lp a:focus-visible,.lp button:focus-visible,.lp summary:focus-visible{outline:2px solid #269ccb;outline-offset:5px}.lp-header{height:104px;position:fixed;inset:0 0 auto;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:12px 4%;background:#ffffffed;backdrop-filter:blur(16px);border-bottom:1px solid #245e9d14}.lp-logo{width:143px;flex-shrink:0}.lp-nav,.lp-controls{display:flex;align-items:center;gap:25px}.lp-nav{font-size:13px}.lp-nav a:hover,.lp-text-link:hover{color:#268bbb}.lp-controls{gap:15px;font-size:12px}.lp-controls button{min-height:44px;min-width:35px}.lp-group{white-space:nowrap}#lp-menu{display:none}.lp-hero{height:100svh;min-height:650px}.lp-hero.has-film{height:1000svh}.lp-screen{height:100svh;min-height:650px;position:sticky;top:0;overflow:hidden;background:#12385b;color:white}.lp-hero-poster,.lp-film,.lp-hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.lp-film{opacity:0}.lp-hero-shade{background:linear-gradient(#082c3433,#062f2330 45%,#031c28a8);pointer-events:none}.lp-hero-caption{position:absolute;inset:25% 6% auto;text-align:center}.lp-eyebrow{font-size:11px;letter-spacing:.2em;font-weight:700}.lp-hero h1{margin:0}.lp-grow{display:block;font-family:'Brittany Signature',cursive;font-size:clamp(85px,10vw,150px);font-weight:400;line-height:1.65}.lp-flow{display:block;font-family:'A Area Stencil',sans-serif;font-weight:400;font-size:clamp(30px,5vw,72px);line-height:1.2}.lp-hero-sub{font-size:14px;margin-top:28px!important}.lp-hero-bottom{position:absolute;inset:auto 5% 32px;display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.15em}.lp-film-caption{position:absolute;inset:auto 7% 15%;max-width:800px;text-shadow:0 2px 20px #0008}.lp-film-caption span{font-size:12px;letter-spacing:.15em}.lp-film-caption h2{margin:15px 0 0;font-size:clamp(32px,5vw,70px)}.lp-film-progress{position:absolute;inset:auto 0 0;height:3px;background:#ffffff30}.lp-film-progress i{display:block;height:100%;width:0;background:#83ed60}.lp-section{display:grid;grid-template-columns:150px minmax(0,1fr);gap:60px;padding:105px 6%;scroll-margin-top:103px}.lp-section-label{font-size:12px;display:flex;gap:18px;align-items:baseline}.lp-section-label>span{color:#2783bd;font-size:10px}.lp-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:45px;margin-bottom:50px}.lp-section-heading h2{margin-bottom:0;max-width:620px}.lp-section-heading>p{max-width:260px;font-size:13px;color:var(--lp-muted);margin:0}.lp-intro{font-size:19px;color:var(--lp-muted);max-width:950px;line-height:1.9}.lp-about-bottom{border-top:1px solid var(--lp-line);padding-top:30px;display:flex;align-items:center;gap:45px;margin-top:45px}.lp-experience strong{font-size:65px;font-weight:400;line-height:1}.lp-experience strong span{color:#56a762;font-size:35px}.lp-experience p{font-size:11px;margin-bottom:0}.lp-audience{max-width:240px;font-size:13px;color:var(--lp-muted);margin:0}.lp-text-link{font-size:12px;border-bottom:1px solid currentColor;padding-bottom:5px;display:inline-block}.lp-about-bottom .lp-text-link{margin-inline-start:auto}.lp-capabilities,.lp-projects{background:var(--lp-soft)}.lp-capability-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 32px}.lp-capability{border-top:1px solid var(--lp-line);padding-top:20px}.lp-capability>span{color:#64a45f;font-size:12px}.lp-capability h3{font-size:20px;font-weight:400;margin:25px 0 12px}.lp-capability p{font-size:13px;color:var(--lp-muted);margin:0}.lp-service{border-top:1px solid var(--lp-line)}.lp-service:last-child{border-bottom:1px solid var(--lp-line)}.lp-service summary{list-style:none;display:flex;align-items:center;gap:24px;padding:26px 0;cursor:pointer}.lp-service summary::-webkit-details-marker{display:none}.lp-service summary>span{font-size:10px;color:#2783bd;width:25px}.lp-service summary h3{font-size:clamp(18px,2vw,27px);font-weight:400;margin:0}.lp-service summary::after{content:'+';margin-inline-start:auto;font-size:25px;font-weight:300}.lp-service[open] summary::after{content:'−'}.lp-service[open] summary h3{color:#2783bd}.lp-service-body{padding:0 0 35px 49px;display:grid;grid-template-columns:1.5fr 1fr;gap:35px}.lp-service-body p{font-size:14px;color:var(--lp-muted);margin:0}.lp-service-body ul{margin:0;padding-inline-start:18px;font-size:13px}.lp-service-body li{padding:3px 0}.lp-software{grid-column:1/-1;border-top:1px solid var(--lp-line);padding-top:20px;display:flex;flex-wrap:wrap;gap:25px;font-size:12px}.lp-project-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.lp-project-art{height:260px;background:linear-gradient(135deg,#dce8d9,#b5ccba);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;color:#3e6c55}.lp-project-art:before,.lp-project-art:after{content:'';position:absolute;width:230px;height:230px;border:1px solid #ffffff70;border-radius:50%;transform:translate(80px,80px)}.lp-project-art:after{width:330px;height:330px}.lp-project-art>span{font-size:60px;font-weight:300;opacity:.5}.lp-project h3{font-size:16px;font-weight:400;margin:18px 0 3px}.lp-project p{font-size:11px;color:var(--lp-muted);margin:0}.lp-contact{padding:105px 6%;display:grid;grid-template-columns:1fr 1.15fr;gap:8%;background:#245e9d;color:white;scroll-margin-top:103px}.lp-contact-intro{padding-top:30px}.lp-contact-intro h2{font-size:clamp(38px,4.5vw,66px);margin:35px 0}.lp-contact-intro>p:not(.lp-eyebrow){color:#c1d5d0;font-size:15px}.lp-contact-email{display:inline-block;margin:25px 0;border-bottom:1px solid #ffffff60;font-size:clamp(14px,1.7vw,23px)}.lp-contact-note{max-width:340px}.lp-form{background:var(--lp-bg);color:var(--lp-ink);padding:40px}.lp-form h3{font-size:26px;font-weight:400;margin-bottom:5px}.lp-form-required,.lp-delivery-note,#form-status{font-size:12px;color:var(--lp-muted)}.lp-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:30px 0 20px}.lp-field label{display:block;font-size:12px;margin-bottom:7px}.lp-field input,.lp-field textarea{display:block;width:100%;font:inherit;font-size:14px;border:1px solid var(--lp-line);border-radius:0;background:var(--lp-soft);color:var(--lp-ink);padding:12px;resize:vertical}.lp-field input:focus,.lp-field textarea:focus{outline:2px solid #69aa68;outline-offset:2px}.lp-wide{grid-column:1/-1}.lp-submit{width:100%;display:flex;justify-content:space-between;padding:16px 22px;background:linear-gradient(110deg,#7dee57,#28724e);color:#082f30;font-size:14px;font-weight:700}.lp-submit:hover{filter:brightness(1.07)}#form-status{margin:15px 0 0}.lp-footer{padding:55px 6% 22px;background:var(--lp-bg)}.lp-footer-top{display:flex;align-items:center;gap:60px;padding-bottom:45px}.lp-footer-brand{width:180px;flex-shrink:0}.lp-footer-top>p{font-size:18px;line-height:1.4;margin:0}.lp-footer-top>.lp-text-link{margin-inline-start:auto}.lp-footer-links{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;border-block:1px solid var(--lp-line);padding:35px 0}.lp-footer-links a{display:flex;gap:12px;align-items:flex-start}.lp-footer-links svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.4;flex-shrink:0}.lp-footer-links small{display:block;font-size:10px;opacity:.7;margin-bottom:7px}.lp-footer-links b{display:block;font-size:11px;font-weight:400;overflow-wrap:anywhere}.lp-footer-bottom{display:flex;justify-content:space-between;gap:20px;font-size:10px;padding-top:23px}html[data-theme=dark] .lp{--lp-ink:#e2ede5;--lp-muted:#b5c9bb;--lp-bg:#112c28;--lp-soft:#183730;--lp-line:#345348}html[data-theme=dark] .lp-header{background:#183730ed}html[data-theme=dark] .lp-footer-brand img{filter:none;background:transparent;border-radius:0;padding:0}html[data-theme=dark] .lp-hero-shade{background:linear-gradient(#082c3455,#062f2355 45%,#031c28c0)}html[lang=ar] .lp{font-family:Tahoma,Arial,sans-serif}html[lang=ar] .lp-grow{font-family:Shekari,cursive;font-size:clamp(100px,12vw,180px);line-height:1.25}html[lang=ar] .lp-flow{font-family:'Air Strip Arabic',sans-serif}html[lang=ar] .lp h2{letter-spacing:0;line-height:1.5}html[lang=ar] .lp-service-body{padding-inline:49px 0}
@media(max-width:1150px){.lp-nav{gap:15px}.lp-controls{gap:8px}.lp-section{grid-template-columns:120px minmax(0,1fr);gap:30px}.lp-section-heading{display:block}.lp-section-heading>p{max-width:500px;margin-top:20px}.lp-footer-links{grid-template-columns:1fr 1fr}.lp-about-bottom{flex-wrap:wrap}.lp-about-bottom .lp-text-link{margin-inline-start:0}.lp-contact{gap:5%}.lp-form{padding:28px}}
@media(max-width:800px){.lp-header{height:84px}.lp-logo{width:115px}#lp-menu{display:block}.lp-nav{display:none;position:absolute;top:84px;inset-inline:0;background:var(--lp-bg);padding:25px 6%;box-shadow:0 15px 20px #0001;flex-direction:column;align-items:flex-start;font-size:16px}.lp-nav.is-open{display:flex}.lp-section{display:block;padding:65px 6%;scroll-margin-top:83px}.lp-section-label{margin-bottom:25px}.lp-hero,.lp-screen{min-height:580px}.lp-hero-caption{inset:27% 5% auto}.lp-hero-sub{font-size:12px;max-width:280px;margin-inline:auto}.lp-hero-bottom{font-size:8px}.lp-hero-bottom>span:first-child{max-width:150px}.lp-capability-grid{grid-template-columns:1fr 1fr;gap:30px}.lp-intro{font-size:16px}.lp-about-bottom{gap:25px}.lp-service-body{padding:0 0 25px;grid-template-columns:1fr;gap:20px}html[lang=ar] .lp-service-body{padding-inline:0}.lp-service summary{gap:12px}.lp-contact{grid-template-columns:1fr;padding:65px 6%;gap:30px;scroll-margin-top:83px}.lp-contact-intro{padding:0}.lp-contact-intro h2{margin:25px 0}.lp-project-art{height:180px}.lp-footer-top{flex-wrap:wrap;gap:25px}.lp-footer-top>.lp-text-link{margin-inline-start:0}.lp-footer-brand{width:140px}.lp-footer-top>p{font-size:15px}.lp-footer-bottom{flex-direction:column;gap:10px}.lp-film-caption{bottom:19%}}
@media(max-width:420px){.lp-group{display:none}.lp-capability-grid,.lp-project-grid,.lp-fields,.lp-footer-links{grid-template-columns:1fr}.lp-project-art{height:220px}.lp-form{padding:22px}.lp-flow{font-size:30px}.lp-grow{font-size:88px}.lp-eyebrow{font-size:9px}.lp-service summary h3{font-size:17px}.lp-footer-links{gap:25px}.lp-about-bottom{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.lp-hero.has-film{height:100svh}.lp-film{display:none!important}}

/* Overlay the film while the hero remains beneath the fixed header. */
.lp-header.is-over-hero,html[data-theme=dark] .lp-header.is-over-hero{background:transparent;backdrop-filter:none;border-bottom-color:transparent;color:#fff}
.lp-header.is-over-hero .lp-nav,.lp-header.is-over-hero .lp-controls{text-shadow:0 1px 5px #0008}
.lp-header.is-over-hero .lp-nav a:hover{color:#b7f29e}
.lp-logo img,html[data-theme=dark] .lp-logo img{background:transparent;padding:0;border-radius:0;filter:none}
@media(max-width:800px){.lp-header.is-over-hero .lp-nav{color:var(--lp-ink);text-shadow:none}.lp-header.is-over-hero .lp-nav a:hover{color:#2783bd}}
/* Arabic typography for the Landscaping page. */
html[lang=ar] .lp{font-family:'Air Strip Arabic',Tahoma,Arial,sans-serif;letter-spacing:0}
html[lang=ar] .lp :is(h1,h2,h3,h4,h5,h6),
html[lang=ar] .lp .lp-grow,
html[lang=ar] .lp .lp-flow,
html[lang=ar] .lp .lp-section-label p{font-family:'Shekari',Tahoma,serif;font-weight:400;letter-spacing:0}
html[lang=ar] .lp :is(button,input,textarea,select){font-family:'Air Strip Arabic',Tahoma,Arial,sans-serif}
html[lang=ar] .lp :is(.lp-eyebrow,.lp-hero-bottom,.lp-film-caption span){letter-spacing:0}
/* Larger heading scale across the Landscaping page. */
.lp h2{font-size:clamp(36px,4.6vw,66px)}
.lp-grow{font-size:clamp(102px,12vw,180px)}
.lp-flow{font-size:clamp(36px,6vw,86px)}
.lp-film-caption h2{font-size:clamp(38px,6vw,84px)}
.lp-capability h3{font-size:24px}
.lp-service summary h3{font-size:clamp(22px,2.4vw,33px)}
.lp-project h3{font-size:20px}
.lp-contact-intro h2{font-size:clamp(46px,5.4vw,79px)}
.lp-form h3{font-size:31px}
.lp-section-label p{font-size:15px}
html[lang=ar] .lp-grow{font-size:clamp(120px,14.4vw,216px)}
@media(max-width:420px){.lp-grow{font-size:106px}.lp-flow{font-size:36px}.lp-service summary h3{font-size:22px}.lp-form h3{font-size:28px}}
/* Double the small numbered section headings. */
.lp-section-label p{font-size:30px}
.lp-section-label>span{font-size:20px}
/* Tighten the gap between the two Arabic hero lines. */
html[lang=ar] .lp-hero .lp-grow{line-height:.85}
/* Double Arabic capability card text sizes. */
html[lang=ar] .lp-capability h3{font-size:30.8px}
html[lang=ar] .lp-capability p{font-size:23px}
html[lang=ar] .lp-capability>span{font-size:22px}
@media(min-width:801px) and (max-width:1150px){html[lang=ar] .lp-capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){html[lang=ar] .lp-capability-grid{grid-template-columns:minmax(0,1fr)}}
/* Match the Arabic capabilities introduction to its card descriptions. */
html[lang=ar] .lp-section-heading>[data-t="capIntro"]{font-size:26px;max-width:440px}
@media(max-width:1150px){html[lang=ar] .lp-section-heading>[data-t="capIntro"]{max-width:100%}}
/* Match the Arabic projects introduction to the capabilities introduction. */
html[lang=ar] .lp-section-heading>[data-t="projectIntro"]{font-size:26px;max-width:440px}
@media(max-width:1150px){html[lang=ar] .lp-section-heading>[data-t="projectIntro"]{max-width:100%}}
/* Match the Arabic consultation link to the enlarged supporting text. */
html[lang=ar] .lp-text-link[data-t="consultation"]{font-size:26px}
/* Match Arabic header navigation to the enlarged Arabic text. */
html[lang=ar] .lp-nav{font-size:26px}
@media(min-width:801px) and (max-width:1150px){html[lang=ar] .lp-header{gap:12px;padding-inline:3%}html[lang=ar] .lp-nav{gap:12px}html[lang=ar] .lp-group{display:none}}

/* Arabic second hero line uses the requested display font. */
html[lang=ar] .lp-hero .lp-flow{font-family:'Air Strip Arabic',Tahoma,Arial,sans-serif}
/* Balance Arabic header tabs and text controls at the same size. */
html[lang=ar] .lp-nav{font-size:22px}
html[lang=ar] .lp-controls{font-size:22px}
/* Enlarge all numbered section headings to twice their previous size. */
.lp-section-label p{font-size:60px}
.lp-section-label>span{font-size:40px}
.lp-section-label{min-width:0;flex-wrap:wrap;gap:8px 18px}
.lp-section-label p{overflow-wrap:anywhere}
/* Consistent Arabic section introduction size. */
html[lang=ar] .lp-section-heading>p{font-size:26px;max-width:440px}
@media(max-width:1150px){html[lang=ar] .lp-section-heading>p{max-width:100%}}
/* Match the Arabic About Us audience paragraph to supporting text. */
html[lang=ar] .lp-audience{font-size:26px;max-width:440px}
/* Slightly smaller Arabic header utility text; center tabs remain unchanged. */
html[lang=ar] .lp-controls{font-size:19px}
/* Branded service-list markers, positioned for both writing directions. */
.lp-service-body ul{list-style:none;padding-inline-start:0}
.lp-service-body li{position:relative;padding-inline-start:26px}
.lp-service-body li::before{content:'';position:absolute;inset-inline-start:0;top:.42em;width:17px;height:17px;background:url('/assets/landscaping-tab-icon.png') center/contain no-repeat}
html[data-theme=dark] .lp-service-body li::before{filter:brightness(0) invert(1)}
/* Align the hero footer text with the service caption edges. */
.lp-hero-bottom{inset-inline:7%}

/* Twelve scene indicators track the displayed film frame. */
.lp-scene-dots{position:absolute;left:20px;top:50%;transform:translateY(-50%);z-index:2;margin:0;padding:15px 10px;list-style:none;display:flex;flex-direction:column;align-items:center;gap:13px;border:1px solid #ffffff25;border-radius:24px;background:#052c294d;pointer-events:none}
.lp-scene-dots[hidden]{display:none}
.lp-scene-dots li{width:7px;height:7px;flex-shrink:0;border:1px solid #fff9;border-radius:50%;background:#ffffff30;transition:background .15s,box-shadow .15s}
.lp-scene-dots li.is-complete{background:#ffffffa6}
.lp-scene-dots li.is-active{background:#fff;border-color:#fff;box-shadow:0 0 0 4px #ffffff30}
.lp-dot-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:800px){.lp-scene-dots{left:8px;padding:12px 8px;gap:11px}.lp-film-caption{left:48px}}
@media(prefers-reduced-motion:reduce){.lp-scene-dots{display:none}.lp-scene-dots li{transition:none}}
/* Give the numbered section titles room without splitting words. */
@media(min-width:1001px){.lp-section{grid-template-columns:clamp(320px,26vw,390px) minmax(0,1fr);gap:40px}}
.lp-section-label{align-content:start;align-items:baseline}
.lp-section-label p{overflow-wrap:normal;word-break:normal}
@media(min-width:801px) and (max-width:1000px){.lp-section{display:block}.lp-section-label{margin-bottom:30px}}

/* Scroll-driven circular cue; the center arrow stays stationary. */
.lp-hero-bottom{align-items:flex-end}
.lp-scroll-orbit{position:relative;width:112px;height:112px;flex-shrink:0;color:#fff;letter-spacing:0}
.lp-scroll-ring{display:block;width:100%;height:100%;transform-origin:50% 50%;will-change:transform;overflow:visible}
.lp-scroll-ring text{fill:currentColor;font:10px Arial,sans-serif;letter-spacing:1.2px}
.lp-scroll-arrow{position:absolute;width:22px;height:30px;left:50%;top:50%;transform:translate(-50%,-50%)}
html[lang=ar] .lp-scroll-ring text{font-family:'Air Strip Arabic',Tahoma,sans-serif;font-size:11px;letter-spacing:0;direction:rtl}
@media(max-width:800px){.lp-scroll-orbit{width:88px;height:88px}.lp-scroll-arrow{width:18px;height:25px}}
@media(prefers-reduced-motion:reduce){.lp-scroll-ring{will-change:auto}}
/* Align the visible lettering of the circular cue with the left tagline. */
.lp-scroll-orbit{margin-bottom:-3px}
@media(max-width:800px){.lp-scroll-orbit{margin-bottom:-2px}}

/* Equal bottom/right inset for the rotating scroll cue. */
.lp-screen>.lp-scroll-orbit{position:absolute;right:48px;bottom:48px;left:auto;top:auto;margin:0}
@media(max-width:800px){.lp-screen>.lp-scroll-orbit{right:32px;bottom:32px}}
/* Mirror only the scene progress panel for Arabic. */
html[lang=ar] .lp-scene-dots{left:auto;right:20px}
@media(max-width:800px){html[lang=ar] .lp-scene-dots{right:8px}html[lang=ar] .lp-film-caption{left:7%;right:48px}}

/* English film service titles use A Area Stencil. */
html[lang=en] .lp-film-caption h2{font-family:'Brittany Signature',cursive;font-weight:400;letter-spacing:0;overflow-wrap:break-word;text-transform:none;line-height:1.5}
/* Responsive film caption size. */
html[lang=en] .lp-film-caption h2{font-size:clamp(34px,5.4vw,76px)}
/* Use the available hero width for English service captions. */
html[lang=en] .lp-film-caption{max-width:none}

@font-face{font-family:'Ara Etab AlMonie ee';src:url('/assets/fonts/ara-etab-almonie-ee.otf') format('opentype');font-style:normal;font-weight:400 700;font-display:swap}
.lp .lp-header .lp-nav,.lp .lp-header .lp-controls,.lp .lp-header .lp-controls button{font-family:'Ara Etab AlMonie ee',Arial,sans-serif}
html[lang=en] #lp-scene-title{white-space:pre-line}

/* English numbered section labels use the Brittany brand script. */
html[lang=en] .lp-section-label p{font-family:'Brittany Signature',cursive;font-weight:400;line-height:1.55;letter-spacing:0}
/* Arabic header typography; English retains its current font. */
html[lang=ar] .lp .lp-header .lp-nav,
html[lang=ar] .lp .lp-header .lp-controls,
html[lang=ar] .lp .lp-header .lp-controls button{font-family:'Air Strip Arabic',Tahoma,Arial,sans-serif}
/* Larger English header typography only. */
html[lang=en] .lp-nav{font-size:30px}
html[lang=en] .lp-controls{font-size:19px}
@media(min-width:801px) and (max-width:1250px){
 html[lang=en] #lp-menu{display:block}
 html[lang=en] .lp-nav{display:none;position:absolute;top:104px;inset-inline:0;background:var(--lp-bg);color:var(--lp-ink);text-shadow:none;padding:25px 6%;box-shadow:0 15px 20px #0001;flex-direction:column;align-items:flex-start}
 html[lang=en] .lp-nav.is-open{display:flex}
 html[lang=en] .lp-header.is-over-hero .lp-nav{color:var(--lp-ink);text-shadow:none}
}
@media(max-width:800px){html[lang=en] .lp-nav{font-size:37px}}
/* Balance the English Services heading and its introduction. */
html[lang=en] .lp-services .lp-section-heading{display:flex;align-items:flex-end;gap:28px}
html[lang=en] .lp-services .lp-section-heading h2{flex:1;min-width:0;max-width:none;font-size:clamp(24px,3vw,48px);margin-bottom:0}
html[lang=en] .lp-services .lp-section-heading>p{flex:0 0 25%;max-width:240px;margin:0;align-self:flex-end}
@media(max-width:800px){html[lang=en] .lp-services .lp-section-heading{display:block}html[lang=en] .lp-services .lp-section-heading>p{max-width:100%;margin-top:20px}}

/* Supplied design software logos retain left-to-right order in both languages. */
.lp-software{direction:ltr;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:24px;padding:24px;background:#fff;border-radius:8px}
.lp-software img{display:block;width:80%;height:46px;object-fit:contain;justify-self:center}
@media(max-width:800px){.lp-software{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:20px}.lp-software img{height:38px}}
@media(max-width:420px){.lp-software{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Larger service numbering for the English view. */
html[lang=en] .lp-service summary>span{font-size:20px;min-width:28px;flex-shrink:0}

/* Justify service descriptions while keeping the final line naturally aligned. */
.lp-service-body>p{text-align:justify;text-align-last:start}

/* Slightly larger Arabic service typography, independent of English. */
html[lang=ar] .lp-service summary h3{font-size:clamp(25px,2.7vw,37px)}
html[lang=ar] .lp-service summary>span{font-size:24px;min-width:32px;flex-shrink:0}
html[lang=ar] .lp-service-body p{font-size:16px}
html[lang=ar] .lp-service-body ul{font-size:15px}
@media(max-width:420px){html[lang=ar] .lp-service summary h3{font-size:25px}}

/* Project photo gallery; natural photography without visual filters. */
.lp-project-photo{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--lp-bg)}
.lp-project-photo img{width:100%;height:100%;object-fit:contain;display:block}
.lp-project-thumbs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin-top:10px;direction:ltr}
.lp-project-thumbs button{padding:0;border:2px solid transparent;background:none;cursor:pointer;border-radius:3px;overflow:hidden}
.lp-project-thumbs button[aria-pressed=true]{border-color:#2783bd}
.lp-project-thumbs img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}

.lp-project-photo{width:100%;padding:0;border:0;cursor:zoom-in}
.lp-image-viewer{width:min(1200px,94vw);max-width:94vw;max-height:94dvh;padding:16px;border:0;border-radius:10px;background:#102c48;color:white;overflow:auto;direction:ltr}
.lp-image-viewer::backdrop{background:rgb(0 0 0 / .85)}
.lp-viewer-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.lp-viewer-bar button,.lp-viewer-stage button{border:1px solid #ffffff50;border-radius:50%;background:#ffffff15;color:#fff;width:44px;height:44px;cursor:pointer;flex-shrink:0;font:32px/1 Arial,sans-serif}
.lp-viewer-stage{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:12px}
.lp-viewer-stage img{display:block;width:100%;height:min(68dvh,760px);object-fit:contain;touch-action:pan-y pinch-zoom}
.lp-viewer-footer{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:14px}
.lp-viewer-footer input{width:min(400px,65%);accent-color:#8acb86}
.lp-viewer-count{min-width:50px;font:14px Arial,sans-serif}
@media(max-width:600px){.lp-image-viewer{padding:10px}.lp-viewer-stage{gap:5px;grid-template-columns:36px minmax(0,1fr) 36px}.lp-viewer-stage button{width:36px;height:36px}.lp-viewer-stage img{height:60dvh}}

/* Roomier English contact details, sized separately from Arabic. */
html[lang=en] .lp-footer-links{display:flex;flex-wrap:wrap;justify-content:space-between;column-gap:36px;row-gap:28px;padding-block:40px}
html[lang=en] .lp-footer-links a{gap:14px}
html[lang=en] .lp-footer-links small{font-size:12px;margin-bottom:10px}
html[lang=en] .lp-footer-links b{font-size:14px;white-space:nowrap;overflow-wrap:normal}
@media(max-width:600px){html[lang=en] .lp-footer-links{flex-direction:column}html[lang=en] .lp-footer-links b{white-space:normal}}

/* English display numbering uses Brittany independently of Arabic. */
html[lang=en] :is(.lp-section-label>span,.lp-project-art>span,#lp-scene-number,.lp-viewer-count){font-family:'Brittany Signature',cursive;font-weight:400;letter-spacing:0}

/* Frameless project viewer with controls over the photograph. */
.lp-image-viewer{padding:0;border-radius:0;background:transparent;overflow:visible;width:fit-content;max-width:94vw;max-height:92dvh}
.lp-viewer-stage{display:block;position:relative}
.lp-viewer-stage img{width:auto;height:auto;max-width:94vw;max-height:88dvh;object-fit:contain}
.lp-viewer-bar{position:absolute;inset:0 0 auto;z-index:2;margin:0;padding:14px 18px;background:linear-gradient(#0009,transparent);text-shadow:0 1px 4px #000;pointer-events:none}
.lp-viewer-bar button{pointer-events:auto}
.lp-viewer-stage button{position:absolute;top:50%;transform:translateY(-50%);z-index:2;background:#0005;border-color:#ffffff80;text-shadow:0 1px 3px #000}
.lp-viewer-prev{left:14px}
.lp-viewer-next{right:14px}
.lp-viewer-footer{position:absolute;inset:auto 0 0;z-index:2;margin:0;padding:22px 16px 14px;background:linear-gradient(transparent,#0009);text-shadow:0 1px 4px #000}
@media(max-width:600px){.lp-image-viewer{padding:0}.lp-viewer-stage img{height:auto;max-height:88dvh}.lp-viewer-bar{padding:8px 10px}.lp-viewer-prev{left:8px}.lp-viewer-next{right:8px}.lp-viewer-footer{padding:16px 10px 8px}}

/* Let project previews fit each photograph without letterboxing. */
.lp-project-photo{aspect-ratio:auto;background:transparent}
.lp-project-photo img{width:100%;height:auto;display:block}

/* Consistent 16:9 project photos and slider, with proportional cropping. */
.lp-project-photo{aspect-ratio:16/9}
.lp-project-photo img{width:100%;height:100%;object-fit:cover}
.lp-project-thumbs img{aspect-ratio:16/9}
.lp-image-viewer{width:min(1200px,94vw,156.444dvh);max-width:94vw}
.lp-viewer-stage{width:100%;aspect-ratio:16/9}
.lp-viewer-stage img{width:100%;height:100%;max-width:none;max-height:none;aspect-ratio:16/9;object-fit:cover}

/* Mirror the Arabic scroll indicator to the bottom-left corner. */
html[lang=ar] .lp-screen>.lp-scroll-orbit{left:48px;right:auto}
@media(max-width:800px){html[lang=ar] .lp-screen>.lp-scroll-orbit{left:32px;right:auto}}

/* Double the Arabic hero scene heading size only. */
html[lang=ar] .lp-film-caption h2{font-size:clamp(76px,12vw,168px)}
html[lang=ar] .lp-film-caption{max-width:none}

/* Roomier Arabic contact details, independent of English sizing. */
html[lang=ar] .lp-footer-links{display:flex;flex-wrap:wrap;justify-content:space-between;column-gap:36px;row-gap:28px;padding-block:40px}
html[lang=ar] .lp-footer-links a{gap:14px}
html[lang=ar] .lp-footer-links small{font-size:13px;margin-bottom:10px}
html[lang=ar] .lp-footer-links b{font-size:16px;white-space:nowrap;overflow-wrap:normal}
@media(max-width:600px){html[lang=ar] .lp-footer-links{flex-direction:column}html[lang=ar] .lp-footer-links b{white-space:normal}}

/* Contact values align with the icon at the leading edge in each language. */
html[lang=en] .lp-footer-links a,html[lang=ar] .lp-footer-links a{display:grid;grid-template-columns:22px auto;column-gap:14px;row-gap:10px;align-items:start}
.lp-footer-links a>span{display:contents}
.lp-footer-links a>svg{grid-column:1;grid-row:1}
html[lang=en] .lp-footer-links small,html[lang=ar] .lp-footer-links small{grid-column:2;grid-row:1;margin-bottom:0}
.lp-footer-links b{grid-column:1/-1;grid-row:2;text-align:start}

/* English service numbers match their service heading typography. */
html[lang=en] .lp-service summary>span{font-family:inherit;font-weight:400}

html[lang=en] .lp-capability>span{font-family:inherit;font-weight:400}

/* Arabic capability and service numbering uses Brittany Signature. */
html[lang=ar] .lp-capability>span,html[lang=ar] .lp-service summary>span{font-family:'Brittany Signature',cursive;font-weight:400;letter-spacing:0}

/* Arabic main section numbering matches the other Brittany numbers. */
html[lang=ar] .lp-section-label>span{font-family:'Brittany Signature',cursive;font-weight:400;letter-spacing:0}

/* Automation identity: logo blue, cyan and light blue surfaces. */
.ap{--lp-ink:#245e9d;--lp-muted:#506b83;--lp-bg:#fff;--lp-soft:#eef5fb;--lp-line:#d4e2ef}
html[data-theme=dark] .ap{--lp-ink:#e7f3ff;--lp-muted:#afc7df;--lp-bg:#0a1d32;--lp-soft:#112b45;--lp-line:#284863}
.ap .lp-header.is-over-hero{background:#ffffffee;color:#245e9d;text-shadow:none}
.ap .lp-logo,.ap .lp-footer-brand{background:#fff;border-radius:4px;padding:4px}
.ap .lp-hero,.ap .lp-screen{min-height:650px;height:100svh}
.ap .lp-screen{background:linear-gradient(135deg,#133968,#245e9d 48%,#28a4c5)}
.ap-hero-network{position:absolute;inset:0;background:radial-gradient(circle at 75% 35%,#83ddf94d,transparent 45%),linear-gradient(#ffffff0c 1px,transparent 1px),linear-gradient(90deg,#ffffff0c 1px,transparent 1px);background-size:auto,80px 80px,80px 80px}
.ap .lp-hero-shade{background:linear-gradient(transparent,#071c3844)}
.ap .lp-hero-caption{inset:28% 6% auto}
.ap .lp-grow{line-height:1.5}
.ap .lp-section-label>span,.ap .lp-capability>span,.ap .lp-service summary>span,.ap .lp-service[open] summary h3{color:#2783bd}
.ap .lp-capabilities,.ap .ap-demo{background:var(--lp-soft)}
.ap .lp-contact{background:#153d67;color:white}
.ap .lp-service-body li::before{background:none;border:2px solid #2a9bc9;border-radius:50%;width:9px;height:9px;top:.65em}
.ap-demo-preview{margin:30px 0 24px}
.ap-demo-preview img{width:100%;height:auto;border-radius:8px;box-shadow:0 15px 40px #163d6322}
.ap-demo-actions{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap}
.ap-platform{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.ap-metrix{font-family:'A Area Stencil',sans-serif;font-size:clamp(26px,3vw,42px);font-weight:400;background:#245e9d;color:#fff;border-radius:4px;padding:18px 24px;opacity:1;cursor:default}
.ap-platform>span{color:var(--lp-muted)}
.ap .lp-form{color:var(--lp-ink)}
.ap .lp-submit{background:#245e9d;color:#fff}
html[lang=en] .ap .lp-nav{font-size:25px;gap:22px}
html[lang=ar] .ap .lp-nav{font-size:22px}
html[lang=en] .ap .lp-flow{font-size:clamp(28px,5vw,72px)}
html[lang=ar] .ap .lp-flow{font-size:clamp(40px,6vw,86px)}
@media(max-width:800px){.ap .lp-hero,.ap .lp-screen{min-height:580px}.ap .lp-header .lp-nav{color:var(--lp-ink)}.ap-demo-actions{align-items:flex-start;flex-direction:column}.ap .lp-grow{font-size:100px}html[lang=en] .ap .lp-nav{font-size:28px}}

/* Match the address text to the visible edge of the location-pin artwork. */
.lp-footer-links b[data-t="addressText"]{padding-inline-start:5px}

/* Transparent Automation header and logo backgrounds. */
.ap .lp-header,.ap .lp-header.is-over-hero{background:transparent;border-color:transparent;backdrop-filter:none}
.ap .lp-logo,.ap .lp-footer-brand{background:transparent;border-radius:0;padding:0}
.ap .lp-header.is-over-hero{color:#fff}
.ap .lp-header .lp-nav,.ap .lp-header .lp-controls{text-shadow:none}

html[lang=en] .ap .lp-grow{font-size:clamp(48px,9vw,130px)}

/* Automation brand icon as list marker in both languages. */
.ap .lp-service-body li::before{background:url("/assets/automation-bullet.png") center/contain no-repeat;border:0;border-radius:0;width:18px;height:18px;top:.35em;filter:none}
html[data-theme=dark] .ap .lp-service-body li::before{filter:brightness(0) invert(1)}

/* Air between the English hero lines and scroll-driven text depth. */
html[lang=en] .ap .lp-flow{margin-top:clamp(28px,4vw,58px)}
.ap .lp-hero-caption .lp-grow,.ap .lp-hero-caption .lp-flow,.ap .lp-hero-sub{will-change:transform}
@media(prefers-reduced-motion:reduce){.ap .lp-hero-caption .lp-grow,.ap .lp-hero-caption .lp-flow,.ap .lp-hero-sub{will-change:auto;transform:none!important}}

/* Group-style hero parallax, shared by both languages. */
.lp-hero-caption,.lp-hero-caption .lp-grow,.lp-hero-caption .lp-flow{will-change:transform,opacity}
@media(prefers-reduced-motion:reduce){.lp-hero-caption,.lp-hero-caption .lp-grow,.lp-hero-caption .lp-flow,.lp-hero-caption .lp-hero-sub{transform:none!important;will-change:auto}.lp-hero-caption{opacity:1!important}}

/* One-line English demo heading with a bottom-aligned introduction. */
html[lang=en] .ap-demo .lp-section-heading{display:flex;align-items:flex-end;gap:28px}
html[lang=en] .ap-demo .lp-section-heading h2{font-size:clamp(25px,2.6vw,40px);white-space:nowrap;max-width:none;margin:0;flex:1}
html[lang=en] .ap-demo .lp-section-heading>p{flex:0 0 28%;max-width:260px;margin:0}
@media(max-width:800px){html[lang=en] .ap-demo .lp-section-heading{display:block}html[lang=en] .ap-demo .lp-section-heading h2{white-space:normal}html[lang=en] .ap-demo .lp-section-heading>p{max-width:100%;margin-top:20px}}

/* Compact cloud-platform button with rounded corners. */
.ap-metrix{font-size:clamp(22px,2.3vw,32px);padding:12px 18px;border-radius:16px}

/* Justified English Automation introduction. */
html[lang=en] .ap .lp-intro[data-t="aboutCopy"]{text-align:justify;text-align-last:start}

/* Larger Arabic hero subtitle, independent of English. */
html[lang=ar] .lp-hero-sub{font-size:24px}
@media(max-width:800px){html[lang=ar] .lp-hero-sub{font-size:21px;max-width:90%}}

/* Preserve the Latin platform brand font in Arabic and English. */
html[lang] .lp.ap button.ap-metrix{font-family:'A Area Stencil',sans-serif;font-weight:400}

#demo .ap-metrix .ap-metrix-wordmark{font-family:'A Area Stencil',sans-serif;font-weight:400;font-style:normal}

/* Larger Arabic footer tagline. */
html[lang=ar] .ap .lp-footer-top>p[data-t=footerTagline]{font-size:26px;line-height:1.6}

/* Align section introductions with the bottom of their adjacent headings. */
html[lang] .lp .lp-section-heading{align-items:flex-end}
html[lang] .lp .lp-section-heading>h2,html[lang] .lp .lp-section-heading>p{margin-bottom:0;align-self:flex-end}

/* Light-blue navigation hover in both languages and themes. */
html[lang] body.ap .lp-header .lp-nav a:hover{color:#8edcff}

/* Automation image viewers use the light blue brand accent. */
body.ap .lp-viewer-footer input[type=range]{accent-color:#8edcff}

/* Only the demo description and button product wordmarks use the stencil face. */
#demo [data-t="demoIntro"] .ap-metrix-wordmark,
#demo .ap-metrix .ap-metrix-wordmark,
html[lang=ar] body #demo .ap-metrix-wordmark .western-digits{font-family:'A Area Stencil',sans-serif!important;font-weight:400;font-style:normal}
#demo [data-t="demoIntro"] .ap-metrix-wordmark{display:inline-block;direction:ltr;unicode-bidi:isolate}

/* METRIX500 interface and decoder features. */
.ap-technical{background:var(--lp-bg)}
.ap-technical .lp-capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.ap-technical-wordmark,html[lang=ar] body .ap-technical-wordmark .western-digits{font-family:'A Area Stencil',sans-serif!important;font-weight:400}
.ap-technical-note{margin:32px 0 0;color:var(--lp-muted);border-top:1px solid var(--lp-line);padding-top:18px}
html[lang=en] .ap-technical-note{font-size:14px;line-height:1.6}
html[lang=ar] .ap-technical-note{font-size:18px;line-height:1.7}
@media(max-width:600px){.ap-technical .lp-capability-grid{grid-template-columns:1fr}}

/* Align the final text lines of the technology heading and introduction. */
html[lang] body.ap .ap-technical .lp-section-heading{align-items:last baseline}
html[lang] body.ap .ap-technical .lp-section-heading>h2,
html[lang] body.ap .ap-technical .lp-section-heading>p{align-self:auto;margin-bottom:0}

/* Individual advanced features with native expandable, keyboard-accessible rows. */
.ap-feature-list{list-style:none;padding:0;margin:0}
.ap-feature-list>li{border-top:1px solid var(--lp-line)}
.ap-feature-list>li:last-child{border-bottom:1px solid var(--lp-line)}
.ap-feature summary{display:flex;align-items:center;gap:16px;list-style:none;cursor:pointer;padding:18px 0}
.ap-feature summary::-webkit-details-marker{display:none}
.ap-feature-icon{display:grid;place-items:center;flex:0 0 44px;height:44px;border-radius:14px;background:linear-gradient(135deg,#60b9bc,#219acb,#285da2);color:white;transition:transform .2s,box-shadow .2s}
.ap-feature-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.ap-feature summary:hover .ap-feature-icon,.ap-feature[open] .ap-feature-icon{transform:translateY(-2px);box-shadow:0 5px 16px #219acb40}
.ap-feature-number{color:var(--lp-muted)}
.ap-feature-toggle{margin-inline-start:auto;transition:transform .2s;font-family:Arial,sans-serif}
.ap-feature[open] .ap-feature-toggle{transform:rotate(45deg)}
.ap-feature p{margin:0;padding:0 0 22px 94px;color:var(--lp-muted)}
html[lang=en] .ap-feature-title{font-size:24px;line-height:1.3}html[lang=en] .ap-feature-number{font-size:20px}html[lang=en] .ap-feature p{font-size:16px;line-height:1.7}html[lang=en] .ap-feature-toggle{font-size:28px}
html[lang=ar] .ap-feature-title{font-size:26px;line-height:1.5}html[lang=ar] .ap-feature-number{font-size:20px}html[lang=ar] .ap-feature p{font-size:20px;line-height:1.7;padding-inline:94px 0}html[lang=ar] .ap-feature-toggle{font-size:28px}
@media(max-width:600px){.ap-feature summary{gap:10px}.ap-feature p{padding-inline:0!important}html[lang=en] .ap-feature-title{font-size:20px}html[lang=ar] .ap-feature-title{font-size:22px}}
@media(prefers-reduced-motion:reduce){.ap-feature-icon,.ap-feature-toggle{transition:none}}

.ap-feature-group+.ap-feature-group{margin-top:48px}
.ap-feature-group>h3{margin:0 0 20px;font-weight:400;color:var(--lp-ink)}
html[lang=en] .ap-feature-group>h3{font-size:30px;line-height:1.3}
html[lang=ar] .ap-feature-group>h3{font-size:32px;line-height:1.5}

/* Translucent colored glass with a distinct symbol for every feature. */
.ap-feature-icon{
 color:hsl(var(--feature-hue) 65% 34%);
 background:linear-gradient(135deg,hsl(var(--feature-hue) 85% 88% / .65),hsl(var(--feature-hue) 75% 65% / .25));
 border:1px solid hsl(var(--feature-hue) 65% 72% / .5);
 backdrop-filter:blur(12px) saturate(150%);-webkit-backdrop-filter:blur(12px) saturate(150%);
 box-shadow:inset 0 1px 0 #ffffffb3,0 3px 10px hsl(var(--feature-hue) 55% 40% / .12);
}
.ap-feature summary:hover .ap-feature-icon,.ap-feature[open] .ap-feature-icon{box-shadow:inset 0 1px 0 #ffffffb3,0 6px 18px hsl(var(--feature-hue) 65% 45% / .28)}
html[data-theme=dark] .ap-feature-icon{color:hsl(var(--feature-hue) 90% 82%);background:linear-gradient(135deg,hsl(var(--feature-hue) 70% 60% / .28),hsl(var(--feature-hue) 60% 30% / .18));border-color:hsl(var(--feature-hue) 70% 75% / .35);box-shadow:inset 0 1px 0 #ffffff40,0 3px 12px #0002}

/* Services heading and introduction share the final text baseline. */
html[lang] body.ap .lp-services .lp-section-heading{align-items:last baseline}
html[lang] body.ap .lp-services .lp-section-heading>h2,
html[lang] body.ap .lp-services .lp-section-heading>p{align-self:auto;margin-bottom:0}

/* Soft dimensional pastel symbols, inspired by translucent glass objects. */
html[lang] body.ap .ap-feature-icon{
 position:relative;isolation:isolate;flex-basis:52px;height:52px;
 background:transparent;border:0;box-shadow:none;
 backdrop-filter:none;-webkit-backdrop-filter:none;overflow:visible;
}
.ap-feature-icon::before{content:'';position:absolute;z-index:-1;inset:12px 5px 0;border-radius:50%;background:hsl(var(--feature-hue) 85% 72% / .23);filter:blur(9px);transform:translateY(5px)}
html[lang] body.ap .ap-feature-icon svg{width:38px;height:38px;overflow:visible;stroke-width:1.5;filter:drop-shadow(0 2px 1px hsl(var(--feature-hue) 60% 40% / .16)) drop-shadow(0 6px 5px hsl(var(--feature-hue) 85% 70% / .25));transform:rotate(-5deg);transition:transform .2s}
.ap-feature-list>li:nth-child(even) .ap-feature-icon svg{transform:rotate(5deg)}
html[lang] body.ap .ap-feature summary:hover .ap-feature-icon,html[lang] body.ap .ap-feature[open] .ap-feature-icon{box-shadow:none}
html[lang] body.ap .ap-feature summary:hover .ap-feature-icon svg,html[lang] body.ap .ap-feature[open] .ap-feature-icon svg{transform:rotate(0) scale(1.08)}
@media(prefers-reduced-motion:reduce){html[lang] body.ap .ap-feature-icon svg{transition:none}}

/* Always-visible technology feature cards. */
.ap-feature-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.ap-feature-list>li,.ap-feature-list>li:last-child{border:0;min-width:0}
.ap-feature{height:100%;padding:26px;border:1px solid var(--lp-line);border-radius:18px;background:var(--lp-soft);box-shadow:0 4px 18px #12385b06}
.ap-feature-heading{display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px;margin-bottom:14px}
.ap-feature-heading .ap-feature-icon{width:52px}
.ap-feature-heading .ap-feature-number{align-self:center}
.ap-feature-heading .ap-feature-title{grid-column:1/-1;margin:0;font-weight:400;color:var(--lp-ink)}
html[lang] body.ap .ap-feature p{padding:0;margin:0}
html[lang] body.ap .ap-feature:hover .ap-feature-icon svg{transform:rotate(0) scale(1.08)}
@media(max-width:600px){.ap-feature-list{grid-template-columns:1fr;gap:16px}.ap-feature{padding:22px}}

/* Compact, unnumbered technology cards with larger symbols. */
.ap-feature-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ap-feature{padding:20px;border-radius:16px}
.ap-feature-heading{grid-template-columns:1fr;gap:10px;margin-bottom:10px}
html[lang] body.ap .ap-feature-heading .ap-feature-icon{width:68px;height:68px}
html[lang] body.ap .ap-feature-icon svg{width:54px;height:54px}
html[lang=en] .ap-feature-title{font-size:21px}
html[lang=ar] .ap-feature-title{font-size:23px}
@media(min-width:601px) and (max-width:1200px){.ap-feature-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.ap-feature-list{grid-template-columns:1fr}}

/* Keep the closing separator clear of the final card row. */
html[lang] body.ap .ap-technical-note{margin-block:40px 0;padding-block-start:24px}

.ap-ai-intro{color:var(--lp-muted);max-width:720px;margin-bottom:16px}
.ap-ai-status{display:inline-block;border:1px solid var(--lp-line);border-radius:999px;padding:4px 12px;background:var(--lp-soft);color:var(--lp-muted);margin-bottom:20px}
html[lang=en] .ap-ai-intro{font-size:16px;line-height:1.7}
html[lang=ar] .ap-ai-intro{font-size:20px;line-height:1.7}
html[lang=en] .ap-ai-status{font-size:13px}
html[lang=ar] .ap-ai-status{font-size:16px}

html[lang] body.ap .lp-service summary>.ap-service-glass{position:relative;display:inline-grid;place-items:center;width:64px;height:64px;flex:0 0 64px;isolation:isolate}
.ap-service-glass::before{content:'';position:absolute;inset:16px 8px 4px;border-radius:50%;background:hsl(var(--glass-hue) 85% 72% / .22);filter:blur(9px);z-index:-1}
.ap-service-glass svg{width:50px;height:50px;overflow:visible;filter:drop-shadow(0 3px 2px hsl(var(--glass-hue) 55% 45% / .18))}

html[lang] body.ap .lp-capability>.ap-service-glass{position:relative;display:inline-grid;place-items:center;width:64px;height:64px;isolation:isolate}


/* Continuously animated AI emblem, decorative in both reading directions. */
#ai-analytics-features{display:flex;align-items:center;gap:14px}
.ap-ai-emblem{display:inline-grid;place-items:center;width:64px;height:64px;flex:0 0 64px;filter:drop-shadow(0 3px 8px #55baf040)}
.ap-ai-emblem svg{width:100%;height:100%;overflow:visible}
.ap-ai-orbit{transform-origin:32px 32px;animation:ai-orbit 7s linear infinite}
.ap-ai-halo{transform-origin:32px 32px;animation:ai-pulse 2.8s ease-in-out infinite}
@keyframes ai-orbit{to{transform:rotate(360deg)}}
@keyframes ai-pulse{0%,100%{opacity:.3;transform:scale(.92)}50%{opacity:.85;transform:scale(1.08)}}
@media(prefers-reduced-motion:reduce){.ap-ai-orbit,.ap-ai-halo{animation:none}}

.ap-service-panel-heading .ap-metrix-wordmark{font-family:'A Area Stencil',sans-serif;font-weight:400;font-style:normal;display:inline-block;white-space:nowrap;unicode-bidi:isolate}
html[lang=ar] .ap-service-panel-heading .ap-metrix-wordmark .western-digits{font-family:'A Area Stencil',sans-serif!important}

/* Live control-panel emblem for interface features. */
#interface-features{display:flex;align-items:center;gap:14px}
.ap-control-emblem{display:inline-grid;place-items:center;width:64px;height:64px;flex:0 0 64px;filter:drop-shadow(0 3px 8px #55baf030)}
.ap-control-emblem svg{width:100%;height:100%;overflow:visible}
.ap-control-bar{transform-origin:32px 34px;animation:control-signal 2.6s ease-in-out infinite}
.ap-control-bar-b{animation-delay:-.8s}.ap-control-bar-c{animation-delay:-1.6s}
.ap-control-scan{animation:control-scan 3.6s linear infinite}
.ap-control-light{animation:control-status 2.4s ease-in-out infinite}.ap-control-light-b{animation-delay:-1.2s}
@keyframes control-signal{0%,100%{transform:scaleY(.4)}50%{transform:scaleY(1.15)}}
@keyframes control-scan{0%{transform:translateY(0);opacity:0}15%,80%{opacity:.65}100%{transform:translateY(20px);opacity:0}}
@keyframes control-status{0%,100%{opacity:.4}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.ap-control-bar,.ap-control-scan,.ap-control-light{animation:none}}

html[lang=en] .ap-feature-group>h3{font-weight:700}

#decoder-features{display:flex;align-items:center;gap:14px}
.ap-decoder-emblem{display:inline-grid;place-items:center;width:64px;height:64px;flex:0 0 64px;filter:drop-shadow(0 3px 8px #55baf030)}
.ap-decoder-emblem svg{width:100%;height:100%;overflow:visible}
.ap-decoder-signal{animation:decoder-transmit 2.4s linear infinite}
.ap-decoder-status{animation:control-status 2.4s ease-in-out infinite}
@keyframes decoder-transmit{to{stroke-dashoffset:-20}}
@media(prefers-reduced-motion:reduce){.ap-decoder-signal,.ap-decoder-status{animation:none}}

#lorawan-gateway-features{display:flex;align-items:center;gap:14px}
.ap-lorawan-emblem{display:inline-grid;place-items:center;width:64px;height:64px;flex:0 0 64px;filter:drop-shadow(0 3px 8px #55baf030)}
.ap-lorawan-emblem svg{width:100%;height:100%;overflow:visible}
.ap-lora-wave{stroke:url(#lorawan-signal-glass);animation:lorawan-wave 3s ease-in-out infinite}
.ap-lora-wave-two{animation-delay:.4s}.ap-lora-wave-three{animation-delay:.8s}
.ap-lora-status{animation:control-status 3s ease-in-out infinite}
@keyframes lorawan-wave{0%,100%{opacity:.2}35%,55%{opacity:1}}
@media(prefers-reduced-motion:reduce){.ap-lora-wave,.ap-lora-status{animation:none}}

#lorawan-sensor-features{display:flex;align-items:center;gap:14px}
.ap-sensor-emblem{display:inline-grid;place-items:center;width:64px;height:64px;flex:0 0 64px;filter:drop-shadow(0 3px 8px #55baf030)}
.ap-sensor-emblem svg{width:100%;height:100%;overflow:visible}
.ap-sensor-reading{transform-origin:27px 35px;animation:sensor-reading 3s ease-in-out infinite}
@keyframes sensor-reading{0%,100%{transform:scaleY(.55);opacity:.6}50%{transform:scaleY(1);opacity:1}}
@media(prefers-reduced-motion:reduce){.ap-sensor-reading{animation:none}}

/* Match heading emblem strokes to the visual weight of the feature icons. */
.ap-feature-group>h3 :is(.ap-ai-emblem,.ap-control-emblem,.ap-decoder-emblem,.ap-lorawan-emblem,.ap-sensor-emblem) svg [stroke]{stroke-width:2.8}
.ap-feature-group>h3 :is(.ap-ai-orbit,.ap-decoder-signal){stroke-width:2.8}

html[lang=en] body.ap .ap-technical .lp-section-heading>p{flex:0 0 320px;width:320px;max-width:100%}

html[lang=en] body.ap .lp-audience{width:330px;max-width:100%;flex:0 1 330px}
@media(max-width:700px){html[lang=en] body.ap .lp-audience{flex-basis:auto}}

/* Unframed wordmark using colors sampled from the Automation logo. */
html[lang] body.ap #demo button.ap-metrix{background:transparent;border:0;border-radius:0;box-shadow:none;padding:0;opacity:1}
html[lang] body.ap #demo .ap-metrix .ap-metrix-wordmark{background:linear-gradient(180deg,#62bbbc 0%,#2199d4 50%,#245fa8 100%);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}

/* Two inbound and two outbound red signals on the top decoder leads. */
.ap-decoder-flow-in{animation:decoder-flow-in 2s linear infinite}
.ap-decoder-flow-out{animation:decoder-flow-out 2s linear infinite}
@keyframes decoder-flow-in{to{stroke-dashoffset:-24}}
@keyframes decoder-flow-out{to{stroke-dashoffset:24}}
@media(prefers-reduced-motion:reduce){.ap-decoder-flow-in,.ap-decoder-flow-out{animation:none}}

.ap-decoder-flow-in{stroke:#ef5350}
.ap-decoder-flow-out{stroke:#38b86d}

.ap-decoder-packets{filter:drop-shadow(0 0 1px currentColor)}
@media(prefers-reduced-motion:reduce){.ap-decoder-packets{display:none}}

/* Instrumentation follows the existing technology card system. */
#instrumentation-features{display:flex;align-items:center;gap:14px}
.ap-instrument-emblem{display:inline-grid;place-items:center;width:64px;height:64px;flex:0 0 64px;filter:drop-shadow(0 3px 8px #55baf030)}
.ap-instrument-emblem svg{width:100%;height:100%;overflow:visible}
.ap-instrument-needle{transform-origin:32px 28px;animation:instrument-reading 4s ease-in-out infinite}
@keyframes instrument-reading{0%,100%{transform:rotate(-25deg)}50%{transform:rotate(20deg)}}
@media(prefers-reduced-motion:reduce){.ap-instrument-needle{animation:none}}

.ap-instrument-emblem svg :is(circle,path){stroke-width:3.5}

/* Security shield: continuous perimeter sweep and verification pulse. */
#cybersecurity-heading{display:flex;align-items:center;gap:14px}
.ap-security-emblem{display:inline-grid;place-items:center;width:64px;height:64px;flex:0 0 64px;filter:drop-shadow(0 3px 8px #ef535030)}
.ap-security-emblem svg{width:100%;height:100%;overflow:visible}
.ap-security-perimeter{stroke-dasharray:18 82;animation:security-perimeter 5s linear infinite}
.ap-security-check{stroke-dasharray:1;animation:security-verify 3.5s ease-in-out infinite}
.ap-security-description{max-width:none;width:100%;color:var(--muted);margin:0;line-height:1.8;text-align:justify;text-align-last:start}
@keyframes security-perimeter{to{stroke-dashoffset:-100}}
@keyframes security-verify{0%,100%{stroke-dashoffset:1;opacity:.35}30%,80%{stroke-dashoffset:0;opacity:1}}
@media(prefers-reduced-motion:reduce){.ap-security-perimeter,.ap-security-check{animation:none}.ap-security-perimeter{display:none}}

/* Close the raised shackle before drawing the verification check. */
.ap-security-perimeter{animation:none;stroke-dasharray:none;opacity:.25}
.ap-security-shackle{animation:security-lock-close 4s ease-in-out infinite}
.ap-security-check{animation:security-lock-confirm 4s ease-in-out infinite}
@keyframes security-lock-close{0%,12%{transform:translateY(-3px)}32%,84%{transform:translateY(0)}100%{transform:translateY(-3px)}}
@keyframes security-lock-confirm{0%,36%{stroke-dashoffset:1;opacity:0}52%,80%{stroke-dashoffset:0;opacity:1}90%,100%{stroke-dashoffset:1;opacity:0}}
@media(prefers-reduced-motion:reduce){.ap-security-shackle,.ap-security-check{animation:none}.ap-security-check{stroke-dashoffset:0;opacity:1}}

/* Green confirmation follows the closed lock and visible checkmark. */
#security-emblem-glass stop:nth-child(1){animation:security-light-state 4s ease-in-out infinite}
#security-emblem-glass stop:nth-child(2){animation:security-mid-state 4s ease-in-out infinite}
#security-emblem-glass stop:nth-child(3){animation:security-dark-state 4s ease-in-out infinite}
.ap-security-perimeter{stroke:url(#security-emblem-glass)}
.ap-security-emblem{filter:drop-shadow(0 3px 8px #526b6b20)}
@keyframes security-light-state{0%,36%,90%,100%{stop-color:#ffc0c0}52%,80%{stop-color:#b8efc7}}
@keyframes security-mid-state{0%,36%,90%,100%{stop-color:#ef5350}52%,80%{stop-color:#38b86d}}
@keyframes security-dark-state{0%,36%,90%,100%{stop-color:#c62828}52%,80%{stop-color:#218849}}
@media(prefers-reduced-motion:reduce){#security-emblem-glass stop{animation:none}#security-emblem-glass stop:nth-child(1){stop-color:#b8efc7}#security-emblem-glass stop:nth-child(2){stop-color:#38b86d}#security-emblem-glass stop:nth-child(3){stop-color:#218849}}

/* Open lock warning clears before the closed-lock check is drawn. */
.ap-security-warning{animation:security-open-warning 4s ease-in-out infinite}
@keyframes security-open-warning{0%,18%{opacity:1}32%,84%{opacity:0}96%,100%{opacity:1}}
@media(prefers-reduced-motion:reduce){.ap-security-warning{animation:none;display:none}}



/* Rounded heading bands separate the technology sections. */
#technical-features .ap-feature-group>h3{display:flex;align-items:center;gap:14px;width:100%;box-sizing:border-box;padding:14px 20px;margin-bottom:24px;border:1px solid var(--lp-line);border-radius:18px;background:var(--lp-soft);scroll-margin-top:120px}
@media(max-width:700px){#technical-features .ap-feature-group>h3{padding:12px 14px;gap:12px;border-radius:14px;scroll-margin-top:108px}}

.ap-sensor-emblem .ap-lora-wave{stroke:url(#sensor-signal-glass)}



/* Icon-tinted heading bands fade toward the reading direction. */
#technical-features .ap-feature-group>h3{--band-tint:#dcf5f8;--band-angle:90deg;background:linear-gradient(var(--band-angle),var(--band-tint) 0%,#f5fbfd 48%,#fff 100%)}
#technical-features #cybersecurity-heading{--band-tint:#ffe2e2;background:linear-gradient(var(--band-angle),var(--band-tint) 0%,#fff6f6 48%,#fff 100%)}
html[dir=rtl] #technical-features .ap-feature-group>h3{--band-angle:270deg}
html[data-theme=dark] #technical-features .ap-feature-group>h3{background:linear-gradient(var(--band-angle),color-mix(in srgb,var(--band-tint) 18%,var(--lp-bg)),var(--lp-bg))}

/* Feature cards share the heading bands' cyan-to-white treatment. */
#technical-features .ap-feature{--card-angle:90deg;background:linear-gradient(var(--card-angle),#dcf5f8 0%,#f5fbfd 48%,#fff 100%)}
html[dir=rtl] #technical-features .ap-feature{--card-angle:270deg}
html[data-theme=dark] #technical-features .ap-feature{background:linear-gradient(var(--card-angle),color-mix(in srgb,#dcf5f8 18%,var(--lp-bg)),var(--lp-bg))}

/* Decoder features use a green palette within the neutral technology theme. */
#technical-features [aria-labelledby="decoder-features"]{--decoder-light:#a4dfb6;--decoder-mid:#50a772;--decoder-dark:#24643e}
#technical-features [aria-labelledby="decoder-features"] .ap-feature-icon,#technical-features #decoder-features>span[aria-hidden=true]{filter:none}
#technical-features [aria-labelledby="decoder-features"] .ap-feature{background:linear-gradient(var(--card-angle),#e0f2e5 0%,#f4faf6 48%,#fff 100%);border-color:#cce3d3}
#technical-features #decoder-features{background:linear-gradient(var(--band-angle),#e0f2e5 0%,#f4faf6 48%,#fff 100%);border-color:#cce3d3}
html[data-theme=dark] #technical-features [aria-labelledby="decoder-features"] .ap-feature,html[data-theme=dark] #technical-features #decoder-features{background:linear-gradient(90deg,#263e30,var(--lp-bg));border-color:#3e5c48}
html[dir=rtl][data-theme=dark] #technical-features [aria-labelledby="decoder-features"] .ap-feature,html[dir=rtl][data-theme=dark] #technical-features #decoder-features{background:linear-gradient(270deg,#263e30,var(--lp-bg))}

/* Instrumentation uses coordinated purple variations. */
#technical-features [aria-labelledby="instrumentation-features"] .ap-feature-icon,#technical-features #instrumentation-features>span[aria-hidden=true]{filter:none}
#technical-features [aria-labelledby="instrumentation-features"] .ap-feature{background:linear-gradient(var(--card-angle),#eee3f7 0%,#faf6fd 48%,#fff 100%);border-color:#dfd0ec}
#technical-features #instrumentation-features{background:linear-gradient(var(--band-angle),#eee3f7 0%,#faf6fd 48%,#fff 100%);border-color:#dfd0ec}
html[data-theme=dark] #technical-features [aria-labelledby="instrumentation-features"] .ap-feature{background:linear-gradient(var(--card-angle),#3b2d48,var(--lp-bg));border-color:#574167}
html[data-theme=dark] #technical-features #instrumentation-features{background:linear-gradient(var(--band-angle),#3b2d48,var(--lp-bg));border-color:#574167}

/* Neutral surfaces; retain each icon's original colors and animation. */
html body.ap #technical-features .ap-feature{background:linear-gradient(var(--card-angle,90deg),#e7eaed 0%,#f5f6f7 48%,#fff 100%);border-color:#d9dfe4}
html body.ap #technical-features :is(#cybersecurity-heading,#ai-analytics-features,#interface-features,#decoder-features,#instrumentation-features,#lorawan-gateway-features,#lorawan-sensor-features){background:linear-gradient(var(--band-angle,90deg),#e7eaed 0%,#f5f6f7 48%,#fff 100%);border-color:#d9dfe4}
html[data-theme=dark] body.ap #technical-features .ap-feature{background:linear-gradient(var(--card-angle,90deg),#343b43,var(--lp-bg));border-color:#4a535e}
html[data-theme=dark] body.ap #technical-features :is(#cybersecurity-heading,#ai-analytics-features,#interface-features,#decoder-features,#instrumentation-features,#lorawan-gateway-features,#lorawan-sensor-features){background:linear-gradient(var(--band-angle,90deg),#343b43,var(--lp-bg));border-color:#4a535e}

/* Match the Field Sensors service panel's warm gradient. */
html body.ap #technical-features [aria-labelledby="lorawan-sensor-features"] .ap-feature,
html body.ap #technical-features #lorawan-sensor-features{--sensor-surface-angle:125deg;background:linear-gradient(var(--sensor-surface-angle), #ffe3c5 0%,#fff5e9 48%,var(--lp-bg) 100%)}
html[dir=rtl] body.ap #technical-features [aria-labelledby="lorawan-sensor-features"] .ap-feature,
html[dir=rtl] body.ap #technical-features #lorawan-sensor-features{--sensor-surface-angle:235deg}
html[data-theme=dark] body.ap #technical-features [aria-labelledby="lorawan-sensor-features"] .ap-feature,
html[data-theme=dark] body.ap #technical-features #lorawan-sensor-features{background:linear-gradient(var(--sensor-surface-angle),#493525 0%,var(--lp-bg) 100%)}

/* Security cards: red surfaces with independently colored icons. */
html body.ap #technical-features .ap-cybersecurity .ap-feature{background:linear-gradient(var(--card-angle,90deg),#fce2e2 0%,#fff5f5 48%,#fff 100%);border-color:#edcece}
html[data-theme=dark] body.ap #technical-features .ap-cybersecurity .ap-feature{background:linear-gradient(var(--card-angle,90deg),#442c30,var(--lp-bg));border-color:#624047}

/* Instrumentation-only purple surfaces; original icon palette retained. */
html body.ap #technical-features [aria-labelledby="instrumentation-features"] .ap-feature{background:linear-gradient(var(--card-angle,90deg),#eee3f7 0%,#faf6fd 48%,#fff 100%);border-color:#dfd0ec}
html body.ap #technical-features #instrumentation-features{background:linear-gradient(var(--band-angle,90deg),#eee3f7 0%,#faf6fd 48%,#fff 100%);border-color:#dfd0ec}
html[data-theme=dark] body.ap #technical-features [aria-labelledby="instrumentation-features"] .ap-feature{background:linear-gradient(var(--card-angle,90deg),#3b2d48,var(--lp-bg));border-color:#574167}
html[data-theme=dark] body.ap #technical-features #instrumentation-features{background:linear-gradient(var(--band-angle,90deg),#3b2d48,var(--lp-bg));border-color:#574167}

/* Gateway-only blue surfaces; original icon colors retained. */
html body.ap #technical-features [aria-labelledby="lorawan-gateway-features"] .ap-feature{background:linear-gradient(var(--card-angle,90deg),#dceafb 0%,#f3f8fe 48%,#fff 100%);border-color:#cadcf0}
html body.ap #technical-features #lorawan-gateway-features{background:linear-gradient(var(--band-angle,90deg),#dceafb 0%,#f3f8fe 48%,#fff 100%);border-color:#cadcf0}
html[data-theme=dark] body.ap #technical-features [aria-labelledby="lorawan-gateway-features"] .ap-feature{background:linear-gradient(var(--card-angle,90deg),#283c54,var(--lp-bg));border-color:#405b79}
html[data-theme=dark] body.ap #technical-features #lorawan-gateway-features{background:linear-gradient(var(--band-angle,90deg),#283c54,var(--lp-bg));border-color:#405b79}

body.ap .cert-actions-shared{grid-column:1/-1;display:flex;justify-content:center;gap:32px;flex-wrap:wrap;margin-top:12px}

/* AI Analytics-only blue surfaces. */
html body.ap #technical-features .ap-ai-features .ap-feature{background:linear-gradient(var(--card-angle,90deg),#dceafb 0%,#f3f8fe 48%,#fff 100%);border-color:#cadcf0}
html body.ap #technical-features #ai-analytics-features{background:linear-gradient(var(--band-angle,90deg),#dceafb 0%,#f3f8fe 48%,#fff 100%);border-color:#cadcf0}
html[data-theme=dark] body.ap #technical-features .ap-ai-features .ap-feature{background:linear-gradient(var(--card-angle,90deg),#283c54,var(--lp-bg));border-color:#405b79}
html[data-theme=dark] body.ap #technical-features #ai-analytics-features{background:linear-gradient(var(--band-angle,90deg),#283c54,var(--lp-bg));border-color:#405b79}

/* Security heading matches its cards. */
html body.ap #technical-features #cybersecurity-heading{background:linear-gradient(var(--band-angle,90deg),#fce2e2 0%,#fff5f5 48%,#fff 100%);border-color:#edcece}
html[data-theme=dark] body.ap #technical-features #cybersecurity-heading{background:linear-gradient(var(--band-angle,90deg),#442c30,var(--lp-bg));border-color:#624047}

/* SCADA overview with green surfaces and animated display. */
.ap-scada-emblem{display:inline-grid;place-items:center;width:64px;height:64px;flex:0 0 64px;filter:drop-shadow(0 3px 8px #52b78330)}
.ap-scada-emblem svg{width:100%;height:100%;overflow:visible}
.ap-scada-trace{stroke-dasharray:100;animation:scada-trace 4s ease-in-out infinite}
@keyframes scada-trace{0%{stroke-dashoffset:100;opacity:.35}45%,85%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:.35}}
html body.ap #technical-features .ap-scada-features .ap-feature{background:linear-gradient(var(--card-angle,90deg),#e0f2e5 0%,#f4faf6 48%,#fff 100%);border-color:#cce3d3}
html body.ap #technical-features #scada-features{background:linear-gradient(var(--band-angle,90deg),#e0f2e5 0%,#f4faf6 48%,#fff 100%);border-color:#cce3d3}
html[data-theme=dark] body.ap #technical-features .ap-scada-features .ap-feature{background:linear-gradient(var(--card-angle,90deg),#263e30,var(--lp-bg));border-color:#3e5c48}
html[data-theme=dark] body.ap #technical-features #scada-features{background:linear-gradient(var(--band-angle,90deg),#263e30,var(--lp-bg));border-color:#3e5c48}
@media(prefers-reduced-motion:reduce){.ap-scada-trace{animation:none}}

/* Decoder heading and cards use matching green surfaces. */
html body.ap #technical-features [aria-labelledby="decoder-features"] .ap-feature{background:linear-gradient(var(--card-angle,90deg),#e0f2e5 0%,#f4faf6 48%,#fff 100%);border-color:#cce3d3}
html body.ap #technical-features #decoder-features{background:linear-gradient(var(--band-angle,90deg),#e0f2e5 0%,#f4faf6 48%,#fff 100%);border-color:#cce3d3}
html[data-theme=dark] body.ap #technical-features [aria-labelledby="decoder-features"] .ap-feature{background:linear-gradient(var(--card-angle,90deg),#263e30,var(--lp-bg));border-color:#3e5c48}
html[data-theme=dark] body.ap #technical-features #decoder-features{background:linear-gradient(var(--band-angle,90deg),#263e30,var(--lp-bg));border-color:#3e5c48}

/* Retain the Latin wordmark size within shared Arabic service headings. */
html[lang=ar] body.ap .ap-service-panel-heading .ap-metrix-wordmark{font-size:1em}
@media(max-width:600px){
 html[lang=ar] body.ap .ap-service-panel-heading .ap-metrix-wordmark{font-size:1em}
}

/* Double Arabic section-band titles independently from English. */
html[lang=ar] body.ap #technical-features .ap-feature-group>h3{font-size:32px}
html[lang=ar] body.ap #technical-features .ap-feature-group>h3>.cert-ar{min-width:0;overflow-wrap:anywhere}

/* Double Arabic feature-card titles without changing descriptions or English. */
html[lang=ar] body.ap #technical-features .ap-feature-title{font-size:23px;min-width:0;overflow-wrap:anywhere}

/* Reduce only the Latin SCADA word in the Arabic heading. */
html[lang=ar] body.ap #scada-features .ap-scada-word{font-size:1em}

/* Balance Latin protocol names within Arabic card titles. */
html[lang=ar] body.ap .ap-feature-title .ap-protocol-word{font-size:1em;white-space:nowrap}

/* Latin words in Arabic card and band titles use half the Arabic size. */
html[lang=ar] body.ap #technical-features .ap-latin-card-word{font-size:1em;white-space:nowrap}

/* Stationary reference rim with shape-only glow and separate typing letters. */
.ap-feature-group>h3 .ap-ai-reference{width:48px;height:56px;flex:0 0 48px;align-self:center;filter:none}
.ap-ai-reference svg{animation:none;transform:none}
.ap-ai-reference-spark{transform-box:view-box;transform-origin:627px 500px;animation:ai-spark-arrive 4s cubic-bezier(.25,.1,.25,1) infinite}
.ap-ai-reference-letters{filter:drop-shadow(0 0 10px #08dfff70);animation:ai-text-cycle 4s ease-in-out infinite}
.ai-type-a{animation:ai-type-a 4s steps(1,end) infinite}
.ai-type-i{animation:ai-type-i 4s steps(1,end) infinite}
@keyframes ai-spark-arrive{
 0%{transform:translateY(35px) rotate(-160deg) scale(.15);opacity:0;filter:drop-shadow(0 0 2px #29dfff00)}
 12%{opacity:.65}
 45%,78%{transform:translateY(0) rotate(0deg) scale(1);opacity:1;filter:drop-shadow(0 0 16px #29dfffbb) drop-shadow(0 0 28px #7970ff66)}
 90%{transform:translateY(0) rotate(0deg) scale(1);opacity:1;filter:drop-shadow(0 0 8px #29dfff88)}
 100%{transform:translateY(0) rotate(0deg) scale(1);opacity:0;filter:drop-shadow(0 0 2px #29dfff00)}
}
@keyframes ai-text-cycle{0%{opacity:0}12%,90%{opacity:1}100%{opacity:0}}
@keyframes ai-type-a{0%{opacity:0}1%,90%{opacity:1}100%{opacity:0}}
@keyframes ai-type-i{0%,3%{opacity:0}4%,90%{opacity:1}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.ap-ai-reference-spark,.ap-ai-reference-letters,.ai-type-a,.ai-type-i{animation:none;opacity:1}.ap-ai-reference-spark{filter:drop-shadow(0 0 12px #29dfff88)}}

/* Keep the Latin Ai artwork positioned identically in the Arabic layout. */
html[lang=ar] .ap-ai-reference svg,
html[lang=ar] .ap-ai-reference-letters,
html[lang=ar] .ap-ai-reference-letters text{direction:ltr;unicode-bidi:isolate}

/* Gentle float for the complete Ai emblem, independent of its internal animation. */
.ap-feature-group>h3 .ap-ai-reference{animation:ai-emblem-float 5s ease-in-out infinite}
@keyframes ai-emblem-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@media(prefers-reduced-motion:reduce){.ap-feature-group>h3 .ap-ai-reference{animation:none;transform:none}}

/* Arabic demo introduction sits below its heading. */
html[lang=ar] body.ap #demo .lp-section-heading{display:flex;flex-direction:column;align-items:stretch;gap:16px}
html[lang=ar] body.ap #demo .lp-section-heading>h2,
html[lang=ar] body.ap #demo .lp-section-heading>p{width:100%;max-width:none;margin:0}
