.lp{--lp-ink:#0c5051;--lp-muted:#526c65;--lp-bg:#fff;--lp-soft:#f1f5ef;--lp-line:#d8e2db;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 #53a765;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 #0c505114}.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:#3c9851}.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:#173e37;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:#5c9863;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:#5c9863;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:#438f4f}.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:#0c5051;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:#438f4f}}
/* 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(47.6px,7.56vw,106.4px)}
/* 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:#438f4f}
.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:#102c28;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}

/* Match the address text to the visible edge of the location-pin artwork. */
.lp-footer-links b[data-t="addressText"]{padding-inline-start:5px}

/* 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}}

/* Larger English hero slide counters, independent of Arabic. */
html[lang=en] .lp-film-caption>span{font-size:24px}

/* 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%}}

/* 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}

/* Keep English scene titles on one line; JS fits long titles to the frame. */
html[lang=en] .lp-film-caption h2{white-space:nowrap;overflow-wrap:normal}

/* Pastel glass symbols for capabilities and services. */
html[lang] body.lp .lp-glass-icon{position:relative;display:inline-grid;place-items:center;width:64px;height:64px;flex:0 0 64px;isolation:isolate}
.lp-glass-icon::before{content:'';position:absolute;inset:16px 8px 4px;border-radius:50%;background:hsl(var(--icon-hue) 85% 72% / .22);filter:blur(9px);z-index:-1}
.lp-glass-icon svg{width:50px;height:50px;overflow:visible;filter:drop-shadow(0 3px 2px hsl(var(--icon-hue) 55% 45% / .18));transition:transform .2s}
.lp-capability:hover .lp-glass-icon svg,.lp-service summary:hover .lp-glass-icon svg{transform:translateY(-2px)}
@media(prefers-reduced-motion:reduce){.lp-glass-icon svg{transition:none}}
